Re: [好文推薦] 這兩盤棋 沒人會比李世石做得好

作者: reinhert (史丹佛的銀色子彈)   2016-03-11 23:55:52
※ 引述《nnlisalive (nnlisalive)》之銘言:
: 我覺得要從程式碼方面下手了
: 首先就是阿發狗所謂的"勝率"是怎計算出來的?
: 不外乎用盤面上所得到的資訊轉換成數據
: 再代入勝率函數得到每一點的勝率
: 那這個函數適用於任何盤面嗎? 沒有任何邏輯漏洞和盲點?
: 算出來的勝率沒有誤差? 如果有個點勝率是70%
: 具體來說應該是下了這個點跑到結束N次 有0.7*N次會贏
: 但明明就還沒下完 也不知道對方會怎下
: 所以只要能騙過電腦 讓他一直下到誤判勝率的棋
其實看很多人對AlphaGo演算法的看法好像還在以前
把作法寫死在程式裡跑Funciton的想法
所以才會說找Bug和騙電腦之類的
這就讓我想到昨天第二局騰訊那個轉播,較前面兩個解說來賓
(名字我就不曉得了,畢竟個人也沒啥圍棋經驗)
右邊那位來賓也是停留在改Code,修原始碼之類的舊式理解
左邊那位就對AlphaGo的作法,神經網路的東西理解很深
以下是個人粗淺的理解,畢竟以前沒深入研究過NN且Nature那篇也還沒看完
AlphaGo並不是把規則寫在Code裡面,而是把盤面的資料丟到一個
Model中,在Model中經過計算後吐出來一個結果來
以Policy Network來說就是吐出各點的下子可能機率
而Value Network就是該盤面的可能勝率
也就是像這樣:
Input Model Output
盤面上各點的資料
共19*19 = 361維
[1, 2, ..., 361] -> Policy Network -> 各點下子可能機率
Value Network -> 盤面的可能值
真正重要的是Model中的計算參數(而且可能有非常多個)
才是決定這麼Model好壞的關鍵
當然這個關鍵是不用人手去調的,而是以過去的資料去對Model進行"訓練"
也就是參數的調整,讓這個網路能越來越符合我們要的結果
就是在之前討論或文章中作SL(Supervisor Learning)的部分
但這要有過去的資料才能作到,因此AlphaGo還多了一步
是在過去的資料上繼續自己創造資料與結果
也就是RL(Reinforcement Learning),來不斷的自我訓練
不斷的加強自身強度
所以常常看到有人說找Bug和對原始碼下手,但其實這是不對的
這個計算系統是隨時隨地在變動的
如果有一般人所謂的Bug(系統實作上的問題)也早就找出來了
要也是要對Model和系統本身的弱點來下手,但NN會在不斷的訓練逐漸趨近最佳解
所以要"騙"或找Bug是非常困難的甚至沒意義的
作者: ginstein (邁向學術之路)   2016-03-12 00:00:00
AlphaGo 沒有弱點了?找出下法的弱點不能稱為找bug?
作者: nnlisalive (nnlisalive)   2016-03-12 00:02:00
我覺得輸出結果不是設計師所預期的就是BUG了
作者: tookouw (鄉民)   2016-03-12 00:08:00
在訓練模式中,model本身是可以回饋自己修改自己的函數所以如果都輸入某人的棋譜,這函式就會有某人的風格
作者: tlm (Netherlands)   2016-03-12 00:11:00
輸出結果當然不見得是設計師預期 不然AG就只有黃世傑的棋力
作者: arnold3 (no)   2016-03-12 00:11:00
電腦的計算能力跟心理素質確定比人類強 其他地方可未必
作者: tookouw (鄉民)   2016-03-12 00:12:00
AG在這個回饋機制中不斷的修正自己的函數群 就會變"強"
作者: ddavid (謊言接線生)   2016-03-12 00:18:00
要統稱為bug也不是不可,但這個案例的問題在於你很難評估這所謂的「bug」到底是好的或壞的過去我們都說bug是壞東西要debug,但這類演算法的輸出原本就不是原設計者可以預期的,因此不管是人想不到的好手或是真的爛下法都會因此被你統稱為bug,結果就是即便你抓到了這些「bug」也會因為你無法分辨是好bug還是壞bug而仍然難以利用
作者: blackwindy (黑色的風)   2016-03-12 00:29:00
簡單來說 你所謂的bug只會發生在code本身有沒有寫錯這種架構下 邏輯是不會出錯的 而且現在已經驗證可以打因為他的架構太複雜 輸出具有不可預測性只能直接上線測看看到底有沒有用換個說法 做這東西就是拿來下棋 強度? 不知道
作者: paperbattle (?)   2016-03-12 00:51:00
RL在這十幾年來 常常做為訓練board game AI的手段
作者: saranggeyo (saranggeyo)   2016-03-12 01:01:00
左邊那個博士說的什麼啊﹐還alphago自動改程序﹖右邊的俞斌寫過圍棋程式的﹐左邊不太會解釋啊

Links booklink

Contact Us: admin [ a t ] ucptt.com