Re: [好文推薦] 這兩盤棋 沒人會比李世石做得好消失
有些觀念我覺得要釐清一下比較好
ML的訓練過程說穿了也只是一種數學問題
要分析演算法還是得回到數學的本質
既然Alphago的決策模式加入了隨機性
再加上訓練NN的過程也不能保證得到global optimum
換言之
不管你在training階段餵多棒的data進去
testting階段就是有機會掉到local optimum
而當local optimum距離真正的global optimum很遠時
預測就可能出錯
NN模型具有弱點可以從不同面向說明:
1. 因為它的數學模型複雜, 不屬於convex函數
任何最佳化演算法本來就不能在這類模型上保證得到global optimum
2. 訓練時採用的stochast gradient descent演算法
本身就是局部最佳求解的方式之一
3. 訓練過程中其實也參與一些隨機的機制 (dropout)
現在NN能再紅起來是靠大數據加上研究者聰明的訓練方式
(冠上deep learning之名重新出發)
很大程度地壓抑住上面的本質問題
但不代表它就沒有被破解的空間
否則那些研究如何加雜訊使模型失效的研究者不就是做心酸的嗎
: --
: 推 ddavid: 不過其實我覺得談到雜訊的時候training處理比較重要 03/12 01:00
: → ddavid: 因為只要training沒因為雜訊造成overfitting,就相對不怕 03/12 01:02
: → ddavid: testing用的資料也有雜訊 03/12 01:03
這個說法是有問題的
以NN來說研究者的確透過加雜訊的方式使模型失效
但你會說訓練出來的模型overfittting嗎
不會呀
因為它的泛化能力在一般資料上還是表現得很好
只是這不代表它就沒有漏洞可鑽
: → aaaba: 反正就是圍棋的輸入很乾淨,沒也所謂雜訊干擾的問題。train 03/12 01:18
: → aaaba: ing的時候根本就沒有加爛譜砸自己腳的道理。測試階段也無法 03/12 01:18
: → aaaba: 讓電腦接收到雜訊,落子偏一路之類的,對電腦可不是什麼雜 03/12 01:18
: → aaaba: 訊,而是你下壞了。 03/12 01:18
這個說法也太武斷
如果演算法能準確判斷每一步壞棋
相當於有能力找到global optimum了
但從數學本質分析NN就是只能做到近似最佳解而已
所以必然存在一些決策容易使訓練出來的系統預測失準
只不過要找到這些漏洞
悲觀地說還是得靠演算法而不是人
不過我很認同你說的圍棋資料是相對乾淨的data這件事
要處理的data乾淨與否對ML是非常重要的
在這方面我甚至認為是圍棋資料的優勢
以下是我第一局比完當天寫在個人FB頁面的看法
作為參考佐證:
--
今天有在關心AI的人應該都很興奮吧,下午我在辦公室其實也興奮得做不下事,一直找同
事討論這話題。不過持平說,AI(或者說machine learning)在圍棋競技取得的勝利其意義
未必像一般人想像的這麼大:
1. ML的精神是透過模型訓練機制從大量的、看似無規則的資料中歸納出有意義的pattern
,換言之若資料本身不具此性質(或pattern性質遭到破壞),再高明的ML技術也難使力。
從這點來看,圍棋遊戲是非常適合ML大展手腳的data。19x19棋盤格搭配黑/白/無三種狀
態變化,可能的輸入棋面為3^361種,這個數字對於許多現實應用所要處理的資料變化其
實還遠小得多。例如一張640x480以8 bit編碼的數位影像,資料可能性就有
256^(640x480)種。
2. 第1點從資料空間說明了圍棋遊戲這種資料形態在ML應用上的優勢,但更關鍵的一點或
許是圍棋資料不太出現會影響決策的雜訊,也就是說資料的pattern性質不容易被破壞。
這裡可以將雜訊直觀地理解成無法預測的隨機變數。在圍棋世界裡造成棋手判斷錯誤的一
步並不是雜訊,而是對手對數十回合後精密預測的結果,換言之這裡面必然存在某種
pattern可以學習。然而真實世界中,不管是從感測器(sensor)收到的訊號或者從人類活
動中量化得到的數值,卻會面臨各式各樣雜訊挑戰。這些雜訊基本無法歸納,都是模型殺
手。
3. 綜合1,2點,如果將ML技術看待成data-model-prediction三者之間建立起來的關係,
圍棋遊戲在data-model這一段的難度其實遠遠低於其他AI應用。然而alphago的成功也不
容抹煞,它證明了現在的ML演算法已經差不多征服model-prediction這一段的複雜度,畢
竟以決策結果的空間來說圍棋是非常困難的,而今天中盤後alphago卻做到近乎零失誤演
出。但未來ML的挑戰仍然是在data-model這一段,要縮小資料空間的複雜度,必須仰賴對
問題的先驗知識(prior knowledge)以及考驗演算法本身對雜訊的容錯程度。說白話一點
,當資料本身的pattern性質已經微乎其微了,你怎麼期待ML演算法能夠分辨什麼是雜訊
的擾動而什麼又是這世界隱含的規則呢?從不完美的資料裡發掘由資料詮釋的完美邏輯,
這才應該是ML研究者們繼續努力的價值所在。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.207.184
※ 文章網址: https://www.ptt.cc/bbs/GO/M.1457753722.A.E98.html
推
03/12 11:39, , 1F
03/12 11:39, 1F
→
03/12 11:39, , 2F
03/12 11:39, 2F
→
03/12 11:40, , 3F
03/12 11:40, 3F
→
03/12 11:45, , 4F
03/12 11:45, 4F
推
03/12 11:46, , 5F
03/12 11:46, 5F
→
03/12 11:46, , 6F
03/12 11:46, 6F
→
03/12 11:46, , 7F
03/12 11:46, 7F
→
03/12 11:46, , 8F
03/12 11:46, 8F
→
03/12 11:46, , 9F
03/12 11:46, 9F
→
03/12 11:46, , 10F
03/12 11:46, 10F
→
03/12 11:47, , 11F
03/12 11:47, 11F
→
03/12 11:48, , 12F
03/12 11:48, 12F
→
03/12 11:48, , 13F
03/12 11:48, 13F
→
03/12 11:48, , 14F
03/12 11:48, 14F
→
03/12 11:48, , 15F
03/12 11:48, 15F
→
03/12 11:49, , 16F
03/12 11:49, 16F
→
03/12 11:50, , 17F
03/12 11:50, 17F
→
03/12 11:51, , 18F
03/12 11:51, 18F
→
03/12 11:52, , 19F
03/12 11:52, 19F
→
03/12 11:53, , 20F
03/12 11:53, 20F
→
03/12 11:54, , 21F
03/12 11:54, 21F
因為你的說法有點矛盾所以我試著回答兩個面向
如果是指不告訴演算法label而要它學習出資料的pattern
這叫unsupervised learning
ML一直都有這種技術
而如果是指訓練label中帶noie的情況卻期望演算法自動抵抗
這個題目過去ML也一直在研究
只是改良的幅度沒到十分驚人而已
基於deep learning的NN可以超越過去所有ML技術
主要原因還是它的模型複雜度比過去高太多了
推
03/12 11:59, , 22F
03/12 11:59, 22F
→
03/12 12:00, , 23F
03/12 12:00, 23F
→
03/12 12:01, , 24F
03/12 12:01, 24F
→
03/12 12:02, , 25F
03/12 12:02, 25F
推
03/12 12:03, , 26F
03/12 12:03, 26F
→
03/12 12:03, , 27F
03/12 12:03, 27F
→
03/12 12:03, , 28F
03/12 12:03, 28F
→
03/12 12:03, , 29F
03/12 12:03, 29F
→
03/12 12:03, , 30F
03/12 12:03, 30F
→
03/12 12:03, , 31F
03/12 12:03, 31F
→
03/12 12:03, , 32F
03/12 12:03, 32F
我了解你的意思
不過貼那個連結就是想表達即使模型預測失效的機率很低
研究者還是有策略利用另外一套演算法找出它的缺點
不用這麼絕望
畢竟面對的不是百分百global optimum
→
03/12 12:03, , 33F
03/12 12:03, 33F
→
03/12 12:09, , 34F
03/12 12:09, 34F
→
03/12 12:10, , 35F
03/12 12:10, 35F
這是當然阿
data source複雜度越高當然就要提高模型的複雜度
我心得那一段要說明的是圍棋這種乾淨資料對"所有ML技術"而言都是比較歡迎的
(但是這種說法並沒有討論到決策空間的複雜度)
推
03/12 12:24, , 36F
03/12 12:24, 36F
→
03/12 12:24, , 37F
03/12 12:24, 37F
→
03/12 12:24, , 38F
03/12 12:24, 38F
→
03/12 12:24, , 39F
03/12 12:24, 39F
推
03/12 12:24, , 40F
03/12 12:24, 40F
→
03/12 12:32, , 41F
03/12 12:32, 41F
→
03/12 12:33, , 42F
03/12 12:33, 42F
→
03/12 12:36, , 43F
03/12 12:36, 43F
推
03/12 12:36, , 44F
03/12 12:36, 44F
→
03/12 12:37, , 45F
03/12 12:37, 45F
你好像誤會了
希望做到的是在testing階段下出怪手(像對輸入資料加noise)使模型預測失準
而不是在訓練階段加雜訊
→
03/12 12:38, , 46F
03/12 12:38, 46F
※ 編輯: fallcolor (114.43.207.184), 03/12/2016 12:51:53
推
03/12 12:57, , 47F
03/12 12:57, 47F
→
03/12 12:58, , 48F
03/12 12:58, 48F
→
03/12 13:00, , 49F
03/12 13:00, 49F
→
03/12 13:03, , 50F
03/12 13:03, 50F
→
03/12 13:04, , 51F
03/12 13:04, 51F
推
03/12 14:01, , 52F
03/12 14:01, 52F
推
03/12 15:22, , 53F
03/12 15:22, 53F
討論串 (同標題文章)
GO 近期熱門文章
PTT遊戲區 即時熱門文章