神经网络的“自我学习”是什么?
返回“棋软知识”
在主流棋类引擎中,神经网络都属于离线监督学习。
作者或者训练师会先让引擎自对弈,从而生成数据(棋谱)。
以nnue跑谱为例,这些数据里面有每步的局面、分数、和这局游戏的结果等等信息,通常是以每步几层或者几千、几万节点自对弈生成。
生成了足够多的数据后,便拿去训练,训练过程可以简单理解为去调整神经网络里的海量参数,使得网络的输出更接近数据。比如一个局面100分,训练就会改变神经网络参数让评估分数去接近这个100分。
因为是离线学习,依赖作者训练发布,所以你使用引擎是无法让引擎“学习”的(但棋类也完全不适合在线学习),而引擎有哈希表这种暂时的信息储存,所以拆棋时会感觉引擎有记忆功能,但重新加载后便失去了记忆。
如果有人声称引擎可以边使用边学习,并试图让人掏钱,就有极大概率是骗子。