GoogLeNet網絡

本篇文章是對“Going deeper with convolutions”這篇論文的讀後總結。
文章作者說明了爲什麼網絡的結構叫GoogLeNet,原文是這樣說的:This name is an homage to Yann LeCuns pioneering LeNet 5 network. We also use GoogLeNet to refer to the particular incarnation of the Inception architecture used in our submission for the competition。

一、目的

1.1問題的提出

通常有兩種方法來提升深度網絡的性能:1、增加網絡的深度(增大網絡層數),2、增加網絡的寬度(增加層的節點數)。
但是這樣會帶來兩個問題:1、大的網絡結構,也就意味着有大量的參數,這容易導致網絡的過擬合,特別是訓練集有限的情況下;2、大網絡也意味着計算的巨大。

1.2問題的解決方法

解決1.1中兩個問題的方法:將全連接轉換成稀疏連接。這個的理論基礎在論文中的參考文獻【2】有給出:如果數據的概率分佈可由一個大的,非常稀疏的深度網絡來表示,則可通過分析上一層激活值的統計相關性以及聚類高相關性的節點來逐層建立。當然嚴格的數學證明需要非常嚴格的前提條件,但是在實際應用中,條件要求可以不那麼的嚴格。

二、Inception網絡

2.1結構圖

這裏寫圖片描述
從上圖看,Inception的結構和一般的卷積網絡很不一樣,常用的卷積網絡是一個串行的網絡,而Inception網絡有並行的結構。爲什麼要設計這樣的一個結構呢。

2.2網絡結構的由來

當前計算架構在進行非均勻的稀疏數據計算時,其效率非常低:因爲查表的天花板以及cache的擊中率問題,導致稀疏矩陣的計算效率不高。而且,非均勻稀疏模型需要更爲複雜的工程和計算結構。
曾經爲了打破對稱性和提高學習效率,卷積網絡採用隨機和稀疏鏈接表。但是現在卷積網絡更趨向於採用全連接,因爲這樣可以更好的優化並行計算。
因此這就有一個問題:有沒有一種結構,能利用稀疏性(即使是在filter層),但是能在當前硬件上運行稠密矩陣計算。
文獻【3】表明將稀疏矩陣聚類成相對稠密的子矩陣有利於提升稀疏矩陣乘法的性能。
Inception結構就是這樣的一種結構:用稠密矩陣組件來逼近稀疏矩陣。

三、GoogLeNet結構說明

3.1結構

這裏寫圖片描述

3.2說明

googLeNet幾點注意之處:
1)增加了Inception結構,但是與之前的Inception結構不同;
2)底層的幾層與傳統的一樣,是從較高層開始採用Inception結構的疊加;
3)多了兩個softmax層進行反向反饋。

1、新Inception

新Inception的結構如下
這裏寫圖片描述
與舊Inception對比,新的Inception結構增加了幾個1-1的卷積層。
由舊的Inception結構搭建的網絡中,頂層的卷積層的filter數量會非常多,這會導致計算量的爆炸。
因此作者在計算量增加多的地方應用了降維和映射的方法。這個方法基礎是嵌入的成功應用:低維嵌入也包含了很多大圖像塊的信息。
因此採用了1-1卷積層來降低計算量。

2、底層的幾層

底層採用傳統的卷積層並不是必須要嚴格遵守的,只是這樣做的效果似乎比較好。

3、多個softmax層

增加softmax層主要是和較深的網絡訓練有關。作者發現網絡中間層的特徵具有很強的可分性。在中間層增加分類器,並將梯度信號反饋回去,提供額外的正則化。
在訓練階段,把這些分類器的損失與一個係數加權增到到總的損失中。在測試的時候,這些輔助的分類器就不用了。

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