[dl輪読会]semi supervised qa with generative domain-adaptive nets

36
Semi-Supervised QA with Generative Domain-Adaptive Nets 中中中中中 M1 中中 中中

Upload: deeplearningjp2016

Post on 21-Mar-2017

18 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

Semi-Supervised QA with Generative Domain-

Adaptive Nets中山研究室 M1 横田 匡史

Page 2: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

概要• Problem

質問応答モデルを学習する際に、大量のラベル付けされたデータが必要。しかし、データ作成にはコストがかかる。• What

ラベル付けされていないデータを活用して、質問応答モデルの性能改善をする。

Page 3: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

関連研究• 論文

Dual Learning for Machine Translation[NIPS 2016, He et. al.] ( 以前、藤野さんが紹介した論文 )

• What

• 単一言語コーパスを用いて翻訳モデルをrefinement する

Page 4: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習の流れ

TMAB: 少数の対訳コーパスで学習したA→B への翻訳モデル

LMA:A の学習済み言語モデルTMBA: 少数の対訳コーパスで学習した

B→A への翻訳モデルLMB:B の学習済み言語モデル

X Y

X と Y はそれぞれ、翻訳モデルと言語モデルを持つ。それぞれが持つ翻訳モデル (TMAB,TMBA) を refinement していく。

①TMAB を用いて単一言語コーパスDA のセンテンス s を B へ翻訳 ②TMAB から生成された smid を

LMB を用いて報酬を計算r1=LMB(smid)③Smid から A へ TMBA を用いて

back translation する。

④TMAB を用いて報酬を計算r2=TMAB(s;smid,ØAB)

Page 5: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習の流れ

• 報酬 rr = αr1 +(1- α) r2   (α はハイパーパラメータ )

• 報酬 r を最大化するように Policy Gradient でTMAB のパラメータを更新する

X Y

Page 6: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習の流れX Y

TMBA の学習も流れを逆にして学習する。→ 単一コーパスから翻訳モデルの学習が可能になる。

④TMAB を用いて報酬を計算r2=TMAB(s;smid,ØAB)③Smid から B へ TMAB を用いて

back translation する。

①TMBA を用いて単一言語コーパス DB のセンテンス s を A へ翻訳②TMBA から生成された文章 smid をLMA を用いて報酬を計算

r1=LMA(smid)

Page 7: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

Semi-Supervised QA with Generative Domain-Adaptive

Nets

✓ Dual Learning for Machine Translation を QAタスクに応用した研究QA データを持たないデータから質問生成モデルで data augmentation し、それを質問応答モデルで学習する

Page 8: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

課題とその対策• 生成された質問文が不自然だと質問応答モデルに対して変なバイアスが掛かる可能性がある

A. 生成されたデータセットと既存のデータセットを別のドメインとして分けて学習させるB. 元データの質問文の分布と生成データの質問文の分布が近くなるように報酬を設計し強化学習する。

Page 9: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

登場するモデル質問応答モデル (Discriminative Model)

• 入力:文章と質問文• 出力:解答

質問生成モデル (Generative Model)

• 入力:文章と解答• 出力:質問文• 少数の QA データを持つ学習データセットで事前学習しておく

Page 10: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

質問応答モデルMount Fuji , located on Honshu Island , is the highest mountain in Japan at 3,776.24 m ( 12,389 ft ).[1] An active stratovolcano that last erupted in 1707–08,[5][6] Mount Fuji lies about 100 kilometres (60 mi) south-west of Tokyo, and can be seen from there on a clear day. …

How high is Mt. Fuji ?Question

Paragraph

入力

Page 11: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

質問応答モデルMount Fuji , located on Honshu Island , is the highest mountain in Japan at 3,776.24 m ( 12,389 ft ).[1] An active stratovolcano that last erupted in 1707–08,[5][6] Mount Fuji lies about 100 kilometers (60 mi) south-west of Tokyo, and can be seen from there on a clear day. …

How high is Mt. Fuji ?

start: 15end: 20

Question

Paragraph

入力

Paragraph 内の解答に該当する範囲を indexで解答する。

出力

Page 12: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

質問応答モデルp = (p0, p1, … , pT)

q = (q0, q1, … , qT’)

bidirectional GRU

bidirectional GRU

Softmax

Linear

Softmax

Linearstartindex

endindex

paragraphrepresentation

attention

paragraph

question

Page 13: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

Domain Adaptation With Tags

QA タスクにおいて、上手く生成できなかったデータはモデルの学習の妨げとなってしまう➡ 元データと生成データを別のドメインとして学習させる事で、これらの影響を抑える。

入力の質問文の末尾に元データに対しては’ d_true’ を入れ、生成データに対しては’ d_gen’ を入れて学習させる

Page 14: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

質問生成モデルMount Fuji , located on Honshu Island , is the highest mountain in Japan at 3,776.24 m ( 12,389 ft ).[1] An active stratovolcano that last erupted in 1707–08,[5][6] Mount Fuji lies about 100 kilometers (60 mi) south-west of Tokyo, and can be seen from there on a clear day. …

start: 15, end: 20Answer

Paragraph

入力出力

How high is Mt. Fuji ?

Question

Page 15: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

質問生成モデルGRU GRU GRU

<bos> Mount <eos>…

GRU

Fuji

Embed Embed Embed Embed0/1 0/1 0/1 0/1

Encoder

Page 16: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

質問生成モデルGRU GRU GRU

<bos> Mount <eos>…

GRU

Fuji

Embed Embed Embed Embed0/1 0/1 0/1 0/1

入力 word が解答チャンクに存在すれば 1, なければ 0

Encoder

Page 17: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

質問生成モデルGRU GRU GRU

<bos>

GRU GRU GRU GRU

Mount <eos>…

GRU

Fuji

Embed Embed Embed Embed0/1 0/1 0/1 0/1

<bos> How high <eos>

Encoder

Decoder

Page 18: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習の流れX Y

② 生成したデータと既存のデータを用いて D を学習する③ 生成したデータにおける

D の出力を報酬とする

① ラベルなしのデータからG を用いて QA を生成する。

④ 報酬を元にREINFOCE を使って G のパラメータを更新する。

G: 少数データで学習した質問生成モデル D: 質問応答モデル

本論文では Dual Learning と異なり上記の一方向のみで学習を行う。

Page 19: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズムX Y

② 生成したデータと既存のデータを用いて D を学習する③ 生成したデータにおける

D の出力を報酬とする

① ラベルなしのデータからG を用いて QA を生成する。

④ 報酬を元にREINFOCE を使って G のパラメータを更新する。

G: 少数データで学習した質問生成モデル D: 質問応答モデル

Page 20: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズム①• QA データを持たないラベルなしデータセットを用いて QA データの作成を行う

ラベルなしデータ U: Wikipedia や Web の文章データ• データ生成の流れ

1. ラベルなしデータセット U から解答抽出する2. Generative Model に U と抽出した解答を入力とし、 Beam Search を用いて質問を生成する。

Page 21: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

解答抽出方法1. ラベルなしデータセットに対して POS タグを付ける2. POS タグを付けられたセンテンスから、 norm

phrase, verb phrase 等を解答として抽出する3. 1. と同様に NER タグをラベルなしデータセットに対して付ける4. NER タグを付けられたセンテンスから、” Date”や” Money” 等のタグを持つ単語を解答として抽出する

Page 22: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズムX Y

② 生成したデータと既存のデータを用いて D を学習する③ 生成したデータにおける

D の出力を報酬とする

① ラベルなしのデータからG を用いて QA を生成する。

④ 報酬を元にREINFOCE を使って G のパラメータを更新する。

G: 少数データで学習した質問生成モデル D: 質問応答モデル

Page 23: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズム②目的関数

: データセットp: パラグラフ

D: モデルq: 質問文

a: 解答: モデル D の確率分布

tag: ドメインタグ (d_true / d_gen)

Page 24: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズム②

: 質問生成モデルにより作られたデータセット

G: 質問生成モデル D: 質問応答モデルL: 既存の学習データセット

・質問応答モデルの目的関数

→ これを最大化するように学習させる

Page 25: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズムX Y

② 生成したデータと既存のデータを用いて D を学習する③ 生成したデータにおける

D の出力を報酬とする

① ラベルなしのデータからG を用いて QA を生成する。

④ 報酬を元にREINFOCE を使って G のパラメータを更新する。

G: 少数データで学習した質問生成モデル D: 質問応答モデル

Page 26: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズム③

生成データ UG が質問応答モデルにとって解答可能であるような質問文になって欲しい。→UG を d_true のドメインとして質問応答モデル D に入力したときの正解となる解答の確率を報酬とする。

報酬質問応答モデルの報酬設計

Page 27: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズムX Y

② 生成したデータと既存のデータを用いて D を学習する③ 生成したデータにおける

D の出力を報酬とする

① ラベルなしのデータからG を用いて QA を生成する。

④ 報酬を元にREINFOCE を使って G のパラメータを更新する。

G: 少数データで学習した質問生成モデル D: 質問応答モデル

Page 28: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習アルゴリズム④

b: UG におけるサンプルの報酬の平均上記の REINFORCE アルゴリズムを用いて質問生成モデル G のパラメータを更新する

質問生成モデル G のパラメータ更新

Page 29: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

学習の全体の流れ

Page 30: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

実験• 使用データセット

• ラベル付きデータセット: SQuAD

• ラベルなしデータセット:Wikipedia の article(950,612 paragraphs)

• ラベルなしデータセットから解答を4,753,060 個抽出する

Page 31: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

実験• 比較モデル

• SL: data augmentation なしで学習した応答モデル• Context: パラグラフ中の解答チャンク前後から質問文を生成• Context + domain : Context で生成したデータに対してドメインを分けて学習• Gen : 本論文の提案した質問生成モデル• Gen + GAN : Gen に GANs[Ganin and Lempitsky, 2014] を用いて学習させる• Gen + dual : Gen を dual learning を用いて refinement• Gen + domain : Gen で生成したデータに対してドメインを分けて学習• Gen + domain + adv : Gen + domain にさらに REINFORCE で

refinement

Page 32: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

実験結果

Page 33: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

実験結果

Page 34: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

実験結果

Page 35: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

所感• Gen と Gen + domain + adv で、生成された質問文がどれだけ変わったのかが気になる。 ( サンプルを見たい )

• 実験結果を見ると domain が効いていそうだが、Gen + domain + duel はどれくらいの精度が行くのだろうか?

Page 36: [DL輪読会]Semi supervised qa with generative domain-adaptive nets

まとめ• パラグラフから QA データを生成し、質問応答モデルの精度を改善• 生成したデータと既存データを別ドメインとして学習させることで性能が上がる• 生成した質問文が既存のデータドメインとして精度が上がるように報酬を設計し、 REINFORCE でパラメータ更新する。