突破瓶颈,打造更强大的Transformer - 科学空间|Scientific Spaces
为什么**“输入部分的留意力改为双向不会带来收益”呢?明显输入部分不需要考虑自回归生成,直觉上应该完备的留意力矩阵更好呀?笔者猜测,这很大概是由于双向留意力的低秩问题**带来的效果下降。
Attention矩阵一般是由一个低秩分解的矩阵加softmax而来,详细来说是一个 n × d n×d n×d 的矩阵与 d × n d×n d×n 的矩阵相乘后再加softmax(在NLP问题中 n ≫ d n≫d n≫d),这种形式的Attention的矩阵由于低秩问题而带来表达能力的下降,详细分析可以参考《Attention is Not All You Need: Pure Attention Loses Rank Doubly Exponentially with Depth》。而Decoder-only架构的Attention矩阵是一个下三角阵,留意三角阵的行列式等于它对角线元素之积,由于softmax的存在,对角线一定都是正数,所以它的行列式一定是正数,即Decoder-only架构的Attention矩阵一定是满秩的!满秩意味着理论上有更强的表达能力,也就是说,Decoder-only架构的Attention矩阵在理论上具有更强的表达能力,改为双向留意力反而会变得不足。
另有个间接支持这一观点的现象,那就是线性Attention在语言模型任务上(单向留意力)与标准Attention的差距,小于它在MLM任务上(双向留意力)与标准Attention的差距,也就是说,线性Attention在双向留意力任务上的效果相对更差。这是由于线性Attention在做语言模型任务时,它的Attention矩阵跟标准Attention一样都是满秩的下三角阵;在做MLM任务时,线性Attention矩阵的秩比标准Attention矩阵更低(线性Attention是 n × d n×d n×d 的矩阵与 d × n d×n d×n 的矩阵的秩不凌驾d,标准Attention是n×d的矩阵与d×n的矩阵相乘后加softmax,softmax会有一定的升秩作用,参考《Transformer升级之路:3、从Performer到线性Attention》中的“低秩问题”一节及批评区)。
反过来,这个结论能不能用来改进像BERT如许的双向留意力模型呢?思绪并不难想,好比在Multi-Head Attention中,一半Head的Attention矩阵截断为下三角阵(正向留意力),另一半Head的Attention矩阵截断为上三角阵(反向留意力);又或者说奇数层的Attention矩阵截断为下三角阵(正向留意力),偶数层的Attention矩阵截断为上三角阵(反向留意力)。这两种设计都可以既保持模型团体交互的双向性(而不是像GPT一样,前一个token无法跟后一个token交互),又融合单向留意力的满秩长处。
笔者也简朴做了对比实行,发现正反向混合的留意力在MLM任务上是比像BERT如许的全双向留意力模型效果稍微要好点的: