當前位置:
首頁 >
论文笔记:Inception v1
發布時間:2025/3/21
22
豆豆
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:Inception v1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:Going Deeper with Convolutions
Inception v1
1、四個問題
- 提高模型的性能,在ILSVRC14比賽中取得領先的效果。
- 最直接的提高網絡性能方法有兩種:增加網絡的深度(網絡的層數)和增加網絡的寬度(每層的神經元數)。這樣的做法有如下兩個缺點待改進:
- 構建更大的網絡也意味著會有更多的參數,這也會讓網絡更容易過擬合。
- 同時也會需要更多的計算資源。
- 作者認為解決前面提到的那兩個問題的根本方法是將全連接層,甚至是卷積層都替換為稀疏連接。
- 但是使用稀疏連接會浪費大量的計算資源。如果要有更高的計算性能,需要使用較為密集的矩陣運算。
- 因此,作者的想法是尋找一種方法,既能保持網絡結構的稀疏性,又能利用密集矩陣的高計算性能。
- 大量文獻表明可以將稀疏矩陣聚類為密集矩陣來提高計算性能,作者依此提出了Inception結構。
- 在ImageNet2014獲得分類任務第一名,力壓VGG。
- 將Inception遷移到其他視覺任務上也可以取得state-of-the-art的效果。
- Inception主要是為計算機視覺任務設計的,遷移到其他領域不一定有效。
- Inception v1現在也算比較老的網絡,主要借鑒它的思想(要用還是會選擇Inception v3/v4的)。
2、論文概述
2.1、結構細節
- Inception的主要思想是:設計一個結構,這個結構可以使用密集的成分來近似模擬一個局部稀疏的卷積神經網絡結構。
- 對Inception模塊的說明:
- 采用幾個不同的卷積核意味著具有不同大小的感受野,最后拼接在一起就意味著不同尺度特征的融合。
- 采用1×11 \times 11×1、3×33 \times 33×3和5×55 \times 55×5的卷積核的目的是為了方便后面對齊。
- 假設卷積的步長stride=1stride = 1stride=1,那么分別設定padding=0/1/2padding = 0/1/2padding=0/1/2,那么卷積后可以直接得到相同維度的特征圖,可以直接拼接在一起。
- 作者提到,pooling對于如今許多卷積神經網絡的成功都有不可或缺的作用,所以他也在Inception內嵌入了3×33 \times 33×3的max pooling。
- 網絡越到后面,特征也越抽象。因為要將這些抽象特征進一步組合起來提取更高維的特征,網絡不能只關注小范圍內的特征信息了,所以需要讓感受野大一些,看到更多的抽象信息。因此,3×33 \times 33×3和5×55 \times 55×5卷積的比例要增加。
- Inception模塊還存在一個巨大的問題:那就是使用5×55 \times 55×5卷積會帶來大量的計算量。
- 所以作者又借鑒了Network in Network論文中的方法,使用1×11 \times 11×1卷積來降維,減少計算量。改進結構如下圖:
2.2、GoogleNet結構
- GoogleNet結構說明:
- 采用Inception模塊堆疊而成。
- 基于Network in Netw論文中的思想,在最后使用了average pooling來代替展開為全連接層的形式。實驗也證明這樣可以提高top-1準確率大概0.6%。
- 最后加的那個全連接層主要是為了便于大家將網絡用于其他的數據集finetune。
- 網絡中使用了dropout防止過擬合。
- 網絡中還額外增加了兩個輔助的softmax層。主要作用是,避免梯度消失,幫助梯度的傳導。實際測試模型的時候,會將這兩個softmax去除。
3、參考資料
總結
以上是生活随笔為你收集整理的论文笔记:Inception v1的全部內容,希望文章能夠幫你解決所遇到的問題。