2014-08-12 21:00
圍棋學(xué)習(xí)
怎樣開干洗店
學(xué)插花
服務(wù)機(jī)器人
智能機(jī)器人
機(jī)械手
圍棋入門
掃地機(jī)器人
最近,百度公司發(fā)布了自然語言處理部開發(fā)的智能圍棋系統(tǒng)—Bingo,在9路盤的大規(guī)模實戰(zhàn)中戰(zhàn)勝了兩名業(yè)余5段棋手,并在19路盤上以較大優(yōu)勢擊敗業(yè)余初段。這對于近年來把人工智能作為重要戰(zhàn)略的百度公司來說是一個重要的里程碑,通過這樣一款很容易被大眾所理解的產(chǎn)品將背后的人工智能技術(shù)完美的展現(xiàn)出來,也標(biāo)志著我們國內(nèi)科技公司也可以研發(fā)出領(lǐng)先的人工智能產(chǎn)品。本文將介紹博弈機(jī)器人的基本情況,分析圍棋機(jī)器人的特有難度,并通過這一事件引申出我們與人工智能技術(shù)之間的關(guān)系。
4張百度圍棋機(jī)器人Binggo 帶來的人工智能思考-闌夕-微頭條(wtoutiao.com)
圍棋入門
機(jī)械手
整體衣柜定制
圍棋
機(jī)器人教育
圍棋對戰(zhàn)
1、從國際象棋開始的博弈機(jī)器人
我們?nèi)祟愐恢睂χ圃斐鲆粋€能與人對弈的機(jī)器人充滿興致,這首先開始于國際象棋。其中最為我們熟知的莫過于戰(zhàn)勝了國際象棋世界冠軍卡斯帕羅夫的深藍(lán),它在擁有30個IBM RS/6000處理器的并行計算機(jī)上運行α-β搜索,通過480個定制的VLSI國際象棋處理器執(zhí)行生成行棋的功能;每步棋搜索多至300億個棋局,常規(guī)搜索深度是14步,在某些情況下可以通過擴(kuò)展能力使搜索深度達(dá)到40層;它的評估函數(shù)考慮了超過8000個特征來描述特有的棋子模式;它的開局手冊有4000個棋局,存有70萬個大師級比賽棋譜的數(shù)據(jù)庫,可以從中提取綜合建議;系統(tǒng)采用大型殘局?jǐn)?shù)據(jù)庫保存已解決的殘局。
國際象棋成為了博弈游戲領(lǐng)域中最重要的人工智能技術(shù)的試金石,很多早期對計算機(jī)有影響力的人物幾乎都對用計算機(jī)下國際象棋感興趣,其中包括大名鼎鼎的諾伯特·維納和阿蘭·圖靈。而對于研發(fā)出更好的國際象棋機(jī)器人的持續(xù)追求也在一定程度上促進(jìn)了計算機(jī)科學(xué)和人工智能的發(fā)展。難怪俄羅斯數(shù)學(xué)家Alexander Kronrod在1965年稱國際象棋為人工智能果蠅,John McCarthy也說,正如遺傳學(xué)家使用果蠅做實驗以推廣生物學(xué)應(yīng)用一樣,AI用國際象棋來做同樣的傳播。
2、圍棋是機(jī)器人最難面對的博弈游戲
機(jī)器與人對弈其實是一種對抗搜索問題,通常被稱為博弈。對于人工智能研究者來說,博弈的抽象特性使得博弈成為非常有趣的研究對象。博弈游戲中的狀態(tài)很容易表示,機(jī)器人的行動數(shù)目通常受限,而行動的輸出都有嚴(yán)謹(jǐn)?shù)囊?guī)則來定義?,F(xiàn)在國際象棋的搜索算法已經(jīng)非常成熟:首先列明所有可能的走法,接著通過“剪枝”來忽略那些不影響最后決定的部分,使程序能夠高效而深度的處理剩余的分叉,而啟發(fā)式的評估函數(shù)允許在不進(jìn)行完全搜索的情況下估計某狀態(tài)的真實效用值。
但國際象棋上這種成熟的搜索算法在圍棋上很難行得通,原因在于:
1)搜索算法的復(fù)雜程度取決于分支系數(shù)——每一步棋可能的走法,國際象棋的平均分支因子大約是35,一盤棋每個棋手走50步,所以搜索樹有35^100個節(jié)點;而圍棋的平均分支因子為250,一局步數(shù)為350步,搜索樹有250^350個節(jié)點,遠(yuǎn)遠(yuǎn)超過國際象棋,所以圍棋需要更加復(fù)雜和先進(jìn)的搜索算法。
2)國際象棋機(jī)器人可以通過較為簡單的評估函數(shù)得出每個棋子的價值(比如皇后比士卒的價值高),王后即使“虎落平陽”也依舊是最犀利的棋子,機(jī)器學(xué)習(xí)也證實了國際象棋中的一個象確實值三個兵。因此,國際象棋機(jī)器人可以根據(jù)每個棋子發(fā)起攻擊和被攻擊的可能性計算它們所處位置的價值。但對于圍棋來說,每個棋子間的差異性并不顯著,它們以非常復(fù)雜的方式相互影響彼此之間的價值,評估一個棋子的價值要取決于其他所在棋子的布局以及它與周圍棋子的關(guān)系,而不是其本身。加之圍棋在達(dá)到殘局之前的控制通常很難預(yù)測,所以圍棋程序很難寫出評估函數(shù)。
總之,過大的分支因子和無法確定評估函數(shù)使圍棋機(jī)器人成為人工智能需要面對的巨大挑戰(zhàn)。1997年之前沒有出現(xiàn)有競爭力的圍棋程序,后來基于UCT(樹的上限置信區(qū)間)的蒙特卡洛方法的圍棋程序成為主流。2008年,當(dāng)時最強(qiáng)的圍棋程序MoGo在被讓9子的情況下戰(zhàn)勝了職業(yè)選手金明遠(yuǎn)。近來,日本程序Zen多次在9路盤上沖擊職業(yè)選手,但均以大比分連敗告終,而現(xiàn)在Bingo已在9路盤上接近于職業(yè)選手的水平。
3、百度Bingo的創(chuàng)新
而如今百度Bingo的戰(zhàn)績也表明其已經(jīng)躋身智能圍棋系統(tǒng)的第一陣營,更難得是百度在該產(chǎn)品的研發(fā)中進(jìn)行了一些算法上的創(chuàng)新。上文提到,目前主流的圍棋程序大多采用基于UCT(樹的上限置信區(qū)間)的蒙特卡洛搜索,但此次百度卻另辟蹊徑,成功的將蒙特卡洛搜索和α-β搜索結(jié)合起來開發(fā)出了一種比UCT更加高效的算法。
大膽猜測一下,百度Bingo的算法優(yōu)勢可能在于用到了α-β剪枝技巧,不需要遍歷博弈樹中每一個節(jié)點就可以計算出正確的極大極小值,基于這種思想會盡可能消除部分搜索樹。這種特別技術(shù)會減掉那些不可能影響決策的分支,仍然返回和極小極大算法同樣的結(jié)果。消除了被證明無關(guān)的子樹,效率得到提高。
更加重要的一點是,百度在開發(fā)Bingo時把重點放到了算法優(yōu)化上,而非計算資源的堆砌。此前深藍(lán)的成功加強(qiáng)了人們廣泛支持的信念——計算機(jī)的博弈水平的提高源自更強(qiáng)有力的硬件——這也是當(dāng)時IBM的觀點。百度之前也在人工智能和深度神經(jīng)網(wǎng)絡(luò)方面積累了強(qiáng)大的計算資源,但這款智能產(chǎn)品卻沒有大打硬件牌,而是直接切入人工智能的核心——算法,并且取得了優(yōu)異的表現(xiàn)。
4、機(jī)器和人在進(jìn)行博弈游戲時的區(qū)別
百度Bingo的出現(xiàn)代表了人工智能在應(yīng)用層面的又一次階段性成功,機(jī)器又在一個特定領(lǐng)域中戰(zhàn)勝了人類。結(jié)果看起來振奮人心,但我們需要深入了解機(jī)器與人的博弈方法上的各種異同,這樣我們才能理解人工智能技術(shù)這次的進(jìn)步究竟體現(xiàn)在哪里,才會知道這種進(jìn)步對于我們的具體意義。
相同點在于,無論是電腦程序還是人類國際象棋大師都要依靠簡化手段來預(yù)測比賽結(jié)果,這些簡化手段可被視為“模型”;而他們的博弈行為也都是在做一種預(yù)測,根據(jù)貝葉斯定理,預(yù)測基本上屬于信息處理活動——用新數(shù)據(jù)檢測關(guān)于客觀世界的假設(shè),目的是為了更加真實、準(zhǔn)確地理解世界。 而博弈游戲就可以被視為一種與預(yù)測相類似的工作,所以機(jī)器和人在這方面是完全一致的。
但他們也有著不同的、各自擅長的建模方法和預(yù)測機(jī)制。大師在下棋時依靠模式識別來判斷棋面,然后調(diào)用記憶中的各種棋陣來預(yù)測并選擇對策。紀(jì)錄片《神奇大腦:造就天才》里提到,國際象棋大師蘇珊·波爾加在孩子期間記住了10萬個棋陣,并經(jīng)過大量的重復(fù)記憶,把動作記憶變成了長期記憶。她并非記住每個棋子的位置,而是把他們分成幾組。國際象棋的組合比宇宙上的原子還多,但棋陣是混亂中的秩序,這些典型的小陣式重復(fù)出現(xiàn)在不同棋局,這是國際象棋的基本單詞。總之,她憑借人類擅長的模式識別、邏輯推理和經(jīng)驗積累記住了這些棋陣并形成了一種強(qiáng)大直覺。而對于機(jī)器來說,它的對弈行為完全是基于統(tǒng)計分析和搜索,它們憑借的是科學(xué)的算法、機(jī)器學(xué)習(xí)能力和計算能力。
其實對于它們的各自優(yōu)劣,有著現(xiàn)代國際象棋計算機(jī)之父之稱的數(shù)學(xué)家克勞德·香農(nóng)很早就做了準(zhǔn)確的歸納。機(jī)器的特點是:1)計算速度快。2)不會犯錯,除非編程時就編入錯誤。3.)不會偷懶,在分析招數(shù)、分析可能位置時不會半途而廢。4)不帶感情色彩,不會贏了一步就過度自信以致失去勝勢,或是遇到困局就沮喪,劣勢其實是可以逆轉(zhuǎn)的。而人類棋手的特點是:1)思維靈活,解決問題知道變通,不會按部就班。2)擁有想象力。3)懂推理。4)會學(xué)習(xí)。
5、人工智能與人類的結(jié)合和優(yōu)勢互補(bǔ)
對于機(jī)器人棋手,許多人類棋手都表示不屑和抗拒;而博弈程序的開發(fā)者也將那些大師棋手作為自己要通過機(jī)器打敗的對象,甚至?xí)槍δ承┐髱煹奶赜酗L(fēng)格進(jìn)行編程。卡斯帕羅夫和“深藍(lán)”的程序員將彼此視為敵手,但是他們都教會我們一點——計算機(jī)的處理速度和人類思維的精巧應(yīng)該相互補(bǔ)充。舉兩個例子,拿下2008和2009年計算機(jī)國際象棋世界杯(計算機(jī)之間的象棋比賽)的冠軍Rybka目前被認(rèn)為是最強(qiáng)的計算機(jī)棋手,它的主要優(yōu)勢在于由國際象棋大師Vasik Rajlich與其他多個國際象棋大師共同開發(fā)的評估函數(shù)?!缎盘柵c噪聲》中提到,卡斯帕羅夫在與深藍(lán)的第二場比賽中出了一些狀況,他因為一個從未犯過的錯誤而輸?shù)袅嗽究梢源虺善骄值谋荣?。究其原因,是由于“深藍(lán)”在第44步極為隨意的走了一個棋子,這步棋讓卡斯帕羅夫感到緊張,他覺得這有悖直覺的一步棋必是高招,而他絕沒有想到這不過是一個程序漏洞。
世界計算機(jī)國際象棋冠軍的成功是因為人類象棋大師為其開發(fā)評估函數(shù);而深藍(lán)憑借自己一個“擬人化”的低級錯誤對人類對手造成干擾從而贏得比賽。這足以證明,在博弈游戲領(lǐng)域,對于在計算上占絕對優(yōu)勢的機(jī)器來說,一些人類的特質(zhì)和特長也同樣重要。
6、博弈機(jī)器人對人工智能的啟示
我們認(rèn)識到人機(jī)對弈將會呈現(xiàn)一種良好的優(yōu)勢互補(bǔ)、共同進(jìn)化的過程,那既然一直以來機(jī)器博弈都是人工智能發(fā)展中的重要一環(huán),我們是否也可以從中窺探出人工智能技術(shù)與人類之間的關(guān)系呢?
大多數(shù)時候,我們一談?wù)撊斯ぶ悄荞R上就會提到,機(jī)器何時能夠擁有人類般意識?機(jī)器的智力何時達(dá)到甚至超越人類水平?奇點何時來臨?天網(wǎng)何時出現(xiàn)?史蒂夫.霍金對人工智能的警示是否應(yīng)該引起足夠重視?在未來人類是不是要將世界的控制權(quán)交由機(jī)器?
我們對人工智能可能有種太過恢弘且理想的愿景,然后又把這種太過虛幻的愿望強(qiáng)加給圖靈測試等這類不具備太多實際意義的人為標(biāo)準(zhǔn),而當(dāng)每次機(jī)器贏得與人的棋局之后,我們又開始自以為是的盤算機(jī)器已經(jīng)越來越接近人的智力了。早期人工智能研究者把贏得國際象棋比賽當(dāng)成智能應(yīng)用的范例,但后來發(fā)現(xiàn)這比區(qū)分口語詞匯或識別面孔之類計算問題要容易得多,因為機(jī)器下棋就是一種基于自身計算優(yōu)勢的統(tǒng)計分析行為。所以,贏得博弈比賽的機(jī)器人根本無法證明機(jī)器與人在綜合智力上的差異,但程序背后先進(jìn)的技術(shù)原理卻能夠為我們帶來更好的技術(shù)工具。
人工智能的真正價值在于我們在追尋這個夢想途中撿拾到散落在路旁的瑰寶,我們對“機(jī)器會思考嗎”的暢想促使我們創(chuàng)造出了計算機(jī);IBM深藍(lán)的成功讓我們意識到硬件性能和計算性能的重要性;模擬人類學(xué)習(xí)行為的機(jī)器學(xué)習(xí)使計算機(jī)可以進(jìn)行圖像識別、語音識別和文本翻譯等。
至少在可預(yù)見的未來,人工智能只是充當(dāng)一個改善人類生存環(huán)境的工具,我們是通過身邊越來越好用的技術(shù)工具來感受到它的存在,而非期望盡快見到一臺比肩人類的超級智能計算機(jī)?;氐桨俣菳ingo,相關(guān)研究人員表示“研發(fā)過程中產(chǎn)生的多種創(chuàng)新思想與技術(shù),已融入到包括百度網(wǎng)頁搜索在內(nèi)的多個產(chǎn)品的在線學(xué)習(xí)策略中,并取得了非常明顯的效果?!痹跒閲鴥?nèi)科技公司在人工智能領(lǐng)域取得優(yōu)異成績感到欣喜之余,我們更有理由相信這類真正創(chuàng)新性的技術(shù)進(jìn)步能夠帶給我們更加智能的搜索產(chǎn)品和更好的技術(shù)服務(wù)。