CNN的新進展(2)

本週主要學習內容包括上次blog未盡部分以及對經典文章的精讀總結和思考。

CNN中對損失函數(Loss function)的選擇因問題類型的不同而有各異的合適選擇。應用的比較多的包括S Softmax loss,Hinge loss和Contrastive loss。

這裏寫圖片描述

還有一些比較常用的正則化方法,諸如dropout/dropconnect以及學習連接的重要性等方法。dropout是在全連接層隨機dropout一半的連接,訓練多個網絡,取最終綜合的結果。dropconnect是在drop一些weight,使其爲0**重點內容**。

這裏寫圖片描述

同樣涉及到網絡參數的初始化時,也有很多講究,最常用的是利用高斯分佈,Xavier,MSRA等方法。具體細節可參考下邊的文獻。

接下來介紹幾種CNN網絡訓練中更快的計算方法

  • FFT
    該方法將時域的卷積運算轉換到頻域裏的矩陣乘積運算。值得思考的是這種時域運算到頻域運算的變換能否在應用到更多的地方呢,比如直接在頻域學習特徵,或者空域上的非線性在頻域是否又是怎樣的存在?這些都是有待研究的。
    這裏寫圖片描述

  • 低秩矩陣分解,它旨在通過減少參數量來壓縮模型,即:

    這裏寫圖片描述

還有一種方法就是VQ(Vector Quantization)。

最近又把Alexnet看了一遍,其中注意到瞭如下幾點:

  1. CNN work的原因——因爲我們對數據的先驗理解較少,所以若模型能補償這方面的不足是最好的,同時CNN模型對圖片的先驗假設也是符合現實的,即圖像的統計平穩性和像素級上的相關性;
  2. 多GPU的運用——雖然本文中只用了兩塊GPU,但利用多GPU來完成參數的並行計算思想至關重要;
  3. 文中利用了dropout來緩解過擬合的問題——這一方法確實提高了網絡預測的精確率,但網絡的收斂時間變長了。至於在此基礎上發展而來的dropconnect等是否很好的解決了這一問題以及如何解決這種trade-off的問題,仍然值得思考;
  4. 文中的學習率是手工調整,在一些文章中也提出了學習率自適應的方法,這裏需要調研下,看是否還有點可以挖掘;
  5. 文中最後提及了CNN在視頻處理方面的可能應用,而在ILSVRC2015中就有了關於在視頻中進行物體探測的競賽內容。這個值得跟進關注。。。

看了幾篇論文有了些其他的思考,也一併記下來。CNN網絡的結構選擇也有很多的trick,但理論支持很少,超參的調整也是如此,這種conv+pooling的固定框架在一定程度上侷限了模型的可能性,當然在此基礎上引入了很多其他中間層,諸如Norm層、NB層、Spatial Transformer Networks等。但這些並不夠,固定框架基礎上的超參調整雖然較難,但探索不同模型加你的參數設置更加的困難,而這種難度可能會帶來意想不到的收穫。

參考文獻:
【1】Recent Advances in Convolutional Neural Networks.Jiuxiang Gu.et.al.
【2】Improving neural networks by preventing co-adaptation of feature detectors. G. E. Hinton.et.al
【3】Learning both Weights and Connections for Efficient Neural Networks. Song Han .et.al
【4】ImageNet Classification with Deep Convolutional Neural Networks.Alex Krizhevsky.et.al
【5】Spatial Transformer Networks. Max Jaderberg.et.al

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章