当前位置: 首页 > news >正文

阅读笔记--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&#xff…...

MATLAB基础语法知识

环境的配置等等就不写了,网上还是有很多资源可以找,而且正版的要付费,我也是看的网上的搞定的。 一,初识MATLAB 1.1 MATLAB的优势 不需要过多了解各种数值计算方法的具体细节和计算公式,也不需要繁琐的底层编程。可…...

PopupInner源码分析 -- ant-design-vue系列

PopupInner源码分析 – ant-design-vue系列 1 综述 上一篇讲解了vc-align的工作原理,也就是对齐是如何完成的。这一篇主要讲述包裹 Align的组件:PopupInner组件是如何工作的。 PopupInner主要是对动画状态的管理,比如打开弹窗的时候&#…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...