チュートリアルの前に杉山研の山田さんと少しお話。今やられている研究の話を聞いたりする。共変量シフト(covariate shift)と転移学習の関係が共変量シフト転移学習であることを知る(今さら)。あの付近は違う名前でも同じような内容だったり、同じ名前でも分野が違うと違うものを指していたりする場合があるのでややこしい。
さて、今日の午前中はHal Daume IIIのチュートリアル。結構楽しみにしていたものの一つです。
- MA3: From Structured Prediction to Inverse Reinforcement Learning, Hal Daume III
- 資料
後半のInverse Reinforcement Learning自体と前半とそれとの関連がいまいち分かりませんでした。分かったというよりは前半は知識量でカバーしたけど、後半は知らないことが多かったので知識量ではカバーできず英語力を発揮しないといけなかったんだけど、英語力が足りず...というなんともなさけない感じでありました。。。これだと知らないことを英語で聞いて学習する(読めばさすがに理解できるんだけど、それじゃ現地に行ってチュートリアルや発表を聞きに行く意味がない)ということがいつまでたってもできないのですごくよろしくない。去年のEMNLPのときとリスニング力が変わってない。終わった後に坪井さんにこっそり教えてもらった。
前半を中心に内容をおおざっぱにまとめると
- NLPを中心とした画像、Bioinfo、AIのタスクの多くは単純な分類問題ではなく構造を持った出力が欲しい場合が多い
- ここで構造というのは「いくつかの分類問題を組み合わせたもの」以上のことを指している
- 例えばoutput間の相関やglobalな一貫性を持たせたい
- こうしたタスクを解くときにSVMやパーセプトロンのような識別関数(に限らないかもしれないけど)を使ったアプローチだと、(重みのアップデートなどで)あれこれ矛盾が起こってしまう場合がある
- また、素性の入れ方次第(特にglobalな一貫性を持たせるような素性とか)では単純にはviterbiが使えずargmax操作が非常に困難になり、decodeが遅くなる
- それを回避するために構造内の依存性を無視した場合のモデルを一度作って、その出力を再度入力として学習するようなstacked modelというのを紹介
- そのようなモデルを考えたときに、どういう情報を捨ててしまっているのか、またどういうタスクだとうまく行くことが知られていて、どういうタスクだとうまく行っていないかを紹介
- また、decodeの探索自体を頑張るためににヒューリステックや学習を入れる方法や論文が紹介(LaSoなど。全然知らなかったので帰ってからまた調べたい)
- それを回避するために構造内の依存性を無視した場合のモデルを一度作って、その出力を再度入力として学習するようなstacked modelというのを紹介
という感じ。詳細までは理解が追い付かないものが多かったけど、キーワード(とその重要度)を持って帰れそうなのでそれはよかった。
お昼は東工大の杉山先生とIBMの井手さんと食事(緊張しました、、、)。お二人とも周りの研究動向に大きくは左右されず自分の研究感というか哲学で動いてらっしゃるのだなぁということが伝わってきた。あれこれ少し質問されたけど、あまりうまく答えることができず。お隣の業界におられる方々なのでまたお会いするときにはもう少し議論できるようになっていたい(修行が足りなかった...)。
午後のチュートリアルは
- MP2: Conformal Predictions for Reliable Machine Learning: Theory and Applications, Vineeth N. Balasubramanian and Shen-Shyang Ho
を聞いていたが、なんとなくイマイチな感じだったので、途中で抜け出し、他の会場をぶらぶらと見学しに行ったり。
以下はHalのチュートリアルの時のメモ。途中で電源切れた...。
- structured predictionはなぜ重要なのか
- output間の相関を捉えるため
- globalの一貫性を持たせるため
- SVMのオンライン版とパーセプトロンのアップデート式の違いについて(p20)
- どこ見れば載ってるのかな
- multiclassのパーセプトロンについて(p22)
- よく分からんかった
- featureにクラスラベルも入ってくる(重要っぽい)
- argmaxを取るところがstructureだと大変になってくる
- output featureとmarkov featureだけだったらviterbiが使える
- other featureが使えない(verbの数とか)
- accounting for a loss function
- ラベル間のloss functionを取り入れる
- stacking
- いくつもの独立したモデルを作る
- レイヤーになっている(1層目はfixed、2層目ではそれぞれ独立にして解くが1層目の情報をfeatureとして使える)
- yを経由するより前のxから直接edgeを張ったらどうか
- タスクによって効いたり聞かなかったりしているようで面白い
- 失なっている情報をいくつかの種類に分割して考えていた(KL使って)
- searchの問題
- Enqueueの管理の仕方で探索のアルゴリズムが変わってくる
- Online Learining Framework(LaSO)
- 途中からIRLとmax margin planningが関連し出した付近からつながりがよく分からなくなった
- [Neu+Szepevari, MLJ09]付近を追ってみればいいのかな
- searchとlearningを統合しようという話になる
- [D+Marcu, ICML05; D+Langford+Marcu, MLJ09]付近をチェック
- 構造学習とIRLの関係
- 式の上では似たようなことをやっているが、違いはそれらの思想にあるらしい(p117)