[DL輪読会]Adversarial Text Generation via Feature-Mover's Distance (NIPS 2018)

>100 Views

November 02, 18

スライド概要

2018/11/02
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

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

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

Adversarial Text Generation via Feature-Mover’s Distance Toru Fujino, SCSLab, UTokyo

2.

書誌情報 - タイトル: Adversarial Text Generation via Feature-Mover’s Distance 概要 - - テキスト生成の敵対的学習において特徴量ベクトルを用いて識別 誤差関数にEarth Mover’s Distanceを利用 著者: Duke大, Microsoft Research, Baidu Researchの方々 学会: NIPS 2018 (poster) 投稿日: 2018/9/17 選定理由: - テキスト生成に興味があった GANによるテキスト生成についてよく分かっていなかったので勉強したかった

3.

背景 - 自然言語生成は様々な応用分野の構成要素として重要 - - 条件付き生成 p(y|x) - ソース情報 -> 自然言語 - 例) 機械翻訳, 対話生成, キャプション生成 条件なし生成 p(x) - 確率分布の推定 - 例) 村上春樹が書くような文章を生成したい - 文章のスタイルを指定しての生成 - still 難しい - DLでは大きく分けて2つのアプローチが存在 - VAEベース - GANベース - 今回の論文はこのカテゴリ

4.

VAEベースのアプローチ - Sentence VAE [Bowman et al., 2016] - 課題: 事後分布が事前分布に一致してしまう (posterior collapse) - - 原因1: KL項の学習が再構成誤差の学習よりも容易なため 原因2: Decoderがzが無くても生成できてしまう (inputがあるため) 工夫 - KL項のアニーリング [Bowman et al., 2016], vMF分布を利用 [Xu et al., 2018] 入力の単語を確率的に落とす [Bowman et al., 2016], DecoderにCNNを利用 [Yang et al., 2017]

5.

GANベースのアプローチ - SeqGAN [Yu et al., 2017] - 課題: argmaxを取ると勾配が伝わらない 工夫 - policy gradient + Rolloutにより勾配を推定 [Yu et al., 2017] argmaxをsoftmaxで近似 [Zhang et al., 2017]

6.

GANその1: 勾配をPolicy gradientで推定 - 多くのGANモデルはこちらのアプローチを採用 SeqGAN [Yu et al., 2017], LeakGAN [Guo et al., 2018], etc. - 勾配のvarianceが大きく学習が難しい - Policy gradientの弊害

7.

GANその2: argmaxをsoftmaxで近似 - TextGAN [Zhang et al., 2017] 文章の生成時に単語ではなくベクトルを出力するようにする - 通常時: - 近似時: - - τ を0に近づけていくことによりargmaxに近づく 今回の論文もこちらのアプローチを採用

8.

TextGAN [Zhang et al., 2017] - Discriminatorは生成されたテキスト (s) ではなく特徴ベクトル (f) を元に識別 - - 特徴ベクトルの差を測る際にMaximum Mean Discrepancy (MMD) と呼ばれる手法を使用 argmaxをsoftmaxで近似

9.

先行研究の問題点 - Discriminatorが局所解に近づいた時に勾配が軽減してしまう [Zhang et al., 2017] - - TextGANでは特徴量で識別することによりそれを軽減 しかし通常のGANの誤差関数を用いている限り勾配消失は起こってしまう TextGANのMMDの学習は難しい - MMDでのカーネル幅の選択は難しい カーネル法がスケールしない (?) 短い文を生成しがち

10.

提案手法: Feature Mover GAN (FM-GAN) - 真データと偽データを特徴量空間で比較して敵対的学習 GeneratorとFeature extractor - 誤差関数を改良することでGへの勾配を使えやすくする - Feature Mover’s Distance

11.

Generator - LSTM ノイズzを初期状態と各時刻の入力としてinput 学習時にはargmaxをsoftmaxで近似

12.

Feature extractor - CNN for text [Kim et al., 2014] - - Generatorからの出力 - - Max-pooling後のベクトルを特徴 ベクトルとして取得 そのままCNNに入力する 実際のデータ - Embedding matrixをかけてから 入力する

13.

誤差関数 - Gが生成したテキストの特徴量 (f’) と実際のテキストの特徴量 (f) の差を測る - WGANなどで使用されているEarth Mover’s Distance (EMD) を利用 特徴量空間で比較しているのでFeature Mover’s Distance (FMD) (と著者は呼んでいる) 輸送量 x 距離関数 - 距離関数は一定 輸送行列を最適化する

14.

最適輸送行列T*の求め方 - IPOTアルゴリズム [Xie et al., 2018]

15.

学習アルゴリズム - Feature extractorはFMDを最大化するように学習 GeneratorはFMDを最小化するように学習

16.

サブタスク1: スタイル変換 - 文章の内容を保持したまま文体を変換する - Encoder: 文章から潜在変数を獲得するネットワーク - 誤差関数: 再構成誤差 + 敵対的誤差 - 再構成誤差 - 敵対的誤差

17.

実験: (条件なし) テキスト生成 - 英文の3つの異なるデータセット - - CUB (キャプション), MS COCO (キャプション), EMNLP WMT (長文のニュース記事) test BLEU: 生成文の自然さ self BLEU: 生成文の多様さ

18.

実験: (条件なし) テキスト生成 - 人間による評価 - 生成例

19.

実験: スタイル (sentiment) 変換 - 学習済みのCNNでスタイルが正しく変換されているかを検証 (上段) sentiment, content preservation, fluencyを人間で評価 (下段)

20.

まとめ & 感想 - 敵対的学習をテキスト生成に適用する際に特徴量空間を利用して識別 誤差関数をEarth Mover’s distanceにすることで学習を容易に 先行研究と比較して良質 & 多様な文章を生成することが可能に 実装は簡単 - 著者実装 (tensorflow) も公開されている: https://github.com/LiqunChen0606/FM-GAN