Skip to content

深度学习面经与知识点整理

本笔记主要整理一些常见知识点(cheatsheet)以及整理一些面试中常见的问题等。

CNN

CNN及变体架构

在使用深度学习模型进行目标检测时,以下哪个算法可以使用区域提议网络来生成候选目标区域,并对这些区域进行分类和精确定位?

  • 在深度学习模型中,Faster R-CNN算法是一种常用的目标检测算法,它可以使用区域提议网络(Region Proposal Network,RPN)来生成候选目标区域,并使用分类器和回归器对这些区域进行分类和精确定位。
  • YOLO算法可以将目标检测问题转化为一个回归问题,并使用单个神经网络对所有目标进行检测。
  • SSD算法和R-FCN算法也是常用的目标检测算法,但是它们通常需要多个尺度的特征图来处理不同大小的目标。

图像分割

你正在处理一个包含大量小物体的图像分割任务,你的模型在这些小物体上的性能较差。以下哪些方法可能有助于改善模型在这些小物体上的性能?

  • 使用小的卷积核:小的卷积核可以更好地捕捉到小物体的特征。
  • 在损失函数中加入物体大小的约束:这可以帮助模型更好地学习到小物体的特征,因为这种方法会给予小物体更高的重要性。
  • 使用图像金字塔:图像金字塔可以在不同的尺度上捕捉到物体的特征,对于小物体的识别是有帮助的。

Transformer

当使用Transformer处理长文本序列时,哪种技术能最有效地降低自注意力的计算复杂度?

  • 在Transformer中,自注意力的计算复杂度为O(n^2),对长文本序列处理效率低。通过限制注意力范围为局部窗口,将复杂度降至O(n*k)(k为窗口大小),有效降低了计算复杂度。
  • (将浮点精度从FP32降至FP16)只减少计算常数因子,不改变渐近复杂度
  • (增加多头注意力的头数)可能增加计算量而不降低复杂度。

在标准 Transformer 模型中,自注意力(Self-Attention)机制是其核心组件。假设输入序列的长度为 N,模型的隐藏层维度(或称为表示维度)为 d,那么标准自注意力模块的计算复杂度主要是?

  • 在标准 Transformer 的自注意力机制中,输入序列长度为 N,隐藏层维度为 d。计算包括线性投影和注意力矩阵计算。线性投影的复杂度为 O(N * d^2),但注意力矩阵(QK^T)的计算复杂度为 O(N^2 * d),当 N 较大时,此步骤主导整体复杂度,因此主要计算复杂度是 O(N^2 * d)。

模型训练

某团队希望将一个训练好的 FP32 精度图像分类模型部署到资源受限的边缘设备上。在尝试训练后量化(Post-Training Quantization, PTQ)后,发现 INT8 模型的精度损失较大,无法接受。为了在保持模型体积和推理速度优势的同时恢复模型精度,最应该尝试的下一步是什么?

  • 量化分为两种:PTQ和QAT。PTQ就是题目中说的训练完后再量化,比如训练好模型后准备部署到手机或者嵌入式设备的时候,这是最常见的。
  • 但是题目说发现精度损失过大。因此应当采用QAT。

常见的超参数调整方法有哪些?

  • 网格搜索 grid search
  • 随机搜索 random search
  • 贝叶斯优化 bayesian optimization
  • 遗传算法 genetic algorithms
  • 早停与动态资源分配 early stopping and bandit based

模型部署

模型评估

在实际使用矩阵分解来训练和评估模型的过程中,往往会产生的问题是(),也正是因为这个缺陷,提出了 NeuralCF 模型来改进这个问题。

  • 在实际使用矩阵分解来训练和评估模型的过程中,往往会产生的问题是欠拟合问题,原因是矩阵分解的模型结构是相对比较简单的,特别是输出层无法对优化目标进行有效的拟合,这需要模型有更加强大的表达能力,基于此动机,提出了 NeuralCF 模型来改进这个问题

Cheat Sheet

人工智能主要学习方法的模型结构、损失函数和常用优化算法。

范式分类 模型类别 模型结构 (Representation) 损失函数/目标 (Loss/Objective) 常用优化算法 (Optimizer) 核心应用场景
监督学习 线性回归 \(y = \mathbf{w}^T\mathbf{x} + b\) MSE(均方误差) 最小二乘法、SGD 连续数值预测
逻辑回归 \(\sigma(\mathbf{w}^T\mathbf{x} + b)\) 交叉熵(基于 MLE) 梯度下降、L-BFGS 二分类概率预测
SVM 空间超平面 (核映射) Hinge Loss SMO 算法 高维小样本分类
决策树/森林 树状分裂 (if-then) 基尼系数 / 信息增益 递归启发式分裂 结构化数据分析
梯度提升树 加法模型 (决策树累加) 自定义损失 (需二阶导) 梯度提升 (GBDT) 推荐、风控、搜索
深度学习 CNN 卷积 + 池化层 交叉熵 (Softmax) Adam、SGD 图像、视频处理
RNN/LSTM 循环隐藏状态\(h\) 交叉熵 (按时间步) RMSprop、Adam 语音、序列预测
Transformer 自注意力机制 交叉熵 (Label Smooth) AdamW LLM、多模态
生成模型 GANs 生成器 vs 判别器 Min-Max 对抗损失 分步 SGD / Adam 图像生成、换脸
Diffusion 递归去噪 (U-Net) MSE (预测噪声误差) Adam 文生图 (DALL-E)
无监督学习 K-Means 簇中心点 (Centroids) SSE(簇内误差平方和) 坐标下降 (EM迭代) 客户分群、数据压缩
PCA 线性正交投影 方差最大化/ 投影误差 特征值分解 (SVD) 数据降维、特征提取
强化学习 Q-Learning Q-Table / Q-Network TD Error(时序差分) 贝尔曼方程更新 游戏 AI、机器人控制
PPO/Policy 策略网络 累积期望回报 策略梯度 (PG) 自动驾驶、RLHF

评估与稳健性(评价指标、验证策略、偏差与方差)

范式分类 对应模型层级 核心评价指标 (Metrics) 验证策略 (Validation) 偏差/方差表现
监督学习 线性/逻辑/SVM MSE / AUC / Recall K-折交叉验证 易出现高偏差 (欠拟合)
树模型/提升树 F1-Score / Gain Hold-out (留出法) 易出现高方差 (过拟合)
深度学习 CNN/RNN/Trans. Top-K Acc / BLEU 训练/开发/测试集划分 依靠大数据量压低方差
生成模型 GANs/Diffusion FID / IS / CLIP Score 主观评价 + 统计拟合度 训练不稳定 (模式崩溃)
无监督/强化 K-Means / PPO 轮廓系数 / 累积回报 外部指标 (如标签对比) 策略震荡与环境过拟合

优化与泛化(优化手段、正则、泛化)

范式分类 典型模型 核心优化手段 正则化技术 (Regularization) 泛化提升技巧
监督学习 线性/逻辑/SVM 权重衰减 (Weight Decay) L1 / L2 正则 特征缩放 (Scaling)
树模型/提升树 学习率收缩 (Shrinkage) 树深度限制 / 叶子节点数 行/列随机采样 (Subsample)
深度学习 所有神经网络 Batch Norm / 改良优化器 Dropout / Early Stop 数据增强 (Augmentation)
生成模型 GANs/Diffusion 谱归一化 (Spectral Norm) 梯度惩罚 (GP) 指数移动平均 (EMA)
强化学习 PPO/Q-Learning 优势函数 (Advantage) 熵正则 (Entropy Bonus) 经验回放 (Replay Buffer)

特征与工程(特征工程、压缩、在线/离线一致性)

范式分类 核心考点 特征工程重点 模型压缩/加速 在线一致性挑战
经典机器 特征选择 归一化 / One-hot 特征裁剪 (降维) 离线计算特征延迟
集成学习 特征重要度 缺失值处理 / 异常值 剪枝 (Pruning) 大规模 ID 特征同步
深度学习 自动特征提取 Embedding 层设计 量化 / 蒸馏 (Distillation) 推理引擎 (TensorRT) 适配
生成模型 隐空间映射 降噪强度调节 低秩适配 (LoRA) 算力成本与生成时效
强化学习 状态空间描述 状态标准化 (State Norm) 神经网络轻量化 环境模拟器与现实差异

业务理解与闭环(场景适配、冷启动、长尾问题)

范式分类 业务核心点 样本不平衡处理 冷启动/解释性 业务闭环监控
分类/回归 准确性与稳定 SMOTE / Class Weight SHAP / LIME (可解释性) 特征漂移 (Drift) 监控
推荐/排序 转化率 (CVR) 负采样策略 (Sampling) 热门垫底 / 协同过滤 A/B Test 分流验证
NLP/生成 交互体验 焦点词加权 提示词工程 (Prompt) 幻觉检测 (Hallucination)
强化学习 长期收益 奖励函数设计 (Shaping) 探索与利用 (Epsilon) 线上策略安全熔断

前向传播(Forward Propagation)

线性变换:

\[ \mathbf{z} = \mathbf{W}\mathbf{x} + \mathbf{b} \]

激活函数 (Softmax):

将输出转为概率分布,对于第 \(j\) 个类别:

\[ \hat{y}_j = \text{softmax}(z_j) = \frac{\exp(z_j)}{\sum_{k=1}^{q} \exp(z_k)} \]

损失函数(Loss Function)

交叉熵损失 (Cross-Entropy Loss):

假设真实标签的 One-hot 向量为 \(\mathbf{y}\),预测概率为 \(\mathbf{\hat{y}}\)

\[ L(\mathbf{y}, \mathbf{\hat{y}}) = -\sum_{j=1}^{q} y_j \log \hat{y}_j \]

注:在分类中,由于 \(y_j\) 只有一个位置是 1,其余是 0,公式实际简化为 \(L = -\log \hat{y}_{\text{correct\_class}}\)

反向传播(Backpropagation)

利用链式法则计算损失函数对参数的偏导数(梯度)。

  • 损失对输出层的梯度: 这是一个非常优雅的结果,Softmax 配合交叉熵求导后:

    $$ \frac{\partial L}{\partial \mathbf{z}} = \mathbf{\hat{y}} - \mathbf{y} $$ * 对参数的梯度:

    \[ \nabla_{\mathbf{W}} L = (\mathbf{\hat{y}} - \mathbf{y}) \mathbf{x}^T \]
    \[ \nabla_{\mathbf{b}} L = \mathbf{\hat{y}} - \mathbf{y} \]

参数更新(Optimization)

根据计算出的梯度,沿着减少误差的方向修正参数。

  • 随机梯度下降 (SGD) 更新法则:

    \[ \mathbf{W} \leftarrow \mathbf{W} - \eta \cdot \nabla_{\mathbf{W}} L \]
    \[ \mathbf{b} \leftarrow \mathbf{b} - \eta \cdot \nabla_{\mathbf{b}} L \]

    其中 \(\eta\) (Eta) 是 学习率 (Learning Rate)

必会知识点,待整理

机器学习基础

梯度下降

优化器 SGD Adam

过拟合处理

评估指标:准确率,F1,AUC

L1,L2正则化

ROC曲线

深度学习基础

BN, LN

Attention机制

交叉熵损失

激活函数ReLU

模型压缩技术:剪枝、量化、知识蒸馏

大模型

BERT、GPT架构

LoRA、PEFT微调

SFT

位置编码

大模型幻觉

扩散模型

DDPM,DDIM

CLIP

U-Net网络设计

工程

KV Cache

loss curve异常如何排查

如何验证模型的robustness

ablation study怎么做才有说服力

如何优化transformer-based模型的优化推理速度

Quantization的tradeoff

Sparsity的tradeoff

MLOps

MLOps的步骤

服务部署

性能优化

扩容

线上AB测试

数据工程

数据清洗

数据增强

低资源数据处理

System Design

如何设计一个支持千万级并发推理的在线LLM服务

如何做模型版本的rollout, fallback, abtest

B面

当算法和平台目标冲突时,如何协调

待整理面试知识点

  1. 向量、矩阵基本运算(加减、乘法、转置、逆)
  2. 矩阵秩、行列式、迹
  3. 特征值与特征向量
  4. 奇异值分解、概念、意义
  5. 正交矩阵、投影、子空间直观理解
  6. 随机变量、期望、方差、协方差
  7. 条件概率、贝叶斯公式
  8. 均匀、正态、伯努利、指数
  9. 最大似然估计MLE
  10. KL散度、交叉熵
  11. 梯度、链式法则
  12. 梯度下降GD
  13. 随机梯度下降SGD
  14. Adam、RMSProp的工作原理
  15. 拉格朗日乘子法
  16. 监督学习vs无监督学习
  17. 过拟合、欠拟合
  18. 正则化、L2、Dropout
  19. 损失函数、MSE、交叉熵
  20. 评价指标:Accuracy、Precision/Recall、F1
  21. 特征工程、数据标准化、归一化
  22. 前向传播
  23. 反向传播
  24. 激活函数:ReLU, Sigmoid, Tanh
  25. 优化器:SGD, Adam
  26. CNN
  27. BatchNorm, ResNet
  28. RNN
  29. LSTM
  30. Transformer
  31. PyTorch手撸代码
  32. TensorBoard/Weights&Biases记录训练过程
  33. MDP
  34. 状态、动作、奖励、价值函数
  35. 折扣因子
  36. 策略与价值函数
  37. 探索vs利用
  38. Q-learning
  39. DQN
  40. Policy Gradient
  41. Actor-Critic
  42. PPO
  43. SAC
  44. TD3
  45. Replay Buffer
  46. GAE
  47. OpenAI Gym/ Isaac Gym/ Isaac Sim/ MuJoCo
  48. Stable Baselines3训练CartPole
  49. PPO/SAC训练Walker2D&Humanoid
  50. DQN训练Atari
  51. PPO vs SAC
  52. 数组、字符串
  53. 哈希、栈、队列
  54. 链表
  55. tree
  56. graph
  57. 最短路径:dijkstra, A*
  58. 动态规划:打家劫舍
  59. 最大子序和
  60. 最长公共子序列LCS
  61. 编辑距离
  62. 二分查找
  63. 贪心

评论 #