はじめに
この記事では、2024年10月7日に登場したばかりの新しい機構、
arXiv:2410.05258
において提唱されたDifferential Attentionの解説をします。
本解説では実装できるレベル感の解説をします。
Differential Transformer (以下DiT) 概要
この機構は、従来のTransformerで問題となっていた、重要ではない無関係な情報にも注目度をふってしまうことを改善するために作られた機構ということです。
様々な条件下で、従来のTransoformerより性能が良いことが示されています。
機構解説
$DifferentialAttention(Q, K, V) = Linear(GroupeNorm([Softmax(\frac{Q{_1}K{_1}^T}{\sqrt{d{_k}}}) - λSoftmax(\frac{Q{_2}K{_2}^T}{\sqrt{d{_k}}})]V))$
DifferentialAttention(以下DiA)では、全結合層を通った後のQuery・Keyのテーブル上で無関係な情報に付与される注目度を減らすために、重みを共有しないもう一つのQuery・Keyテーブル(以下QKテーブル)を用意します。
1つ目のQKテーブルから、二つ目のQKテーブルの値を引くことで、必要な情報以外を減らすことができるという差動アンプと似ている手法が使われています。
この手法を採用すると、下のグラフで示されているようにノイズキャンセリングのように無関係なところに割り振られるノイズを減らす効果が確認されています。
引用元 https://arxiv.org/html/2410.05258v1/
そして、減算部分の系数$λ$については、学習パラメータとのことです。
これ以外は通常のTransformerとおおむね同様のようです。
性能の根拠 引用元 https://arxiv.org/html/2410.05258v1/
終わりに
「いやはや、ノイキャンを応用するというアイデアは恐れ入った汗」という感想ですね笑
私としては、脳神経系の、とあるニューロンが発火したら、逆の作用をするニューロンを抑制するという現象と似ていて面白いなと感じました。
もし間違い等あればコメントください。
本当に素晴らしい技術を生み出してくださった論文の著者に感謝です!!