“奕星”存在的问题,江寒总结了一下。
一个是训练不够。
初代阿法狗在训练时,动用了几百块gpu。
对战李世石的版本,也动用了48块tpu、十几台高性能计算机。
训练时长更不是奕星能比的,至少都在半年以上。
其次,“奕星”在打造时,参考了初代阿法狗,其训练过程离不开人类棋谱。
在这种情况下,示范数据的质量,将极大影响它的成长。
甚至学到某些错误的着法,也不足为奇。
虽然有胡大力这样的行家帮忙,但收集到的棋谱数量仍不够充足。
并且其中有一些还存在质量问题,有滥竽充数的嫌疑。
这是手工筛选很难避免的。
最后,奕星欠缺了一点运气,无论现场发挥还是训练过程中,都不够幸运。
没错,“人工神经网络”的训练和运行过程中,包含着一定的运气成分。
复杂到这种程度的算法,人类只能掌握原理,但具体训练出什么东西,是没法完全读懂,并加以解释的。
对于人类来说,机器学习中的一些算法,其实自带“黑箱”属性!
有句“格言”在机器学习圈子里流传很广:
如果一个算法简单到能被大脑理解,又怎么能模拟复杂的大脑?
同理,如果一个算法连大脑都能模拟,那么其一定复杂到无法被大脑理解……
大概就是这么个意思。
落实到具体的点上,在这次对局中,大概率是“奕星”的“快速走子”模块出了问题。
在正常情况下,错误的下法会被“价值判断网络”否决,但在极其罕见的某些特定情况下……
比如:“快速走子”下出了问题手,然后在模拟后续走子时,“价值判定网络”认为其中一半情况对手大优,另外一半情况中,己方大优,平均下来己方略好……
但事实上,这并不绝对可靠。
如果找不准棋形上的关键点,就有可能导致全盘崩溃。
“奕星”下出的无理手,大概率就是这么来的。
事实上,即使原版的阿法狗,也存在类似的问题。
2016年,阿法狗挑战李世石。
在第四局比赛中,李世石突然下出“神之一挖”,阿法狗应对失误,最终全盘崩溃。
但其实,李世石那一手是有问题的,甚至可以说并不成立!
然而,阿法狗却错误地将形势判断为己方大劣……
今天的情况,就与那一次差相仿佛。
江寒瞬间想通了很多,顿时精神一振,翻身而起。
迅速打开笔记本电脑,然后倒在床上,进入了虚拟空间。
排除bug、修改程序并不困难,但需要时间,而现在留给他的时间,只有一个晚上。
幸好有虚拟空间……
江寒在虚拟空间里,忙碌了差不多五天,终于将“奕星”修好了。
在产生问题的地方,紧急打上了“补丁”,增加了一些人工规则,作为神经网络算法的补充。
在普通情况下,通过模拟走子对盘面进行估计,再让“快速走子”和“价值评估网络”分别算出胜率,然后根据胜率落子。
而在特殊情况下,则依靠手工规则……
虽然经过一番努力,“奕星”初步修好了,可以再次投入使用。
但以后要想再提高棋力,必须继续收集各种特殊情况,不停地积累、调试,总结成特殊规则。
这是一个大工程,不花费个十年、八年,投入巨大的人力、物力,是无法达到阿法狗lee版本的水准的。
『加入书签,方便阅读』