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