接上文繼續(xù)學(xué)習(xí)建模算法優(yōu)化改良。
2015年2月,Aja Huang在Deepmind的同事在頂級(jí)學(xué)術(shù)期刊nature上發(fā)表的文章?Human-level control through deep reinforcement learning?用神經(jīng)網(wǎng)絡(luò)打游戲。這篇文章給AlphaGo提供新的方向:強(qiáng)化學(xué)習(xí)。
強(qiáng)化學(xué)習(xí)(Reinforcement learning)是機(jī)器學(xué)習(xí)的一個(gè)分支,特別善於控制一只能夠在某個(gè)環(huán)境下自主行動(dòng)的個(gè)體 (autonomous?agent),透過(guò)和環(huán)境之間的互動(dòng)晨继。(備注:強(qiáng)化學(xué)習(xí)定義可查閱《人工智能應(yīng)用案例學(xué)習(xí)3》)
借用吃豆人游戲進(jìn)一步說(shuō)明強(qiáng)化學(xué)習(xí)建模過(guò)程:自主行動(dòng)的個(gè)體就是控制的吃豆人,環(huán)境就是迷宮搬俊,獎(jiǎng)勵(lì)就是吃到的豆子紊扬,行為就是上下左右的操作,強(qiáng)化學(xué)習(xí)的輸入是:
狀態(tài)?(States) = 環(huán)境唉擂,例如迷宮的每一格是一個(gè) state餐屎。
動(dòng)作?(Actions) = 在每個(gè)狀態(tài)下,有什么行動(dòng)是容許的玩祟。
獎(jiǎng)勵(lì)?(Rewards) = 進(jìn)入每個(gè)狀態(tài)時(shí)腹缩,能帶來(lái)正面或負(fù)面的價(jià)值。
輸出是:方案?(Policy) = 在每個(gè)狀態(tài)下,你會(huì)選擇哪個(gè)行動(dòng)藏鹊?也是一個(gè)函數(shù)润讥。
所以,需要根據(jù)S盘寡,A楚殿,R,來(lái)確定什么樣的P是比較好的竿痰,通過(guò)不斷的進(jìn)行游戲脆粥,獲得大量的交互數(shù)據(jù),可以確定在每一個(gè)狀態(tài)下影涉,進(jìn)行什么動(dòng)作能獲得最好的分?jǐn)?shù)变隔,而強(qiáng)化學(xué)習(xí)也就是利用神經(jīng)網(wǎng)絡(luò)來(lái)擬合這個(gè)過(guò)程。
參考這種思路蟹倾,Aja Huang給圍棋也設(shè)計(jì)了一個(gè)評(píng)價(jià)函數(shù)v(s)?匣缘。此函數(shù)的功能是:量化評(píng)估圍棋局面。使用v(s)可以讓我們?cè)贛CTS的過(guò)程中不用走完全局(走完全盤耗時(shí)耗力鲜棠,效率不高)就發(fā)現(xiàn)已經(jīng)必?cái) ?/p>
在利用P(s)?走了開局的20步后孵户,如果有一個(gè)v(si)?(i為當(dāng)前狀態(tài))可以直接判斷是否能贏,得到最后的結(jié)果r岔留,不需要搜索到底,可以從效率(樹剪枝检柬,優(yōu)化算法時(shí)間復(fù)雜度)上進(jìn)一步增加MCTS的威力献联。
很可惜的,現(xiàn)有的人類棋譜不足以得出這個(gè)評(píng)價(jià)函數(shù)(此處并不明白原理何址,先記錄下來(lái)待后面深入分析)里逆。所以Aja Huang決定用機(jī)器和機(jī)器對(duì)弈的方法來(lái)創(chuàng)造新的對(duì)局,也就是AlphaGo的左右互搏用爪。
先用P(s)和P(s)對(duì)弈原押,比如1萬(wàn)盤,得到1萬(wàn)個(gè)新棋譜偎血,加入到訓(xùn)練集中诸衔,訓(xùn)練出?P1(s)。
使用P1(s)和P1(s)對(duì)弈颇玷,得到另1萬(wàn)個(gè)新棋譜笨农,加入訓(xùn)練集,訓(xùn)練出P2(s)帖渠。
同理谒亦,進(jìn)行多次的類似訓(xùn)練,訓(xùn)練出Pn(s),給最后的新策略命名為Pplus(s)份招。
使用Pplus(s)和P(s)進(jìn)行對(duì)弈切揭,發(fā)現(xiàn)Pplus(s)勝率高,自對(duì)弈的方法就被證明是有效的锁摔。(之所以自對(duì)弈有效廓旬,是因?yàn)檫^(guò)程中沒有放棄過(guò)隨機(jī),如此一來(lái)鄙漏,大量的計(jì)算嗤谚,就更可能覆蓋到更多的可能性,對(duì)提高棋力可以產(chǎn)生有效的作用怔蚌,同時(shí)因?yàn)楦怕实膯?wèn)題巩步,不斷的自我對(duì)弈造成下棋的路數(shù)集中)
事實(shí)并沒有那么美好,Aja Huang發(fā)現(xiàn)桦踊,使用Pplus(s)來(lái)代替P(s)進(jìn)行MCTS反而棋力會(huì)下降椅野。
Aja Huang認(rèn)為是Pplus(s)走棋的路數(shù)太集中(此處記下后續(xù)驗(yàn)證嘗試),而MCTS需要更加發(fā)散的選擇才能有更好的效果籍胯。