阅读笔记--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主要是对动画状态的管理,比如打开弹窗的时候&#…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...