Upload
toru-fujino
View
518
Download
0
Embed Size (px)
Citation preview
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に沿ったテキストを⽣成することが可能になった•特に,他の属性に⼲渉することなく独⽴にコントロールできるようになった