AlphaGo到底是怎麼下棋的?

2021-09-17 08:01:50 字數 1202 閱讀 3883

在一局圍棋中,平均每一步的下法大約有200種可能。棋盤上可能出現的局面總數到了遠大於宇宙中原子總數的地步。因此,通過暴力窮舉手段**所有的可能情況並從中篩選中最優勢走法的思路,並不適用於圍棋ai。

alphago選擇了別的下棋方式。支撐alphago提高棋力、打敗人類選手的「秘訣」 有三個:深度神經網路、監督/強化學習、蒙特卡羅樹搜尋

深度神經網路是包含超過乙個認知層的計算機神經網路。對於人工智慧而言,世界是被用數字的方式呈現的。人們將人工智慧設計出不同的「層」,來解決不同層級的認知任務這種具備許多「層」的神經網路,被稱為深度神經網路。alphago包含兩種深度神經網路:價值網路和策略網路。價值網路使得alphago能夠明晰局勢的判斷,左右全域性「戰略」,拋棄不合適的路線;策略網路使得alphago能夠優化每一步落子,左右區域性「戰術」,減少失誤。兩者結合在一起,使得alphago不需要過於龐大的計算也能夠走出精妙的棋局,就像人類一樣。

監督學習和強化學習是機器學習方式的不同種類。監督學習是指機器通過人類輸入的資訊進行學習,而加強學習是指機器自身收集環境中的相關資訊作出判斷,並綜合成自己的「經驗」。在初始階段,alphago收集研究者輸入的大量棋局資料,學習人類棋手的下法,形成自己獨特的判斷方式。之後,在不計其數的自己與自己模擬對弈,以及每一次與人類棋手對弈中,alphago都能並根據結果來總結並生成新的正規化,實現自我提高。

最後,蒙特卡洛樹是一種搜尋演算法。ai在利用它進行決策判斷時,會從根結點開始不斷選擇分支子結點,通過不斷的決策使得遊戲局勢向ai**的最優點移動,直到模擬遊戲勝利。ai每一次的選擇都會同時產生多個可能性,它會進行**運算,推斷出可能的結果再做出決定。

依賴於上述三大「**」,alphago成為了目前人類製造出來的最為優秀的圍棋ai。連敗人類棋手的勝績就是明證。但除了它之外,世界各國也開發過不同的遊戲ai,向圍棋這一智力上的「絕對領域」發起挑戰。

法國研發的crazy stone(狂石),日本研發的zen(天頂)都曾是這一領域的翹楚。它們都曾經給人類造成過威脅,但從未像alphago一樣將最頂級的人類棋手打的一敗塗地。在alphago一舉走紅之後,人工智慧界對圍棋ai的研發熱情空前高漲。

zen的改良版deepzengo在2023年3月參加了日本舉辦的「世界最強棋手決定戰」,先後負於中國棋手羋昱廷九段和南韓棋手朴廷桓九段後,戰勝日本棋手井山裕太九段,取得第三名的成績。

到底是怎麼傳參的?

開始學習分層以後,理解上有些問題。問同學的看法,上網搜。現在,理解了一些,大家看看理解 有問題,望指出!層與層之間是如何聯絡的?程式是按照u b d b u的順序執行的。分為兩個階段 1.去時 u b d,是通過u層呼叫b層方法,b層呼叫d層方法,把三層聯絡起來的 2.返回時 d b u,是通過一次...

STL map的operator 到底是怎麼回事

來看一道題 請統計陣列strs裡各個字元出現的次數。使用map string strs 那麼最直觀,最容易想到的方法,就是用first來存字元,second來存次數。map countmap first為string型別存字元,second為size t型別存次數 for size t i 0 i ...

IPFS 到底是怎麼工作的?

這就是本文要 的主題!先來看一下 add 和 get 的基本操作過程 當乙個 ipfs 節點執行 add 操作時,它會把檔案進行分塊 block,通過構建乙個 merkle 樹根節點,來把每個子塊節點都連線起來,每個 block 都會用乙個唯一的 cid 進行標識。block 資料會被儲存到本地的 ...