AI 第四章 推荐·搜索·NLP·CV 业务场景(AI-29 ~ AI-38)
AI-29. 新用户进来推荐很烂,新商品永远没曝光(冷启动)
【考察内容】冷启动是推荐系统最高频题
【题目】新用户注册进来,没有行为数据,推荐流质量很差;新上架的商品没有曝光,永远进不了推荐。用户冷启动和物品冷启动分别怎么解决(人口属性、兴趣引导、热门兜底、内容特征、探索流量)?
【参考答案】
冷启动三类:用户冷启动(新用户无行为)、物品冷启动(新商品无曝光)、系统冷启动(新平台无数据);
用户冷启动:
- 注册信息/画像:年龄、性别、地域、职业(人口统计学推荐:相似人群热门);
- 引导式兴趣采集:登录时选兴趣标签、问卷;
- 实时行为快速学习:浏览/点击几个物品后立即用内容相似推荐;
- 兜底:热门/全局 TopN(高质量内容兜底,保证体验);
物品冷启动:
- 内容特征:物品文本/图像/类目标签 → 内容 Embedding → 相似物品推荐;
- 探索流量:新物品小流量曝光(EE 策略/新品流量池)→ 收集反馈 → 快速进入主推荐;
- 平台规则:新品保底曝光位、作者冷启动扶持;
系统冷启动:人工编辑推荐、热门榜单、基于内容的通用推荐;
进阶:元学习、图模型(社交关系)、多臂老虎机(UCB);
关键:冷启动要快速过渡到个性化(早期行为要立即生效,而非等 T+1 离线特征)。
关键公式/策略: 探索-利用:UCB score=μ̂+c√(ln t/n);Thompson Sampling。冷启动用户用人口统计/设备/渠道相似迁移。
排查步骤: 区分用户冷启 vs 物品冷启 → 保底热门+多路探索 → 快速兴趣反馈(首刷交互)。线上-离线:离线历史数据天然缺冷启动场景,要在线实验评估。
【原理溯源】
- 为什么新用户推荐差? 推荐依赖行为反馈。无行为 → 无法学偏好 → 只能推热门或瞎猜。解决思路是用“弱先验”(人口属性、引导标签、会话行为)替代缺失的长期行为。
- 为什么新物品进不了主循环? 无曝光 → 无样本 → 预估不准 → 算法不敢推。必须人为注入探索流量,打破零曝光。
- 内容 Embedding 为何能解物品冷启动? 标题/类目/图像不依赖行为,可编码出与老物品同空间的向量,进 ANN 索引被相似召回命中。
- 为什么要“快速过渡”? 冷启动期体验差,用户可能流失。会话内实时行为必须秒级生效,不能等 T+1。
【选型判断树】
冷启动:
1. 用户冷启动
├─ 有注册画像 → 相似人群热门
├─ 可引导 → 兴趣标签/问卷
└─ 兜底 → 热门 TopN + 会话实时行为
2. 物品冷启动
├─ 有内容 → 内容 Embedding 进召回
└─ 无内容/必须曝光 → 新品流量池 + 保底
3. 系统冷启动
└─ 编辑推荐 + 热门 + 内容相似
4. 目标
└─ 尽快过渡到个性化(实时行为)【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “冷启动分用户/物品/系统三类,缺的是行为先验” |
| 0:30–2:00 | 用户冷启 | 画像、引导、实时行为、热门兜底 |
| 2:00–3:30 | 物品冷启 | 内容 Embedding、探索流量、保底 |
| 3:30–4:30 | 快速过渡 | 会话内实时生效,不等 T+1 |
| 4:30–5:00 | 收尾 | “用弱先验替代缺失行为,用探索打破零曝光” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 新品保底曝光 | 每品 N 次试投 | 平台策略 |
| 内容向量维度 | 64–256 | 与行为向量同空间 |
| 会话实时 | 秒级生效 | 防流失 |
| 引导标签 | 3–10 个 | 太多流失 |
| 兜底热门 | TopN 50–200 | 保体验 |
【追问链】(三层)
L1|“只推热门行不行?” → 短期保体验,但无个性化、长期留存差。必须叠加画像/内容/实时行为。
L2|“新用户实时行为怎么用?” → 会话内行为立即算实时特征(刚点的物品类目加权),不等离线更新。
L3|“新物品没有内容特征怎么办?” → 依赖类目/作者等弱属性 + 新品流量池强制探索 + 人工保底。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道推热门、用注册信息 |
| 80 分 | 三类冷启动分治;内容 Embedding;探索流量 |
| 95 分 | 讲清零曝光反馈循环;弱先验替代;会话实时快速过渡 |
【关联题】
- 同一知识簇: AI-20(长尾/EE)、AI-19(Embedding)、AI-51(茧房)
- 工程衔接: AI-30(全链路)、AI-31(多路召回)
【自测】
- 用户冷启动和物品冷启动缺什么? 参考答案: 用户缺行为偏好;物品缺曝光反馈。
- 内容 Embedding 如何解物品冷启动? 参考答案: 用文本/图像编码进向量空间,被相似召回命中。
- 为什么要快速过渡到个性化? 参考答案: 冷启动期体验差易流失,实时行为应秒级生效。
AI-30. 从百万商品里选出用户可能喜欢的 10 个(推荐全链路)
【考察内容】推荐系统全链路是算法岗必考大题
【题目】商品池 500 万,用户每次请求只能看 20 个,推荐系统从“全量商品 → 候选 → 排序 → 展示”的完整链路怎么设计?召回、粗排、精排、重排各自干什么?延迟预算怎么分配?
【参考答案】
召回(Recall):从全量物品(百万级)筛出候选(千级)——多路召回:向量召回(双塔 ANN)、协同过滤(I2I/U2I)、热门召回、类目召回、社交召回;每路取 TopK 合并去重;目标=广覆盖+快(单路 ANN 几毫秒,多路并行后按最慢一路约 20ms,与本题【关键数字】同口径);
粗排(Coarse Ranking):候选从千级降到百级——轻量模型(双塔/DSSM 小模型)快速打分,过滤明显不相关的;目标=在精排算力约束内保召回质量(用精排模型蒸馏出粗排模型);
精排(Fine Ranking):百级候选精细打分排序——复杂模型(DeepFM/DIN/MMoE 多目标:CTR+CVR+时长+GMV),大量特征(用户/物品/上下文/交叉),目标=精准排序;
重排(Rerank):精排结果做全局优化——多样性打散(同作者/同品类限流)、业务规则(广告插入、强运营位、过滤已买)、用户体验约束、MMR/DPP 算法;
数据与特征:行为埋点→样本生成→特征平台(离线/实时)→训练→评估→灰度;
缓存与性能:推荐结果缓存(Redis)、漏斗各环节延迟预算(召回 20ms+粗排 10ms+精排 50ms);
效果评估:GAUC/业务指标 + 探索流量(EE)保证生态健康。
关键公式: 漏斗期望:百万候选 → 召回千级 → 粗排百级 → 精排几十 → 重排 10–20(对齐题干“每次请求只能看 20 个”)。各阶段数量积决定了算力。
排查步骤: 用日志还原各环节截断率与 CTR,找到掉量最多的环节。线上-离线:离线只评精排会忽略召回瓶颈——召回不到的样本精排学不到。
【原理溯源】
- 为什么要漏斗而不是全量精排? 500 万商品 × 复杂模型 = 计算爆炸。漏斗用“便宜模型先筛、贵模型后精算”,在延迟约束内逼近最优排序。
- 粗排为何存在? 精排模型复杂、算力有限。粗排用轻量模型把千级候选压到百级,常用精排蒸馏——继承精排知识但推理极快。
- 重排和精排的本质区别? 精排是单点打分(item-wise),重排是全局优化(list-wise):打散、配额、业务规则。单点最优 ≠ 列表最优。
- 延迟预算意识为何重要? 端到端 100–200ms 要拆给各环节。召回/粗排抢时间,精排吃大头,重排做兜底规则。超时要降级。
【选型判断树】
推荐链路怎么搭?
1. 召回
└─ 多路:向量+I2I+热门+类目(互补)
2. 粗排
└─ 千→百,轻量模型/蒸馏
3. 精排
└─ 百→几十,复杂模型+多特征
4. 重排
└─ 打散+业务规则+多样性
5. 延迟
└─ 召回20 + 粗排10 + 精排50 + 重排10(示例)
6. 降级
└─ 超时切缓存/热门【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “漏斗:召回→粗排→精排→重排,越往下越准越贵” |
| 0:30–2:00 | 召回+粗排 | 多路互补;粗排蒸馏压量 |
| 2:00–3:30 | 精排+重排 | 复杂交叉;全局打散与规则 |
| 3:30–4:30 | 工程 | 延迟预算、缓存、降级 |
| 4:30–5:00 | 收尾 | “漏斗是算力与效果的平衡艺术” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 全量→召回 | 500万 → 1000 | 多路 TopK |
| 召回→粗排 | 1000 → 100–200 | 轻量模型 |
| 粗排→精排 | 200 → 50–100 | 复杂模型 |
| 精排→展示 | → 10–20 | 重排后 |
| 延迟预算 | 召回20/粗排10/精排50/重排10 | 视业务 |
【追问链】(三层)
L1|“粗排为什么存在?” → 精排模型复杂算力有限,粗排用轻量模型把候选压到精排可承受量级。
L2|“重排和精排区别?” → 精排单点打分,重排全局优化(多样性/规则)。
L3|“精排超时怎么办?” → 降级:用粗排分直接排序,或返回缓存/热门兜底,保证不白屏。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道召回和排序两步 |
| 80 分 | 四阶段职责清晰;多路召回;粗排蒸馏 |
| 95 分 | 讲清漏斗算力权衡;重排 list-wise 本质;延迟预算与降级 |
【关联题】
- 同一知识簇: AI-31(多路召回)、AI-32(精排模型)、AI-33(重排)
- 工程衔接: AI-28(延迟)、AI-52(双塔分工)
【自测】
- 四阶段各自目标? 参考答案: 召回广覆盖快;粗排压量;精排精准;重排全局优化。
- 粗排模型怎么来? 参考答案: 常用精排蒸馏,继承知识且推理快。
- 为什么需要重排? 参考答案: 精排单点最优≠列表最优,需打散与业务规则。
AI-31. 只做一路向量召回,用户想找的怎么也召不回(多路召回)
【考察内容】多路召回是搜广推高频题
【题目】你们上线了向量召回,但线上发现:用户想找同款/同品牌商品,向量召回老召不回(行为太稀疏)。召回为什么要多路(向量/协同/热度/类目)?各路结果怎么融合(归一化加权/配额/交给排序模型)?
【参考答案】
为什么多路:单一召回只能覆盖一种相似关系,多路覆盖不同维度——向量(语义相似)、I2I(行为共现)、热门(兜底)、类目(品类偏好)、社交(好友关注)——互补;
常见召回路:
- 向量召回(双塔/Item2Vec,ANN 检索);
- 协同过滤(UserCF/ItemCF:离线算相似表)——题干前提就是「行为太稀疏」,共现计数本身不可靠,它不能当主补路;「同款/同品牌召不回」这类 badcase 的主路应是属性与 ID 的精确匹配(brand_id、spu_id/同款簇、型号关键词、条码),CF 只在行为量足够的头部用户/商品上叠加;
- 热度召回(热门物品,保证新鲜度与冷启动);
- 规则召回(类目/标签/价格带/同城/品牌、同款 SPU、型号关键词——后三个才直接对应题干 badcase);
- 实时行为召回(刚浏览物品的相似品);
融合方式:
- 分数归一化+加权和:各路分数归一化后按权重相加排序——简单主流;
- 分桶/分层:按路定配额(每路固定比例进粗排)——保多样性;
- 模型化融合:各路结果作为候选池特征喂给排序模型(由精排决定最终顺序)——这是"要多路信号就用在哪"的正解,注意它不等于在召回层做分数加权(加权融合是上面第 1 条要说清的做法);
候选量设计:每路 TopK(如 50~200),合并去重后总量控制(如 1000 进粗排);
质量监控:每路的召回率/贡献占比,低频路被淹没要调整配额;
注意:纯按分数融合会偏向强势路,配额制保覆盖。
关键公式: 向量召回内积/余弦;多路召回融合可用加权或规则优先级。
排查步骤: 分析 badcase 是否热门/长尾/意图明确 → 按 badcase 类型补对应维度:「同款/同品牌召不回」先补品牌 ID/SPU/型号关键词的精确匹配(行为稀疏时别指望协同过滤),再考虑关键词、图、地理位置等路 → 监控各路贡献占比。线上-离线:单路离线召回率可能还行,但头部集中导致多样性差。
【原理溯源】
- 为什么单路向量召回不够? 向量表达的是“语义/行为相似”,对精确同款、同品牌、实时意图覆盖不足。行为稀疏时向量也不稳。
- 为什么要配额? 纯分数融合会让高分路(通常热门/向量)挤掉冷门路(社交/类目),多样性消失。配额保证每路有表达机会。
- “融合交给精排”为何最正确? 召回只负责“广覆盖进候选”,相关性判断交给更准的精排模型。召回阶段强行融合分数,可能因量纲/校准问题误杀好候选。
- 如何发现某路失效? 监控各路贡献占比与线上 A/B。若社交路贡献 0%,要么配额太低,要么该路质量问题。
【选型判断树】
多路召回怎么设计?
1. 路的选择
├─ 语义相似 → 向量/双塔
├─ 行为共现 → I2I/CF(**行为稀疏时共现计数不可靠,不能当主路**;同款/同品牌走 brand_id/SPU/型号精确匹配)
├─ 兜底/冷启动 → 热门
├─ 明确偏好 → 类目/标签/规则
└─ 即时意图 → 实时行为路
2. 融合
├─ 简单 → 归一化加权
├─ 要多样性 → 配额分桶
└─ 最正确 → 不融合,交给精排
3. 监控
└─ 各路贡献占比,防一路独大【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “单路覆盖一种相似,多路互补才全” |
| 0:30–2:00 | 常见路 | 向量/I2I/热门/类目/实时+品牌·SPU·型号精确匹配(题干 badcase 的主路) |
| 2:00–3:30 | 融合 | 加权/配额/交给精排 |
| 3:30–4:30 | 监控 | 贡献占比;防一路独大 |
| 4:30–5:00 | 收尾 | “召回管广覆盖,相关性交给精排” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 每路 TopK | 50–200 | 视路质量 |
| 合并后候选 | 500–2000 | 进粗排 |
| 配额 | 每路最低占比 | 保多样性 |
| 融合 | RRF 或归一化加权 | RRF 免调参 |
| 监控 | 路贡献占比 | 发现失效 |
【追问链】(三层)
L1|“为什么要配额?” → 纯分数融合会淘汰冷门路(如社交召回),配额保证每路都有表达机会,保多样性。
L2|“分数怎么归一化?” → min-max / z-score / softmax;或用 RRF(倒数排名融合)免调权重。
L3|“哪路贡献长期为 0 怎么办?” → 检查配额是否太低、该路质量是否差、是否与他路重复。必要时停用或改造。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道要多路召回 |
| 80 分 | 常见路齐全;知道归一化/配额 |
| 95 分 | 讲清互补动机;在「行为稀疏」前提下给出主路选择(属性/ID 精确匹配优先,CF 只用于行为充足头部);“融合交给精排”;贡献监控与失效处理 |
【关联题】
- 同一知识簇: AI-30(全链路)、AI-19(向量召回)、AI-52(双塔)
- 延伸: AI-29(冷启动热门路)
【自测】
- 为什么单路向量召回不够? 参考答案: 只覆盖语义相似,同款/同品牌/实时意图可能召不回。
- 三种融合方式? 参考答案: 归一化加权、配额分桶、交给精排。
- 如何发现某路失效? 参考答案: 监控各路贡献占比与 A/B。
AI-32. 精排从 LR 换 DeepFM,为什么(CTR 模型演进)
【考察内容】精排模型是推荐算法核心必考
【题目】精排模型一开始用 LR(靠人工特征交叉),后来换了 DeepFM。从 LR → FM → Wide&Deep → DeepFM 的演进解决了什么问题?DIN 的注意力、MMoE 的多目标各自解决什么?新业务直接上哪个?
【参考答案】
演进主线(记忆→泛化→自动交叉):
- LR:线性+人工特征交叉——可解释、快,但依赖人工;
- FM/FFM:二阶特征自动交叉(隐向量内积)——解决稀疏特征交叉,但只二阶;
- Wide&Deep:Wide(LR 记忆人工交叉)+ Deep(DNN 泛化)并行;
- DeepFM:Wide 换成 FM(自动二阶)+Deep(高阶)——端到端自动学习一/二阶/高阶交叉,工业界标准基线;
- DIN:注意力机制——用户历史行为与当前候选物品相关才加权;
- MMoE/多目标:CTR/CVR/时长多任务共享底层+专家网络;
选型实践:新业务从 DeepFM 起步 → 行为数据丰富上 DIN/序列模型 → 多目标上线 MMoE 系;
工程要点:特征(稠密 embedding+稀疏 ID)、样本(曝光点击)、负采样、特征平台、推理延迟预算;
评估:GAUC + 业务 A/B。
关键公式: DeepFM 同时含一阶+FM 交叉+深度部分;相对 LR 能自动学高阶交叉。
排查步骤: 先确认 LR 瓶颈是否交叉不足 → 样本量是否撑得起深度模型 → 在线时延与特征成本 → AB。线上-离线:离线 AUC 涨要确认不是特征穿越;推理预算不足时上更深无意义。
【原理溯源】
- 演进每一步在解决什么? LR 靠人工交叉;FM 自动二阶且参数可估;Wide&Deep 记忆+泛化;DeepFM 把 Wide 换成 FM,端到端更干净;DIN 让兴趣表达目标感知;MMoE 处理多目标跷跷板。
- DeepFM 为何成为基线? 同时覆盖一阶、二阶(FM)、高阶(Deep),实现成熟、效果稳,表格+ID 特征场景性价比最高。
- DIN 注意力在干什么? 用户历史很长,但与当前候选相关的只是几件。Attention 按相关性加权历史行为,让兴趣表达聚焦。
- MMoE 解决什么? 多目标(CTR/CVR/时长)可能冲突。专家网络+门控让各目标共享有用部分、保留差异,缓解跷跷板现象。
【选型判断树】
精排怎么选?
1. 冷启动阶段
└─ DeepFM(标准基线)
2. 行为序列丰富
└─ 加 DIN / 序列模型
3. 多目标
└─ MMoE / PLE
4. 强解释
└─ LR 或 GBDT+SHAP(非精排主流)
5. 工程
└─ 延迟预算约束模型大小;A/B 验证【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “演进主线是自动交叉与兴趣表达” |
| 0:30–2:30 | LR→DeepFM | 每步解决什么 |
| 2:30–3:30 | DIN/MMoE | 目标感知与多目标 |
| 3:30–4:30 | 选型 | 新业务 DeepFM 起步 |
| 4:30–5:00 | 收尾 | “不要只背模型名,要讲演进动机” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| Embedding 维度 | 8–64 | ID 特征 |
| DIN 历史长度 | 最近 50–100 行为 | 视场景 |
| MMoE 专家数 | 4–8 | 多目标 |
| 精排延迟 | 10–50ms | 约束模型大小 |
| 评估 | GAUC + A/B | 见 AI-25/22 |
【追问链】(三层)
L1|“Wide 和 Deep 各管什么?” → Wide 记忆历史共现(人工交叉),Deep 泛化学习未见过组合。
L2|“DIN 的 attention 和 Transformer 区别?” → DIN 是目标感知的加权池化(无位置编码/无多头复杂结构),Transformer 是全局自注意力。
L3|“新业务直接上哪个?” → DeepFM 起步(成熟稳),行为序列够了再 DIN,多目标再 MMoE。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道 DeepFM、DIN 名字 |
| 80 分 | 能讲 LR→FM→Wide&Deep→DeepFM 演进动机 |
| 95 分 | DIN 目标感知机制;MMoE 多目标;新业务选型路径;延迟约束 |
【关联题】
- 同一知识簇: AI-15(特征交叉)、AI-30(全链路)、AI-07(选型)
- 工程衔接: AI-28(延迟)、AI-52(双塔 vs 精排)
【自测】
- DeepFM 相对 LR 解决了什么? 参考答案: 自动学习一/二阶/高阶交叉,不依赖人工。
- DIN 解决什么? 参考答案: 用户兴趣表达按目标相关性加权。
- 多目标为什么要 MMoE? 参考答案: 缓解 CTR/CVR/时长等目标冲突(跷跷板)。
AI-33. 推荐流 10 条全是同一个作者,用户刷两下就烦了(重排打散)
【考察内容】重排是搜广推高频题
【题目】用户反馈:刷推荐流,10 条里 8 条是同一个作者/同一个品类,看吐了。精排是单点打分,怎么在重排阶段做多样性(规则窗口、MMR、DPP)?打散和相关性怎么平衡?
【参考答案】
问题:精排按单点分数排序,产生同质化(同作者/同品类扎堆)→ 用户疲劳、长尾被挤压;
打散方法(从简单到高级):
- 规则打散(滑动窗口):窗口内同作者/同类目最多 N 个——简单可控,工业常用;
- 配额制:各品类/作者保底配额;
- MMR(最大边际相关):每次选“分数高且与已选集合相似度低”的物品(λ·相关性 −(1−λ)·最大相似度,与 AI-20 同一口径)——贪心平衡相关与多样;
- DPP(行列式点过程):从候选子集中选“多样性最优”的组合(最大化行列式)——效果最好、计算重;
相似度度量:物品向量(embedding)余弦、类目/作者标签重合度;
业务约束融合:广告插入位置、强运营位、已购过滤——重排是“规则落地的最后一环”;
权衡:打散过强伤相关性(CTR 降)——多样性指标与 CTR 平衡,A/B 验证;
工程:重排延迟预算(毫秒级,规则优先,DPP 有规模限制)。
关键公式: MMR/DPP;打散约束如“窗口 W=10 内同一作者≤1”。
排查步骤: 看重复来源是召回重还是排序雷同 → 重排多样性项权重 → 业务规则硬约束。线上-离线:离线相关性指标会偏好同质高分内容,必须离线评估多样性。
【原理溯源】
- 为什么精排会扎堆? 精排是 point-wise 最高分优先。若同一作者多条都高分,列表就同质。单点最优 ≠ 列表最优。
- MMR 在优化什么? 每次贪心选“相关性高且与已选不相似”的项:λ·相关性 −(1−λ)·max_sim(已选)。λ 越大越偏相关性,越小打散越激进(与 AI-20 同口径)。
- DPP 为何“全局更优”? 用子集的行列式度量“相关×多样”的整体质量,选行列式最大的子集。比 MMR 的贪心更全局,但计算更重。
- 为什么重排是业务规则最后落点? 合规过滤、广告插入、运营置顶都必须在最终列表上执行,精排管不了全局位置。
【选型判断树】
重排打散怎么做?
1. 先上规则
└─ 滑窗限制同作者/类目(工业默认)
2. 要配额
└─ 品类/作者保底
3. 要算法化
├─ 候选少、延迟紧 → MMR
└─ 候选中等、要全局最优 → DPP(注意算力)
4. 平衡
└─ 监控类目熵/作者覆盖 + CTR,A/B 找 λ
5. 优先级
└─ 合规>广告>运营位>多样性【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “精排单点最优导致同质化,重排做 list-wise” |
| 0:30–2:00 | 四档方案 | 规则窗、配额、MMR、DPP |
| 2:00–3:30 | 机制 | MMR 贪心;DPP 行列式 |
| 3:30–4:30 | 业务与权衡 | 规则优先级;多样性 vs CTR |
| 4:30–5:00 | 收尾 | “工业先规则,再算法化” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 滑窗大小 | 5–10 条 | 同作者≤1 |
| MMR λ | 0.5–0.8(相关性权重) | 调小则更激进打散 |
| DPP 候选 | 通常 <几百 | 算力限制 |
| 延迟 | 重排 5–15ms | 规则优先 |
| 护栏 | 类目熵、作者覆盖 | A/B |
【追问链】(三层)
L1|“DPP 原理一句话?” → 用集合的行列式度量子集整体质量(相关×多样),选行列式最大的子集。
L2|“打散和业务规则冲突怎么办?” → 优先级分层:合规/广告最高,运营位次之,多样性最低(可让步)。
L3|“打散会不会掉 CTR?” → 短期可能。用 A/B 平衡,多样性换长期留存与生态。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道要“隔开同类” |
| 80 分 | 规则窗/MMR/DPP;知道精排单点局限 |
| 95 分 | 讲清 list-wise 本质;MMR/DPP 机制;业务优先级;多样性与 CTR 权衡 |
【关联题】
- 同一知识簇: AI-30(重排定位)、AI-51(茧房)、AI-20(长尾)
- 工程衔接: AI-54(去重)
【自测】
- 为什么精排后还要重排? 参考答案: 精排单点最优会导致同质化,重排做列表级全局优化。
- MMR 和 DPP 区别? 参考答案: MMR 贪心逐个选;DPP 全局选子集,更优但更重。
- 业务规则和打散谁优先? 参考答案: 合规>广告>运营位>多样性。
AI-34. 用户搜“便宜的手机”,出来的全是手机壳(搜索相关性)
【考察内容】搜索是 NLP+排序综合高频题
【题目】用户搜“便宜的手机”,搜索结果里混进了手机壳、手机支架。搜索系统的 Query 理解(分词、意图、价格属性抽取)、召回(关键词+语义)、相关性过滤、排序(LTR)分别怎么做?“便宜”这个价格意图怎么落地?
【参考答案】
整体:Query 理解 → 召回 → 相关性过滤 → 排序;
Query 理解(核心):
- 分词:中文分词;
- 意图识别:类目意图(手机)、价格意图(便宜=低价)、属性意图;
- 实体/属性抽取:品牌、型号、价格区间、类目;
- 改写/纠错:同义词、错别字、query 扩展;
召回:类目召回(手机类目)+ 关键词匹配(BM25/ES)+ 向量召回(语义);
相关性过滤与排序:
- 相关性:BM25 分数/语义相似度/类目一致性(搜“手机”不该出手机壳——相关性硬约束);
- 排序:相关性分 × 业务分(销量/价格/评价/转化率预估——LTR);
价格意图落地:抽取“便宜”→ 排序时价格特征加权或按价格带过滤;
评估:人工标注 NDCG、线上(点击率、无结果率、成交转化);
工程:Query 分析服务、搜索专用索引(ES)、搜索与推荐联动。
关键公式: NDCG@k 衡量排序相关性;相关性分级 0/1/2。
排查步骤: Query 理解(纠错/意图/属性)→ 召回多路(字面+语义)→ 相关性精排/规则。线上-离线:离线用点击当标签会偏向标题党,需人工相关性标注集。
【原理溯源】
- 为什么“手机”会召出手机壳? 字面共现(“手机壳”含“手机”)或语义相近。若无类目/实体硬约束,相关性过滤缺位,就会混入配件。
- Query 理解为何是搜索核心? 用户 query 短、口语化、带修饰(便宜)。不理解意图与属性,召回和排序都在解错题。
- “便宜”如何落地? 属性抽取把模糊词映射为价格意图:加价格特征权重、过滤高价带、或重排偏好低价。
- 相关性为何常作硬约束? 相关性是底线(搜手机不出壳)。业务分只能在相关候选内调序,不能把不相关顶上去。
【选型判断树】
搜索链路:
1. Query 理解
├─ 分词/纠错/改写
├─ 意图(类目/价格/属性)
└─ 实体抽取
2. 召回
├─ 类目硬过滤
├─ BM25 关键词
└─ 向量语义
3. 相关性
└─ 硬约束(类目/属性一致)
4. 排序
└─ LTR:相关性 × 业务分
5. 意图落地
└─ “便宜”→价格带过滤/加权【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “核心在 Query 理解,相关性是硬约束” |
| 0:30–2:00 | Query 理解 | 分词、意图、属性抽取 |
| 2:00–3:30 | 召回与过滤 | 多路召回;类目硬约束 |
| 3:30–4:30 | 排序与意图 | LTR;“便宜”落地 |
| 4:30–5:00 | 收尾 | “相关性管对不对,业务分管好不好” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| NDCG@10 | 搜索相关性主指标 | 人工标注 |
| BM25 | ES 默认 | 关键词 |
| 向量 TopK | 与 BM25 混合 RRF | 语义 |
| 无结果率 | 监控 | 体验 |
| 价格意图 | 低价带过滤/加权 | “便宜” |
【追问链】(三层)
L1|“搜‘便宜’怎么用?” → 属性抽取识别价格意图,转化为排序特征/过滤条件。
L2|“相关性怎么衡量?” → BM25 词频+语义向量+类目/属性一致性,人工标注集评测 NDCG。
L3|“为什么不能只靠 ES?” → ES 擅长字面匹配,缺意图理解与语义召回;口语化 query 会漏召或混入不相关。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道要分词、做排序 |
| 80 分 | Query 理解链路;多路召回;相关性硬约束 |
| 95 分 | 讲清意图/属性落地;相关性 vs 业务分分工;LTR;评估 NDCG |
【关联题】
- 同一知识簇: AI-37(语义匹配)、AI-36(意图槽位)、AI-31(多路召回)
- LLM 衔接: AI-39(RAG 检索)
【自测】
- 为什么“手机”会召出手机壳? 参考答案: 字面/语义相近但类目不同,缺相关性硬约束。
- “便宜”如何落地? 参考答案: 抽取为价格意图,做低价带过滤或价格加权。
- 相关性和业务分的关系? 参考答案: 相关性是底线硬约束,业务分在相关候选内调序。
AI-35. 客服消息自动分类,90% 是咨询、投诉总漏判(文本分类)
【考察内容】文本分类是 NLP 最高频场景题
【题目】客服消息要自动分类(咨询/投诉/退换货/售后),90% 是咨询,投诉只占 3% 但漏判代价最大。模型方案怎么选(TF-IDF+LR → FastText → BERT → LLM)?不平衡怎么处理?怎么让投诉尽量不漏?
【参考答案】
数据与预处理:清洗、分词、类别体系设计(少类且互斥);
建模方案(由简到繁):
- TF-IDF/词袋 + LR/SVM:简单基线,小数据够用;
- FastText:词向量平均+线性分类,快且效果好;
- TextCNN/BiLSTM:局部 n-gram/序列特征;
- 预训练模型(BERT 系):微调,效果 SOTA;
- 大模型:LLM few-shot/零样本——少标注场景利器,成本/延迟高;
类别不平衡(90% 咨询):加权损失/重采样、评估用 Macro-F1、对少数类(投诉)提高召回优先级;
工程落地:阈值校准(置信度低进人工);线上推理延迟(BERT 量化/蒸馏,或 LLM 只处理难例);持续迭代:人工标注反馈回流;
评估:每类 P/R/F1(尤其投诉类召回)、混淆矩阵分析。
关键公式: 对不平衡多分类用 Macro-F1;投诉类单独看 Recall 与代价敏感权重。
排查步骤: 混淆矩阵 → 投诉类样本增强/改写 → 阈值下调该类 → 级联“是否投诉”二分类。线上-离线:线上漏判投诉比离线 Macro 更致命,评估指标要按业务代价定制。
【原理溯源】
- 为什么不平衡下投诉总漏? 与 AI-01 同理:梯度被咨询类主导,模型倾向“别冒险报投诉”。业务上投诉漏判代价最大,必须反向加权。
- 为什么“由简到繁”? 先跑基线建立下限与数据检查;再上 BERT 微调拿主要收益;LLM 处理少样本/长尾/难例。避免一上来大模型却数据/评估都没做好。
- Macro-F1 为何必须? 总体准确率被咨询淹没,投诉全错也只掉几个点。Macro-F1 平等看待各类,长尾变差会显现。
- 为什么低置信要转人工? 分类器在边界样本上不可靠。低置信转人工是精度兜底,同时形成标注回流闭环。
【选型判断树】
客服文本分类:
1. 数据量
├─ 小 → TF-IDF+LR / FastText / LLM few-shot
└─ 充足 → BERT 微调
2. 不平衡
├─ 投诉漏判代价大 → 加权损失 + 压低阈值保投诉召回
└─ 评估主看 Macro-F1 + 投诉类 Recall
3. 延迟/成本
├─ 紧 → 蒸馏/量化 BERT;LLM 只处理难例
└─ 宽 → 可全量 LLM
4. 闭环
└─ 低置信转人工;错误回流重训【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “90/3 不平衡,投诉漏判最贵,主看 Macro-F1 与投诉召回” |
| 0:30–2:00 | 模型路线 | 基线→FastText→BERT→LLM |
| 2:00–3:30 | 不平衡 | 加权、阈值、评估 |
| 3:30–4:30 | 工程 | 转人工、延迟、回流 |
| 4:30–5:00 | 收尾 | “先基线后大模型,投诉召回是业务红线” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 投诉占比 | 常见 1%–5% | 极不平衡 |
| 投诉召回 | 业务常要求 90%+ | 红线 |
| BERT 微调 LR | 2e-5 ~ 5e-5 | 小数据 |
| 低置信阈值 | 按验证集 PR 选 | 转人工 |
| LLM 分类 | 少样本/难例 | 成本高 |
【追问链】(三层)
L1|“什么时候用 LLM 分类?” → 标注少/类别频繁变/需零样本迁移,且接受延迟与成本时。
L2|“为什么不平衡不能报准确率?” → 大类主导,长尾全错也几乎不动,掩盖业务风险。
L3|“投诉总和退换货混淆怎么办?” → 混淆矩阵定位;补该边界样本;加业务规则/关键词;或分层分类。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道用 BERT/大模型 |
| 80 分 | 由简到繁路线;Macro-F1;不平衡加权 |
| 95 分 | 业务红线是投诉召回;LLM 适用条件;转人工与回流闭环;混淆矩阵诊断 |
【关联题】
- 同一知识簇: AI-01(不平衡)、AI-27(Macro-F1)、AI-04(小样本)
- LLM 衔接: AI-44(Prompt)、AI-42(微调)
【自测】
- 投诉漏判代价大,评估主看什么? 参考答案: 投诉类 Recall + Macro-F1,不是总体准确率。
- 小数据文本分类先跑什么? 参考答案: TF-IDF+LR 或 FastText 基线,再 BERT/LLM。
- 低置信样本怎么办? 参考答案: 转人工,并回流标注形成闭环。
AI-36. “帮我订明天北京到上海的机票”,机器怎么听懂(意图槽位)
【考察内容】NLU 是对话系统必考题
【题目】智能客服要理解“帮我订明天北京到上海的机票”:意图是“订机票”,槽位有“日期=明天、出发=北京、到达=上海”。意图识别和槽位填充分别怎么做(分类+序列标注 / LLM 抽取)?槽位怎么转成标准值(“明天”→具体日期)?缺槽怎么反问?
【参考答案】
任务拆解:意图分类(订机票)+ 槽位填充(日期=明天、出发地=北京、目的地=上海)——NLU 两大任务;
实现方案:
- 传统方案:意图=文本分类(SVM/BERT),槽位=序列标注(BiLSTM-CRF/BERT-CRF,BIO 标注);
- 大模型方案(主流):LLM 直接抽取——结构化 Prompt 输出 JSON(意图+槽位),few-shot 示例;
- 联合建模:意图与槽位一起预测(共享编码,互相促进);
关键问题:
- 槽位规范化:“明天”→具体日期(时间解析);“上海”→城市代码;
- 缺槽补全:缺少关键槽位 → 反问引导;
- 多意图/歧义:多意图拆分;
- OOV/新表达:大模型泛化好;
工程链路:ASR → NLU → 对话管理 → 动作执行 → NLG;
评估:意图准确率、槽位 F1、对话任务成功率;
兜底:低置信度转人工。
关键公式: 意图分类可用 softmax;槽位标注用序列标注(BIO)+CRF/深度序列模型。F1 按槽位类型分别统计。
排查步骤: 错误归类:意图错 vs 槽位错 vs 边界错 → 数据增强口语变体 → 词典与规则兜底。线上-离线:线上多轮、打断、口语省略远多于离线单句。
【原理溯源】
- 为什么要拆成意图+槽位? 意图决定“做什么动作”,槽位决定“动作参数”。两者语义层级不同,拆开更清晰、也便于联合建模互相促进。
- BIO 标注解决什么? 序列标注标准范式:B-起点/I-内部/O-外部。CRF 保证标签合法转移(I 不能凭空出现),比逐 token 独立分类更稳。
- 槽位规范化为何关键? 模型抽出“明天”,系统要的是日期。时间解析/实体链接把口语映射到可执行标准值,否则下游 API 无法调用。
- 缺槽为什么要反问? 关键参数缺失时不能瞎执行。对话管理检测缺槽并生成澄清问题,是可用性的关键。
【选型判断树】
NLU 怎么做?
1. 传统 vs LLM
├─ 样本充足、延迟紧 → BERT+CRF
└─ 样本少/表达多变 → LLM JSON 抽取
2. 槽位
├─ 序列标注 BIO
└─ 或 LLM 结构化输出
3. 规范化
└─ 时间/城市/实体 → 标准值
4. 缺槽
└─ 反问澄清
5. 兜底
└─ 低置信转人工【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “意图+槽位两大任务,先拆再联合” |
| 0:30–2:00 | 方案 | BERT-CRF vs LLM JSON |
| 2:00–3:30 | 关键问题 | 规范化、缺槽反问、多意图 |
| 3:30–4:30 | 链路与评估 | ASR→NLU→DM→执行;槽位 F1 |
| 4:30–5:00 | 收尾 | “抽出值还要规范化,缺槽要能反问” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 意图准确率 | 业务常要求 90%+ | 看场景 |
| 槽位 F1 | BIO 级评估 | 序列质量 |
| few-shot | 3–8 个示例 | LLM 抽取 |
| 低置信 | 转人工 | 兜底 |
| JSON 解析失败 | 重试/容错 | LLM 工程 |
【追问链】(三层)
L1|“为什么用 BIO 标注?” → 序列标注标准范式:B-起点/I-内部/O-外部,配合 CRF 保证标签合法转移。
L2|“LLM 抽取怎么保证格式稳定?” → JSON schema 约束+few-shot+解析失败重试;必要时用 constrained decoding。
L3|“用户没说目的地怎么办?” → 对话管理检测缺槽,生成反问:“请问您要飞到哪个城市?”
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道要做意图分类 |
| 80 分 | 意图+槽位;BERT-CRF 或 LLM;规范化 |
| 95 分 | BIO/CRF 机制;缺槽反问;LLM 格式稳定性;对话链路全景 |
【关联题】
- 同一知识簇: AI-35(分类)、AI-44(Prompt/JSON)、AI-47(Agent)
- 延伸: AI-34(Query 理解)
【自测】
- 意图和槽位分别是什么? 参考答案: 意图=做什么;槽位=动作参数。
- “明天”抽出后还要做什么? 参考答案: 时间解析规范化为具体日期。
- 缺关键槽位怎么处理? 参考答案: 对话管理反问澄清,不瞎执行。
AI-37. “怎么退款”和“钱什么时候退”是同一句话吗(语义匹配)
【考察内容】文本匹配是 NLP 高频场景题
【题目】FAQ 机器人:用户问“怎么退款”,库里有 10 万条标准问答,字面上没一个完全匹配的(用户会说“钱啥时候回来”)。怎么用 BM25 关键词 + 向量语义双路召回,再用交互模型重排?怎么训练匹配模型?
【参考答案】
任务本质:语义文本相似度(STS)/文本匹配——字面不同但语义相同;
实现方案:
- BM25 关键词匹配:召回层(快,解决字面重合);
- 向量语义检索:Query 与 FAQ 分别编码(Sentence-BERT/双塔)→ 余弦相似度 → ANN 检索 TopK——解决语义改写;
- 混合检索:BM25 + 向量 融合(RRF),召回更全;
- 重排序(Rerank):召回 Top50 后用 Cross-Encoder 精排——效果最好(成本高,只重排少量);
训练:有标注(正负句对)训练双塔(对比学习:正样本拉近/负样本拉远,in-batch 负采样);无标注用 SimCSE 自监督;
工程:向量库定期更新;阈值与兜底(相似度低于阈值→转人工/提示);评估:召回率@K、MRR、命中率;
演进:大模型可直接判断/生成,但向量检索仍是 RAG/QA 召回底座。
关键公式: 余弦/BERT 句向量相似度;孪生网络对比学习损失(InfoNCE)。
排查步骤: 建难负例集(同领域不同问题)→ 看是否需要跨语言/口语归一 → 阈值决定是否合并 FAQ。线上-离线:离线高相似不一定同答案,最终还要看答案是否可复用。
【原理溯源】
- 为什么要双路? BM25 抓字面(“退款”两字都在),向量抓语义(“钱啥时候回来”意思对但字不同)。单路必漏。
- 双塔 vs Cross-Encoder 为何分工? 双塔独立编码、可预计算、快,适合全库召回;Cross 拼接编码、充分交互、准,但 O(N) 太贵,只对 TopK 精排。
- 对比学习在学什么? 正句对拉近、负句对拉远,让“语义相同”在向量空间靠近。in-batch 负采样高效构造负例。
- 为什么必须设阈值兜底? 没有匹配也强行答最伤体验。低于阈值转人工/提示,是精度底线。
【选型判断树】
FAQ 语义匹配:
1. 召回
├─ 必须混合:BM25 + 向量
└─ RRF 融合
2. 重排
├─ 精度敏感 → Cross-Encoder TopK
└─ 延迟紧 → 可省略,但要评召回
3. 训练
├─ 有标注 → 对比学习双塔
└─ 无标注 → SimCSE
4. 兜底
└─ 相似度阈值;低于则转人工
5. 评估
└─ Recall@K / MRR / 命中率【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “字面不同语义同,必须混合召回+重排” |
| 0:30–2:00 | 双路召回 | BM25 + 向量 + RRF |
| 2:00–3:30 | 训练与重排 | 对比学习;Cross-Encoder |
| 3:30–4:30 | 工程 | 阈值兜底;评估 MRR |
| 4:30–5:00 | 收尾 | “双塔管召回,Cross 管精排,阈值保底线” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 召回 TopK | 20–50 | 进重排 |
| Cross-Encoder | 只重排 Top 20–50 | 成本高 |
| Embedding 维度 | 768/1024 | Sentence-BERT |
| RRF k | 常取 60 | 免调参 |
| 阈值 | 按验证集命中率选 | 兜底 |
【追问链】(三层)
L1|“双塔和 Cross 为什么效果有差?” → 双塔 query/doc 独立编码(信息交互少但可预计算),Cross 拼接编码(充分交互但每对都要算)。
L2|“只用向量不用 BM25 行不行?” → 字面精确匹配(型号、专名)会漏。必须混合。
L3|“没有匹配时怎么办?” → 相似度低于阈值不匹配,转人工或提示,防强行答错。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道用向量相似度 |
| 80 分 | 混合召回;双塔训练;Rerank |
| 95 分 | 讲清双塔 vs Cross 分工;对比学习;阈值兜底;MRR 评估 |
【关联题】
- 同一知识簇: AI-39(RAG)、AI-49(Embedding 选型)、AI-52(双塔 vs Reranker)
- 搜索衔接: AI-34
【自测】
- 为什么要 BM25+向量双路? 参考答案: BM25 抓字面,向量抓语义,互补。
- Cross-Encoder 为何不能全库跑? 参考答案: 每对都要过模型,O(N) 太慢,只能精排 TopK。
- 没有匹配时的正确动作? 参考答案: 阈值兜底,转人工/提示,不强行回答。
AI-38. 工厂摄像头要自动检出划痕,缺陷样本只有几百张(工业质检)
【考察内容】CV 工业落地是 AI 应用高频场景题
【题目】工厂产线要上视觉质检:自动检测产品划痕/瑕疵。正常品样本很多,但缺陷样本只有几百张(且形态多样)。迁移学习、数据增强、异常检测(只学正常分布)几条路线怎么选?产线对误检率、推理速度有什么要求?
【参考答案】
任务定义:缺陷检测(分类:有无缺陷 / 检测:定位缺陷框 / 分割:缺陷像素级);
建模方案:
- 小数据策略:迁移学习(ImageNet 预训练微调,分类用 ResNet,检测用 YOLO 系列,分割用 U-Net)——几千张足够微调;
- 数据增强:旋转/翻转/光照/噪声/弹性形变(工业缺陷样本少,增强是刚需);
- 异常检测路线(缺陷样本极少时):只用正常样本训练,缺陷=偏离正常分布:
- 基于特征分布/记忆库:PatchCore、SPADE——正常样本特征记忆库,测试时 kNN 距离打分;
- 基于重建:AE/VAE——重建误差大=异常;
工业落地关键(往往比模型更重要):
- 数据标注:缺陷类型定义、标注规范(漏标=负样本污染)、专家复核;
- 误检率控制:误检与漏检都贵,按场景权衡——安全件/高价值件通常漏检代价更高;大批量低值件则误检成本突出——阈值调整+规则过滤+二次人工抽检;
- 推理速度:产线节拍(如 100ms/件)——YOLO 小模型+TensorRT/INT8;
- 环境一致性:光照、角度、镜头固定;
- 部署:边缘盒子/工控机(本地推理);
评估:缺陷召回率(漏检=质量逃逸)、误检率(杀良品=成本)、F1、mAP;按缺陷类型分开评估;
迭代:产线收集新缺陷→增量标注→重训(闭环)。
关键公式/指标: 缺陷检测看 Recall(漏检代价高)与误报率;小样本常用迁移+数据增广+异常检测。
排查步骤: 清晰成像/光照 → 预训练骨干 → 增广 → 阈值偏召回 → 人工复核带。线上-离线:产线相机与训练集差异大(域偏移),要现场数据持续回流。
【原理溯源】
- 为什么几百张缺陷不适合直接训检测器? 检测器要学“缺陷长什么样”,几百张覆盖不了形态多样性,易过拟合。
- 迁移学习为何有效? ImageNet 预训练已会边缘、纹理、形状。小数据微调只是任务对齐,远优于从零训练。
- 异常检测路线的核心假设? 缺陷形态无限、正常形态有限。只学正常分布,偏离即异常——完美匹配“正常多、缺陷少且杂”。
- 为什么误检率是工业成本杀手? 误检=良品报废+复检停机,大批量下成本巨大。阈值与规则要按“单件成本×产量”优化,不是只追 Recall。
【选型判断树】
工业质检:
1. 缺陷样本量
├─ 几千+且形态稳定 → 迁移学习检测(YOLO)
├─ 几百且形态多样 → 异常检测(PatchCore)或迁移+强增强
└─ 正常多缺陷极少 → 异常检测首选
2. 任务
├─ 只要判定 → 分类
├─ 要定位 → 检测
└─ 要像素 → 分割
3. 产线约束
├─ 节拍紧 → 小模型+TensorRT/INT8
└─ 环境固定 → 否则先解决光照/角度
4. 成本
└─ 按场景权衡漏检/误检;二次抽检【口述骨架】(5 分钟)
| 时间 | 任务 | 内容 |
|---|---|---|
| 0:00–0:30 | 定性 | “缺陷少形态杂,迁移+增强;极少则异常检测” |
| 0:30–2:00 | 建模 | 迁移学习;增强;PatchCore/AE |
| 2:00–3:30 | 工业关键 | 标注、误检率、节拍、环境 |
| 3:30–4:30 | 评估 | 按缺陷类型分评;漏检/误检代价 |
| 4:30–5:00 | 收尾 | “工程细节常比模型更重要” |
【关键数字】
| 参数 | 经验值 | 说明 |
|---|---|---|
| 微调样本 | 1k–5k 可用 | 迁移学习 |
| 节拍 | 50–100ms/件 | 产线约束 |
| 量化 | INT8 + TensorRT | 边缘部署 |
| PatchCore | 正常样本记忆库 | 无缺陷标签 |
| 误检/漏检 | 按单件成本调阈值 | 场景权衡 |
【追问链】(三层)
L1|“为什么用异常检测?” → 缺陷形态多样且样本极少,学正常分布更稳。
L2|“误检率怎么控?” → 阈值调整、规则过滤(瑕疵大小/区域)、二次人工抽检;按成本函数优化。
L3|“环境光照变了怎么办?” → 训练/产线环境一致性是前提;否则先做图像增强/固定打光/域适应。
【评分标准】
| 档位 | 答案特征 |
|---|---|
| 60 分 | 知道要迁移学习/数据增强 |
| 80 分 | 异常检测路线;误检率意识;边缘部署 |
| 95 分 | 讲清“正常有限缺陷无限”假设;按成本权衡漏检/误检;按缺陷类型评估;工程闭环 |
【关联题】
- 同一知识簇: AI-04(小样本)、AI-01(不平衡漏检)
- 工程衔接: AI-28(推理优化)、AI-24(监控)
【自测】
- 缺陷样本只有几百张,首选什么路线? 参考答案: 迁移学习+强增强;缺陷极少且杂时转异常检测。
- 工业质检最大的成本陷阱? 参考答案: 误检导致良品报废与停机;要按成本调阈值。
- PatchCore 思想一句话? 参考答案: 用正常样本建特征记忆库,测试时 kNN 距离打分判异常。