损失函数
搜索文档
L4数据闭环最重要的第一步:选对整个组织的LossFunction
自动驾驶之心· 2025-12-31 08:31
文章核心观点 - 在构建自动驾驶数据闭环系统时,将整个组织视为一个强化学习模型,其一级指标(如MPI、MPS、MPD)相当于模型的损失函数,直接决定了组织优化和收敛的方向 [5][6][9] - 行业常用的MPI指标不适合作为驱动问题解决的核心损失函数,因为它优化的是“人类接管频率”,而非车辆自身的“不智能”或“危险”行为表现 [7][11][22] - 提出并实践使用MPS和MPD作为核心一级指标,它们直接衡量车辆“干蠢事”和“干危险事”的频率,能更有效地驱动系统自我迭代和问题解决 [10][12][47] 根据相关目录分别进行总结 一、先把组织当成一个大模型:一级指标 = 损失函数 - 将自动驾驶数据闭环系统类比为强化学习系统,整个组织(包括算法、策略、运营、运维)的更新过程类似于模型的训练迭代 [14] - 在这个框架下,一级指标就是整个组织共同优化的“损失函数”,选择正确的指标是数据闭环驱动问题解决的第一步,其重要性超过技术堆栈(如GPU、大模型)[15][16] 二、为什么 MPI 做不好这个「损失函数」的角色 - **定义与直觉**:MPI定义为总行驶里程除以接管次数,直觉上衡量自动驾驶的成熟度,鼓励减少人工干预 [18][20] - **三个天然缺陷**:在L4无人驾驶场景下,MPI作为损失函数存在严重问题 [22] - **时序错位**:接管时刻是系统“忍无可忍”的结果,真正的问题行为发生在接管前几十秒甚至几分钟,惩罚信号存在严重延迟 [23][25][26] - **原因难以结构化**:“接管原因”极难被准确、结构化地采集,无法转化为稳定的训练信号 [27][30] - **优化目标偏差**:MPI优化的是“人多久救一次场”,而非“车干了多少蠢事或危险事”,导致许多未触发接管的问题行为在优化目标中不可见 [22][29] - **实践尝试的失败**:公司尝试了多种方法采集接管原因(如司机语音上报、工程师跟车、云端人工打标),但均因成本高、信号主观模糊、难以规模化或规则过拟合而失败,无法作为长期稳定的损失函数 [33][34][38][39][40][42][45] 三、换个角度:不问「人什么时候出手」,改看「车到底干了什么」 - 将评估视角从“人”转向“车的行为本身”,不再关注“人何时救场”,而是关注“车自己干了哪些蠢事或危险事” [43] - 提出两组新的核心指标: - **MPS**:Miles Per Stupid,衡量每发生一次“不智能表现”(Stupid行为)所行驶的平均里程,常用反写形式“每万公里急刹/画龙/停车不走事件次数”进行统计 [44][46] - **MPD**:Miles Per Dangerous,衡量每发生一次“危险行为/险情/事故”(Dangerous行为)所行驶的平均里程,常用反写形式“每万公里险情/事故次数”进行统计 [46][79] - **损失函数意义**:MPS是对“蠢行为”的惩罚项(体感差),MPD是对“危险行为”的重惩罚项(安全红线),组织围绕这两个损失项进行“梯度下降” [47][81] 四、MPS 具体长什么样:急刹、画龙、停车不走 - **急刹车**:统计“每万公里急刹次数”,并按多维度拆分。急刹被视为“体温计”而非清零KPI,关键是通过曲线异常(变坏或好得离谱)发现问题 [49][50] - **案例A(天气降温致急刹暴涨)**:某城市线路急刹曲线突然抬头,最终溯源发现是低温导致电池与制动系统能量回收逻辑触发,制动力“超调” [51][55] - **案例B(雨天急刹减少实为风险上升)**:某几台车雨天急刹次数反常下降,分析发现是激光雷达外壳积灰遇水形成膜,导致雷达“部分致盲”、障碍物漏检 [58][60][61] - **案例C(被追尾风险分析)**:通过分析“每万公里急刹次数”中“前方无真障碍+被后车追尾”的子集,可以针对性优化感知或规控策略,降低风险 [64] - **画龙(大转向)**:统计“每万公里大转向/画龙事件次数”。轨迹异常抖动常由标定、胎压、控制参数或感知问题导致 [65][67][68] - **案例**:少数车辆画龙指标长期偏高,检查发现是因长期碾坑导致转向机构轻微变形,从而建立了通过指标异常自动触发重点车辆运维检查的流程 [69][70][71] - **停车不走**:统计“每万公里停车不走事件数”,并按时长分桶(如0-1分钟、1-3分钟、3-10分钟、10-30分钟以上),以避免被正常拥堵噪声淹没 [73][76] - **案例**:某路口因红绿灯故障与策略冲突,导致车辆停车长达半小时。通过“每万公里3分钟以上停车不走事件数(按路口拆分)”指标,才能精准定位此类复杂问题,而非模糊归因为“路口老堵” [77][78] 五、MPD:Miles Per Dangerous —— 把安全红线也放进损失函数 - MPD事件包括真事故/剐蹭、高速高风险急刹、失控倾向等,数量少但惩罚权重极高 [80][83] - 处理流程严格:一旦触发MPD事件,会单独拉取样本,进行多模态回放和跨维度(感知、预测、规控、硬件、地图、环境、运营)复盘,最终落实到明确的策略或结构改动 [83] - 系统目标:在追求MPD趋近于0的同时,用MPS约束系统不能通过极端保守(如“啥都不动”或“看不见就当没事”)的方式来压低事故率 [84] 六、回到强化学习的比喻:好的指标 = 好的损失函数 - **信号更贴行为**:MPS/MPD及其背后的Trigger体系能统一定义具体行为,并关联完整上下文数据,便于自动归因和问题分发,工程可用性更强 [85] - **指标少而有力**:真正能作为“损失函数”驱动组织的一级指标通常不超过三五个,需要团队每日紧盯,而非罗列数十个无效指标 [86] - **自带梯度方向**:好的指标(如MPS/MPD)能清晰指示“指标何时变坏或好得离谱”,从而自然引导资源投向最有价值的问题进行优化 [87][89] 七、小结:先把「损失函数」选对,数据闭环才有意义 - 重申核心:在数据闭环中,一级指标就是组织的损失函数,其选择决定了整个团队的优化方向 [87] - 对比影响:以MPI为核心,组织会优化“人多久救场”;以MPS/MPD为核心,组织则优化“车在真实世界干蠢事/危险事的频率” [90] - 最终检验:评估现有的一级指标是在鼓励“少报问题”还是“多发现问题、多解决问题”,是否给组织提供了正确的梯度方向 [91]
RAG系统设计:揭秘语义搜索被低估的核心价值与KG驱动的架构选型策略
AI前线· 2025-05-14 13:47
RAG系统与语义搜索 - RAG系统通过检索增强生成解决LLM的局限性,包括训练成本高和幻觉问题[5] - 语义搜索在RAG系统中被严重低估,其核心是将文件映射到高维测度空间实现语义匹配[10] - 语义搜索允许直接将文件作为索引,通过embedding形式与查询对比,具有处理低资源文件和长文件的灵活性[11][12] 系统设计与损失函数 - 工程是取舍的艺术,需要明确能够接受的权衡和牺牲[19] - Contrastive Loss形成多个相距m距离的紧密聚类,适用于结构紧密、方差较小的数据[21] - Triplet Loss适用于类内方差较大的数据,如同一个人在不同光照条件下的人脸图像[26][27] 距离函数与嵌入模型 - 余弦距离不符合度量空间定义但计算简单,适合推荐系统等只关注方向的场景[29][30] - 欧几里得距离适合复杂场景如电商推荐,但可能出现数值溢出和高维数据稀疏问题[35][36] - 嵌入模型选择优先级:性能/成本权衡 > 数据领域 > 损失函数 > 距离度量[42][43] 向量数据库与索引 - 向量数据库选择需考虑开源/闭源、实现语言和部署方式[45][48] - 索引方式包括哈希、树、图和倒排索引,图索引适用于大多数高维数据场景[50] - 系统设计重点是为语义搜索提供数据结构,如分层结构或Context Enrichment[53][56] KG-RAG与未来趋势 - KG-RAG能清晰描述实体关系但成本高,Lazy Graph RAG通过结合语义搜索降低成本[72][73] - 大模型正向端设备迁移,需要更快的RAG实现以适应有限资源[79] - 机器学习系统设计最佳实践是优先使用传统方法如SQL或正则表达式[81]