349 Views
February 03, 20
スライド概要
2020/01/31
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
1
緒⾔ 2
論⽂名 Data-dependent Gaussian Prior Objective for Language Generation https://openreview.net/forum?id=S1efxTVYDr 著者情報 Zuchao Li, Rui Wang, Kehai Chen, Masao Utiyama, Eiichiro Sumita, Zhuosheng Zhang, Hai Zhao Shanghai Jiao Tong University, NICT 投稿会議 ICLR 2020 (Talk) Rating : (8, 8, 8) 3
選定理由 Openreviewの評価が⾼い シンプルな拡張で尤度最⼤化にかかる問題の緩和を⾏っており興味を持った 4
概要 Grand Truthのトークンに対して出⼒⾔語の語彙を類似度で順序づけた上でガウス分布を 作る(事前分布) モデルの出⼒分布をこの分布に近づけるような損失(D2GPo)を提案 5種のテキスト⽣成を⾏うタスクで実験を⾏い、その全てでスコアを改善 5
背景 テキスト⽣成モデル ⼊⼒系列x、系列を予測するモデルpθ (⋅)とその出⼒系列yについて、pθ (y∣x)は pθ (y∣x) = pθ (y1 ∣x) pθ (y2 ∣x, y1 ) … pθ (yl ∣x, y1:l−1 ) . Maximum Likelihood Estimation(MLE) テキスト⽣成モデルでよく使われるのはpθ (y∣x)の負の対数尤度の最⼩化 l LMLE (θ) = − log pθ (y∣x) = − ∑ log pθ (yi ∣x, y < i) i=1 6
MLEによるトレーニングの課題 Exposure bias 学習時に全てのデータを⾒るわけではない Loss mismatch MLEで学習するが、評価メトリクスはBLEUやROUGE Generation diversity ⽣成される単語はよくある単語(出現頻度が⾼い単語)ばかり Negative diversity ignorance MLEはGrand Truth, それ以外でしかモデル出⼒を評価できない 7
Negative diversity ignorance 出⼒1. The little boy sits on the deckchair. 出⼒2. The little boy sits on the mushroom. GT. The little boy sits on the armchair. 1,2は誤りではあるが、mushroomよりはdeckchairの⽅が意味が近く間違いは軽度 MLEではこの差を無視することになる(1, 2は等しく間違いと評価される) 8
⽬的 Negative diversity ignoranceを軽減したい 9
⼿法 10
General evaluation function f (⋅) モデルとは独⽴な評価関数f (y~, y) ∈ R GTのトークンy∗ について、より⾼いf (y~, y∗ )はより良いモデル出⼒pθ (y~∣x) 11
Prior distribution q(y) モデル出⼒分布pθ (⋅)に対して、事前分布q(y)を考える GTのトークンyi に対して事前分布qi = q (yi )を作る 12
f (⋅)の学習 ~ , y)を学習する⽬的関数 f (y ~ , y)] LO (θ, q) = KL (q(y)∥pθ (y∣x)) − αEq [f (y α は重み ~ , y)] = 0 、よって q(y) はモデルに対して独⽴に作るのでEq [f (y LO (θ, q) = KL (q(y)∥pθ (y∣x)) 13
Data-Dependent Gaussian Prior (D2GPo) Objective ⽬的関数 min LMLE (θ) + λLO (θ, q) θ λは重み 14
q(y)の構築 GTのトークンごとに計算 温度付きソフトマックス関数を使⽤ ~ , y ∗ ) /T ) exp ( f (y q (y ∗ ) = ∑j exp (f (y~j , y ∗ ) /T ) T は温度パラメータ 15
1 ~ ∗ f (y , y ) の計算 1. GT内のyi と全ての出⼒語彙{y~j } との類似度を使ってdist(i, j)を計算 disti,j = cosine_similarity (emb (yi ) , emb (y~j )) 2. dist(i, j)の⼤きさでソートし順序を決める ORDER (yi ) = sort ([disti,1 , disti,2 , … , disti,N ]) 16
2 ~ ∗ f (y , y ) の計算 3. ⼤きさの順序でガウス分布を作る 単語埋め込みは独⽴な確率分布の⾜し合わせと考えれば、中⼼極限定理からyi を中 ⼼とするガウス分布となる(とのこと) 実験的にガウス分布以外も試している 結局ガウス分布が⼀番良かった 17
q (y ) のイメージ 18
実験 テキスト⽣成を⾏う以下のタスクで確認 機械翻訳, 教師なし機械翻訳, ⽂章要約, StoryTelling, Image Captioning 全てのタスクで損失関数の追加によりスコアが改善した 19
埋め込みの事前学習 fastTextを使ってタスクごとに事前学習 単語ごとだったりサブワードだったりするので 実装を⾒ると、出⼒語彙それぞれに類似度でソートした語彙のリストをファイルに書き出 した上で使っている 20
結果 (機械翻訳) WMT14 (EN–DE, EN–FR), WMT16 (EN–RO) 3タスク共通で、語彙数 40,000, サブワードに分割 21
結果 (教師なし機械翻訳) 事前学習ではなく、Fine-tuningでD2GPo損失を加えている 22
結果 (⽂章要約) Annotated Gigaword corpus D2GPo損失はfine-tuningで使⽤ 23
結果 (StoryTelling) WRITING PROMPTS データセット 24
結果 (Image Captioning) MSCOCO 2014 データセット 25
26
考察 27
f (⋅) に使う関数 ガウス関数が⼀番良かった 線形, cos関数も荒く⾔えばガウス関数に似ているので、近い値になる(とのこと) 28
Low Resource環境下での結果 NMTデータ(WMT16 EN-RO)をサンプルしてデータが少ない状況下での性能をみた データが少ない環境下でもD2GPo損失はスコアを改善 より少ない⽅がゲインは⼤きい データが多い場合にはMLEでも⾃ずとモデルはロバストになれるが、少ない場合には D2GPoの効果が活きると考察している 29
まとめ Negative diversity ignoranceの問題の軽減のための追加の損失関数 Data-dependent Gaussian prior objective (D2GPo)を提案した テキスト⽣成を⾏う広範なタスクで実験し、全てでベースラインのスコアを改善した 30
所感 単純だけど結果が出ててすごい トークンごとに分布を作るのは⾯⽩い 出⼒系列の⻑さが違うと対応できなくなるので、似たようにできたりしないか Negative diversityが全く⾒れないということもない気がするけど違うのだろうか 出⼒の分布がガウス分布であるというなら、BCEでも類語は近い値になりそう (デー タが少ないと効くのはそのせいではないか) 31
32
予備 33
ハイパーパラメータの決定 λ = 0.1, T = 2.0 を使⽤している 34
Generation Diversityへの寄与 学習データセット中での出現が100以下の語彙(#LF)をどれだけモデルが出⼒したかをみ た D2GPoの追加で、多少#LFの割合は増えたので、Generation Diversityに対しても多少の 寄与が⾒られた 35
36