'怎樣設計最優的卷積神經網絡架構?| NAS原理剖析'

人工智能 設計 算法 網頁設計 Facebook CNN 人生第一份工作 人工智能前沿學生論壇 2019-07-28
"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

雖然,深度學習在近幾年發展迅速。但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。

其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正瞭解神經網絡是如何達到當前這麼優秀的表現。


關於CNNs的一些線索

我們從如下幾點開始剖析。近期研究提供了一些具體地證據證明這幾點確實可以用來提升CNN的表現:

  • 增加圖像分辨率
  • 增加網絡深度
  • 增加網絡寬度
  • 增加跳過連接(密集塊或殘差塊)

經驗表明,以上幾種方式是使得CNN之所以取得最優結果的關鍵。增加圖像的分辨率可以“餵養”網絡更多的信息去學習;增加網絡寬度與深度使網絡學習到更多的參數。另外,增加“跳過連接”可以增加網絡的複雜性,從而增強網絡的表徵能力。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

雖然,深度學習在近幾年發展迅速。但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。

其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正瞭解神經網絡是如何達到當前這麼優秀的表現。


關於CNNs的一些線索

我們從如下幾點開始剖析。近期研究提供了一些具體地證據證明這幾點確實可以用來提升CNN的表現:

  • 增加圖像分辨率
  • 增加網絡深度
  • 增加網絡寬度
  • 增加跳過連接(密集塊或殘差塊)

經驗表明,以上幾種方式是使得CNN之所以取得最優結果的關鍵。增加圖像的分辨率可以“餵養”網絡更多的信息去學習;增加網絡寬度與深度使網絡學習到更多的參數。另外,增加“跳過連接”可以增加網絡的複雜性,從而增強網絡的表徵能力。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

雖然,深度學習在近幾年發展迅速。但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。

其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正瞭解神經網絡是如何達到當前這麼優秀的表現。


關於CNNs的一些線索

我們從如下幾點開始剖析。近期研究提供了一些具體地證據證明這幾點確實可以用來提升CNN的表現:

  • 增加圖像分辨率
  • 增加網絡深度
  • 增加網絡寬度
  • 增加跳過連接(密集塊或殘差塊)

經驗表明,以上幾種方式是使得CNN之所以取得最優結果的關鍵。增加圖像的分辨率可以“餵養”網絡更多的信息去學習;增加網絡寬度與深度使網絡學習到更多的參數。另外,增加“跳過連接”可以增加網絡的複雜性,從而增強網絡的表徵能力。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析


神經架構搜索

NAS是一種尋找最優神經網絡架構的算法。絕大多數NAS算法工作原理類似。

首先,定義一組適用於我們網絡的“構建塊”。然後,嘗試以不同的方式組合這些“構建塊”進行訓練。通過這種試錯方式,NAS算法最終能夠確定哪一種“構建塊”與哪一種網絡配置可以得到最優結果。

事實證明,這種方法行得通且可以找到最優的預測效果。如NASNet的論文中所示,可以組合出一些奇怪的結構。如下:

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

雖然,深度學習在近幾年發展迅速。但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。

其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正瞭解神經網絡是如何達到當前這麼優秀的表現。


關於CNNs的一些線索

我們從如下幾點開始剖析。近期研究提供了一些具體地證據證明這幾點確實可以用來提升CNN的表現:

  • 增加圖像分辨率
  • 增加網絡深度
  • 增加網絡寬度
  • 增加跳過連接(密集塊或殘差塊)

經驗表明,以上幾種方式是使得CNN之所以取得最優結果的關鍵。增加圖像的分辨率可以“餵養”網絡更多的信息去學習;增加網絡寬度與深度使網絡學習到更多的參數。另外,增加“跳過連接”可以增加網絡的複雜性,從而增強網絡的表徵能力。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析


神經架構搜索

NAS是一種尋找最優神經網絡架構的算法。絕大多數NAS算法工作原理類似。

首先,定義一組適用於我們網絡的“構建塊”。然後,嘗試以不同的方式組合這些“構建塊”進行訓練。通過這種試錯方式,NAS算法最終能夠確定哪一種“構建塊”與哪一種網絡配置可以得到最優結果。

事實證明,這種方法行得通且可以找到最優的預測效果。如NASNet的論文中所示,可以組合出一些奇怪的結構。如下:

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

這也正是NAS的偉大之處之一,可以讓我們發現一些之前還未探索過的網絡結構。

然而,它也有自己的侷限性。由於其從一組固定的“構建塊”開始採樣和進行組合,所以我們將不能通過此算法發現新的構建塊。跳過連接也是如此,NASNet只允許含有一次下采樣的跳過連接,但其他類型的連接也同樣值得嘗試。

Facebook的人工智能研究團隊通過“隨機連接神經網絡(randomly wired neural networks)”對NAS進行新的嘗試。它們的動機是:如果“架構搜索”在固定的塊和連接上表現得很好,那麼在更大的搜索空間下(例如:隨機連接)將會產生一些更優的配置。


隨機連接神經網絡

由於論文作者想要專門研究神經網絡的連接方式,所以他們對網絡結構做了如下限制:

  • 網絡輸入尺寸為224x224
  • 網絡塊始終為ReLU-Conv-BatchNorm三項組形式。且三項組中的卷積都是參考自Xception結構中使用的3x3可分離卷積。
  • 多組張量的聚合(例如當跳過連接與原連接進行聚合時)均以加權和的方式進行聚合。這些權重具有可學習性與可持續更新性。
  • 網絡組成總是保持一致。一般的CNN結構是由多個卷積塊組成,然後通過多次向下採樣,直到最終的softmax分類層。這也已經成為網絡設計的標準。在這些研究實驗中均採用了這種範式。
"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

雖然,深度學習在近幾年發展迅速。但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。

其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正瞭解神經網絡是如何達到當前這麼優秀的表現。


關於CNNs的一些線索

我們從如下幾點開始剖析。近期研究提供了一些具體地證據證明這幾點確實可以用來提升CNN的表現:

  • 增加圖像分辨率
  • 增加網絡深度
  • 增加網絡寬度
  • 增加跳過連接(密集塊或殘差塊)

經驗表明,以上幾種方式是使得CNN之所以取得最優結果的關鍵。增加圖像的分辨率可以“餵養”網絡更多的信息去學習;增加網絡寬度與深度使網絡學習到更多的參數。另外,增加“跳過連接”可以增加網絡的複雜性,從而增強網絡的表徵能力。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析


神經架構搜索

NAS是一種尋找最優神經網絡架構的算法。絕大多數NAS算法工作原理類似。

首先,定義一組適用於我們網絡的“構建塊”。然後,嘗試以不同的方式組合這些“構建塊”進行訓練。通過這種試錯方式,NAS算法最終能夠確定哪一種“構建塊”與哪一種網絡配置可以得到最優結果。

事實證明,這種方法行得通且可以找到最優的預測效果。如NASNet的論文中所示,可以組合出一些奇怪的結構。如下:

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

這也正是NAS的偉大之處之一,可以讓我們發現一些之前還未探索過的網絡結構。

然而,它也有自己的侷限性。由於其從一組固定的“構建塊”開始採樣和進行組合,所以我們將不能通過此算法發現新的構建塊。跳過連接也是如此,NASNet只允許含有一次下采樣的跳過連接,但其他類型的連接也同樣值得嘗試。

Facebook的人工智能研究團隊通過“隨機連接神經網絡(randomly wired neural networks)”對NAS進行新的嘗試。它們的動機是:如果“架構搜索”在固定的塊和連接上表現得很好,那麼在更大的搜索空間下(例如:隨機連接)將會產生一些更優的配置。


隨機連接神經網絡

由於論文作者想要專門研究神經網絡的連接方式,所以他們對網絡結構做了如下限制:

  • 網絡輸入尺寸為224x224
  • 網絡塊始終為ReLU-Conv-BatchNorm三項組形式。且三項組中的卷積都是參考自Xception結構中使用的3x3可分離卷積。
  • 多組張量的聚合(例如當跳過連接與原連接進行聚合時)均以加權和的方式進行聚合。這些權重具有可學習性與可持續更新性。
  • 網絡組成總是保持一致。一般的CNN結構是由多個卷積塊組成,然後通過多次向下採樣,直到最終的softmax分類層。這也已經成為網絡設計的標準。在這些研究實驗中均採用了這種範式。
怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

ImageNet競賽的標準輸入尺寸為224x224--ImageNet數據集被用來作為一個基線數據集來檢驗“手工網絡”(NAS算法生成的網絡架構)的性能。ReLU-Conv-BatchNorm三項組塊也很常見,而且已經被廣泛證明成為了可以為深度卷積神經網絡帶來最優的效果。

張量聚合的方式不止一種,很多優異的網絡在沒有進行加權的情況下直接進行求和或連結--但不會對性能造成較大的影響。上述表格中描述的這些過去常用的網絡結構同樣也用在了ResNets,DenseNets和NASNets中。

注意,這並不是一個完全的隨機神經網絡。它並不是完全從零開始隨機化。而是在其他組件保持不變的情況下,針對CNN設計過程中一個被稱為“連接(wiring)”的單一組件進行探索。

作者試圖讓讀者明白的一個重要觀點--他們還沒有實現完全意義的隨機化神經網絡,但正開始對組件搜索空間一步一步的進行深入的探索。

在這些約束條件下,各種經典的隨機模型圖被用來生成網絡的隨機連接。

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

雖然,深度學習在近幾年發展迅速。但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。

其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正瞭解神經網絡是如何達到當前這麼優秀的表現。


關於CNNs的一些線索

我們從如下幾點開始剖析。近期研究提供了一些具體地證據證明這幾點確實可以用來提升CNN的表現:

  • 增加圖像分辨率
  • 增加網絡深度
  • 增加網絡寬度
  • 增加跳過連接(密集塊或殘差塊)

經驗表明,以上幾種方式是使得CNN之所以取得最優結果的關鍵。增加圖像的分辨率可以“餵養”網絡更多的信息去學習;增加網絡寬度與深度使網絡學習到更多的參數。另外,增加“跳過連接”可以增加網絡的複雜性,從而增強網絡的表徵能力。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析


神經架構搜索

NAS是一種尋找最優神經網絡架構的算法。絕大多數NAS算法工作原理類似。

首先,定義一組適用於我們網絡的“構建塊”。然後,嘗試以不同的方式組合這些“構建塊”進行訓練。通過這種試錯方式,NAS算法最終能夠確定哪一種“構建塊”與哪一種網絡配置可以得到最優結果。

事實證明,這種方法行得通且可以找到最優的預測效果。如NASNet的論文中所示,可以組合出一些奇怪的結構。如下:

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

這也正是NAS的偉大之處之一,可以讓我們發現一些之前還未探索過的網絡結構。

然而,它也有自己的侷限性。由於其從一組固定的“構建塊”開始採樣和進行組合,所以我們將不能通過此算法發現新的構建塊。跳過連接也是如此,NASNet只允許含有一次下采樣的跳過連接,但其他類型的連接也同樣值得嘗試。

Facebook的人工智能研究團隊通過“隨機連接神經網絡(randomly wired neural networks)”對NAS進行新的嘗試。它們的動機是:如果“架構搜索”在固定的塊和連接上表現得很好,那麼在更大的搜索空間下(例如:隨機連接)將會產生一些更優的配置。


隨機連接神經網絡

由於論文作者想要專門研究神經網絡的連接方式,所以他們對網絡結構做了如下限制:

  • 網絡輸入尺寸為224x224
  • 網絡塊始終為ReLU-Conv-BatchNorm三項組形式。且三項組中的卷積都是參考自Xception結構中使用的3x3可分離卷積。
  • 多組張量的聚合(例如當跳過連接與原連接進行聚合時)均以加權和的方式進行聚合。這些權重具有可學習性與可持續更新性。
  • 網絡組成總是保持一致。一般的CNN結構是由多個卷積塊組成,然後通過多次向下採樣,直到最終的softmax分類層。這也已經成為網絡設計的標準。在這些研究實驗中均採用了這種範式。
怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

ImageNet競賽的標準輸入尺寸為224x224--ImageNet數據集被用來作為一個基線數據集來檢驗“手工網絡”(NAS算法生成的網絡架構)的性能。ReLU-Conv-BatchNorm三項組塊也很常見,而且已經被廣泛證明成為了可以為深度卷積神經網絡帶來最優的效果。

張量聚合的方式不止一種,很多優異的網絡在沒有進行加權的情況下直接進行求和或連結--但不會對性能造成較大的影響。上述表格中描述的這些過去常用的網絡結構同樣也用在了ResNets,DenseNets和NASNets中。

注意,這並不是一個完全的隨機神經網絡。它並不是完全從零開始隨機化。而是在其他組件保持不變的情況下,針對CNN設計過程中一個被稱為“連接(wiring)”的單一組件進行探索。

作者試圖讓讀者明白的一個重要觀點--他們還沒有實現完全意義的隨機化神經網絡,但正開始對組件搜索空間一步一步的進行深入的探索。

在這些約束條件下,各種經典的隨機模型圖被用來生成網絡的隨機連接。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析


隨機網絡打開了深度學習探索的大門

本研究的意義在於其探索性思想:拓展NAS算法的搜索空間,尋找新的、更好的網絡設計。雖然研究人員已經發現了一些很棒的設計,但是以手動嘗試的方式遍歷整個搜索空間實際上是不可行的。

這也擴展到了另一觀點:如果我們要擴展搜索空間,我們需要一種擅長搜索的算法(在本例中用的是網絡生成器),。這種算法必須知道要尋找什麼,或者至少類似梯度下降優化算法有著通過設計向優化方向靠攏的趨勢。

架構搜索是深度學習研究的下一個前沿領域。它使我們可以使用算法來發現最優的網絡架構,而不是反覆進行試驗。

目前,在搜索其他組件(在本例中是“連接方式”)時修復一些網絡組件已經成為可能。這將問題簡化為更容易處理的小問題。由於這是我們發現新穎架構的唯一方法,NAS算法應該具備一定程度的隨機性。

下一步是進一步擴展搜索空間和增情搜索算法的隨機性。這意味著隨機搜索思想將擴展到網絡中越來越多的組件上,直到全部網絡組件均可以被算法自動設計好為止。

當實現完全意義的NAS時會發生什麼?它會選擇像2x4這樣的非平方卷積嗎?它會使用反饋循環嗎?網絡變得更簡單還是更復雜?

神經架構搜索是一個令人興奮的新興研究領域。希望搜索算法變得更加具有隨機性從而實現利用隨機化的方式發現創造性的、以前從未想到過的架構。


作者 | 灰灰 - 知乎

版權聲明

本文版權歸《灰灰》,轉載請自行聯繫

"
關注微信公眾號:人工智能前沿講習,
重磅乾貨,第一時間送達

雖然,深度學習在近幾年發展迅速。但是,關於如何才能設計出最優的卷積神經網絡架構這個問題仍在處於探索階段。

其中一大部分原因是因為當前那些取得成功的神經網絡的架構設計原理仍然是一個黑盒。雖然我們有著關於改進神經網絡表現的豐富心得,但其實並沒有真正瞭解神經網絡是如何達到當前這麼優秀的表現。


關於CNNs的一些線索

我們從如下幾點開始剖析。近期研究提供了一些具體地證據證明這幾點確實可以用來提升CNN的表現:

  • 增加圖像分辨率
  • 增加網絡深度
  • 增加網絡寬度
  • 增加跳過連接(密集塊或殘差塊)

經驗表明,以上幾種方式是使得CNN之所以取得最優結果的關鍵。增加圖像的分辨率可以“餵養”網絡更多的信息去學習;增加網絡寬度與深度使網絡學習到更多的參數。另外,增加“跳過連接”可以增加網絡的複雜性,從而增強網絡的表徵能力。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析


神經架構搜索

NAS是一種尋找最優神經網絡架構的算法。絕大多數NAS算法工作原理類似。

首先,定義一組適用於我們網絡的“構建塊”。然後,嘗試以不同的方式組合這些“構建塊”進行訓練。通過這種試錯方式,NAS算法最終能夠確定哪一種“構建塊”與哪一種網絡配置可以得到最優結果。

事實證明,這種方法行得通且可以找到最優的預測效果。如NASNet的論文中所示,可以組合出一些奇怪的結構。如下:

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

這也正是NAS的偉大之處之一,可以讓我們發現一些之前還未探索過的網絡結構。

然而,它也有自己的侷限性。由於其從一組固定的“構建塊”開始採樣和進行組合,所以我們將不能通過此算法發現新的構建塊。跳過連接也是如此,NASNet只允許含有一次下采樣的跳過連接,但其他類型的連接也同樣值得嘗試。

Facebook的人工智能研究團隊通過“隨機連接神經網絡(randomly wired neural networks)”對NAS進行新的嘗試。它們的動機是:如果“架構搜索”在固定的塊和連接上表現得很好,那麼在更大的搜索空間下(例如:隨機連接)將會產生一些更優的配置。


隨機連接神經網絡

由於論文作者想要專門研究神經網絡的連接方式,所以他們對網絡結構做了如下限制:

  • 網絡輸入尺寸為224x224
  • 網絡塊始終為ReLU-Conv-BatchNorm三項組形式。且三項組中的卷積都是參考自Xception結構中使用的3x3可分離卷積。
  • 多組張量的聚合(例如當跳過連接與原連接進行聚合時)均以加權和的方式進行聚合。這些權重具有可學習性與可持續更新性。
  • 網絡組成總是保持一致。一般的CNN結構是由多個卷積塊組成,然後通過多次向下採樣,直到最終的softmax分類層。這也已經成為網絡設計的標準。在這些研究實驗中均採用了這種範式。
怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

ImageNet競賽的標準輸入尺寸為224x224--ImageNet數據集被用來作為一個基線數據集來檢驗“手工網絡”(NAS算法生成的網絡架構)的性能。ReLU-Conv-BatchNorm三項組塊也很常見,而且已經被廣泛證明成為了可以為深度卷積神經網絡帶來最優的效果。

張量聚合的方式不止一種,很多優異的網絡在沒有進行加權的情況下直接進行求和或連結--但不會對性能造成較大的影響。上述表格中描述的這些過去常用的網絡結構同樣也用在了ResNets,DenseNets和NASNets中。

注意,這並不是一個完全的隨機神經網絡。它並不是完全從零開始隨機化。而是在其他組件保持不變的情況下,針對CNN設計過程中一個被稱為“連接(wiring)”的單一組件進行探索。

作者試圖讓讀者明白的一個重要觀點--他們還沒有實現完全意義的隨機化神經網絡,但正開始對組件搜索空間一步一步的進行深入的探索。

在這些約束條件下,各種經典的隨機模型圖被用來生成網絡的隨機連接。

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析


隨機網絡打開了深度學習探索的大門

本研究的意義在於其探索性思想:拓展NAS算法的搜索空間,尋找新的、更好的網絡設計。雖然研究人員已經發現了一些很棒的設計,但是以手動嘗試的方式遍歷整個搜索空間實際上是不可行的。

這也擴展到了另一觀點:如果我們要擴展搜索空間,我們需要一種擅長搜索的算法(在本例中用的是網絡生成器),。這種算法必須知道要尋找什麼,或者至少類似梯度下降優化算法有著通過設計向優化方向靠攏的趨勢。

架構搜索是深度學習研究的下一個前沿領域。它使我們可以使用算法來發現最優的網絡架構,而不是反覆進行試驗。

目前,在搜索其他組件(在本例中是“連接方式”)時修復一些網絡組件已經成為可能。這將問題簡化為更容易處理的小問題。由於這是我們發現新穎架構的唯一方法,NAS算法應該具備一定程度的隨機性。

下一步是進一步擴展搜索空間和增情搜索算法的隨機性。這意味著隨機搜索思想將擴展到網絡中越來越多的組件上,直到全部網絡組件均可以被算法自動設計好為止。

當實現完全意義的NAS時會發生什麼?它會選擇像2x4這樣的非平方卷積嗎?它會使用反饋循環嗎?網絡變得更簡單還是更復雜?

神經架構搜索是一個令人興奮的新興研究領域。希望搜索算法變得更加具有隨機性從而實現利用隨機化的方式發現創造性的、以前從未想到過的架構。


作者 | 灰灰 - 知乎

版權聲明

本文版權歸《灰灰》,轉載請自行聯繫

怎樣設計最優的卷積神經網絡架構?| NAS原理剖析

點擊下方“瞭解更多”,瞭解CCAI 2019大會信息

"

相關推薦

推薦中...