2018-12-09 19:39:38
一、1 * 1卷積
pooling可以對feature map的height,width進行修改,但是對通道數目無法修改。
1 * 1卷積可以在不改變圖像大小的前提下修改通道數目。并且如果使用多個1 * 1卷積可以起到類似FC的功能,是以1 * 1卷積也被稱為Network in Network,具體可以見下圖。
二、Inception子產品
當不知道在卷積神經網絡中該使用1 * 1卷積還是3 * 3的卷積還是5 * 5的卷積或者是否需要進行pooling操作的時候,我們就可以通過inception子產品來将所有的操作都做一遍,然後将得到的結果直接concat到一起,由神經網絡來決定是使用哪種方式處理。

這裡有一個問題就是計算複雜度的問題,如下圖所示:
計算該層的時間複雜度為28 * 28 * 32 * 5 * 5 * 192 ~= 1.2億
如何有效的降低時間複雜度成為了問題的關鍵。Inception網絡中使用了bottleneck層來降低時間複雜度,本質上就是使用1 * 1的卷積先将原有通道數下降,再進行後續的計算,通過這種方式可以大大降低時間複雜度。
這次的時間複雜度為28 * 28 * 16 * 192 + 28 * 28 * 32 * 5 * 5 * 16 ~= 1200萬。
三、Inception網絡
上圖就是上文中講到的Inception子產品,而Inception網絡就是将這些子產品進行組合。中間紅色的部分為pooling層,主要用來減少參數量,另外,Inception網絡也被稱為GoogleNet,他們在模型的中間也加入了分類網絡,認為這樣可以提高網絡的深度,并提高模型的效果。