⾃然⾔語処理モデルに
関するサーベイ
吉浦研究室 新津康平
深層学習を⽤いた⾃然⾔語処理について
• 深層学習を⽤いない機械学習モデル
• 構⽂解析,照応解析などの部分問題を解決
• それらを合わせて応⽤タスクを解決
• 深層学習を⽤いた処理モデルは,直接応⽤タスクを解くことを
可能に
• 応⽤タスクで最先端のベンチマークを報告している
• 特にBERTが注⽬されている
• BERTを理解すべく関連研究の調査を⾏う
BERTのブレイクスルー
• 最先端の結果を残した応⽤タスク
• MNLI:2⼊⼒分の含意/⽭盾/中⽴を判定
• QQP:2質問⽂が意味的に等価かを判定
• QNLI:陳列⽂が質問⽂の回答を含むか判定
• SST-2:映画レビューの⼊⼒⽂のベガポジを判定
• CoLA:⼊⼒⽂が⾔語的に正しいかを判定
• STS-B:ニュース⾒出しの2⼊⽂の意味的類似性をスコア付け
• RTE:2⼊⼒⽂の含意を判定
• 論⽂記載以外の最先端の結果
• SQuAD:質問応答タスク
• CoNLL:固有表現抽出タスク
• SWAG:⼊⼒分に後続する⽂を4つの候補⽂から選択
出典:BERT: Pre-training of Deep Bidirectional Transformers for Language
Understanding 図1より引⽤
出典:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 図1より引⽤
BERTの概要
• 事前学習と転移学習を⽤いたモデル
• 事前学習
• ⼈間が扱う⼀般的な⾔葉を表現するための学習
• 転移学習
• 事前学習により得られた表現を応⽤タスクに特化させる学習
• 事前学習では双⽅向のTransformerにて学習
• 双⽅向の学習により⽂章の全体,未来の⽂章を把握しながら学習が可能
BERT仕組み
出典:BERT: Pre-training of Deep Bidirectional Transformers for Language
Understanding 図1より引⽤
出典:Attention Is All You Need 図1 より引⽤
出典:BERT: Pre-training of Deep Bidirectional Transformers for Language
Understanding 図1より引⽤
出典:Attention Is All You Need 図1 より引⽤
BERTの学習⽅法
• Masked Language Model
• ⽳埋め問題を解く学習⽅法
• Next Sentence Prediction
• ⽂の前後関係を学習⽅法
出典:BERT: Pre-training of Deep Bidirectional Transformers for Language
Understanding 図1より引⽤
Masked Language Model
• ⼊⼒⽂の15%を確率的に
[MASK]トークンで置き換え
る
• [MASK] トークンのうち
• 80%が マスク変換
• 10%がランダムな別の
トークンに変換
• 10%をそのままのトーク
ン
https://ja.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%
E7%90%86 より加⼯
https://www.lyrn.ai/2018/11/07/explained-bert-state-of-the-art-
language-model-for-nlp/#appendix-A より引⽤
Next Sentence Prediction
• ⼊⼒:⽂のペア
• ⼊⼒の後半がデータの⽂書の後
続の⽂になっているかどうかを
学習
• 50%はふたつめの⽂がオリジ
ナルの⽂書
• 残り50%のペアではランダム
• 意味がつ ながらないものと
想定
全く関係ない⽂ https://ja.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%
E7%90%86 より加⼯
Transformerを理解したい
出典:BERT: Pre-training of Deep Bidirectional Transformers for Language
Understanding 図1より引⽤
出典:Attention Is All You Need 図1 より引⽤
Transformer概要
• BERTの構成要素
• RNN⇨Attentionの時代
• 構成要素(部品)
• Transformer
= Seqeunce to Seqeunce(Seq2Seq)
+Attention
+Key-Value Memory Networks(K-V MemNN)
出典:Attention Is All You Need 図1
より引⽤
Transformer概要
• BERTの構成要素
• RNN⇨Attentionの時代
• 構成要素(部品)
• Transformer = Seq2Seq+Attention+K-V MemNN
出典:Attention Is All You Need 図1
より引⽤
Seq2Seq仕組みの概要
• ⼊⼒⽂:𝑋 = 𝑥$, … , 𝑥$, … , 𝑥'
• 出⼒⽂:Y = 𝑦$, … , 𝑦$, … , 𝑦'
• ⾚枠:エンコーダー
• ⻘枠:デコーダー
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より加⼯
出典:Attention Is All You Need 図1 より引⽤
⾃然⾔語処理におけるDeep Learning
https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より加⼯
出典:Attention Is All You Need 図1 より引⽤
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より加⼯
Seq2Seqのモデル構造
•5つの要素から構成
1. 符号化器埋め込み層
2. 符号化器再帰層
3. 復号化器埋め込み層
4. 復号化器再帰層
5. 復号化器出⼒層
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より加⼯
𝑥*
+𝑥*
𝐸
①符号化器埋め込み層
(Seq2Seqのモデル構造)
• ⼊⼒⽂中の各単語を埋め込み
ベクトルに変換する処理
• -𝑋 = 𝐸𝑋
• -𝑋 = (𝑥$, … , +𝑥') 出典:Attention Is All You Need 図1 より引⽤
②符号化器再帰層
(Seq2Seqのモデル構造)
• 学習し⽂を考慮した隠れ状態ベクトルℎ*
(1)
を⽣成する
• ℎ*
(1)
= 𝜓 1 (+𝑥*, ℎ*3$
(1)
)
• 𝜓はRNNなどを示す関数
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より加⼯
ℎ$
(1)
ℎ6
(1)
ℎ7
(1)
ℎ8
(1)
(+𝑥*, ℎ*3$
(1)
)
ℎ*
(1)
𝜓 1
出典:Attention Is All You Need 図1 より引⽤
③復号化器埋め込み層
(Seq2Seqのモデル構造)
• 符号化器が作成したベクトル表現で出⼒⽂を⽣成
• 埋め込みベクトルから単語⼀つ⼀つ⽣成され⽂が⽣成
• +𝑦* = 𝐸(9) 𝑦:3$
出典:Attention Is All You Need 図1 より引⽤
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より加⼯
+𝑦*
𝑦:
𝐸(9)
④復号化器再帰層
(Seq2Seqのモデル構造)
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より加⼯
(+𝑥*, ℎ*3$
(;)
)
+𝑦*
ℎ6
(9)
ℎ7
(9)
ℎ8
(9)
ℎ$
(9)
𝑦$ 𝑦6 𝑦7 𝑦8 𝑦<
𝑦$ 𝑦8𝑦7𝑦6
• 隠れ状態ベクトルとて得られた
出⼒を⼊⼒し次の埋め込みベク
トルを⽣成学習し⽂を考慮した隠
れ状態ベクトルℎ*
(9)
を⽣成する
• ℎ*
(9)
= 𝜓 9 (+𝑦*, ℎ:3$
(9)
)
• 𝜓はRNNなどを示す関数
出典:Attention Is All You Need 図1 より引⽤
𝜓 9
復号化器出⼒層(Seq2Seqのモデル構造)
• 位置 j隠れ状態ベクトルℎ*
(9)
を受け取り𝑦:が⽣成され
る確⽴𝑝:を⽣成
• 確⽴計算のスコアベクトル
• 𝑜: = 𝑊(@)ℎ:
(9)
+ 𝑏(@)
• 学習時以下の式より学習
• 𝑃D 𝑦*|𝑌G: = softmax(𝑜:) O 𝑦:
• ⽣成時は
• P𝑦 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥V(𝑜:)
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf より
加⼯
Transformer概要
• BERTの構成要素
• RNN⇨Attentionの時代
• 構成要素(部品)
• Transformer = Seq2Seq+Attention+K-V MemNN
出典:Attention Is All You Need 図1
より引⽤
Attention
• 埋め込みベクトルと埋め込みベクトルの内積値
• 重要度や関連性などの意味を持つ
• 照応関係や構⽂解析の内容を学習
• Attentionを𝑒*
• 𝑒* = ℎ*
(1)
O ℎ:
(9)
• soft Attentionはsoftmax関数で正規化
• Attentionを確⽴のように扱える
• Soft	Attention
• 𝑎* =
^_`(ab)
∑bde
f
^_`(ab)
= 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑒*)
Transformer概要
• BERTの構成要素
• RNN⇨Attentionの時代
• 構成要素(部品)
• Transformer = Seq2Seq+Attention+K-V MemNN
出典:Attention Is All You Need 図1
より引⽤
Key-Value Memory Networks(K-V MemNN)
• Transformerで使われている
• ⻑⽂に強くRNNを⽤いない
• K-V MemNN成り⽴ちの歴史
1. Memory Networks
2. End-to-End Memory Networks
3. Key-Value Memory Networks
論⽂解説 Memory Networks (MemNN)
http://deeplearning.hatenablog.com/entry/memory_networks#memory_networks
より加⼯
Memory Networks仕組みの概要
• ⼊⼒⽂:𝑋 = 𝑥$, … , 𝑥*, … , 𝑥'
• ⼊⼒クエリ: q
• 出⼒単語:𝑟
• ⽂をメモリに記録し取り扱う
• VS RNN は時系列で扱う
End-To-End メモリネットワーク
End-To-End Memory Networks より引
Attentionクエリとの関連どを確率的に扱う
Key-Value Memory Network(K-V MemNN)
• End-To-End メモリネットワークのメモリ
情報をKeyとValue に分離
• memory から情報を抽出する時,queryは
keyによって取得する memoryを決定し,
対応するvalueを取得
• Memory を Key と Value に分離すること
で key と value 間の検索のような処理に
よりより広い表現を獲得
Key-Value Memory Networks for Directly Reading Documentsの図1より引⽤
なぜこの部品?
• RNNは⻑⽂に弱い⇨Attention,K-V MemNN
• RNNは⽂を⽣成するのに弱い⇨Seq2Seq
その他の部品
• 位置エンコーディング(Positional Encoding)
• どの⽂章で⽂章のどの位置の単語なのか
• Source-Target-Attention
• Self Attention
Transformerの完成
⾃然⾔語処理におけるDeep Learning https://www.ieice.org/~prmu/jpn/ieice/ieice2017-1.pdf よ
り加⼯
これからの研究
• BERTの⽤いた応⽤タスク解決モデルを⾃作する
• その中でも要約タスクに注⼒する
• BERTを超えるモデルの調査をする

BERTに関して