DNN结构构建:NAS网络结构搜索和强化学习、迁移学习
前言
??????? 谷歌推出的NASNet架構,用于大規模圖像分類和識別。NASNet架構特點是由兩個AutoML設計的Layer組成——Normal Layer and Reduction Layer,這樣的效果是不再需要相關專家用human knowledge來搭建卷積網絡架構,直接用RNN把Hyperparameter計算出來,這樣就實現了網絡結構自動學習。
??????? 論文:Learning Transferable Architectures for Scalable Image Recognition
?????
強化學習
?????? 論文:《Neural ,Architecture Search with Reinforcement Learning》。 網站鏈接(開源代碼): https:// github .com / tensorflow /models
??????? 論文中的核心是:利用Reinforcement Learning(強化學習)機制訓練一個RNN(循環神經網路)controller(控制器)去自動產生一個神經網絡,無需人為手動設計網絡,設計出的網絡在相關有權威的數據集上都取得了很好的成績。看完論文后發現沒有硬件資源根本是無法使得訓練跑起來的,有錢就是任性,論文用了800個GPU跑起來的。
??????? RNN在處理變長問題和生成變長式問題時得到廣泛應用,RNN通過循環單元可以展開為一個多長度概率模型,把變長問題使用一個概率框架來表示。在進行模型生成時,可以使用同樣的方法進行模型長度枚舉和選擇優化,生成變長模型或者可變模型。
??????? 關于RNN模型:DNN結構進化之RNN,DNN結構進化之LSTM,DNN結構進化之NTM/DNC。用于處理變長問題,發展出RNN;用以解決RNN梯度消失問題,發展出LSTM;NTM模型抽象LSTM的cell內存,模型可以直接訓練簡短的生成模式,比如copy、循環、排序、NGM文法描述等簡單內存操作模式。? ??
??????? 強化學習用于結構搜索:controller控制器給出個action,action去環境中做出動作并得到一個結果result,最后將result作為反饋信號反饋給controller控制器,controller控制器根據反饋值進行修改,然后一直迭代這個過程直到到達目標。
??????
?????? 論文的思想是:通過一個controllerRNN在搜索空間(search space)中得到一個網絡結構(論文中稱為child network),然后用這個網絡結構在數據集上訓練,在驗證集上測試得到準確率R,再將這個準確率回傳給controller,controller繼續優化得到另一個網絡結構,如此反復進行直到得到最佳的結果,整個過程稱為Neural Architecture Search。后面講詳細介紹整個流程,本總結主要是圍繞生成CNN來介紹,論文中也可以生成RNN)。
模型生成過程
?????? 以卷積層的生成為例,使用RNN結構作為控制器用于生成conv層的超參數-conv個數、filter的高和寬、stride的高和寬等。下圖為RNN的展開式結構,真正的RNN結構為一個recurrent單元。
?????
????? 控制一個RNN網絡的unit的參數值,根據RNN生成變長串的一般法則,可以生成一個對應 結構的CNN網絡描述。當然這個結構描述是變長的,長度和結構由RNN的參數決定,這樣在一個可變CNN網絡結構和RNN參數之間建立起一個函數映射。
????? 根據論文的描述,使用所謂的anchor方法,一個RNN網絡綜合Conv層、Pooling層、SoftMax等多個RNN單元,綜合為一個大的RNN網絡,作為控制器。
反饋學習-訓練RNN
?????? 文章描述聯合RNN的優化方法和CNN的評價方法,使用CNN在測試集合上的表現作為CNN的評價,并把CNN的評價反傳給RNN,用以訓練RNN的結構和參數。
?????? 從整個過程可以看出,用以生成CNN的RNN結構的訓練涉及到兩部分,相對于一般使用數據直接訓練RNN,多了一個CNN的自動生成,優化和測試,優化函數轉化過程,直覺上需要極大的運算量,比訓練通常RNN運算復雜度多幾個數量級。
??
論文描述細節
????? Training details: The controller RNN is a two-layer LSTM with 35 hidden units on each layer.I t is trained with the ADAM optimizer (Kingma & Ba, 2015) with a learning rate of 0.0006. Theweights of the controller are initialized uniformly between -0.08 and 0.08.
????? For the distributed training ,we set the number of parameter server shards S to 20, the num be r of controller replicas K to100 and the number of child replicas m to 8, which means there are 800 networks being trained on 800 GPUs concurrently at any time.
生成模型用于遷移學習
?????? 遷移學習即是把一個領域的框架復用到另一個領域,兩種應用領域具有特定的結構相似性,模型復用之時可以稍作修改或者稍加訓練即可使用。
???? ?
??? ?? Training deta.............................
總結
以上是生活随笔為你收集整理的DNN结构构建:NAS网络结构搜索和强化学习、迁移学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人工机器:基于视觉的机械手控制
- 下一篇: 韩剧TV和韩剧TV极速版(最新高清韩剧免