CA Reward

Tech Blog

Tech Blogトップに戻る

Data Science Summit 2016参加レポート

2016.07.13

  • このエントリーをはてなブックマークに追加
  • Pocket
kazz
kazzデータサイエンティスト

7月12, 13日開催のData Science Summit 2016に参加しました。

日本時間7/13現在で初日が終わったところですので、いったん初日開催分で見た講演についてまとめました。

ちなみに開催されたサンフランシスコのFairmont Hotelはこちらとなっています。

img_1.jpg

会場は3部屋だったのですが、雰囲気としてはこんな感じです。

img_2.jpg
img_3.jpg

Keynote 1
Pradeep Dubey (Director of Parallel Computing Lab - Intel Labs)

Sparseなデータ用に設計されたTileDBの紹介。
巨大なグラフデータでsparseな場合にはGraphMatがおすすめ。
共有メモリでスケールにも強い。

Keynote 2
Carlos Guestrin (CEO - Turi and Amazon Professor of Machine Learning - UW)

MLのための4つの技術的な必須項目

  1. maximize resources, reuse features
  2. never stop learning
  3. when scaling meters
  4. explain yourself

MLの開発の流れは

  • 問題をMLのモデルに落としこむ
  • モデルの評価・改良
  • システムに組み込む

→ 求めるのはモデルの精度ではなくプロダクトの成果

MLでAgile的な開発をする場合、高速にモデル構築をして、マイクロサービスとして実装。そこから得たフィードバックをもとにモデルを再構築する。

モデル再構築の方法として、

  • 高速で全体を再学習 => high latency
  • オンライン学習 => 一般的ではなく難しい

レコメンドの場合、オンラインで再ランク付けする
= 複雑なレコメンドモデルを更新するのではなく、レコメンドするアイテムの順番を随時更新することでアイテムの出し方を変える

Deep Learningについて、開発者はend-to-endの時間を気にするが、ユーザは予測結果が得られる時間を気にする。
→ 例、DeepArtでは、スタイルごとに学習済みのモデルを用意しておく。

mxnet(分散DeepLearning)は複数のGPUを使った分散学習で有効
tensorflowと比べてGPU数を増やして大幅にスケールする
例、tensorflowで27時間かかる処理が、Dato+mxnetで9時間で終わる。

Making Data Accessible with SQL-on-Everything
Tomer Shiran (Co-Founder & CEO - Dremio: Apache Drill)

Apache Arrowの紹介
これを使って様々なデータソースを繋ぐことができるので、1つのクエリで複数データソースのデータを結合するとかもできる。
しかも特殊なクエリではなく標準的なSQLで記述できるのがメリット。

記述のしかたとしては、「datastore.workspace.table」のような感じ
例、mongo.yelp.buisiness とか dfs.root./path/to/data.json みたいな
で、読み込んだデータはデータソースが違ってもjoinできる。

でPythonからも使える。

会場ではtableauを使ってのデモ紹介

Detecting Changes in IOT Data Streams without Prior Knowledge
Dr. Amitai Armon (Chief Data Scientist - Intel Advanced Analytics)

IoT: 数十億のマシンの協調した通信

ゴールとしては、センサーデータの変化を予測してアラートを上げる
=> ベースラインは何か?何と比べての変化か?

やること

  1. 仮説無しでの予測
  2. <同一デバイス上の複数のセンサーを見る /li>
  3. アラートを出すと同時に、なぜアラートが上がったかを明らかにする。

ステップ1

 時系列での振る舞いを決める
 - 定常性をチェック
 - 周期性を 〃
 どちらかの性質があれば、そこから外れる場合にアラートを上げる。

ステップ2

 定常性、周期性のないデータに対しては、1-class SVMで外れ値を見つけるアプローチ。
 外れたものはアラート。

ステップ3

 どの段階でアラートを上げたか表示する。

現状は、センサープラットフォームに組み込んで稼働中。

A Learning System Connected to a Crowd-Sourced Network of Mobile Sensors for HD Positioning
Bruno Fernandez-Ruiz (Co-founder & CTO - Nexar)

ダッシュボードに設置したカメラとスマホのジャイロセンサーを使って、車の正確な動きを計測する。
GPSデータからのスピード測定もしている

取得するセンサー情報から、GPSのトラックポイントから地図を作成したり、スピードや方向転換した場所のプロックなど。何度も訪れる場所の可視化もしている。

Advances in Recommender Systems
Danny Bickson (Co-Founder - Turi)

NETFLIX Prizeで表彰されている人たち。
このコンペでは、50m$の賞金で8.43%のレコメンド精度の向上があった。

このアプローチにはいくつか問題点もある。

  • コスト関数をどうする?
    平均誤差の最小化が常にベストとは限らない
    ユーザエンゲージメントとか収益もあり得る
  • どんなユーザがいるか分かっていない
     同一ユーザが複数デバイスから来る可能性や、新規ユーザの場合を考慮していない
  • アイテムも知らない
     車やソファーは一度買ったらリピートはまずしない
  • 数値でのスコア(レビューのスコアのような)があるかどうか?
     ない場合には自前でスコアづけすることがあるが、特定のキーワードの出現の有無でスコア化する要な場合に、そのキーワードがポジティブに使われているかネガティブに使われているかを考慮する必要がある。

DSSTNE: A new Deep Learning Framework For Large Sparse Datasets
Scott Le Grand (Senior Scientist - Teza Technologies)

レコメンドの伝統的なやり方として、MatrixFactorizationがよく使われているが、なぜNNではないのか。
というわけで、NNを使ったフレームワークを作った話

隠れ層のノード数を少なくして、出力層のノード数を多くする
→ 巨大なスパースデータという問題がある = 大きなメモリサイズとGPUが必要

途中から猛烈にスピードアップしていったのでメモはここまでです。。
DSSTNEの特徴を紹介していました。

Startup Session
1セッション10分のLT的なお話

License Compliance analysis using GraphLab
Vaidy Venkatesan (Sr. Manager, Business Engagement - Data Services Symantec)

グラフ分析をライセンス遵守の分析に応用

  • グラフ分析なのは?
     → 様々なケースをカバーできる
  • RDBではないのは?
     → RDBでできない問題を解決できる
  • GraphLabなのはなぜ?
     → 製品レベルでのマネタライズが可能。複数の問題にわたって処理できる。

Meal Recommendation with Dato
Ashu Dubey (Founder & CTO - 12 Labs Inc.)

食事を適切に推薦するにあたって

  • ダイエットに成功するというメリットあり
  • ユーザの好みの味と感想に基いて推薦したい
  • 朝昼晩では異なる食事を推薦するべき

食事の中の1品ずつを1アイテムとして、種類と朝昼晩いつ取ったかで特徴付けて、それが健康的だったかどうかを分類するイメージ。
推薦するときに健康的な食事を提示する。

分類にはロジスティック回帰を使用。
推薦には、類似アイテム推薦やFactorizationによる方法を使用。

精度評価とかはなかったですけど、導入しているようです。

### Machine learning based personalized messaging
Ohad Shperling (Co-Founder & CEO - Personalics)

コミュニケートのメリットとして、

  • 売上向上
  • ユーザ体験向上
  • 自動化

という点をあげることができる。

AmazonはさまざまなSNSとつながっていて、直接ユーザに配信することが可能であるが、他のブランドはそうはいかない。

例えば、ショッピング中の回遊に注目すると、a/bテストによって、すぐにショーケースを見せると売上が大きく向上した(日別の平均で156%UP)

よくなった秘訣としては、実験のボリュームを増やす(過去ログでオフラインテストする)ことが考えられる。製品名、カテゴリー名、製品価格あたりを属性としてアイテム間の類似度を使ってオフラインテストを行った。

ちょっとした感想

DeepLearning一辺倒ではなく、特にレコメンド系での従来の手法を使った導入事例の紹介などもそこそこありました。
「tensorflowに比べて分散時の性能が上」のように比較対象としてよく登場していたので、逆にスタンダードはtensorflowという認識はだいたい一致しているのかなと思いました。