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

>100 Views

March 17, 17

スライド概要

2017/3/17
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

Semi-Supervised QA with Generative Domain-Adaptive Nets 中山研究室 M1 横田 匡史

2.

概要 • Problem 質問応答モデルを学習する際に、大量のラベル付け されたデータが必要。しかし、データ作成にはコスト がかかる。 • What ラベル付けされていないデータを活用して、質問応 答モデルの性能改善をする。

3.

関連研究 • 論文 Dual Learning for Machine Translation[NIPS 2016, He et. al.] (以前、藤野さんが紹介した論文) • What • 単一言語コーパスを用いて翻訳モデルを refinementする

4.

学習の流れ X ①TMABを用いて単一言語コーパス DAのセンテンスsをBへ翻訳 ④TMABを用いて 報酬を計算 r2=TMAB(s;smid,ØAB) ③SmidからAへTMBAを用いて Y ②TMABから生成 されたsmidを LMBを用いて 報酬を計算 r1=LMB(smid) back translationする。 TMAB:少数の対訳コーパスで学習した A→Bへの翻訳モデル LMA:Aの学習済み言語モデル TMBA:少数の対訳コーパスで学習した B→Aへの翻訳モデル LMB:Bの学習済み言語モデル XとYはそれぞれ、翻訳モデルと言語モデルを持つ。それぞ れが持つ翻訳モデル(TMAB,TMBA)をrefinementしていく。

5.

学習の流れ X Y 報酬 r r = αr1 +(1- α) r2 (αはハイパーパラメータ) • 報酬 rを最大化するようにPolicy GradientでTMABの パラメータを更新する •

6.

学習の流れ ②TMBAから生成 された文章smidを LMAを用いて報酬 を計算 r1=LMA(smid) X ①TMBAを用いて単一言語 コーパスDBのセンテンスsをAへ翻訳 Y ④TMABを用いて 報酬を計算 ③SmidからBへTMABを用いて r2=TMAB(s;smid,ØAB) back translationする。 TMBAの学習も流れを逆にして学習する。 →単一コーパスから翻訳モデルの学習が可能になる。

7.

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

8.

課題とその対策 • 生成された質問文が不自然だと質問応答モデルに対 して変なバイアスが掛かる可能性がある A. 生成されたデータセットと既存のデータセット を別のドメインとして分けて学習させる B. 元データの質問文の分布と生成データの質問文 の分布が近くなるように報酬を設計し強化学習 する。

9.

登場するモデル 質問応答モデル(Discriminative Model) • 入力:文章と質問文 • 出力:解答 質問生成モデル(Generative Model) • 入力:文章と解答 • 出力:質問文 • 少数のQAデータを持つ学習データセットで事前学習しておく

10.

質問応答モデル 入力 Paragraph 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. … Question How high is Mt. Fuji ?

11.

質問応答モデル 入力 Paragraph 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. … Question How high is Mt. Fuji ? 出力 start: 15 end: 20 Paragraph内の解答に 該当する範囲をindex で解答する。

12.

質問応答モデル Softmax Softmax attention start index Linear q = (q0, q1, … , qT’) bidirectional GRU question paragraph representation Linear p = (p0, p1, … , pT) bidirectional GRU paragraph end index

13.

Domain Adaptation With Tags QAタスクにおいて、上手く生成できなかったデータはモ デルの学習の妨げとなってしまう ➡ 元データと生成データを別のドメインとして学習さ せる事で、これらの影響を抑える。 入力の質問文の末尾に元データに対しては’d_true’を入れ 、生成データに対しては’d_gen’を入れて学習させる

14.

質問生成モデル 入力 Paragraph 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. … Answer start: 15, end: 20 出力 Question How high is Mt. Fuji ?

15.

質問生成モデル Encoder GRU 0/1 Embed <bos> GRU 0/1 Embed Mount GRU 0/1 GRU Embed Fuji 0/1 … Embed <eos>

16.

質問生成モデル Encoder GRU 0/1 Embed <bos> GRU 0/1 Embed Mount GRU 0/1 GRU Embed Fuji 入力wordが解答チャンクに 存在すれば1, なければ0 0/1 … Embed <eos>

17.

質問生成モデル Encoder GRU 0/1 Embed <bos> GRU 0/1 Embed GRU 0/1 Mount Decoder <bos> GRU GRU Embed Fuji 0/1 … Embed <eos> How high <eos> GRU GRU GRU

18.

学習の流れ X ①ラベルなしのデータから Gを用いてQAを生成する。 ④報酬を元に REINFOCE を使ってGのパラ メータを更新する 。 Y ②生成したデータと 既存のデータを 用いてDを学習する ③生成したデータにおける Dの出力を報酬とする G:少数データで学習した 質問生成モデル D:質問応答モデル 本論文ではDual Learningと異なり上記の一方向のみ で学習を行う。

19.

学習アルゴリズム X ①ラベルなしのデータから Gを用いてQAを生成する。 ④報酬を元に REINFOCE を使ってGのパラ メータを更新する 。 Y ②生成したデータと 既存のデータを 用いてDを学習する ③生成したデータにおける Dの出力を報酬とする G:少数データで学習した 質問生成モデル D:質問応答モデル

20.

学習アルゴリズム① • QAデータを持たないラベルなしデータセットを用いて QAデータの作成を行う ラベルなしデータU: WikipediaやWebの文章データ • データ生成の流れ 1. ラベルなしデータセットUから解答抽出する 2. Generative ModelにUと抽出した解答を入力とし、 Beam Searchを用いて質問を生成する。

21.

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

22.

学習アルゴリズム X ①ラベルなしのデータから Gを用いてQAを生成する。 ④報酬を元に REINFOCE を使ってGのパラ メータを更新する 。 Y ②生成したデータと 既存のデータを 用いてDを学習する ③生成したデータにおける Dの出力を報酬とする G:少数データで学習した 質問生成モデル D:質問応答モデル

23.

学習アルゴリズム② 目的関数 : データセット p: パラグラフ q: 質問文 a: 解答 D: モデル : モデルDの確率分布 tag: ドメインタグ(d_true / d_gen)

24.

学習アルゴリズム② ・質問応答モデルの目的関数 →これを最大化するように学習させる G: 質問生成モデル D: 質問応答モデル L: 既存の学習データセット : 質問生成モデルにより作られたデータセット

25.

学習アルゴリズム X ①ラベルなしのデータから Gを用いてQAを生成する。 ④報酬を元に REINFOCE を使ってGのパラ メータを更新する 。 Y ②生成したデータと 既存のデータを 用いてDを学習する ③生成したデータにおける Dの出力を報酬とする G:少数データで学習した 質問生成モデル D:質問応答モデル

26.

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

27.

学習アルゴリズム X ①ラベルなしのデータから Gを用いてQAを生成する。 ④報酬を元に REINFOCE を使ってGのパラ メータを更新する 。 Y ②生成したデータと 既存のデータを 用いてDを学習する ③生成したデータにおける Dの出力を報酬とする G:少数データで学習した 質問生成モデル D:質問応答モデル

28.

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

29.

学習の全体の流れ

30.

実験 • • 使用データセット • ラベル付きデータセット:SQuAD • ラベルなしデータセット: Wikipediaのarticle(950,612 paragraphs) ラベルなしデータセットから解答を 4,753,060個抽出する

31.

実験 • 比較モデル • 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

32.

実験結果

33.

実験結果

34.

実験結果

35.

所感 • GenとGen + domain + advで、生成された質問文がど れだけ変わったのかが気になる。(サンプルを見た い) • 実験結果を見るとdomainが効いていそうだが、Gen + domain + duelはどれくらいの精度が行くのだろう か?

36.

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