强化学习
文章平均质量分 87
UQI-LIUWJ
这个作者很懒,什么都没留下…
展开
-
pytorch笔记:TD3
TD3的一些基本配置。原创 2022-07-26 23:45:41 · 1509 阅读 · 5 评论 -
python笔记 gym Wrapper
wrapper原创 2022-07-13 23:12:47 · 1737 阅读 · 0 评论 -
强化学习笔记 Ornstein-Uhlenbeck 噪声和DDPG
用SDE的形式表示,Ornstein-Uhlenbeck过程为:从SDE的角度看,随机过程包含两块:如果我们考虑离散形式,记单步step为τ:形式上就是 ,也即自回归形式AR(1) 通过上一小段,不难发现Ornstein-Uhlenbeck过程是时序相关的【且满足马尔科夫性,后一步的噪声仅受前一步的影响】,所以在强化学习的前一步和后一步的动作选取过程中可以利用Ornstein-Uhlenbeck过程产生时序相关的噪声,以提高在惯性系统(环境)中的控制任务的探索效率。【上一步的噪声和下一步的原创 2022-07-11 12:32:25 · 5500 阅读 · 1 评论 -
论文笔记:FeUdal Networks for Hierarchical Reinforcement Learning
论文中提出的模型叫 FeUdal Networks (FuNs), 如果我们用Worker的梯度来训练Manager的输出g,虽然也能得到一个还可以的结果,但这样就导致Manager的输出g没有任何语义上的信息——>使得它只是模型的一个潜在变量。 于是在这篇论文中,作者提出训练Manager,让他输出隐藏层的一个优势方向 。这样这个变量和Worker各个action的embedding矩阵相乘后,就是各个action的“得分”,然后经过Softmax就是各个action的选取概率原创 2022-06-19 23:39:29 · 720 阅读 · 0 评论 -
论文笔记:When Waiting Is Not an Option:Learning Options with a Deliberation Cost AAAI 2018
这篇论文使用有限理性(bounded rationality)。它的目标是在计算时间方面受到限制的智能体。通过这样的视角,在构建option的时候,可以得到更精准的目标和标准。在这篇论文中,好的option是哪些可以让智能体学习和做决策更快的option。 引入option的作用,可以看成把各个最底层agent的信息压缩到一个更简单的形式中,在高层决策中,我们只考虑option的'id',而不是它的细节(细节就是这个option中有哪些agent) 这篇文章的作者认为, 更“长”的原创 2022-06-18 12:31:02 · 661 阅读 · 0 评论 -
分层强化学习:基于选项(option)的强化学习/论文笔记 The Option-Critic Architecture 2017 AAAI
The Option-Critic Architecture 2017 AAAI 个人觉得,这样的一个好处是减少状态空间:比如在顶层,我的状态空间是4维(处在哪个房间中);在底层,我的状态空间是25+2=27维(处在哪个格子中)。而如果不用分层的强化学习,那么状态空间是25*4+4=104维 整体的框架可以看成两个层次组成:底层是一个选择action的次级策略(在这篇paper中,各个option共享相同的action策略):进行环境观测输出动作运行到终止顶层是用于选择 option 的高级策略(polic原创 2022-06-14 17:20:00 · 4655 阅读 · 0 评论 -
强化学习笔记:强化学习的约束
再举几个例子。AlphaGo Zero 用了 2 千 9 百万局自我博弈,每一局约有 100 个状态和动作。TD3 算法 在 MuJoCo 物理仿真环境中训练 Half-Cheetah、Ant、Hopper 等模拟机器人,虽然只有几个关节需要控制,但是在样本数量 100 万时尚未收敛。甚至 连 Pendulum、Reacher 这种只有一两个关节的最简单的控制问题,TD3 也需要超过 10 万 个样本。 神经网络结构超参数包括层的数量、宽度、激活函数,这些都对结果有很大影响。...原创 2022-06-05 22:34:24 · 3863 阅读 · 0 评论 -
强化学习笔记: 应用举例
这里举几个RL的应用场景(当然有更多的) 对我们这20个卷积层 ,依次生成每一层的卷积核数量、卷积核大小、步长大小。在 RNN 运 行 60 步之后,得到 60 个超参数,也就确定了 20 个卷积层的结构。 然后可以用REINFORCE算法更新策略网络参数θ强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客 https://faculty.cc.gatech.edu/~jarulraj/courses/8803-f18/papers/seq2sql.pdf...原创 2022-06-05 22:16:15 · 1344 阅读 · 0 评论 -
强化学习笔记:AlphaGo(AlphaZero) ,蒙特卡洛树搜索(MCTS)
围棋的棋盘是 19 × 19 的网格,可以在两条线交叉的地方放置棋子,一共有 361 个可以放置棋子的位置,因此动作空间是 A = {1, · · , 361}。比如动作 a = 123 的意思是在第 123 号位置上放棋子。 于是我们便有了类似的策略网络和价值网络 和人类下棋类似,AlphaGo在做决策前,需要在“大脑里”做预判,确保几步以后很可能会占优势。如果只根据当前格局做判断,不往前看,是很难获胜的。以上只是 MCTS 的基本想法,实际做起来有很多难点需要解决。 !!Alp原创 2022-06-05 18:05:43 · 4905 阅读 · 2 评论 -
强化学习笔记:self-attention + multi-agent RL(中心化训练)
或 m 个动作价值网络原创 2022-06-05 14:15:44 · 911 阅读 · 3 评论 -
强化学习笔记:连续控制与 MADDPG
多智能体强化学习:合作关系设定下的多智能体强化学习_UQI-LIUWJ的博客-CSDN博客非合作关系设定下的多智能体强化学习_UQI-LIUWJ的博客-CSDN博客都是对A2C的多智能体改进,仅限于离散控制。我们现在研究连续控制问题:也就是动作空间都是连续集合,动作是向量。设系统里有 m 个智能体。每个智能体对应一个策略网络和一个价值网络 这里的期望是关于状态S求的。我们可以使用蒙特卡洛近似,从经验回放数组中随机抽取一个状态 它可以看做是随机变量 S 的一个观测值。用所有 m 个策略网络计算动作这里 ,于是原创 2022-06-03 21:41:27 · 1596 阅读 · 0 评论 -
非合作关系设定下的多智能体强化学习
策略学习的基本思想是让每个智能体各自做策略梯度上升: 两类神经网络的结构与完全竞争关系下的 MAC-A2C 完全相同。他们的区别在于 每一个智能体自己做策略网络更新和A2C一样,MAN-A2C 属于同策略 (On-policy),不能使用经验回放。 训练和决策全部由中央控制器完成。智能体负责与环境交互,执行中央控制器的决策, 并把观测到的 和 汇报给中央控制器。...原创 2022-06-03 15:43:11 · 908 阅读 · 0 评论 -
多智能体强化学习:合作关系设定下的多智能体强化学习
判断策略学习收敛的标准是目标函数 不再增长。。在实践中,当平均回报不再增长,即可终止算法。强化学习笔记:带基线的策略梯度_UQI-LIUWJ的博客-CSDN博客我们用 TD 算法训练价值网络 v(s; w)。观测到状态和奖励 rt,计算 TD 目标:定义损失函数: 此时我们还不知道和A2C强化学习笔记:带基线的策略梯度_UQI-LIUWJ的博客-CSDN博客类似,我们把近似成,把近似成于是近似策略梯度可以进一步近似成 MAC-A2C 属于同策略 (On-policy),不能使用经验回放。 在完成训练之后原创 2022-06-02 09:38:31 · 8153 阅读 · 6 评论 -
多智能体强化学习:多智能体系统
智能体的利益一致,获得的奖励相同,有共同的目标。 奖励 (Reward) 是环境反馈给智能体的数值。把第 i 号智能体的奖励随机变量记作,把奖励的实际观测值记作 t时刻的奖励由状态St和所有智能体的动作共同决定折扣回报,定义和单智能体类似 智能体i在时刻t的(折扣)回报依赖于未来所有的状态 和所有智能体未来的动作 其中: 很显然第i号智能体的状态价值依赖于所有智能体的策略:原创 2022-06-01 17:34:05 · 7698 阅读 · 0 评论 -
并行梯度下降+A2C (A3C)
强化学习有一个问题就是它很慢,那怎么增加训练的速度呢?李宏毅教授举了一个很直观的例子:原创 2022-06-01 16:03:24 · 286 阅读 · 0 评论 -
异步并行强化学习 + Double DQN
Double DQN 见:DQN笔记:高估问题 & target network & Double DQN_UQI-LIUWJ的博客-CSDN博客 每个 Worker 节点本地有独立的环境,独立的经验回放数组,还有一个 DQN 和一个目标网络。设某个 Worker 节点当前参数为。第 k 号 Worker 节点重复下面的步骤:原创 2022-06-01 13:53:10 · 403 阅读 · 0 评论 -
机器学习笔记:并行计算 (基础介绍)
本篇用并行梯度下降作为引子,使用MapReduce框架,简单介绍一下并行计算。1 并行梯度下降1.1 最小二乘回归我们记训练数据为最小二乘回归定义为:最小二乘回归的目标是寻找向量,使得对于所有的j,都接近于yj。同样地,我们可以用梯度下降解这个问题1.2 并行梯度下降由于 xj 和 w 都是 d 维向量,因此计算一个 g(xj , yj ; w) 的时间复杂度是 O(d)。【d次乘法】计算梯度需要计算g函数n次——>的时间复杂度是O(nd)。..原创 2022-05-31 19:38:33 · 1303 阅读 · 0 评论 -
模仿学习笔记:生成判别模仿学习 Generative Adversarial Imitation Learning, GAIL
1 GAN (回顾)GAIL 的设计基于生成判别网络 (GAN)。这里简单地回顾一下GAN,详细的可见NTU 课程笔记 7454 GAN_UQI-LIUWJ的博客-CSDN博客GAN由生成器 (Generator) 和判别器 (Discriminator)组成,它们各是一个神经网络。——>生成器负责生成假的样本——>判别器负责判定一个样本是真是假。我们的目标是希望生成器生成的内容可以“以假乱真”1.1 生成器生成器记作 a = G...原创 2022-05-31 16:26:53 · 1207 阅读 · 0 评论 -
模仿学习:逆向强化学习(Inverse Reinforcement Learning, IRL)
1 逆向强化学习的基本设定1.1 智能体&奖励IRL 假设智能体可以与环境交互,环境会根据智能体的动作更新状态,但是不会给出奖励。这种设定非常符合物理世界的实际情况。 ——>比如人类驾驶汽车,与物理环境交互,根据观测做出决策,得到上面公式中轨迹,轨迹中没有奖励。是不是汽车驾驶问题中没有奖励呢? ——>其实是有奖励的。避免碰撞、遵守交通规则、尽快到达目的地,这些操作背后都有 隐含的奖励,...原创 2022-05-31 12:52:37 · 3911 阅读 · 1 评论 -
模仿学习笔记:行为克隆
1 模仿学习模仿学习 (Imitation Learning) 不是强化学习,而是强化学习的一种替代品。 模仿学习与强化学习有相同的目的: 两者的目的都是学习策略网络,从而控制智能体。 模仿学习与强化学习又有不同的原理: 模仿学习向人类专家学习,目标是让策略网络做出的决策与人类专家相同; 强化学习利用环境反馈的奖励改进策略,目标是让累计奖励(即回报)最大化。 2 行为克隆概述行为克隆 (Behavior Cloning) 是最简单的模仿学习。 行为克隆的目的是模仿人的动作原创 2022-05-31 12:19:00 · 6853 阅读 · 2 评论 -
强化学习笔记:不完全观测问题
1 不完全观测问题像war3,dota之类的游戏,当前屏幕上的画面并不能完全反映出实际游戏的状态,因为观测只是地图的一小部分,屏幕上当前的画面也不能完整地反映出游戏的状态【比如屏幕上没有敌方单位,其实都在屏幕外蹲你。。。】如果仅仅用t时刻的观测来作决策,那么是会偏离实际的。但是我们又无法知道完整的。这就是不完全观测问题了。对于不完全观测的强化学习问题,应当记忆过去的观测,用所有已知的信息做决策。比如过去一段时间的观测是。我们把时刻1到时...原创 2022-05-30 14:44:17 · 1087 阅读 · 0 评论 -
强化学习笔记:随机高斯策略
1 自由度是1的情况自由度是1,也就是说动作a是实数,动作空间A是实数集R的一个子集。 我们记动作的均值为μ(s),标准差为σ(s),于是我们可以用正态分布的概率密度函数作为策略函数: 假如我们知道函数μ(s)和σ(s)的解析式,那么我们可以用以下几步做控制(做控制——找agent需要执行的动作a): 观测到当前状态s,预测均值,标准差 从正态分布中做随机抽样: 智能体执行动作a 一个很自然的想法,就是用神经网络来近似μ(s)和σ(s) 在实践中,我们不是直接近似标准差σ,而是近.原创 2022-05-30 13:16:36 · 1916 阅读 · 2 评论 -
强化学习笔记:双延时确定策略梯度 (TD3)
写在前面的话:TD3只是改进训练用的算法,并不改变神经网络的结构。 1 DPG 的高估问题由于DPG强化学习笔记:连续控制 & 确定策略梯度DPG_UQI-LIUWJ的博客-CSDN博客中也存在自举,所以也会面临高估问题。2 目标网络为了解决自举造成的高估,我们使用目标网络来计算价值网络的TD目标。训练中需要的两个目标网络:他们与价值网络、策略网络的结构完全相同,只是参数不同。TD目标是用目标网络计算得到的:整体流程图如下:用TD目标作为...原创 2022-05-29 17:16:01 · 3158 阅读 · 0 评论 -
强化学习笔记:连续控制 & 确定策略梯度DPG
1 离散控制与连续控制 之前的无论是DQN,Q-learning,A2C,REINFORCEMENT,SARSA什么的,都是针对离散动作空间,不能直接解决连续控制问题。考虑这样一个问题:我们需要控制一只机械手臂,完成某些任务,获取奖励。机械 手臂有两个关节,分别可以在 [0◦, 360◦] 与 [0◦, 180◦] 的范围内转动。这个问题的自由度 是 d = 2,动作是二维向量,动作空间是连续集合 A = [0, 360] × [0, 1...原创 2022-05-29 16:17:51 · 1507 阅读 · 5 评论 -
强化学习笔记:熵正则
0 策略过于确定的优劣策略学习的目的是学出一个策略网络 用于控制智能体agent。比如基于某一个状态s,策略网络的输出为:那么基本上agent进行的动作就是向右了这样过于确定性的决策有好有坏: 好处在于不容易选中很差的动作,比较安全。 坏处在于智能体就会安于现状,不去尝试没做过的动作,不去探索更多的状态,无法找到更好的策略。1 熵正则的引入我们希望策略网络的输出的概率不要集中在一个动作上,至少要给其他的动作一些非零的概率,让这些动作能被探索...原创 2022-05-28 17:28:50 · 2944 阅读 · 0 评论 -
强化学习笔记:置信域策略优化 TRPO
置信域策略优化 (Trust Region Policy Optimization, TRPO) 是一种策略学习方法,跟其他策略梯度有很多相似之处。 跟策略梯度方法相比,TRPO 有两个优势: 第一,TRPO表现更稳定,收敛曲线不会剧烈波动,而且对学习率不敏感; 第二,TRPO 用更少的经验(即智能体收集到的状态、动作、奖励)就能达到与策略梯度方法相同的表现。 1 置信域方法假设我们有这样的一个优化问题:有各种各样的优化算法用于解决这个问题。几乎所有的数值算法都是做这样的迭代原创 2022-05-28 16:47:01 · 1401 阅读 · 0 评论 -
强化学习笔记:带基线的策略梯度
强化学习笔记:policy learning_UQI-LIUWJ的博客-CSDN博客中,我们通过对策略网络的参数进行更新。REINFORCE和Actor-Critic分别通过不同的方式近似来实现之1 baseline基于8.1得出的REINFORCE和Actor-Critic通常效果并不好。但是做一个小改动之后,就可以大幅提升表现:把b作为动作价值函数的基线(baseline),用-b代替这里b可以是任意的不依赖于动作action的函数这里成立的原因在于,可以证..原创 2022-05-27 23:52:09 · 1216 阅读 · 2 评论 -
强化学习笔记:policy learning
1 policy network VS value-based network2 policy network的目标函数记回报 Ut 是从 t 从时刻开始的所有奖励之和。Ut 依赖于 t 时刻开始的所有状态和动作:动作价值函数把 t 时刻状态 st 和动作 at 看做已知观测值,把 t + 1 时刻后的状态和动作看做 未知变量,求期望:状态价值函数把 t 时刻状态 st 看做已知观测值,t时刻的action是服从策略的随机变量,对其求期望.....原创 2022-05-27 20:12:24 · 2111 阅读 · 0 评论 -
强化学习笔记:noisy DQN
噪声网络 (Noisy Net)是一种非常简单的方法,可以显著提高 DQN 的表现。噪声网络的应用不局限于 DQN,它可以用于几乎所有的强化学习方法。1 噪声网络的原理把神经网络中的参数 w 替换成 µ+σ◦ξ。 此处的 µ、σ、ξ 的形状与 w 完全相同。 µ、σ 分别表示均值和标准差,它们是神经网络的参数,需要从经验中学习。 ξ 是随机噪声,它的每个元素独立从标准正态分布 N (0, 1) 中随机抽取。 符号“◦”表示逐项乘积。 2 noisy...原创 2022-05-27 00:14:28 · 3118 阅读 · 2 评论 -
强化学习笔记:对决网略(dueling network)
对决网络 (Dueling Network)是对 DQN 的神经网络的结构的改进。它基本想法是将最优动作价值 Q⋆ 分解成最优状态价值 V⋆ 与最优优势 D⋆。1 最优优势函数1.1 回顾一些基础知识 动作价值函数 最优动作价值 状态价值函数:Q(s,a)关于a的期望 最优价值函数 1.2 最优优势函数由于是指定了s和a之后的最优值,a不一定是使得V(s)最大的那个action,所...原创 2022-05-26 23:25:11 · 1934 阅读 · 0 评论 -
DQN笔记:高估问题 & target network & Double DQN
Q 学习算法有一个缺陷:用 Q 学习训练出的 DQN 会高估真实的价值,而且高估通常是非均匀的。 这个缺陷导致 DQN 的表现很差。 高估问题并不是 DQN 本身的缺陷,而是训练 DQN 用的 Q 学习算法的缺陷。1 自举(bootstrapping)导致的偏差传播1.1 DQN参数更新(回顾)Q-learning 算法每次从经验回放数组 (Replay Buffffer) 中抽取一个四元组。然后执行以下步骤,对 DQN 的参数做一轮更新:1,计算TD目标——&...原创 2022-05-26 21:09:50 · 4243 阅读 · 2 评论 -
强化学习笔记:分层强化学习
1 传统强化学习的不足 & 为什么需要分层强化学习?传统的强化学习方法会面临维度灾难的问题,即当环境较为复 杂或者任务较为困难时,agent的状态空间过大,会导致需要学习的参数以及所需的存储空间急速增长,强化学习难以取得理想的效果。为了解决 维度灾难,研究者提出了分层强化学习(hierarchical reinforcement learning,HRL)。HRL的主要目标是将复杂的问题分解成多个小问题,分别解决小问题从而达到解决原问题的目的2 复习:强化学习&马........原创 2022-04-11 23:16:04 · 6435 阅读 · 1 评论 -
强化学习笔记 DDPG (Deep Deterministic Policy Gradient)
1 总述总体来讲,和actor-critic 差不多,只不过这里用了target network 和experience relay强化学习笔记 experience replay 经验回放_UQI-LIUWJ的博客-CSDN博客强化学习笔记:Actor-critic_UQI-LIUWJ的博客-CSDN博客DQN 笔记 State-action Value Function(Q-function)_UQI-LIUWJ的博客-CSDN博客2 模型介绍2.1 整体架构看模型架原创 2022-01-17 14:42:52 · 602 阅读 · 0 评论 -
pytorch 笔记: DQN(experience replay)
1 理论知识DQN 笔记 State-action Value Function(Q-function)_UQI-LIUWJ的博客-CSDN博客强化学习笔记 experience replay 经验回放_UQI-LIUWJ的博客-CSDN博客2 导入库import torchimport torch.nn as nnimport torch.nn.functional as Fimport numpy as npimport gym3 定义参数BATCH_SIZE = 3原创 2022-01-06 13:15:49 · 1755 阅读 · 1 评论 -
强化学习笔记 experience replay 经验回放
1 回顾 :DQNDQN 笔记 State-action Value Function(Q-function)_UQI-LIUWJ的博客-CSDN博客DQN是希望通过神经网络来学习Q(s,a)的结果,我们输入一个人状态s,通过DQN可以得到各个action对应的Q(s,a)通常用TD来求解DQN其中rt是实际进行交互得到的真实奖励,Q(s,a),是预测得到的价值函数(注:Q是fixed target network,所以qt和yt会稍有不同)在之前我们所说...原创 2022-01-06 10:06:19 · 6090 阅读 · 0 评论 -
pytorch笔记:policy gradient
本文参考了策略梯度PG( Policy Gradient) 的pytorch代码实现示例 cart-pole游戏_李莹斌XJTU的博客-CSDN博客_策略梯度pytorch在其基础上添加了注释和自己的一些理解1 理论部分强化学习笔记:Policy-based Approach_UQI-LIUWJ的博客-CSDN博客我们使用其中的框架(在我们后面的实验中,我们认为每次N取1就对参数进行一次更新)同时奖励R不是使用,而是使用折扣回报2 代码部分2.1 导入库 & ...原创 2022-01-03 21:46:30 · 2727 阅读 · 2 评论 -
强化学习笔记:Q_learning (Q-table)示例举例
1 示例介绍在右侧有宝藏,探险者到达宝藏所在的位置,就可以获得奖励比如某一时刻的状态是这个样子的:“-o---T”T 就是宝藏的位置, o 是探索者的位置如果在某个地点s1, 探索者计算了他能有的两个行为,Q(s1, a1) > Q(s1, a2), 那么探索者就会选择left这个行为. 否则就是right‘参考内容:小例子 - 强化学习 (Reinforcement Learning) | 莫烦Python (mofanpy.com)2 导入库& ...原创 2021-12-06 11:38:55 · 5132 阅读 · 0 评论 -
强化学习笔记:Actor-critic
0 复习由于actor-critic 是 policy gradient 和DQN的一个结合,所以我们先对这两个进行一个简单的复习:0.1 policy gradient强化学习笔记:Policy-based Approach_UQI-LIUWJ的博客-CSDN博客 在policy network中,我们使用梯度上升的方法更新参数。梯度计算方法如下:(这里的N是采样次数,我们为了更新θ,采样N次)这个式子是在说,我们先让 agent 去跟环境互...原创 2021-11-30 21:56:56 · 1559 阅读 · 0 评论 -
针对连续动作的DQN
1 前言跟基于策略梯度的方法比起来,DQN在处理连续状态的问题中 是比较好的。(因为前者是计算Q-table,后者是计算Q-function。前者在状态空间连续的时候是很难计算的)。 同时,DQN是比较容易训练的:在 DQN 里面,你只要能够估计出Q函数,就保证你一定可以找到一个比较好的策略。也就是你只要能够估计出Q函数,就保证你可以改进策略。而估计Q函数这件事情,是比较容易的,因为它就是一个回归问题。在回归问题里面, 你可以轻易地知道模型学习得是不是越来越好,只要看那...原创 2021-11-30 17:01:28 · 6532 阅读 · 0 评论 -
DQN 笔记 double DQN
1 DQN的问题在DQN 笔记 State-action Value Function(Q-function)_UQI-LIUWJ的博客-CSDN博客中,我们知道DQN的学习目标是但是,这个Q的值是被“高估”了的。因为每一次策略Π更新的时候,Π(s)都取的是最大的那个action,也即 然而,实际网络环境中,由于每个状态都有一定的概率取不同的动作(policy-based network),所以实际的【reward小的那些action会“向下”拉低一些Q值...原创 2021-11-30 12:41:50 · 656 阅读 · 0 评论