当今世界,科技发展日新月异。即便是业界中人,往往也搞不清同行们的动态。所以,隔三差五需要有人梳理业界的动态。
“deep reinforcementlearning: an overview” [1] 这篇论文的作者,梳理了深度学习与增强学习相融合的最新动态。
这是一篇苦心之作,
梳理了该领域各个学派的基本思路及其区别。
罗列了各种测试平台,目前主要是各种游戏,之所以用游戏来做测试,是因为容易采集数据。
值得读的论文,罗列了各个学派的重要论文。
枚举了若干重要的应用,包括游戏,重点介绍了下围棋的 alphago,教无人机做特技,教机器人行走和跳跃,机器翻译和对话,智能医疗诊断,深度学习系统的自动设计等等。
论文:深度强化学习概览
作者:yuxi li,加拿大阿尔伯塔大学(university of alberta)计算机系的博士
摘要
本文概述了最近取得许多令人振奋的成果的深度增强学习(rl)。我们从深度学习和增强学习的背景开始说起,并介绍了各种测试平台。然后我们讨论了 deep q-network(dqn)及其扩展,异步方法,策略优化,激励,以及规划。接着,我们讨论了注意力和记忆,无监督学习,以及学习学习(learning to learn)。我们还讨论了 rl 的各种应用,包括游戏(尤其是 alphago),机器人,语音对话系统(即,chatbot),机器翻译,文本序列预测,神经架构设计,个性化网络服务,医疗保健,金融,以及音乐自动生成等。我们也提了一些尚没有综述的主题/论文。本论文以一系列值得阅读的 rl 重要论文的列举结束。
什么是增强学习,为什么需要引入深度学习?
不妨把机器学习看成二维空间,第一个维度是问题,第二个维度是方法,用什么方法来解决问题。
大致来说,机器学习想解决两大类问题,模拟和决策。
1. 模拟:
给定一系列输入 x 和输出 y,模拟两者之间的函数关系 y = f(x)。
预测是函数模拟的一个小类,譬如根据各种经济因素 x,预测股票价格。
分类是另一个小类,譬如给定一张人像照片 x,识别照片中的人物是不是y。
2. 决策:
先构造三元组,包括状态 state、行动action、收益 reward。
序列是一连串三元组
输入若干序列,作为训练数据。
决策的任务,是分析这些训练数据,发现最优行动策略
,目的是获得最大的收益
。
类似于金融折现率,未来的收益,折算成现钞,得打个折扣。远期的折扣,比近期的折扣大,这就是
的意义。
决策的应用很多,下棋、开车、问答、医疗诊断、机器人自主行走跳跃等等,都是决策问题。
逻辑回归 logistic regression、向量机 svm、决策树decision tree 等等是传统的机器学习的方法,主要用于解决模拟问题。
深度学习 deep learning 是最新的方法,起先也主要用于解决模拟问题。
增强学习 reinforcement learning,譬如 q-learning 算法,是解决决策问题的传统方法。
为什么要用深度学习这个新方法解决决策问题?
目的无非是,1. 解决更复杂的决策问题,2. 学得更准,3. 学得更快,4. 用更少的训练数据。
传统的增强学习存在什么问题?
卢浮宫馆藏美术作品众多,经验丰富的导游,会帮游客规划一条参观路径,走最短的路,看最多的名画。
如何规划最佳参观路径,是一个决策问题。传统的方法,是增强学习 reinforcement learning。
简单而蛮力的办法,是找一张卢浮宫地图,尽可能罗列所有可能的参观路径,评价每一种路径的总收益。
这是 monte carlo tree search (mcts) 的思路。
mcst 简单有效,但是缺陷是计算成本高。
下围棋的 alphago,用 mcst 算法来精算局部的对弈策略。
但是,不能用这个方法来学习整盘棋的策略,因为如果要穷举整盘棋的所有对弈策略,数量级大概是
。单机搞不定,云计算也搞不定。
如何降低计算量?思路是不必浪费精力去为槽糕的路径评估收益。问题是,如何甄别槽糕的路径?
不妨换一个思路。不会有观众故意跟自己过不去,专挑路程长、名画少的槽糕路径去参观卢浮宫。
我们不必关心哪条路径是槽糕的路径,我们只需要研究其他观众曾经走过的路径,就不会偏离最佳的路径太远。
什么是最佳路径?两个要素,
1. 当前收益大:每走一步,多半能看到一副名画。
2. 潜在的未来收益大:每走一步,离其它名画更近。
用数学公式来表达,就是,
的专业名称是行动价值 action value。
用价值取代收益,既着眼当前收益,又兼顾未来潜力。
即便当前没有收益,譬如爬楼梯时一幅作品都看不到,但是楼上的展厅有名画,未来潜力巨大,爬楼就是明智的行动。
为了估算当前的行动价值
,先得估算下一步的潜在价值
为了估算下一步的潜在价值
,先得估算再下一步的潜在价值
重复以上步骤,直到走出卢浮宫出口。这个办法,就是 q-learning算法。
q-learning 算法是传统增强学习中最重要的算法。除此之外,有若干变种。
但是无论哪一种变种,面对复杂的问题,传统的增强学习算法都难以胜任。
如果状态
不仅仅是位置,而且也包含每幅名作附近的拥堵程度,参观卢浮宫的路径规划就变得更复杂了。
如果行动
不仅仅是前进、后退、左转、右转,而且也包括速度,问题就更复杂了。
如果收益
不仅仅取决于作品的知名度,而且也包括观众的品味, 问题就更复杂了。
解决复杂的决策问题,是增强学习与深度学习融合的一大动机。
增强学习与深度学习融合的切入点,是用结构复杂的神经网络,来估算增强学习中的行动价值
、收益
、策略
等等。
深度增强学习深在哪里?
1. 用深度学习来估算价值
deep q-network (dqn), double dqn , dueling architecture 等等算法,都是这个思路。
先根据训练数据,来计算当前的行动价值,
然后用深度神经网络,估算
,如果估算得完全准确,那么
如果两者之间有差距,那么就不断调整深度神经网络的参数,缩小两者的差距,这就是深度增强学习的训练过程。
这个办法,就是 deepq-network dqn,及其变种 double dqn 的基本原理。
dqn 的计算成本较大,为了学得更快。决斗模型 dueling architecture 提议,拆解
把
拆解为
,其中
是每个状态的价值,而
是指在状态
下采取行动
后,价值的增量。
dqn 算法用一个规模较大的神经网络,去模拟
,训练过程的计算成本高。
而决斗架构 duelingarchitecture 用两个规模较小的神经网络,分别去模拟
和
,从而大大降低了训练过程的计算成本。
2. 用深度学习来估算策略
dpg (deterministic policygradient),deep dpg,gps (guided policy search),trpo (trust region policy optimization) ,pgq 等等算法,都是这个思路。
dpg 把增强学习的训练过程,类比成演员和评委的互动。
dpg 用一个神经网络 actor,去模拟策略
用另一个神经网络 critic,评估使用某种策略后的行动价值
选定了策略 π 后,在每一种状态,actor 都会选择固定的行动,所以,
正因为如此,训练评委神经网络 critic时,只需要对状态
做梯度下降 (gradient descent),不仅计算量小,而且能够解决复杂的增强学习问题。
deep dpg 在此基础上,做了一些改进。尤其是把训练数据回放,并且每次训练时,柔和地改进网络参数。
回放和柔和改进,目的是为了既不增加训练数据的数量,又提高训练的稳定性。
3. 用深度学习来估算收益
某些应用场景的收益
,无法用简单的方式表达,譬如模仿书法家的字体风格,或者模仿某位飞行员的特技飞行动作。
反向增强学习 inverse reinforcementlearning,小样本学习 one-shot learning 等等算法,针对这类模仿问题,做过有益的尝试。
生成对抗网络,generative adversarialnetworks (gans),提供了新思路。
gan 主要由两个神经网络构成,
1. 生成模型generator,从训练数据中猜测这些样本的数据分布,并伪造数据。
2. 鉴别模型discriminator,识别哪些数据是真实的训练数据,哪些是生成模型伪造的假数据。
两个模型不断对抗,使得生成模型伪造的数据越来越像真的,而鉴别模型的识别能力越来越精准。
对抗的结果,是生成模型对数据分布的猜测,越来越精准。
模仿,是增强学习的一个子领域。
把 gan 应用于增强学习,将是一大热点。
4. 融合
dqn 用深度学习来估算价值函数
,dpg 用深度学习来估算策略函数
,gan 用深度学习来估算难以言说的收益函数
asynchronous advantageactor-critic (a3c) 算法,试图把模拟价值函数
的决斗架构,与模拟策略
的演员-评委模型,外加多核并行计算,融合在一起。
differentiable neuralcomputer (dnc) 不纠结价值函数
和策略函数
的细节,而是把它们看成黑盒子的内部构成。
dnc 用 lstm 来分析训练数据,把分析结果保存在 lstm 外部的存储空间。
lstm 分析结果是一组数字向量,数字向量的物理意义很隐晦,如同表达生命特征的 dna,但是它们包含了
的内容。
虽然数字向量的物理意义很隐晦,但是只要黑盒子能够做出正确的决策,就是好盒子。
dnc 的论文作者,用这个技术来玩积木游戏,来规划伦敦地铁任何两站之间的最佳换乘路径,效果很好。
黑盒子能不能完成更复杂的任务?这是吊足观众胃口的悬念。