添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

再举几个例子。AlphaGo Zero 用了 2 9 百万局自我博弈,每一局约有 100 个状态和动作。

TD3 算法 MuJoCo 物理仿真环境中训练 Half-Cheetah Ant Hopper 等模拟机器人,虽然只有几个关节需要控制,但是在样本数量 100 万时尚未收敛。甚至 连 Pendulum Reacher 这种只有一两个关节的最简单的控制问题, TD3 也需要超过 10 万 个样本。

现实世界中的问题远远比 Atari MuJoCo 复杂,其状态空间、动作空间都远大于 Atari、MuJoCo. 强化学习所需的样本量太大,这会限制强化学习在现实中 的应用。

2 探索阶段代价太大

强化学习要求智能体与环境交互,用收集到的经验去更新策略。在交互的过程中,智能体会改变环境。在仿真、游戏的环境中,智能体对环境造成任何影响都无所谓。但是在现实世界中,智能体对环境的影响可能会造成巨大的代价。 深度强化学习对超参数的设置极其敏感,需要很小心调参才能找到好的超参数。超参数分两种:神经网络结构超参数、算法超参数。这两类超参数的设置都严重影响实验效果。换句话说,完全相同的方法,由不同的人实现,效果会有天壤之别。

3.1 结构超参数

神经网络结构超参数包括层的数量、宽度、激活函数,这些都对结果有很大影响。

拿激活函数来说,在监督学习中,在隐层中用不同的激活函数(比如 ReLU 、 Leaky ReLU)对结果影响很小,因此总是用 但是在深度强化学习中,隐层激活函数对结果的影响很大;有时 ReLU Leaky ReLU Leaky ReLU 远 好于 ReLU [ Deep reinforcement learning that matters ]。由于这种不一致性,我们在实践中不得不尝试不同的激活函数。

3.2 算法超参数

  • 强化学习中的算法超参数很多,包括学习率、批大小 (Batch Size) 、经验回放的参数、探索用的噪声。
    • 学习率(即梯度算法的步长)对结果的影响非常大,必须要很仔细地调。DDPG TD3 A2C 等方法中不止有一个学习率。策略网络、价值网络、目标网络中都有各 自的学习率。
    • 如果用经验回放,那么还需要调几个超参数,比如回放数组的大小、经验回放的起始时间等。 回放数组的大小对结果有影响,过大或者过小的数组都不好。 经验回放的起始时间需要调,比如 Rainbow 万条四元组的时候开始经验回放,而标准的 DQN 则最好是在收集到 万条之后开始经验回放
  • 在探索阶段,DQN、DPG 等方法的动作中应当加入一定噪声。噪声的大小是需要调的超参数,它可以平衡探索 (Exploration) 和利用 (Exploitation)。
    • 除了设置初始的噪声的幅度,我们还需要设置噪声的衰减率,让噪声逐渐变小。

4 实验效果严重依赖于实现的好坏

上面的讨论目的在于说明超参数对结果有重大影响。 对于相同的方法,不同的人会有不同的实现,比如用不同的网络结构、激活函数、训练算法、学习率、经验回放、噪声。哪怕是一些细微的区别,也会影响最终的效果。 使用了几个比较有名的开源代码,它们都有 Half-Cheetah 环境中的实验。论文使用了它们的默认设置,比较了实验结果,如图 19.18 但是 论文实验中报告的结果真的可信吗?从图 19.18 中不难看出,基线算法的表现严重依赖于编程实现的好坏。如果你提出一种新的方法,你把自己的方法实现得非常好,而你从开源的实现中选一个不那么好的基线做实验对比,那么你可以轻松打败基线算法。

6 稳定性极差

强化学习训练的过程中充满了随机性。除了环境的随机性之外,随机性还来自于神经网络随机初始化、决策的随机性、经验回放的随机性。 想必大家都有这样的经历:用完全相同的程序、完全相同的超参数,仅仅更改随机种子 (Random Seed) ,就会导致训练的效果有天壤之别。 19.19 所示,如果重复训练十次,往往会有几次完全不收敛。哪怕是非常简单的问题,也会出现这种不收敛的情形。 在监督学习中,由于随机初始化和随机梯度中的随机性,即使用同样的超参数,训练出的模型表现也会不一致,测试准确率可能会差几个百分点。但是监督学习中几乎不 19.19 中这种情形;如果出现了,几乎可以肯定代码中有错。 但是强化学习确实 会出现完全不收敛的情形,哪怕代码和超参数都是对的。 再举几个例子。AlphaGo Zero 用了 2 千 9 百万局自我博弈,每一局约有 100 个状态和动作。TD3 算法 在 MuJoCo 物理仿真环境中训练 Half-Cheetah、Ant、Hopper 等模拟机器人,虽然只有几个关节需要控制,但是在样本数量 100 万时尚未收敛。甚至 连 Pendulum、Reacher 这种只有一两个关节的最简单的控制问题,TD3 也需要超过 10 万 个样本。 神经网络结构超参数包括层的数量、宽度、激活函数,这些都对结果有很大影响。... 对于随机性策略(PPO等)可以用策略熵来表示策略是否“确定”。在训练过程中随着策略提升,策略变得越来越确定,此时熵应该是随着逐渐降低的,熵曲线趋于平缓。 2. loss指标(网络 收敛 好坏) 这是DL中的直观指标,虽然不能直接用在DRL来说明策略好坏,但loss是在一直下降还是已经趋于平缓了,可以一定程度上说明网络模型的学习程度,看模型是“学会了”还是“学废了”,趋于平缓可能就是已经训练差不多了,当然“训练差不多”不代表“策略最优”,有些可能loss还在掉,但
很多同学会发现,为什么我训练网络的时候loss一直居高不下或者准确度时高时低,震荡趋势,一会到11,一会又0.1,不 收敛 。 又不知如何解决,博主总结了自己训练经验和看到的一些方法。 首先你要保证训练的次数够多,不要以为一百两百次就会一直loss下降或者准确率一直提高,会有一点震荡的。只要总体 收敛 就行。若训练次数够多(一般上千次,上万次,或者几十个epoch)没 收敛 ,则试试下面方法: 1. 数据和标签 数据分类标注是否准确?数据是否干净?数据库太小一般不会带来不 收敛 的问题,只要你一直在train总会 收敛 (rp
Hi,这是第三篇算法简介呀 论文链接:Soft Actor-Critic:Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor,2018,ICML 强化学习 的两个主要挑战是高样本复杂性和 收敛 性脆弱。在这篇文章中,提出了一个基于最大熵框架的actor-critic离线策略的深度强化学...
(1)训练数据中没有标签,只有奖励函数(Reward Function)。 (2)训练数据不是现成给定,而是由行为(Action)获得。 (3)现在的行为(Action)不仅影响后续训练数据的获得,也影响奖励函数(Reward Function)的取值。 (4)训练的目的是构建一个“状态->行为”的函数,其中状态(State)描述了目前内部和外部的环境,在此情况下,要使一个智能体(Agent)在某个特定的状态下,通过这个函数,决定此时应该采取的行为。希望采取这些行为后,最终 前面已经讲了好几篇关于 强化学习 的概述、算法(DPG->DDPG),也包括对环境OpenAI gym的安装,baseline算法的运行和填坑,虽然讲了这么多,算法也能够正常运行还取得不错的效果,但是一直以来忽略了一个非常重要的话题,那就是 强化学习 的《奖励函数》的设置。 1、 Gym-Pendulum-v0例子分析奖励函数 为什么要讲 强化学习 的概述呢?也许在我们以前运行的算法中我们并...
很多同学会发现,为什么我训练网络的时候loss一直居高不下或者准确度时高时低,震荡趋势,一会到11,一会又0.1,不 收敛 。 又不知如何解决,博主总结了自己训练经验和看到的一些方法。 首先你要保证训练的次数够多,不要以为一百两百次就会一直loss下降或者准确率一直提高,会有一点震荡的。只要总体 收敛 就行。若训练次数够多(一般上千次,上万次,或者几十个epoch)没 收敛 ,则试试下面方法: 1. 数据侧: 数据归一化 神经网络中对数据进行归一化是不可忽略的步骤,网络能不能正常工作,还得看你有没有做归一化,一般
好久没有写这个专栏了,现在来补一课,不然前面的都忘掉了~         本文主要讨论值函数的估计问题,主要研究两类方法:增量方法(Incremental Methods)、批方法(Batch Methods)。其中增量方法主要是从online方面考虑。批方法主要是从data efficient方面考虑。         在模型无关的预测中,我们介绍了如何... (1)训练数据中没有标签,只有奖励函数(Reward Function)。 (2)训练数据不是现成给定,而是由行为(Action)获得。 (3)现在的行为(Action)不仅影响后续训练数据的获得,也影响奖励函数(Reward Function)的取值。 (4)训练的目的是构建一个“状态->行为”的函数,其中状态(State)描述了目前内部和外部的环境,在此情况下,要使一个智能体(Agent)在某个特定的状态下,通过这个函数,决定此时应该采取的行为。希望采取这些行为后,最终获得最大的奖励函数值。 假设状态数有限,行为数有限。 RtR_{t}Rt​:t时刻的奖
无模型方法(model-free) 无模型方法是学习方法的一种,MDPs中如果P,R未知,则用无模型方法。该方法需要智能体与环境进行交互(交互的方式多样),一般采用样本备份,需要结合充分的探索。 由于未知环境模型,则无法预知自己的后继状态和奖励值,通过与环境进行交互然后观察环境返回的值。本质上从概率分布Pass′Pss′aP_{ss^{'}}^a和RasRsaR_s^a中进行采样。对于随机变量...
强化学习 解决问题的场景中,动作是体现学习效果最直接的因素,直接影响了智能体下一步的走向和对环境状态的改变。在应用 强化学习 解决实际问题时,往往不同于gym库中倒立摆那样的情况,而是存在很多的 约束 。例如,在ttt时刻智能体可选的动作为1,2,31,2,31,2,3,但是在t+1t+1t+1时刻只能选1,21,21,2,333处于不可用的状态。在这种情况下,就需要借助掩码mask来对智能体的动作进行处理。 有人会疑问:就不能制定相应的奖励函数使得智能体学习到这种 约束 吗? 这样做是可以的,但是付出的训练代价很大,
深度学习训练时网络不 收敛 的原因分析总结 链接:https://blog.csdn.net/comway_li/article/details/81878400 深度学习网络训练不 收敛 问题 链接:https://blog.csdn.net/shinetzh/article/details/84945486 转载于:https://www.cnblogs.com/kandid/p/1...