Xception


Xception(Deep Learning with Depth-wise Separable convolutions)——google Inception-V3

Xception 並不是真正意義上的輕量化模型,只是其借鑒 depth-wise convolution,而 depth-wise convolution 又是上述幾個輕量化模型的關鍵點,所以在此一並介紹,其思想非常值得借鑒。

創新點:

  1. 借鑒depth-wise convolution 改進 Inception V3
    Inception的假設是,卷積的時候要將通道的卷積和空間的卷積進行分離,這樣比較好。

Inception V3 ——> Xception

下圖 1 是 Inception module,圖 2 是作者簡化了的 inception module(就是只保留 1*1 的那條「路」,如果帶着 avg pool,后面怎么進一步假設嘛~)

假設出一個簡化版 inception module 之后,再進一步假設,把第一部分的 3 個 11 卷積核統一起來,變成一個 11 的,后面的 3 個 33 的分別「負責」一部分通道,如圖 3 所示; 最后提出「extreme」version of an Inception,module Xception 登場,,先用 11 卷積核對各通道之間(cross-channel)進行卷積,如圖 4 所示,

作者說了,這種卷積方式和 depth-wise convolution 幾乎一樣。

Xception 是借鑒 Rigid-Motion Scatteringfor Image Classification 的 Depth-wise convolution,是因為 Xception 與原版的 Depth-wise convolution 有兩個不同之處

  • 第一個:原版 Depth-wise convolution,先逐通道卷積,再 11 卷積; 而 Xception 是反過來,先 11 卷積,再逐通道卷積;
  • 第二個:原版 Depth-wise convolution 的兩個卷積之間是不帶激活函數的,而 Xception 在經過 1*1 卷積之后會帶上一個 Relu 的非線性激活函數;

    Xception 結構如上圖所示,共計 36 層分為 Entry flow;Middle flow;Exit flow。。

Entry flow 包含 8 個 conv;Middle flow 包含 3*8 =24 個 conv;Exit flow 包含 4 個 conv,所以 Xception 共計 36 層。

Xception 小結:

Xception 是基於 Inception-V3,並結合了 depth-wise convolution,這樣做的好處是提高網絡效率,以及在同等參數量的情況下,在大規模數據集上,效果要優於 Inception-V3。這也提供了另外一種「輕量化」的思路:在硬件資源給定的情況下,盡可能的增加網絡效率和性能,也可以理解為充分利用硬件資源。

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM