こんにちは、ClovaチームのTungです。 Clovaは、Clova FriendsやClova Waveなどといったスマートデバイスに搭載されている私たちのAIプラットフォームです。 製品の詳細についてはこちらをご覧ください。
2018年の自然言語処理(NLP)分野において続々と発表された強力な言語モデル – ELMo、ULMFit 、OpenAI Transformer、BERTについて振り返りたいと思います。 各モデルそれぞれの内部解説はインターネット上にあったりしますが、今回は少し異なった見方を持って来ることを試みます。全モデルのアーキテクチャーの特徴を比較しながら言語学習との関係を検証した論文について紹介して行きます。
言語モデルの簡単な紹介
言語モデルとは
簡単に言えば、言語モデルは、(自然な)言語のトークンのシーケンスにわたる確率分布を計算するためのモデルです。 n-gram言語モデルのような古いモデルはある程度良い結果を達成しましたが、n 個のトークンを組み合わせた数が非常に多いため「次元の呪い」問題によって性能が厳しく制限されています。 ニューラルネットワークに基づくより新しいモデルは、分散表現、すなわち次元の呪いを軽減することができるトークンの低次元ベクトル表現を利用する。Word2vecはその有名な一例です。
なぜ言語モデルを気にするべきなのか
転移学習と呼ばれる非常に効率的な学習方法に適用できるからです。 転移学習の事前学習段階では多くのデータを、多くの場合は教師なしで、トレーニングすることができます。その後、事前にトレーニングされたモデルを適用して下流タスクを効率的に学習することができます。 これらの下流タスクは教師あり学習タスクが多いが、学習に必要なラベル付きデータが不足するケースが少なくありません。 転送学習は、事前に訓練されたモデルで膨大なデータから学んだ知識を活用することによってこの問題を解決できます。先に述べたWord2vecは実際には転移学習の一例であり、しかも様々NLPタスクに適用可能な汎用的なものです。 それ以来、研究者たちはさらに良い転移学習の方法を探し続けてきました。
2018年の言語モデル
2018年の言語モデルはどれぐらい優れているのか
さまざまなNLPタスクでstate-of-the-artを達成したという実績によって汎用性を持っていると言われています。 全4モデルの論文と公式ウェブサイトから入手可能なスコアを簡単な比較のために一箇所にまとめました。
さまざまなNLPタスクのスコア
△:公表されているタイミングで、発表済みのスコアよりも小さい
*:セットアップが異なるため正確には比較できません
タスク | 概要説明 | ELMo | OpenAI Transformer | BERT_base |
GLUE (以下の8つの小さなタスクで構成されています) | 言語理解の8つのタスクのセット | 71.0 | 72.8 | 79.6 |
⊢1.MNLI | 含意/矛盾/中立を予測する | 76.4 / 76.1 | 82.1 / 81.4 | 84.6 / 83.4 |
⊢2. QQP | Quoraで質問された2つの質問が意味的に同等かどうかを判断する | 64.8 | 70.3 | 71.2 |
⊢3. QNLI | SQuADの二値分類版:(question、sentence)ペアの文が質問に対する回答を含むかどうか | 79.9 | 88.1 | 90.1 |
⊢4. SST-2 | 映画レビューの二値文分類 | 90.4 | △91.3 | 93.5 |
⊢5. CoLA | 言語学的許容性の二値文分類 | 36.0 | 45.4 | 52.1 |
⊢6. STS-B | ニュースの見出しやその他のリソースから文のペアの意味的な類似性について1から5までのスコア付け | 73.3 | 82.0 | 85.8 |
⊢7. MRPC | オンラインニュースからの文対の意味的類似性のための二項分類 | 84.9 | △82.3 | 88.9 |
⊢8. RTE | MNLIに似たバイナリ含意タスク。ただし、トレーニングデータははるかに少ない | 56.8 | △56.0 | 66.4 |
SQuAD | ウィキペディアから質問の答えとなるテキストを見つける | 85.8 | – | 88.5 |
CoNLL NER | 名前付きエンティティの認識 | 92.2 | – | 92.4 |
SWAG | 多肢選択問題から文の含意を予測する | 59.2 | – | * 81.x |
Coref | 同じ実体を共参照するテキストを見つける(CoNLL 2012共有タスクのOntoNotes共参照) | 70.4 | – | – |
SRL | 「誰が誰に何をした」とタグ付け | 84.6 | – | – |
SNLI | 含意/矛盾/中立を予測する | 88.7 | 89.9 | – |
SciTail | 候補知識文を与えられた多肢選択式質問応答 | – | 88.3 | – |
RACE | 読解後の文章完成のための複数選択 | – | 59.0 | – |
ROCStories | 短編小説の読解後の二項選択式質問応答 | – | 86.5 | – |
COPA | 常識推論の二項選択式質問応答 | – | 78.6 | – |
アーキテクチャ比較
4つの言語モデルのうち、2つはLSTMベースで、他の2つはTransformerベースです。
では、なぜLSTMとTransformerが言語モデルの作成に使用されるのでしょうか。 以下のセクションで、それらの構造の言語能力がどのようなものであるかを調べます。
LSTM
LSTMはLong Short Term Memoryを表し、これは特殊なタイプのリカレントニューラルネットワークです。 LSTMについての非常に良い紹介が(英語ですが)ここにあります 。 アーキテクチャ的には、その再帰性はシーケンシャル処理に適しており、テキストシーケンスの処理に自然に適合します。 双方向や注意などの追加のメカニズムは、多くのNLPタスクでLSTMをさらに成功させるのに役立ちました。 ブラックボックスを解除するLSTMの学習機能に関する最近の活発な研究があります。 今日は、「Trying to Understand Recurrent Neural Networks for Language Processing」( Goldberg、Blackbox NLPワークショップEMNLP 2018 – ロードするのにしばらく時間がかかるかもしれません)で言及された論文からいくつかの重要な結果を紹介します。 詳細については、以下の原著論文を参照してください。
- LSTMは基本的で単純な言語機能を学ぶことができます( Conneau et al., ACL 2018 )
- 教師なしLSTMは構文に依存する依存関係を学習することができます( Kuncoro et al., ACL 2018 )
- LSTM学習に影響を与える効果的なコンテキスト区間があります( Khandelwal et al., ACL 2018 )
- 近所および遠方といった2種類の区間がありますさまざまな種類のトークンの予測には、多かれ少なかれコンテキストが必要ですターゲットトークンの削除と置換は、言語モデルの評価基準の一つであるperplexityに異なる影響を与えます
実用的なお持ち帰り
- LSTM、特に言語モデルの場合に使用される教師なしLSTMは、言語機能を学習できます
- コンテキストやトークンの種類によってLSTMの学習には異なる影響があります。 これはBERTのようなタスク設計する上で非常に重要な意味があると思います(後でまた戻ります)
Transformer
原著論文には「Attention is all you need」( Vaswani et al., 2017 )とキャッチーなタイトルがつけられているにもかかわらず、Transformerアーキテクチャーにおける注意メカニズムのより深い理解にはまだもっと多くの研究が必要です。Transformerの詳細を調べた興味深い論文をいくつか紹介します。 これらの論文は言語モデルとは異なるタスクであるNMT(Neural Machine Translation)に関するものですが、言語学習能力の分析にも役立つ情報を提供しています。
「Attention is all you need」の論文では、遠いコンテキストへの依存関係を効率的にモデル化する能力が注意の重要な属性と考えられています。 しかし、それはTransformerがRNN / LSTMよりも長い文脈を学ぶことができることを意味するのでしょうか?
- 「Why Self-Attention? A Targeted Evaluation of Neural Machine Translation Architectures」( Tang et al., EMNLP 2018 )
- 結果:Transformerは距離11-12でRNN-bideep( Junczys-Dowmunt et al., 2018 で実装されています )を凌駕しますが、RNN-bideepは距離13以上で同等かそれ以上の性能を発揮します
- したがって、Transformerモデルは、長距離用のRNNモデルよりも特に強力であるとは言えません
注意はTransformerで広く使われていましたが、どこでも同じ効果があるのでしょうか?
- 「How much attention do you need?」( Tobias, ACL 2018 )
- 結果:注意の重要性はTransformerのアーキテクチャ全体で同じではありません残差接続、レイヤ正規化などの他の手法も重要な役割を果たします
ではより良い結果を得るために、RNN / LSTMと、Transformer論文にあった上記手法を組み合わせることができるのでしょうか? 肯定的な答えが以下の論文に示されています。
- 「The best of both worlds」( Mia Xu Chen et al., ACL 2018 )
- 結果:RNMT+アーキテクチャはTransformerよりもさらに優れたスコアを獲得しました
もう1つの自然な疑問ですが、Transformerに基づく類似性を考えると、OpenAI TransformerとBERTの違いは何でしょうか?次の表に示すように、BERTアーキテクチャの双方向特性とBERTのタスク設定によって、BERTはコンテキストをより適切に学習できるようになると考えられます ( Githubの Google AIブログとコードの参照)
これまでに、マスク言語モデルを使用したBERTのタスク設定は、 LSTMセクションの「異なるコンテキスト」の結論にお気づきになられたかと思えます 。 TransformerのアーキテクチャーもLSTMと同様に、異なるコンテキストに対して同様の依存関係を持っていると仮定します。従って、コンテキスト編集によるタスク設定が、BERTがOpenAI Transformerよりも学習できていることを意味しています。 今年はこのトピックに関するさらなる研究を期待しましょう。
学習を移行する方法
言語モデルを事前に学習した後は、それを他の下流タスクに適用するための2つの一般的な方法があります。1つは特徴ベクトルベース、もう2つは微調整(fine-tuning)です。 原則として、両方の方法を4つのモデルすべてに使用できます。
機能ベース
この方法はタスク固有のニューラルネットワークモデルを利用します。 通常、事前に訓練された言語モデルの適切なレイヤーで構成される潜在ベクトルを追加します。 たとえば、以下の図に示すように、テキスト分類のためにELMoからCNNモデルに潜在ベクトルを追加できます。

出典:「Convolutional Neural Networks for Sentence Classification」(Kim、2014)
このモデルの長所と短所は次のとおりです。
- 長所
- 微調整よりも少ないリソースで済みます
- 短所
- 下流タスクごとにカスタマイズされたモデルが必要
- (一般的に)微調整よりも低いスコア
微調整
以下に示すように、OpenAI Transformerの例のように、事前にトレーニングされたネットワークといくつかの単純な線形レイヤの統合アーキテクチャを使用できます。 事前に訓練されたネットワークは、タスク固有のデータセット上の追加線形層とともに再訓練(微調整)されます。

出典:「Improving Language Understanding by Generative Pre-Training」(Radford et al。、2018)
このモデルの長所と短所は次のとおりです。
- 長所
- シンプルな構造
- (一般的に)機能ベースよりも高いスコア
- 短所
- 元々大きい事前訓練済みモデルを再訓練するため、より多くのリソースが必要
- (より高い得点とのトレードオフとして)提供する場合、より長い待ち時間が予想される
Summary
エンジニアリングの観点からいくつかの実用的な結論をまとめてみましょう。
- 高度な言語モデルは普遍的な言語能力を持っています
- 彼らができること、できないことのより詳細な理論は、今年の今後の研究の焦点となる可能性が高いです
- ベストプラクティスの開発はまだ完了していません
- LSTM / Transformerなどの基本コンポーネントを他の技術と組み合わせてその機能を強化することができます
- タスク設計は学習を強化するために重要な役割を果たします
- 研究とは異なり、プロダクションへの展開には慎重な設計と、生のスコアとシステムパフォーマンスとの間のトレードオフが必要になります
今年もNLPのよりエキサイティングな進歩を楽しみにしましょう!