
强化学习
文章平均质量分 76
Scc_hy
不断进取的攻城狮
展开
-
强化学习_Paper_1988_Learning to predict by the methods of temporal differences
论文介绍了时间差分方法(TD 方法),这是一种用于预测问题的增量学习方法。TD 方法通过比较连续时间步的预测值之间的差异来调整模型,而不是传统的通过预测值与实际结果之间的差异来调整。对于大多数现实的预测问题,TD方法比传统方法需要更少的内存和更少的峰值计算,并且可以产生更准确的预测。传统预测学习方法依赖于预测值与实际结果之间的差异来分配“信用”(即调整权重),这种方法在多步预测问题中效率较低。TD 方法通过比较连续时间步的预测值之间的差异来更新模型。原创 2025-04-03 21:14:49 · 683 阅读 · 0 评论 -
强化学习_Paper_1983_Neuronlike adaptive elements that can solve difficult learning control problems
通过两个类似神经元的自适应元素组成的系统解决一个复杂的控制学习问题。研究环境: Cart-pole (和gym的类似)算法: ASE + ACEassociative search element (ASE) : 强化输入与输出之间的关联adaptive critic element (ACE):构建一个比单独的强化反馈更有信息量的评估函数rt\hat r_trt主要贡献:自适应元素的能力:ASE 和 ACE 的结合能够解决复杂的控制学习问题,即使在反馈信号质量较低的情况下。原创 2025-03-17 21:45:38 · 683 阅读 · 0 评论 -
强化学习_06_pytorch-PPO2实践(ALE/Breakout-v5)
强化学习算法PPO2训练Atari 打砖块游戏原创 2024-11-07 22:59:46 · 580 阅读 · 0 评论 -
强化学习_06_pytorch-PPO2实践(Humanoid-v4)
PPO2优化:1) Value Function Loss Clipping;2)batch adv normalize;3)共用一个优化器;4)loss累和;5)特征权重初始化;6)向量环境SyncVectorEnv 及 wrapper技巧原创 2024-05-27 22:40:34 · 1175 阅读 · 0 评论 -
强化学习_06_pytorch-PPO实践(Hopper-v4)
针对之前的PPO做了主要以下优化:1. `batch_normalize`: 在`mini_batch` 函数中进行adv的normalize, 加速模型对adv的学习2. `policyNet`采用`beta`分布(0~1): 同时增加MaxMinScale 将beta分布产出值转换到action的分布空间3. 收集多个`episode`的数据,依次计算adv,后合并到一个dataloader中进行遍历:加速模型收敛原创 2024-02-28 23:29:27 · 911 阅读 · 0 评论 -
强化学习_06_pytorch-TD3实践(CarRacing-v2)
TD3征服CarRacing-v2环境,对环境的调整已经actor-critic网络构建经验分享原创 2023-12-24 16:48:13 · 2958 阅读 · 1 评论 -
强化学习_06_pytorch-TD3实践(BipedalWalkerHardcore-v3)
DDPG的critic会高估, 从而导致actor策略失败。TD3是增加了三个关键技巧优化DDPG。经过优化后的TD3(Twin Dalayed DDPG 双延迟深度确定性策略梯度算法)适合于具有高维连续动作空间的任务。原创 2023-05-07 21:28:19 · 2105 阅读 · 6 评论 -
强化学习_06_pytorch-DDPG实践(Pendulum-v1)
PPO这类算法都是在线策略算法,样本效率(sample efficiency)较低。像DQN算法,是直接估计最优价值函数,可以做离线策略学习,但是它只能处理动作空间有限的环境。吸收DQN的优点,同时弥补PPO这类算法的缺陷,DDPG(deep deterministic policy gradient)就顺应而生。它构造一个确定性策略,用梯度上升的方法来最大化值。DDPG 也属于一种 Actor-Critic 算法。REINFORCE、TRPO 和 PPO 学习随机性策略(Actor。原创 2023-01-18 23:41:05 · 3031 阅读 · 0 评论 -
强化学习_06_pytorch-PPO实践(Pendulum-v1)
TRPO(Trust Range Policy Optimate)算法每一步更新都需要大量的运算,于是便有其改进版本PPO在2017年被提出。PPO 基于 TRPO 的思想,但是其算法实现更加简单。TRPO 使用泰勒展开近似、共轭梯度、线性搜索等方法直接求解。PPO 的优化目标与 TRPO 相同,但 PPO 用了一些相对简单的方法来求解。具体来说, PPO 有两种形式,一是PPO-惩罚,二是PPO-截断,我们接下来对这两种形式进行介绍。原创 2023-01-05 21:52:56 · 3803 阅读 · 7 评论 -
强化学习_06_pytorch-doubleDQN实践(Pendulum-v1)
环境是倒立摆(Inverted Pendulum),该环境下有一个处于随机位置的倒立摆。环境的状态包括倒立摆角度的;动作为对倒立摆施加的力矩()。每一步都会根据当前倒立摆的状态的好坏给予智能体不同的奖励,该环境的奖励函数为,倒立摆向上保持直立不动时奖励为 0,倒立摆在其他位置时奖励为负数。环境本身没有终止状态,所以训练的时候需要设置终止条件(笔者在本文设置了260)。原创 2022-12-13 10:51:34 · 2100 阅读 · 4 评论 -
强化学习_12_Datawhale深度确定性策略梯度
习题12-1 请解释随机性策略和确定性策略。对于随机性策略而言: 就是我们在一个状态,采取的Action是一个基于概率分布的一个抽样确定性策略:就是我们在一个状态,采取的Action是一个基于固定了\theat的网络输出的结果12-2 对于连续动作的控制空间和离散动作的控制空间,如果我们都采取使用策略网络的话,分别应该如何操作?对于输出值而言,简单讲其实有点类似随机森林的输出predict 和 predict_proba。在网络上的话,需要输出离散动作就在顶层用softmax进行归一化输出离散原创 2022-03-04 15:46:27 · 762 阅读 · 0 评论 -
强化学习_11_Datawhale模仿学习
习题11-1 对于模仿学习,具体的方法有哪些?11-2 行为克隆存在哪些问题呢?我们可以如何处理呢?11-3 逆强化学习是怎么运行的呢?11-4 逆强化学习方法与生成对抗网络(generative adversarial networks,GAN)在图像生成中有什么异曲同工之处?...原创 2022-02-16 09:32:31 · 578 阅读 · 0 评论 -
强化学习_10_Datawhale稀疏奖励
习题10-1 解决稀疏奖励的方法有哪些?设计奖励好奇心驱动的奖励课程学习 / 逆课程学习分层强化10-2 设计奖励方法存在什么主要问题?需要预先拥有领域知识,需要经验积累10-3 内在好奇心模块是什么?我们应该如何设计这个内在好奇心模块?内在好奇心模块: 输入状态s1、动作a1和状态s2, 输出另一个奖励ri1。总奖励包含r和ri设计内在好奇心模块:一般网络构建输入s1, a1, 输出s’t+1;评估: similar(s’t+1, st+1) 越大则奖励越大。简述:原创 2022-01-26 11:30:51 · 476 阅读 · 0 评论 -
强化学习_09_Datawhale演员-评论员算法
习题9-1 完整的优势演员-评论员算法的工作流程是怎样的?如果采用Q网络和V网络,估测不准的风险会变成两倍。所以我们在进行实现的时候只估测网络V。可以用V的值来表示Q的值,Qπ(stn,atn)=E[rtn+Vπ(st+1n)]Q^\pi(s^n_t, a^n_t)=E[r^n_t + V^\pi(s^n_{t+1})]Qπ(stn,atn)=E[rtn+Vπ(st+1n)],去掉期望即,Qπ(stn,atn)=rtn+Vπ(st+1n)Q^\pi(s^n_t, a^n_t)=r^n_t + V原创 2022-01-16 14:41:15 · 236 阅读 · 0 评论 -
强化学习_06_pytorch-DQN实践(CartPole-v0)
笔者之前有基于传统表格方法构建过一个智能体,感兴趣的读者可以去看《强化学习_03_表格方法实践(CartPole-v0 And MontoCarlo)》。之前是限制了目标的一些状态空间训练15000轮也仅仅达到了130左右成绩。进行用DQN方法进行智能体学习。一、构建智能体构建智能体:policy是和之前一样的。探索和利用, 就是利用的时候基于nn模型的预测主要核心:initialize: 初始化,基于第一批缓存数据训练数据标准化的参数,以及初始化QNetupdate: 更新状态的预估值Q原创 2022-01-14 00:15:41 · 2936 阅读 · 0 评论 -
强化学习_08_Datawhale针对连续动作的深度Q网络
8-1 深度Q 网络相比于基于策略梯度方法为什么训练起来效果更好,更平稳?DQN比较容易训练的一个理由是: 在DQN里面,我们zh9yao能够估计出q函数,就保证一定可以找到一个比较好的策略。也就是我们只要能够估计出Q函数,就保证可以改进策略。而估计Q函数是比较容易的,因为它就是一个回归问题。8-2 深度Q 网络在处理连续型动作时存在什么样的问题呢?对应的解决方法有哪些呢?它不大容易处理连续动作。方案1. 最大化目标函数,将a作为参数,要找一组a去最大化Q函数,就用梯度上升去更新a值。但是 等于是每次原创 2021-12-31 09:53:03 · 758 阅读 · 0 评论 -
强化学习_07_DataWhale深度Q网络进阶技巧
习题7-1 为什么传统的深度Q 网络的效果并不好?可以参考其公式Q(st, at) = rt + maxa Q(st+1, a) 来描述。因为实际上在做的时候,我们要让左边的式子跟目标越接近越好。但目标值很容易一不小心被设得太高,因为在计算目标的时候,实际采用的是哪个动作获得最大价值,就把它加上去变成我们的目标。即,每次我们都会选择哪个Q值被高估的动作,总是会选哪个奖励被高估的动作这个最大的结果去加上rt当目标,所以目标总是太大。7-2 接着上个思考题,我们应该怎么解决目标值总是太大的问题呢?采用双原创 2021-12-31 09:32:30 · 743 阅读 · 0 评论 -
强化学习_06_DataWhale深度Q网络
习题6.1 为什么在DQN 中采用价值函数近似(value function approximation)的表示方法?因为状态都是连续的状态空间巨大,不能像Qtable一样明确的算出所以状态点的价值,所以用深度Q函数对连续动作输出近似值。6.2 评论员的输出通常与哪几个值直接相关?与状态和演员有关。状态、价值本质上来说是依赖于演员的。不同的演员在相同的状态下也会有不同的输出。6.3 我们通常怎么衡量状态价值函数Vπ(s)V^\pi(s)Vπ(s)?其优势和劣势分别有哪些?由Qπ(s,a)Q^\原创 2021-12-18 11:45:37 · 408 阅读 · 0 评论 -
强化学习_03_表格方法实践(CartPole-v0 And MontoCarlo)
已经学好全部的表格方法训练Agent,所以,自己拿一个游戏环境进行智能体的训练。一、选取游戏打开 gym官网文档 ,里面就是对CartPole-v0的介绍,感觉这个游戏也挺有意思。但是这个游戏环境的状态是连续的。不过从游戏的画面看,参数空间应该不是很大,所以决定探索整个状态空间之后再决定是否更换游戏。import gymimport numpy as npimport matplotlib.pyplot as pltenv = gym.make('CartPole-v0')s = env.r原创 2021-12-15 22:34:11 · 4927 阅读 · 0 评论 -
强化学习_05_DataWhale近端策略优化
习题5.1 基于同策略的策略梯度有什么可改进之处?或者说其效率较低的原因在于?经典策略梯度大部分时间花在数据的采样处,且一回合仅能更新一次参数。更新完之后,又需要花费时间重新收集数据,然后再次进行参数更新。因为采用的机制,以及一回合更新一次,所以效率非常很低。5.2 使用重要性采样时需要注意的问题有哪些。重要性采用的时候将p替换成q,但是本质上需要要求两者的分布不能差的太多,即使我们补偿了不同数据分布的权重p(x)q(x) Ex−p[f(x)]=Ex−p[f(x)p(x)q(x)]\fra原创 2021-12-09 17:35:38 · 2344 阅读 · 0 评论 -
强化学习_03_表格方法总结
一、monta carlo迭代时间:一个回合结束后, 对每个动作进行迭代回合内行动策略:探索+利用迭代公式:当前状态行动带来的收益(Q(<s,a>,t)Q_{(<s, a>, t)}Q(<s,a>,t))加一定比例的行动收益(GtG_tGt);行动收益等于后续所有动作的奖励乘折扣系数(γt\gamma ^ tγt)之和减去当前状态行动带来的收益(Q(<s,a>,t)Q_{(<s, a>, t)}Q(<s,a>,t))Q(&原创 2021-12-02 21:42:59 · 598 阅读 · 0 评论 -
强化学习_04_DataWhale策略梯度
习题4.1 如果我们想让机器人自己玩视频游戏,那么强化学习中三个组成部分(演员、环境、奖励函数)具体代表什么?演员:相当于智能游戏手柄环境:游戏APP,返回智能体的当前状态,以及APP当前的环境状态、奖励等奖励函数:基于游戏APP的规则获取的奖励。4.2 在一个过程中,一个具体的轨迹s1, a1, s2, a2出现的概率取决于什么?主要由两部分造成的影响,智能体和环境。智能体:在初始s1状态,智能体基于策略方式选取行动a1[ pθ(at∣st)p_{\theta}(a_t|s_t)pθ原创 2021-11-28 19:05:27 · 3287 阅读 · 0 评论 -
强化学习_03_利用与探索
一、利用与探索对于一个智能体而言需要权衡利用和探索。利用就是利用过往的经验,探索就是对环境进行随机的探索二、利用与探索的简单试验2.1 环境构建对于一个摇臂机器, 有n个臂,不同臂的中奖概率不同,我们需要在一定的摇臂次数之内达到最高的收益。class RockerEnv: def __init__(self, rocker_reward_rate_list, total_do=30): self.rocker_reward_rate_list = rocker_rewar原创 2021-11-25 20:57:19 · 611 阅读 · 0 评论 -
强化学习_03_DataWhale表格方法习题
习题1-1 构成强化学习的马尔可夫决策过程(MDP)的四元组有哪些变量?原创 2021-11-17 22:49:16 · 316 阅读 · 0 评论 -
强化学习_02_贝尔曼方程简单实现
参考: 《用Python动手学强化》一、贝尔曼方程1.1 价值计算在t时刻选择行动的价值Gt=∑k=0T−t−1γkrt+1+kG_t=\sum_{k=0}^{T-t-1}\gamma^kr_{t+1+k}Gt=∑k=0T−t−1γkrt+1+k, 即未来每个时刻的及时奖励乘以折扣率(γ\gammaγ)的累积和。【注:】γ\gammaγ:折扣率rrr: 及时奖励t+1+k: 下标表示未来某一时刻k: k >= 0 ; k <= T-t-1;T:为最终获得奖励的时间.原创 2021-10-31 18:08:35 · 947 阅读 · 4 评论 -
强化学习_02_DataWhale马尔可夫决策过程习题
习题原创 2021-10-22 18:03:34 · 1099 阅读 · 0 评论 -
强化学习_01_DataWhale强化学习概述习题
因为工作原因需要运用强化学习相关知识,借此参考DataWhale的资源体系的梳理一遍强化学习的知识。参考链接:https://github.com/datawhalechina/easy-rl习题回答1-1 强化学习的基本结构是什么?智能体+环境。智能体在环境中获取状态智能体利用这个状态输出一个决策,一个动作环境返回下一个状态,以及一个奖励重复以上过程以在环境中获取最大的收益1-2 强化学习相对于监督学习为什么训练会更加困难?...原创 2021-10-20 00:04:56 · 444 阅读 · 0 评论