見出し画像

自然言語処理の深層学習モデル

自然言語処理の主要な深層学習モデルをまとめました。

1. RNN (1986年)

RNN」(Recurrent Nural Network)は、入出力で時系列データを扱えるモデルです。主に自然言語処理、動画分類、音声認識でよく利用されます。Transformer以前は、Google翻訳などの機械翻訳で利用されていました。

このモデルの特徴は、中間層が再帰構造を持つことです。

画像2

前時刻の中間層の出力を考慮して、現時刻の中間層の出力を計算することができます。

画像2

2. Seq2Seq (2014年)

Seq2Seq」(Sequence-to-Sequence)は、系列(シーケンス)から別の系列に変換するRNNベースのモデルです。主に機械翻訳(英語の文章→日本語の文章)、要約(元の文章→要約文)、対話(自分の発言→相手の発言)でよく利用されます。

このモデルの特徴は、文章などの入力を圧縮する「encoder」と、出力を展開する「decoder」を持つことです。

画像3

3. Attention (2015年)

Attention」は、時系列データの特定の部分に注意を向けるように学習させる仕組みです。

「Seq2Seq」は、短い文章であれば高精度に翻訳できますが、文章が長くなると精度が落ちるという欠点がありました。「encoder」の長さが固定されるため、長い文章を入れると情報が溢れて情報が喪失されるのが原因になります。この問題を解決するために生まれた手法が「Attention」になります。

「Attention」の主な変更点は、次の2つです。

(1) 全てのencoderの情報をdecoderに渡す
「Seq2Seq」では最後のencoderの情報だけをdecoderに渡しますが、Attentionでは全てのencoderの情報を渡します。

画像4

(2) encoderからの情報の重要度のスコア付け
encoderからの情報の重要度のスコア付けを行い、スコアの高い情報のみ、decoderで利用するようにします。

4. Transformer (2017年)

「Transformer」は、「Seq2Seq」と同様に系列(シーケンス)を受け取り、別の系列へ変換するモデルで、「RNN」を使わず「Attention」のみで構築したモデルです。現在、Google翻訳などの機械翻訳で利用されています。

「Seq2Seq」のencoderとdecoderは「RNN」を利用します。しかし、「RNN」はデータを順番に入力する必要があるため、学習に時間がかかります。この問題を解決するために生まれたモデルが「Transformer」です。GPUを利用した学習の並列化が可能になり、大規模な自然言語処理モデルを作成できるようになりました。

「Transformer」の主な変更点は、次の2つです。

(1) 複数のencoderとdecoderを重ねる
複数のencoderとdecoderを重ねることにより、複雑なタスクに対応することが可能になります。

画像5

(2) encoderとdecoderをRNNではなくAttentionにする
これによって、学習の並列化が容易になりました。

5. BERT (2018年)

BERT」は、様々な自然言語処理タスクで高精度なTransformerベースのモデルです。自然言語処理のベンチマークにおいて人間のスコアを上回ったことで、話題になりました。

「BERT」はTransformerのencoder部分を重ねた構造のモデルです。encoder部分を利用するため、空白に単語を埋めるのが得意になります。

さらに、「ファインチューニング」により、少ない学習データと学習時間での学習も可能です。

◎ 事前学習
「事前学習」では、大量のラベルなしの学習データによって、汎用的な言語ルールを学習します。非常に時間がかかりますが、1回学習すれば様々なタスクのファインチューニングで再利用できます。

◎ ファインチューニング

「ファインチューニング」では、事前学習済みモデルをベースに、個別タスクにあわせて追加学習します。ゼロからの学習と比べて、少量のラベル付き学習データで、短時間で学習できます。

6. GPT-2 (2019年)

GPT-2」は、テキスト生成が得意なTransformerベースのモデルです。人間が書いたかのようなテキストを生成できるため、悪用が危惧され、論文公開が延期されたことで話題になりました。

・GPT-2 (small) : 124Mパラメータ
・GPT-2 (medium) : 355M
パラメータ
・GPT-2 (large) : 774M
パラメータ
・GPT-2 (xl) : 1.5B
パラメータ

「GPT-2」はdecoder部分を重ねた構造のモデルです。decoder部分を利用するため、次の単語を予測するのが得意になります。

「GPT-2」では、事前学習モデルの利用方法として、「ファインチューニング」に加えて「Zero-shot」が提案されています。「Zero-shot」について詳しくは、「GPT-3」でまとめて説明します。

7. T5 (2019年)

T5」はテキストをテキストに変換するTransformerベースのモデルです。学習データを変えるだけで、「質問回答」「要約」「翻訳」などの様々な自然言語処理タスクを同じモデルで解けるのが特徴になります。Transformerのencoder部分とdecoder部分を両方使用する構造のモデルになります。

・質問回答 : 入力「質問」 → 出力「回答」
・要約 : 入力「文章」 → 出力「要約」
・翻訳
 : 入力「英語」 → 出力「日本語」

画像8

8. GPT-3 (2020年)

GPT-3」は、テキスト生成が得意なTransformerベースのモデルの次期バージョンです。パラメータ数が「GPT-2」の117倍と非常に大きいのが特徴です。

・GPT-3 : 175Bパラメータ

「GPT-3」では、事前学習モデルの利用方法として、「ファインチューニング」に加えて「Few-Shot」「One-Shot」「Zero-Shot」が提案されています。

◎ Few-shot
モデルにタスクの例をいくつか与える手法です。ファインチューニングと異なり、タスクの例を与えた時に、学習(パラメータ更新)しません。やり方を教えてもらうイメージになります。

One-shot 
モデルにタスクの例を1つだけ与える手法です。一般的に、人間は1つの例を示されることによって、タスクを解くことができるという考えに基づいています。
Zero-shot
モデルにタスクの例を1つも与えない手法です。教師データは必要なくなりますが、タスクを解くのは困難になります。

画像7

「GPT-3」はモデル提供ではなく、Webサービス「OpenAI API」の一部としてクローズドβで利用可能になりました。将来的には有料版としてリリースされる予定です。

9. DALL-E (2021年)

DALL-E」は、テキストから画像生成するように学習した、「GPT-3」の120Bパラメータ版です。テキストと画像のペアのデータセットで学習しています。

テキストから画像生成する例は、次のとおりです。

・an illustration of a baby daikon radish in a tutu walking a dog
(犬の散歩をするチュチュを着た大根の赤ちゃんのイラスト)

画像6

9. 参考



この記事が気に入ったらサポートをしてみませんか?