controllable text generation (icml 2017 under review)

Post on 21-Jan-2018

518 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ControllableTextGeneration04/07/2017

新領域⼈間環境学陳研究室 D2藤野暢

書誌情報• ICML2017underreview• Z.Hu,Z.Yang,X.Liang,R.Salakhutdinov,andE.P.Xing(CMUのグループ)• arxiv:03/02/2017•被引⽤数:2(同じグループからの引⽤)

概要• VAEを元にしたテキストに対する⽣成モデル•潜在変数zの他に属性cを追加し,Discriminatorで分類してフィードバックを⾏うことで,属性を指定したテキストを⽣成できるようになった

テキストにおける⽣成モデルの先⾏研究• “Generatingsentencesfromacontinuousspace,”Bowmanetal.(2015)• VAE:EncoderとDecoderにLSTMを使⽤

• SeqGAN,Yuetal.,AAAI(2017)• GAN:GeneratorにLSTM,DiscriminatorにCNN• Discriminatorからのfeedbackを強化学習の⽅策勾配法で学習する

先⾏研究の問題点•潜在変数zが解釈しづらい• zをコントロールしてテキストの属性などを指定することができない

提案アルゴリズム•潜在変数に属性cを追加し,⽣成されたサンプルの属性をDiscriminatorで判別してGeneratorにフィードバックを⾏うことで,⽣成するサンプルの属性cをコントロールできるように学習させる• InfoGANと同じようなアイデア• さらに⽣成したxハットからzを再度推定することで,zとcを鑑賞しないように学習させる

モデル詳細:Encoder+Generator

• VAE• Encoder,GeneratorともにLSTM

• xハットはargmaxをとらずにsoftmax後の確率分布のまま• cは適当なカテゴリカル分布p(c)からサンプリング

モデルの学習:Encoder+Generator

•誤差関数1•変分下界を最⼤化する

モデルの学習:Generator

•誤差関数2•正しい属性が⽣成できたかをDiscriminatorで判別

モデルの学習:Generator

•誤差関数3• Independencyconstraint:c以外の潜在変数をzで捉えきる(cに⼲渉してこないようにする)•⽣成されたxハットをencodeしたときに,元のzになるようにする

モデルの学習:Discriminator

•テキストxの属性cを正しく分類できるように学習させる•ラベル付きデータ を使⽤•誤差関数1

モデルの学習:Discriminator

• Generatorから⽣成されたxハットの属性も分類する•誤差関数2

モデルの学習:全体の流れ1. ⼤量のラベルなしデータでVAEを学習させる

2. 以下のDiscriminatorとVAE(Encoder+Generator)の学習を交互におこなう1. Discriminatorを学習させる

2. EncoderとGeneratorを学習させる

実験設定:データセット•ラベルなしデータ• IMDB:映画のレビュー,1.4M⽂

•ラベル(属性)ありデータ• 感情ラベル:{“positive”,“negative”}

• IMDB• StanfordSentimentTreebank-2• Lexicon:単語

• 時制ラベル:{“past”,“present”,“future”}• TimeBank

実験設定:⽐較する⼿法•属性のコントロールについて• “Semi-supervisedlearningwithdeepgenerativemodels”,Kingma etal.,2014• “Harnessingdeepneuralnetworkswithlogicrules”,Huetal.,ACL2016

実験結果:1

•評価の仕⽅• 属性 cを与えて⽂を⽣成し,⽣成した⽂に対して予測を⾏う• 予測したラベルを正解ラベルとし,指定した属性 cとのaccuracyで評価する

実験結果:2

•⽣成モデルでデータ増強し,Discriminatorをそれで学習させたあとの結果

実験結果:3

• Generatorの誤差関数3(Independencyconstraints)がある場合とない場合•ある場合は特定の属性のみ(posi ornega)変えられている.•ない場合は他の部分まで変わってしまっている.

実験結果:4

•テキストの属性 cを変えた場合• sentimentでもtenseでも適切にコントロールできている

実験結果:5

•潜在変数 zを変えた場合•属性cは保持されている

まとめ:

•テキストの⽣成モデルとしてVAEに属性Discriminatorを加えたものを提案した•属性 cに沿ったテキストを⽣成することが可能になった•特に,他の属性に⼲渉することなく独⽴にコントロールできるようになった

top related