M67:文档扰动与错误传播边界
文档扰动分析通过受控改变旋转、模糊、遮挡、手写、语言或字段冲突,追踪错误怎样从像素层传播到字段、证据与业务决定。
内容类型:预习教材(不代表已完成)
日期:2026-10-29
阶段:P1 · AI Model Engineering 90
周次:W10
节奏:周四案例与连接
状态:教材已备;学习未完成
标签:document-perturbationerror-propagationocroodrobustness
一句话定义
文档扰动分析通过受控改变旋转、模糊、遮挡、手写、语言或字段冲突,追踪错误怎样从像素层传播到字段、证据与业务决定。
学习目标
- 区分图像质量、文字识别、布局关系和语义冲突四类失败。
- 学会用单变量扰动定位 pipeline 的脆弱环节。
- 理解上游小错误为何可能在高风险字段上被放大。
- 为失败定义检测、降级和拒答,而非只追求恢复答案。
核心知识
1. 扰动不是随机“搞坏图片”
旋转改变文字方向和边界框;模糊降低细笔画可分性,尤其影响 3/8、0/O;遮挡造成信息缺失;手写引入字形和分割变化;语言混合改变 tokenization 与日期、数字规范;冲突字段则不一定有视觉损坏,而是文档自身包含多个不一致值。每类扰动作用层不同,应分开测试。
2. 错误传播链
以总金额为例:轻微模糊导致 OCR 把 1,888.00 读成 1,888.80;字段定位仍成功,模型甚至能生成流畅说明;若没有算术约束,错误值就进入支付判断。这里最终解释质量无法揭示数字识别错误。相反,OCR 文本完全正确,但 layout parser 把“税额”绑定到另一行,也会得到错误总额。
错误传播并非总是线性。冗余上下文、校验和与重复字段能纠错;语言模型也可能猜回正确值,但“猜对”不等于可靠恢复,因为同样机制在其他样本上会编造。系统应优先保留原始证据和冲突状态。
3. 冲突字段比低置信度更棘手
一份文档可能在摘要和明细处给出不同总额,或页眉币种与金额符号冲突。模型若选择其中一个,必须说明选择依据;更安全的默认是输出多个候选、证据位置和 conflict 状态。高 confidence 只表示模型自身分数,不消除文档事实冲突。
4. 鲁棒性与可恢复性
鲁棒性指扰动下仍保持正确;可检测性指失败时系统能识别异常;可恢复性指能通过重拍、重新 OCR、备用模型或人工复核恢复。高风险系统不能只依赖第一项。对不可读信息,准确拒答通常优于无证据补全。
机制与推导
建立 扰动 → 直接受影响组件 → 可观测症状 → 下游后果 → 检测/缓解 表。例如旋转首先影响检测/识别,症状是框角度和字符错误率上升,下游是字段缺失,缓解是方向检测与重试。冲突字段首先影响关系/决策层,症状是两个合法候选,下游是错误自动决定,缓解是冲突 verifier 与人工复核。
测试时一次只改变一种扰动和一个等级,并保留未扰动基线。关键字段应单独计权,因为平均字符准确率可能掩盖金额、账户号或日期的严重错误。
最小练习或观察步骤
从六类扰动中选两类:
- 为每类定义轻度和重度,但本日只实施一个等级也可以。
- 写下预期直接受影响的组件,不预写结果。
- 在 M65 fixture 上生成扰动副本,ground truth 保持不变。
- 若运行 pipeline,逐层记录 OCR、关系、字段、证据和 verifier 状态。
- 为每次失败写“最早可检测点”。
- 给出一个降级策略:重试、备用路线、拒答或人工。
常见误区
- 同时旋转、模糊并换模板,无法归因。
- 只测系统是否给出字段,不核对字段证据。
- 语言模型猜对后就把上游错误视为已解决。
- 只报告平均 OCR 指标,忽略关键数字。
- 把真实扫描件上传到未获授权的外部服务。
- 认为拒答是模型失败,而不把它视为安全行为。
金融、Web3 与文档场景连接
模糊收据可能影响支付争议金额;KYC 证件遮挡可能需要重新采集而非模型修复;多语言合同的日期格式会造成期限歧义。Web3 交易截图中的地址只差一个字符就代表完全不同主体,必须与交易哈希和链上记录交叉验证。审计报告中相互冲突的风险等级应作为冲突证据保留,而不是由摘要模型擅自统一。
自检问题
- 旋转、遮挡和字段冲突分别先影响哪一层?
- 为什么语言模型“猜对”不能证明 pipeline 可靠?
- 鲁棒性、可检测性和可恢复性有何区别?
- 什么是最早可检测点?
- 为何关键字段需要独立指标?
专业课程对齐
- Stanford CS231n:对应图像增强、视觉不变性与表示边界;用来区分旋转、缩放、模糊、遮挡等输入扰动首先损害哪类视觉信息。
- Full Stack Deep Learning:对应数据质量、测试与生产错误分析;用于建立“输入扰动 → 上游识别 → 字段解析 → verifier → 决策”的传播记录。
- Stanford CS329S:对应分布变化、监控和鲁棒系统设计;用于判断错误是否可检测、可恢复,以及何时应降级或拒答。
深入学习提示
先选读 CS231n 中与图像变换相关的内容,为每种扰动写出强度轴和不应改变的语义;再用 FSDL 的切片式错误分析建立基线与单变量扰动对照;最后按 CS329S 检查生产降级策略。建议记录各层条件错误率,例如 $P(E_{field}\mid E_{ocr})$ 与 $P(E_{decision}\mid E_{field})$,但不要把相关频率直接解释成因果机制。旋转、遮挡和冲突字段要分开测试,因为前两者主要改变可见证据,后者改变证据一致性。重点找“最早可检测点”:若 OCR 已低置信,应在进入语言模型前暴露;若多个字段互相冲突,即使 VLM 给出流畅答案也应进入冲突状态。所有结论限定在明确扰动范围,不外推真实世界鲁棒性。
可把未覆盖的版式、语言和拍摄条件单列为后续样本空间,避免“未测试”悄悄变成“已可靠”。
学后填写区
- 我选择的两类扰动:
- 预期影响链:
- 实际观察(未运行请注明):
- 最早可检测点与降级策略:
- 仍需验证的假设: