Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
NN論文を肴に酒を飲む会#4
A Deep Reinforcement Learning
Chatbot
arXiv:1709.02349
自己紹介
• 名前
• 吉永 尊洸(よしなが たかひろ)
• @tekenuko
• 仕事
• データ分析コンサルタント
• マーケティング、製造系、教育研修講師とか
• 自然言語処理は1年くらい前にWord2Vecを使ったくらい
勉強する良...
今回の論文:MILABOT
• Amazonのソーシャルボットのコンペ出場チームの報告
会話モデル
22個
応答の候補を
生成
会話の履歴
ASR信頼度
優先応答か
応答を返す
応答の候補の
最適化
応答を返す
※ASR(Automatic S...
百科事典的な論文です
会話モデル
22個
応答の候補を
生成
会話の履歴
ASR信頼度
優先応答か
応答を返す
応答の候補の
最適化
応答を返す
強化学習で応答の
候補を選択
※ASR(Automatic Speech Recognition ...
Contents
• Amazon Alexa Prize
• MILABOTの大まかな仕組み
• 実験結果
• まとめ
Amazon Alexa
• クラウドベースの音声認識サービス
Alexa. Let’s chat! ※
音声→テキスト
テキスト→処理
音声
開発者が色々
実装可能
※コンペ期間中に会話ができるようになっている
Amazon Alexa Prize
• ソーシャルボットの開発コンペ
• 対象:大学の研究者チーム
• 賞金:トータル250万$
• 優勝:50万$(20分間わかりやすく人間と対話できたら+100万$)
• 優勝チームのボットはAlexaに実...
Contents
• Amazon Alexa Prize
• MILABOTの大まかな仕組み
• 実験結果
• まとめ
①入力
会話モデル
22個
応答の候補を
生成
会話の履歴
ASR信頼度
優先応答か
応答を返す
応答の候補の
最適化
応答を返す
※ASR(Automatic Speech Recognition system)信頼度:音声認識システムの信頼...
①入力(想定)
What is your name?※
テキスト
・会話の履歴
「What is your name」
・音声認識の信頼度
閾値以下の場合、言ったことを
もう一度言ってもらう設定
※論文の言語処理の前提は英語だと思われるので、英...
②応答の候補を生成
会話モデル
22個
応答の候補を
生成
会話の履歴
ASR信頼度
優先応答か
応答を返す
応答の候補の
最適化
応答を返す
※ASR(Automatic Speech Recognition system)信頼度:音声認識シ...
②応答の候補を生成
• 22種類のモデルのアンサンブル
• 用途別:映画/政治/検索/...
• 手法別:テンプレート/LSTM/機械学習
応答モデル例
• テンプレート型
• 辞書に登録されたテンプレートに応じて会話(いわゆる人工無脳)
• 代表例
• Alicebot
• Artificial Intelligence Markup Language(AIML) テンプレートに...
応答モデル例
• テンプレート型
• 辞書に登録されたテンプレートに応じて会話(いわゆる人工無脳)
• 他の使用例
• Initiatorbot
• 会話を始めたり質問する際に使用(調子はどう?、など)
• Storybot
• テンプレートに...
応答モデル例
• 検索ベース(NN or 機械学習)
• 検索結果をもとに応答を決定
• 論文での使用例
• VHRED models [Serban et al. 2017]
• Latent variable hierarchical re...
応答モデル例
• 検索ベース(NN or 機械学習)
• 検索結果をもとに応答を決定
• 論文での使用例
• Bag-of-words Retrieval Models
• ドナルド・トランプのtwiiterを使って応答
• 検索エンジン利用(...
応答モデル例
• 会話生成
• GRUQuestionGenerator
• GRUを利用
• データセットはRedditの政治/ニュースの疑問文
• 質問のテンプレートを作成
③応答の候補の最適化
会話モデル
22個
応答の候補を
生成
会話の履歴
ASR信頼度
優先応答か
応答を返す
応答の候補の
最適化
応答を返す
※ASR(Automatic Speech Recognition system)信頼度:音声認識...
強化学習
• 与えられた「環境」における価値 or 収益を最大化するように
「エージェント」を学習
• エージェント
– ゲーム:プレイヤー
– 工場:ロボット
• 環境とアクセス
– 直接
– インターフェース越し
• 環境
– ゲーム:残り...
強化学習
• 記法
• 時間(1往復ごとに1ずつ増加)
• 𝑡 = 1, … , 𝑇
• 環境
• 状態:会話履歴:ℎ 𝑡
• 行動
• モデルによる応答(候補K個):𝑎 𝑡
1
, … , 𝑎 𝑡
𝐾
• 方策
• ある状態のときにある行動す...
強化学習の種類
• 価値反復
• 行動価値関数𝑄 𝜃 ℎ 𝑡, 𝑎 𝑡
𝑘
(収益の期待値)を更新して最適方策を探す
• 方策勾配
• 𝜋 𝜃 𝑎 𝑡
𝑘
|ℎ 𝑡 を直接更新して最適方策を探す*
• 𝜋 𝜃 𝑎 𝑡
𝑘
|ℎ 𝑡 =
𝑒
𝜆−...
価値関数とスコア関数の構造
Input
Layer
Hidden
Layer
Hidden
Layer
AMT
Classification
Layer
Score
Output
Layer
会話の
履歴ℎ 𝑡
応答の
候補𝑎 𝑡
𝑘
1458...
学習データ
• 前VerでAlexaユーザから収集した4340会話データ+5段階評価
• クラウドソーシング(AMT)による応答評価20万個
3会話 候補(汚い言葉は***などで前処理済み)
人手で評価
架空のAMTの画面
学習約14万、検証約...
学習データ
• 前VerでAlexaユーザから収集した4340会話データ+5段階評価
• クラウドソーシング(AMT)による応答評価20万個
3会話 候補(汚い言葉は***などで前処理済み)
人手で評価
架空のAMTの画面
学習約14万、検証約...
Supervised AMT
• クラウドソーシングによるデータから教師あり学習
• 各応答に対してスコア𝑓𝜃 ℎ 𝑡, 𝑎 𝑡
𝑘
が予測可能になる
Input
Layer
Hidden
Layer
Hidden
Layer
AMT
Clas...
テスト
• ランダムに候補を選択 or 伝統的なbotのみの場合と比べて評価
の低い応答の選択が減り、評価の高い応答の選択が増えた
学習データ
• 前VerでAlexaユーザから収集した4340会話データ+5段階評価
• クラウドソーシング(AMT)による応答評価20万個
3会話 候補(汚い言葉は***などで前処理済み)
人手で評価
架空のAMTの画面
学習約14万、検証約...
報酬設定
• 方策勾配:2パターン
• Off-policy REINFORCE:会話終了時の評価𝑅 𝑑を利用
• Off-policy REINFORCE Learned Reward:報酬関数 𝑔 𝜙 ℎ 𝑡
𝑑
, 𝑎 𝑡
𝑑
を利用*
...
方策勾配
• 会話データを用いて強化学習
• 初期値はSupervised AMTのものを利用
• 前Verのときの会話履歴+応答を評価することでスコアを改善
Input
Layer
Hidden
Layer
Hidden
Layer
AMT
...
価値反復
• 会話データを用いて強化学習
• 初期値はSupervised AMTのものを利用
• 前Verのときの会話履歴+応答を評価することでスコアを改善
Input
Layer
Hidden
Layer
Hidden
Layer
AMT
...
事前結果
• Supervised AMTと比較して
• Q-learningは大きく性能変わらない
• Off-policy REINFORCEは性能が高い
対話ごとの平均
1:Very Poor, 2:Poor, 3:Acceptable,...
応答モデルの選択頻度
AliceBot以外も
そこそこ選択されうる
→多様な応答
Contents
• Amazon Alexa Prize
• MILABOTの大まかな仕組み
• 実験結果
• まとめ
A/Bテスト
• Alexaユーザとの対話で、ランダムに方策を割り当てて実験
• コンペ期間に2回実施
• 第一回:2017/07/29~2017/08/06
• 第一回:2017/08/06~2017/08/13
A/Bテスト結果
• 第一回
• Q-learningが平均スコアが高かった
• 第二回
• 方策勾配の方がQ-learningより結果が良かった
1:Very Poor, 2:Poor, 3:Acceptable,
4:Good, 5:Exc...
Discussion
• 全体では、Q-learningが最も平均スコアが高かった
• スコア3.15:平均的にAcceptableより上
• ファイナリストたちとそう変わらないスコア
• MILABOTはファイナリストにはならなかったけど
•...
Contents
• Amazon Alexa Prize
• MILABOTの大まかな仕組み
• 実験結果
• まとめ
Summary
• MILABOT
• Amazon Alexa Prizeのコンペのセミファイナルのチームのchatbot
• MILABOTの特徴
• 22の応答生成モデルによる応答候補生成
• 強化学習による応答候補の最適化
• MILA...
Backup
Sequence to Sequence
• 可変長の入力に対して可変長の出力を返すNN
• encoder(入力)→隠れ層→decoder(出力)
• ユニットはLSTMやGRUが利用される
botでは、前の会話から次の応答が生成されると期...
VHRED
• Latent variable hierarchical recurrent encoder decoder
• 可変長の文章生成モデル
• 潜在変数が存在
• Variational Autoencoderで学習
botでは、...
SkipThought
• 教師なし学習で文のベクトル化を行う
• 入力:i番目の文(ベクトル化は別途行う)
• 出力:i-1番目とi+1番目の文
1. encoderに入力となる文を最後まで入力
2. encoderの学習により獲得した隠れ層...
GRU
• LSTMを簡略化したようなユニット
• 忘却ゲートと入力ゲートを「更新ゲート」にまとめる
強化学習の流れ
流れ
1. 応答スコア(応答の良さ)を求める:DNN
• 3.では、1.と同じ構造のDNNを使用(初期重みは1.の結果)
2. 報酬モデル
• 予測スコアといくつかの特徴量で応答スコアを改善
3. 強化学習
• スコア関数
• ...
報酬モデル
• 予測スコアや会話に関する特徴用を入力として、スコアを改善
• 𝜙 = argm𝑎𝑥
𝜙
𝑑 𝑡 𝑔 𝜙 ℎ 𝑡
𝑑
, 𝑎 𝑡
𝑑
− 𝑅 𝑑 2
• 𝑑:会話のラベル
• 𝑔 𝜙 ℎ 𝑡
𝑑
, 𝑎 𝑡
𝑑
:線形回帰モデル
...
Upcoming SlideShare
Loading in …5
×

A Deep Reinforcement Learning Chatbot

1,778 views

Published on

NN論文を肴に酒を飲む会#4

Published in: Data & Analytics
  • Be the first to comment

A Deep Reinforcement Learning Chatbot

  1. 1. NN論文を肴に酒を飲む会#4 A Deep Reinforcement Learning Chatbot arXiv:1709.02349
  2. 2. 自己紹介 • 名前 • 吉永 尊洸(よしなが たかひろ) • @tekenuko • 仕事 • データ分析コンサルタント • マーケティング、製造系、教育研修講師とか • 自然言語処理は1年くらい前にWord2Vecを使ったくらい 勉強する良い機会だと思ったので申し込んでみた • 元素粒子論(博士) • 趣味 • リアル脱出ゲーム
  3. 3. 今回の論文:MILABOT • Amazonのソーシャルボットのコンペ出場チームの報告 会話モデル 22個 応答の候補を 生成 会話の履歴 ASR信頼度 優先応答か 応答を返す 応答の候補の 最適化 応答を返す ※ASR(Automatic Speech Recognition system)信頼度:音声認識システムの信頼度 強化学習で応答の 候補を選択
  4. 4. 百科事典的な論文です 会話モデル 22個 応答の候補を 生成 会話の履歴 ASR信頼度 優先応答か 応答を返す 応答の候補の 最適化 応答を返す 強化学習で応答の 候補を選択 ※ASR(Automatic Speech Recognition system)信頼度:音声認識システムの信頼度 テンプレート型から seq2seqまで様々な モデルを活用 複数の強化学習アル ゴリズムを試して 応答を最適化
  5. 5. Contents • Amazon Alexa Prize • MILABOTの大まかな仕組み • 実験結果 • まとめ
  6. 6. Amazon Alexa • クラウドベースの音声認識サービス Alexa. Let’s chat! ※ 音声→テキスト テキスト→処理 音声 開発者が色々 実装可能 ※コンペ期間中に会話ができるようになっている
  7. 7. Amazon Alexa Prize • ソーシャルボットの開発コンペ • 対象:大学の研究者チーム • 賞金:トータル250万$ • 優勝:50万$(20分間わかりやすく人間と対話できたら+100万$) • 優勝チームのボットはAlexaに実装されるかも • スポンサードチーム(約10チーム):開発予算として10万$支給 • 審査方法 • 一般的なトピック(政治/スポーツ/芸能など)に関しての対話の性能を競う • 要は雑談できるか • スケジュール • 2016.09 コンペ開始 20か国100チーム以上 • 2017.04 Amazon Echoで実験 12チーム(支援)+6チーム(自腹) • 2017.08 ファイナリスト決定 3チーム • 2017.11 優勝者決定
  8. 8. Contents • Amazon Alexa Prize • MILABOTの大まかな仕組み • 実験結果 • まとめ
  9. 9. ①入力 会話モデル 22個 応答の候補を 生成 会話の履歴 ASR信頼度 優先応答か 応答を返す 応答の候補の 最適化 応答を返す ※ASR(Automatic Speech Recognition system)信頼度:音声認識システムの信頼度 強化学習で応答の 候補を選択
  10. 10. ①入力(想定) What is your name?※ テキスト ・会話の履歴 「What is your name」 ・音声認識の信頼度 閾値以下の場合、言ったことを もう一度言ってもらう設定 ※論文の言語処理の前提は英語だと思われるので、英語の会話
  11. 11. ②応答の候補を生成 会話モデル 22個 応答の候補を 生成 会話の履歴 ASR信頼度 優先応答か 応答を返す 応答の候補の 最適化 応答を返す ※ASR(Automatic Speech Recognition system)信頼度:音声認識システムの信頼度 強化学習で応答の 候補を選択
  12. 12. ②応答の候補を生成 • 22種類のモデルのアンサンブル • 用途別:映画/政治/検索/... • 手法別:テンプレート/LSTM/機械学習
  13. 13. 応答モデル例 • テンプレート型 • 辞書に登録されたテンプレートに応じて会話(いわゆる人工無脳) • 代表例 • Alicebot • Artificial Intelligence Markup Language(AIML) テンプレートに応じて会話 • ほぼデフォルトだが、少し調整したり、優先応答を人力でいくつか定義 • 名前を聞かれたら”I am an Alexa Prize Socialbot”と答える、など • Elizabot(イライザ) • 初期の対話型bot • 人称はうまく変換するらしい(質問でI→応答でyouを使う) • Siriと仲良し
  14. 14. 応答モデル例 • テンプレート型 • 辞書に登録されたテンプレートに応じて会話(いわゆる人工無脳) • 他の使用例 • Initiatorbot • 会話を始めたり質問する際に使用(調子はどう?、など) • Storybot • テンプレートにある童話について会話する • Evibot • 質問への解答に若干特化 • BoWMovies • 映画の会話に若干特化 • 辞書(or 検索)
  15. 15. 応答モデル例 • 検索ベース(NN or 機械学習) • 検索結果をもとに応答を決定 • 論文での使用例 • VHRED models [Serban et al. 2017] • Latent variable hierarchical recurrent encoder decoder • データセットはRedditのジャンルごといろいろ • 政治/ニュース/スポーツ/映画 and サブタイトル/ワシントンポスト • SkipThought Vector Models [Kiros et al. 2015] • SkipThought • 辞書はBookCorpus dataset • Dual Encoder Models [Lowe et al. 2015] • Dual Encoder • データセットはRedditの政治/ニュース
  16. 16. 応答モデル例 • 検索ベース(NN or 機械学習) • 検索結果をもとに応答を決定 • 論文での使用例 • Bag-of-words Retrieval Models • ドナルド・トランプのtwiiterを使って応答 • 検索エンジン利用(コンペ時は実装されていない) • 検索エンジンの結果を利用 • Bi-directonal LSTM • 学習はMicrosoft Marco Dataset • BowEscapePlan • 会話キープしたいけど、他のモデルで良い応答がないときに利用 • 「もう一度お願い」, 「わかりません」
  17. 17. 応答モデル例 • 会話生成 • GRUQuestionGenerator • GRUを利用 • データセットはRedditの政治/ニュースの疑問文 • 質問のテンプレートを作成
  18. 18. ③応答の候補の最適化 会話モデル 22個 応答の候補を 生成 会話の履歴 ASR信頼度 優先応答か 応答を返す 応答の候補の 最適化 応答を返す ※ASR(Automatic Speech Recognition system)信頼度:音声認識システムの信頼度 強化学習で応答の 候補を選択
  19. 19. 強化学習 • 与えられた「環境」における価値 or 収益を最大化するように 「エージェント」を学習 • エージェント – ゲーム:プレイヤー – 工場:ロボット • 環境とアクセス – 直接 – インターフェース越し • 環境 – ゲーム:残りHPや時間などの状況 – ロボット:位置、速度など 行動(応答) 観測・報酬 chatbot 会話の履歴
  20. 20. 強化学習 • 記法 • 時間(1往復ごとに1ずつ増加) • 𝑡 = 1, … , 𝑇 • 環境 • 状態:会話履歴:ℎ 𝑡 • 行動 • モデルによる応答(候補K個):𝑎 𝑡 1 , … , 𝑎 𝑡 𝐾 • 方策 • ある状態のときにある行動する条件付き確率𝜋 𝜃 𝑎 𝑡 𝑘 |ℎ 𝑡 • 報酬 • 𝑟𝑡 • 強化学習のゴール:累積報酬(収益)を最大化する行動を見つける • 𝑅 = 𝑡=1 𝑇 𝛾 𝑡 𝑟𝑡 , 𝛾 ∈ (0, 1]
  21. 21. 強化学習の種類 • 価値反復 • 行動価値関数𝑄 𝜃 ℎ 𝑡, 𝑎 𝑡 𝑘 (収益の期待値)を更新して最適方策を探す • 方策勾配 • 𝜋 𝜃 𝑎 𝑡 𝑘 |ℎ 𝑡 を直接更新して最適方策を探す* • 𝜋 𝜃 𝑎 𝑡 𝑘 |ℎ 𝑡 = 𝑒 𝜆−1 𝑓 𝜃 ℎ 𝑡,𝑎 𝑡 𝑘 𝑎 𝑡 ′ 𝑒 𝜆−1 𝑓 𝜃 ℎ 𝑡,𝑎 𝑡 ′ , 𝑘 = 1, … , 𝐾 • 𝑓𝜃 ℎ 𝑡, 𝑎 𝑡 𝑘 :スコア関数(DNN) 最適化後の行動選択 • 𝜋 𝜃 ℎ 𝑡 = argm𝑎𝑥 𝑘 𝑄 𝜃 ℎ 𝑡, 𝑎 𝑡 𝑘 or argm𝑎𝑥 𝑘 𝑓𝜃 ℎ 𝑡, 𝑎 𝑡 𝑘 *期待収益と呼ばれる関数の最小化問題
  22. 22. 価値関数とスコア関数の構造 Input Layer Hidden Layer Hidden Layer AMT Classification Layer Score Output Layer 会話の 履歴ℎ 𝑡 応答の 候補𝑎 𝑡 𝑘 1458次元 500次元 20次元 5次元 1次元 ReLU SoftmaxLinear Linear 特徴量例: ・応答のWord embedding(W2V)の平均 ・会話の履歴のラストX会話のWord embedding ・履歴と応答の類似度 ・応答の種類/ポジネガ ・… ・ 𝑓𝜃 ℎ 𝑡, 𝑎 𝑡 𝑘 ・ 𝑄 𝜃 ℎ 𝑡, 𝑎 𝑡 𝑘
  23. 23. 学習データ • 前VerでAlexaユーザから収集した4340会話データ+5段階評価 • クラウドソーシング(AMT)による応答評価20万個 3会話 候補(汚い言葉は***などで前処理済み) 人手で評価 架空のAMTの画面 学習約14万、検証約2万、テスト約2万 スコアは5段階評価: 1:Very Poor, 2:Poor, 3:Acceptable, 4:Good, 5:Excellent
  24. 24. 学習データ • 前VerでAlexaユーザから収集した4340会話データ+5段階評価 • クラウドソーシング(AMT)による応答評価20万個 3会話 候補(汚い言葉は***などで前処理済み) 人手で評価 架空のAMTの画面 学習約14万、検証約2万、テスト約2万 スコアは5段階評価: 1:Very Poor, 2:Poor, 3:Acceptable, 4:Good, 5:Excellent
  25. 25. Supervised AMT • クラウドソーシングによるデータから教師あり学習 • 各応答に対してスコア𝑓𝜃 ℎ 𝑡, 𝑎 𝑡 𝑘 が予測可能になる Input Layer Hidden Layer Hidden Layer AMT Classification Layer Score Output Layer 会話の 履歴ℎ 𝑡 応答の 候補𝑎 𝑡 𝑘 1458次元 500次元 20次元 5次元 1次元 ReLU SoftmaxLinear Linear 目的変数 重み固定 [1, 2, 3, 4, 5]
  26. 26. テスト • ランダムに候補を選択 or 伝統的なbotのみの場合と比べて評価 の低い応答の選択が減り、評価の高い応答の選択が増えた
  27. 27. 学習データ • 前VerでAlexaユーザから収集した4340会話データ+5段階評価 • クラウドソーシング(AMT)による応答評価20万個 3会話 候補(汚い言葉は***などで前処理済み) 人手で評価 架空のAMTの画面 学習約14万、検証約2万、テスト約2万 スコアは5段階評価: 1:Very Poor, 2:Poor, 3:Acceptable, 4:Good, 5:Excellent
  28. 28. 報酬設定 • 方策勾配:2パターン • Off-policy REINFORCE:会話終了時の評価𝑅 𝑑を利用 • Off-policy REINFORCE Learned Reward:報酬関数 𝑔 𝜙 ℎ 𝑡 𝑑 , 𝑎 𝑡 𝑑 を利用* • 価値反復 • Supervised AMTや方策勾配の結果をもとに環境モデルを生成(省略) 𝑟𝑡 = 0 𝑅 𝑑 𝑇 𝑑 or 𝑔 𝜙 ℎ 𝑡 𝑑 , 𝑎 𝑡 𝑑 (次時点でのユーザの反応にネガティブな言葉がある場合) (それ以外) *別途、回帰モデルを構築:Supervised Learned Reward 𝑟𝑡 = 𝑃 𝜃 𝑦|ℎ 𝑡, 𝑎 𝑦 𝑇 [−2.0, −1.0, 0.0, 1.0, 2.0] Supervised AMTのNN を用いて確率を出力
  29. 29. 方策勾配 • 会話データを用いて強化学習 • 初期値はSupervised AMTのものを利用 • 前Verのときの会話履歴+応答を評価することでスコアを改善 Input Layer Hidden Layer Hidden Layer AMT Classification Layer Score Output Layer 会話の 履歴ℎ 𝑡 応答の 候補𝑎 𝑡 𝑘 1458次元 500次元 20次元 5次元 1次元 ReLU SoftmaxLinear Linear 過学習防止のため ここだけ学習
  30. 30. 価値反復 • 会話データを用いて強化学習 • 初期値はSupervised AMTのものを利用 • 前Verのときの会話履歴+応答を評価することでスコアを改善 Input Layer Hidden Layer Hidden Layer AMT Classification Layer Score Output Layer 会話の 履歴ℎ 𝑡 応答の 候補𝑎 𝑡 𝑘 1458次元 500次元 20次元 5次元 1次元 ReLU SoftmaxLinear Linear 過学習防止のため ここだけ学習
  31. 31. 事前結果 • Supervised AMTと比較して • Q-learningは大きく性能変わらない • Off-policy REINFORCEは性能が高い 対話ごとの平均 1:Very Poor, 2:Poor, 3:Acceptable, 4:Good, 5:Excellent
  32. 32. 応答モデルの選択頻度 AliceBot以外も そこそこ選択されうる →多様な応答
  33. 33. Contents • Amazon Alexa Prize • MILABOTの大まかな仕組み • 実験結果 • まとめ
  34. 34. A/Bテスト • Alexaユーザとの対話で、ランダムに方策を割り当てて実験 • コンペ期間に2回実施 • 第一回:2017/07/29~2017/08/06 • 第一回:2017/08/06~2017/08/13
  35. 35. A/Bテスト結果 • 第一回 • Q-learningが平均スコアが高かった • 第二回 • 方策勾配の方がQ-learningより結果が良かった 1:Very Poor, 2:Poor, 3:Acceptable, 4:Good, 5:Excellent
  36. 36. Discussion • 全体では、Q-learningが最も平均スコアが高かった • スコア3.15:平均的にAcceptableより上 • ファイナリストたちとそう変わらないスコア • MILABOTはファイナリストにはならなかったけど • 第一回と第二回で方策勾配とQ-learningの順序が変わっている • 第二回はコンペの終盤 and 新学期開始 • Alexaユーザは他のchatbotにも触れていることで、見る目が厳しくなった • 子供と比較して間違いに関して許容度が低い成人ユーザの割合が多い ユーザの質が変わったことが原因?
  37. 37. Contents • Amazon Alexa Prize • MILABOTの大まかな仕組み • 実験結果 • まとめ
  38. 38. Summary • MILABOT • Amazon Alexa Prizeのコンペのセミファイナルのチームのchatbot • MILABOTの特徴 • 22の応答生成モデルによる応答候補生成 • 強化学習による応答候補の最適化 • MILABOTの性能 • 平均的に”Acceptable”より上の応答をする • ファイナリストのチームと匹敵 モデルのアンサンブル+強化学習はインタラクティブな対話に対して有効な方法
  39. 39. Backup
  40. 40. Sequence to Sequence • 可変長の入力に対して可変長の出力を返すNN • encoder(入力)→隠れ層→decoder(出力) • ユニットはLSTMやGRUが利用される botでは、前の会話から次の応答が生成されると期待 入力の際は順序を逆にする
  41. 41. VHRED • Latent variable hierarchical recurrent encoder decoder • 可変長の文章生成モデル • 潜在変数が存在 • Variational Autoencoderで学習 botでは、現在の会話履歴と会話履歴の類似度によって データセットから候補の応答を5つ検索、20の応答の log-likelihoodをVHREDで計算し、最も高いものを返す ※Word embeddingはGloVe
  42. 42. SkipThought • 教師なし学習で文のベクトル化を行う • 入力:i番目の文(ベクトル化は別途行う) • 出力:i-1番目とi+1番目の文 1. encoderに入力となる文を最後まで入力 2. encoderの学習により獲得した隠れ層の値を入力文のベクトルとして使用 3. decoderに入力文の引数と、生成する文の一つ前の単語を入力(最初の単語の場合はeos 記号を入力) 4. decoderのこの時の隠れ層の値と、出力される単語に対応する語彙ベクトルの内積を求め、この値をその時点での該当単語の 出力される確率として扱う 5. 出力文の最後まで 3−4 の操作を繰り返し、単語生成確率の和を求め、この値が最大化されるようにencoderとdecoderのパラ メータを学習する ユニットはGRU botでは、あらかじめトリガーフレーズを定義して おき、会話履歴の最後が一致したら優先応答を返す (たぶん)
  43. 43. GRU • LSTMを簡略化したようなユニット • 忘却ゲートと入力ゲートを「更新ゲート」にまとめる
  44. 44. 強化学習の流れ 流れ 1. 応答スコア(応答の良さ)を求める:DNN • 3.では、1.と同じ構造のDNNを使用(初期重みは1.の結果) 2. 報酬モデル • 予測スコアといくつかの特徴量で応答スコアを改善 3. 強化学習 • スコア関数 • 実際のラベル or 報酬モデルの出力を報酬として方策勾配 • 行動価値関数 • 状態遷移モデルを構築したうえで価値関数の更新を行う
  45. 45. 報酬モデル • 予測スコアや会話に関する特徴用を入力として、スコアを改善 • 𝜙 = argm𝑎𝑥 𝜙 𝑑 𝑡 𝑔 𝜙 ℎ 𝑡 𝑑 , 𝑎 𝑡 𝑑 − 𝑅 𝑑 2 • 𝑑:会話のラベル • 𝑔 𝜙 ℎ 𝑡 𝑑 , 𝑎 𝑡 𝑑 :線形回帰モデル • 特徴量:23個 • 応答スコアモデルの予測値 • 応答が一般的か • 疑問詞があるか • … • データセット:約4340会話 • 学習:3255, テスト:1085 • 𝑅 𝑑 :Alexaを利用してるユーザが会話終了時につけたスコア クラウドソーシングでのタグ付けと 実世界のユーザのスコアの違いを補正

×