最簡單的基於遺傳算法的Neural Architecture Search(NAS)代碼

https://github.com/joeddav/devol

基於遺傳算法,對於任意一個神經網絡搜索任務,只要能把能夠代表搜索空間中所有神經網絡的染色體序列(即super graph)給寫出來,就能基於這個代碼來延申到自己想要構造的神經網絡。

Deep Neural Network Evolution的代碼理解;通過代碼理解該遺傳算法比較簡單,網絡結構基本固定,先是卷積再全連接(整體順序固定),只不過卷積的次數或全連接的次數會變化,卷積層和全連接層後會隨機消除或增加batchnorm,dropout,max pooling;其他的常規操作就是換換激活函數,卷積核數目,優化器;有兩步變異的步驟,第一步是取最好的5%的網絡,剩餘的95%由把任意兩個網絡隨機拼接在一起得到第二步是再把第一步所有的網絡再做隨機網絡層數目的網絡層基本變化(第二步感覺還是有點缺陷,因爲經過第二步變異後,第一步中的原始最好的5%的網絡可能會變差);
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章