戚驍亞,劉創(chuàng),富宸,甘中學(xué)
(1. 北京深度奇點科技有限公司,北京100086;2. 復(fù)旦大學(xué)智能機(jī)器人研究院,上海 200433)
群體智能(CI)的概念源自1785年Condorcet的陪審團(tuán)定理:如果投票組的每個成員有超過一半的機(jī)會做出正確的決定,則組中多數(shù)決定的準(zhǔn)確性隨著組成員數(shù)目的增加而增加[1]。在20世紀(jì)下葉,CI被應(yīng)用到機(jī)器學(xué)習(xí)領(lǐng)域[2],并對如何設(shè)計智能體的集合以滿足全系統(tǒng)的目標(biāo)進(jìn)行了更廣泛的考慮[3,4]。這與單智能體的獎勵成形有關(guān)[5],并在博弈論界和工程界得到了眾多研究者的關(guān)注[6]。然而,CI算法,如眾所周知的蟻群算法(ACO),關(guān)注如何使群體智能涌現(xiàn)并超越個體智能,缺乏進(jìn)化個體智能的機(jī)制,因此在沒有重大擴(kuò)展的情況下不能成為自我進(jìn)化的人工通用智能(AGI)體。
AGI的一個長期目標(biāo)是創(chuàng)建能夠從第一原理進(jìn)行自我學(xué)習(xí)的程序[7]。最近,AlphaZero算法通過使用深度卷積神經(jīng)網(wǎng)絡(luò)和自我對弈游戲中的強化學(xué)習(xí),在圍棋、國際象棋和將棋游戲中達(dá)到超人的性能。然而,AlphaZero如此成功的原因還沒有被完全理解。通過分析和試驗AlphaZero可以感覺到群智智能的邏輯思維暗含在算法當(dāng)中。
本文從CI的發(fā)展和邏輯思路出發(fā),將AlphaZero算法應(yīng)用到五子棋的博弈中,展現(xiàn)了深度神經(jīng)網(wǎng)絡(luò)的進(jìn)化能力;然后,又將蒙特卡洛樹搜索(MCTS)與ACO進(jìn)行比較,識別出MCTS是一種CI算法。最后,在深入分析和系統(tǒng)綜合的基礎(chǔ)上,筆者提出了CI進(jìn)化理論,將其作為走向AGI的通用框架,并將其應(yīng)用于智能機(jī)器人的應(yīng)用。
近年來,CI被廣泛應(yīng)用于各種工作中,如項目中的人員協(xié)作、公司董事會的投資決策、總統(tǒng)選舉投票等。看起來一個群體做事比個體更聰明。然而,Bon在他的著名著作《烏合之眾》中指出,群體行為可能是極端的[8]。在這個意義上,CI不能通過個人的簡單組合來實現(xiàn),而應(yīng)該首先理解CI的特征,以更好地利用它來實現(xiàn)我們的目標(biāo)。
在社會學(xué)領(lǐng)域,麻省理工學(xué)院群智中心的一組研究者將需要的工作分為四個組成部分,即執(zhí)行者、動機(jī)、目標(biāo)和實現(xiàn)方式,并在此基礎(chǔ)上提出“群智基因組”[9]。以谷歌和維基百科為例,分別對這些組織的基因進(jìn)行分析,并提出“CI基因”有用的條件。此外,他們的同事在兩個不同的實驗中系統(tǒng)地研究了團(tuán)隊的表現(xiàn),并得出了衡量一個團(tuán)隊的一般能力的“C因子”[10]。這個“C因子”與群體成員的平均社會敏感度、話語權(quán)力的平等性以及女性在群體中的比例相關(guān)??梢灶A(yù)見的是,通過重組“CI基因”,并根據(jù)任務(wù)的“C因子”,人們可以得到一個他需要的強大系統(tǒng)。
在這些CI社會學(xué)理論的基礎(chǔ)上,人們可以在群體力量的幫助下更好地解決問題,尤其是在計算機(jī)科學(xué)中。1991年,Colorni等人[11]研究螞蟻的食物搜索行為,并提出蟻群算法[12~14]。該算法的基本思想是基于信息素選擇下一個節(jié)點,直到達(dá)到適當(dāng)?shù)慕鉀Q方案。在蟻群算法中,信息素信息分布的更新過程是基于當(dāng)前迭代中的所有搜索行程,可以理解為螞蟻的CI的涌現(xiàn)。在這個意義上,ACO算法成功地應(yīng)用于多個問題,如旅行商問題(TSP)[15,16]、數(shù)據(jù)挖掘和比例-積分-微分(PID)控制參數(shù)的優(yōu)化。此外,科學(xué)家還提出了一些有效的CI算法,如粒子群優(yōu)化算法(PSO)[17],它模擬了鳥類的覓食。
除了在這些優(yōu)化問題中使用了CI,從群體中學(xué)習(xí)可能是解決現(xiàn)實世界中大數(shù)據(jù)背景下機(jī)器學(xué)習(xí)應(yīng)用挑戰(zhàn)的一種方式。例如,用于監(jiān)督學(xué)習(xí)的標(biāo)簽對于許多應(yīng)用來說可能太昂貴甚至不可能獲得[18]。因此,研究者們開發(fā)了CI學(xué)習(xí)技術(shù)[19~22]來克服這一困難。在下一節(jié)中,將看到CI處理大量棋類游戲標(biāo)簽的能力。在本文中,筆者嘗試用CI進(jìn)化理論解決工業(yè)中的問題,比如智能機(jī)器人的應(yīng)用,并取得了初步的驗證效果。筆者的工作有可能促進(jìn)計算機(jī)科學(xué)領(lǐng)域?qū)I的研究,也為CI與深度學(xué)習(xí)和強化學(xué)習(xí)的結(jié)合鋪平道路。
在這一節(jié)中,將回顧AlphaZero中的理論,也涉及它之前的版本AlphaGo Fan [23],AlphaGo Lee [24],AlphaGo Master [24]和 AlphaGo Zero [24]。然后將從CI的角度分析這些理論。這些理論分為兩部分:①用深度神經(jīng)網(wǎng)絡(luò)代表個體;②通過強化學(xué)習(xí)使個體進(jìn)化。注意筆者會將MCTS的細(xì)節(jié)留到下一節(jié)來做重點分析,因為CI是在MCTS中涌現(xiàn)的。最后將應(yīng)用AlphaZero到一種新的游戲,即五子棋,來展現(xiàn)AlphaZero的群智算法的邏輯。
從實際對弈的角度來看,AlphaZero使用MCTS算法進(jìn)行搜索尋找最佳落子。由于搜索時間有限,不可能窮盡所有的可能落子,所以使用了策略網(wǎng)絡(luò)來減小搜索寬度,使用了價值網(wǎng)絡(luò)來減小搜索深度。策略網(wǎng)絡(luò)作為采樣的先驗概率,以更大的概率去搜索那些可能贏棋的落子。價值網(wǎng)絡(luò)作為狀態(tài)的評價函數(shù),不需要模擬到棋局結(jié)束便可給出勝負(fù)的預(yù)測。
從訓(xùn)練的角度來看,策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò)是用強化學(xué)習(xí)的策略迭代算法訓(xùn)練出來的。MCTS相當(dāng)于是策略提高算子,因為搜索概率比策略網(wǎng)絡(luò)的概率要好,用搜索概率作為標(biāo)簽來訓(xùn)練策略網(wǎng)絡(luò)?;贛CTS的自我對弈相當(dāng)于是策略評價算子,這里的策略指的是MCTS的搜索概率,因為評價的是使用搜索概率下棋的勝負(fù),這個勝負(fù)作為標(biāo)簽訓(xùn)練價值網(wǎng)絡(luò)。下面將換一個角度,從CI的角度來重新分析AlphaZero。
個體的表達(dá)能力限制了它們的智能程度。如果個體的表達(dá)能力較低,即使CI涌現(xiàn)出來,CI也不能被個體繼承。在AlphaZero中,個體是通過深度神經(jīng)網(wǎng)絡(luò)來代表,就是為了提高個體的表達(dá)能力。
在AlphaGo中,給定當(dāng)前棋盤狀態(tài),策略網(wǎng)絡(luò)用來提供下一步落子的概率分布,價值網(wǎng)絡(luò)用來提供贏棋的概率。在AlphaGo Fan中策略和價值是兩個獨立的神經(jīng)網(wǎng)絡(luò),每個網(wǎng)絡(luò)有13個卷積層。然后在AlphaGo Lee中,每個卷積層的卷積核數(shù)量由192增加為256。從AlphaGo Master到AlphaZero,策略和價值網(wǎng)絡(luò)被結(jié)合到一個網(wǎng)絡(luò)當(dāng)中,并且卷積層的數(shù)量增加到39或79。表1為AlphaGo所有版本神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對比。AlphaZero的棋力比AlphaGo Lee明顯要好。而且值得一提的是監(jiān)督學(xué)習(xí)得到的AlphaZero神經(jīng)網(wǎng)絡(luò)也比得上AlphaGo Lee的棋力。這個事實體現(xiàn)了AlphaZero中神經(jīng)網(wǎng)絡(luò)的作用。
AlphaZero神經(jīng)網(wǎng)絡(luò)表現(xiàn)優(yōu)異的原因有許多。最首要的是網(wǎng)絡(luò)的大小??梢钥吹紸lphaZero中卷積層的數(shù)量是AlphaGo Lee的3倍,這意味著AlphaZero中可調(diào)參數(shù)也大致是AlphaGo Lee的3倍。這表明網(wǎng)絡(luò)的表達(dá)能力大幅提升。用這種方式,網(wǎng)絡(luò)能夠?qū)W習(xí)到MCTS生成的搜索概率,也就是說個體能夠繼承CI的知識。其他原因包括:①殘差塊降低了訓(xùn)練難度;②雙重網(wǎng)絡(luò)結(jié)構(gòu)使得策略和價值網(wǎng)絡(luò)被調(diào)整到一個共同的表達(dá)方式,并且提高了計算效率。
一旦個體具備了足夠的表達(dá)能力,下一個問題就是怎樣讓它們進(jìn)化。為了能讓個體持續(xù)進(jìn)化,就需要找到進(jìn)化的方向。在AlphaZero中,是通過個體自己的經(jīng)歷來找到進(jìn)化方向,即通過強化學(xué)習(xí)。這樣的結(jié)果就使個體能夠持續(xù)進(jìn)化,最后超越了之前版本以及人類專家的棋力。
表1 AlphaGo神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對比
在最早的版本AlphaGo Fan中,策略網(wǎng)絡(luò)是先由專家知識訓(xùn)練的。然后用Reinforce算法提高策略網(wǎng)絡(luò)。換言之,強化的網(wǎng)絡(luò)是通過策略網(wǎng)絡(luò)自我對弈結(jié)果訓(xùn)練出來的。之后,價值網(wǎng)絡(luò)是通過強化的策略網(wǎng)絡(luò)自我對弈結(jié)果訓(xùn)練出來的。在下一個版本AlphaGo Lee中,價值網(wǎng)絡(luò)是由AlphaGo自我對弈的結(jié)果訓(xùn)練出來的,而不是用策略網(wǎng)絡(luò)自我對弈,并且這個過程反復(fù)了幾次。從AlphaGo Master到AlphaZero,不僅價值網(wǎng)絡(luò)是通過AlphaGo自我對弈的結(jié)果訓(xùn)練出來的,策略網(wǎng)絡(luò)也是由AlphaGo生成的搜索概率訓(xùn)練出來的。值得一提的是MCTS用來生成搜索概率并落子。
從AlphaGo的發(fā)展可以總結(jié)出強化學(xué)習(xí)是進(jìn)化的關(guān)鍵,并且自己生成的標(biāo)簽質(zhì)量決定了進(jìn)化的程度。對于價值網(wǎng)絡(luò),對比AlphaGo Fan和之后的版本,主要區(qū)別是價值網(wǎng)絡(luò)的標(biāo)簽。在之后的版本里,標(biāo)簽更為準(zhǔn)確,因為它們是由使用了MCTS落子的AlphaGo生成的,而不是僅用強化的策略網(wǎng)絡(luò)。對于策略網(wǎng)絡(luò),從AlphaGo Master到AlphaZero,是由MCTS生成的搜索概率作為標(biāo)簽,而不是由對弈結(jié)果指引的策略網(wǎng)絡(luò)自己的落子,具體的比較總結(jié),如表2所示。
之所以MCTS生成的標(biāo)簽比策略網(wǎng)絡(luò)好是因為:MCTS包含了多次模擬來落子,在每次模擬中,策略網(wǎng)絡(luò)用來給出先驗概率,價值網(wǎng)絡(luò)用來更新行動價值??梢园衙看文M中的策略和價值網(wǎng)絡(luò)當(dāng)作一個個體,那么搜索概率會隨著個體數(shù)量的增加而變得準(zhǔn)確。因此,MCTS可以提供CI,在這里指搜索概率以及使用搜索概率下棋得到的勝負(fù)結(jié)果。在文獻(xiàn)[24]中,基于MCTS的自我對弈被視為強化學(xué)習(xí)中的策略評價算子,但它的策略指的是MCTS的搜索概率,并不是原本的策略網(wǎng)絡(luò),與原本的策略迭代算法不完全一致。所以,更合適的觀點是將MCTS視為CI算法,關(guān)于MCTS的更多信息將在下一節(jié)介紹。
為了展示AlphaZero的群智智能邏輯,筆者將這一技術(shù)應(yīng)用于一個新的游戲,即五子棋,同時也應(yīng)用于五子棋的一個變體,即有禁手五子棋。訓(xùn)練結(jié)果將在下文展示。注意筆者對AlphaZero做了一些改進(jìn)使得它能適應(yīng)五子棋和有禁手五子棋的規(guī)則。
圖1表示的是改進(jìn)的AlphaZero在五子棋中的訓(xùn)練結(jié)果。圖1(a)展示了改進(jìn)的AlphaZero的棋力。注意在五子棋上同樣實現(xiàn)了AlphaGo Fan,它的棋力也被作為對比對象。Elo評分是用不同選手在多樣的開局下比賽算出來的,每步使用1 s的思考時間。對于AlphaZero,使用一個圖形處理器(GPU)來計算神經(jīng)網(wǎng)絡(luò)。圖1(b)展示了訓(xùn)練時每一代神經(jīng)網(wǎng)絡(luò)在測試集上的預(yù)測準(zhǔn)確率。準(zhǔn)確率測量了神經(jīng)網(wǎng)絡(luò)給出的最高概率的落子的準(zhǔn)確性。圖1(c)展示的是訓(xùn)練時每一代神經(jīng)網(wǎng)絡(luò)預(yù)測測試集對弈結(jié)果的均方差(MSE)。同樣的,改進(jìn)的AlphaZero在有禁手五子棋上的訓(xùn)練結(jié)果,如圖2所示。
可以看出,AlphaZero的棋力比傳統(tǒng)的通過專家知識構(gòu)造的引擎要強。策略和價值網(wǎng)絡(luò)從它們自身的經(jīng)歷中逐漸學(xué)到了自己的戰(zhàn)術(shù)。同時也展示了AlphaZero可被用于不同規(guī)則的游戲。AlphaZero的通用性是繼承于表達(dá)方式的通用性,即深度神經(jīng)網(wǎng)絡(luò),也繼承于進(jìn)化方法的通用性,即強化學(xué)習(xí)。并且,由MCTS生成的標(biāo)簽為強化學(xué)習(xí)提供了進(jìn)化的方向。在下一節(jié),CI將被用來解釋MCTS的原理。
MCTS是一種高效的啟發(fā)式?jīng)Q策搜索算法,廣泛應(yīng)用于博弈游戲中。筆者就以群體算法中最具有代表性的ACO為例,和MCTS算法進(jìn)行對比,并將它們應(yīng)用到TSP問題中。然后通過應(yīng)用的結(jié)果,來分析ACO和MCTS算法的共性特征。
TSP問題是一個經(jīng)典的組合優(yōu)化問題,有下列具體描述[25]:
表2 標(biāo)簽來源對比
V= {a, …,z}為城市集合,A= {(r,s):r,s∈V}是城市中兩兩城市的連接的邊,每個邊是城市之間的距離:δ(r,s) =δ(s,r),(r,s)∈A。TSP 問題是找到能夠不重復(fù)訪問所有城市的最短路徑。在該問題中,每個城市由r∈V都有具體的坐標(biāo)值(xr,yr),因此也被稱為歐拉形式的TSP問題。
TSP問題也是非確定多項式(NP)問題的代表問題,計算復(fù)雜度與城市數(shù)量呈指數(shù)關(guān)系。
圖1 改進(jìn)的AlphaZero在五子棋中的訓(xùn)練結(jié)果
圖2 改進(jìn)的AlphaZero在有禁手五子棋中的訓(xùn)練結(jié)果
ACO[25~27]算法采用了模擬真實自然環(huán)境中蟻群的行為,很好地解決了如TSP等組合優(yōu)化問題。蟻群在搜索食物時,最開始的時候在它們的巢穴周邊進(jìn)行隨機(jī)策略搜索,一旦有螞蟻發(fā)現(xiàn)了食物,它們就把食物從食物源搬回巢穴。在搬運食物的過程中,螞蟻會在返程的路徑上釋放化學(xué)信息素,信息素釋放的數(shù)量取決于找到的食物的數(shù)量和質(zhì)量。當(dāng)之后的螞蟻進(jìn)行搜索時,能夠依據(jù)信息素的多少,判斷食物源的方向,更快地找到食物。蟻群通過信息素實現(xiàn)了多個個體的信息共享,這使得它們可以很快地找到從巢穴到食物源的最短路徑。
當(dāng)解決TSP問題時,每個迭代步由以下兩個主要的步驟組成:
模擬:每只螞蟻依據(jù)狀態(tài)轉(zhuǎn)移概率矩陣,按照概率分布完成一次完整的搜索,選擇每一條路徑的概率正比于狀態(tài)轉(zhuǎn)移概率矩陣
式(1)中,τ為信息素;η= 1/δ(r,s)為路徑δ(r,s)的倒數(shù);Jk(r)為第k只螞蟻從搜索過程中的城市r出發(fā)剩余需要訪問的城市;β為訪問狀態(tài)轉(zhuǎn)移先驗概率的一個超參數(shù)。
更新:一旦所有螞蟻完成了它們的搜索,需要進(jìn)行一次全局的信息素更新
式(2)和式(3)中,α為信息素衰減因子;Lk為螞蟻k途經(jīng)路徑的長度;m為螞蟻的總數(shù)量;Q為信息素的權(quán)重因子,它決定了探索和利用的比重。
整個搜索過程由以上步驟進(jìn)行迭代,直到達(dá)到終止?fàn)顟B(tài),在本文中,超參數(shù)取Q= 1.0,α= 0.1,β= 1.0。
MCTS[28~30]是一種能夠在給定環(huán)境找到最優(yōu)策略的啟發(fā)式的樹搜索方法。MCTS在計算機(jī)圍棋領(lǐng)域取得了巨大的成功,其中以AlphaGo [23]和AlphaGo Zero [24]為代表,結(jié)合了MCTS和深度神經(jīng)網(wǎng)絡(luò),并使用了自我對弈強化學(xué)習(xí)實現(xiàn)進(jìn)化,最終實現(xiàn)了超越人類頂尖棋手的棋力水平。
MCTS在整個樹搜索空間中,采用隨機(jī)的策略進(jìn)行大量模擬來評估狀態(tài)價值。隨著模擬的次數(shù)增加,搜索樹也增加得更大,對狀態(tài)價值的估計也更加準(zhǔn)確。進(jìn)行樹搜索的策略在搜索過程中也在不斷改進(jìn),漸漸地,樹搜索策略收斂于最優(yōu)策略,狀態(tài)價值估計也收斂于真實的狀態(tài)價值。
圖3(a)表示了MCTS搜索中的一個迭代步中的四個步驟[28],具體步驟如下:
選擇(selection):從樹的根節(jié)點開始,依照選擇策略遞歸進(jìn)行子節(jié)點選取,直到達(dá)到搜索樹的葉節(jié)點。在TSP問題中的樹搜索策略是在所有子節(jié)點中根據(jù)置信上界方法選?。║CT)。
式(4)中,s為當(dāng)前節(jié)點狀態(tài);L(s,a)為經(jīng)過邊(s,a)的總路徑長度;N(s,a)為邊(s,a)被訪問過的總次數(shù);L為被訪問過所有合法路徑的長度的平均值;CΓ為UCT方法中的一個超參數(shù),用來平衡探索和利用。搜索的先驗概率為P(s,a),為了和ACO算法中的先驗概率保持一致,取邊長度δ(s,a)的倒數(shù)
圖3 MCTS每個迭代步的四個步驟(a)及ACO、MCTS和隨機(jī)搜索收斂曲線(b)
擴(kuò)展(expansion):對樹葉節(jié)點進(jìn)行擴(kuò)展,選取當(dāng)前節(jié)點之后所有的可行城市作為當(dāng)前節(jié)點的子節(jié)點。
模擬(simulation):當(dāng)?shù)竭_(dá)葉節(jié)點后,按照默認(rèn)策略行走直到達(dá)到終點,得到當(dāng)前路徑長度lt。模擬的默認(rèn)策略是按照正比于先驗概率P(s,a)選擇當(dāng)前節(jié)點的可行城市。
回溯(backpropagation):完成一次模擬之后,按照當(dāng)前的模擬結(jié)果對整個搜索樹進(jìn)行更新。
當(dāng)經(jīng)過了指定次數(shù)的迭代,最終依照訪問次數(shù)最多的城市進(jìn)行選擇。在本文中,超參數(shù)Cp= 3.0。
由于歐拉TSP問題中的城市間的連接距離是按照實際坐標(biāo)點距離計算,因此是一個無向圖問題,并且搜索路徑是一個閉環(huán),因此整個搜索圖也可以被視作一個樹搜索結(jié)構(gòu)。為了和MCTS對比,ACO每次都從一個固定的城市出發(fā)進(jìn)行搜索,固定的城市就是MCTS中的搜索起始根節(jié)點。兩種算法的詳細(xì)配置見表3。
本文將這兩種算法應(yīng)用于30個城市的TSP問題,另外為了與這兩種方法做對照,加入了純隨機(jī)搜索作為對照。使用這三種方法分別進(jìn)行了10次TSP問題優(yōu)化,最終結(jié)果如圖3(b)和表4所示。
相比于隨機(jī)搜索,ACO和MCTS都體現(xiàn)了良好的收斂性,在前100迭代步中,MCTS略微優(yōu)于ACO,但是在后半程出現(xiàn)了搜索停滯。一個主要原因是由于MCTS搜索為一個樹狀結(jié)構(gòu),而ACO搜索為一個網(wǎng)狀結(jié)構(gòu),ACO對于局部區(qū)域路徑優(yōu)化的能力更強。
對比ACO和MCTS中的每一個迭代步中的具體算法可以發(fā)現(xiàn),MCTS具有和ACO相似的機(jī)理,在每一個迭代步中,每個個體需要按照特定策略進(jìn)行搜索,并依據(jù)全局群體共享信息實時更新策略。這兩種算法相似點有以下幾點:
模擬策略:在ACO中,進(jìn)行模擬的策略是按照狀態(tài)轉(zhuǎn)移概率矩陣得到,在MCTS中,搜索樹中的部分是依照UCT策略得到,模擬的部分采用默認(rèn)模擬策略。
群體信息共享:在ACO中,所有的輸出結(jié)果都更新到全局信息素中,全局信息素決定了狀態(tài)轉(zhuǎn)移概率矩陣。在MCTS中,模擬的結(jié)果更新到Q(r,s),這影響到了下一次在搜索樹中選擇的UCT策略。
平衡探索和利用:在ACO中,模擬的行動選擇正比于概率分布,同時保證了探索和利用,受超參數(shù)Q影響。在MCTS中,UCT算法保證了平衡探索和利用,受超參數(shù)Cp影響。
表3 ACO、MCTS的算法超參數(shù)設(shè)置
表4 ACO、MCTS和隨機(jī)搜索結(jié)果
這些特征同樣也是群智算法的關(guān)鍵特征。從實驗結(jié)果可以看到,雖然MCTS算法沒有顯式的群體搜索的概念,其搜索的機(jī)理體現(xiàn)了群智涌現(xiàn)的特征,因此可以被視作群智算法。群智涌現(xiàn)是保證ACO和MCTS具有良好搜索收斂性的關(guān)鍵機(jī)制。
在深入研究了AlphaZero程序和MCTS算法之后,其下隱藏的智能進(jìn)化機(jī)制被完整地發(fā)現(xiàn)了。AlphaZero的成功主要取決于兩個因素,一個是使用深度卷積神經(jīng)網(wǎng)絡(luò)來表示個體智能,另一個是使用MCTS使CI涌現(xiàn)并高于個體智能。深度卷積神經(jīng)網(wǎng)絡(luò)能夠通過用合適的目標(biāo)標(biāo)簽訓(xùn)練來進(jìn)化其智能。MCTS算法能夠通過CI涌現(xiàn)來生成合適的目標(biāo)標(biāo)簽。在強化學(xué)習(xí)環(huán)境中結(jié)合這兩個因素,個體智能進(jìn)化的正反饋就形成了。
因此,筆者提出了一個CI進(jìn)化理論,并將其作為走向AGI的通用框架。第一,定義一個深度神經(jīng)網(wǎng)絡(luò)來表示個體智能;第二,使用CI算法使CI涌現(xiàn)并高于個體智能;第三,利用這個更高的CI進(jìn)化個體智能。最后,在強化學(xué)習(xí)環(huán)境中不斷重復(fù)涌現(xiàn)-進(jìn)化的步驟,以形成個體智能進(jìn)化的正反饋,直到智能收斂。通用AGI進(jìn)化框架流程圖,如圖4所示。
圖4 通用AGI進(jìn)化框架流程圖
用p(k)和vp(k)表示第k次迭代中的個體策略和個體狀態(tài)價值,其中p(k)由深度神經(jīng)網(wǎng)絡(luò)來表達(dá),vp(k)是衡量個體智能程度的標(biāo)準(zhǔn),可以通過p(k)與環(huán)境交互得到(例如在圍棋中將與幾個對手引擎下足夠多盤棋作為環(huán)境,下贏的獎勵為1,下輸?shù)莫剟顬?,那么vp(k)就等于策略p(k)的勝率,AlphaZero中使用Elo評分衡量個體智能程度,本質(zhì)也是先通過與環(huán)境交互的勝率計算得來,再通過個體Elo與環(huán)境平均的Elo之差便可反推勝率);用π(p(k))和vπ(vp(k))表示群體策略和群體狀態(tài)價值,其中π(p(k))由CI算法產(chǎn)生,vπ(vp(k))通過π(p(k))與環(huán)境交互得到;用v*表示最優(yōu)狀態(tài)價值,通常有vp(k)≤vπ(vp(k))≤v*;用α(k)∈[0,1]表示個體智能學(xué)習(xí)CI的程度,即在vp(k)和vπ(vp(k))之間做線性插值;用β(k) =vπ(vp(k)) -vp(k)∈[0,v*-vp(k)]表示CI高于個體智能的程度。如果將vp(k)視為動力系統(tǒng)的狀態(tài)量,將vπ(vp(k))視為動力系統(tǒng)的控制量,這種正反饋可以表示成離散時間系統(tǒng)
其中,α(k) > 0由神經(jīng)網(wǎng)絡(luò)的訓(xùn)練來保證,例如使用損失函數(shù)l= -πT(p(k))logp(k)和梯度下降來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。根據(jù)Gibbs不等式[31],當(dāng)且僅當(dāng)p(k) = π(p(k))時,l達(dá)到最小值。雖然有理論保證,但α(k)受神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和梯度下降算法中的超參數(shù)影響,不一定能達(dá)到p(k) = π(p(k)),即α(k) = 1。實際應(yīng)用中需要合理調(diào)節(jié)這些超參數(shù)使得α(k) > 0即可。
另一方面,β(k) > 0由CI算法來保證。在最早的蟻群算法ant system(AS)[27]的基礎(chǔ)上改進(jìn)后,很多蟻群算法的擴(kuò)展都有了收斂性的保證,graph-based ant system(GBAS)算法能收斂到最優(yōu)行動的概率為1 [32],而常用的ant colony system(ACS)[25]和 max-min ant system(MMAS)[12]算法能收斂到最優(yōu)行動的概率大于一個下界值[33]。MCTS從最初的版本改進(jìn)到UCT,也就是將置信上界(UCB)[34]加入到選擇中,能收斂到最優(yōu)行動的概率為1[30]。AlphaZero是將predictor UCB(PUCB)算法加入到MCTS,而單獨的PUCB算法能收斂到最優(yōu)行動的概率大于一個下界值[35]。雖然AlphaZero中的MCTS沒有理論證明,但從應(yīng)用效果來看也可以使得β(k) > 0,實際應(yīng)用中需要合理調(diào)節(jié)超參數(shù)來彌補理論和實際的間隙。
在完美智能v*有限的情況下,CI進(jìn)化有兩種類型的智能收斂。一種是個體智能收斂到一個和CI相同的極限。這意味著或者是完美的智能已經(jīng)到達(dá),即或者是CI算法不足以使得更高的群體智能涌現(xiàn),即另一種是個體智能收斂到一個低于CI的極限,這意味著或者是個人智能的容量不夠大,或者是訓(xùn)練方法不再有效,即且
與現(xiàn)有的機(jī)器學(xué)習(xí)方法相比,CI進(jìn)化理論具有一定的優(yōu)勢。深度學(xué)習(xí)是強大的,但依賴于大量高質(zhì)量的標(biāo)簽數(shù)據(jù)過于昂貴。強化學(xué)習(xí)通過廉價的獎勵信號為個體智能提供了進(jìn)化環(huán)境,但由于試錯性質(zhì),學(xué)習(xí)效率較低。CI算法能夠使CI從無到有,但缺乏一種進(jìn)化個體智能的機(jī)制。CI進(jìn)化理論結(jié)合深度學(xué)習(xí)、強化學(xué)習(xí)和CI算法的優(yōu)勢,通過CI的涌現(xiàn),使個體智能高效、低成本地進(jìn)化。這種進(jìn)化可以從零開始,因此CI進(jìn)化理論是向AGI邁進(jìn)的一步。
傳統(tǒng)的機(jī)器人可以利用一些計算機(jī)視覺或?qū)<蚁到y(tǒng)技術(shù)來實現(xiàn)某種智能行為,但它們?nèi)狈W(xué)習(xí)或進(jìn)化能力來自動適應(yīng)環(huán)境變化。例如,焊接機(jī)器人能夠通過3D視覺系統(tǒng)和基于傳統(tǒng)特征的視覺算法來跟蹤焊縫。但是,為了使焊接機(jī)器人工作正常,必須在新的焊接環(huán)境中手動調(diào)整一些關(guān)鍵參數(shù)。因此,機(jī)器人工業(yè)迫切需要能夠像人類一樣自動適應(yīng)環(huán)境的智能機(jī)器人。
CI進(jìn)化理論在智能機(jī)器人中有著天然的應(yīng)用,它通過傳感器、智能體和執(zhí)行器的閉環(huán)提供了一個強化學(xué)習(xí)環(huán)境。該理論的應(yīng)用稱為智能模型。為了促進(jìn)智能模型的實現(xiàn),一個云端平臺被開發(fā)出來幫助創(chuàng)建和進(jìn)化智能機(jī)器人的智能模型。
面向工業(yè)應(yīng)用的智能模型主要分為三類,視覺檢測、數(shù)據(jù)預(yù)測、參數(shù)優(yōu)化,其中參數(shù)優(yōu)化具有最廣泛的需求。作為這一概念的驗證,一個焊接機(jī)器人的焊接參數(shù)優(yōu)化智能模型已經(jīng)在云端平臺上實現(xiàn)。
隨著科技的發(fā)展,在鋼鐵材料的焊接領(lǐng)域,機(jī)器人焊接逐漸取代了以往的人工焊接。在焊接機(jī)器人實施焊接過程中,控制焊接的參數(shù)會直接影響焊接的質(zhì)量。焊接的參數(shù)有焊槍移動速度、電流、電壓、焊槍角度等。焊接參數(shù)需要焊接工程師根據(jù)焊接板材材質(zhì)、焊縫寬度以及焊接板材厚度等場景手工調(diào)節(jié)優(yōu)化焊接參數(shù),為滿足焊接機(jī)器人在工業(yè)應(yīng)用中智能化的需求,提出用深度學(xué)習(xí)和強化學(xué)習(xí)的技術(shù),結(jié)合焊接機(jī)器人3D視覺系統(tǒng),實現(xiàn)焊接機(jī)器人根據(jù)焊接場景的不同實現(xiàn)焊接參數(shù)的自動調(diào)節(jié),或者說實現(xiàn)由焊接場景到焊接參數(shù)最優(yōu)的映射關(guān)系。
考慮最簡單的焊接場景,輸入特征只保留一個焊縫寬度,從零開始均勻增加,輸出參數(shù)僅控制焊槍移動速度。
焊接參數(shù)優(yōu)化的目標(biāo)是得到最好的焊接質(zhì)量,具體來說,就是對于較小的焊縫寬度,希望焊接后的焊料寬度保持在5 mm;對于較大的焊縫寬度,希望焊料寬度比焊縫寬度大2 mm,并且不論焊縫多寬,理想的焊料高度都是1 mm。圖5為焊縫寬度和焊接板材長度的關(guān)系曲線,圖6為理想的焊料寬度和焊縫寬度的關(guān)系曲線。
圖5 焊縫寬度和焊接板材長度的關(guān)系曲線
在一條焊縫的焊接過程中從起始點開始把每隔等長的一小段間距作為一個焊接點,焊接點的個數(shù)用n表示,每一時刻未焊接點的焊縫寬度和已焊接點的焊料寬度和高度分別用gi,wi,hi表示,焊接到第i個焊接點的時刻用ti表示。筆者定義一個簡化的馬爾可夫決策過程(MDP)模型,假設(shè)t時刻的環(huán)境狀態(tài)st=gi,t時刻智能體的行動就是焊槍在第i個焊點的移動速度vti,即at=vti,并且假設(shè)折扣因子為0,即僅考慮即時獎勵,把每一焊接點的實際焊接效果和理想焊接效果之間的偏差作為這一時刻的獎勵。
圖6 理想的焊料寬度和焊縫寬度的關(guān)系曲線
圖7為焊接參數(shù)優(yōu)化智能模型的訓(xùn)練流程圖。為了訓(xùn)練這個智能模型,首先到焊接現(xiàn)場采集實際焊接效果數(shù)據(jù),然后離線訓(xùn)練價值網(wǎng)絡(luò),最后用這個訓(xùn)練價值網(wǎng)絡(luò)訓(xùn)練策略網(wǎng)絡(luò),即焊接智能體。圖8為策略網(wǎng)絡(luò)焊槍移動速度與焊縫寬度的關(guān)系曲線。
在云端平臺上部署了這個智能模型,并到焊接現(xiàn)場進(jìn)行了測試驗證(見圖9),實現(xiàn)了較好的焊接質(zhì)量??梢钥闯觯槍€性變寬的直焊縫,得到的訓(xùn)練策略網(wǎng)絡(luò)基本符合要求。
對于簡單的焊接場景,單個智能體離線強化學(xué)習(xí)就可以達(dá)到較高的智能水平,即焊接質(zhì)量。如果是復(fù)雜的焊接場景,就需要先實現(xiàn)在線焊接質(zhì)量評估,然后根據(jù)群智進(jìn)化理論進(jìn)行在線智能進(jìn)化,才能夠?qū)崿F(xiàn)更高的智能水平。
CI涌現(xiàn)和深度神經(jīng)網(wǎng)絡(luò)進(jìn)化是AlphaZero程序在很多游戲中達(dá)到超人性能的關(guān)鍵因素。將CI與深度學(xué)習(xí)和強化學(xué)習(xí)相結(jié)合,就得出了CI進(jìn)化理論。并對該理論在焊接機(jī)器人中的示范應(yīng)用進(jìn)行了討論。這一理論是走向AGI的通用框架,因此期待在未來有越來越多的應(yīng)用和進(jìn)一步的理論探討。
圖7 焊接參數(shù)優(yōu)化智能模型的訓(xùn)練流程圖
圖8 策略網(wǎng)絡(luò)焊槍移動速度與焊縫寬度的關(guān)系曲線
圖9 焊接現(xiàn)場測試驗證