再論阿爾法狗之工作原理(童話版)
文章來源: 階梯講師2016-03-15 10:43:13

前番一篇七期連載的博客,弄得天下看官耐心皆無,紛紛掩卷抱怨道:人類都已進入大微信時代了,俺們除了三言兩語的雞湯式文體和一句概括一萬句的煽情式文體,別的啥都看不進去,你整出這又臭又長的原理莫非是想找俺催眠的不成?

好吧,那就重新整理思路,另寫一篇童話版的阿爾法狗原理介紹。

話說這阿爾法狗,其實是一龐大軍團的總稱。阿爾法狗是軍團總司令,手下擁有雄兵億萬、戰將千員。光是元帥級別的著名將領就有貝塔貓、伽瑪猴、德爾塔眼鏡蛇、艾普西龍黑蝙蝠等等。

說來也怪,阿爾法狗雖然身為三軍總司令,馬上就要率領大軍殺向棋盤陣地,可他對於圍棋居然做到了一竅都不通。這也罷了,問題在於即使是他手下的那些勇冠三軍的將領們也沒比他強到哪兒去,連怎樣在棋盤上“叫吃”都不明白。不過,也不能小瞧這群烏合之眾,因為他們個個身懷另類絕技。

比如,總司令阿爾法狗居然有能耐從人類的圍棋服務器KGS上下載了一本秘密兵法,裏麵載有業餘和職業棋手真實對弈的三千萬步棋譜。

阿爾法狗將此兵法複印了兩份,一份交給貝塔貓,一份交給伽瑪猴,另外叫來軍師德爾塔眼鏡蛇,開始布置任務:“眾將官聽令,咱們現在就來演習圍棋。首先由貝將軍和伽將軍大戰一萬回合,德軍師,你負責記錄!”

貝塔貓和伽瑪猴一個勁兒地搖頭:“可我們……一點兒也不懂圍棋呀!”

“沒用的東西!” 阿爾法狗勃然大怒:“手上的兵書是幹什麽用的?每當你們需要落子之時,就先去兵書裏查查看有沒有類似的戰例,如果有,書上說怎麽下,你們就怎麽下!”

貝塔貓和伽瑪猴心領神會,因為他倆的絕活就是以閃電般的速度從海量信息中查找八卦新聞和桃色事件。

貝塔貓執黑先行。他見棋盤上空空如也,一個子都沒有,就去兵書上查找,果然看見人類棋手在這種情況下都是往四個角上落子。於是“啪”地下出了第一手。

該伽瑪猴下了。他去兵書上一查,發現人類棋手在一個角被占之後一般都是去搶另外的角,於是也依樣畫葫蘆地下出了一招。

他二人你來我往挑燈夜戰,殺了個難解難分。多數情況下他們找不到現成的戰例,於是就挑那棋形最為接近的作為參考。好在兵書有3千萬頁,再怪異的棋局都可以找到類似的對應。

德爾塔眼鏡蛇有一雙聚光眼睛,記錄比賽是他的拿手好戲。他嘴裏吐出長長的信子,不停地在紙上刷刷地寫著。

一萬回合下完了,結果,貝塔貓贏了6000多盤。

“德軍師,”阿爾法狗不慌不忙地發布命令,“請把你剛才記錄下來的棋譜交給貝將軍和伽將軍,讓他們繼續比賽。”

德爾塔眼鏡蛇哪敢怠慢,急忙將手中的棋譜複印了一式二份,交給貝塔貓和伽馬猴。

“還有,” 阿爾法狗接著說,“查查剛才的記錄,看看貝將軍和伽將軍都使用了哪些棋譜。我想這些棋譜中一定有一些魚目混珠的混帳棋譜。你現在就去核實,假如有哪個棋譜一而再再而三地導致輸掉比賽,就讓他們把那個棋譜從兵書中拿掉!”

德爾塔眼鏡蛇仔細查看比賽記錄,果然找到了幾十個可疑的棋譜。雖然德爾塔眼鏡蛇看不懂圍棋,但是從統計的角度來看,隻要是用到這些棋譜的比賽,最終的結果都是輸。

“把這些棋譜統統撕掉,繼續比賽!”阿爾法狗大聲發布命令。

在貝塔貓和伽瑪猴的對弈過程中,新的棋譜不斷地產生,混帳棋譜也不斷被撕去。二人越戰越勇,直殺得天昏地暗,旭日無光。

這日,德爾塔眼鏡蛇屈指一數,好家夥,整整下了3000萬盤棋。經過這番演練,二人手裏的棋譜早已更新換代不知多少輪了。

“艾將軍何在?” 阿爾法狗突然大聲下令。

“末將在!” 艾普西龍黑蝙蝠打著旋風大踏步地趕來,“啪”地來了個立正。

“本司令命你去整理貝將軍和伽將軍的對局棋譜,從那三千萬盤棋當中,每盤選出一步棋譜,並在上麵標出這盤棋最終是哪方獲勝。”

“可是咱們不是已經有了那麽多棋譜了嗎?” 艾普西龍黑蝙蝠有些遲疑。

“用法不一樣,他們的那本棋譜是用來決定落子的,叫‘落子棋譜’,而你將要整理的棋譜是用來決定勝負的,叫‘勝負棋譜’。”

“勝負棋譜”派做啥用場?艾普西龍黑蝙蝠在心裏暗自嘀咕。可是當他看見阿爾法狗總司令那威嚴的目光時,哪裏還敢怠慢,急匆匆照著司令的吩咐去做了。

309號高地爭奪戰打響了,敵方守將乃是圍棋界赫赫有名的世界冠軍李世乭。

戰鬥進行得相當慘烈。阿爾法狗軍團仗著人多勢眾,向309號高地發起了新的一輪猛攻。他們大聲呼喊:誓與陣地共存亡,一定要把數字309變成敵人刻骨銘心的慘痛記憶。

正當此時,李世乭從容地在棋盤的右上角落下一子,對阿爾法狗軍團造成了極大威脅,形勢登時變得岌岌可危。

“怎麽辦?”貝塔貓見狀有些恐慌,“要不咱們舉白旗投降?”

“混賬!”阿爾法狗怒不可遏地大叫,“你的兵書呢?”

“兵書?”

“對,拿出最後版本的兵書,快去查找過去的戰例!”

“噢!”貝塔貓恍然大悟,急忙拿出兵書,去查找與眼前棋局相似的戰例。

“別慌,”阿爾法狗接著說,“不能隻查一個,要把所有相似的戰例統統查找出來!”

“得令!”貝塔貓並不知道總司令為何要那麽多戰例,隻管飛速地查找起來。隻用了一毫秒的時間,就查出了5000多個相似的戰例。

“看看那些成功的戰例中,下一步應該怎麽走!”阿爾法狗繼續發布威嚴的命令。

貝塔貓定睛觀瞧,綜合這些戰例,下一步可以有33種落子法。

“召開全軍戰前動員會議!”阿爾法狗命令。

所有士兵都整整齊齊地列立在統帥阿爾法狗麵前。阿爾法狗清了清嗓子,用洪亮的聲音號召道:

“弟兄們,到了為黨國盡忠的時刻了,你們必須經受得起黨國對你們的考驗!打贏了這場戰役,你們將會獲得享不盡的榮華富貴,吃不完的山珍海味,源源不斷的金銀財寶。我知道弟兄們連日征戰,已經非常疲憊。不過隻要能打進橋頭,我立刻給全軍放假三天!”

“烏拉!萬歲!為了黨國,衝啊!”士兵們發出一陣陣歇斯底裏般的呼嚎。

“我們麵對的是最強大和最危險的敵人,因此必須非常謹慎。現在我們一共有33套方案,必須把每個方案都充分論證後才能做出最終的決定。貝元帥何在?”

“末將在!”貝塔貓精神抖擻地回答。

“把你所帶軍團的士兵分為二人一組,讓他們用第一套方案接著下棋,然後看看有多少贏棋的機會。”

“他們,他們可是些大字不識的文盲兵啊。像我們這些元帥級別的將領,雖不懂圍棋,至少還知道怎樣去查兵書呀,可這些士兵,連查兵書都不會,叫他們怎麽下呢?”

“就叫他們亂下!”

“什麽?”貝塔貓聽得目瞪口呆。

“對,就是亂下。現在,我方執白,敵人李世乭執黑。你把士兵們分為兩人一組,讓他們演習白子和黑子對決。白方的第一步一定要按兵書上的落子去下。接下來呢他們就必須亂下,也就是說,隻要看到棋盤上有空格就可以落子,不必管它圍不圍棋不棋的!”

“遵命!”貝塔貓滿腹狐疑,但不敢違抗軍令。

“伽將軍聽令!”

“末將在!”伽瑪猴高聲回答。

“給貝塔貓的命令你聽清楚了嗎?”

“聽清楚了。”

“本司令現在給你發布同樣的任務,隻不過,你的士兵得按第二套方案下。”

“得令!”伽馬猴不敢違抗,乖乖地領命而去。

阿爾法狗一共派出了33路人馬,去模擬33套方案。最後他把目光移向了艾普西龍黑蝙蝠。

“艾將軍,日前我命你整理的那本‘勝負棋譜’是否仍帶在身邊?”

“回司令的話,末將整理好棋譜之後,一直帶在身邊,就連夜裏睡覺,都與之同眠共枕。”

“好,”阿爾法狗的臉上露出了滿意的笑容,“我讓你在那棋譜上標明勝負,你可知其中的道理?”

“末將愚鈍,不知其中緣故。”

“適才我已命士兵們去演習那33套方案了。可是你知道嗎,圍棋比賽是有時間限製的,假如我們等士兵們把這33套方案全部下到底,時間早就用完了。所以,現在本司令命你帶著這些棋譜去各營巡視,要是誰的棋局和你手中的某個棋譜相類似,就讓他立即停止演習。這時你隻要看看棋譜上寫的是白子贏還是黑子贏,就可以決定勝負了。”

“司令高見!”艾普西龍黑蝙蝠領命已畢,刮起一陣旋風飛也似地去了。

不過十來秒鍾,士兵們的演習結果已經出來了:第一套方案,共派了1000萬對士兵隨機亂下,結果白方勝700萬盤,負300萬盤;第二套方案,也派了1000萬對士兵隨機亂下,結果白方勝680萬盤,負320萬盤……比來比去,隻有第十八套方案的結果最好,白方勝920萬盤,負80萬盤。

好,這回我要讓人類的世界冠軍瞧瞧本狗的厲害!阿爾法狗臉上帶著極端的自負發布了命令:“照第十八套方案的方法落子!”

阿爾法狗軍團打出了一記漂亮而有力的重拳。

人類世界冠軍李世乭做夢也沒想到阿爾法狗軍團有著如此勇猛的戰鬥力。他使出渾身解數在敵軍中左衝右殺,奈何阿爾法狗軍團的攻勢一陣猛過一陣,鬧得小李子隻有招架之功,並無還手之力,被前來討陣的敵將殺了個盔歪甲斜,狼狽不堪,最後隻得插上白旗,繳械投降。

309高地攻陷!聽到這個消息後,全軍士氣大漲。在阿爾法狗的指揮下,他們一鼓作氣,繼續向310高地、312高地、313高地和315高地發起猛攻。雖然在攻占313高地的戰役中,由於艾普西龍黑蝙蝠前一天吃了太多的韓國泡菜而拉肚子,致使他在查找“勝負棋譜”時不能正常發揮而導致戰鬥失利,但其他高地的爭奪戰均進展順利。最後阿爾法狗軍團以五戰四捷的成績大獲全勝!

慶功會上,眾將領簇擁著阿爾法狗,他們交杯換盞,大塊吃肉,大口喝酒,好不痛快。待到酒過三巡,菜過五味,阿爾法狗突然發問道:“諸將領以為,此番我們取勝之最主要的原因是什麽?”

“當然是總司令高超的指揮藝術了!”眾將領諂媚地恭維道。

阿爾法狗謙虛地說:“非也,非也。依我看來,此番我等能取得如此之大勝,完全是因為我們戰前準備工作做得好。其一,我們準備了一億步‘落子棋譜’;其二,我們準備了3000萬步‘勝負棋譜’;其三,我們人多勢眾,可以當場把未來可能出現的情況都演習一遍。有了這三點,再強的棋手也難打敗我們不是?”

“總司令高見,總司令高見!”眾將領隨聲附和道。

“司令,末將有一事不明,還望當麵指點。” 貝塔貓一邊抿著杯中的葡萄酒,一邊疑惑地問道,“司令當時命令我軍士兵胡亂下棋,我有點兒想不通的是,這胡亂下的棋,怎麽反而下出好招數了呢?”

“哈哈哈哈哈……”阿爾法狗得意地大笑:“這正是本司令用兵的奧妙。大家請想,在比賽中我下了一個子,但不知道下得對不對。這時有一個辦法可以幫我驗證,那就是,把這盤棋交給另外兩個人接著下完。如果最後是我這一方贏,那就說明我的子下得是對的,否則就不對。不過大家想想,要想得到正確的結果,這兩個替我下棋的人的棋藝應該是旗鼓相當好呢還是相差懸殊好?”

“當然是旗鼓相當的好!”眾將領恍然大悟地說。

“正是這樣。”阿爾法狗越發得意了:“所以,重點是他倆的棋藝得相當,至於是九段的相當還是六段的相當還是棋盲的相當都無所謂。”

“高見,高見!”眾將領對阿爾法狗的見地佩服得五體投地。

“司令,”伽馬猴問道,“我聽說人類正在研究能下圍棋的機器人,可有此事?”

“我也聽說了。”阿爾法狗醉意朦朧地說,“不過我覺得他們那套東西簡直就是咱們的山寨。首先,他們也是到KGS服務器上弄了三千萬步對弈棋譜,並以此開始訓練他們的機器人。隻不過他們沒有像貝將軍和伽將軍這樣能在短時間內過濾海量棋譜的神勇將領,因此他們隻好靠訓練神經網絡來解決問題”。

見大家困惑的樣子,阿爾法狗越發飄飄然了。他搖頭晃腦地解釋道:“你們肯定聽不懂啥叫‘神經網絡’吧?告訴你們,神經網絡並不神奇,你可以把它想象成一個能存儲大量棋譜的黑盒子。這個黑盒子有一個神奇的功能,那就是,假如你拿來一個它從未見過的棋譜,它能從盒子裏把所有相似的棋譜都翻找出來。”

“這有什麽神奇的?對貝將軍和伽將軍來說,這樣的伎倆還不是小菜一碟嗎?” 德爾塔黑蝙蝠輕蔑地說,他想提醒大家其實自己也擁有同樣的本領。

“所以我說人類有點兒不知天高地厚嘛!” 阿爾法狗說,“拿著雞毛當令箭,發明了‘神經網絡’,就以為掌握了人工智能的關鍵技術,真讓人笑掉大牙了!”

眾首領一陣哄堂大笑。

 “難道他們也像貝將軍和伽將軍那樣通過自我演練產生了很多新棋譜嗎?” 德爾塔眼鏡蛇依舊非常好奇。

“一點兒都不錯。在他們搭好了第一批神經網絡之後,就把它命名為‘決策網絡’(Policy Network),然後把KGS服務器上的三千萬步棋譜放到裏麵去,讓兩個‘決策網絡’相互廝殺。正像貝將軍和伽將軍的自我演練一樣,在這個過程中,它們不斷地更換和產生棋譜,使兩個網絡的棋力越來越高。他們還給這互相廝殺的過程起了個高大上的名字,叫自增強學習(Reinforcement Learning),啥自增強,不過是虎虎人罷了。別人不知道,咱們還不清楚嗎,這‘決策網絡’黑盒子裏裝的其實就是咱們的‘落子棋譜’。”

“人類也像咱們一樣準備了‘勝負棋譜嗎’” 生怕得不到大家注意的艾普西龍黑蝙蝠又一次尖著嗓子問。

“沒錯!”阿爾法狗撇著嘴說,“在‘決策網絡’相互廝殺了3000萬盤棋之後,他們就從中挑了3000萬步棋譜,也像咱們一樣,在每頁棋譜上標明誰勝誰負,然後把它們裝進了另一個神經網絡的黑盒子裏,他們給這個網絡起名叫‘評估網絡’(Value Network)。”

艾普西龍黑蝙蝠想到戰場上自己的職責,又刨根問底地問:“在正式比賽時,假如他們的‘決策網絡’也給出了33套方案,難道他們有那麽多人馬去一個一個地論證嗎?”

“根本沒有!”阿爾法狗不屑地說,“他們哪有咱們這麽兵強馬壯!不過人類也有自己的殺手鐧,那是一種叫做CPU和GPU的東西,據說這玩意兒可以替代千軍萬馬去演練方案。不過它所做的事和咱們士兵所做的事沒啥兩樣,就是胡亂下棋!胡亂下棋就胡亂下棋唄,可厚顏無恥的人類卻為它起了個誰也看不懂的文明名字,叫什麽‘蒙特卡洛樹搜索’!”

“我明白了!” 艾普西龍黑蝙蝠恍然大悟,“他們讓CPU和GPU去胡亂下棋,逐一演練‘決策網絡’提出的方案,而讓‘評估網絡’去告訴CPU和GPU,說勝負下到這裏就可以看出來了,不用把棋盤全部下滿了。原來,機器人下棋也怕超時啊!”

“所以我說,” 阿爾法狗總結似的說,“人類研製的下棋機器人沒什麽大不了的,用的都是咱們老套路。”

“對對對,”眾將領附和道,“下次要是讓咱們遇到了這猖狂的機器人,定要好好教訓他一頓,殺它個人仰馬翻,片甲不留!”

大家不停地推杯換盞,將慶功會推向了一個又一個高潮。在阿爾法狗總司令的鼓動下,眾將領暢飲壇內瓊漿玉液,遍嚐盤中美味珍饈,最後盡歡而散。

人工智能曆史上的著名攻堅戰役就此落下帷幕。正可謂:好漢難敵群毆狗,英雄坐失百萬金。

 

階梯講師原創作品•謝謝閱讀