AI大事记
围棋作为一款完全信息博弈游戏,因其复杂性,从人工智能初期便吸引了无数的计算机专业人士的兴趣,并设计各种算法与职业棋手进行挑战。
随着2016年3月份AlphaGo以4:1战胜职业选手李世乭,今年5月推出Master以3:0战胜世界第一的柯杰,再到2017年10月18日推出阿法元(在国际顶级期刊Nature发表文章),完全自主学习100:0完胜Mater,标志着围棋人工智能经过多年的发展,彻底碾压了人类。
接下来我就从围棋人工智能的难度、阿法元的核心技术和未来几个方面做一个梳理和介绍。
1. 围棋人工智能的难度
围棋人工智能的难度在于以下两点:
- 搜索空间巨大:合法的围棋变化(10^170) 大于宇宙中原子数(10^80)
- 局面判断难:局面的判断分为三个层次,首先是对当前双方盘面的正确理解,其次是能够识别对方意图的识别,最后是评估,对对方各种意图造成的后果进行客观的评估。这三点逐层递进,难于形式化,因此也是围棋AI的一个重要挑战。
2. 阿法元的技术思路
最新出炉的阿法元,仔细阅读DeepMind发布的文章,其核心的思路如下图所示,即
利用当前最优模型自主博弈产生大量训练样本->利用训练样本进行深度强化学习,更新当前训练的决策模型->当前训练模型和最优模型进行多轮对弈,利用结果评估两个模型的优劣,并决定是否替换最优模型。然后依次迭代。
2.1 基于蒙特卡洛树搜索的对弈数据生成
蒙特卡洛算法基于大数定理,即采样点越多,则结果越接近于真实分布。那么在围棋中,即每一步都通过选取最大可能的若干种走子,依次迭代从而产生了一个从当前局面出发的搜索树。在若干步之后,再采用快走的方式从叶节点到本局结束,得出最终的双方输赢。然后反传路径到数的顶端,经过的每一个节点都修改其上的输赢概率。那么最终的走子就是赢得概率最大的那一步棋。这就是蒙特卡洛搜索树的基本步骤。
在阿法元中,比较精妙的是,它采用MCTS(蒙特卡洛搜索树)依次生成最优的白方走子,黑方走子一直到分出输赢,将整个过程作为若干的模型训练样本,即让模型朝着最优模型的走棋方式逼近。这种self-play方式,在alphaGo中也使用过,只是之前进行self-play的模型是完成监督学习后采用的方法,将模型从业余4段提升到职业水平,并且在之前的文章提到如果初期就采用self-play进行学习效果并不好。这个从逻辑上也是成立的:让两个臭棋篓子天天下,肯定无法达到专业水平。现在看来,这种逻辑的漏洞在于,臭棋篓子相互下无法提升的原因在于他们没有一直和比自己稍微高一点点的对手博弈,而且博弈的时间不够长。阿法元则不同,足有模型就相当于对手,一旦决策模型水平稍微超过了最优模型,那么就把最有模型换成当前的决策模型。也就有点儿像乒乓球的循环赛,谁的水平最高,谁就当指导,一旦你不行了,就立刻换上更优秀的。这样一来就避免了窝里斗的局部最优。
2.2 基于卷积神经网络与残差网络的特征抽取与模型训练
阿法元采用了目前较为流行的CNN+ResNet进行特征抽取,较少的应用人为设计的特征,只是把1919的围棋落子和双方过去8步的走子历史形成1919*17的三围矩阵做输入,最终的特征输出一方面输入到策略网络,同时又输入到价值网络,也就是价值网络和策略网络公用一套特征抽取,这个也好理解,同一个大脑不可能在判断当前局势和走子策略时进行两次不同特征抽取。这样做的好处一方面降低了训练时间,同时也提高了两个网络的和谐度(前期处理结果一致,差别仅在后期功能)。当然这个并非阿法元的创新,几个月前在deepmind公布星际争霸baseline时已经采用这种网络架构了。
2.3 基于对抗评估的策略模型更新
模型更新那就计较好理解,用训练好的新模型和最优模型进行多场较量(500局),如果新模型胜率超过55%,也就是比最优模型好一点点,那么就用新模型更换最有模型。然后开始新的一轮迭代。如果新模型胜率不够,说明学的还不够好,继续跟着学。
这里头有一点就是,万一新模型训练总是超不过最优模型怎么办?这里算法也进行了一下小trick(这个也比较关键),就是在生成策略时,加入了噪声信息,也就是新模型除了跟着最优模型学习外,还会自己在尝试新的走法。这应该也是能左右互搏的关键点之一。
3. 阿法元的意义
好了,算法的核心点介绍完,是不是觉得很简单。在AI领域就是这样,越是经典好用的算法,往往思路和过程都比较简单。那么这次阿法元的横空出世,到底有哪些重要影响呢?
3.1 摆脱人类知识的自主学习
AI的三个阶段分别是专家系统->监督学习->自主学习。自从2015年Deepmind提出DQN,将强化学习和深度神经网络结合在一起,在atari多款游戏上超过人类,就已经宣告一个全新的机器智能时代来临。然而任何新兴事物和技术的发展都不会一蹴而就,都会经历一个从怀疑到半信半疑,到尝试到应用到接受的过程。随着这两年DRL技术在游戏、机器人等多个领域的扩展,尤其是alphaGo、阿法元的冲击,相信很快就会掀起继深度学习后的又一波AI狂潮。无疑,阿法元的出现,进一步刷新大家的认知,加速DRL、自主学习技术发展的进程。
3.2 自我提升的从0到1
selp-play技术在理论上是有一定可行性的,当然也有人质疑。AI作为一个应用科学,最终还是需要实验和应用来证明。alphaGo的self-play验证了从1到10的可行性,这次,阿法元则更加彻底,直接从0到1.而这个也是比从1到10更具有突破性的结论。即机器可以不借助任何人的经验达到超越人类最高智力。
3.3 特征输入的进一步去人工化
在alphaGo时代,网络的输入还是人工设计的191948的人工特征,而这次则不同,只是把原始的棋子矩阵和历史信息输入到网络,就能得到更快更好的效果。又一次对人工经验进行了碾压。
后阿法元时代
阿法元是在自主智能学习道路上的有一个阶梯,她的成功让更多的领域专业人士意识到DRL的强大,接下来我相信,这项技术会很快向其他领域扩展。当然正如2007年hinton提出了DNN,到2011年深度学习才在语音识别领域取得突破性的应用,到了2014-2015年,整个领域内才正真开始了大面积的深度神经网络扩展和推进。在未来几年,基于大数据+神经网络的机制依然会存在,尤其是在产业界,因为移动互联网形成的涟漪效应和大数据的自动生成,DNN等技术会继续提升弱人工智能应用的效果。
另一方面,因目前神经网络的优化都是对事先设计好的网络结构上进行参数优化,主流还是采用BP反传机制,无论从训练效果,还是训练数据的要求,训练的计算资源需求都远远超过生物人脑的学习。为此,目前OpenAI正在开展的神经网络进化模型,因可以在训练中动态的调整网络结构,具有更加灵活的学习模式。只是目前才刚刚开始,在计算资源使用上有些过大。不过从趋势上看,有可能为自主学习开拓出一条阳光大道。一切都刚刚开始,让我们拭目以待!