[DL輪読会]Training Language GANs from Scratch (NeurIPS 2019)

>100 Views

November 13, 19

スライド概要

2019/11/01
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

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

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] Training Language GANs from Scratch (NeurIPS 2019) Toru Fujino, UTokyo, SCSLab http://deeplearning.jp/ 1

2.

概要 • Training Language GANs from Scratch (NeurIPS 2019 accepted) • 今までGANによる言語モデルは尤度最大化の事前学習が必要であったが、 いくつかの既存のテクニックを組み合わせることで、事前学習無しでもそ れなりの精度が達成できることを示した。 • • • • • 大きなバッチサイズ 文単位ではなく単語ごとの密な報酬 Discriminatorの正則化(L2正則化, Dropout, Layer normalization) Positional embedding 単語の事前学習ベクトル (Glove) の利用 • State-of-artな結果が出たわけではない

3.

背景:GANは画像では上手くいくが言語では難しい • データが離散的で勾配が伝わらない。 • 単語を生成する際にsamplingの操作が入る • 強化学習の枠組みで方策勾配法をつかうことはできる。 • 勾配の推定が不安定で学習が安定しない。 • Mode collapse。 • 学習を安定させるために尤度最大化の事前学習が必要。 • 結局尤度最大化と同じようなモデルが学習されてしまう。

4.

背景:言語モデルをGANでおこなうメリット • Exposure biasの心配がない。 • RNNの言語モデルにおいて学習-テスト間で入力の分布が変わってしまう問題。 • 文の異なる属性を複数のDiscriminatorで制御することが可能になる。 • 局所的/大局的な一貫性 • 意味 • 構文 • One-shotの生成が可能(???) • よくわからず

5.

背景:先行研究 • 言語の離散性に対する解決策 • WGAN-GP:(離散データの) 単語を連続データとして近似。 • Generatorの学習 (方策勾配法による勾配の推定) が安定しないことに対す る対策 • LeakGAN:Discriminatorから情報を漏らす。+尤度最大化での事前学習。 • RankGAN:生成文と実際の文にrankingをつけて相対的な情報を付与。+ 尤度最大化 での事前学習。 • SeqGAN:単語ごとの報酬 + 尤度最大化での事前学習。 • 先行研究では尤度最大化での事前学習が必須。

6.

提案:既存のテクニックを組み合わせることで尤度最大 化の事前学習なしでも学習できる。 • 方策勾配法の勾配を安定させるための大きなバッチサイズ。 • Token(単語)毎の報酬。 • Discriminatorの正則化。 • L2正則化 • Dropout • Layer normalization • その他細かいこと • 事前学習した単語ベクトル(Glove)の利用 • Positional embeddingの利用。

7.

モデル:方策勾配法による勾配の推定 • 方策勾配法における勾配 • 対数尤度を, Discriminatorからの報酬R(x)でスケールさせる。 • 尤度最大化の特殊なケースと考えることもできる。

8.

モデル:単語ごとに報酬を計算 • 学習の初期段階では, Generatorの文はほぼrandomなものに近いため, Discriminatorを騙すことができず, Generatorの学習が進まない。 • 単語単位の密な報酬をGeneratorに渡すことでこの問題を軽減。 • 報酬は[-1, 1]。

9.

モデル:バッチサイズを上げて勾配の推定を安定させる • 論文の実験では, N=512, 738 • 過去の報酬の移動平均をベースラインとして設定。

10.

モデル:Discriminatorの正則化 • L2正則化 • Dropout • Layer normalization

11.

モデル:その他のテクニック • Discriminatorの単語埋め込みベクト ルに3種類のベクトルを利用 • randomに初期化され学習中に更新され るベクトル • Glove • Positional embedding(位置情報を埋め 込んだベクトル) • Positional embeddingなしだと生成文 と実データの文の長さの分布が合わ なくなってしまう。

12.

結果:各学習段階での生成文 • 学習が進むにつれて自然なものに近い文が生成できるようになっているが、 学習の後期においても文法ミス等は多く見られる。

13.

結果:Nearest Neighbourによる訓練データと生成デー タの比較 • 訓練データからのコピペではなく, 多様な文が生成できている。

14.

結果:テクニックごとのAblation study • バッチサイズを大きくすることの効果が最も大きい。

15.

結果:生成文の質と多様性のtrade-off

16.

議論:上手く行かなかったテクニック • • • • • • GeneratorをWasserstein lossで訓練 D/Gのアンサンブル 古い重みのD/GでG/Dの勾配を計算 Discriminatorに双方向LSTMを使用 複数のDiscriminator カリキュラム学習 (最初はシンプルなDiscriminator, 徐々に複雑な Discriminatorを使用) • D/Gの最適な学習間隔の探索

17.

まとめ & 感想 • 既存のテクニックを組み合わせることで、尤度最大化の事前学習を行うこ と無くGANの言語モデルを学習させることを示した。 • あまり劇的な進歩という感じではない。生成結果を比べてみてもSeqGAN (2016年9月発表) そこまで大差ない? • 精度の向上に寄与したのは主にバッチサイズの大きさ。