Alpha Zero登上Science封面- 听铁哥浅析阿尔法元
从1997年“深蓝”击败国际象棋冠军卡斯帕罗夫,到2017年AlphaGo击败围棋冠军柯洁,AI 在与人类对抗训练中不断提高,而脱胎于 AlphaGo 的 AlphaZero 则完全脱离了人类棋谱的束缚,通过自我博弈,成为多种棋类游戏的王者。在最新一期 Science 中,首次全方位揭示了 AlphaZero 背后的原理。
阿尔法元超越自己的大哥-阿尔法狗。 这一代算法被deepmind命名为Alphago Zero, 中文阿尔法元,“元” 含有起点,创世之意。 总之,就是从零开始 ,其实这个元字用意很深, 一方面说, 这个算法是不需要人类数据指导,也不需要它哥哥(阿法狗)指导,就自己演化出来。 另一方面也可以理解为它可以开启新纪元。
当然, 同时谷歌也宣传了它的TPU, 只需要4台TPU运行几天的功夫就可以了。 那么, 这次的大新闻是不是一个谷歌精心策划的商业广告,还是真的隐藏天机。铁哥就来给大家解读一下阿法元和其背后的深度强化学习,看看这次的大新闻算不算得从零到一。
如果大家了解计算机学下棋的事情,就会了解到几十年前,我们就已经用穷举法来解决棋类问题了,在国际象棋这类游戏里, 计算机会以比人脑快的多的速度推演两军对峙的未来,在运用零和游戏里固有的减少风险策略, 在1996年就可以让人类棋手甘拜下风。
穷举法不适用围棋,因为跟其灿若宇宙星辰的可能性搜索空间(每一步19*19可能,若干步骤后就是天文数字,这种由于可能性爆炸导致的悲剧也称为维度灾难),被称为人工智能界的mission impossible。 而在2015年, 梦幻被粉碎,原因在于深度卷积网络的幽灵终于潜入到了棋类游戏领域。 深度学习最擅长把高维度的问题自动的降维,从而解决了刚说过的维度灾难,如宇宙星辰般的搜索空间瞬间被压榨到很小,在此时的机器算法面前, 围棋无非是一个当年的国际象棋。
然而当时立下首要功勋的深度卷积网络,却需要学习三千万组人类数据进行训练, 而整个训练过程需要的能量据说要耗费几吨煤炭。
人们说,你秒杀人类智商的阿法狗无非是比人类看棋谱的速度快,难道还真的懂围棋吗? 你所作的顶多是模仿,里面的强化学习到底有多少作用, 真的不知道。
然而今天,阿法元却能够在不用那3000万数据的时候来个完胜阿法狗。从人工智能的技术角度看, 这是强化学习的胜利, 在不进行监督学习的情况下, 就可以达到一个高于人类的境地。
为什么强化学习如此重要? 让我们先比较一下监督学习和强化学习的基本思想。 监督学习, 强化学习和无监督学习是机器学习的三大框架。 某一个意义说,监督学习是给定输入和输出,机器来学习输入和输出的关系,一个好的监督学习算法犹如一个预言家, 它能够根据自己之前见过的输入输出关系来预测未知的输入。
强化学习呢? 强化学习的三元素是状态,行为和环境奖励。 强化学习条件下, 学习者每一步看到的是它决策的行为结果, 然后导致下一步行动,为了最终游戏的胜利。 一句话说:强化学习强在决策。 监督学习是预言家,强化学习是决策家。
我们一比就明白, 强化学习更像是一个日常决策中的人。我们看到一个老虎,监督学习帮你识别出来它是老虎,那么你可能刚说出来就被它吃了。 而强化学习告诉你赶紧跑,你可能活下来。 监督学习让你成为复读机,而强化学习让你称之为生物。
再深一点想,其实学习是为了生存,是赢得game of life(想想那些不太读书就能过得很好生活的真是深谙强化学习的道理)。 强化学习赋予机器以灵魂。监督学习的那些任务反而是在这个宗旨之下产生的。
回到围棋, 我们看看强化学习如何决策: 我们在好好理解一些一下“强化” 二字, 强化的意味是: 强化优势经历,反过来,就是弱化劣势经历。当你走了一部棋导致不好结果,之后被选入这一步棋的概率就降低, 而导致胜利的选择被不停的强化,直到你每次都延着最佳路径前进。这听起来很像进化, 而与进化的区别是,进化是严酷的客观环境对随机变化的生物的选择,而强化学习里的单元可以通过梯度下降主动调整策略。
既然强化学习那么牛, 为什么阿法狗还用监督学习这个拐棍呢?一句话说,强化学习太难了!
强化学习有两大难题:
1, 奖励时间的不确定性: 今天的努力,可能明天回报, 可能十年后才有回报, 今天带来奖励的事情,明天可能就导致悲剧(比如吸毒很爽未来地狱) 对于游戏里的每一次决策, 你都无法获得立即的反馈,相比监督学习时时可以得到对和错的答案,这个信息实在太弱了, 用来指导学习,那是慢慢的(如何利用这个或有或无的信息,强化学习的一系列方法围绕而来,比如Q-learn)。
2, 探索与收益的平衡难以掌握: 有的人一辈子抱残守缺,7岁玩泥巴未来就永远玩泥巴。 有的人一辈子都在探索不同的方向,但是换来换去最终庸庸碌碌。而只有恰当把握探索收益平衡的,比如说27岁前读书去不同国家,27岁开始认准一个方向成为大佬,30岁前各种风流倜傥,30岁选个知书达理另一半从一而终。 强化学习始终面临是探索更多空间,还是开始用现在经验收益的矛盾。
这两点放到围棋这个搜索空间犹如宇宙星辰的游戏里,估计学习时间也要用生物进化的尺度算, 然而阿尔法元所用的强化学习算法,号称解决了这个问题。
仔细看它和它哥哥阿尔法狗的差别没那么大, 只不过这一次的神经网络完全由强化学习训练, 和蒙特卡罗树得融合可以算是完美。
之前的阿尔法狗有策略和估值网络(都是深度卷积网络),策略负责把棋盘现在的状态转化为可能的行为概率, 这个东西被称为策略(policy,是由每个可能的行为概率构成的向量,简称策略向量) ,估值则是输入目前的棋盘状态得到最终结果的概率。 这两个网络在这一次被合成一个巨大的深度残差网络(卷积网络的一种)。
Nature图: 深度卷积网络计算概率
深度卷积网络擅长整体对图像信息进行编码, 我们可以把这个巨大的残差网络所作的事情看成白日梦者对未来的总体规划。 多层卷积本身的天性决定它擅长从这种19*19的格子图像总结出意思来,强化学习的信息一旦可以训练网络,就会产生意想不到的效果。而之后MCTS蒙特卡罗树则对这种初步的结论进行实践修正。
在这里回顾一下蒙特卡洛树是怎么工作的,说到蒙特卡洛, 这是大名鼎鼎的随机抽样方法。所谓树,大家一定可以想到决策树,树的节点是某一刻的状态,而枝杈代表一个决策(行为),而这里的蒙特卡洛树即生成整个决策树的过程,通过大量的实验(犹如蒙特卡洛抽样的过程)得到每个决策行为取胜的概率。
决策树从一个状态s出发,每个分支代表一个可能行为(a),而且有一个代表最终赢率的分数与之对应,我们选择分数最高的那个行为继续展开(下一次行动),得到新的状态,用相同的规则行动,直到游戏结束, 最终赢的走法加一分, 输的走法减一分,依次往复模拟无数次后,就会得到从s出发不同决策赢得比赛的概率。 这个过程酷似进化选择算法, 就是让那些有优势的选择有更高的繁殖子代概率, 最终胜出。虽说这仅仅是阿尔法元的一小步,却包含了著名的Q-learning和马尔科夫决策树的思想。
我们来看每一步决策神经网络和蒙特卡洛树是怎么结合的: 决策分为搜索阶段和行为阶段。假定现在我处在状态s,在搜索阶段神经网络对我所能做的所有行为(a)进行根据对未来的猜测进行预判,生成赢棋的概率v和策略向量p(s,a)。 当然这个预判开始很不靠谱, 蒙特卡洛树在此基础通过无数次模拟实践展开来(注意均是在状态s上),来实践出靠谱的策略向量pi(s,a)。
有了神经网络的帮助,蒙特卡罗树展开不是瞎展开, 也不是从零开始,每一个树的新分支上,我们都通过神经网络给它一个是正确步骤的先验概率(P)和初始的赢率(V),代表走它通向胜利的概率。在神经网络助攻下,蒙特卡洛树可以更快的更新策略向量(每个行为选择的概率)。此时搜索阶段结束, 我们从这个策略向量里通过抽样得到我们最终进行的行为,是为行为阶段。 这下一步棋还真不容易啊!
Nature图: 策略更新的方法
最终当游戏结束的时候,神经网络的权重开始更新,这个更新的过程里,我们把整个游戏的过程分成很多小段, 比较神经网络预测的概率和蒙特卡洛树算出来的(策略向量之间的差异),以及预测结果与最终结果的差距进行梯度下降(梯度由如下公式得到,此处混合之前的策略和估值网络)。
这样周而复始,我们可以推断,最终神经网络的预测将越来越靠谱,和蒙特卡洛树给出的分析越来越一致。 而围棋的套路也会被一一发明出来,所谓无师自通。
Nature图: 看看右下的图,是不是很像人类选手常用的招!
为什么说阿尔法元敢叫元? 如果从技术角度看,这一次的阿尔法元没有那么多新的东西,而是在之前基础上让强化学习进行的更彻底了,然而它所展示的深度强化学习的应用未来,却是十分诱人的。
图: 强化学习的胜利(蓝)对比监督学习(紫)和监督+强化学习(虚线)
首先,我们看到, 并不是每一件机器学习的事情, 都需要和数据,尤其是需要大量人力的标注数据死磕, 而是可以通过恰当的设立模拟器(比如此处用到的蒙卡树) 来弥补。阿尔法元不是不需要数据,而是数据都是自己模拟产生的。 模拟+深度强化学习, 在简单的游戏规则下,一些复杂的行为范式可以进化出来,而且可以比人类设计的还好, 这, 你就可以大开脑洞了。
这件事在很多设计性的工作里实在是太诱人了。 无论是设计新材料,建筑,还是衣服,这些可变维度很高的事物,你都可以想象设立一个模拟仿真环境,再设立一个相应的神经网络去做各种尝试,最终设计出的结果有一个奖惩函数反馈,来让这个网络来学习。这就打破了深度学习创业只和手里有大量数据的垄断者相关的梦魇。
这里的深度强化技术, 也才只展示了冰山一角, 在一类被称为SLAM的技术上, 深度强化学习被证明了强大的控制能力, 它能够驱动机器人在非常复杂的空间里进行探索无需GPS,对于这一类深度学习任务, 有别于alphago的任务,因为围棋属于完全信息的博弈, 而真正的空间探索,是通过感知系统探测到的不完全信息, 通过记忆在时间尺度上的综合,这一点,只有搬出大名鼎鼎的LSTM来对付了。
能够控制运动的深度强化学习,迟早会改变工业界,它不仅是无人车里的核心技术, 更是对话,推荐系统, 金融交易, 甚至是图像识别的利器,几乎各类需要监督学习的事情,说到底强化学习都有实力。 你如果制造一个聊天机器人, 你当然希望它能够揣测你的意图和你谈情说爱而不是背书。 你要一个推荐系统, 你当然不需要它天天给你推你刚看过的小黄片,而是带着你探索一段BBC-性的秘密。 所以, 强化学习, 是人工智能的大势所趋啊。
更有甚者,我们可以设立一个具有类似地球的物理环境的地方,让配备了深度强化学习系统的虚拟生物进行各种活动,看它们能否利用这个环境发现和利用其中的物理定律。
铁哥本人的研究目前涉及深度强化学习与RNN的结合, 因此参与课程也是与铁哥结盟, 共同进军未来的深度强化学习世界的机会。