深度学习与图神经网络核心技术实践应用高级研修班-Day3强化学习(Reinforcemen learning)
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习与图神经网络核心技术实践应用高级研修班-Day3强化学习(Reinforcemen learning)相关的知识,希望对你有一定的参考价值。
强化学习(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\\} {Pss′a}。 { P s s ′ a } \\left\\{P_{s s^{\\prime}}^{a}\\right\\} {Pss′a}表示在状态𝑠 ∈ 𝑆下执行动作𝑎 ∈ 𝐴后,转移到下一个状态𝑠′的概率分布,也可表示为 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结合的问题:
- DL需要大量带标签的样本进行监督学习;RL只有reward返回值,而且伴随着噪声,延迟(过了几十毫秒才返回),稀疏(很多State的reward是0)等问题;
- DL的样本独立;RL前后state状态相关;
- DL目标分布固定;RL的分布一直变化,比如你玩一个游戏,一个关卡和下一个关卡的状态分布是不同的,所以训练好了前一个关卡,下一个关卡又要重新训练;
- 过往的研究表明,使用非线性网络表示值函数时出现不稳定等问题。
DQN解决问题方法:
- 通过Q-Learning使用reward来构造标签(对应问题1)
- 通过experience replay(经验池)的方法来解决相关性及非静态分布问题(对应问题2、 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-深度卷积神经网络
第一阶段:应用深度卷积神经网络提取特征
训练注意事项:
- 将图片背景去掉
- 除了卷积层,注意使用池化层
- 训练前先让游戏运行一会,让Bird做一些探索,帮助之后进行experience replay
RL实际应用:Flappy Bird-DQN算法应用
第二阶段:将深度卷积网络提取的特征作为训练数据执行DQN算法
RL实际应用:Flappy Bird-实验结果展示
以上是关于深度学习与图神经网络核心技术实践应用高级研修班-Day3强化学习(Reinforcemen learning)的主要内容,如果未能解决你的问题,请参考以下文章
深度学习与图神经网络核心技术实践应用高级研修班-Day3迁移学习(Transfer Learning)
深度学习与图神经网络核心技术实践应用高级研修班-Day1典型深度神经网络模型
深度学习与图神经网络核心技术实践应用高级研修班-Day1Tensorflow和Pytorch
深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发