无人驾驶实战-第十二课(强化学习自动驾驶系统)(完)

在七月算法上报了《无人驾驶实战》课程,老师讲的真好。好记性不如烂笔头,记录一下学习内容。 课程入口,感兴趣的也可以跟着学一下。

—————————————————————————————————————————

强化学习:通过和环境交互学习到如何在相应环境中采取最优策略的行为。特点是不需要标注,具有鲁棒性,对行为(Action)的学习更友好。
Environment:整体任务的工作环境 
Reward:激励、奖励,对行为好坏的一个评价,Value Function,不同环境可以有不同的奖励, 奖励的设计对RL来说至关重要。
Agent:智能体,一般是RL的作用对象 
Action:智能体可以采取的所有可能的行动 
Sensors:环境返回的当前情况 
MDP模型:马尔科夫决策过程
逆强化学习:能够找到一种能够高效可靠的Reward的方法,专家在完成某项任务时,其决策往往是最优或接近最优的。当所有的策略所产生的累积回报期望都不比专家策略所产生的累积回报期望大时, 对应的回报函数就是根据示例学到的回报函数。
常用的逆强化学习方法:学徒学习方法、最大边际规划算法MMP、基于最大熵的逆向强化学习
模仿学习: 从专家提供的范例中学习,一般提供人类专家的决策数据, 每个决策包含状态和动作序列, 把状态作为特征,动作作为标记进行分类或回归的学习从而得到最优策略模型。目标是使模型生成的状态-动作轨迹分布和输入的轨迹分布相匹配,算是一种监督学习方法( 行为克隆 )。特点是泛化性很差,依赖于大量数据 数据增广
深度学习:感知能力,缺乏一定的决策能力
强化学习:决策能力,非常适合做无人车决策规划 
强化学习中的一些分类:On-Policy vs Off-Policy、Model Based vs Model Free、Q-Learning vs SARSA、
DQN(Deep Q Network) 端到端的学习方式、 深度卷积神经网络和Q学习、 经验回放技术; 
DDPG(Deep Deterministic Policy Gradient ) actor-critic 算法、 深度神经网络作为逼近器;
强化学习主要方法的对比
无人车如何使用强化学习(模仿学习)
传感器感知(输入):Radar、Lidar、GPS、Camera … ,从原始数据抽取高阶特征,机器学习将特征转化成知识,知识处理后进行推理;做出合理的动作决策。
Q-Learning
Q-Table为每一个 state 上进行的每一个 action 计算出最大的未来 reward 的期望,每个状态允许四种可能的操作:左移、右移、上移、下移, Table 里的参数式给定最佳策略的状态下采取相应动作获得的最大未来奖励期望  
如何计算 Q-table 中每个元素的值? 
Q-Learning、学习动作值函数(Q值)、Bellman 方程
更新Q值的策略
选取一个动作:在基于当前的 Q 值估计得出的状态 state 下选择一个动作 action。采用动作 action 并且观察输出的状态 s' 和奖励 reward。
DQN
4个Action:上下左右,每走一步有reward,Maximum 未来的 Reward总和
Q-Learning: 使用最佳策略使得最大化未来的Reward值(Q值),Off-policy,持续迭代更新每步(s, a) 。
Exploration vs Exploitation(探索和使用): 局部最优(贪心),初始的时候对信息一无所知
持续更新(S, A) 是Q-Learning的最大问题,因为低效,泛化能力差,对复杂问题维数爆炸,所以后面使用Deep Learning代替Q-Table
DeepMind在这方面发表了文章在Nature上
如何训练DQN?
1.给定状态转移方式 ;2.在状态s用前向推理计算所有Action的预测Q值;3.前向推理下一步s’及其最大Q’值;4.并用Loss function进行梯度更新 
经验回放:提高数据利用率,遗忘数据流顺序(加入随机性)
课程总结
自动驾驶工程师技能图谱

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/34395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++日志工具之——log4cpp

1、log4cpp概述 Log4cpp是一个开源的C类库,它提供了C程序中使用日志和跟踪调试的功能,它的优点如下: 提供应用程序运行上下文,方便跟踪调试; 可扩展的、多种方式记录日志,包括命令行、文件、回卷文件、内…

阿里云服务器搭建WordPress建站教程基于Windows系统

本教程是使用阿里云服务器镜像系统选择的是Windows操作系统,手动安装WordPress博客网站全过程。本教程介绍如何在Windows操作系统的ECS实例上搭建WordPress网站。 目录 准备工作 搭建WordPress网站 解析WordPress网站域名 准备工作 创建Windows操作系统的ECS实…

Docker mysql+nacos单机部署

docker 网络创建 由于nacos需要访问mysql的数据,因此mysql容器和nacos容器之间需要进行通信。容器间通信有很多方式,在这里采用同一网络下的方式进行实现。因此需要创建网络。创建网络的命令如下: docker network create --driver bridge n…

HICP学习--BGP综合小实验

需要完善 一、实验拓扑 二、实验需求 1、R2-7每台路由器均存在一个环回接口用于建立邻居,同时还存在一个环回来代表连接用户的接口;最终这些连接用户的接口网络需要可以和R1/8的环回通讯 2、AS2网段地址172.16.0.0/16 减路由条目数量 三、实验步骤 首先配置IP R…

tensorflow / tensorflow-gpu cuda cudNN tensorRT 安装,启用显卡加速

tensorflow / tensorflow-gpu cuda cudNN tensorRT 安装,启用显卡加速 说明 Tensorflow-GPU 已被移除。请安装 tensorflow 。 tensorflow 通过 Nvidia CUDA 支持 GPU 加速操作。 自 2019 年 9月发布 的 TensorFlow2.1 以来,tensorFlow 和 tensorflow-GPU 一直是同…

智慧城市美术效果Unity实现笔记流程

智慧城市美术效果Unity实现笔记流程: 参考 对标 效果图: 参考资料: 方案一: fBlender GIS 获取城市 房屋道路等数据 安装BlenderGIS插件 落叶大师智慧城市效果解析 方案二: CityEngine2022地块生成 写实类-参考图&…

c语言每日一练(6)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…

华为运动健康,十年创新天地宽

我听一位朋友讲过这样一个故事。某天早上,急诊科的医生迎来了一位患者,患者进来后直接说:“大夫,我房颤了。” 这位医生非常诧异,因为心脏房颤确实非常危急,但很多时候并没有明显的生理体征,患者…

JavaScript之BOM+window对象+定时器+location,navigator,history对象

一.BOM概述 BOM即浏览器对象模型,它提供了独立于内容而与窗口进行交互的对象 BOM的顶级对象是window 二.window对象的常见事件 1.窗口加载事件window.onload window.onload function(){} 或者 window.addEventListener("onload" , function(){}); window.onlo…

Mybatis-plus动态条件查询QueryWrapper的使用

Mybatis-plus动态条件查询QueryWrapper的使用 一:queryWrapper介绍 queryWrapper是mybatis plus中实现查询的对象封装操作类,可以封装sql对象,包括where条件,order by排序,select哪些字段等等,他的层级关…

CentOS7连接网络

1.下载centos7镜像文件 2.安装centos7 3.修改网卡,ens33. 注意: 这里使用的是dhcp,设置IPADDR192.168.31.64一方面是为了后面使用crt或者MobaXterm连接,另一方面它和windows电脑的网卡要一致.这样才可以连接到网络.win r,输入cmd,打开命令窗口输入ipconfig.可以看到IPv4: 102…

phpstorm配置ftp同步文件到服务器

这里的默认快捷键 不是 CtrlS ;需要设置快捷键,这里原来是save all操作时上传文件到服务器; ** 设置好快捷键后按 CtrlS就会同步文件(添加删除文件后保存,服务器也会同步) ** 搜索出save all 后&#xf…

NPM与外部服务的集成(上)

目录 1、关于访问令牌 1.1 关于传统令牌 1.2 关于粒度访问令牌 2、创建和查看访问令牌 2.1 创建访问令牌 在网站上创建传统令牌 在网站上创建粒度访问令牌 使用CLI创建令牌 CIDR限制令牌错误 查看访问令牌 在网站上查看令牌 在CLI上查看令牌 令牌属性 1、关于访问令…

报错注入(主键重复)攻击原理

基本原理 利用数据表中主键不能重复的特点,通过构造重复的主键,使得数据库报错,并将报错结果返回到前端。 SQL说明函数 以pet数据表为例进行说明 rond(): 返回[0,1)区间内的任意浮点数。 count(): 返回每个组的列行数。 如&#xff0…

SWIG使用方法

安装 下载 swigwin软件包,解压到合适的位置,然后将路径添加到环境变量即可。 编写C代码 //vector.hpp class Vector { private:int x;int y; public:Vector(int,int);double abs();void display(); };//vector.cpp #include "vector.hpp" …

CI/CD—K8S 基本理解与部署

1 K8S 是什么 Kubernetes 是一款容器的编排调度工具,来源于 Google 开源的 Brog 系统。Kubernetes简称K8S,是用8代替8个字符 “ubernete” 而成的缩写,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化…

解决createRoot is not a function

报错: 出现的原因:在于把react18使用的vite构建,在开发中因react版本太高与其他库不兼容,而在降级的时候,出现以上dom渲染出现报错。 解决:将 src/index.j文件改成如下 import React from react; import…

【数据结构与算法】十大经典排序算法-冒泡排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌴掘金:HelloCode 🌞知乎:HelloCode ⚡如有问题,欢迎指正&#…

锐捷设备密码管理、密码恢复、恢复出厂设置

目录 配置登录用户名密码以及Enable密码 只需要密码登录 需要用户名和密码登录(无AAA) 需要用户名和密码登录(有AAA) 密码恢复 Web密码忘记 Telnet/SSH密码忘记 Console密码忘记 所有密码都忘记,通过Console进…

服务器数据恢复-RAID5上层Hyper-V虚拟机数据恢复案例

服务器数据恢复环境: 一台Windows Server服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在一台DELL存储中。该存储中有一组由4块硬盘组建的RAID5阵列,用来存放虚拟机的数据文件,另外还有一块大容量硬盘…