神經網路的「自我學習」是什麼?
在主流棋類引擎中,神經網路都屬於離線監督學習。
作者會先讓引擎自對弈,從而生成資料(棋譜)。
以 NNUE 跑譜為例,這些資料裡面有每步的局面、分數、和這局遊戲的結果等等資訊,通常是以每步幾層或者幾千、幾萬節點自對弈生成。
生成了足夠多的資料後,便拿去訓練,訓練過程可以簡單理解為去調整神經網路裡的海量參數,使得網路的輸出更接近資料。比如一個局面 100 分,訓練就會改變神經網路參數讓評估分數去接近這個 100 分。
因為是離線學習,依賴作者訓練釋出,所以你使用引擎是無法讓引擎「學習」的(但棋類也完全不適合線上學習),而引擎有雜湊表這種暫時的資訊儲存,所以拆棋時會感覺引擎有記憶功能,但重新載入後便失去了記憶。
所以強引擎目前不可能一邊使用一邊學習,而是依賴作者訓練好之後再發布出來的。
