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