Numpy 筆記-#01 卷積神經網路的Padding
如果你有恆心、毅力僅使用Numpy打造自己的卷積神經網路(CNN)就一定會碰到一個問題,CNN裡面會用到的Padding該怎麼實作?其實Numpy已經幫你準備好這項功能(當然這個功能應該不僅止於此)。總之,本文就是來教該如何使用numpy.pad( )。
Read more如果你有恆心、毅力僅使用Numpy打造自己的卷積神經網路(CNN)就一定會碰到一個問題,CNN裡面會用到的Padding該怎麼實作?其實Numpy已經幫你準備好這項功能(當然這個功能應該不僅止於此)。總之,本文就是來教該如何使用numpy.pad( )。
Read more本文將介紹Pooling layer在反向傳遞(Backward propagation / Backward pass)的運作過程,雖然Pooling層的參數不需要被訓練,但是在大多數情況下,Pooling layer通常是承接著啟動函數的輸出。因此,本文將會詳細介紹反向傳遞時Kernel、Bias、Feature map的細節。
Read more本篇文章要來介紹對特徵圖(Feature map)與偏差值(Bias)在Backward propagation的推導過程與可程式化的計算方法。由於卷積神經網路(Convolutional Neural Network, CNN)在使用倒傳遞法(Backpropagation)的反向傳遞(Backward pass)過程中,就是藉著計算參數之梯度(偏微分)作為更新並訓練參數的手段,因此了解這些原理對於初探卷積神經網路的學習者來說也非常重要。
Read more卷積神經網路的參數最終仍會以Backpropagation(倒傳遞法)來優化,本文將由淺而深的從原理到可程式化的計算方法向各位介紹Kernel的偏微分計算方法。而本文採用的範例是包含padding的卷積層,這種設定也將更趨近於現實,希望透過這種方式讓各位完全理解。
Read more因為卷積神經網路(CNN)的特性,使得在使用CNN進行影像辨識時可以大幅度的降低參數量。本節介紹的主題就是計算CNN的參數量,但是在開始之前,會先用簡單的例子帶各位了解如何架構CNN,希望各位能徹底明白卷積神經網路的運作流程,藉此深入了解計算參數量的方法。
Read more池化層在卷積類神經網路扮演的角色也很關鍵,它可以幫助我們縮小Feature map的大小,也可以用來強CNN萃取出來的特徵。本篇文章就是要介紹池化層(Pooling layer)的運算規則。池化層的概念很簡單,但它仍有許多需要注意的屬性,像是與卷積層會用到的『移動步伐Stride』在池化層也會派上用場。
Read more卷積神經網路(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