自然言語をコンピュータで処理する自然言語処理技術について。
目次
事前学習モデル
概要
- 画像認識分野:以前より、大規模データで「事前学習(pre-training)」したモデルを、特定カテゴリの小規模なデータを使って「転移学習(transfer learning)」することで、高精度に認識を行うことが可能
- 2018年、自然言語処理分野においても、「事前学習」+「転移学習」により、様々な応用タスクを高精度に解くことができるモデルが提案された
- 「word2vec」「ELMo」も大規模データで学習しているが、タスクに応じた別のニューラルネットワークが必要となる
- 「GPT」「BERT」は、事前学習と同じモデルを使って応用タスクを解くことができる
→”事前学習モデル”といえば、一般的には、「GPT」「BERT」をいい、「word2vec」「ELMo」は含まれない
GPT(Generative Pre-Training)
- OpenAIが開発した事前学習モデル
- 大規模なコーパスを用いた言語モデルの学習
- トランスフォーマーのデコーダと似た構造を持ったネットワークを用いている
(将来の単語情報は使わないため、エンコーダは使わない) - 転移学習によって、「評判分析(sentiment analysis)」タスクを解くことができる
- 事前学習と転移学習とまったく同じモデルを用いることができる
- 「Self-Attention」を利用している
(エンコーダは使わないため、「Source-Target Attention」はなし) - ①評判分析
②自然言語推論(NLI:Natural Language Inference)、含意関係認識(RTE:Recognaizing Textual Entailment)
③質問応答(question answering)
④常識推論(commonsense reasoning)
⑤意味的類似度(semantic similarity)
⑥文書分類(document classification) - 「言語理解タスク」
- データセット:「GLUE:General Language Understanding Evaluationベンチマーク」
※それ以外にも、様々な言語理解タスクのデータセットが公開されている
BERT(Bidirectional Encoder Representations from Transformers)
- Googleが開発した事前学習モデル
- 大規模なコーパスを用いてこれら2種類のタスクを解き、事前学習を行う
(未来から現在までも合わせて両方向(Bidirectional)の情報を同時に使うことができ、通常言語モデルの事前学習よりも強力であることが期待される) - トランスフォーマーのエンコーダを利用している
- 「Masked Language Model(MLM)」「Next Sentence Prediction(NSP)」により事前学習を行う
※MLM:文内の単語のうち一部をマスクして見えない状態で入力し、マスクされた単語を予測させるタスク
※NSP:2つの文をつなげて入力、2つの文が連続する文かどうかを判定するタスク - ①品詞タグ付け
②固有表現解析
③SQuAD(Stanford Question Ansewering Dataset) - 「SEP(separate)」という文区切りを表す特別なトークンで結合したものに、先頭に「CLS(classification)」という特別なトークンを付加したものを入力し、マスクされた単語は「MASK」というトークンに置き換わる。
- 「MASK」の最終状態を使ってMLMを行い、「CLS」の最終状態を使ってNSPを行う。
- 「CLS」トークンの最終状態には文全体の情報など分類問題を解くために必要な情報が保存、これを使って、事前学習ではNSP、転移学習ではGPTで解くことができた様々な応用タスクを解くことができる