Transformer 问与答
复制本地路径 | 在线编辑

FFN 层是什么,没看到啊
FFN 就是图中的 Feed Forward Network,也就是全连接层。
\[
FFN(x) = \max(0, xW_1 + b_1)W_2 + b_2
\]
为什么transformer的FFN需要先升维再降维?
链接:https://www.zhihu.com/question/665731716
为什么transformer的FFN需要先升维再降维? - pinnacle的回答 - 知乎
https://www.zhihu.com/question/665731716/answer/1888209852712600269
总结而言,就是激活函数 ReLU 把某些地方变成 0 值,导致矩阵降秩,所以要是矩阵降秩低于 m 的概率小,就要求 n 大于 2m,也就是升维。
为什么要有 Q 和 K 分开两种
链接:https://www.zhihu.com/question/1934742507746464833
Query 和 Key 在注意力机制中长得几乎一模一样,为什么还要分开? - kizz的回答 - 知乎
https://www.zhihu.com/question/1934742507746464833/answer/1936005009071383925
总结而言,如果只用一种,即 Q1 和 Q2、Q3... 计算的结果就是 token 之间的关联性,那么这种关联性表达效果会很不好。因为这是对称的,即 tokenA 和 tokenB 的关系、tokenB 和 tokenA 的关系是一样的。
换句话说,这是为了破坏矩阵的对称性,从而让他表达能力更强。