动手(每一问都能用上面的矩阵当场做出来):
- 先点「正文那个例子」。这就是书上手算的那组数——核对一下你算的结果。
- 点「只让自己可见」,看热力图变成什么样。想想:这样的注意力还有什么用?
- 点「所有位置一样」,此时权重全是 1/3。再看输出那一栏——它等于什么?
- 点「制造一个尖锐分布」,然后把 K 里第一行的两个数改成两倍。
观察 softmax 的熵怎么变。这就是正文里"缩放因子在防的那个东西"的小型版。
- 把 V 的三行改成 [1,0]、[0,1]、[1,1],再把 Q 的第三行改成 [1,0],
并取消勾选「除以 √d_k」。输出应该正好是 [1.267, 0.733]——
和书上手算的第三个位置完全一致。
- 再勾上缩放,看同一组矩阵的输出变成了 [1.203, 0.797]。
缩放改变了结果——但改变得不多。想想为什么在 d=2 时影响这么小,
而正文的案例在 d=256 时却是天壤之别。
注意掩码:位置 i 只能看到 j ≤ i,所以热力图的上三角永远是空的。