以AlphaGo為例,如何理解神經網路的儲存容量 storage capacity ?

時間 2021-06-02 15:13:43

1樓:

神經網路當然沒有儲存所有局面的情況。它學習的人類棋譜和它的自我對局共同組成了它的經驗,至於經驗以外的局面怎麼應對要靠舉一反三,也就是泛化。

不過神經網路的儲存容量是個很有意思的問題。比如說,可以考慮一定規模的神經網路,可以學習多大容量的訓練資料。當訓練好的神經網路受到一定損傷,又會失去多少習得的規矩。

這些都是值得研究的課題。

2樓:Tattletale

神經網路有泛化(generalization)能力。用通俗的語言說,神經網路記住的是規律,而不是訓練集裡所有局面下的應法,更不是任何局面下的最佳應法。

如果神經網路(相對於訓練集)太小,會發生underfitting,也就是說找到的規律太粗疏。

如果神經網路(相對於訓練集)太大,會發生overfitting,也就是說記住的規律太多太具體,更像是死板地記住了訓練集裡局面與應法的一一對映,不夠抽象。

做圍棋AI的運氣好,拿kgs上(也許再加上gogod和tygem)區區幾十萬局遊戲當訓練集,就可以用乙個適當大小的神經網路提取出足夠多的規律。如果我們在公元2023年想做圍棋AI,那麼肯定會碰到資料不夠的情況,必須減小神經網路的規模才能有效訓練,而神經網路規模小了,可以儲存的規律也就少了。

把應用範圍推廣,判斷什麼東西是可以有效訓練的,什麼樣的tuning方法才可以有效訓練,以及訓練集與神經網路大小的關係,都還是算命和煉金術,離science的程度還有點遠。

補充乙個例子:google translate的神經網路版更新,個人估計在碰到小語種的時候會有麻煩,因為小語種的文字資料不夠神經網路塞牙縫的。這就是為什麼他們想方設法要弄zero shot learning,重用大語種的訓練結果,把現成結果硬拿給小語種用。

3樓:王導

直接儲存肯定是不行的。

如果有足夠大的儲存和運算速度,計算機靠硬算就能贏了人類了。

所有的技巧和演算法都在於,怎麼在有限的儲存和有限的計算資源下,取得最大概率的勝利,這時,壓縮儲存,省略調無用和重複的資訊就是一直在研究的工作。

以 MySQL 為例,如何進行 SQL 注入和防止被注入?

魚有鹽 MySQL為例,現在專案大部分都用框架實現,比如MyBatis框架,輕量級,功能強大 在MyBatis中,如果寫 則為直接把傳入的值填充到SQL語句中 如果寫 則為傳入的值只能作為值,放到SQL語句中。舉例 DELETE FROM student WHERE name 如果這樣寫,假如使用者...

以python為例如何快速掌握一門語言解決特定細分問題?

我看不出你的例子用最直接了當的演算法,如你描述的,有任何不妥。資料量就那麼大點,乙個O n 演算法就好了。演算法越簡單,越不容易出么蛾子。既然初學,以解決問題為導向,沒必要硬去找酷炫或者最高效率的演算法或者資料結構。 題主這個問題看起來就是在長篇大論一本正經地問乙個很簡單的問題。不過的確是很多初學者...

如何理解「陽以陰為基 陰以陽為偶」這句話?

黑超 看了回答要麼不著邊際,要麼就是瞎逼咧咧,沒幾個正經回答的。其實這句話很簡單。比如將心臟比喻成汽車發動機,這個發動機本身就是陰,發動機對外輸出的功率就是陽。按照這個思路,陰陽相輔相成的道理就可以理解了,比如孤陰不存,孤陽不生,意思就是孤陰孤陽都是個死。所以對於健康的人體,陽如果存在的話,就必須要...