误触发是该模态的结构性属性,不是可优化掉的缺陷
别名: 结构性误触发 · Midas touch false positive · 手势误报
概念解释
空中手势的误触发不是模型没训练好留下的毛刺,而是这种模态的结构性属性(structural property):只要传感器在看、人在动、词表里的形状又出现在日常动作里,误报就有正概率。换更大的网络、更多数据、更高的置信度阈值,可以把某一类挥手的误报压下去,但压不掉“运动既是生活又是命令”这件事。把它当成缺陷去优化,产品会无限调参,却始终缺一条把瞄准和发射分开的离合器。
机制
日常运动的分布覆盖了手势词表。点头、摆手告别、伸手拿杯、比“三”,都可能落进识别器的决策区。分类器学的是形状和轨迹的边界,不是意图。提高容量只能让边界更贴训练分布,不能给运动打上“这次算输入”的标签——那个标签在物理上不存在。误报与漏报此消彼长:把日常告别挥手排除出去,故意的“下一页”挥手也会变难。所以误触发会随词表扩大、场景变生活化而再现,不是某个版本号能永久关掉的 bug。
怎么研究
把误报当成必须报告的主度量,而不是识别率旁边的附录。采集“生活运动”集:对话、行走、整理桌面、指路,在未告知词表的情况下跑识别器,得到每分钟误事件。再在同一批人身上采集故意手势,得到漏报。画出误报–漏报曲线,而不是只报一个工作点。换模型、加数据之后复测这条曲线,若整条曲线平移很少、只是工作点滑动,就支持“结构性”而不是“欠拟合”。现场还应按后果分级统计:切歌与关灯的误报不能加总成一个数。
边界
词表极小、动作极度造作(例如必须先握拳再画一个实验室里没有的星形),误报可以低到产品可接受;那是用可学性和疲劳换来的,不是结构消失了。封闭工位、单人、背景静止时,生活运动少,曲线看起来好看,搬到客厅就回来。把误报全部推给“用户不规范”,等于拒绝承认日常运动合法存在。眼动通道的误选也有结构,但触发物是注视时间,不能把那边的 dwell 阈值拿来当空中问题已经解决。
怎么落地
- 在需求里写明可接受的空闲误报率(例如每小时几次、何种后果),把它当发布门槛,而不是上线后靠补丁磨掉。
- 拒绝“再训练一版就能根除误触发”作为唯一对策;对策里必须出现离合器、参与态或把高后果动作移出空中通道。
- 每次改模型都同时跑生活运动集和故意手势集,公布误报–漏报曲线,禁止只展示故意手势的准确率。