LoginSignup
1

More than 5 years have passed since last update.

【参加レポ】TFUG #3

Posted at

TFUG #3

TFUG #3に参加しました。
2017/02/22 @Google(六本木)
https://tfug-tokyo.connpass.com/

メモメモです。

Retty

講演者:RettyのCTO
Retty流『2200万ユーザを支える機械学習基盤』の作り方
http://qiita.com/taru0216/items/dda1f9f11397f811e98a

今日は機械学習基盤のDocker部分を話す。

Rettyの紹介

Rettyトップページ
https://retty.me/

Recommend + Happy = Retty (創業6年ちょい)
「食を通じて世界中の人々をHappyに」
「人から探せるグルメサービス」
月間利用者数2200万人。

Rettyトップユーザーズ:ユーザからグルメな人を発掘してレコメンドに利用。
https://retty.me/top-users/

RettyはCGM(consumer generated media)。
利用者が作っていくメディア。

Rettyで扱うデータ

  1. 自然言語:口コミ300万件
  2. 人:行動、ソーシャルグラフ
  3. 画像:料理1000万枚
  4. お店:全国80万店舗(常にアップデートが必要)

DeepLearninig, Word2Vec, LDA, LSI・・・

機械学習基盤@Docker

インフラ:GPU付き自作サーバを全自動ネットブート(Kubernetes + Docker + Tensorflow)
使い方:SSHでログイン
コーディング:PythonユーザはJupyter Notebook
機械学習エンジニアは自分の要件にあったGPUサーバを選んで使う。

DockerはKubernetesで構築管理、OS(Ubuntu)部分はjuju + MaaS。

配備しているCuda Docker、Anaconda Docker、SSH Docker・・・は全て別々に配備されるDockerイメージだが、Fromは同じ(コアDockerイメージを用意し、継承ビルドしている)。
シェルプロンプトにビルドバージョンが出るようにし、Dockerイメージバージョンを明示している。

新しいDockerイメージはKubernetesで全マシンに配布している。
Kubernetes構築はjuju + MaaSで実現している。

ノートPCにも同じ環境を用意した(Ubuntu Desktop)。

DeepLearningの自然言語処理応用(文字単位CNN)

課題

日本語では単語の切れ目がわからない。
すもももももももものうち ← どこで切れている?
MeCabはあるが、辞書が必要→未知の単語は対応できない。
Rettyは口語表現(口コミ)→ギャル語とか。

解決策:character-level CNN

文字列のベクトル化(Word2Vec)。しかしWord2Vecは分かち書きが必要。やっぱりMeCab?
文字単位CNN:文字毎にCNNを適用し、単語はNNで見つけさせる。
https://papers.nips.cc/paper/5782-character-level-convolutional-networks-for-text-classification.pdf
http://qiita.com/bokeneko/items/c0f0ce60a998304400c8

カラフルボード株式会社

SENSY

http://sensy.jp/
パーソナルAI。感性を学習する人工知能。
弱いAI(特化型AI)。

適用分野

toC: ファッション、chatbot、グルメ。
toB: toCサービスを応用して企業提供。API。コンサルティング。

機械学習・深層学習事例

ファッション:ユーザのコーディネート
  各画像の推定スコア(CNN、chainerを利用)
  →商品企画の方向性、需要予測、MD計画の最適化
  →今後はtensorflowによる分散学習が必要(速度がでない)
グルメ:お酒の推薦
chatbot:サポート業務のAI化
広告CVR予測:オートエンコーダーで予測回帰モデル
  入力層1000次元 → 中間層200次元 → 出力層1000次元に戻す。
  シグモイド関数。

Tensorflowのデバッグ

GMOインターネット

NNで広告配信ユーザの最適化

Akane:ユーザごとにより適切な広告を配信する。
多層パーセプトロンのNN。
ユーザのWeb行動履歴(とてもスパース)、データ加工(圧縮、Embedding)→機械学習。

Kerasを利用(書くのが簡単)。
https://keras.io/

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1