cs231n assignment(二) CNN

最近在刷cs231n的課程和作業,在這裡分享下自己的學習過程,同時也希望能夠得到大家的指點。

寫在前面:

  1. 這僅僅是自己的學習筆記,如果侵權,還請告知;
  2. 代碼是參照lightaime的github,在其基礎之上做了一些修改;
  3. 在我之前,已有前輩在他的知乎分享過類似內容;
  4. 講義是參照杜客等人對cs231n的中文翻譯。

溫馨提醒:

  1. 文檔的所有程序是使用python3.5實現的,如果你是python2的用戶,可能要對代碼稍作修改;
  2. 文章主要是圖片,建議PC端閱讀;
  3. 如有不清晰或不理解,可在評論區指出,或聯繫QQ:1097653131;
  4. 鑒於有些小夥伴想離線查看,特將文檔轉成PDF,請在百度雲自行下載。

往期文章:

  1. knn分類器
  2. svm線性分類器
  3. softmax線性分類器
  4. 兩層神經網路
  5. features
  6. 全連接神經網路
  7. BN層
  8. Dropout層

前面我們已經介紹了神經網路的一些常見的知識,這些神經網路其實都是全卷積神經網路,也就是層與層之間是全連接的,那麼從今天開始我們就要開始一些新的內容,我們從卷積神經網路開始。

卷積神經網路和全連接的神經網路非常類似,它們都是由神經元組成,神經元中具有學習能力的權重和偏差,每個神經元都得到一些輸入數據,進行內積運算後再進行激活函數運算。整個網路依舊是一個可導的評分函數:該函數的輸入是原始的圖像像素,輸出是不同類別的評分。在最後一層(往往是全連接層),網路依舊是一個損失函數(比如SVM或Softmax),並且在神經網路中我們實現的各種技巧和要點依舊適用於卷積神經網路。

有一點不同的是CNN的各層中的神經元是3維排列的,寬度、高度和深度(這裡的深度指的是激活數據體的第三個維度,而不是整個網路的深度,整個網路的深度指的是網路的層數)。

關於卷積神經網路(CNN)的介紹,前有很多大神對其進行了介紹,我相信他們的總結已經夠我們了解CNN的基礎知識了。

但是,為了我們能夠更好的理解我們的代碼,這裡我們還是需要簡要介紹下。

好,言歸正傳,下面我們就上乾貨。

推薦閱讀:

在 HSV 顏色空間中,為什麼色調(hue)對於表達顏色最重要?
SVDNet for Pedestrian Retrieval:CNN到底認為哪個投影方向是重要的?
【小林的OpenCV基礎課 5】圖像的基本操作
做底層 AI 框架和做上層 AI 應用,哪個對自己的學術水平(或綜合能力)促進更大?
Beyond Correlation Filters:Learning Continuous Convolution Operators for Visual Tracking

TAG:计算机视觉 | 深度学习DeepLearning | 机器学习 |