自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 收藏
  • 关注

原创 【Highway-env】IntersectionEnv代码阅读

方法计算的是合作智能体的多目标奖励。对于每个动作,它计算所有控制车辆的奖励,并将这些奖励按名称聚合起来,然后除以车辆的数量得到平均奖励。这个方法返回的是一个字典,其中每个键都是一个奖励的名称,每个值都是对应的平均奖励。是一个三元组(例,(‘il1’,‘o1’,0)),判断车辆是否在车道上,是否抵达目的地,且是否在车道坐标系中的纵向坐标大于。通过对所有控制的车辆执行某个动作所获得的奖励进行求和,然后除以车辆的数量来得到平均奖励。这部分的代码大致可以分为以下几个部分,我也将从以下几个方面进行分析。

2023-11-19 23:46:14 777 2

原创 【rl-agents代码学习】02——DQN算法

本文将继续探索rl-agents中相关DQN算法的实现。下面的介绍将会以`intersection`这个环境为例,首先介绍一下Highway-env中的`intersection-v1`。Highway-env中相关文档——[http://highway-env.farama.org/environments/intersection/](http://highway-env.farama.org/environments/intersection/)。highway-env中的环境可以通过配置文件进行

2023-11-14 21:10:26 1292 1

原创 【rl-agents代码学习】01——总体框架

学习一下rl-agents的项目结构以及代码实现思路。

2023-11-13 12:28:06 497

原创 【强化学习】18 —— SAC( Soft Actor-Critic)

之前的章节提到过在线策略算法的采样效率比较低,我们通常更倾向于使用离线策略算法。然而,虽然 DDPG 是离线策略算法,但是它的训练非常不稳定,收敛性较差,对超参数比较敏感,也难以适应不同的复杂环境。2018 年,一个更加稳定的离线策略算法 Soft Actor-Critic(SAC)被提出。SAC 的前身是 Soft Q-learning,它们都属于最大熵强化学习的范畴。Soft Q-learning 不存在一个显式的策略函数,而是使用一个函数QQQ的波尔兹曼分布,在连续空间下求解非常麻烦。于是 SAC 提

2023-11-12 16:02:43 912

原创 【强化学习】17 ——DDPG(Deep Deterministic Policy Gradient)

之前的章节介绍了基于策略梯度的算法 REINFORCE、Actor-Critic 以及两个改进算法——TRPO 和 PPO。这类算法有一个共同的特点:它们都是在线策略算法,这意味着它们的样本效率(sample efficiency)比较低。本章将要介绍的深度确定性策略梯度(deep deterministic policy gradient,DDPG)算法通过使用离线的数据以及Belllman等式去学习QQQ函数,并利用QQQ函数去学习策略。

2023-11-05 12:29:13 474

原创 【强化学习】16 ——PPO(Proximal Policy Optimization)

TRPO算法在很多场景上的应用都很成功,但是我们也发现它的计算过程非常复杂,每一步更新的运算量非常大。于是,TRPO 算法的改进版——PPO 算法在 2017 年被提出,PPO 基于 TRPO 的思想,但是其算法实现更加简单。并且大量的实验结果表明,与 TRPO 相比,PPO 能学习得一样好(甚至更快),这使得 PPO 成为非常流行的强化学习算法。

2023-11-04 19:44:18 696

原创 【强化学习】15 —— TRPO(Trust Region Policy Optimization)

之前介绍的基于策略的方法包括策略梯度算法和 Actor-Critic 算法。这些方法虽然简单、直观,但在实际应用过程中会遇到训练不稳定的情况。回顾一下基于策略的方法:参数化智能体的策略,并设计衡量策略好坏的目标函数,通过梯度上升的方法来最大化这个目标函数,使得策略最优。这种算法有一个明显的缺点:当策略网络是深度模型时,沿着策略梯度更新参数,很有可能由于步长太长,策略突然显著变差,进而影响训练效果;同时由于采集到的数据的分布会随策略的更新而变化,步长太长,更新的策略可能变差,导致采集到的数据变差,进而陷入恶性

2023-11-03 23:00:33 593

原创 【强化学习】14 —— A3C(Asynchronous Advantage Actor Critic)

A3C算法()于2016年被谷歌DeepMind团队提出。A3C是一种非常有效的深度强化学习算法,在围棋、星际争霸等复杂任务上已经取得了很好的效果。接下来,我们先从A3C的名称入手,去解析这个算法。A3C代表了异步优势动作评价(Asynchronous Advantage Actor Critic):因为算法涉及并行执行一组环境。与DQN不同,DQN中单个神经网络代表的单个智能体与单个环境交互,而A3C利用上述多个化身来更有效地学习。在A3C中,有一个(global network)和。

2023-11-02 13:45:54 1689

原创 【强化学习】13 —— Actor-Critic 算法

可以发现,Actor-Critic 算法很快便能收敛到最优策略,并且训练过程非常稳定,抖动情况相比 REINFORCE 算法有了明显的改进,这说明价值函数的引入减小了方差。在 REINFORCE 算法中,目标函数的梯度中有一项轨迹回报,用于指导策略的更新。,代替蒙特卡洛采样得到的回报,这便是形式(4)。

2023-10-31 22:16:34 1198

原创 【强化学习】12 —— 策略梯度(REINFORCE )

之前在【强化学习】09——价值和策略近似逼近方法中讨论过使用参数θ\thetaθ来近似价值函数VVV或状态价值函数QQQVθs≈VπsQθsa≈QπsaVθ​sQθ​sa​≈Vπs≈Qπsa​之后,再通过价值函数推导出相应的策略(比如利用ϵ\epsilonϵ-贪婪策略)。本节将主要讨论直接参数化策略的方法πθsaπθ​sa。策略可以是确定性的——aπθsaπθ​s,也可以是随机的——

2023-10-30 22:53:05 564 1

原创 【强化学习】11 —— Double DQN算法与Dueling DQN算法

可以看到由于数据点的分布,使得拟合出的价值函数无法与真实的价值函数吻合,甚至在部分区域产生了明显的偏差。Dueling DQN 是 DQN 另一种的改进算法,它在传统 DQN 的基础上只进行了微小的改动,但却能大幅提升 DQN 的表现。这样,即使其中一套神经网络的某个动作存在比较严重的过高估计问题,由于另一套神经网络的存在,这个动作最终使用的值不会存在很大的过高估计问题。.在同一个状态下,所有动作的优势值之和为 0,因为所有动作的动作价值的期望就是这个状态的状态价值。环境的状态包括倒立摆角度的正弦值。

2023-10-30 10:10:11 953

原创 【强化学习】10 —— DQN算法

在车杆环境中,有一辆小车,智能体的任务是通过左右移动保持车上的杆竖直,若杆的倾斜度数过大,或者车子离初始位置左右的偏离程度过大,或者坚持时间到达 500 帧,则游戏结束。智能体的状态是一个维数为 4 的向量,每一维都是连续的,其动作是离散的,动作空间大小为 2。的,我们每次训练神经网络的时候从训练数据中随机采样一个或若干个数据来进行梯度下降,随着学习的不断进行,每一个训练数据会被使用多次。如果两套网络的参数随时保持一致,则仍为原先不够稳定的算法。具体而言,目标网络使用训练网络的一套较旧的参数,训练网络。

2023-10-28 21:16:52 408

原创 【强化学习】09——价值和策略近似逼近方法

之前所有模型的做法都是基于创建一个查询表,在表中维护状态值函数VsV(s)Vs或状态-动作值函数QsaQ(s,a)Qsa。但对于大规模的MDP时,为每一个状态维护VsV(s)Vs或为每个状态-动作对维护QsaQ(s,a)Qsa存储状态或动作需要大量的存储空间对于每一个状态去学习相应的价值需要耗费大量时间大规模问题状态或者状态-动作空间非常大连续的状态或动作空间围棋博弈(1017010^{170}10170的状态空间)

2023-10-26 16:05:34 217

原创 【强化学习】08——规划与学习(采样方法|决策时规划)

均匀随机采样(uniformly sampling)会使得部分采样的结果对实际的更新毫无作用。如下图所示,在开始时,只有靠近终点部分的更新会产生作用,而其他情况则不会。是指很多状态的值发生变化带动前继状态的值发生变化。但有的值改变很多,有的改变很少,因此需要根据紧急程度,给这些更新设置优先度进行更新。(expected updates)的方法。但这样会浪费很多计算资源在一些低概率的状态转移(transitions)上,因此引入。(Prioritized Sweeping)可以解决上述问题。

2023-10-25 12:55:02 376

原创 【强化学习】07——规划与学习(Dyna-Q)

前置知识回顾策略值函数估计(Policy Evaluation)策略提升(Policy Improvement)模型(Model)规划(Planning)规划与学习(Planning and Learning)Dyna (集成规划、决策和学习)

2023-10-24 20:11:38 307

原创 【强化学习】06 —— 基于无模型的强化学习(Control)

继续上一讲的内容【强化学习】05 —— 基于无模型的强化学习(PredictionElevatorBioreactorHelicopterQuakeGame of GoMDP模型是已知的,但是规模太大,只能通过采样进行MDP模型是未知的,只能通过在经验中进行采样在线策略学习和离线策略学习。通常来说,在线策略学习要求使用在当前策略下采样得到的样本进行学习,一旦策略被更新,当前的样本就被放弃了,就好像在水龙头下用自来水洗手;

2023-10-23 23:24:48 360

原创 【强化学习】05 —— 基于无模型的强化学习(Prediction)

上一节讲到的动态规划算法(【强化学习】04 ——动态规划算法)要求马尔可夫决策过程是已知的,即要求与智能体交互的环境是完全已知的(例如迷宫或者给定规则的网格世界)。在此条件下,智能体其实并不需要和环境真正交互来采样数据,直接用动态规划算法就可以解出最优价值或策略。这类已经给定一个MDP模型(即,状态转移Pss′aPss′a​和奖励函数RsRs​明确给定) 的算法可以称为基于模型的强化学习。基于模型来计算最优价值函数和学习最优的策略。

2023-10-03 22:44:46 734

原创 【论文笔记】—— Survey of Deep Reinforcement Learning for Motion Planning of Autonomous Vehicles

DRL系统构成:环境建模、建模抽象、状态和感知模型的描述、适当的奖励函数以及底层神经网络的实现。本文介绍了基于不同层和观测模型的策略决策,例如连续和离散状态表示、基于网格和基于相机的解决方案等等。本文根据自动驾驶的不同任务和级别,如车辆跟踪、车道保持、轨迹跟踪、并道或在密集交通中行驶等,对最先进的解决方案进行了系统研究。

2023-10-01 23:49:31 374

原创 【强化学习】04 ——动态规划算法

动态规划)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。最优子结构:最优解可以被分解为子问题。最优性原理适用:重叠子问题:子问题经常重复出现。解决方案可以被缓存和重复使用。马尔可夫决策过程符合这两个属性。贝尔曼方程提供了递归分解。价值函数存储和重用解决方案。基于动态规划的强化学习算法主要有两种:一是策略迭代。

2023-09-29 18:45:21 681

原创 【论文笔记】A Review of Motion Planning for Highway Autonomous Driving

首先介绍了一些自动驾驶汽车的起源、相关辅助驾驶技术的应用、相关的政策与标准、DARPA挑战赛以及其他的自动驾驶汽车项目情况和进展。作者介绍了一些Motion Planning先前的综述和文献:这部分介绍了一些基本的术语和概念(不完全记录):二者都包含:作者介绍了一种典型的分层模式:作者在本文中提出的分层方式:在最近的工作[32], [33]中,motion planning的方法主要被分为high-level和low-level两个部分:表格中是各模块的距离范围和时间范围。作者主要考虑的场景仅限于是结构

2023-09-26 18:17:39 1018

原创 【强化学习】03 ——马尔可夫决策过程

在此推荐另一篇文章【自动驾驶决策规划】POMDP之Introduction“The future is independent of the past given the present”未来状态的概率分布只与当前状态有关,而与过去状态无关。定义:性质:Pss′\boldsymbol{P}_{ss^{\prime}}Pss′​为从状态sss转移到状态s′s's′的概率,又称一步状态转移概率。P\boldsymbol{P}P为一步状态转移矩阵。P[St+1∣St]=P[St+1∣S1,…,St]Pss′=P[

2023-09-24 23:29:14 905 1

原创 【强化学习】02—— 探索与利用

探索和利用是强化学习试错型学习(trial-and-error)中不可少的一部分;多臂老虎机问题与强化学习的一大区别在于其与环境的交互并不会改变环境,即多臂老虎机的每次交互的结果和以往的动作无关,所以可看作无状态的强化学习多臂老虎机是研究探索和利用理论的最佳环境(理论渐进最优收敛为Olog⁡TO(\log T)OlogT各类探索和利用方法在RL,特别是在多臂老虎机中常用。

2023-09-21 22:21:01 514

原创 【强化学习】01—— 强化学习简介

通过从交互学习中实现目标的计算方法感知:在某种程度上感知周围环境行动:采取行动来影响状态或者达到目标目标:随着时间的推移,最大化奖励。

2023-09-21 15:21:49 264

原创 【最优化】—— 最优化简介(一)

本系列文章作为最优化学习的相关笔记。参考书目:文再文老师的《最优化:建模、算法与理论》

2023-09-18 23:29:11 694

原创 【论文笔记】Optimal trajectory generation for dynamic street scenarios in a Frenét Frame

提出了一种的轨迹生成算法,可以很好得集成进行为决策层。该方法通过基于Frenet坐标系中的最优控制策略来将被动碰撞和定速巡航、并道、跟车等进行结合。在无约束优化问题的最优解集合中寻找合理的近似来解决受约束的优化问题,并选择最佳解决方案,以满足约束条件。高速横纵向互相解耦;低速则不同。

2023-09-17 15:05:28 464

原创 【自动驾驶决策规划】POMDP之Introduction

本文是我学习POMDP相关的笔记,由于个人能力所限,可能有所纰漏,还请批评指正。初学者,希望和大家共同学习.

2023-09-14 08:44:12 3267 3

原创 【论文笔记】Baidu Apollo EM Motion Planner

EMplanner通过一个层级结构的方式去考虑多车道和单车道的情况:(1)顶层策略通过比较不同车道级轨迹来处理变道场景;(2)在Frenet坐标下不断迭代求解路径优化和速度优化问题来生成轨迹;(3)为了使框架易于扩展和调整,可以同时处理交通规则、障碍物决策和平滑曲线,他们提出了一种融合DP和QP采样的优化算法。

2023-09-12 11:02:25 628 2

原创 【论文笔记】Perception, Planning, Control, and Coordination for Autonomous Vehicles

单纯作为阅读笔记,文章内容可能有些混乱。

2023-09-10 11:15:48 796

原创 【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER(二)

续接上文:【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER(一)这部分是具体的非线性规划代码实现。在代码中首先可以看到构造了这个类的对象。下面是该类构造函数中所含有的参数。继承自基类。为了利用IPOPT的接口TNLP求解问题,需要构建一个接口类来重写TNLP中求解问题所需要的一些函数,并完成对这些函数的实现。IPOPT(Interior Point Optimizer)是一个用于大规模非线性优化的开源软件包。它可用于解决如下形式

2023-09-07 21:39:46 980

原创 【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER(一)

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第14个TASK——产生平滑速度规划曲线根据ST图的可行驶区

2023-09-07 19:34:23 941

转载 二次规划(QP)样条路径优化

二次规划(QP)+样条插值路径定义在station-lateral坐标系中。s的变化区间为从车辆当前位置点到默认路径的长度。将路径划分为n段,每段路径用一个多项式来表示。每个样条段 i 都有沿着参考线的累加距离did_idi​。每段的路径默认用5介多项式表示。l=fi(s)=ai0+ai1⋅s+ai2⋅s2+ai3⋅s3+ai4⋅s4+ai5⋅s5(0≤s≤di)

2023-09-05 15:23:22 451

转载 二次规划ST速度优化

从二次规划样条路径中选取一条路径后,Apollo将路线上的所有障碍物和自动驾驶车辆(ADV)展现在一个时间-路径图上(path-time ST),该路径图表示了路径上的站点变化。速度优化的任务是在ST图上找到一条合理的,无障碍的路径。Apollo使用多个样条来表示速度参数,在ST图上表示为一系列的ST点。Apollo会对二次规划的结果做再次的平衡以获得最佳的速度参数。

2023-09-05 15:20:02 245 1

原创 【论文笔记】Optimal Trajectory Generation for Autonomous Vehicles Under Centripetal Acceleration Constrain

Optimal Trajectory Generation for Autonomous Vehicles Under Centripetal Acceleration Constraints for In-lane Driving Scenarios》这篇文章主要是apollo思想的来源。

2023-09-05 14:57:53 203

原创 【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_SPEED_OPTIMIZER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第13个TASK——产生平滑速度规划曲线根据ST图的可行驶区

2023-09-04 17:01:52 1392 3

原创 【Apollo学习笔记】——规划模块TASK之SPEED_DECIDER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第11个TASK——产生速度决策。

2023-09-03 15:53:19 1055

原创 【Apollo学习笔记】——规划模块TASK之SPEED_HEURISTIC_OPTIMIZER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第10个TASK——动态规划规划目标加速度尽可能小。

2023-09-02 14:57:34 1479 3

原创 【Apollo学习笔记】——规划模块TASK之SPEED_BOUNDS_PRIORI_DECIDER&&SPEED_BOUNDS_FINAL_DECIDER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第9个TASK——产生速度可行驶边界。

2023-08-31 20:54:12 1309 7

原创 【Apollo学习笔记】——规划模块TASK之RULE_BASED_STOP_DECIDER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第8个TASK——

2023-08-30 20:18:16 1458

原创 【Apollo学习笔记】——规划模块TASK之PATH_DECIDER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第7个TASK——根据选出的路径给出对障碍物的决策。

2023-08-29 16:51:01 817

原创 【Apollo学习笔记】——规划模块TASK之PATH_ASSESSMENT_DECIDER

在Apollo星火计划学习笔记——Apollo路径规划算法原理与实践与【Apollo学习笔记】——Planning模块讲到……Stage::Process的函数会依次调用task_list中的TASK,本文将会继续以LaneFollow为例依次介绍其中的TASK部分究竟做了哪些工作。由于个人能力所限,文章可能有纰漏的地方,还请批评斧正。在配置文件中,我们可以看到LaneFollow所需要执行的所有task。本文将继续介绍LaneFollow的第6个TASK——路径评价,选出最优路径由fallback。

2023-08-28 22:33:38 1185

数据挖掘第四次作业(朴素贝叶斯)

练习使用 Python 语言,请对“西瓜数据集2.0"中的数据进行分析,使用朴素贝叶斯方法学习西瓜数据后验条件概率分布,并对如下瓜的类型做出判断(乌黑,蜷缩,浊响,稍糊,平坦,硬滑)将 Python 运行结论截图上传到本题

2022-11-17

数据挖掘第三次作业(支持向量机SVM和决策树)

分类算法(决策树、支持向量机)建立决策函数,然后判断如下数据的类别。 (青年,是,否,非常好)请按列表写结果并附加程序和运行结果。

2022-11-17

数据挖掘第二次作业(用Python对西瓜数据集进行分析)

练习使用 Python 语言,请对“西瓜数据集3.0/4.0"中的数据进行分析, (1)求“密度”“含糖率”特征的统计特征 (2)求“敲声”的类型有几个 将 Python 运行结论截图上传到本题。

2022-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除