close

AlphaGo 其實挺“笨”的

原標題:AlphaGo 其實挺“笨”的





虎嗅註:就在剛剛,柯潔以四分之一子惜敗給瞭AlphaGo,虎嗅也在現場圍觀瞭比賽過程,現場的同事用“惜敗”來形容,認為雙方勢均力敵,“在最後的統計結果上,AlphaGo 以四分之一子獲勝,而這其中三又四分之一子是因為柯潔執黑子貼的。”結果已經不重要,相信會有不同的解讀聲音出來。以上作為一個信息鋪墊,下面看這篇角度特別的文章,轉載自微信公眾號“待字閨中”,虎嗅獲授權轉載。



記得小時候,城裡來瞭個機器人展,於是買瞭門票,興致勃勃的去看,有踢球的,有打球的,有玩遊戲的,有講故事的,有談情說愛的,等等。我最感興趣的是一個能和我對話的機器人,她會問我問題,也會回答我的問題,好神奇呀。天真無暇的我,玩的很開心,心中有瞭追求科學的夢想。但是,後來有人告訴我,其實當時每個機器人裡面都是藏著一個真人,於是心中咯噔一下,有些沮喪,幼小的心靈就這麼受傷瞭。





現在,人工智能取得瞭飛速發展和進步,兒時的記憶的場景已經完全反轉瞭。看看 AlphaGo 和李世石的圍棋比賽,其中最大的看點和吐槽應該是圖片中的石頭人黃博士,這時,機器人走到瞭後臺,充當瞭智能的核心,而人,也就是黃博士,隻是起到瞭人機交互的媒介。





看來,這次和柯潔的比賽,依然沒有改變這種現狀,因為現狀太難改變瞭。還是黃博士,靜電油煙機出租而不是黃博士化身的機器人,我是多麼期待真正的機器和人下圍棋。





這麼來說,有些異樣,為什麼這麼聰明的 AlphaGo,不真正做成一個機器人,能看棋盤,能下棋子,能思考,還能說笑,會不會更好玩。其實,有時看起來簡單的事情,讓機器來做不一定簡單,這是後話,不囉嗦瞭。



好瞭,段子講完瞭,該言歸正傳瞭。免得被唾沫淹油煙處理機出租死,首先申明一下,AlphaGo 確實很厲害的,也不簡單。但是,為什麼又說,AlphaGo 挺“笨”的呢?



我們知道,圍棋的搜索空間很大,有3的19x19次方個狀態,要在這麼大的空間去找最優算法,一個一個看是不可能的,所以被認為人類智能的一個高點,解決時需要優化搜索。人是根據一些輸入空間和參數較少的模式識別來記憶和搜索,而機器采用的卻是大數據,大記憶和大計算來實現的。說到 AlphaGo 後面的智能和算法,就不能不說深度學習(DL),強化學習(RL),和蒙特卡洛樹搜索(MCTS)。



深度學習,主要用來學習和建立兩個模型網絡。一個是評測現在的棋盤狀態如何,也就是說給當前的棋盤狀態打個分,評估一下贏的期望值,它就是價值網絡(Value Network)。輸入是棋盤19x19每個點的狀態,有子或無子,輸出是贏的期望值。按理說,如果要是有一個聰明的數學傢或是機器足夠聰明,說不準他馬上就能在黑板上寫一個高級的數學公式。很遺憾,現在還沒有,所以,隻能用多層的神經元網絡來近似表示這個高級的函數。這麼來說,是不是有點“笨”。



二是根據現在的棋盤狀態,決定下一個棋子該如何走才能有最大的贏的概率,它就是 AlphaGo 的策略網絡(Policy Network)。也就是說,給一個19x19的棋盤狀態,在所有空的地方,哪個是最佳的選擇,會有最大的贏率。同樣,也可以用一個函數來描述,輸入是當前棋盤狀態,輸出是每個空處和它期望的贏的期望值,但這個函數還沒有一個高級的數學公式,所以,最後也求助於多層神經網絡。





但是,這兩個深度學習網絡模型,怎麼訓練出來的呢?這時,不得不說隨機梯度下降(SGD),這個“笨”辦法。



為瞭求一個目標函數的最優值,復雜一點的,不能像解一個二次方程一樣,用一個簡單的公式就能得到方程的解。





對於,圍棋這種深度學習要求的目標函數,沒有一個簡單的求解公式,那怎麼辦?隻能求助於迭代,隨機梯度下降迭代(SGD),就像爬山,每往上走一步,都是接近山頂一點點,或者叫摸著石頭過河。畢竟機器的計算能力強,這種數值計算,是它的強項,就讓它拼命的算,直到算到一個還算滿意的結果。這回知道瞭吧,為什麼 GPU 這種東西來做這種重復簡單的計算。這麼說來,是不是有點“笨”。就像我們一個公式不會解時,就從1開始帶入計算,看看是不是滿足條件。或是,做選擇題有四個選項,每個選項代入公式算一下。





這些玩意兒,都是線下用大量數據,做大量的辛苦計算得到的,賺的是不是辛苦錢呀。那麼,在真正下棋的時候,用它們就能減少或是已經預算瞭很大的搜索空間,不好的狀態,不好的棋子,就不用花時間去看瞭。在平時不比賽的時候,機器也不會閑著,畢竟還有很多狀態沒有嘗試過,畢竟那些暫時認為不好的棋子不一定最後不好,那怎麼辦?





AlphaGo 有自己的想法,它求助於強化學習,也就是self-play,或是左右手互搏,來提前嘗試更多的搜索空間,減少未知空間,同時通過深度學習的網絡模型記錄下來,提高前面兩個模型網絡的效果,那麼真正下棋的時候就能用上。這就是平時多努力,老大不白頭。這種勞模的精神,在現實生活中,有時會不會被認為時有點“笨”,隻會死幹。





在強化學習的算法中,也需要大量的迭代計算,以求得到最優的期望值,也就是達到收斂。這種“笨”辦法,效果還不錯。





有瞭這些,機器就能玩的可以瞭,但是,畢竟還有很多的空間沒有嘗試過,也不能保證當前的模型預測的每一步都是最優,因而,AlphaGo 心裡不是特別有底氣。那怎麼辦?這時,機器需要求助於蒙特卡洛瞭,就是在下棋的過程中,以當前的狀態為起點,在有限的時間內,盡量多的再探索一些搜索空間。這個探索的辦法,就是暴力采樣,一個一個的試,這麼看來,是不是有點“笨”。



具體來說,“蒙特卡洛樹搜索”是一種啟發式的搜索策略,能夠基於對搜索空間的隨機抽樣來擴大搜索樹,從而分析圍棋這類遊戲中每一步棋應該怎麼走才能夠創造最好機會。來個通俗的解釋,假如筐裡有100個蘋果,讓你每次閉眼拿1個,挑出最大的。



於是你隨機拿1個,再隨機拿1個跟它比,留下大的,再隨機拿1個……你每拿一次,留下的蘋果都至少不比上次的小。拿的次數越多,挑出的蘋果桃園靜電機租賃就越大,但你除非拿100次,否則無法肯定挑出瞭最大的。



這個挑蘋果的算法,就屬於蒙特卡羅算法,盡量找好的,但不保證是最好的。想像這個拿蘋果的場景,是不是就感覺累,而且有點“笨”,然而,對於機器來說,它可是要做巨多的這種嘗試。確實是勞模。



好瞭,好瞭,AlphaGo 如果你不“笨”,能和人類一樣,觸類旁通就牛逼,能不能玩一些人類很容易適應的新玩法,還是圍棋,比如,將棋盤改成一個比19大的,或是改變下棋時的一個小小規則,這樣,也許能更好得證明不“笨”。這個場景,涉及到另外的一個機器學習領域,就是遷移學習。人類,好像特別擅長。



這麼看來,你是不是也感覺 AlphaGo 其實挺“笨”的,這個“笨”,其實是人類把自己能解決此類問題,用的最聰明的“笨”辦法教給機器瞭。至少到現在為止,AlphaGo,在還沒有像愛因斯坦的E=MC2的美妙數學公式發明前,也是最聰明的瞭。





期待不久的將來,AlphaGo 能“拋棄”人類教他的“笨”辦法,和愛因斯坦一比高下。那時,讓人類真正體驗到你的自有的智慧和聰明。

台灣電動床工廠 電動床

台灣電動床工廠 電動床

AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋

AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots

arrow
arrow

    n4wmpuxvjj 發表在 痞客邦 留言(0) 人氣()