でかいチーズをベーグルする

でかいチーズはベーグルすべきです。

CIKM2014四日目

CIKM4日目。本会議の最終日。

今日は一番楽しみにしてたJeff Deanのキーノートがあった。さすがすごい面白かった。うわー、Deep Learningすげー、手出さんとこーって思った。Baiduの人はインダストリーセッションなのに延々とSGD確率的勾配降下法)の高速化についてガチ理論の話をしててすごみがあった。

今日で本会議は終わりだけどキーノートとチュートリアルとインダストリーは全体的にかなり面白かった。流行りのキーワードとしては Health care, Deep learning, Knowledge graphでしたね完全に。こういう場に来ると業界の第一人者が何を重要だと思っていて、どんなことをしているのかをざっと眺めることができるからホントに良い。

僕から言えるのは一つだけ。ランチの後にもコーヒーを出してくれるとありがたい!

Keynote 3: Deep Learning - Jeff Dean (Google)

Slide (pdf)

Jeff DeanによるDeep Learningについてのありがたいお話。テクニカルな話には踏み込まずチャレンジとかアプリケーションとかについて話してた。未来が見えた感じがしてすごい良かった。

全てのあらゆるタスクについてそれぞれモデルを作ることは出来ない。例えば文字認識に限ってもいろんなフォントがあるし、筆記体なんか最たる例だし、そもそも色々な言語がある。だからDeep Learningだ!らしい。

Minimizing time to results

学習するのにかかる時間には制限があるよってのを強調してた。学習には二つの並列処理がある。

  • Model parallel
  • Data parallel
    • parameterserver

Good generalizationとSmall recognition

画像認識をする時に人間が見たら一発で分かるけど機械にやらせると難しい例。難しくて出来ないよーって言ってるのかDNNなら出来るんだよ―って言ってるのかよく分からなかった。

  • Good generalization
    • 例えば一つの料理のアップの写真も遠くからたくさんの料理を写した写真も同じく"meal"として認識できるか
  • Small recognition
    • 逆の話で例えばそれぞれの花の種類を認識できるか

Applications

DNNはいろんな問題に使える!これはまさに最初に提言したチャレンジに対応してる。

  • Speech recognition, Image recognitionで大きな改善
  • 写真の中に映ってるテキストの部分を検出

これらのタスクは特徴量がdense。じゃあスパースなベクトルはどうか。

Sparse vectors

テキストとかユーザのアクション(投稿、購入とか?)はスパースなベクトルとして表される。こういうデータにも適用できるの?という話。

できる。スパースな空間からもう少し次元の小さい(?)空間にEmbeddingする。どうやってやるかは話してなかったけどそれが出来た後何が出来るかを話してた。

例にあげてたのはSkip-gram。Embeddingされた空間では単語はベクトルとして表現できるけどそれらは足し算引き算が出来る。word2vecですね。これはホントにすごい。何でこうなるのかってもうわかってるのかな?

  • Rome - Italy + France = Paris
  • Big - Bigger + Taller = Tall

Paragraph vector

単語だけじゃなく、文をembeddingする。Paragraph vectorはParagraphだけじゃなくていろんなデータに使える。

  • User actions
  • Movies
  • Audio waveforms

Combining modalities

画像のピクセルをそのまま入力してそのキャプションを出力するというタスクの紹介。on-goingらしい。簡単な画像については人がキャプションしたものと同じようなものが出力できていたけど、難しい画像ではまだうまく行ってないよ―っていうのを面白い間違い例と共に紹介してた。あと、これで出力したキャプションは人がキャプションしたものより"浅い"キャプションだった。

  • 例)テニスプレイヤーがサーブしようとしてる画像
    • Human: テニスプレイヤーがサーブしようとしてる
    • Machine: テニスラケットを持った男がテニスコートの上にいる

Conclusions

  • DNN -> wide range of tasks
    • Parallelism
    • Automatically build high-level representations
    • Embeddings -> sparse data
    • Effective on many domains
      • Speech
      • Vision
      • Language
      • User prediction

Industry Session 3: Building a Scalable System and Algorithms for Machine Comprehension of Text - Wei-ying Ma (Microsoft)

うーん、いまいちよく分からなかったんだけど、いろいろやるのに環境は整ってきてるよね、ビッグデータ分析しようよ。みたいな話。Jeff Deanの話と同じでEmbeddingの話もしてた。ちょっと違ったのはKnowledge GraphのエンティティもEmbeddingしましょう(TransE)って言ってたところかな。

あとはMicrosoftが開発してるCortanaとXiaoiceについての話。ユーザが深夜にXiaoiceに対して今日あった出来事について話してたり、「愛してるよ」って言ったりしててすごいんだよって話をしてた。会場から「じゃあチューリングテスト通ったのかよ」って質問が来てて笑った。

Why now?

  • We can process big text data
  • We have diferent representations
    • graph, discrete, continuous vector space
  • More feedback from personal assistant
    • Siri, Cortana, Xiaoiceとか

Industry Session 3: Modern Optimization Techniques for Big Data Machine Learning - Tong Zhang (Baidu)

SGDはすごいけどまだ遅い!高速化高速化!っていうお話。ガチ理論的すぎてほぼ何も分からなかった。Single machineで高速化する手法とDistributedな環境で高速化する手法の二種類が紹介されてた。インダストリアルセッションなのにBaiduに関することは何も話してなかった。