面灵AI→

联咏一面 AI 应用开发:恒等映射、softmax 与 YOLO 架构

轮次
一面
时间
2026-09
来源
牛客网

《面试题目》

  1. 请做一下自我介绍。
  2. 介绍实习内容和做的工作。
  3. 做了哪些措施节省 token?做了什么开发能体现是面向银行的 Agent?
  4. 实现算子 y=f(x),要让它成为恒等映射该怎么做?
  5. softmax 公式是什么?
  6. 你使用 YOLO 比较多,介绍一下 YOLO 架构,可以改哪些结构?
  7. 介绍一下整个评测体系。
  8. 写一些常用的深度学习知识,公式写自己熟悉的并讲解。

《参考解析》

算子 y=f(x) 的恒等映射:从数学上讲就是让 f 满足 f(x)=x——线性层里把权重设成单位矩阵、偏置置零,卷积里用 1×1 卷积并让通道一一对应,归一化层把缩放参数设为 1、偏移设为 0,这些都能构造出严格恒等。但面试官问这个多半不是想听”初始化成单位矩阵”,而是想引到残差结构:y = x + F(x) 只要让 F 的输出趋近于 0,整块就天然从恒等映射开始,参数初始化时把 F 最后一层的权重压得很小(或加 LayerScale)就能做到,这既让深层网络更容易优化,也让梯度有一条直通通道回传,缓解退化问题。所以回答最好分两层:构造严格恒等用什么参数设置,工程上为什么用残差而不是硬编码恒等。如果对方是在让你手写 Tensor 算子,考点就落在逐元素恒等 kernel 的实现与自动微分——恒等算子的反向梯度就是原样传回。

softmax 公式与数值稳定性:softmax(z_i) = exp(z_i) / Σ_j exp(z_j),作用是把任意实数向量压成和为 1 的概率分布,且对整体平移不变——分子分母同乘 e^c 结果不变,这正是数值实现的依据:先减去该行的最大值再取指数,否则 logits 稍微大一点 exp 就上溢成 inf、分母变成 inf 得到 NaN。常见追问有四个方向:温度参数(除以 T 调节分布陡峭程度,T 趋近 0 退化成 argmax,知识蒸馏里用高温拿软标签)、和交叉熵的配合(实现上直接算 log-softmax 再取负对数,避免先 exp 再 log 的精度损失)、多标签场景要换成 sigmoid(各类不互斥时 softmax 会强行竞争)、以及和采样的关系(只在最后一位做 softmax 的近似采样、top-k/top-p 截断后再归一化)。

YOLO 架构与可以改的结构:现代 YOLO 可以按 backbone、neck、head 三段拆。backbone 负责提特征,从早期的 Darknet 演进到 CSP 系列加 ELAN 结构,作用是在控制计算量的前提下扩大感受野和梯度分流;neck 用 FPN 和 PAN 做自顶向下加自底向上的多尺度融合,让大中小目标都有合适的特征层;head 从 anchor-based 演化到 anchor-free 的解耦头,分类和回归走两条分支,回归用 DFL 把框的连续量变成离散分布期望。可改的点基本落在这些位置上:换更轻的主干(MobileNet、ShuffleNet)或换成 Transformer 类结构、在主干或 neck 插注意力(SE、CBAM)、调整 neck 的融合层数与上采样方式、改正样本分配策略(SimOTA、TAL 这类动态分配)、换损失(CIoU、EIoU、DFL 的权重)、改输入分辨率与多尺度训练、后处理把 NMS 换成 soft-NMS 或做端到端去 NMS。改之前要先明确优化目标是 mAP、小目标召回还是端上时延,并确认部署链路支持新算子,否则很容易涨点涨在离线、掉在线上。

评测体系怎么搭:一套能用的评测要讲清四件事。第一是数据集与切分:训练集和评测集是否同分布、有没有数据泄漏、评测集里有没有覆盖线上真实的长尾与难例,最好单独维护一个难例集。第二是指标:检测任务看 mAP 与各尺度召回,分类看 P/R/F1 与 AUC,生成类任务用 BLEU、ROUGE 这类自动指标时必须清楚它们的局限,业务侧还要看时延、单次成本和失败率。第三是评测方法:自动指标之外要有固定 prompt、固定解码参数、固定随机种子的回归跑批,再叠加人工评分或模型辅助评分,任何”每一次结果都不一样”的评测都要多次采样报均值与方差。第四是闭环:bad case 回流进训练集或难例集、版本之间做纵向对比、上线走灰度与 A/B,避免离线涨点线上不涨。面试官追问”指标涨了但业务没变好”时,答案通常就在第一和第二条——评测集不 representative,或者指标和业务目标错位。