【RL从入门到放弃】【二十一常见模型分析】

强化学习(RL)基本概念 强化学习 一文了解强化学习 阅读详情

在RL里面重要且比较容易被忽视的一环是ENv,为什么重要,因为env是对实际情况的理解,尤其是输入特征和reward的定义直接影响最终的结果。而网上的很多关于RL的知识点,都主要在涉及agent上,所以对这个基础的东西是忽略掉了的。

迷宫游戏

游戏规则:探索者从红色的初始位置以最少的step到达天堂

 

Env提供的数据

Initial:在红色位置为初始化位置

States: 当前位置【observation可以看成是state的函数】

Obrvations:[x, y]  x,y属于[0~1],例如[0.25, 0.25]代表第一个红色的方格位置

Actions:[left, up, down, right],

Done: 到达黄色或者黑色位置表示结束

Reward:到达黄色位置表示天堂,到达黑色位置表示地狱。

state是最原始的环境内部的表示,observation则是state的函数。好比我们所看见的东西并不一定就是它们在世界中的真实状态,而是经过我们的大脑加工过的信息

判断游戏是否达到比较好的效果:

  1. loss值

关于这点,网上找到的说法如下:

 

“可以看出曲线并不是平滑下降的, 这是因为 DQN 中的 input 数据是一步步改变的, 而且会根据学习情况, 获取到不同的数据. 所以这并不像一般的监督学习, DQN 的 cost 曲线就有所不同了”

  1. 根据规则来定义

 

显然下面这个更加能够判定我们最终基本上找到了次优解,这里如果最后掉进了地狱,我就认为走的step为负数。

我们再来看看动作的价值:

逐渐升高,也就是说每个action的价值在逐步的提升。

迷宫游戏和棋盘游戏差不多,仿真环境都很好搭建,规则奖励等也很好定义。忽然觉得deep mind选择棋类游戏来证明机器人的智能真的好明智。

倒立摆

规则:钟摆以随机位置开始,向上摆动使其直立。

Initial:初始化随意位置

States:角度和角速度

Observation:

Actions:电机的力矩

介于电机最大和最小力矩之间的数据,一般会归一化处理为【-2, 2】

Done:normal状态下,直立起来我们视为finish,但如果我们设计不好,一直立不起来,岂不是要等到地老天荒。所以一般在达到一定的step_counts时就结束[30000]。

Reward :

Reward = -costs

angle_normalize(th)**2:与目标角度差的惩罚项

.1*thdot**2:角速度的惩罚项

.001*(u**2):输入力矩的惩罚

这里有一个有趣的现象是给出了在choose_actions时候的q值

" Natural DQN 学得差不多后, 在立起来时, 大部分时间都是 估计的 Q值 要大于0, 这时就出现了 overestimate, 而 Double DQN 的 Q值 就消除了一些 overestimate, 将估计值保持在 0 左右."

在一个episode里面可以看到loss值下降是很明显的。

从reward的角度来看:

这次我们看看累积奖励 reward, 杆子立起来的时候奖励 = 0, 其他时候都是负值, 所以当累积奖励没有在降低时, 说明杆子已经被成功立了很久了.

不用看累积的奖励,直接看即时reaward不就可以了吗!但这个我试过去看他的即时reaward很不好看

所以后面可以借鉴一下他的累积奖励的方式。

然后是AC和RNN实现的查看的正则化之后的reward的值

或者这样:

连续动作的小车上山

规则:小车由中间开始位置开始,跑上右边的山顶旗子标志的位置

Initial:位于-0.6和-0.4之间,无速度

State&observation:这里二者是一致的

Action:

我看的传统的V0的模型,里面action的值是0,1,2。不知道哪个是往左边走,哪个是往右边走。

if done: reward = 10,在结束的时候给了一个10的reward

Done:目标位于汽车右侧的山顶上。 如果汽车到达或超出,则剧集终止

Reward:

奖励为到达右侧山丘目标的100,减去从开始到目标的动作平方总和。这个奖励函数提出了一个探索挑战,因为如果代理人没有尽快到达目标,它将会发现最好不要移动,并且不再找到目标。
请注意,对于大多数已发表的作品而言,这种奖励是不寻常的,其目标是尽可能快地达到目标,因此有利于爆炸战略

我看的传统的V0的模型,里面reward一直是-1

下面是用  MountainCar-v0 模型得到的结果,可以看到后面步数是逐渐减少的。

从累积的效果上来看,单看每一个episode效果还是不好。

再看看他的loss值的曲线,但是为什么最后会有一个突起呢?

 

DQN修改reward的值之后的实验结果如下:

 

 

在策略梯度里面的另一种角度如下:

“

这张图在说: “请重视我这回合最后的一系列动作, 因为这一系列动作让我爬上了山. 而且请惩罚我开始的一系列动作, 因为这些动作没能让我爬上山”.

也是通过这些 vt 来诱导梯度下降的方向.

”

策略梯度里面的loss值的变化情况:

车摆游戏

规则:游戏里面有一个小车,上有竖着一根杆子。小车需要左右移动来保持杆子竖直。如果杆子倾斜的角度大于15°,那么游戏结束。小车也不能移动出一个范围(中间到两边各2.4个单位长度)

Initial:所有的观测值都被指定为±0.05之间的随机值

Observation:位置、小车的速度、角度、角度变化率

Action:

Done: 到达200个reward之后,游戏也会结束;角度超过15度;超出移动范围则结束

Reward: 左移或者右移小车的action之后,env都会返回一个+1的reward

x, x_dot, theta, theta_dot = observation_

r1 = (env.x_threshold - abs(x))/env.x_threshold - 0.8

r2 = (env.theta_threshold_radians - abs(theta))/env.theta_threshold_radians - 0.5

reward = r1 + r2

下面是DQN的学习结果

在策略梯度算法中我们看到了一个新的角度,就是正则化的累积回报,此时不对reaward进行处理

可以看出, 左边一段的 vt 有较高的值, 右边较低, 这就是 vt 在说:

“请重视我这回合开始时的一系列动作, 因为前面一段时间杆子还没有掉下来. 而且请惩罚我之后的一系列动作, 因为后面的动作让杆子掉下来了” 或者是

“我每次都想让这个动作在下一次增加被做的可能性 (grad(log(Policy))), 但是增加可能性的这种做法是好还是坏呢? 这就要由 vt 告诉我了, 所以后段时间的 增加可能性 做法并没有被提倡, 而前段时间的 增加可能性 做法是被提倡的.”

这样 vt 就能在这里 loss = tf.reduce_mean(log_prob * self.tf_vt) 诱导 gradient descent 朝着正确的方向发展了.

 

 

大规模语言模型从理论到实践 SFT模型和RL模型评估 大规模语言模型从理论到实践 SFT模型和RL模型评估 1.背景介绍 大规模语言模型(Large Language Models, LLMs)近年来在自然语言处理(NLP)领域取得了显著的进展。通过训练海量数据,这些模型能够生成高质量的文本,完成各种复杂的语言任务。本文将深 阅读详情

相关推荐

(一)强化学习基础概念及学习路径

强化学习(Reinforcement Learning, RL)是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。其涉及的内容很多,本文仅针对其基础概念以及学习路径进行了介绍和总结,供初学者借鉴和学习。 ​

h320130的博客 2987

强化学习(RL)原理以及数学模型

强化学习简介 1强化学习与机器学习的关系 2强化学习的一些小案例 强化学习的原理 强化学习的数学原理 1建模的思路 2 马尔可夫过程 3 马尔可夫决策过程MDP 1.强化学习简介 1.1强化学习与机器学习的关系 强化学习是机器学习的一个分支,强调如何基于环境行动,以取得最大化的预期利益,其灵感来源于心理学中的行为主义理论,即有机体如何在环境的奖励或惩罚刺激下,逐步形成对刺

多元思考力 3万+

Proteus 8.15仿真STM32F103C8,ADC采样总为0?别急着换芯片,先检查这3个配置

本文详细解析了在Proteus 8.15中仿真STM32F103C8时ADC采样值为0的常见原因及解决方法。从供电网络配置、时钟设置到ADC参数调整,提供了系统性的排查指南,帮助开发者快速定位问题,避免不必要的硬件更换。重点关注供电网络、时钟分频和ADC配置等关键环节。

weixin_30425949的博客 366

【大模型理论篇】强化学习RL与大模型智能体

大模型、智能体、LLM、Agent、强化学习、Q-learning、DAN、policy gradient、Reinforcement learning、autogpt、ToolLLM Agent、RL、自动处理

源泉的小广场 5023

ECharts 实现世界地图

效果图 源代码(仅供参考) <template> <div class="echarts"> <div class="className" id="id" style="width: 100%; height: 450px" ref="myEchart" ></div> </div> </template> <script lang="ts"> imp

EsquireY的博客 4875

【同花顺公式编辑教程】第4章 功能函数

本章节主要给出大部分能够运行且常用的同花顺指标编辑器提供的函数。其中,计算类函数不作演示,绘图类函数提供示例及示例运行结果。

LiaoYi2016218的博客 2万+

【RL从入门到放弃】【一】

1、RL和ML和DL之间的关系 2、马尔卡夫 马尔卡夫性: 系统的下一个状态St+1仅与当前状态St相关 定义:状态st 是马尔科夫的,当且仅当P[st+1 |st ]=P[st+1 |s1 ,…,st]。定义中可以看到,当前状态st 其实是蕴含了所有相关的历史信息s1 ,…,st ,一旦当前状态已知,历史信息将会被抛弃。【这样定义马尔卡夫性有什么意义呢?】 马尔科夫性描述的是每个状...

勿于浮沙筑高台 1500

告别Win11睡眠假死:深入解析Modern Standby S0与S3冲突及注册表修复方案

本文深入解析了Windows 11中Modern Standby(S0)与传统睡眠(S3)模式的冲突,该冲突是导致电脑睡眠后出现假死、断网等问题的根源。文章提供了通过修改注册表键值(PlatformAoAcOverride)强制启用稳定S3睡眠的终极修复方案,并附有详细诊断步骤与避坑指南,帮助用户彻底解决睡眠故障。

ol789012的博客 823

【RL从入门到放弃】【十五】

1、基于策略搜索的RL 之前介绍的都是基于值函数的RL,通过神经网络来毕竟值函数,然后通过greedy策略或者贪婪策略去选择action,基于值函数的RL存在一个缺陷,那就是动作空间必须是有限的且是离散的,当动作空间是连续的或者无穷大时便无法处理。此时基于策略搜索的RL就开始起到作用了 实际上觉得上面这个分类有点怪怪的 在不同的情形下,累积回报的期望是否最大的衡量方式是不同的 ...

勿于浮沙筑高台 405

STM32F103ZET6驱动57闭环步进电机(连线+代码)

一、设备: 1. STM32F103开发板 (普中F103的板子) 2. 57闭环电机带驱动 3. 24V/3A的直流电源,用于给电机驱动供电 简单说明:使用Keil5编程,主要使用了PWM波,外部中断和时间中断,按键控制电机使能和脱机并且控制PWM的周期,调节周期即调节电机的转速。 二、STM32开发板与电机驱动的连线: 1.PUL-、ENA-、DIR-与STM32的连接方法: 可以参考CSND的这个链接中的说明,使用共阴极接法:STM32F407-用TB6600驱动器驱动57步进电机(代码

baidu_39071234的博客 7430

《python神经网络编程》程序实现

《python神经网络编程》程序实现 通过对这本书的学习,结合这本书的内容: 完成了以下代码: 其中NN.py实现了一个类,这个类可以完成神经网络的初始化,训练以及输入数据并得出结果。 而run.py则是对神经网络类的使用 NN.py: import numpy import scipy.special #神经网络类的实现 class neuralNetwork: #构造函数初始化类 def __init__(self,inputnodes,hiddennodes,outputnodes

ms8617484的博客 620

【RL从入门到放弃】【二十五】

一直在纠结强化学习的env环节,今天来看看google团队提供的horizen: 今日,Facebook 开源了适合大规模产品和服务的强化学习平台 Horizon,这是第一个使用强化学习在大规模生产环境中优化系统的开源端到端平台。Horizon 包含的工作流程和算法建立在开放的框架上(PyTorch 1.0、Caffe2、Spark),任何使用 RL 的人都可以访问 Horizon。去年,Fac...

勿于浮沙筑高台 472

从4A架构的角度出来 帮我分析一下:数字化转型深水区:企业架构如何成为价值重构的核心引擎?

4A 架构的本质是构建企业的数字神经系统,通过业务感知、数据传输、决策执行、技术支撑的闭环,实现从效率提升到生态重构的质变。正如华为通过该架构实现全球研发资源统一调度,某零售集团借此打造线上线下融合的新零售体系,当业务、数据、应用、技术四个维度形成共振时,企业将获得持续进化的数字免疫力,在不确定的市场环境中保持韧性生长。这一过程不仅需要技术工具的升级,更依赖组织文化的变革 —— 从 “部门墙” 到 “能力网” 的转型,才是数字化转型深水区的终极挑战。

金牌架构师 1046

【RL从入门到放弃】【八】

1、【gym】环境中添加自定义的环境 1、将定义的class文件放在这个下面mdp.py C:\Users\xxxx\AppData\Local\Continuum\anaconda3\Lib\site-packages\gym\envs\classic_control,这个是我机器上的路劲,如果不知道可以在anaconda prompt使用pip install gym命令查看 2、在__...

勿于浮沙筑高台 1668

Linux下驱动开发_块设备驱动开发(硬件上采用SD卡+SPI协议)

这一篇文章将采用SD卡作为存储硬件,利用SPI协议与SD卡通信,完成块设备驱动开发测试。 SD卡可以更加形象的表示块设备开发过程,明白硬件如何交互,完成数据读写。

2605

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【RL从入门到放弃】【六】

1、MC 上面动态规划都是基于modle的,也就是说里面的概率都是固定的,强化学习算法的精髓之一是解决无模型的马尔科夫决策问题 无模型的强化学习算法主要包括蒙特卡罗方法和时间差分方法 无modle的RL和基于modle的RL的思想是一致的,即策略评估和策略改善 学习蒙特卡罗方法之前,我们先梳理强化学习的研究思路。首先,强化学习问题可以纳入马尔科夫决策过程中,这方面的知识已在第2章阐述。...

勿于浮沙筑高台 540

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【RL从入门到放弃】【十二】

1、Pytorch - Conv2d 卷积 CLASS torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True) 假设 Conv2d 的输入 input 尺寸为(N,Cin,Hin,Win),输出 output 尺寸为(N,Co...

勿于浮沙筑高台 703

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【RL从入门到放弃】【十八】

1、基于引导策略搜索的RL

勿于浮沙筑高台 243

【RL从入门到放弃】【十一】

1、windows下配置rllab环境 rllab:一个强化学习的框架 github地址:https://github.com/openai/rllab 官方安装教程:https://rllab.readthedocs.io/en/latest/user/installation.html windows下配置rllab环境 官方的安装教程只提供了linux和macOS的,这对于广大wi...

勿于浮沙筑高台 1893

【RL从入门到放弃】【二 表格型RL】

1、Q_learning 探索者游戏,从开始位置左右移动到终点位置,结束的时候奖励值为1,其余时刻奖励值为0 q_table/值函数矩阵 states + actions choose action Left或者right,how to choose action? 行动策略(action policy)是ε-greedy策略,引入的一个参数是epsilon greedy, ...

勿于浮沙筑高台 613

【RL从入门到放弃】【四】

1、Deep Q Network deep q network是基础是q_learning,里面的改善包含三个方面 1、深度神经网络逼近值函数 DQN利用深度卷积神经网络逼近值函数,DQN的行为值函数利用神经网络逼近,属于非线性逼近。虽然逼近方法不同,但都属于参数逼近。请记住,此处的值函数对应着一组参数,在神经网络,参数是每层网络的权重,我们表示。公式表示的话值函数为 。请留意,此时更新值函...

勿于浮沙筑高台 679

【RL从入门到放弃】【七】

1、基于值函数逼近的RL 前面已经介绍了强化学习的基本方法:基于动态规划的方法,基于蒙特卡罗的方法和基于时间差分的方法。这些方法有一个基本的前提条件:状态空间和动作空间是离散的,而且状态空间和动作空间不能太大。这些强化学习方法的基本步骤是先评估值函数,再利用值函数改善当前的策略。其中值函数的评估是关键。对于模型已知的系统,可以利用动态规划的方法得到值函数;对于模型未知的系统,可以利用蒙特卡罗的方...

勿于浮沙筑高台 544

【RL从入门到放弃】【十七】

1、基于确定性策略的RL 随机策略梯度为:

勿于浮沙筑高台 192

【RL从入门到放弃】【三】

1、动态规划 目标函数 用τ表示从状态s到最终状态的一个序列τ:st ,st+1 …,sT 累积回报R (τ)是个随机变量,随机变量无法进行优化,无法作为目标函数,我们采⽤随机变量的期望作为⽬标函数, 即∫R (τ)pπ (τ) dτ作为目标函数,用公式来表⽰强化学习的目标 强化学习的最终目标是找到最优策略为π* :s→u* 自举法 状态值函数的计算方法: ...

勿于浮沙筑高台 386

尝试在更一般的领域为LLM RL构建Reward Model

DeepSeek R1是在pretrain模型的基础上直接针对ORM(Outcome-supervised Reward Model)进行RL训练的,依赖RL基于pretrain模型中已经学到人类的典型思考工具来学习独立完整求解问题的方式。pretrain阶段的数据短时间内还不能显著的扩展,那么另一个可以探索的方向就是 ORM。目前前沿研究者推崇的方式是,寻找哪些领域可以构造出完美的reward model,即判定正确率100%的方案,例如目前数学和代码领域这方面相对容易。

m0_59163425的博客 1256

【RL从入门到放弃】【二十七】【google dopamine】

除了OpenAI,还有其他巨头在做强化学习的工作(尤其是深度强化学习),这里介绍Google和Facebook两家开源的工程,分别是Dopamine和Horizon,Github上地址分别为:https://github.com/google/dopamine 和 https://github.com/facebookresearch/Horizon Dopamine is a research...

勿于浮沙筑高台 689
上一篇: 【RL从入门到放弃】【二十】
下一篇: 【RL从入门到放弃】【二十二】
money_yuan
博客等级 码龄10年 104粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值