0
本文作者: 夏睿 | 2017-03-07 20:52 |
雷鋒網(wǎng)按:陽春三月,遼闊的南美洲大草原上,兩只體格強(qiáng)健的雄性美洲豹正在為爭(zhēng)奪一只擁有美麗花紋的雌豹,進(jìn)行著一場(chǎng)血腥而又激烈的較量。它們心里很清楚,成者為王,敗則寇,只有贏得這場(chǎng)戰(zhàn)斗,才有機(jī)會(huì)把自己的基因保留下來流傳給后代。
這個(gè)方法殘酷,但有效。在生物學(xué)中,人們將它稱之為:進(jìn)化論。
而當(dāng)研究機(jī)器學(xué)習(xí)的科學(xué)家遇到生物學(xué)中的進(jìn)化論,會(huì)有什么新的靈感產(chǎn)生?
答案是:進(jìn)化算法。
近日,來自谷歌的研究人員Esteban Real和Sherry Moore等人就用進(jìn)化算法為數(shù)據(jù)集CIFAR-10和CIFAR-100自動(dòng)尋找神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)證明,該方法有效提高了匹配合適神經(jīng)網(wǎng)絡(luò)的效率和精確度。
上周,研究人員把實(shí)驗(yàn)的論文成果《Large-Scale Evolution of Image Classifiers》發(fā)布在了arXiv上,他們?cè)谡撐闹斜硎?,在CIFAR-10的典型實(shí)驗(yàn)結(jié)果中,其準(zhǔn)確度的期望值達(dá)到94.1%,標(biāo)準(zhǔn)差達(dá)到0.4%,其中最高精確度可達(dá)94.6%;而對(duì)CIFAR-100的單次實(shí)驗(yàn)精確度可達(dá)76.3%。
該算法可以為兩個(gè)常見、但相當(dāng)有難度的圖像分類基準(zhǔn)器(image classification benchmarks;)構(gòu)建大型、精確的神經(jīng)網(wǎng)絡(luò);而且此實(shí)驗(yàn)數(shù)據(jù)高于目前我們所知道的其他所有研究成果。
目前,該神經(jīng)網(wǎng)絡(luò)的工作效果完全可以和人類手工構(gòu)建的神經(jīng)網(wǎng)絡(luò)相媲美。
為了達(dá)到自動(dòng)尋找高性能的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的目的,研究人員需要進(jìn)化一個(gè)模型簇(population)。
每一個(gè)模型,也就是個(gè)體(individual),都是一個(gè)訓(xùn)練過的結(jié)構(gòu)。模型在單個(gè)校驗(yàn)數(shù)據(jù)集(validation dataset)上的準(zhǔn)確度就是度量個(gè)體質(zhì)量或適應(yīng)性的指標(biāo)。雷鋒網(wǎng)從論文中總結(jié)出,每個(gè)進(jìn)化過程都會(huì)經(jīng)歷一下幾個(gè)步驟:
會(huì)有一個(gè)計(jì)算機(jī),也就是工作者(worker),隨機(jī)從模型簇中選出兩個(gè)模型;
工作者比較兩者孰優(yōu)孰劣,根據(jù)優(yōu)勝劣汰對(duì)模型進(jìn)行識(shí)別;
不合適的模型會(huì)立刻從模型簇中被剔除,即代表該模型在此次進(jìn)化中的消亡;
而更優(yōu)的模型則成為母體(parent),進(jìn)行繁殖;
通過這一過程,工作者實(shí)際上是創(chuàng)造了一個(gè)母體的副本,并讓該副本隨機(jī)發(fā)生變異,據(jù)此變異修改母本(這一點(diǎn)下面會(huì)講到)。研究人員把這一修改過的副本稱為子代(child);
子代創(chuàng)造出來后,就要接受工作者的訓(xùn)練,并在校驗(yàn)集上對(duì)它進(jìn)行評(píng)估;
完成之后,把子代放回到模型簇中。此時(shí),該子代則成為母體繼續(xù)進(jìn)行上述幾個(gè)步的進(jìn)化。
簡(jiǎn)言之,該進(jìn)化算法就是在隨機(jī)選出的兩個(gè)個(gè)體中擇其優(yōu),因此該方法也屬于聯(lián)賽選擇算法(tournament selection)的一種。
另外,如無其他說明,模型簇一般能容納1000個(gè)個(gè)體,工作者的數(shù)量一般是個(gè)體數(shù)量的1/4,而消亡個(gè)體的目錄會(huì)被刪除,以保證整個(gè)算法能長(zhǎng)時(shí)間在有限空間中運(yùn)行。
由于子代相較于母體而言發(fā)生了變異,因此兩者不是完全相同的。在每一代繁殖過程中,工作者都會(huì)從預(yù)先準(zhǔn)備好的變異集合中隨機(jī)選取變異。
可選的變異共有11中,以下為部分變異類型:
ALTER-LEARNING-RATE(抽樣詳情見下文)。
IDENTITY(意思是“繼續(xù)培訓(xùn)”)。
RESET-WEIGHTS重置權(quán)重
INSERT-CONVOLUTION(在“卷積主干”隨機(jī)插入卷積)
REMOVE-CONVOLUTION(移除卷積)
研究人員在論文中強(qiáng)調(diào),實(shí)驗(yàn)的初始條件一定要非常簡(jiǎn)單。
個(gè)體一開始都只是基本的線性回歸模型,不包含卷積,并且其學(xué)習(xí)速率僅為0.1。設(shè)置這樣的條件就是為了保證進(jìn)化能完全靠自己找到最合適的那個(gè)神經(jīng)模型。
事實(shí)上,很早以前就已經(jīng)有科學(xué)家用神經(jīng)發(fā)現(xiàn)法(neuro-discovery,神經(jīng)進(jìn)化的一種)自動(dòng)匹配神經(jīng)網(wǎng)絡(luò)了(雷鋒網(wǎng)注:參見Miller等人于1989年發(fā)表的論文《Designing neural networks using genetic algorithms》)。雖然神經(jīng)發(fā)現(xiàn)法的實(shí)驗(yàn)結(jié)果表現(xiàn)出很大的發(fā)展空間,但由于這一過程通常會(huì)涉及到大量的計(jì)算,因此,在當(dāng)時(shí)的條件下,該方法在匹配精確度上仍無法和人工設(shè)計(jì)的模型相提并論。
而Esteban Real和他的團(tuán)隊(duì)則解決了這一問題。他們的解決辦法是:
開發(fā)一種大規(guī)模并行且無鎖的基礎(chǔ)結(jié)構(gòu),使工作者們?cè)诓煌碾娔X上能夠異步運(yùn)行。它們不會(huì)直接與對(duì)方通信,而是共用一個(gè)存有模型簇的共享文檔系統(tǒng)。
文檔系統(tǒng)中的目錄代表個(gè)體;對(duì)每個(gè)個(gè)體所進(jìn)行的操作,如使之從模型簇中消亡,則表示為目錄中的原子重命名(atomic rename)。
但如果遇到一個(gè)工作者去修改另一個(gè)正在被其他工作者操作著的個(gè)體的情況,該怎么解決呢?
研究人員在論文中表示,在這種情況下,受到影響的工作者會(huì)放棄操作,尋找其他個(gè)體。
附論文地址:https://arxiv.org/pdf/1703.01041.pdf
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。