2021年で面白かったTransformer関連論文

この記事はみらい翻訳アドベントカレンダー14日目の記事です。

2021年も終わりを迎える中、個人的には転職してからちょうど1年経ちました。

機械翻訳の研究開発に携わることもあり、自然言語処理や深層学習全般を中心にいろいろな論文を読んだ一年でした。

年末にありがちな今年の論文BEST10のようなランキングを作ってみようと考えたが、選定とランキング基準がなかなか定まらず、それだけで数日かかりそうだったので、Transformer関連論文に絞ってまとめてみようと思います。

今年も昨年に続きTransformer is all you needの色が一層強くなったと感じます。Transformer自体は自然言語処理を題材に提案されたモデルですが、最近は画像領域や音声領域でも高い性能を発揮しています。 強く注目されているモデルということもあり、構造の細部にフォーカスした多くの研究がありましたので、その一部を紹介したいと思います。

Attention関連

Attention Is All You Needのタイトルが示すように、TransformerはAttentionが中心的な役割を果たすと考えられてきました。 ところが昨年から従来考えられてきたAttentionの役割を覆す研究が出現し、従来のAttentionに代わる構造がいくつか提案されました。

  • Synthesizer: Rethinking Self-Attention in Transformer Models

    • TransformerのAttention層を学習させることなく、ランダムな値を維持した状態でも学習させた場合と比べてあまり精度劣化しないという衝撃的な実験結果を明らかにしました。
    • これまではTransformerの心臓部と考えられたAttentionでしたが、実はそれほど重要ではないかもしれないという問題提起を行った重要な論文です。これを機にAttentionの再考がされはじめた印象があります。
  • Pay Attention to MLPs

    • Attention内のクエリーとキーのsoftmax計算をすることなく、入力に対する残差計算をそのままに、シンプルなゲート構造を導入することで、softmax計算を排除したgMLP構造を提案。
    • オリジナルのTransformerと同程度の性能を維持しつつ、少数のパラメータと推論時間の高速化を実現。
    • タイトルと論文中ではMLPを強調していることから、MLPがTransformerを代替えしたと勘違いがちですが、提案されたモデルの構造は極めてTransformerに似ているので、正確にはAttentionの代替といったところでしょう。
    • また、gMLP構造では入力の空間情報を利用できることで、位置エンコーディングが不要になるという性質はとても興味深いです。これに関する研究はまだまだ多くされる予感がします。
  • FNet: Mixing Tokens with Fourier Transforms

    • gMLPと同様に、Attention内部のsoftmax計算の代わりにフーリエ変換を適用したモデルです。
    • フーリエ変換処理ではパラメータを学習させる必要がないため、学習や推論時は速度は大きく向上します。一般的にはオリジナルのTransformerと比較すると精度は劣るが、入力系列が長いほど精度が向上するのは興味深いです。

位置エンコーディング

Attentionに注目が集まりやすいTransformerですが、位置エンコーディングも陰でいろいろ工夫されてきました。

Transformerで採用された位置エンコーディング三角関数を用いて各トークンが系列における絶対位置を表現します。BERT以降は位置エンコーディング自体を学習させたり、絶対位置ではなく相対位置を利用するといった工夫がなされてきました。一方それらの工夫に関する詳細な説明は割愛されることが多く、位置エンコーディングに対しては個人的に理解が曖昧な存在でした。

文字レベル分割

自然言語処理では昔から単語分割は変わらず重要な位置づけです。コーパスサイズが大きいほど語彙の扱いが難しくなり、推論時の未知語問題を考えなければなりません。 近年ではサブワードの登場により、語彙に関する悩みは減りましたが、それでも語彙集や分割手法に気を配る必要があります。

こういった背景から、単語ではなく文字単位を用いることで全体の処理が簡潔化され、一連の処理をエンドツーエンドで完結させることが期待されます。文字単位の問題点としては、1文字が1トークンとして扱われることにより、一度で処理できる系列の長さが限られてしまうことです。前述でも述べましたが、一般的にTransformerでは系列の長さに対してO(n2)の計算量が要されるので、この問題点は無視できません。

Transformerを用いながら、効率的に文字単位の分割を処理できる論文が注目を浴びました。

  • CANINE: Pre-training an Efficient Tokenization-Free Encoder for Language Representation

    • Transformerモデルで文字レベルの入力をうまく扱うモデルです。
    • 入力文の各文字に対して複数のハッシュ化を通じて数値化し、それらを連結して文の数値表現とする。
    • Attentionは対象は文字トークンの前後一定幅のみ計算したのち、複数の文字トークンに対して一定幅で畳み込みを行うことで疑似的に単語にあたる表現を得る。
      • 入力サイズが2048の場合、ストライド幅4にすることでサイズが512になる。
    • その表現をTransformerへ入力することで、あらゆるタスクが一般的な事前学習されたモデルに対する微調整と同様に扱うことができます。
  • Charformer: Fast Character Transformers via Gradient-based Subword Tokenization

    • CANINEと同様なモチベーションをもとに、Transformer内で尤もらしい分割を学習させるモデル。
    • ソフトな単語分割も許容しており、ハードな分割であるサブワードよりも柔軟な表現が期待できそうです。

微調整

事前学習された言語モデルを用いた微調整では、タスクごとに専用モデルが必要だったり、微調整の過程で事前学習された知識の忘却が発生するといった問題があります。

これに対して、Adapterと呼ばれる微調整の仕組みが興味深いです。

  • Parameter-Efficient Transfer Learning for NLP
    • 学習済みのTransformerのパラメータを固定し、Transformer内にAdapter Layerと呼ばれる残差接続を持つブロックを挿入し、これのみ学習させる。
    • これにより、複数のタスクを解く際は事前学習された言語モデルを一切変更することなく、Adapter Layerのみを差し替えることで小量なリソースで多くのタスク が対応可能に。
    • (この論文自体は少し前のものだが、最近ではAdapterを発展させた手法が多く提案されています)

まとめ

無作為に興味を持った論文を選びましたが、なんと全部Googleの研究者によるものでした。改めて自然言語処理研究におけるGoogle社の存在の大きさを感じました。

Transformerベースの大規模言語モデルの登場により多くのタスクのSOTAが立て続けに更新され続けたことで、最近はモデルのサイズばかりに注目が集まる傾向があるように感じます。 単純なパラメータ数増加のみならず、上で紹介したようなTransformerの内部構造に関する研究はとても面白いので、来年も引き続き面白い論文と出会えることに期待しています。