1. 程式人生 > >sp4.2 Deep convolutional models:case studies

sp4.2 Deep convolutional models:case studies

一些經典CNN方面網路: LeNet-5 AlexNet VGG LeNet-5:90年代 當時使用的更多的是平均池化 不用padding 大概6萬個引數 這個模型裡面 通道數量(第三維)在逐漸增加 越來越長了 高和寬越來越小了 這裡多個卷積後面跟個池化這個現在還用 當時池化後進行了sigmoid函式 現在不用 當時用的sigmoid或tanh 精讀第二段 泛讀第三段     AlexNet:和上一個很相似,但是大很多 引數6000W個 用了relu啟用函式 這個當時用了GPU雖然比較慢 還用區域性響應歸一層LRN層 相當於從13*13*256裡取一條歸一化 現在並不重要     VGG-16:簡化了模型 專注於卷積層 1.38億個引數 很規整這個模型 非常深通道通道不斷增加 到512 卷積 64個3*3的過濾器 --pool---卷積--pool--。。。---FC-FC-SOFTMAX   http://blog.csdn.net/buyi_shizi/article/details/53336192
          殘差網路:ResNet inception 很深的難訓練 存在梯度消失 梯度爆炸 運用跳遠連線skip connections ResNet:殘差塊構成 殘差塊 : a^l到a^l+2一般情況下要經過a+--線性--relu--al+1--線性--relu--al+2 現在直接複製到最後 讓AL+2前加個Al     identity block這種塊是直接傳過去
  這種塊 如果輸入和後面的維數不匹配的話 他是做完卷積 再正則化 傳過去     每兩個構成一個殘差塊 傳統的誤差 會先減少再增加 而這個殘差代價就越來越小     殘差為什麼有用:即使給神經網路多加兩層 容易學習恆等函式 仍然保持簡單時候的效率 在正則化或權重衰減時候 也許當前項都0了 還可以保持前面的al 這樣他也不遜色於上面簡單的網路了 他用了很多相同的卷積 zl+2 al具有相同維度  
    1*1卷積層 池化層只壓縮了寬和高 這個也可以壓縮通道數 也可以增加通道數 對一維的一個平面沒什麼效果相當於一個數字而已 但是多通道的就不一樣了 這分別對應一乘 相當於全連線神經網路了啊   用於壓縮第三維n_C 這裡通道數為192吧 用32個1*1的 就壓縮為32層   inception盜夢空間 利用上面的1*1卷積: 相當於你把他都列出來 他自己學 保持相同維度 通道可以不同 也可以用池化層 但也需要維度不變 讓他自己學習用哪個過濾器組合 對於5*5的過濾器 計算: 32個過濾器 每個為5*5*192 計算成本: 所以一共28*28(原圖維數)*32個過濾器* 5*5*192過濾器維度=1.2億次計算 這裡計算量比較大 現在就用到了1*1卷幾層 只要合理的構建瓶頸層不會影響效能 利用1*1*192 維16個的話:壓縮了一下 28*28*16 16*28*28*192*1*1=240萬個 28*28*32*5*5*16=1000萬個 1240萬次比之前的降了10倍     有些塊還有分支 通過隱藏層做出預測 類似最後一層softmax輸出結果 防止過擬合     運用開放的原始碼:直接復現別人論文非常難 直接github 找原作者的開源 一般工作流程 :選一個喜歡的模型 然後找到他的開源下載下來 進行修改     遷移學習:還是用別人訓練好的 去掉後面幾層 前面的不用動 把他當做一個初始化的原型 只有少數訓練集就保留人家大多數層 前面的都凍住 那些引數不變 之變自己後面加的 如果自己訓練集很大 可以保留部分 如果訓練集特別大 把他們當做隨機初始化後的值 在此基礎上繼續訓練   資料擴充:計算機視覺方面資料越多的確是效果越好 映象對稱 隨機裁剪 扭曲變換 區域性彎曲 等 色彩轉換,加濾鏡或rgb加加減減 對RGB的改變可以用PCA 有alexnet paper PCA color augmention 如果有大量資料:利用cpu多執行緒對有的圖片變形啊 變色啊   計算機視覺現狀:現狀語音資料很多 影象資料還不夠 物體檢測的更少(有標註框的) 少資料就需要人工調參啊各種技巧 遷移學習 多資料就是手工的少一點 更大的神經網路就可以       Use open source code: Use architectures of networks published in the literature Use open source implementations if possible Use pretrained models and fine-tune on your dataset