2017年10月19日凌晨,DeepMind 在《自然》杂志上发表了一篇论文,正式推出人工智能围棋程序的最新版本——AlphaGo Zero.

AlphaGo Zero成长史

 最初AlphaGo Zero除了围棋的基本规则以外,没有任何关于围棋的知识;
 3个小时之后,它通过自学入门围棋,成为人类初学者水平;
 19个小时之后,它自已总结出了一些"套路",比如死活,打劫,先占边角等等;
 自学第三天后,它战胜了AlphaGo Lee(当初击败李世石的AlphaGo版本);
 自学第四十天后,它战胜了AlphaGo Master(今年击败柯洁的AlphaGo版本)


 与之前的AlphaGo版本相对,它不但提高了水平,而且节约了算力.


 这还不是最重要的,最重要的是它只使用了增强学习,因此它的意义就不仅仅是赢得棋类比较这么简单了.

增强学习

 先来看看什么是增强学习(Reinforcement Learning),我们知道机器学习分为有监督学习和无监督学习,增强学习介于它们两个之间,它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。简单地说就是边干边学.
 之前的AlphaGo版本也用到了增强学习,它先使用人类专家下棋数据作为训练(有监督学习),然后再让机器自己和自己对弈(增强学习)并从中吸取经验.而AlphaGo Zero是完全不使用专家数据训练,只使用增强学习,并且成功了.它在几天之内进行了上百万盘自我对弈,达到了人类围棋巅峰水平,而且那些"套路"都是它自己总结出来的,看到学习过程图真的很震撼(具体图请见论文),感觉它把人类成百上千年的围棋技术发展史浓缩在几天之内了.


 如果用人类专家的方法训练机器,机器一般只能发展到和人类专家相似的水平.AlphaGo Zero证明了机器只不会鹦鹉学舌,它能自学,而且速度还挺快.从这个角度看,它确实具有里程碑的意义.

AlphaGo 版本比较

 下面从技术角度看看Zero与AlphaGo早期版本相比,到底有哪些进步.早期的AlphaGo使用的是卷积神经网络,Zero加入了残差网络;早期使用决策和价值两个网络,Zero将它们合二为一;早期是人工提取特征,Zero直接把棋子位置直接作为输入;早期是有监督学习与增强学习相结合,Zero只使用了增强学习.(具体请见论文)
 同样它们都使用了神经网络,蒙特卡洛搜索树算法,而算力从原来的48个TPU降到了4个TPU.总之,它的进步主要是采用新技术和化繁为简.有点像哥白尼的日心说,一下把复杂的事情变简单了.

机器自学能否超越人类

 有人说,人的脑细胞不是更多,为什么让机器给超越了呢?机器把所有时间和运算力都放在训练棋局上,人的大脑虽然厉害,但是分块处理各种工作,每天工作时间也有限.并且神经网络算法里还加入了很多优化算法并不完全和人脑一样.
 又有人说,原来说机器学习就是鹦鹉学舌,那么经过增强学习,机器是否就可以自学,跳出人类模型,创造模型,超越人类呢?
 人是高级动物,把刚生出来的小孩扔到大森林里他活不了,反而一些低级动物一生出来就能自己生活.因为低级动物的生存的目标,规则,方法都比较简单,而基因中又刻画了一些先天的技能.就像棋类游戏,有确定的规则,可判定的结果.目标,价值,损失…由于人需要处理更复杂的问题,所以需要更多积淀和更灵活的框架.这也是目前算法欠缺的地方(个人观点,仅供参考).人类还有一些明显有优势,比如:从少量的训练中积累经验(基于人的常识系统);知识迁移(见Minsky的框架理论)等等,这属于人工智能中的其它领域了.
 棋类游戏比较容易定义和模拟场景,属于一个很抽象的领域,可以不断地试错.在真实的世界里,大多数事情都没机会多试,不可能让汽车在大街上去练自动驾驶,积累经验.这也局限了增强学习的使用范围.

论文原文

 论文原文《Mastering the game of Go without human knowledge》请见:
https://deepmind.com/documents/119/agz_unformatted_nature.pdf
建议阅读原文,读起来确实激动人心,一共40多页,没空的话读前14页即可.后面是 References,技术细节和图表数据.


技术文章定时推送
请关注公众号:算法学习分享

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐