逍遥公子专栏
上期回顾及思考
在AlphaGo Lee的算法中,人类的知识引导它找到了局部最优解,这并不能说人类的知识在其中起了负作用。关键得看优化算法是否足够强大,是否能跳出局部最优而找到全局最优。(如果算法够好,人类的知识可能会起到更好的助益。AlphaGo Master在某种程度上也证明了这点。)
AlphaGo的成员发展,到目前,经历了四代:
从人工智能算法的角度来看,
这里要注意的是:在人工智能的算法上,AlphaGo Master并没有突破性的变化。
Alpha Zero分别与 AlphaGo Lee和Alpha Master 的对决结果,是否真地说明:人类的棋谱知识没什么用?
增强学习是什么?
阿法元的成功带火了一个名词:增强学习(Reinforcement Learning,也称为强化学习)。
实际上,从AlphaGo Lee就开始采用增强学习。只是它先学完人类的棋局,再进行增强学习(通过自我对弈的方式)。
从大面上讲,增强学习是机器学习的一个分支。其中一种分法如下:
因此:增强学习是一种能教会机器理解事物、并解决实际问题的方法。
增强学习的目的
增强学习的目的:在一个环境(environment)中,得到适用于代理(agent)的最佳策略(policy)。
下图是其典型构造。
策略向环境产生一个行动(action),从而改变此环境的状态(state);同时环境也会向代理反馈一个奖励(reward):如果奖励是正向的,将强化原有的策略;反之,则弱化原有的策略。无论哪种情况,都会促使代理进行相应的策略调整,从而获得最大化的奖励。
问
听起来,有点难理解?
答
下面,我们以下围棋为例,解释这个问题,你就好理解了。
在下围棋这个应用上,“代理”是:棋的一方(例如:AlphaGo);“策略”是:你走棋的思路;“行动”是:你落子的招式;“环境”是:围棋和对手;“状态”是:棋局的形势;而“奖励”就是:最终的输赢(也可以是棋局的优劣)。
增强学习是一种带有反馈行为的学习方式:“代理”与“环境”相互交互,通过“行动”,获取反馈信息,然后不断地自我调整、学习,最终找到最优策略。这一点,它与传统的有监督学习和无监督学习是不同的。
我的体会
1
最优策略是一系列行动的序列
增强学习得到的最优策略是一系列行动的序列,并不是单一的一个行动。这就相当于要找到一条最优的曲线。如果用传统的解优化的方法,的确是非常困难的。
2
"环境"存在不确定性
环境的存在带来了一定的不确定性。就好比下棋时,你不确定对手下一步的招式,这就增加了问题的复杂度。
怎样求解,得到最优策略?
理论上,求解出最优策略是非常困难的。一般会加上一个很强的假设并符合马尔科夫链的特性。即:下一个行动的好坏只与当前的状态有关,而与之前的行动和状态都无关。
这是个很强的假设,大大简化了问题。(好在,实际中,符合这种假设的应用还不少。)
针对它,有个专业名词:MDP(Markov Decision Process,马尔科夫决策过程)。
说到这里,不禁想起十年前,当时在做博后。深夜里,和实验室的同学们一起研究 MDP 论文的情景。
当时是怎么也不会想到:十年后,MDP 换了个叫法 - “增强学习”,竟然这样火了起来。
要解一个增强学习的问题,关键在于要得到两个函数:一个是价值函数,一个是Q函数。
价值函数(V函数):评估当前状态的好坏
它是当前状态的函数 V(s)。基于当前的状态,在考虑所有可能的行动及导致的新状态的基础上,得到最终奖励的平均值。
Q函数:计算价值
它考虑的是:采取行动a之后的价值。
它是当前状态V(s)和行动的函数 Q(s,a)。即:在当前状态s下,当采取行动a后,得到的最终奖励的平均值。
对照上述定义不难看出:Q函数是一个策略函数,给出了在当前状态下,最佳的行动是什么。
只要把在当前状态下所有可能的行动的Q函数值都计算一下,选择最大的值,其对应的行动就是最佳的(因为它让最终的奖励最大化)。
但Q函数的计算是离不开V函数的。
根据V函数的定义,把在当前状态下,采取某一行动后可能导致的行动状态的价值分别计算,并取其最大值,就能得到Q函数的值。
在解决实际问题中,要得到这两个函数是非常困难的。
学术界一般会进行大量假设,限制问题范围,以求能得到一个闭环的公式描述。
在AlphaGo中,
怎么得到这两个函数的值?
AlphaGo采用深度神经网络的方法得到这两个函数的值,以指导最佳的落子策略。
既然是深度网络的方式,就必须有有标记的样本对它进行训练(可参看另一篇阿法元的文章《闲谈AlphaGo Zero (阿法元)》)。
AlphaGo 的算法采用的是:随机走子和自我对弈的方式。即:根据最终的胜负(AlphaGo Lee的方式)或评估的棋局优劣(AlphaGo Master 和AlphaGo Zero的方式)产生大量的有标注的样本数据来训练这个深度神经网络。这个方式被称为蒙特卡洛搜索树(Monte-Carlo Tree Search, MCTS)。
(当然,这里说的是其基本思路,它背后的理论要复杂很多。具体细节大家可参看相关的专业解读。)
本文小结
写到这,有关AlphaGo的文章,就告一段落了。各路大侠:若有兴趣,欢迎和我进一步讨论,互相学习。
这篇文章讲的理论有点多,我自己也是花了很多时间来阅读理解,并尽量用通俗易懂的文字把它描述出来。
抛开其中深奥的理论,我最深的一点感触是:阿法元所用的算法,无论是增强学习还是深度神经网络,亦或是蒙特卡洛搜索树,都是在人工智能学术界已经研究得比较久的,并且是较成熟的方法。所以不仅是阿法元的技术,整个AlphaGo系列,都只是一种现有方法的整合的工程应用。
当然,这种工程应用的结果让人不敢小觑:在现有理论的基础上,工程应用带来的可创新空间还是非常非常地大;给人们的生活带来的惊喜也将是越来越无法估量的,就好像:乔布斯的苹果、马斯克的特斯拉。
我们下期再见!
小编 二当家
部分图片 网络
领取专属 10元无门槛券
私享最新 技术干货