阅读笔记--Guiding Attention in End-to-End Driving Models(二)
端到端驾驶的注意力学习(Attention Learning for End-to-End Driving)关键内容学习
3.1 问题设置(Problem Setup)
- 模仿学习(Imitation Learning, IL):介绍了模仿学习的概念,即通过观察专家(在这种情况下是经验丰富的驾驶员)的行为来训练模型。模型的目标是学习一个策略,能够将观察到的环境状态映射到相应的动作上。
3.2 架构(Architecture)
-
输入编码(Input Encoding):
- 多摄像头输入:模型使用来自多个摄像头的RGB图像作为输入,这些图像覆盖了车辆周围的环境。
- 特征提取:每个RGB图像通过共享权重的ResNet骨干网络进行特征提取,输出为最后一层卷积层的特征图。
- 令牌化:将特征图在空间维度上展平并连接,形成一系列令牌,这些令牌随后用于模型的进一步处理。
-
注意力引导学习(Attention Guidance Learning):
- Transformer编码器:使用Transformer模型中的自注意力机制来关联不同视图之间的特征。
- 自注意力层选择:在多个自注意力层中选择一层来应用注意力损失,以引导模型关注重要的视觉区域。
-
动作学习(Action Learning):
- 全局平均池化(GAP):将Transformer编码器的输出进行全局平均池化,以获得一个紧凑的特征表示。
- 多层感知机(MLP):使用包含ReLU激活函数的MLP来将池化后的特征映射到最终的驾驶动作上。
3.3 损失函数(Loss Function)
-
动作损失(Action Loss):
- L1距离:计算模型预测的动作和专家动作之间的L1距离,以量化模型在模仿驾驶行为上的准确性。
- 权重:为转向和加速度部分分配不同的权重,以平衡损失函数中这两部分的重要性。
-
注意力损失(Attention Loss):
- 显著图:使用显著图(语义图)来标识图像中对驾驶任务至关重要的区域,如其他车辆、行人、交通标志等。
- KL散度:利用Kullback-Leibler散度来比较模型的自注意力图和显著图,迫使模型的注意力分布与显著图相匹配。
- 正则化:在计算注意力损失时添加小量正则化项,以避免数值不稳定。
4 实验(Environments)
4.1 驾驶环境(Driving Environments)
-
CARLA模拟器:
- 使用CARLA模拟器0.9.13版本进行实验
- 选择不同的城镇和天气条件进行数据收集
-
数据收集:
- 使用基于强化学习的教师模型进行数据收集,该模型比CARLA默认教师更真实
- 在Town01中收集了14小时数据,在多个城镇中收集了55小时数据
- 数据收集帧率为10 FPS
-
摄像头设置:
- 使用3个前置摄像头,覆盖180度视野(每个摄像头60度)
- RGB图像分辨率为300x300像素
-
数据多样性:
- 在不同的天气条件下收集数据,如ClearNoon、ClearSunset、HardRainNoon、WetNoon
- 在不同的城镇中收集数据,如Town01-Town06,包含不同道路类型
4.2 验证(Validation)
-
在线验证:
- 在CARLA模拟器中实时验证模型,不受推理时间影响
- 使用动态代理车辆进行评估,随机生成其他车辆和行人
-
天气条件:
- 在训练期间未见过的新天气条件下进行验证,如SoftRainSunset、WetSunset
- 评估模型在不同天气条件下的泛化能力
-
评估场景:
- 对于14小时数据集,在未见过的Town02中进行验证
- 对于55小时数据集,在Town05中的10条路线上进行验证
4.3 训练超参数(Training Hyperparameters)
-
CIL++代码:
- 使用CIL++公开代码作为实验框架
- 保持动作损失权重不变:λact=1, λs=λacc=0.5
-
损失权重:
- 系统地探索注意力损失权重:λatt∈{0.1, 0.25, 0.5, 1.0, 2.5, 5.0, 10.0}
- 在Town01的不同天气条件下验证不同权重的性能
-
训练周期:
- 训练过程持续80个周期(epoch)
- 批量大小(batch size)为512
- 初始学习率(initial learning rate)为1e-4
- 选择在训练过程中表现最好的模型进行评估
4.4 定量结果(Quantitative Results)
-
数据量影响:
- 使用14小时数据集的不同子集进行训练,从2小时递增到8小时
- 比较基线模型和引入注意力损失的模型在不同数据量下的性能
-
天气条件变化:
- 在8小时数据集中逐渐增加天气条件类型
- 评估模型在不同天气条件下的泛化能力
-
性能比较:
- 将引入注意力损失的模型与基线模型进行比较
- 在成功率(SR)、驾驶分数(DS)、路线完成率(RC)、违规分数(IS)等指标上评估性能提升
4.5 定性结果(Qualitative Results)
-
注意力图可视化:
- 可视化Transformer编码器最后一层的平均注意力图
- 比较CIL++和引入注意力损失的模型在不同城镇中的注意力图
-
模型解释性:
- 通过可视化结果,说明引入注意力损失如何提高模型的可解释性
- 展示模型如何关注输入图像中的特定对象,如行人、车辆等
4.6 实验总结
-
性能提升:
- 实验结果表明,引入注意力损失可以在数据资源有限的情况下显著提高模型的驾驶性能
- 在低数据量和高数据量条件下,引入注意力损失的模型均优于基线模型
-
泛化能力:
- 模型在不同的城镇和天气条件下展示了良好的泛化能力
- 在未见过的Town02和Town05中,引入注意力损失的模型性能更优
-
未来工作:
- 计划将引入注意力损失的方法应用于更复杂的非纯视觉模型
- 探索使用真实数据进行测试,并在真实车辆中部署模型
这部分内容详细描述了实验的设置、验证方法、训练超参数、定量和定性结果,以及实验总结。通过在CARLA模拟器中进行精心设计的实验,作者全面评估了引入注意力损失对提高自动驾驶模型性能的影响。实验结果证明了该方法在不同数据量和环境条件下的有效性,并展示了其在提高模型可解释性方面的潜力。
相关文章:
阅读笔记--Guiding Attention in End-to-End Driving Models(二)
端到端驾驶的注意力学习(Attention Learning for End-to-End Driving)关键内容学习 3.1 问题设置(Problem Setup) 模仿学习(Imitation Learning, IL):介绍了模仿学习的概念,即通过…...
Linux: network: TCP: errno: EWOULDBLOCK
https://mzhan017.blog.csdn.net/article/details/108010013 这个errno的意思: 如果是send接口函数返回的错误,代表tcp socket的sending buffer满了,让应用程序等上一段时间重试send。 所以,这个产生的原因就不固定了: 可能是当前系统太忙,导致系统发包慢,buffer累积; 可…...
闲话“设计模式”
Q1、请详细介绍 软件架构设计模式(智能化),应用程序设计模式(自动化),编程语言设计模式(人性化)(后面括号中 是我 希望 其 具有的特点) 的概念,有…...
Sentence-BERT实现文本匹配【CoSENT损失】
引言 还是基于Sentence-BERT架构,或者说Bi-Encoder架构,但是本文使用的是苏神提出的CoSENT损失函数1。 点击来都是缘分,之前过时的方法可以不细看,别的文章可以不收藏,现在是最流行的方法,这篇文章建议收藏…...
业余考什么证书比较实用?
在业余时间里,获得一些有用的证书不仅能提升你的专业素养,还能增强你在职场上的竞争力。 特别是职业技能证书和行业认证证书,这两者受到了广大职场人士的高度关注。 一、业余时间考取的实用证书 行业认证证书主要针对特定行业或职业&#…...
16款facebook辅助工具,总有一款适合你!
Hey小伙伴们~👋 是不是想利用FB大展拳脚,却苦于不知道如何开始?别急,今天就给你们安利16个超实用的FB营销工具,涵盖了内容创建和发布的应用程序,以及数据追踪分析、商品销售等多个方面让你轻松get海外获客新…...
给网站发外链的好处,你了解多少?
在当今这个信息爆炸的互联网时代,网站优化和推广成为了每一个网站主不可忽视的重要环节。其中,给网站发外链,即在其他网站上设置指向自己网站的链接,是一种高效且被广泛采用的策略。那么,给网站发外链究竟能带来哪些好…...
安卓链接正常显示,ios#符被转义%23导致链接访问404
原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理 如下: guard let allowUrl webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时&a…...
excel分列
Excel中有这么几列,希望将每一列内容再分出3列: 可以通过以下步骤在 Excel 表格中将 B 到 F 列的内容拆分为每列的 3 列,分别为 pred_label、pred_score 和 pred_class: 确定数据结构:假设 B 列到 F 列中的内容都是按类…...
STM32 HAL DMA 中断碰到的问题
流程 串口收数据—>dma搬运到变量—>空闲中断----->接收完成 配置 dma中断全部去掉 串口中断开启 freertos中断全部去掉 时钟配置 代码 开启中断 // DMA 空闲检查 void receives_uaru_7(void) {RXU7 0;//清除中断标志HAL_UARTEx_ReceiveToIdle_DMA(&hua…...
让树莓派智能语音助手实现定时提醒功能
最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束…...
AIoTedge边缘计算+边缘物联网平台
在数字化转型的浪潮中,AIoTedge边缘计算平台以其边云协同的架构和强大的分布式AIoT处理能力,正成为推动智能技术发展的关键力量。AIoTedge通过在数据源附近处理信息,实现低延迟、快速响应,增强了应用的实时性。同时,它…...
Java使用拷贝asset文件,解密,并用DexclassLoader加载执行
//asset中加密的apk文件重命名为index.html,拷贝到私有目录 //解密 //加载,执行apk中的方法 public static void handleByJava(Context context){File copyedFile new File(context.getFilesDir().getAbsolutePath() "/" "main.html");FileUtil.copyAss…...
【AcWing】861. 二分图的最大匹配(匈牙利算法)
匈牙利算法,他可以在比较快的时间复杂度之内告诉我们左边和右边成功匹配的最大数是多少 匹配指的是边的数量,成功的匹配指的是两个未被使用的点之间存在一条边(就不存在两条边共用了一个点的)。 匈牙利算法可以返回成功匹配的最大匹配数是多少。 #incl…...
经验笔记:JSP(JavaServer Pages)
JSP(JavaServer Pages)经验笔记 JSP(JavaServer Pages)是一种用于创建动态网页的技术,它允许在HTML页面中嵌入Java代码,从而实现动态内容的生成。JSP与Servlet一样,都是Java EE平台的一部分&am…...
【零基础必看的数据库教程】——SQL WHERE 子句
WHERE 子句用于提取那些满足指定条件的记录,过滤记录。 SQL WHERE 语法: SELECT column1, column2, ... FROM table_name WHERE condition; 参数说明: column1, column2, ...:要选择的字段名称,可以为多个字段。如…...
vscode docker debug python
1. 安装Vscode插件 ”Docker“”Dev Containers““Remote - ssh” 2. 进入Docker环境 点击左侧 Docker图标,选择Containers 对容器进行右键启动 生成新页面直接进行选择文件路径即可,之后得操作均在容器内进行...
【Kubernetes】常见面试题汇总(四)
目录 11.简述 Kubernetes 集群相关组件? 12.简述 Kubernetes Rc 的机制? 11.简述 Kubernetes 集群相关组件? Kubernetes Master控制组件,调度管理整个系统(集群),包含如下组件: (1ÿ…...
MATLAB基础语法知识
环境的配置等等就不写了,网上还是有很多资源可以找,而且正版的要付费,我也是看的网上的搞定的。 一,初识MATLAB 1.1 MATLAB的优势 不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。可…...
PopupInner源码分析 -- ant-design-vue系列
PopupInner源码分析 – ant-design-vue系列 1 综述 上一篇讲解了vc-align的工作原理,也就是对齐是如何完成的。这一篇主要讲述包裹 Align的组件:PopupInner组件是如何工作的。 PopupInner主要是对动画状态的管理,比如打开弹窗的时候&#…...
JMeter TPS真相:业务吞吐量 vs 采样均值的全栈解剖
1. 为什么TPS不是“点一下就出来的数字”,而是压测成败的命门刚接手公司电商大促前的压测任务时,我盯着JMeter报告里那个醒目的TPS(Transactions Per Second)数值,心里还觉得挺踏实——毕竟它看起来比“线程数”“响应…...
[智能体-27]:Ollama 通过命令行与模型交互的几种方式
Ollama 命令行交互四种常用方式1. 交互式对话(最常用)直接进入会话,持续聊天bash运行ollama run qwen2:7b输入问答,/bye 退出,/clear 清屏2. 单次命令提问(一行执行)无需进入会话,直…...
终极免费指南:如何用Wand-Enhancer解锁WeMod完整功能
终极免费指南:如何用Wand-Enhancer解锁WeMod完整功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod免费版的限制而烦恼吗&…...
C#实现稳定Windows低级鼠标钩子(WH_MOUSE_LL)全解析
1. 为什么“鼠标钩子”不是炫技,而是解决真实问题的底层能力在Windows桌面应用开发中,我见过太多人把“全局鼠标监听”当成一个玄乎其玄的功能——要么觉得它危险、难搞、容易被杀毒软件误报;要么干脆绕开,用轮询GetCursorPos这种…...
VeriLoC:基于LLM的硬件设计质量预测技术解析
1. VeriLoC:硬件设计质量预测的革命性突破在芯片设计领域,时序违规和布线拥塞一直是困扰工程师的两大难题。传统流程中,设计师需要等待完整的物理实现(包括综合、布局布线等耗时步骤)才能获取这些关键指标,…...
Win11自带IIS搭建局域网网站,从配置到安全避坑的保姆级指南(含MIME类型、目录浏览详解)
Win11 IIS局域网网站搭建全攻略:从零配置到安全加固在家庭或小型办公环境中,搭建一个内部网站用于知识共享或文件管理是提升协作效率的实用方案。Windows 11自带的IIS(Internet Information Services)服务为这类需求提供了轻量级解…...
openEuler 22.03 LST上安装RealVNC 6.11,我踩过的那些依赖坑(附离线包下载方法)
在openEuler 22.03 LST离线环境中部署RealVNC 6.11的完整指南当我们需要在隔离网络的生产环境中部署远程桌面服务时,依赖管理往往成为最棘手的挑战。本文将分享我在openEuler 22.03 LST系统上安装RealVNC 6.11时积累的实战经验,特别是如何处理复杂的离线…...
Midjourney火焰生成实战手册(含17组已验证火纹Prompt+SDXL对比基准数据)
更多请点击: https://codechina.net 第一章:Midjourney火焰生成的核心原理与技术边界 Midjourney 并不原生支持“火焰生成”这一独立功能,其图像合成能力完全依赖于文本提示(prompt)对扩散模型隐空间的引导。所谓“火…...
解锁 Codex 逆向能力!一键部署 JS 逆向全能 Skill
让 Codex 默认支持 JS 逆向 Codex GPT-5.4 默认对逆向和爬虫类请求比较保守,常见表现是只讲原则,不继续落地。市面上的常规做法是先发提示词,我这边因为每次重复发送比较麻烦,所以进一步封装成了 Skill,实际验证可行。…...
2026技术复盘:告别“易碎”代码,实在Agent重塑企业自动化底座
在2026年的数字化转型浪潮中,企业对于“提效”的追求已从单纯的工具引入转向深度的架构治理。 曾被寄予厚望的固定规则自动化脚本,在经历了数年的规模化应用后,其弊端正集中爆发。 许多企业发现,那些耗费巨资编写的脚本࿰…...
