
RL
文章平均质量分 70
Enoch Liu98
这个作者很懒,什么都没留下…
展开
-
强化学习实习生面经
自己的研究方向是强化学习,最近投了三个有强化学习岗位公司的实习,比较幸运,因为问的问题都比较简单,最后全都收到了实习offer????滴滴:网约车策略与技术部运筹调度实习生一面1.自我介绍,介绍简历项目2.场景题:跨区域车辆调度问题设计3.算法题:单个数组找单个重复元素单个数组(100个数)找25个重复元素二面1.自我介绍,介绍简历项目2.智力题:去掉大小王的52张扑克牌抽中5张同花顺的概率延伸:抽到五张顺子的概率瓶盖换饮料问题(3换1),喝100瓶需要买原创 2021-11-15 16:34:53 · 1319 阅读 · 0 评论 -
强化学习方向常见面试题总结
最近在准备面试,从“深度强化学习实验室 (neurondance.com)”上偶然看到了强化学习常见面试题的总结,自己简单的写了一下,由于很多东西都是自己随口一说,里面会有很多问题和错误,期待大家一起交流讨论。 <!--蒙特卡洛、TD、动态规划的关系?--> 动态规划属于有模型强化学习的范畴,蒙特卡洛和TD都属于无模型的范畴。蒙特卡洛和TD都需要通过采样来获取数据进行学习蒙特卡洛需要采样整个样本序列,无偏差,但是方差大...原创 2021-10-28 13:07:37 · 9661 阅读 · 2 评论 -
有模型强化学习总结
有模型和无模型的区别1.有了模型,我们可以干哪些事呢?第一, 利用模型和基于模型的优化算法,我们可以得到回报高的数据,也就是好的数据。有了好的数据,我们就可以对策略网络进行稳定的训练了。第二, 有了模型,我们可以充分地利用示例(demonstration)学习。人的示例可以当成模型的初值第三,提高数据利用率,在真实环境中采集到的数据不白白扔掉,而是用来构建模型第四,利用已有的数据学到系统的模型后,利用这个模型你就可以预测其他未知状态处的值了。无模型的强化学习只能依靠尝试,与环境交互得到其他未知状态原创 2021-04-26 14:00:24 · 2865 阅读 · 0 评论 -
分布式强化学习总结
DPPO在ppo基础上的优化1.在状态中加入了RNN,能够兼顾观察状态的时序性,更加适用与POMDP问题2.在回报计算中使用了K步奖励法3.对原来的数据进行归一化DPPO框架含有一个chief线程,和多个worker线程。多个worker进程可以并行运行全局只有一个共享梯度区和共享PPO模型不同的worker中还有自己的局部PPO模型和局部环境局部PPO模型的作用:worker使用PPO策略和局部环境进行互动获得数据,并在更新中计算梯度A3C我们先看看经典的A3C[1]架构图。原创 2021-04-26 11:53:59 · 2712 阅读 · 6 评论 -
From TRPO to PPO
TRPOTRPO通过采取最大可能的步骤来更新策略,以提高性能,同时满足新策略和旧策略允许的接近程度的特殊限制。约束是用kl散度表示的,kl散度是对概率分布之间距离的度量(有点像,但不完全是)。这不同于一般的策略梯度,它使新旧策略在参数空间上保持接近。但是,即使参数空间上看起来很小的差异也可能会在性能上产生很大的差异,因此一个错误的步骤可能会破坏策略的性能。这里需要注意的是,这根正常的梯度下降也不大一样,因为这里优化的不是旧的参数,而是优化的新的参数,主要原因在于使用了优势函数,需要重要性采样。PP原创 2021-04-01 22:30:47 · 257 阅读 · 0 评论 -
from TD3 to SAC
TD3DDPG常常会遇到Q值overestimate的问题,这将会导致Critic部分给出错误的评判,导致Actor部分错误利用了这部分知识进行学习。TD3则是为了解决这个问题。技巧一:快速双q学习。TD3学习两个q函数而不是一个q函数(即twin),并使用两个q值中较小的一个作为Bellman误差损失函数中的目标。技巧二:延迟的政策更新。TD3更新策略(和目标网络)的频率低于q函数。本文建议每两个q函数更新一次策略更新。这样可以有效避免policy带来的偏差问题。技巧三:目标政策平滑。TD3为目原创 2021-04-01 15:34:20 · 1074 阅读 · 0 评论 -
如何判断强化学习算法是否收敛
如何判断强化学习算法是否收敛1. 策略熵对于随机性策略(PPO等)可以用策略熵来表示策略是否“确定”。在训练过程中随着策略提升,策略变得越来越确定,此时熵应该是随着逐渐降低的,熵曲线趋于平缓。2. loss指标(网络收敛好坏)这是DL中的直观指标,虽然不能直接用在DRL来说明策略好坏,但loss是在一直下降还是已经趋于平缓了,可以一定程度上说明网络模型的学习程度,看模型是“学会了”还是“学废了”,趋于平缓可能就是已经训练差不多了,当然“训练差不多”不代表“策略最优”,有些可能loss还在掉,但转载 2021-03-31 11:26:52 · 16304 阅读 · 5 评论 -
值分布强化学习
值分布强化学习1.对比传统强化学习目标是为了优化累积回报,但是这个累积回报其实是一个随机变量值分布强化学习由于状态转移的随机性、状态表示的混叠效应,以及函数逼近的引入,智能体与环境之间存在着随机性,这就导致了折扣累计回报 [公式] 是一个随机变量,给定策略 [公式] 后,随机变量 [公式] 服从一个分布,这个分布我们称之为值分布。经典强化学习算法是优化值分布的均值,而忽略了整个分布所提供的信息。用一个图来表示是这样的:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img转载 2021-03-28 11:43:53 · 689 阅读 · 0 评论 -
强化学习奖励和状态设计
奖励1.稀疏奖励问题2.奖励模式化问题3.奖励不能太过于全局化4.记住一些常用的奖励设置方式5,逆向强化学习自动涉及回报函数6.避免奖励异常问题(贪婪:来回踱步,胆怯:不敢走,主线奖励太小,鲁莽:惩罚不够)7.采用reward shaping(加入势能项)首先确定主线奖励,但只定义主线奖励的往往都是属于稀疏回报问题,太难去获得正样本,所以需要辅助reward主线概率难获得,就要将原始目标分成一系列子目标,也就是常常说的credit assignment,但是要避免喧宾夺主最好的rewar转载 2021-03-22 19:37:30 · 5174 阅读 · 0 评论 -
TRPO问题
Trpo问题1.TRPO和PPO系列,对于奖励部分的评估是使用的Q网络还是使用的蒙特卡洛方法目前看,两种方法都是可以的,当然用Q网络效果更好,但是这样就应该把这俩归到AC架构中去了(不知道对不对),其中Open AI的spinning up教程中使用的是Q网络,而levine的课里使用的还是蒙特卡洛方法2.TRPO相对于传统的PG的提升对于步长进行了限制,使用KL散度来进行约束,使得每步都有好的回应(事事有回应),而且使用重要性采样,使用旧策略来代替新策略spinning up版本Levine原创 2021-03-21 21:53:32 · 172 阅读 · 0 评论 -
多智能体强化学习
传统RL算法面临的一个主要问题是由于每个智能体都是在不断学习改进其策略,因此从每一个智能体的角度看,环境是一个动态不稳定的,这不符合传统RL收敛条件。并且在一定程度上,无法通过仅仅改变智能体自身的策略来适应动态不稳定的环境。由于环境的不稳定,将无法直接使用之前的经验回放等DQN的关键技巧。policy gradient算法会由于智能体数量的变多使得本就有的方差大的问题加剧。1.强化学习和多智能体强化学习我们知道,强化学习的核心思想是“试错”(trial-and-error):智能体通过与环境的交互,根据原创 2020-12-06 22:21:08 · 13481 阅读 · 6 评论 -
迁移强化学习
作者:机器之心链接:https://zhuanlan.zhihu.com/p/87220648来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、迁移学习是什么?机器学习技术在许多领域取得了重大成功,但是,许多机器学习方法只有在训练数据和测试数据在相同的特征空间中或具有相同分布的假设下才能很好地发挥作用。当分布发生变化时,大多数统计模型需要使用新收集的训练数据重建模型。在许多实际应用中,重新收集所需的训练数据并重建模型的代价是非常昂贵的,在这种情况下,我们需要在任务域转载 2020-11-07 22:06:57 · 2376 阅读 · 0 评论 -
常用的强化学习框架
常用的强化学习框架OpenAI Gym (GitHub) (docs)rllab (GitHub) (readthedocs)Ray (Doc)Dopamine: https://github.com/google/dopamine (uses some tensorflow)trfl: https://github.com/deepmind/trfl (uses tensorflow)ChainerRL (GitHub) (API: Python)Surreal GitHub (API:原创 2020-11-02 21:45:30 · 7162 阅读 · 0 评论 -
基于策略搜索的强化学习方法(PG,TRPO,PPO,DPPO,AC,A3C,DDPG,TD3)
基于策略搜索的强化学习方法1.policy gridient1.1 基础推导1.2 TipTip1: add a baseline(增加基线)因为原来的梯度,一直都会取正数,不是特别合适,但是这样其实无可厚非,因为可以用过大小进行区分,但我们这里更好的办法是给他加入一个基线,让其有正有负。Tip2:Assign Suitable Credit因为如果对于每个执行的动作,都使用同样的全局reward,则会有损公平性,因为在同一个episode中,并不是所有的动作都是同样好的,所以我们这里使用原创 2020-10-02 17:27:41 · 3645 阅读 · 0 评论 -
RL稀疏奖励问题
强化学习中状态空间大,在只有达到特定的状态才能给出奖励的设定下,agent很难探索到特定状态,怎么办?稀疏奖励问题是指agent探索的过程中难以获得正奖励,导致学习缓慢甚至无法进行学习的问题,并且广泛存在于现实中,比如围棋,人们很难去设定中间每步的奖励,并且状态空间巨大,使用全局奖励会有奖励稀疏且滞后的问题。对于稀疏奖励问题的资料首先推荐李宏毅老师关于稀疏奖励部分的讲解和国内这篇稀疏奖励综述。深度强化学习中稀疏奖励问题研究综述 - 中国知网kns.cnki.net我觉得目前的稀疏奖励算法可以从数据和转载 2020-09-22 10:13:23 · 1121 阅读 · 0 评论 -
各种AC系列算法的伪代码
TD3的技巧技巧一:裁剪的双Q学习(Clipped Double-Q learning). 与DDPG学习一个Q函数不同的是,TD3学习两个Q函数(因此称为twin),并且利用这两个Q函数中较小的哪个Q值来构建贝尔曼误差函数中的目标网络。技巧二:延迟的策略更新(“Delayed” Policy Updates). TD3算法中,策略(包括目标策略网络)更新的频率要低于Q函数的更新频率。文章建议Q网络每更新两次,策略网络才更新一次。技巧三:目标策略平滑(Target Policy Smoothing).原创 2020-07-03 10:08:07 · 1563 阅读 · 0 评论 -
TD3和DDPG的伪代码
TD3的技巧技巧一:裁剪的双Q学习(Clipped Double-Q learning). 与DDPG学习一个Q函数不同的是,TD3学习两个Q函数(因此称为twin),并且利用这两个Q函数中较小的哪个Q值来构建贝尔曼误差函数中的目标网络。技巧二:延迟的策略更新(“Delayed” Policy Updates). TD3算法中,策略(包括目标策略网络)更新的频率要低于Q函数的更新频率。文章建议Q网络每更新两次,策略网络才更新一次。络才更新一次。技巧三:目标策略平滑(Target Policy S..原创 2020-06-30 14:37:56 · 4197 阅读 · 2 评论 -
深度强化学习训练调参方法
转载自 https://zhuanlan.zhihu.com/p/99901400为了保证DRL算法能够顺利收敛,policy性能达标并具有实用价值,结果有说服力且能复现,需要算法工作者在训练前、训练中和训练后提供全方位一条龙服务。我记得GANs刚火起来的时候,因为训练难度高,有人在GitHub上专门开了repository,总结来自学术界和工业界的最新训练经验,各种经过或未经验证的tricks被堆砌在一起,吸引了全世界AI爱好者的热烈讨论,可谓盛况空前。在玄学方面,DRL算法训练有得一拼。但毕竟在科研领转载 2020-06-20 09:10:46 · 10620 阅读 · 9 评论