11. 注意機構と Transformer

ディープラーニングブームの初期数年間は、主として 多層パーセプトロン、畳み込みネットワーク、再帰型ネットワーク アーキテクチャを用いて得られた成果によって牽引されていた。 驚くべきことに、2010年代のディープラーニングの 多くのブレークスルーを支えたモデルアーキテクチャは、 その前身からほぼ30年が経過していたにもかかわらず、 驚くほど少ししか変わっていなかった。 ReLU 活性化関数、残差層、バッチ正規化、ドロップアウト、 適応的学習率スケジュールなど、数多くの新しい方法論的革新が 多くの実務家のツールキットに加わったが、核となる 基盤アーキテクチャは、明らかに古典的なアイデアを 大規模化した実装として認識できるものだった。 何千もの論文が代替案を提案したにもかかわらず、 古典的な畳み込みニューラルネットワーク(7 章)に似たモデルは コンピュータビジョンにおいて state-of-the-art の地位を保ち、 Sepp Hochreiter による LSTM 再帰型ニューラルネットワークの 元の設計(10.1 章)に似たモデルは、 自然言語処理のほとんどの応用を支配していた。 言い換えれば、それまでの時点では、ディープラーニングの急速な台頭は 主として利用可能な計算資源の変化 (GPU を用いた並列計算の革新のおかげで)と、 巨大なデータ資源の利用可能性 (安価なストレージとインターネットサービスのおかげで)に 起因しているように見えた。 これらの要因が今後もこの技術の力を高める 主因であり続けるかもしれないが、 私たちは今、ついに、支配的なアーキテクチャの 景観における大きな転換を目の当たりにしている。

現時点では、ほぼすべての自然言語処理タスクにおける 支配的なモデルは Transformer アーキテクチャに基づいている。 自然言語処理の新しいタスクが与えられたときの、デフォルトの第一歩は、 大規模な Transformer ベースの事前学習済みモデル (たとえば BERT (Devlin et al., 2018)、ELECTRA (Clark et al., 2020)、RoBERTa (Liu et al., 2019)、Longformer (Beltagy et al., 2020)) を取り出し、必要に応じて出力層を適応させ、 下流タスクのために利用可能なデータでモデルを微調整することである。 ここ数年、OpenAI の 大規模言語モデルを中心とした息の詰まるようなニュース報道に注目してきたなら、 GPT-2 および GPT-3 の Transformer ベースモデル (Brown et al., 2020, Radford et al., 2019) を中心とする議論を追ってきたことになる。 一方、Vision Transformer は、 画像認識、物体検出、意味的セグメンテーション、超解像など、 多様な視覚タスクに対するデフォルトモデルとして登場した (Dosovitskiy et al., 2021, Liu et al., 2021)。 Transformer はまた、音声認識 (Gulati et al., 2020)、 強化学習 (Chen et al., 2021)、 グラフニューラルネットワーク (Dwivedi and Bresson, 2020) においても競争力のある手法として現れた。

Transformer モデルの核となるアイデアは 注意機構 であり、 これはもともと、機械翻訳のような 系列変換アプリケーションに適用されるエンコーダ–デコーダ RNN の 拡張として構想されたものである (Bahdanau et al., 2014)。 機械翻訳の最初期の sequence-to-sequence モデル (Sutskever et al., 2014) では、入力全体がエンコーダによって 単一の固定長ベクトルに圧縮され、それがデコーダに渡されていたことを 思い出してほしい。 注意機構の直感は、入力を圧縮するよりも、 デコーダが各ステップで入力系列を再訪するほうがよいかもしれない、 というものである。 さらに、常に同じ入力表現を見るのではなく、 デコーダは特定のデコードステップで入力系列の特定部分に 選択的に焦点を当てるべきだと考えられる。 Bahdanau の注意機構は、デコーダが各デコードステップで 入力の異なる部分に動的に 注意を向ける ための 簡潔な手段を提供した。 高レベルの考え方は、エンコーダが元の入力系列の長さに等しい 表現を生成できるというものである。 そしてデコード時には、デコーダは(何らかの制御機構を介して) 各時刻の入力表現の重み付き和からなるコンテキストベクトルを 入力として受け取ることができる。 直感的には、重みは各ステップのコンテキストが 各入力トークンにどの程度「焦点を当てる」かを決定し、 重要なのは、この重み付けの過程を 微分可能にして、 他のすべてのニューラルネットワークパラメータとともに 学習できるようにすることである。

当初、このアイデアは、すでに機械翻訳アプリケーションを支配していた 再帰型ニューラルネットワークに対する 驚くほど成功した拡張だった。 モデルは、元のエンコーダ–デコーダ sequence-to-sequence アーキテクチャよりも 良い性能を示した。 さらに、注意重みのパターンを調べることで、 いくつかの興味深い定性的洞察が しばしば得られることが研究者によって指摘された。 翻訳タスクでは、注意モデルは ターゲット言語で対応する単語を生成するときに、 しばしば言語間の同義語に高い注意重みを割り当てた。 たとえば、文 “my feet hurt” を “j’ai mal au pieds” に翻訳する際、ニューラルネットワークは 対応するフランス語の単語 “pieds” を生成するときに “feet” の表現に高い注意重みを割り当てるかもしれない。 こうした洞察は、注意モデルが「解釈可能性」をもたらすという主張を後押ししたが、 注意重みが正確に何を意味するのか――すなわち、 それらをどのように、あるいはそもそも 解釈 すべきなのか――は、 依然として曖昧な研究テーマである。

しかし、注意機構はやがて、 エンコーダ–デコーダ再帰型ニューラルネットワークの拡張としての有用性や、 顕著な入力を見つけ出すための有望性を超えて、 より重要な関心事として浮上した。 Vaswani et al. (2017) は 機械翻訳のために Transformer アーキテクチャを提案し、 再帰接続を完全に排除して、 その代わりに巧みに配置された注意機構に依存して 入力トークンと出力トークンのあらゆる関係を捉えた。 このアーキテクチャは驚くほどうまく機能し、 2018年までに Transformer は 大半の state-of-the-art 自然言語処理システムに登場するようになった。 さらに同時期に、自然言語処理における支配的な実践は、 巨大な汎用コーパス上で大規模モデルを事前学習し、 何らかの自己教師あり事前学習目的を最適化したうえで、 利用可能な下流データを用いて それらのモデルを微調整することになった。 Transformer と従来アーキテクチャとのギャップは、 この事前学習パラダイムで適用したときに特に大きくなり、 そのため Transformer の台頭は、 現在しばしば foundation models と呼ばれる このような大規模事前学習モデルの台頭と 一致していた (Bommasani et al., 2021)

この章では、最も基本的な直感と このアイデアの最も単純な実装から始めて、 注意モデルを紹介する。 その後、Transformer アーキテクチャ、 Vision Transformer、そして 現代の Transformer ベース事前学習モデルの全体像へと進んでいく。