1. 程式人生 > >Evolution of Image Classifiers,進化演算法在神經網路結構搜尋的首次嘗試 | ICML 2017

Evolution of Image Classifiers,進化演算法在神經網路結構搜尋的首次嘗試 | ICML 2017

論文提出使用進化演算法來進行神經網路結構搜尋,整體搜尋邏輯十分簡單,結合權重繼承,搜尋速度很快,從實驗結果來看,搜尋的網路準確率挺不錯的。由於論文是個比較早期的想法,所以可以有很大的改進空間,後面的很大演算法也是基於這種想法進行更好的補充

來源:曉飛的演算法工程筆記 公眾號

論文: Large-Scale Evolution of Image Classifiers

  • 論文地址:https://arxiv.org/abs/1703.01041

Introduction


  論文對當前的進化演算法進行少量地改造,結合前所未有的算力進行神經網路結構搜尋,在CIFAR-10上達到了很不錯的準確率。論文十分注重搜尋演算法的簡單性,從效能很差的無卷積模型開始,進化演算法需要在一個幾乎不受約束的搜尋空間中進化成複雜的卷積網路

Methods


Evolutionary Algorithm

  基於錦標賽選擇(tournament selection)進行進化演算法,定義如下概念:

  • 種群(population),模型集合
  • 個體(individual),訓練完的單個模型
  • 適應值(fitness),模型在測試集上的準確率
  • 工作者(worker),每次從種群中選取兩個個體進行適應值計算
  • 消滅(killed),將worker挑選的個體中,適應值低的去掉
  • 繁殖(reproduction),將worker挑選的個體中,適應值高的作為父代(parent),拷貝並進行變異(mutation)得到子代(child),將子代放回種群中(alive)

  為了加速計算,使用massively-parallel, lock-free的平行計算,許多worker在不同電腦上進行獨立的非同步操作,僅使用共享檔案系統來保證種群內容一致,每個個體為一個資料夾。種群數量為1000,worker一般為種群數量的$\frac{1}{4}$

Encoding and Mutations

  網路結構表示為圖(DNA),節點表示3維tensor或啟用方法,tensor的3維分別表示圖片的空間座標以及channel數,啟用方法作用與節點上,可以為BN+RELU或無啟用,邊表示identity connections或卷積(包含可變異引數)。當節點連線多條邊時,將其中一條非identity connection的邊作為主邊,對其它邊進行畫素的最近鄰差值以及維度的裁剪和填充,最後進行element-wise sum。在每次繁衍過程中,隨機選取以下一種變異方式:

  • 調整學習率
  • 不變
  • 重置權重,子代重新訓練
  • 隨機位置插入卷積層
  • 刪除卷積層
  • 修改stride,2的倍數
  • 修改channel數,修改範圍為原值的一半至兩倍
  • 卷積核大小,奇數
  • 新增skip connection
  • 刪除skip connection

Initial Conditions

  種群的初始化為僅包含global average pool的簡單個體,學習率為0.1

Training and Validation

  在CIFAR-10上進行4萬5張圖的訓練和5千張圖的測試,共訓練25600輪,batch size為50

Computation cost

  每個進行訓練的模型,記錄其單batch訓練的計算量$F_t$FLOPs和驗證的計算量$F_v$FLOPs,乘以batch數得到最終的計算量為$F_tN_t+F_vN_v$,

Weight Inheritance

  由於模型完整的訓練需要更多的迭代次數,這十分耗費時間,為了解決這一問題,允許子代預設繼承父代的權重,如果層有相同的shape,則繼承,但如果是重置權重突變,則全部不繼承

Reporting Methodology

  為了防止過擬合,訓練集和測試集不能有交集,準確率表現最好的模型稱為“the best model”

Experiments and Results


  從實驗來看,論文提出的搜尋方法比目前的同體積的網路效能要高,但比SOTA略差一點,整體搜尋時間很快。對於兩個超引數,種群大小和迭代次數,則是越大越好,太小容易陷入區域性最優

CONCLUSION


  論文提出使用進化演算法來進行神經網路結構搜尋,整體搜尋邏輯十分簡單,結合權重繼承,搜尋速度很快,從實驗結果來看,搜尋的網路準確率挺不錯的。由於論文是個比較早期的想法,所以可以有很大的改進空間,後面的很大演算法也是基於這種想法進行更好的補充,所以這篇論文也是值得一讀的



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的演算法工程筆記】

相關推薦

Evolution of Image Classifiers進化演算法神經網路結構搜尋首次嘗試 | ICML 2017

論文提出使用進化演算法來進行神經網路結構搜尋,整體搜尋邏輯十分簡單,結合權重繼承,搜尋速度很快,從實驗結果來看,搜尋的網路準確率挺不錯的。由於論文是個比較早期的想法,所以可以有很大的改進空間,後面的很大演算法也是基於這種想法進行更好的補充   來源:曉飛的演算法工程筆記 公眾號 論文: Large-Sca

Large-Scale Evolution of Image Classifiers

Neural networks have proven effective at solving difficult problems but designing their architectures can be challenging, even for image cla

大規模影象分類器的演化-Large-Scale Evolution of Image Classifiers-讀後雜談

答辯完也畢業了,簽證正在辦理之中,基本也不去學校了,這連續好幾天都是早上起的晚隨便吃點,下午5點左右準時開始給老婆做飯,吃了飯主動洗涮,老婆需要散步就陪著一會。好了不說這些了,說一下我最近閱讀的這篇文章吧,deepmind團隊的文章,文章標題已經是Large-S

CARS: 華為提出基於進化演算法和權值共享的神經網路結構搜尋CIFAR-10上僅需單卡半天 | CVPR 2020

為了優化進化演算法在神經網路結構搜尋時候選網路訓練過長的問題,參考ENAS和NSGA-III,論文提出連續進化結構搜尋方法(continuous evolution architecture search, CARS),最大化利用學習到的知識,如上一輪進化的結構和引數。首先構造用於引數共享的超網,從超網中產

煉丹術的終結——神經網路結構搜尋之一

深度學習在2010年燃起來以後,較大的革新集中出現在網路結構上。例如,在影象領域,出現了AlexNet, VGG, GoogNet, Inception系列,Res-Net,DenseNet和MobileNet等不同的卷積神經網路;在文字處理領域,出現了RNN,

EAS:基於網路轉換的神經網路結構搜尋 | AAAI 2018

> 論文提出經濟實惠且高效的神經網路結構搜尋演算法EAS,使用RL agent作為meta-controller,學習通過網路變換進行結構空間探索。從指定的網路開始,通過function-preserving transformation不斷重用其權重,EAS能夠重用之前學習到的知識進行高效地探索新的結

AlphaGo論文的譯文用深度神經網路和樹搜尋征服圍棋:Mastering the game of Go with deep neural networks and tree search

前言: 圍棋的英文是 the game of Go,標題翻譯為:《用深度神經網路和樹搜尋征服圍棋》。譯者簡介:大三,211,電腦科學與技術專業,平均分92分,專業第一。為了更好地翻譯此文,譯者查看了很多資料。譯者翻譯此論文已盡全力,不足之處希望讀者指出

BP神經網路java實現按照演算法步驟也參考網上相關資源寫的若君有高見非常歡迎指教

for(int i=0;i<hidN;i++){for(int j=0;j<=inN;j++){wyh[i][j]=Math.random()-0.5;//初始化權值和閾值//System.out.println(wyh[i][j]);}}//System.out.println();wyo=ne

前饋神經網路BP演算法

單層感知機輸入層——>輸出層啟用函式在輸出層,常見啟用函式Logistic、softmax函式多層感知機(MLP)輸入層——>隱藏層——>輸出層啟用函式在隱藏層,線性變換預啟用+非線性啟用函式,資料分佈“線性可分”隱藏層所含神經元越多,可提取特徵越多常用啟用

差分進化演算法(Differential Evolution

差分進化演算法(Differential Evolution,DE)和GA,PSO,ACO等進化演算法一樣,都是基於群體智慧的隨機並行優化演算法,通過模仿生物群體內個體間的合作與競爭產生的啟發式群體智慧來指導優化搜尋。 運算元課上我講的PPT,主題是查分演化計

AmoebaNet:經費在燃燒谷歌提出基於aging evolution神經網路搜尋 | AAAI 2019

> 論文提出aging evolution,一個錦標賽選擇的變種來優化進化演算法,在NASNet搜尋空間上,對比強化學習和隨機搜尋,該演算法足夠簡潔,而且能夠更快地搜尋到更高質量的模型,論文搜尋出的AmoebaNet-A在ImageNet上能達到SOTA   來源:【曉飛的演算法工程筆記】 公眾號

#DIP##OpenCV#Some Kinds Of Image Smoothing Methodologies

this eve .com logs pos http dst inpu resp In digital image processing(DIP), many methods are used in smoothing images in order to suppres

利用RMAN IMAGE COPY啟動新的數據庫

reg ive seq med 啟動數據庫 input 對象 ack tar 通過IMAGE COPY技術,可以得到一個數據庫的完整副本,快速打開數據庫,避免數據庫還原和恢復的漫長時間。下面是利用IMAGE COPY進行一個數據庫完整恢復的案例。由於該測試是在同一臺

UPenn - Robotics 4:Perception - week 1:Geometry of Image Formation

圖片 分享 eth other pro nbsp kinect oba cap

Bag of Features (BOF)影象檢索演算法

1.首先,我們用surf演算法生成影象庫中每幅圖的特徵點及描述符。 2.再用k-means演算法對影象庫中的特徵點進行訓練,生成類心。 3.生成每幅影象的BOF,具體方法為:判斷影象的每個特徵點與哪個類心最近,最近則放入該類心,最後將生成一列頻數表,即初步的無權BOF。 4.通過

已知長度為n的線性表A採用順序儲存結構請寫一個時間複雜度為O(n)、空間複雜度為O(1)的演算法演算法可刪除線性表中所有值為item的資料元素。

語言:C++ #include <iostream> using namespace std; typedef int ElemType; //定義 #define MAXSIZE 100 typedef struct {ElemType *elem; int length;}Sq

設計一個演算法將連結串列中所有結點的連結串列方向“原地”逆轉即要求僅利用原表的儲存空間換句話說要求演算法的空間複雜度為O(1)。

語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li

【HDU - 3068】最長迴文(Manacher演算法馬拉車演算法求最長迴文子串)

題幹: 給出一個只由小寫英文字元a,b,c...y,z組成的字串S,求S中最長迴文串的長度.  迴文就是正反讀都是一樣的字串,如aba, abba等 Input 輸入有多組case,不超過120組,每組輸入為一行小寫英文字元a,b,c...y,z組成的字串S  兩

動態規劃之鋼條切割問題演算法導論》15.1

動態規劃(dynamic programming),是一種解決問題的方法,它的思路是將大問題分解為子問題,然後合併子問題的解。與分治法將問題分解為彼此獨立的子問題不同,動態規劃應用於子問題相互重疊的情況。為了避免這些重疊部分(即子子問題)被重複計算,動態規劃演算法對每個子子問題只計算一次,並記錄在一個表

基於分解的多目標進化演算法(MOEA/D)

目錄 1、MOEA/D的特點 2、 MOEA/D的分解策略 3、MOEA/D的流程 基於分解的多目標進化演算法(Multi-objectiveEvolutionary Algorithm Based on Decomposition, MOEA/D)將多目標優化問題被轉