文件名 encoder-only容易退化低秩.md

encoder-only容易退化低秩

本文目录

正文

相较于decoder-only,encoder-only在训练过程中更容易退化为低秩。

  • 低秩: 现在假设你的表格有 5 列,但其中有 3 列的信息是重复的,或者可以由另外两列推算出来。比如,一列是“身高(cm)”,另一列是“身高(inch)”,这两列信息是重复的。如果你的表格只有 2 列是独立的,另外 3 列都是冗余的,那么这个表格就是“低秩”的。低秩代表着信息有冗余、不丰富
  • 秩: 假设你有一个表格,有 5 列数据,每一列都包含了独一无二、无法从其他列推导出来的信息。比如,一列是“身高”,一列是“体重”,一列是“年龄”,这三列信息是独立的。如果你的表格有 5 列,而且这 5 列都是完全独立的,那么这个表格就是满秩的。满秩代表着信息丰富、没有冗余

退化为低秩的原因

  • 出现低秩的原因,主要是由于encoder-only采用双向注意力,decoder-only采用causal注意力是单向的。
  • Encoder-only 的双向注意力:每个 token 都可以看到所有 token。这听起来很好,但有时会过犹不及。就像在一个会议上,每个人都可以自由发言,但如果大家都在说一些重复、没有新意的话,整个会议的讨论质量就会下降。
  • 模型退化:在训练过程中,模型为了找到一个简单的、能快速收敛的解,可能会让注意力矩阵中的大部分行(即 token 的注意力分布)变得非常相似,只关注了几个“重要”的 token。这样一来,虽然模型能完成任务,但它的信息表达变得非常单调,丢失了捕捉细微差别的能力。这就会导致矩阵“退化”成了“低秩”

个人理解

  • 低秩肯定是不好的,容易导致模型学不到真正有用的东西。
  • 当一个模型或矩阵退化为低秩,就是指它原本应该具有的丰富、多样的信息表达能力,在训练过程中逐渐减弱,变得单一、僵化。
  • 模型在训练的过程中,为了尽快达到最优值(根据优化目标而定),可能在不断迭代训练中发现,只关注某几个token就能达到最好的效果,这属于模型走”捷径”。但我们不希望训练的模型,采用这种方式。这种方式会忽视完整的上下文。
  • 双向注意力关注的范围更广,发现“某几个重要token”的机会也就更多。因此 双向注意力要比单向注意力更容易出现低秩退化的问题。
  • 退化的主要是注意力权重矩阵。

###