Skip to the content.

面试问题整理

23 Apr 2025

代码题整理,可用于快速检查思路

二分类任务评价指标

过拟合

梯度爆炸和梯度消失

优化算法

这里需要注意我们为什么在计算得到 attention scores 之后需要对其进行缩放 scale 呢?

其中最重要的一点就是为了控制注意力权重的尺度,避免梯度爆炸和梯度消失。 因为对于点积而言,嵌入的维度越大,那么得到的 attention score 就容易会有极端值。这是因为,我们假设点积中每一个元素都是独立同分布的(例如均值为 0,方差为 1 的高斯分布)。 那么在点积之后的方差可以表示为 : Var(ab) = Var(a1b1 + a2b2 + … + aNbN) 因为都是独立同分布,那么可以进一步成 Var(ab) = Var(a1b1) + Var(a2b2) + … + Var(aNbN) 而又有 Var(a1b1) = Var(a1)Var(b1) + Var(a1)E(b1^2) + Var(b1)E(a1^2) 其中对于均值为 0,方差为 1 的分布,期望都为 0,因此Var(a1b1) = 1,所以Var(ab) = N ,即点积之后的方差与 embedding 的维度成正比。而期望的话因为都是零,所以没有改变。这就会导致点积的结果的绝对值会随着维度的增加而变大,从而导致在 softmax 后梯度变得极小或者极大,影响模型的训练。而如果我们除以 根号(N) 就能消除这种影响。

熵相关的概念