- 博客(16)
- 收藏
- 关注
原创 离线RL的一些概念
强化学习(Reinforcement Learning, RL)是一种让智能体(Agent)通过与环境实时交互,从试错中学习 “如何行动以最大化累积奖励” 的算法框架。核心是 “在线试错”:智能体通过执行动作、观察环境反馈(奖励和新状态),不断调整策略,最终学会最优行为。例如:训练机器人走路时,机器人通过一次次摔倒(试错),从环境中获取 “摔倒 = 负奖励”“站稳 = 正奖励” 的反馈,逐步优化步态。离线强化学习(Offline RL,又称批量强化学习 / Batch RL)
2025-07-12 16:49:08
555
原创 深度强化学习入门(一)
强化学习是机器学习的一个重要分支,核心目标是让智能体(Agent)通过与环境的交互,学习 “最大化长期累积奖励” 的策略。强化学习的核心逻辑是 “试错学习”:智能体在环境中执行动作(Action),环境会返回新的状态(State)和即时奖励(Reward);智能体通过不断试错,逐渐调整策略(Policy),最终找到能让 “长期总奖励” 最大的行为模式。深度强化学习是强化学习与深度学习的结合。
2025-07-11 22:14:41
969
原创 grpo算法学习(一)
我们假设数据总有用完的一天,有限数据下,只通过RL训练便能够“涌现”在深度推理回答的长度和反思的能力,是更充分的数据挖掘,这是grpo的初衷。重要性采样:重要性采样是一种通过调整样本权重,用旧分布(旧策略)的样本来估计新分布(新策略)期望值的方法。GRPO的创新点:直接使用组内样本的奖励计算基线,无需Critic模型,降低了计算成本。Critic 模型:是强化学习中价值函数的一种表示,主要用于评估状态或动作的价值。
2025-07-10 22:02:31
378
原创 逆向强化学习(IRL)学习笔记
例如,在自动驾驶场景中,专家示范是人类驾驶员的历史轨迹,IRL 通过这些轨迹推断出 “靠近车道中心行驶”“遵守信号灯” 等隐含的奖励逻辑(无需人工定义这些奖励的具体数值)。强化学习(RL)的目标是 “已知奖励函数,学习最优策略”;而 IRL 则是 “已知专家的最优行为(如轨迹),反推其背后的奖励函数”。奖励函数是 IRL 的。而非输入,因此不需要奖励的真实标签(reward gt)。:二分类网络区分专家/生成数据。:使用预训练策略生成专家轨迹。:基于 PPO 的生成器。:交替优化生成器和判别器。
2025-07-09 17:44:56
943
原创 Soft Actor-Critic (SAC) 算法学习
今天学习一下强化学习中的SAC算法:Soft Actor-Critic (SAC) 是一种无模型的离线策略强化学习算法,结合了策略梯度和最大熵强化学习框架。它通过优化策略的熵(随机性)来平衡探索与利用,在连续控制任务中表现出色,且具有良好的稳定性和样本效率。SAC 在传统强化学习目标(累积奖励最大化)的基础上,引入熵是用来量化概率分布中的不确定性或者说随机性的一个计算量。
2025-07-08 14:59:49
988
原创 bench2drive代码阅读笔记
特点:距离车辆50-200米,对应高精地图的road-level路径。- 特点:距离车辆5-50米,对应车道线级别的lane-level路径。- 作用:全局路径规划的关键节点(如交叉口、环岛)- 作用:局部轨迹生成的参考点(如车道中心线点)# 近距离目标点(command_near)# 远距离目标点(command_far)
2025-07-01 19:51:39
142
原创 python基础教程(第三版)学习笔记(四)
2. 对象和对象之间不要过于亲密,方法只关心所属实例,对其他实例的状态应当管好自己。4. 保持简单,短小紧凑。30秒内如果不能理解这段代码的含义,那么请务必重新审视。思考、记录类的使用场景,记录这个场景,并且用代码满足它。结合方法,属性,就可以开发一个好的、实用的类了。3. 小心使用继承,除非有必要。1. 相关的东西放在一起。形容词 -- 可能的属性。关于面向对象设计的思考。动词 -- 可能的方法。名词 -- 可能的类。
2024-10-27 12:00:45
128
原创 使用pdb进行detr3d代码走读(二)
经过刚才的第一轮,调整一下断点的位置,这次可以直接把断点打在detr3d的代码里面。这次设置两个断点位置,分别是detr3d的类初始化位置和predict推理位置。
2024-10-21 23:21:23
311
原创 使用pdb进行detr3d代码走读(一)
结合bash tools/dist_test.sh projects/DETR3D/configs/detr3d_r101_gridmask.py ~/Downloads/detr3d_r101_gridmask.pth 1。进入func的调用栈,一路穿刺之后找到outputs = self.runner.model.test_step(data_batch),这是典型的输出 = 模型(输入)的结构,感觉快找到了。还以为遍历module已经开始eval了,但是好像仍然是初始化实例的过程。
2024-10-21 22:14:46
543
原创 python基础教程(第三版)学习笔记(四)
多态和封装:例如,让每个对象自己负责**如何**计算价格,而对于使用方则只需要**查询**价格,做法是调用对象自身的**计算价格**方法。封装与多态的不同:多态让使用者无需知道具体的类,封装保障你能够放心使用抽象。好的封装能够很好使用属性和全局变量,使结果正确,符合预期。另一个例子:加法运算符+,既可以用于数字相加,也可以用于字符串相连。python主要内置对象类型:数,字符串,列表,元组,字典。重点概念:对象,多态,封装,方法,属性,超类,继承。--如果走起来是鸭子,叫起来像鸭子,那么他就是鸭子。
2024-10-06 02:55:40
253
原创 花了一天在新pc上调通了mmdetection3d和detr3d的代码环境
我的电脑基本上是一个全新的ubuntu主机(除了minecraft之外没有任何生产力环境,总算是要开始务正业了),所以从头开始。个人使用的电脑环境:志强2790v3,nvidia 1050ti,4G显存,24G内存,ubuntu20.04。到这里应该算是趟通了detr3d的环境和代码了,后面的时间就可以用来结合学习资料进行比较仔细的研读了。没想到运气比较好,显存刚刚好够,但是计算核心不够多,资源拉爆了,但能跑起来了,能看。换了别的版本也没用,还好锁页内存不是核心功能,只是影响效率,把这个功能关掉。
2024-10-05 00:24:44
499
原创 python基础教程(第三版)学习笔记(三)
参数存储在函数局部作用域。但是,如果参数是一种可变的数据结构,比如列表,那么函数就可以影响到外部了。所以,如果不想要影响,你可以创建副本,让原本的容器更安全,不会被改。对什么都不返回的函数,可以不包含return,也可以包含一个没有在后面指定返回值的纯return。星号的作用是,收集余下的位置参数。抽象可以隔离具体的实现细节,而更聚焦在能做什么,以及做什么的所需条件上。收集位置参数用*,收集关键字参数,用**,收集的结果是字典而不是元组。注意函数参数包括位置参数和关键字参数,且有分配和收集机制,*和**。
2024-10-04 23:39:31
302
原创 python基础教程(第三版)学习笔记(二)
类似与C++的智能指针,python的垃圾回收自己会监控这个元素实际的值在后续是否还会被引用,如果没有了,其就会立刻删掉。当用作布尔表达式时,这些值被视为假:False,None,(各种数据类型的,包括浮点、复数等)0,“”,(),[],{},5. 条件语句if以及一些注意事项,例如is和==的区别,布尔变量对哪些值认为是假,is为什么不能用于判断数字、字符串。3. is不可以用于数字,字符串等不可变基本值,因为结果不可预测,他们并不是变量,没有稳定的分配地址。基于代码块,有条件语句、循环语句等。
2024-10-04 22:12:48
534
原创 python基础教程(第三版)学习笔记(一)
pop:删除元素(和append搭配使用形成一个后进先出的栈结构,和insert(0,...)搭配使用可以形成一个先进先出的队列。和拼接的区别是,拼接的结果是一个全新的序列,而扩展是修改原有的序列。后续有语句,流程体,以及面向对象抽象、高级数据结构,等,另开一篇笔记。items:把字典中所有元素汇总成一个列表,格式为(key,value),排序不确定。第一个索引是包含的第一个元素的编号,但第二个索引是切片后余下的第一个元素的编号。join:和split相反,用于以指定的连接符,合并序列的元素,返回字符串。
2024-10-01 14:12:05
796
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅