最近試一下kaggle的文字檢測的題目,目前方向有兩個ssd和cptn。直接看看不太懂,看到Alexnet是基礎,今天手寫一下網絡,記錄一下啊。
先理解下Alexnet中使用的原件和作用:
激活函數使用了relu並用了多個cpu:提高了訓練速度。
重疊pool池化(不再是簡單除以2的池化了,類似於卷積的計算過程,不過同樣還是減少了參數):提高了精度,不容易產生過擬合。
局部響應歸一化(Lenet網絡的歸一化實在最后一層,Alexnet網絡前面幾層都是在激活池化后用了softmax歸一化):提高精度
局部響應歸一化動機:神經學中有一個概念叫做側抑制,即被激活的神經元抑制相鄰神經元。歸一化的目的是“抑制”,局部響應歸一化就是借鑒側抑制的思想來實現局部抑 制,尤其是使用RELU這種“側抑制”很管用。好處:增強了泛化額能力,做了平滑處理,對局部神經元的活動創建了競爭機制,使得相應比較大的值相對更大,提高了模型泛化能力。(但是在后面的論文中提出lrn沒什么卵用)
數據增益、dropout:減少了過擬合。
與以往網絡相比創新點在於:
1.大數據訓練,Alexnet在網絡訓練前,對圖片進行了變換:平移變換、反射變換、光照和色彩變換。增加數據
2.多CPU訓練,使用了兩個CPU,因為單CPU存儲空間小,所以使用兩個。
3.LRN局部相應歸一化。局部相應歸一化有助於模型的泛化。不太懂這里,留個坑,請指教
4.重疊池化。
5使用dropout來避免過擬合。dropout的神經元既不參與前向傳播也不參與反向傳播
6非線性激活函數,relu