Skip to content

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 的关系是一样的。

换句话说,这是为了破坏矩阵的对称性,从而让他表达能力更强。

Comments