欧美中文字幕第一页-欧美中文字幕一区-欧美中文字幕一区二区三区-欧美中文字幕在线-欧美中文字幕在线播放-欧美中文字幕在线视频

從聚合-轉移框架淺談卷積神經網絡的架構設計

我是創始人李巖:很抱歉!給自己產品做個廣告,點擊進來看看。  

人工智能行業面臨百萬量級的人才缺口,正值春招求職季,雷鋒網 (公眾號:雷鋒網) AI 慕課學院與雷鋒網旗下學術頻道 AI 科技評論聯合騰訊課堂共同開啟一場關于AI 求職的經驗分享盛宴——「AI 求職季·AI 工程師 offer 直通車系列直播」欄目。

4 月 10 日的第一場分享嘉賓——Momenta 高級視覺算法研究員李翔帶來了《打造自動駕駛大腦——看 Paper Reading 直播,拿 Momenta 頂級 offer》的直播分享。

李翔,南京理工大學 PCALab 博士在讀,阿里巴巴天池首屆大數據競賽冠軍,滴滴 Di-Tech 首屆大數據競賽冠軍。知乎專欄 DeepInsight 作者。早期負責 Momenta 車道線檢測相關模塊,現專注于神經網絡基礎算法研發。

以下是李翔在雷鋒網「AI 求職季·AI 工程師 offer 直通車系列直播」欄目的分享內容精選。

本次 Paper Reading 我們并沒有關注某些特定的 paper,而是用一個視角對現有的代表性的卷積神經網絡設計進行總結。

聚合-轉移框架

從聚合-轉移框架淺談卷積神經網絡的架構設計

卷積神經網絡通常都是由許多不同的層級結構組成的。上圖的藍框部分是被定義的 L 層網絡單元,它總體包含聚合(Aggregation)和轉移(Transformer)兩個部分。具體來說,聚合可用圖示的函數表示,聚合函數 A 代表通過選擇 L 以前層的 X 的一個子集作為輸入,得到聚合特征 S;轉移的部分比較簡單,將聚合特征 S 通過轉移函數 T 得到 L 層的 X。

這便是聚合-轉移框架的視角,從這個視角出發,可對現有的卷積神經網絡的架構進行解讀。

從聚合-轉移框架淺談卷積神經網絡的架構設計

為了更加形象的理解,我們舉一個具體的且耳熟能詳的例子——DenseNet。DenseNet 是 CVPR 2017 的最佳論文。從聚合-轉移框架的視角(以上兩個表達式)來看,subset 子集收斂到所有的 L 層之前的 X 上;聚合函數 A 具體化為 channel 維度的拼接(concatenation),拼接可用兩條豎線的符號標記;這是聚合部分的情況。

對于轉移部分,一般在 DenseNet 中,轉移函數 T 通常具象化為順序 2 次的 BN+ReLU+Conv。

聚合的子集

從聚合-轉移框架淺談卷積神經網絡的架構設計

接下來,從子集的構成和聚合函數 A 入手,分別討論他們目前已有的主流的形式。

從聚合-轉移框架淺談卷積神經網絡的架構設計

對于聚合函數 A 而言,第一種情況是子集(subset)只是選取 L-1 層的 X。這個模式普遍出現于早期的 feed-forward 的神經網絡中,主要代表有 LeNet、AlexNet、VGG、GoogLeNet、InceptionV2 V3、MobileNetV1。

從聚合-轉移框架淺談卷積神經網絡的架構設計

第二種情況是子集(subset)選擇 L 層之前所有層的 X,這是較為常見的。主要代表作有 ResNet 系列、DenseNet 系列以及基于 ResNet 或者 DenseNet 提出改進的一些網絡結構。

DenseNet 是選擇之前所有層進行密集的鏈接,但是 ResNet 是怎么回事?難道 ResNet 不是 skip connection 嗎?下面將為大家推導解答 ResNet 和 DenseNet 在拓撲結構上的等價性。

從聚合-轉移框架淺談卷積神經網絡的架構設計

首先分析圖中(a)的拓撲結構,這個拓撲結構基本上是 DenseNet 的結構,符號和聚合-轉移框架是保持一致的,于是可以寫出它數學上的表達式,具體化為 channel 維度的拼接,進行一步的轉移后得到 DenseNet 標準的表達式,也是其論文中的原始定義。

再看圖中(b)ResNet 的結構,是一個標準的 skip connection 結構。根據 ResNet 的定義可寫出表達式(1),從表達式中也體現了 skip connection;同時表達式(2)即是中間 feature X 的表達。在得到表達式(1)和表達式(2)后,可將表達式(1)不斷地循環地帶入表達式(2)中,最后可以得到一個非常有意思的表達式。

最后,將(a)和(b)兩個網絡的表達式平行地寫在一起,發現兩者唯一的區別就在于聚合函數 A,(a)DenseNet 結構表現為 channel 維度的拼接,(b)ResNet 結構表現為逐元素的相加。二者遵循的都是一個相同的 Dense 的拓撲連接結構。這部分的具體細節可以查看 Mixed Link Network 的論文。

從聚合-轉移框架淺談卷積神經網絡的架構設計

提到這里,不得不回顧一個小往事。眾所周知,ResNet 前后其實提了兩個版本。第一個版本是圖(a),也是 CVPR 的最佳論文《Deep Residual Learning for Image Recognition》,第二個版本是圖(b),是第一篇論文發表后的第二年發表的論文,名為《Identity Mappings in Deep Residual Networks》。這兩個版本的最大區別就是 skip connection 之后是否接 relu。第一個版本接了 relu,如果按照第一個版本,我們之前的推導是無法完成的。從實驗上來講,第一個版本的確也是存在一些問題的,圖中是當時的實驗結果,第一個版本的 ResNet 隨著網絡層數從一百層上升到一千多層,性能反而在下降。等到第二個版本,就完全符合了 Dense 的拓撲結構,隨著網絡變得很深,性能也能夠穩定下降。這也充分地告訴我們,Dense 的拓撲結構的確是具有一些非常優秀的性質,使得 RenseNet 和 DenseNet 在現有網絡基礎上都有著重要的影響力。

以上是在解釋為什么 ResNet 其實是選擇了之前所有層的 X 進行了聚合。

從聚合-轉移框架淺談卷積神經網絡的架構設計

近期 Google 的一些 network architecture search 的工作(NASNet 和 ENASNet)采用了通過 RNN 去 sample 出 2 個 L 層之前的 X 進行聚合。他們的核心思想就是把 Reinforcement Learning 的思想引入到自動的架構設計中。具體來說,他們會使用一個 RNN 去 sample 出一些基礎的連接結構,形成基元模塊,使得網絡性能更好。

RNN 的輸出基本分為兩大類,一個是 layer id,也就是選擇之前的哪一層;另一個類是基礎運算操作。圖中紅色框部分就是每次 sample 出的兩個層的 X。具體細節可以參考論文原文。

聚合函數 A

從聚合-轉移框架淺談卷積神經網絡的架構設計

接下來介紹聚合函數 A 的幾個代表形式。首先是恒等變換,也就是 Identity 函數,在通常的 feed-forward 網絡中,聚合的特征是使用了上一層的 feature X,在聚合過程中不會對 feature 進行任何操作,僅是轉移至下一層。 從聚合-轉移框架淺談卷積神經網絡的架構設計

第二是逐元素(Element-wise)的相加,這類操作普遍出現在有 skip connection 的網絡系列中,例如 PreResNet、ResNeXt、MobileNetV2、SENet-ResNeXt。聚合的方式是在拿到子集(subset)的 feature 后,保證其維度一致,將每個位置的元素累加,隨后進入轉移環節。

從聚合-轉移框架淺談卷積神經網絡的架構設計

第三是通道(channel)上的拼接,代表作是 DenseNet。這類形式是將所有 feature 在通道維度上進行一個擴增。通常,DenseNet 的 feature X 的維度都比較小,保持量級不會過大,控制最終的 feature 維度在一定范圍內。

從聚合-轉移框架淺談卷積神經網絡的架構設計

最后再介紹下混合了 addition 和 concatenation 的兩種操作,混合的意思是在聚合的過程中既包括按位置的逐元素的相加,也包括 channel 維度的拼接,其主要代表作是 DPN、MixNex 和 ShuffleNet。DPN 可被視為擁有兩條通路的網絡,左邊的通路為 ResNet,右邊的通路為 DenseNet,進行 feature 上的拼接后,在轉移過程中包含了逐元素的相加和 channel 維度的拼接。MixNet 也是相似的原理,但去掉了嚴格意義上的 ResNet 的通路,把逐元素相加平均分攤到不斷擴增的所有 feature 上。ShuffleNet 則是在降采樣的時候和非降采樣的時候使用不同的兩種操作,從而最終將其混合起來。

轉移

從聚合-轉移框架淺談卷積神經網絡的架構設計

轉移如果更加細致的劃分可能可以有很多種分類方式,但由于篇幅限制本次只從兩個方向簡單地介紹轉移的部分,分別是單路的轉移和多路的轉移(Single Path 和 Multiple Path)。通過順序的卷積、組卷積等基元操作完成特征轉移的網絡都可被歸納為單路的轉移(SinglePath)。在擁有聚合的 feature 之后,可以通過 feed-forward(單向流)的方式,將基礎的操作如 concatenation、BN、pooling、激活函數等進行單向的組合,經過這一單路的組合,可以得到轉移后的 feature。單路的網絡包括 LeNet、AlexNet、VGG、PreResNet、ResNeXT、DenseNet、DPN、MixNet、ShuffleNet、MobileNetV1 V2 等目前主流的網絡,目前小型設備上使用的網絡 ShuffleNet、MobileNetV1 V2 都是單路轉移的設計,不涉及多路的轉移。

從聚合-轉移框架淺談卷積神經網絡的架構設計

除了通過順序的卷積、組卷積等基元操作完成特征轉移的網絡之外,其他的網絡可被歸納為多路的轉移(MultiplePath)。首要的代表作是 GoogLeNet 的 Inception 系列,Inception 系列最早就是沿著多路的思路設計的,同一個 feature 會經過不同的深度、感受野的組織路徑,進而設計出從 V1 到 V4 的系列版本。在迭代過程中,內部結構的變化越來越多,比如說把大的卷積替換成小的卷積的組合,然后卷積再進行分解,3 乘 3 的分解成 3 乘 1 和 1 乘 3 等等。這一系列中唯一不變的便是其多路轉移的設計思路。

值得一提的是,Momenta 在 ImageNet 2017 的奪冠架構 SENet 便可以看作在特征轉移的步驟中增加了一個 multiple path,一路是 identity,另一路是 channel 上的 global attention。其實,轉移部分還可以從更多更深入的角度在做分類和整理,我們今天僅從單路和多路的角度做了一些梳理,希望能給大家帶來啟發。

從聚合-轉移框架淺談卷積神經網絡的架構設計

上圖是本次分享的回顧,梳理了目前主流的架構。從子集選取的角度出發,可分為三種設計;從聚合函數的角度出發,可分為四種設計;從轉移函數的角度出發,可簡單分為兩種設計。

希望這個表格能在子集選擇、設計聚合函數和轉移函數時給予大家啟發。例如,現在借助網絡架構搜索是一個很好的方向,比如 NASNet 和 ENASNet,但其本身具有一定的局限性。首先搜索空間是被定義好的。當基礎單元的研究沒有到位時,搜索空間可能不會被定義得非常好,甚至有些很多結構在搜索空間里搜不到的,比如說 Google 的 Inception 結構,比如說 DPN 和 MixNet 這類混合的結構。它們在性能上的提升甚至可能往往并不如人工設計的結構。所以,接下來的網絡設計應該是基礎單元結合架構搜索同時前進,相互補充相互啟發,從而達到共同的提高。

雷鋒網版權文章,未經授權禁止轉載。詳情見。

從聚合-轉移框架淺談卷積神經網絡的架構設計

隨意打賞

cnn 卷積神經網絡深度卷積神經網絡什么是神經網絡神經網絡 基礎cnn卷積神經卷積神經網絡預測神經網絡神經網絡模型卷積神經
提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 亚洲一区二区三区日本久久九 | 久草婷婷在线 | 国产51自产区 | 日韩视频在线一区 | 欧美色五月 | 插久久 | 一区一精品 | 国产精品亚洲综合 | 久久是免费只精品热在线 | 中文字幕日韩高清 | 久久国产精品一国产精品 | 欧美一级永久免费毛片在线 | 久久香蕉精品成人 | 综合久久久久久 | 国产毛片儿 | 黄页网址大全免费观看美女 | 91国内精品线免费播放 | 欧美成人黄色网 | 日本一区二区免费视频 | 亚洲人成网站999久久久综合 | 国产精品久久久久久久免费 | 永久免费的啪啪免费的网址 | 欧美日韩综合视频 | 四虎国产精品4hu永久 | 中国国产一国产一级毛片视频 | 亚洲精品国产第一区二区尤物 | 亚洲欧洲尹人香蕉综合 | 亚洲精品欧洲久久婷婷99 | 久久精品中文字幕第一页 | 精品国产调教最大网站女王 | 91不卡 | 亚洲欧美国产视频 | 欧美一级毛片片免费孕妇 | 在线观看国产一区亚洲bd | 久久精品夜夜夜夜夜久久 | 五月婷婷激情六月 | 亚洲人成毛片线播放 | 久久伦理| 五月婷婷狠狠干 | 亚洲精品一区专区 | 51国产午夜精品免费视频 |