Convolutional Neural Networks(CNN) #6 Pooling in Backward pass

本文將介紹Pooling layer在反向傳遞(Backward propagation / Backward pass)的運作過程,雖然Pooling層的參數不需要被訓練,但是在大多數情況下,Pooling layer通常是承接著啟動函數的輸出。因此,本文將會詳細介紹反向傳遞時Kernel、Bias、Feature map的細節。

Read more

Convolutional Neural Networks(CNN) #5 特徵圖&偏差值的導數

本篇文章要來介紹對特徵圖(Feature map)與偏差值(Bias)在Backward propagation的推導過程與可程式化的計算方法。由於卷積神經網路(Convolutional Neural Network, CNN)在使用倒傳遞法(Backpropagation)的反向傳遞(Backward pass)過程中,就是藉著計算參數之梯度(偏微分)作為更新並訓練參數的手段,因此了解這些原理對於初探卷積神經網路的學習者來說也非常重要。

Read more

Convolutional Neural Networks(CNN) #4 卷積核的Back propagation

卷積神經網路的參數最終仍會以Backpropagation(倒傳遞法)來優化,本文將由淺而深的從原理到可程式化的計算方法向各位介紹Kernel的偏微分計算方法。而本文採用的範例是包含padding的卷積層,這種設定也將更趨近於現實,希望透過這種方式讓各位完全理解。

Read more

Convolutional Neural Networks(CNN) #3 計算參數量

因為卷積神經網路(CNN)的特性,使得在使用CNN進行影像辨識時可以大幅度的降低參數量。本節介紹的主題就是計算CNN的參數量,但是在開始之前,會先用簡單的例子帶各位了解如何架構CNN,希望各位能徹底明白卷積神經網路的運作流程,藉此深入了解計算參數量的方法。

Read more

Convolutional Neural Networks(CNN) #2 池化層(Pooling layer)

池化層在卷積類神經網路扮演的角色也很關鍵,它可以幫助我們縮小Feature map的大小,也可以用來強CNN萃取出來的特徵。本篇文章就是要介紹池化層(Pooling layer)的運算規則。池化層的概念很簡單,但它仍有許多需要注意的屬性,像是與卷積層會用到的『移動步伐Stride』在池化層也會派上用場。

Read more

Convolutional Neural Networks(CNN) #1 Kernel, Stride, Padding

卷積神經網路(Convolutional Neural Network, CNN)為目前用來進行影像辨識最有效的特徵萃取演算法,這個方法是由學者Yann LeCun於1998年發表的論文『Gradient-Based Learning Applied to Document Recognition』所使用的方法。直至今日,已有許多物體分類(Object classification)與物體偵測(Object detection)的方法就是透過CNN建構。本篇主要介紹CNN演算法中的卷積層運算方式以及相關屬性,其中包括移動步伐(Stride)、補充像素(Padding)和最重要的卷積核(Kernel or Filter)。

Read more

Backpropagation(BP) 倒傳遞法 #3 貓貓分類器-N層類神經網路

本文會以上篇內容(2層類神經網路)為基礎加深難度與實用性,因此這次將會實作可自定層數的類神經網路以及使用倒傳遞法(Back propagation, BP)優化的方法。這次的模型作法也是使用邏輯回歸(Logistic Regression)建立貓貓分類器。當然,你想換成別種圖片也是OK的。

Read more

Backpropagation(BP) 倒傳遞法 #2 貓貓分類器-2層類神經網路

本篇會介紹在機器學習(machine learning)與深度學習(deep learning)領域裡很流行的倒傳遞法(Back Propagation/ Backpropagation, BP)的演算法流程與實作方法:正向傳遞(Forward pass)、反向傳遞(Backward pass)、邏輯回歸(Logistic regression)
除此之外,本篇會用簡易的2層類神經網路建立一個『貓貓分類器』。

Read more