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

使用 Ubuntu 作為 深度學習/機器學習/人工智慧之 平台

人工智慧相關的新興職業將會在未來五到十年內爆炸式增加,尤其一個更是未來不可或缺的職業——“AI訓練師”。(正面迎擊人機合作的時代:AI時代3大關鍵人才)
小弟我是不太敢確定AI訓練師這個職業會不會在台灣火熱地成長,不過,很確定的是以全球來說,至少中國、歐美、新加坡絕對是如此!
如此明顯的大趨勢之下,還不來學學這些新東西嗎?

本篇文章之目的為詳列系統環境建置的步驟、相關文章以及相關troubleshooting!
【環境建置】:Ubuntu 17.10 + CUDA Toolkit 9.0 + cuDNN + Anaconda 3 + Python 3.5 + Tensorflow
【相關文章】:Python基礎教學

Read more