深度学习与图神经网络核心技术实践应用高级研修班-Day3强化学习(Reinforcemen learning)

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习与图神经网络核心技术实践应用高级研修班-Day3强化学习(Reinforcemen learning)相关的知识,希望对你有一定的参考价值。


强化学习简介

强化学习:强调如何基于环境而行动,以取得最大化的预期利益。

强化学习的世界里, 算法称之为Agent, 它与环境发生交互,Agent从环境中获取状态(state),并决定自己要做出的动作action),环境会根据自身的逻辑给Agent予以奖励(reward)。奖励有正向和反向之分。比如在游戏中,每击中一个敌人就是正向的奖励,掉血或者游戏结束就是反向的奖励。

经典模型DQN

DQN—Markov Decision Process

马尔科夫决策过程一般包含如下五个元素:

  • 状态集S。比如,物体的空间坐标
  • 动作集A。比如,向上下左右移动
  • 状态转移概率 { P s s ′ a } \\left\\{P_{s s^{\\prime}}^{a}\\right\\} {Pssa} { P s s ′ a } \\left\\{P_{s s^{\\prime}}^{a}\\right\\} {Pssa}表示在状态𝑠 ∈ 𝑆下执行动作𝑎 ∈ 𝐴后,转移到下一个状态𝑠′的概率分布,也可表示为 T ( 𝑠 , 𝑎 , 𝑠 ′ ) T(𝑠, 𝑎, 𝑠′) T(s,a,s), 𝑠′便是在状态𝑠下执行动作𝑎后的状态.
  • 阻尼系数𝛾,或者称为折扣因子(discount factor)
  • 回报函数R,R:(𝑠, 𝑎) → 𝑅,表示当下状态下执行某个动作能得到的回报值.

决策过程如下:


回报值计算公式如下(仅与状态有关):


回报值计算公式如下(与状态、动作都有关):


定义动作值函数(action-value funciotn)Q为在当前状态 s 0 s_0 s0下执行策略𝜋能得到累计折扣回报的期望:


将上式表示为当前回报和后续回报的形式 :


假设有一个最优策略𝜋,据此得到一个最优的值函数:


即Bellman equation的形式


目标:复制监督学习的成功到强化学习,用深度学习优化Q learning

方案:通过优化一个深度网络来近似函数𝑄∗

损失函数:求目标值(固定的)和𝑄𝜋当前估计值的MSE


梯度更新:


DL与RL结合的问题:

  1. DL需要大量带标签的样本进行监督学习;RL只有reward返回值,而且伴随着噪声,延迟(过了几十毫秒才返回),稀疏(很多State的reward是0)等问题;
  2. DL的样本独立;RL前后state状态相关;
  3. DL目标分布固定;RL的分布一直变化,比如你玩一个游戏,一个关卡和下一个关卡的状态分布是不同的,所以训练好了前一个关卡,下一个关卡又要重新训练;
  4. 过往的研究表明,使用非线性网络表示值函数时出现不稳定等问题。

DQN解决问题方法:

  1. 通过Q-Learning使用reward来构造标签(对应问题1)
  2. 通过experience replay(经验池)的方法来解决相关性及非静态分布问题(对应问题2、 3)
  3. 使用一个CNN(MainNet)产生当前Q值,使用另外一个CNN(Target)产生Target Q值(对应问题4)

AlphaGo原理

由于海量搜索空间、评估棋局和落子行为的难度,围棋长期以来被视为人工智能领域最具挑战的经典游戏。

DeepMind公司结合深度学习革命、古老的蒙特卡洛树搜索和强化学习开发出AlphaGo围棋程序,攻克了AI领域最耀眼的明珠,先后击败了李世石、柯洁等世界冠军,而以前这被认为是需要至少十年以上才能实现的伟业。

AlphaGo使用“价值网络”评估棋局、“策略网络”选择落子。这些深层神经网络,是由人类专家博弈训练的监督学习和电脑自我博弈训练的强化学习,共同构成的一种新型组合。

没有任何预先搜索的情境下,这些神经网络能与顶尖水平的、模拟了千万次随机自我博弈的蒙特卡洛树搜索程序下围棋。同时还引入了新的搜索算法:结合了估值和策略网络的蒙特卡洛模拟算法。

AlphaGo原理-网络结构

AlphaGo原理-训练过程

第一阶段:直接使用人类高手的落子弈法训练一种有监督学习(SL)型走棋策略网络,此阶段提供快速、高效的带有即时反馈和高品质梯度的机器学习更新数据。同时也训练了一个快速走棋策略𝑝𝜋,能对走子时的弈快速采样。

第二阶段:训练一种强化学习(RL)型的走棋策略网络𝑝_𝜌,通过优化那些自我博弈的最终结果,来提高前面的SL策略网络。此阶段是将该策略调校到赢取比赛的正确目标上,而非最大程度的预测准确性。

第三阶段:训练一种估值网络𝑉𝜃,来预测那些采用RL走棋策略网络自我博弈的赢家。最终AlphaGo用MCTS有效结合了策略和估值网络。

RL实际应用:Flappy Bird-深度卷积神经网络

第一阶段:应用深度卷积神经网络提取特征


训练注意事项:

  1. 将图片背景去掉
  2. 除了卷积层,注意使用池化层
  3. 训练前先让游戏运行一会,让Bird做一些探索,帮助之后进行experience replay

RL实际应用:Flappy Bird-DQN算法应用

第二阶段:将深度卷积网络提取的特征作为训练数据执行DQN算法

RL实际应用:Flappy Bird-实验结果展示

以上是关于深度学习与图神经网络核心技术实践应用高级研修班-Day3强化学习(Reinforcemen learning)的主要内容,如果未能解决你的问题,请参考以下文章

深度学习与图神经网络核心技术实践应用高级研修班-Day3迁移学习(Transfer Learning)

深度学习与图神经网络核心技术实践应用高级研修班-Day1典型深度神经网络模型

深度学习与图神经网络核心技术实践应用高级研修班-Day1Tensorflow和Pytorch

深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发

深度学习与图神经网络核心技术实践应用高级研修班-Day1受限波尔兹曼机和深度信念网络

深度学习与图神经网络核心技术实践应用高级研修班-Day4深度强化学习(Deep Q-learning)