AttentionがないのにTransformerは活躍するのか?!
3つの要点
✔️ Transformerのアーキテクチャを変更してMLPのみを使用
✔️ Attentionがさほど重要な要素ではないことが判明
✔️ 現在のtransformerよりも優れた性能、または同等の性能を発揮
Pay Attention to MLPs
written by Hanxiao Liu, Zihang Dai, David R. So, Quoc V. Le
(Submitted on 17 May 2021 (v1), last revised 1 Jun 2021 (this version, v2))
Comments: Accepted by arxiv.
Subjects: Machine Learning (cs.LG); Computation and Language (cs.CL); Computer Vision and Pattern Recognition (cs.CV)
code:
はじめに
Transformerは、NLPやコンピュータビジョンの分野で広く受け入れられています。TransformerはRNNの代替として成功しており、近い将来CNNの代替となる可能性も示唆されていました。Transformerの核となるのはself-attentionです。Transformer(attention)は入力表現に基づいて動的にパラメータ化することができるため、帰納的なバイアスがかかります。帰納的バイアスとは、学習データには出てこないデータを予測するために必要な制約になります。それにもかかわらず、MLPは普遍的な近似器であることが知られており、理論的には、その静的なパラメータの決定により、どんな関数でも表現できるはずです。
本論文では、「gMLP」と呼ばれる、multiplicative gatingを備えたMLPを利用する、attention-free transformerの新種を紹介します。視覚やNLPの主要なタスクでテストしたところ、これらのtransformerは、最先端のtransformerに匹敵する性能を達成することができました。transformerと同様に、これらのモデルの性能は、モデルサイズを大きくすることで向上し、十分に大きなモデルであれば、あらゆるデータに適合させることができます。
提案モデル:gMLP
モデルは、L個の同一ブロックのスタックで構成されています。各ブロックは次のように与えられます。
Z = σ(XU)
Z' = s(Z)
Y = Z'V
ここでσはGELUのような活性化関数、X ∈ Rnxdは入力表現で、nは入力シーケンスの長さ,dは隠れチャネルの次元です。UとVは線形変換です。関数's(.)'は、空間的な相互作用を捉え、それが恒等関数であるときは、FFN(Feed Forward Network)として動作します。
BERTと同じ入力および出力形式を適用し、分類タスクには同様の<cls>トークンを使用し、同様のパディングを行います。ただし、位置情報は「s(.)」の内部に取り込まれるため、gMLPの場合、位置の埋め込みは不要です。
Spatial Gating Unit(SGU)
関数s(.)は、トークン間の相互作用を最大化するように選択する必要があります。最も単純な選択は、線形投影です。
F = WZ+b
ここでWはnxnサイズの行列で、nは配列長です。行列Zは、チャネル次元に沿って2つの部分(Z1,Z2)に分割され、GLUsと同様に、一方の部分がFを用いて変換されます。得られた投影は、もう一方の分割部分に乗算され、ゲートとして機能します。重みWを0に非常に近い値で、bを1に等しく初期化する必要があることが判明しています。これにより、s(.)は初期状態ではアイデンティティ操作として機能します。
画像分類
gMLPは、外部データを一切使用せずにImageNet上で学習し、ViT、DeiTなどの最近のvision transformersや、いくつかのCNNと比較しました。gMLPは、以下のようなサイズの異なる3種類のアーキテクチャを構築しています。
画像はViTと同様に16x16のパッチに変換し、DeiTと同様に正則化を用いてオーバーフィッティングを防止しています。また、stochastic depthの生存確率のチューニングを除き、3つのモデル間で過度なモデルチューニングは行いません。
上のプロットは、attention-freeモデルがself-attentionモデルと同じくらい効果的であることを示唆しています。適切な正則化を行えば、精度はattentionの使用よりもモデルサイズに依存していることがわかります。
Masked Language Modeling
gMLPモデルの学習には、MLM(Masked Language Modeling)を用いています。入力/出力形式は、BERTと同様に構築しています。BERTとは異なり、<pad> トークンは、モデルがすぐに無視することを学習できるため、マスキングする必要はありません。また、MLMでは、入力配列のいかなるオフセットも、モデルが生成する結果に影響を与えてはならない(shift-invariance と呼ばれる)。この制約を利用して、SGU層の線形変換は、深さ方向の畳み込みとして機能し、受容野はシーケンス全体をカバーします。しかし、深さ方向の畳み込みとは異なり、この層はすべてのチャンネルで同じパラメータ(W)を学習します。gMLPは手動で制約をかけなくても、自動的にshift-invarianceを学習することが判明しました。
gMLPにおけるgatingの重要性
BERTのバリエーションや、SGU層のいくつかの機能を使って、アブレーション研究を行いました。
Multiplicative split gMLP は、他のバリエーションよりも優れていることがわかります。また、最強のBERTモデルの性能は、gMLPモデルをスケーリングすることで、一致させることができます(次のセクションで説明)。
モデルサイズによるgMLPの挙動
モデルのサイズが性能にどのような影響を与えるかについて調査を行いました。そして、これらのモデルを2つのデータセットでテストしました。MNLI(Multi-Genre Natural Language Inference)とSST-2(Stanford Sentiment Treebank)です。
この表から、十分にスケーリングされたgMLPは、それぞれの場合において、transformerと同等かそれ以上の性能を発揮することがわかります。一般的に、transformerとgMLPの両方において、perplexityとモデルparams(M)はべき乗則に従うことがわかりました。
Fine-TuningにおけるAttentionの有用性
本論文のこれまでの証拠から、MLMで良い結果を出すためにself-attentionは絶対に必要であるわけではないということが示唆されています。それにもかかわらず、上の表は、gMLPモデルがSST-2のような1文のタスクでは良い性能を発揮するものの、MNLIデータセットの場合のような複数文のタスクを扱う場合には、性能が低いことを示しています。したがって、cross-sentence alignmentにおいては、self-attentionが重要であると考えられます。
この疑念を確かめるために、モデルのgating機能に、小さなself-attentionブロックを付けたハイブリッドモデルを作りました。これは、通常のモデルが12個のアテンションヘッドを持ち、全体のサイズが768であるのに対し、64個のサイズを持つシングルヘッドのレイヤーであることから、tinyと呼んでいます。このハイブリッドモデルをaMLP(attention MLP)と呼んでいます。
このように、tiny attentionが実際にモデルを助け、aMLPがtransformerやgMLPよりも優れた性能を発揮します。
上の表はBERT、gMLP、および aMLPの最終的な比較を示しています。SQUADやMNLIのような多文タスクでは、gMLPはまだかなりの性能を発揮していますが、aMLPはより有益であることがわかります。サイズ64~128のsmall attention headsを使用するだけで、驚くほど効果があります。
まとめ
十分に大きなgMLPは、self-attentionを持つtransformerよりも性能が高いことがわかりました。さらに、self-attentionを加えることで、モデルを拡大する必要がなくなります。self-attentionが成功しているにもかかわらず、何がそれを効果的にしているのかはまだ不明です。この論文では、attentionは実際には大きな要因ではなく、ほんの少しの注意力で十分であることを明らかにしています。transformerの本質的な構成要素をより深く理解することで、将来的にはより優れたモデルを作ることができるでしょう。
この記事に関するカテゴリー