ZOZO SUIT 後の世界に起こること - 副作用編
思いついたら追記していく or コメント下さい。
- Amazon が似たようなことをやる。
- 中高生が結果を見せあって盛り上げる。「おまえ足短っ!」とか。
- 筋トレクラスタが盛り上がる。
- ダイエットクラスタが盛り上がる。
- 夫婦間でも結果を見せ合うのに躊躇する。
- ハロウィンで ZOZO SUIT 勢が現れる。
- 芸能人の採寸が高値で取引される。 by 匿名さん
- ZOZO suitを切ってであるくやつが発生。採寸スーツなのに。by id:asbjom
- スマホカメラで測定できるようになって、スーツがゴミになる。 by id:isawo81
- Amazonが電撃買収。 by id:mongrelP
- ボディサイズという新手の個人情報漏洩が見られるのもそう遠い未来じゃないかもしれない。 by id:nakakzs
- 気になる人のデータから人形を作って抱き枕にする(´・_・`)がっきーのデータとか高く売れそう by id:mutinomuti
- アマゾンが真似するなら、体重とか血圧とかも計測して、サプリメントとかを売りつけるだろうな by id:goldenangel
- お父さんが寝巻きがわりに使ってゴムだるんだるんになり、ちゃんと採寸できなくなる。 by id:tsunmatsu
- ライザップが相乗りしてくる by id:wow64
Deep Reinforcement Learning for Dialogue Generation を読む(まだ途中)
Abstract
seq2seq は良いのだけど未来の会話の方向性を無視した近視眼的な output を出しがち。future reward をモデル化することで良いゴールを達成するよ。
モデルは2人の virtual agent をシミュレートする。vitual agents は policy gradient mothods を使って良い sequence がでるように reward を与えられる。
Intorduciton
seq2seq はすごく良いけど2つの問題点がある。
(1) maximum-likelihood estimation (MLE) objective function 使っているけど。これが人間相手の会話で一番良い方法かわからないよえ。会話長く続くとは限らないよね。
具体的な例としては seq2seq はすごく generic な返事をしがち。I don't know とか。(筆者注:これは僕の chatbot でも起こっていて問題視している)
(2) 無限ループに入るパターンがあること。
例)
A: Where are you going?
B: I’m going to the restroom.
A: See you later.
B: See you later.
A: See you later.
B: See you later.
これも MLE base だから起きること
というわけなので以下の2点の改善ができそう。
(X) chatbot の真の目的を reward として定義できる (MLE ではなく)
(Y) generic response が long term でどういう影響をあたえるのかモデリングする
これらを実現するために seq2seq を backbone として、2人の virtual agent が可能性のある返信を模索しつつ予想される reward を最大化するように動作する。
我々の良い会話の定義は
- 将来を考慮している(forward-looking)
- 会話のキャッチボールが続く(interactive)
- 首尾一貫としている(coherent)
2. Related work
省略
3 Reinforcement Learning for Open-Domain Dialogue
2人の agent。p, q それぞれ first/second agent から生成された文を指す。agent 達は順番に会話をする。対話は p1, q1, p2, q2, ... のように表現される。ネットワークのパラメータは 4.3 で定義される policy search を利用して future reward が最大化されるように最適化される。
3.1 Action
: 対話の1つの文が生成されたことを action と呼ぶ
3.2 State
1つ前の対話の pair [pi, qi] のこと。対話の履歴は pi と qi をくっつけて LSTM encoder にぶっこんで vector representation に変換される
3.3 Policy
LSTM encoder-decoder でそのパラメータによって定義される。
3.4 Reward:
r で表す。r はそれぞれの action で得られた reward である。計算可能で良い会話につながる reward function の major factor は
Ease of answering
machine で生成された答えは easy to answer であるべき。ease of answering を measure するには -log(単調な返事を返す確率)
単調な返事のセット S を手作業で用意する。(例) I have no idea.
単調な返事は手作業のセットよりもたくさんあるが vector space 的には近いところにあるはずなので OK 。
実際の式は論文参照
Information Flow
Agent が新しい話題を提供するほうが望ましいので、1つの agent からの幾つかの返事が意味的に似たものになることに対してペナルティを課すことを提案する。cosine similarlity を使うよと。
4 Simulation
4.1 supervised learning
seq2seq model を 80M データで学習せる。1つ前と2つ前の文をつなげて source input とした。
4.2 Mutual information
別論文読む必要あり。
4.3 Dialgoe Simulation
2人の agent が会話するようにシミュレート。最大 5 turn まで試す。
Chatbot と beam search
seq2seq で decoder から出力するときに beam search の方が出現確率が高いモノを選べるので結果が良くなるはず。beam search の詳細は karino2氏の解説。beam search 自体はシンプルで理解しやすいアルゴリズムなのだけど、Tensorflow のグラフでこれを書くのは非常に難易度が高い。使っている seq2seq library には loop_function という引数があってこれで一つ前の input を横取りしてあれこれできる。ということでずっとコードリーディングしてたんだがそれでも難しい。ということで試行錯誤しているうちに他の人が実装しているのを見つけてようやく動いた。 beam search のほうが結果が良いのかいまいち分からない。
>おはよう normal:おはようございます beam 0 おはよう ござい ます 1 お は あり 2 お は あり です 〜 ♪ >こんにちは normal:はい(˘ω˘) beam 0 はい ( ˘ ω ˘ ) 1 はい ( ˘ ω ˘ ) スヤァ 2 はい ( ˙ㅿ˙ 。 . 3 はい ♡ 4 はい ( ´ ω 。 5 はい 、 さ www 6 はい ( 笑 >ばいばいー わろきちってんじゃんwww normal:beam 0 がち やし ま ー ん 1 いや ま ー ! 2 わろ ぶ や ! 3 ほら 4 ネタ やし ぶ 5 ど ま ー 6 がち やし ま ーー 7 いつの間に ま ー 8 す 9 いつの間に ぶ 10 いつの間に やし ぶ うち 11 やらかし た ❤ 12 現実 やし 13 ほんま やし ぶ () 14 や ま ー >(月曜日から)逃げちゃ駄目だ……! normal;えぇこれは、、、 beam 0 なんで 進捗 は これ じゃ ねぇ ・ ・ ω ! 1 え ぇ これ は 光 は 、 ! 2 え ぇ これ は 嫌 ) 3 なんで 進捗 おっ け ( ω ! 4 なんで 進捗 は これ じゃ ぞ 〜 > 子供たちにつられて苦手なミニオンズ…(´・ω・`)w normal:気をしてねー(˘ω˘) beam 0 気 を し て ( ˘ つ ω -(´∀`; ) 1 気 を すん な ( ˙ ˘ ) 2 仕事 を すん や ( ˙ ω -(´∀`; ) 3 気 を し て ねー 。 ( ^ ー ` ・ ) 4 気 を し てる やろ ( ˙ ˘ ω ˘ ・) ! 5 気 を し てる やろ ( ˙ ˘ ω ˘ ω ・ ) 6 気 を し てる の だ よ ) > 中華そば醤油をいただきました💕お、おいしい〜😍大盛いけたかも? normal: 追加ですよねwww beam 0 追加 し まし た ☺ 1 追加 です よ ☺ 2 追加 です よ ね www
Chatbot ときどき自発的に tweet するように
今日の Chatbot 変更。時々自発的に tweet するように。あとエラーハンドリングをまじめに。
「1手詰ハンドブック」完了
詰将棋を始めて続けることが今年の目標の一つ。1日3問ずつ解いてようやく1手詰ハンドブック終わった。当初の目的である脳内ワーキングメモリの増量効果はまだ感じていない。
次は 3手詰ハンドブック〈2〉 やる。