$30 off During Our Annual Pro Sale. View Details »

第7回 NIPS+読み会・関西 Generating Informative and Diverse Conversational Responses via Adversarial Information Maximization (NIPS2018)

第7回 NIPS+読み会・関西 Generating Informative and Diverse Conversational Responses via Adversarial Information Maximization (NIPS2018)

第7回 NIPS+読み会・関西 Generating Informative and Diverse Conversational Responses via Adversarial Information Maximization (NIPS2018)で紹介した論文です。

元論文:https://arxiv.org/abs/1809.05972

Seitaro Shinagawa

November 11, 2018
Tweet

More Decks by Seitaro Shinagawa

Other Decks in Technology

Transcript

  1. Generating Informative and Diverse
    Conversational Responses via
    Adversarial Information Maximization
    (NIPS2018)
    Yizhe Zhang, Michel Galley, Jianfeng Gao, Zhe Gan,
    Xiujun Li, Chris Brockett, Bill Dolan
    Microsoft Research, Redmond, WA, USA
    紹介者:品川 政太朗(NAIST/RIKEN)
    2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    ※Figures without citation are quoted from the authors’ paper
    1/25

    View Slide

  2. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    自己紹介
    Favorite model(?):
    Interest:
    Interaction between human and
    machine
    Research Topic:
    Dialog based Image generation
    1989 Born in Sapporo
    2009-2015 Tohoku Univ.
    2015- NAIST(Ph.D student)
    2/25

    View Slide

  3. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    テキスト対話におけるユーザ発話に対して、システム応答の多様性
    (diversity)と情報が入っている度合い(informativeness)を改善す
    る手法であるAdversarial Information Maximization (AIM)を提案
    概要
    ポイント
    • diversityの向上:GANで発話応答ペアの良さを評価
    • informativeさの向上:発話応答間の相互情報量(MI)を最大化
    貢献
    diverseとinformative両方の向上のため、GANとMIベースの手法をうまく混ぜて
    定式化した
    • 特にMIベースの手法は、これまで推論時のみの適用だったが、訓練時か
    ら可能になるように改善した
    • embedding空間での発話応答ペアの距離でGとDを最適化
    • cycle consistencyを考慮することで学習の正則化
    3/25

    View Slide

  4. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    前置き
    雑談対話システムの代表例
    マイクロソフトの「りんな」
    雑談対話研究の目的:
    人間のように応答できるチャットボットの実現
    if-thenルールを書いて作りこむのは大変
    →そうだ、データから自動的に学習させよう
    https://www.mazimazi-party.com/entry/rinna/
    4/25

    View Slide

  5. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    Seq2Seqを用いた基本的な発話応答モデル
    発話応答モデル
    Source
    (ユーザ発話)
    発話モデル
    (encoder)
    応答モデル
    (decoder)
    “ぬるぽ” “ガッ”
    Target
    (システム応答)
    Sourceを入力して対応するTargetを生成する
    機械翻訳と違う点
    多対多対応:データは発話応答ごとに分かれているが、他の応答
    も正解となる可能性がある
    一つの発話に対して多様な応答が生成できて欲しい
    5/25

    View Slide

  6. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    ニューラルネットベースの発話応答モデルの問題点
    無難な応答を学習しやすい(例:“I don’t know.”)
    考えられる原因 (品川の考え)
    • 汎用性がある
    • 人間もよく使うのでデータが偏っている(Twitterデータ)
    • 文が短くて学習しやすい
    研究背景
    6/25

    View Slide

  7. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    著者らの注目点
    diverseかつinformativeな応答を生成できるようにしたい
    diverse
    informative
    • I don’t know.
    • I haven’t clue.
    • I haven’t the foggiest
    etc...
    I don’t know.
    • I like music.
    • I like jazz.
    etc...
    I like music.
    発話:”What is your hobby?”に対しての応答例
    7/25
    Informativeな文とは?:何らかの情報が得られる文
    音楽、ジャズが好きだと
    いう情報が入っている

    View Slide

  8. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    提案手法の概要
    発話Sに対する応答TのペアをDiscriminatorの入力とする

    TはGenerator
    によって
    生成された応答文
    , = ()
    (|)
    q
    は逆方向のGenerator
    以下の式を最適化
    8/25

    View Slide

  9. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    Generator
    CNN-LSTMベースのネットワークを提案(
    , )
    : 発話単語列 = 1
    , 2
    , ⋯ ,
    : 応答単語列y = 1
    , 2
    , ⋯ ,
    Z: ノイズから生成した潜在変数

    はサンプリングするので、back propagationできるようにsoft argmaxを使う
    → 0でargmax
    と等価
    9/25

    View Slide

  10. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    Discriminator
    Generator(G)のCNNと(おそらく)同じ
    ネットワーク構造の

    ⋅ ,
    ⋅ で
    embedする෨
    とのは同じ)
    Discriminator(D)の出力は、real/fakeではなく、発話応答間のコサイン距離
    • Dは本物ペアと偽物ペアの距離を最大化
    • Gは本物ペアと偽物ペアの距離を最小化
    するように学習される
    10/25

    , = cos

    ,



    , = cos

    ,


    View Slide

  11. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    DiscriminatorからGeneratorへの勾配計算
    Deterministic policy gradient (DPG)で計算
    • Generatorがsoft argmaxなので
    11/25

    View Slide

  12. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    相互情報量の最大化=変分下限の最大化
    発話と生成された応答෩
    Tの相互情報量(MI)を最大化したい
    • つまり、と෩
    Tがお互いに関係しあうようにしたい
    と෨
    の相互情報量
    の最大化は難しいので変分下限を最大化する
    (InfoGANと同じ)

    は実は変分下限
    12/25

    View Slide

  13. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    余談:InfoGAN [Chen+, NIPS2016]
    z
    real/fake
    Gen Dis
    real
    fake
    c
    • c: discrete latent code
    • z: vector derived from random noise
    • c’: predicted latent code
    learning to make c and G(z,c) highly correlated
    c’
    Maximize mutual information ; ,
    The point for disentanglement
    13/25

    View Slide

  14. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    How to maximize I(c;G(z,c)) using Q distro.
    z
    real/fake
    Gen Dis
    real
    fake
    c c’
    Lemma 5.1
    random variable X,Y, function f
    ~, ~|, ′~|
    (′, )
    = ~, ~|
    ,
    ; ,
    = − ,
    = ~ ,
    ′~ log ′ +
    = ~ ,

    ′ ∥ ′ + ′~ log ′ +
    ≥ ~ ,
    ′~ log ′ +
    = ~ ,
    ′~ log ′ +
    = ~ , ~ ,
    log +
    loss between c and c’
    14/25

    View Slide

  15. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST

    についての勾配計算
    についてはREIFORCEを利用
    REINFORCEを使う理由:DPGライクな方法よりもメモリ効率が良いから(著者談)
    ここらへんはよく分かってません(論文では$2.3の最後に議論あり、理解できず)
    品川の疑問:
    yの単語選択がactionに対応、soft argmaxで選んでいるので方策は貪欲だったが
    そうではない?
    発表時にもらったコメント
    • DPGだとaction spaceが語彙サイズあるのでメモリを食う?
    15/25

    View Slide

  16. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    Dual Adversarial Learningによる正則化
    発話→応答だけでなく、応答→発話のパスも計算する
    著者の気持ちは?:多対一対応するように学習が進むのを防ぎたい
    (例:何にでも”I don’t know”と答える)
    16/25

    View Slide

  17. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    実験設定
    データセット
    Reddit: 2,000,000の発話応答ペア、文長は最大で53単語 (train:val:test=8:1:1)
    Twitter: 7,000,000の発話応答ペア
    評価尺度
    BLEU:翻訳の評価尺度。リファレンス文との単語n-gramの一致率(高いほど良い)
    ROUGE:要約の評価尺度。リファレンス文の単語の出現回数の最小共通部分を数
    える(高いほど良い)
    Greedy:データ全体でリファレンス文とembeddingsのcos similarityの最大値
    Average:〃cos similarityの平均
    Extreme:文ベクトルを文中のノルム最大の単語のベクトルで置き換えてcosを計算
    Dist-1,Dist-2:多様性の評価尺度。リファレンス文全体のn-gramの中で何種類のn-
    gramが使われているかの割合(高いほど良い)
    Entropy (Ent-t):n-gramの頻度も考慮したDistの改善版(提案手法)
    V: n-gramの集合
    F(w): 単語wの頻度
    17/25

    View Slide

  18. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    Redditの結果
    • AIM, Dual AIM (DAIM)が全てのスコアで勝利
    • ちなみに、MMIは著者らチームの前の研究(MIベースの手法)
    18/25

    View Slide

  19. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    生成結果の比較
    19/25

    View Slide

  20. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    生成結果の比較
    20/25
    内容語にあたる単語が生成
    されてる
    seq2seqは”I don’t know”

    View Slide

  21. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    生成結果の比較
    21/25
    意味的にしくじることもあ
    る・・・

    View Slide

  22. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    主観評価の結果
    • 600サンプルについてクラウドソーシング
    • それぞれのサンプルはランダムな7人の評価者によって評価
    • Informativeness: “Yes”とか”Sure”みたいな簡素な応答じゃないかどうか
    • Relevance: 発話に対して意味的に応答として成立するかどうか
    (太字はp<0.00001で有意だった組合せ)
    22/25

    View Slide

  23. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    主観評価の結果
    • DAIMはMMIやseq2seqに勝てている
    • まだ人間にはボロ負け
    (太字はp<0.00001で有意だった組合せ)
    23/25

    View Slide

  24. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    Twitterデータを用いた結果
    Twitterはマルチターンの対話なので、最後の応答以外は合わせてsourceとして扱う
    発話1
    応答1

    発話n
    • 語彙サイズは20kに制約
    • 2kのtestセットで評価
    AIMとDAIMが強いが、それぞれにトレードオフがあった
    24/25

    View Slide

  25. 2018/11/11 2018ⒸSeitaro Shinagawa AHC-lab NAIST
    結論
    テキスト雑談対話における発話応答モデルのdiversityと
    infomativenessを改善する方法として
    Adversarial Information Maximization (AIM)を提案
     Redittの実験
    • 客観・主観評価ともにseq2seqよりも強い
    • 人間と比較するとまだまだ(特にinformativeness)
     Twitterの実験
    • マルチターンを考慮したノイジーな雑談データでもAIMが強い
    My COMMENTs and QUESTIONs
     infomativenessの定義がいまいちしっくりこない(文長の短さに
    penaltyくわえるだけじゃダメ?)
    • 応答における内容語を抽出して評価するとかがありそう
     生成文の多様性ならDistやEntで良さそうだが、応答の多様性は
    潜在空間Zに埋め込まれてると思うので、そちらの分析も見たい
    25/25

    View Slide