潮州营销型网站建设推广,电商网站开发难点,免费flash素材网站,网站建设方案对比分析深度强化学习之 PPO 算法 强化学习原理学习策略 基于行为价值 基于行为概率策略梯度算法#xff1a;计算状态下所有行为的概率演员 - 评论家算法#xff1a;一半基于行为价值#xff0c;一半基于行为概率DQN 算法#xff08;深度Q网络#xff09;Q-Learning#x… 深度强化学习之 PPO 算法 强化学习原理学习策略 基于行为价值 基于行为概率策略梯度算法计算状态下所有行为的概率演员 - 评论家算法一半基于行为价值一半基于行为概率DQN 算法深度Q网络Q-LearningQ 值 PPO 算法 DQN算法 演员-评论家算法 策略梯度算法 强化学习原理
机器学习是把带标签的数据训练模型使得预测值尽可能接近真实值。
强化学习是通过和环境交互奖励来训练模型使得最后获取的奖励最大期望值。
在强化学习中机器基于环境做出行为正确的行为能够获得奖励。以获得更多奖励为目标实现机器与环境的最优互动。
如教狗子握手的时候如果狗子正确握手就能得到骨头奖励不握手就没有。如果咬了主人一口还会受到惩罚。
长此以往狗子为了得到更多骨头就能学会握手这个技能。
编程开发三要素数据结构 传统算法 程序机器学习三要素数据 学习算法 模型强化学习六要素环境、决策模型、状态、行为、奖励、评论家
如在对弈的环境中决策模型根据棋盘上的状态做出落子行为然后每盘棋的胜负获得奖励。模拟足够多棋局后评论家就可以通过计算预测出每步棋对整盘棋的价值为其打分。
通过不断训练机器以赢更多局棋为目标不断更新优化成为一个围棋大师。
可以将学习的场景分为两类 离散场景机器行为的有限的如动作类游戏。只有向上、向下、向左、向右这 4 个动作移动也只能一格一格地走。 可以把每个状态下的所有行为列举出来用评论家为每个行为打分通过选择最高分的行为实现最优互动。 因为需要评估每个行为的价值所以这种学习方法被称为基于行为价值的方法。 连续场景机器的行为是连贯的如赛车的方向盘转动角度可以在一定区间内任意取值角度之间可以无限分割。 还有基于行为概率的方法无需根据每个行为的价值来打分可以很好地胜任连续场景。 学习策略 基于行为价值 基于行为概率
基于值的方法需要根据每个行为的价值进行打分选出价值最高的行为。由于要穷举出所有行为因此它只适用于离散场景。
Q-Learning 和 DQN 算法都属于基于值的强化学习方法。
基于价值的方法无法应对连续场景。只能应用在不连续的、离散的环境下如围棋或动作类游戏。
对于动作集合规模庞大、动作连续的场景如机器人控制领域其很难学习到较好的结果。
基于价值Value-Based的思路是通过计算行为的价值Value来训练模型。
棋盘上一共只有 361 个点位基于值的方法可以计算出棋子落在每个点位的价值并进行打分帮助机器选出最优点位。
好处基于值的方法能实时反馈。可以根据每个行为的价值进行打分这个分数就相当于每个行为的实时反馈。但不能应用连续场景上。
而基于策略Policy-Based的方法并不需要考虑行为的价值而是反应调整。
机器会在训练过程中随机抽取一些行为与环境互动。如果行为获得了奖励就会提高选择它的概率。以后遇到同样的状态时有更高的概率再次做出这个行为。
相反如果未获得奖励或者受到了惩罚就保持或者降低该行为的概率。
经过大量训练最终会得出连续行为的概率分布。
基于这样的原理一个行为能获得越多奖励被选择的概率就越大从而实现机器和环境的最优化互动。
好处基于策略的方法能应用连续场景上。但不能实时反馈。
策略梯度算法计算状态下所有行为的概率
基于策略的方法它的原理是根据行为的概率来训练模型。
实现方式策略梯度算法引入了一个神经网络输入层是状态(s)经过隐藏层的分析和计算输出该状态下每个行为的概率.
策略梯度算法在训练过程中经常遇到一个难题机器在与环境互动时难以得到实时反馈往往要在整个回合结束后才能获得奖励。
如赢一盘棋是正向奖励输一盘棋是负面奖励但棋局中某一颗棋子的价值很难即时评估。
想要提高学习效率就必须想办法提供实时反馈。
有没有办法可以将基于策略在应对连续场景上的优点和基于值在实时反馈上的优点进行结合呢
那就是演员-评论家算法。 演员 - 评论家算法一半基于行为价值一半基于行为概率
演员-评论家算法就是将基于策略和基于值两个方法相结合的产物。
这个算法分成两半一半是演员另一半是评论家。
演员这一半基于策略策略梯度算法。它有一个神经网络可以根据行为的概率选出行为。评论家这一半基于价值DQN 算法。它有一个神经网络可以根据行为的价值进行打分。
将基于策略和基于值的方法相结合由基于策略的策略网络在连续场景中选出行为由基于值的价值网络给行为提供实时反馈。
策略网络就像写作业的学生价值网络就像批改作业的老师。二者结合反复地写作业、改作业对比方法找出最好的方法。 DQN 算法深度Q网络
DQN 算法全称 深度Q网络以 Q-Learning 算法为基础融合了神经网络。
Q-LearningQ 值
Q-Learning 有一个 Q 值评论家一个行为的 Q 值越高表示该行为能带来的奖励越多越应该被选择。
Q-learning 算法需要知道每个状态下所有行为的 Q 值。
让机器在每个状态下都能做出 Q 值最大的行为(a)。
因为计算每一个Q值需要同时记录同一个状态下所有行为。
而当状态和行为的数量非常庞大时储存所有数据会占用非常多的资源。
使用神经网络可以直接学习状态、行为、Q值的关系输入状态就能得到每个行为的Q值。
神经网络在这的功能从存储 3 个值的排列组合到只存储状态。 PPO 算法 DQN算法 演员-评论家算法 策略梯度算法
PPO 算法沿用了 AC 算法的整体框架。
就是调整学习率。学习率表示向前的步长。
步长太大尽管学得快但会导致后期无法收敛于最优解步长太小则会导致学得很慢学到黄花菜都凉了。
在训练过程中当模型的更新幅度过大时会调整更新幅度。
但是进行了这样的调整机器每向前更新一步就会与更新前作比较如果这一步“迈”得太大就会调整这次更新的幅度。