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,技术细节和图表数据.