line bot ✕ chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

12
加賀谷 北斗 (@_hokkun_) LINE bot Chainer - ロカボ recipe bot - 1

Upload: hokuto-kagaya

Post on 13-Apr-2017

75 views

Category:

Science


5 download

TRANSCRIPT

Page 1: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

加賀谷 北斗 (@_hokkun_)

LINE bot ✕ Chainer- ロカボ recipe bot -

1

Page 2: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

自己紹介•加賀谷 北斗 (@_hokkun_, @hokkun_cv)• 2013-2016 東大相澤・山崎研究室(学士・修士)• 食事画像認識の研究に従事

• 2014-2015 インターン@PFI/PFN• Surveillance video analysis

• 2016- 新卒入社@LINE株式会社• ゲームプラットフォーム開発エンジニア

•現在は Java でサーバサイドエンジニア• 特に CV や機械学習には業務では触れていない• 今回の発表は完全に個人として取り組んだ内容

2

Page 3: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

3

Page 4: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

LINE bot?• LINE Messaging API 公開中• https://business.line.me/ja/services/bot

•りんな by Microsoft

4

Page 5: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

Today’s Goal•Messaging API を利用してロカボ recipe bot を作る•要件• 具材の画像を貼るとその具材を使った糖質少なめのレシピの候補を見せてくれる• 私が機械学習や chainer の知識を取り戻す(重要)

•今日はLTなので何番煎じだなどというご指摘はご容赦くださいw

5

ロカボ (Low-Carb):日々の食事から糖質を減らすことで健康的な生活を行おうという取り組み。日本では「糖質制限」などとも呼ばれる

Page 6: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

DEMO Video

6

Page 7: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

シーケンス

7

Page 8: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

技術スタック• IaaS

• さくらのVPS 1GB / CentOS 6.8 (for bot)• Bitfusion Ubuntu 14 Chainer (AWS Marketplace) / Ubuntu 14 (for training models)

• on g2.2xlarge• web server

• nginx 1.10.2• language

• Python 3.5• WSGI server

• Gunicorn• web framework:

• Django + Django REST framework (+ SQLite)• asynchronous worker

• Celery 4.0.2 + Redis 2.4.10• deep learning

• chainer 1.20.0• dataset

• Food-101 [1]• recipe search

• edamam API = メニューだけではなく各種栄養素の値も取得できる

8[1] L Bossard, et al., “Food-101‒mining discriminative components with random forests,” ECCV 2014

Page 9: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

学び• Edamam API が便利だった(CVとは関係がない)

• すっきりした document、無駄のない admin

• Chainer の example がだいぶ進化していた• 導入が非常に楽になった• ただしコードの抽象性が増したので実装を追うのが少し難しくなった感じを受けた

• Chainer 環境全部入りの AMI も登場していた• Bitfusion.io 社のもの (2016/3最終更新?)

• LINE bot のインタフェースは画像認識のアプリケーション用としては結構合っているかも?

9

Page 10: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

ハマった点•CPUでの学習は無理• いかに学生時代が恵まれていたかを知る• AWSのすばらしさを再確認• 予測はCPUでも可能だったが。。

•最近(?)の勾配降下法の最適化アルゴリズムの進化が早く、どの手法がよいのかキャッチアップが大変だった• MomentumSGD, Adam, AdaGrad, AdaDelta..

10

Page 11: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

まとめと宣伝①•実はSDKあります• https://github.com/line• Java, Go, PHP, Perl, Ruby, Python

• bot 開発しましょう• 自然言語処理・画像認識・web技術、様々な最新技術を組み合わせる必要があり、非常に勉強になる• Bot Awards 開催してます!• https://botawards.line.me/ja/• 優勝賞金 1000万円!!

11

Page 12: LINE Bot ✕ Chainer - low-carb recipe bot - @ 関東コンピュータビジョン勉強会

宣伝②•新しい developer 向けサイト OPEN• https://engineering.linecorp.com/ja/

• LINE株式会社ではエンジニアを募集しています• https://linecorp.com/ja/career/ja/all?job=%E6%8A%80%E8%A1%93%E8%81%B7• 興味ある方は私にご一報を!

12