David Silver作者deeplearningindaba选自

「AlphaGo 之父」David Silver最新演讲,传授强化学习的十大原则

9 月 9 日-14 日,Deep Learning Indaba 2018 大会在南非斯泰伦博斯举行。会上,DeepMind 强化学习研究小组负责人、首席研究员、AlphaGo 项目负责人 David Silver 发表演讲,介绍了强化学习的十大原则。机器之心对该演讲进行了介绍。

演讲课件地址:http://www.deeplearningindaba.com/uploads/1/0/2/6/102657286/principles_of_deep_rl.pdf

原则一:评估方法驱动研究进展

David Silver 指出,客观、量化的评估方法是强化学习进展的重要驱动力:

  • 评估指标的选择决定了研究进展的方向;

  • 这可以说是强化学习项目中最重要的一个决定。

David Silver 介绍了两种评估方法:

  • 排行榜驱动的研究

  确保评估指标紧密对应最终目标;

  避免主观评估(如人类评估)。

  • 假设驱动的研究

  • 形成一个假设:Double-Q 学习优于 Q 学习,因为前者减少了向上偏误(upward bias);

      在宽泛的条件下验证该假设;

      对比同类方法,而不是只与当前最优方法进行对比;

      寻求理解,而不是排行榜表现。

原则二:可扩展性是成功的关键

David Silver 认为可扩展性是强化学习研究成功的关键。

  • 算法的可扩展性指与资源相关的算法的性能变化;

  • 资源包括计算量、内存或数据;

  • 算法的可扩展性最终决定算法成功与否;

  • 可扩展性比研究的起点更加重要;

  • 优秀的算法在给定有限资源的条件下是最优的。

原则三:通用性(Generality)支持算法的长远有效性

算法的通用性指它在不同强化学习环境中的性能。研究者在训练时要避免在当前任务上的过拟合,并寻求可以泛化至未来未知环境的算法。

我们无法预测未来,但是未来任务的复杂度可能至少和当前任务持平;在当前任务上遇到的困难在未来则很有可能增加。

因此,要想使算法可以泛化至未来的不同强化学习环境,研究者必须在多样化且真实的强化学习环境集合上测试算法。

原则四:信任智能体的经验

David Silver 指出经验(观察、动作和奖励)是强化学习的数据,公式可以写作:

h_t=o_1,r_1,a_2,o_2,r_2,...,a_t,o_t,r_t

经验流随智能体在环境中学习时间的延长而累积。

他告诫我们,要把智能体的经验作为知识的唯一来源。人们在智能体学习遇到问题时倾向于添加人类的专业知识(人类数据、特征、启发式方法、约束、抽象、域操控)。

他认为,完全从经验中学习看起来似乎不可能。也就是说,强化学习的核心问题非常棘手。但这是 AI 的核心问题,也值得我们付出努力。从长远来看,从经验中学习一直是正确的选择。

原则五:状态是主观的

David Silver 指出:

  • 智能体应该从它们的经验中构建属于自己的状态,即:s_t=f(h_t)

  • 智能体状态是前一个状态和新观察的函数:s_t=f(s_t-1,a_t-1,o_t,r_t) 

如下图所示:

  • 它是循环神经网络的隐藏状态。

  • 永远不要根据环境的「真实」状态来定义状态(智能体应该是一个部分可观察马尔可夫链模型)。

原则六:控制数据流

  • 智能体存在于丰富的感觉运动(sensorimotor)数据流中:

  •   观测结果的数据流输入到智能体中;

      智能体输出动作流。

  • 智能体的动作会影响数据流:

  • 特征控制 => 数据流控制

  • 数据流控制 => 控制未来

  • 控制未来 => 可以最大化任意奖励

原则七:用价值函数对环境建模

David Silver 首先给出了使用价值函数的三个原因:

  • 高效地对未来进行总结/缓存;

  • 规划过程简化为固定时间的查找,而不是进行指数时间量级的预测;

  • 独立于时间步跨度进行计算和学习。

他指出,学习多个价值函数可以高效地建模环境的多个方面(控制状态流),包括随后的状态变量;还能在多个时间尺度上学习。他还提醒我们避免在过于简化的时间步上建模环境。

原则八:规划:从想象的经验中学习

David Silver 提出了一种有效的规划方法,并将其分为两步。首先想象下一步会发生什么,从模型中采样状态的轨迹;然后利用我们在真实经验中用过的 RL 算法从想象的经验中学习。他提醒我们从现在开始关注价值函数逼近。

原则九:使用函数近似器

David Silver 认为,可微网络架构是一种强大的工具,可以丰富状态表示,同时使可微记忆、可微规划以及分层控制更加便利。他提出将算法复杂度引入网络架构,以减少算法复杂度(指参数的更新方式),增加架构的表达性(指参数的作用)。

原则十:学会学习

AI 史是一个进步史:

  • 第一代:旧式的 AI

  •   手动预测:此时的人工智能只能执行手动预测

      什么也学不会

  • 第二代:浅层学习

  •   手动构建特征:研究人员需要耗费大量时间、精力手动构建特征

      学习预测

  • 第三代:深度学习

  •   手动构建的算法(优化器、目标、架构……)

      端到端学习特征和预测

  • 第四代:元学习

  •   无需手工

      端到端学习算法和特征以及预测

理论David Silver强化学习
3
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

推荐文章
暂无评论
暂无评论~