JAWS FESTA TOKAIDO 2016

73
JAWS FESTA 東海道 2016 来栖川電算 取締役 山口 陽平 2016年10月22日(土) 名古屋工業大学 1 AI エンジニア

Transcript of JAWS FESTA TOKAIDO 2016

Page 1: JAWS FESTA TOKAIDO 2016

JAWS FESTA 東海道 2016 来栖川電算 取締役 山口 陽平 2016年10月22日(土) 名古屋工業大学

1

AI と エンジニア

毎 朝 体 操 の

の 取 り 組 み

Page 2: JAWS FESTA TOKAIDO 2016

今日話すこと

• 自己紹介 & 会社紹介

• AI のエンジニアリング過程の紹介

–毎朝体操

–体操の採点

–深層学習の導入

• まとめ

• 付録(求人 & 技術紹介)

2

Page 3: JAWS FESTA TOKAIDO 2016

自己紹介 & 会社紹介

とりあえず

3

Page 4: JAWS FESTA TOKAIDO 2016

山 口 陽 平 @melleo1978

• 所属 & 経歴 – 有限会社 来栖川電算 取締役

– Mashup Awards 9 優秀賞受賞

– 名古屋工業大学大学院 博士前期課程修了

– IPA未踏ソフトウェア創造事業 採択

• 自己紹介 企画 ~ 実装まで全部やる人

– 認識技術 & アルゴリズム の研究開発

• 文字認識,物体認識,動作認識,行動認識

– 言語処理系 の研究開発

• 分散DB,仮想機械,コンパイラ

• 好きなAWS AWS Lambda

※実物に髪の毛はありません。

4

Page 5: JAWS FESTA TOKAIDO 2016

山 口 陽 平 @melleo1978

• [実践]画像認識 を執筆 WEB+DB PRESS Vol.83

–これから画像認識をはじめる人におススメ

5

– OpenCV の使い方や実装例

– SIFTなどの各種アルゴリズムや特定物体認識のしくみ

–精度改善への取り組み方

Page 6: JAWS FESTA TOKAIDO 2016

来栖川電算 設立 2003年(名古屋工業大学発ベンチャー) 従業員 38人

• SF世界の技術を実現し、社会に役立てる

–人工知能技術のライセンス販売・研究・SI

• 文字認識,物体認識,動作認識,行動認識

–スマホアプリの企画・制作・運営

スマートライフ技術

NTTドコモ様との共同研究

スマートドライブ技術

大手自動車メーカー様むけ

メイドさん もふくめて

6

Page 7: JAWS FESTA TOKAIDO 2016

来栖川電算 様々なアルゴリズムを駆使する技術者集団

• 様々な認識技術

–文字認識,物体認識,モーション認識

• 限界性能を引き出す優れた実装技術

–機械学習・コンパイラ・データベース・仮想機械などのアルゴリズムとバイナリハック

• 高速化,並列化,分散化,省空間化,高精度化

• ビジネスを差別化する認識エコシステム

–スケールに応じた仕組,競争力の自動強化

7

Page 8: JAWS FESTA TOKAIDO 2016

毎朝体操

社員教育として始まったプロジェクトがウケた!

8

Page 9: JAWS FESTA TOKAIDO 2016

体操採点アプリ だれでも、いつでも、どこでも、すぐできる

• Android & iPhone ⇒ http://maiasa.jp/

9

Page 10: JAWS FESTA TOKAIDO 2016

スマホを持って体操 腕の動きを認識・採点し、素敵なレポートを作成

• 対応楽曲 ※近々、企業体操・ゆるキャラ体操を追加

–ラジオ体操(第1・第2)

• 対応デバイス

–スマホ,スマートウォッチ

10

Page 11: JAWS FESTA TOKAIDO 2016

ランキング 体操のスコアを競い合う期間限定イベント

• 消費者と企業を “体操” でつなぐ

–イベント・製品・特産品・観光資源などの宣伝,美容健康に関する啓蒙・習慣化支援,…

メーカー企業

イベント企業

教育機関

福祉施設

地方自治体

参加 主催

11

Page 12: JAWS FESTA TOKAIDO 2016

150,000 DL 突破 112 ヶ国の 20 ~ 50 代女性が自宅・職場・旅先で活用

12

0.0%

10.0%

20.0%

30.0%

40.0%

18~24歳 25~34歳 35~44歳 45~54歳 55~64歳 65歳以上

32.7

% 女

67.3

%

15053 いいね!

Page 13: JAWS FESTA TOKAIDO 2016

マグニチュード3~4 みんなのラジオ体操の熱量を合計するとヤバい!

• 13.581 GJ 2014年6月22日時点

–実はラジオ体操は運動強度が高い!

熱量 状況

1.500 GJ 雷の平均のエネルギー

1.770 GJ 質量1kgの物体が木星の引力圏から脱出するために必要な運動エネルギー

2.000 GJ マグニチュード3の地震のエネルギー

4.184 GJ TNT火薬1トンの爆発のエネルギー

8.532 GJ 世界の人口1人あたりの年間消費電力量(2002年)

13.581 GJ 毎朝体操の総熱量 2014年6月22日時点

64.100 GJ マグニチュード4の地震のエネルギー

運動強度 状況

2.0 METS 電車の中で立っている

3.0 METS 庭仕事・野球の野手

3.5 METS 平地での自転車

4.0 METS ハイキング・速足

4.5 METS ラジオ体操

6.0 METS 階段昇降・卓球

9.0 METS 水泳・高強度の長距離走・筋力トレーニング

13

Page 14: JAWS FESTA TOKAIDO 2016

知名度上昇中① ”風変わり” なアプリなので様々なメディアが注目

• Mashup Award 9 – 日本最大のアプリコンテストで優秀賞

• アプリソムリエ – 【石井寛子アプリ事始】「毎朝体操」超最先端ラジオ体操第1!?

• 週刊朝日 – 【おすすめアプリ生活】あなたの“ラジ

オ体操度”が測れる「毎朝体操」

• 日経新聞 – 職場で気軽に体ほぐし ヨガ・体操…お助けアプリ

• 文化放送 – ドコモ団塊倶楽部

– 8月23日(土)11:00 ~ 13:00

– アプリ紹介コーナー(生放送)

14

Page 15: JAWS FESTA TOKAIDO 2016

知名度上昇中② 2016.10.13 NHK「おはよう日本」にも!

15

Page 16: JAWS FESTA TOKAIDO 2016

知名度上昇中③ 噂の “ラジオ体操する IT 勉強会” の実態が全国放送

16

Page 17: JAWS FESTA TOKAIDO 2016

体操の採点 簡単そうで難しい・・・

リリース当初からずっーと改善

ユーザ体験の根幹

17

Page 18: JAWS FESTA TOKAIDO 2016

目標 スマホ内で採点し、その場でレポート化

• たくさんのユーザに納得感が高いスコアを待たせることなく提供したい

• 運営費を安くしたい

18

Page 19: JAWS FESTA TOKAIDO 2016

機器の制約 できるだけ多くの人に遊んでもらいたい

• 機器を統一できない

– みんなのスマホ・ウォッチ:〇

– ⇒ 古い機器・OSも視野に入れる必要がある。

– 指定のBLEデバイス:×

– ⇒ 買う必要があると遊んでもらえない。

• 使えないセンサがある

– 加速度センサ:○(ほぼ搭載されている)

– ジャイロセンサ:×(一部搭載されていない)

– ⇒ ONにすると、加速度にノイズがのったり、加速度の周波数が極端に低下する場合がある。

19

Page 20: JAWS FESTA TOKAIDO 2016

センサの制約 腕の軌道を復元できるほどではない

• やっかいなセンサたち

–低い解像度

–狭い値域:±2G

–低い周波数:8Hz

–ノイズ:インパルスがやたらはいる。

–バグ:正の最大値を超えると負になる。

–余計なお世話:省電力モードではとれない。

–⇒ ユーザはセンサを選べない。

20

Page 21: JAWS FESTA TOKAIDO 2016

遊び方の制約 個人差により全く異なるセンサ値になる

• 装着の個人差

–機器(スマホ・ウォッチ)、場所(左右の手・手首)、向き(真っ直ぐ・斜め)

–⇒ 気分や状況で変わる。どこにどうやって装着したかを正確に教えてもらうのは難しい。

• 動作の個人差 ※めちゃめちゃあってヤバい

–鏡、手の位置、手の返し、強さ、速さ、止め

–⇒ 気分で変わる。そもそも、うろ覚え。

21

Page 22: JAWS FESTA TOKAIDO 2016

ひねりだした方式 頑健なアルゴリズム × ビッグデータ × モバイル

• 分類タスクへの還元(頑健なアルゴリズム)

–腕の軌道のズレが分かるほどのセンサではないが、腕の動きの種類なら分かりそう。

• 網羅的なデータ収集(ビッグデータ)

–個人差により全く異なるデータになる上、影響を受けない分析方法がなさそう(データが多

様体を形成 ⇒ 部分空間ごとに異なる法則に支配)。

• リアルタイムな分類(モバイル)

–古いスマホでも動作する軽量な実装がいる。

22

Page 23: JAWS FESTA TOKAIDO 2016

分類タスクへの還元 時刻ごとに定められた腕の動きと一致するか?

• スコア = 腕の動きの一致率

23

Page 24: JAWS FESTA TOKAIDO 2016

網羅的なデータ収集 音楽に合わせて体操 ⇒ ユーザによる教師作成

• 教師データ = 音楽の再生開始からの秒数

–継続している人のデータを信用

–一見してダメなデータを除外

24

これだけやっても

かなりノイジー

Page 25: JAWS FESTA TOKAIDO 2016

リアルタイムな分類 限界まで効率を追求しないと実現できない実装

• 高速で省メモリな賢いアルゴリズム

–網羅的なデータを使って集団学習

• 機械的に生成された軽量特徴の組み合わせを獲得

–様々な索引や近似による効率的な実装

– OS・CPUアーキテクチャごとの最適化

• 安くて快適なユーザ体験

–スマホ内で採点することでサーバレス化

–体操中に並行して採点することで即応化

25

Page 26: JAWS FESTA TOKAIDO 2016

結果 リリースしてもよい程度には出来た!

• たくさんのユーザに納得感が高いスコアを待たせることなく提供したい

• 運営費を安くしたい

26

Page 27: JAWS FESTA TOKAIDO 2016

深層学習の導入

でも、まだ十分ではない・・・

27

Page 28: JAWS FESTA TOKAIDO 2016

深層学習の導入 膨大な軽量特徴 × 集団学習 ⇒ 深層学習(DNN)

• 1. 手法の変更

–採点の一部である分類タスクを置き換え

• 2. TensorFlow Manager

– TensorFlow で作った深層学習の実験環境

• 3. TensorFlow Compiler

– TensorFlow で学習したモデルを軽量な実行形式へ変換する最適化コンパイラ

28

Page 29: JAWS FESTA TOKAIDO 2016

手法の変更

1. 深層学習の導入

29

Page 30: JAWS FESTA TOKAIDO 2016

手法の変更 膨大な軽量特徴 × 集団学習 ⇒ 深層学習(DNN)

• 旧手法の複雑さを参考に DNN を設計

30

Page 31: JAWS FESTA TOKAIDO 2016

小規模実験 かなりチューンされた手法に勝つのは容易ではない

• 事例数(データオーギュメンテーションなし)

–訓練 1,409,410 検証 145,452

• 処理時間(サーバで測定)

–旧:訓練 0.5h 検証 17.0s

–新:訓練 16.8h / 95.8epoch (GPU) 検証 72.0s

31

手法 Accuracy※ Recall※ Precision※ F-Measure※

旧 78.5% 77.6% 78.2% 77.7%

新 79.1% 76.3% 81.2% 76.6%

※ラジオ体操第1を構成する運動ごとに求めた評価値の平均。

※ノイジーなので高くならない。体感性能はもっと良い。

Page 32: JAWS FESTA TOKAIDO 2016

リリース規模実験1 事例が増えるとパラメータが多い深層学習が有利に

• 事例数(データオーギュメンテーションなし)

–訓練 27,822,604 検証 27,453,840

• 処理時間(サーバで測定)

–旧大:訓練 8.0h 検証 0.9h

–新大:訓練 23.7h / 29.4epoch (GPU) 検証 6.2h

32

手法 Accuracy Recall Precision F-Measure

旧大 83.2% 84.3% 82.8% 83.4%

新大 86.8% 87.1% 87.6% 87.1%

※どちらも改良されているので単純に小規模実験と比較できない。それぞれに施された改良は同じ。

Page 33: JAWS FESTA TOKAIDO 2016

リリース規模実験2 パラメータ数を増やすほど深層学習が圧倒的有利に

• 事例数(データオーギュメンテーションなし)

–訓練 27,822,604 検証 27,453,840

• 処理時間(サーバで測定)

–新大:訓練 23.7h / 29.4epoch 検証 6.2h

–新大多:訓練 6.6h / 2.9epoch (GPU) 検証 67.1h

33

手法 Accuracy Recall Precision F-Measure

新大 86.8% 87.1% 87.6% 87.1%

新大多 ?.?% 90.6% 90.5% 90.5%

※パラメータ数を増やせば賢くなることが分かった段階で打ち切り。

※新大多のメモリ使用量は新大の 6.1 倍なのでリリースできない。

Page 34: JAWS FESTA TOKAIDO 2016

実験のまとめ 旧手法より賢い採点エンジンを得ることが出来た

• 深層学習のハイパーパラメータの探索は凄くしんどい。

–旧手法は学習が大変速いので傾向を把握するにはよい。物理現象に対応するハイパーパラメータにあたりを付けるのに使える。

• 深層学習は事例とパラメータが増えれば猛烈に賢くなる。

–推論にかかる時間やメモリ容量を抑えないと、スマホには組み込めない場合が多い。

34

Page 35: JAWS FESTA TOKAIDO 2016

TensorFlow Manager

2. 深層学習の導入

35

Page 36: JAWS FESTA TOKAIDO 2016

TensorFlow Manager めちゃくちゃたくさんの実験を楽に管理する環境

36

WebAPI へ実験スクリプトを投げるだけ 計算資源の確保解放やセットアップなど

の面倒ごとを勝手にやってくれる

Page 37: JAWS FESTA TOKAIDO 2016

なぜ作った? 今なら GCP で解決?

• 自社用にとにかく早く欲しかった

–ハイパーパラメータを探索すると、すぐに実験の数が増えて管理に困る。TensorFlow を入れたサーバを大量に用意し、手動で SSH したりすると取り違える。WebAPI 一発で面倒なことを全てやってくれる仕組ないとツライ。

• 敷地からデータを出せないお客様がいる

–お客様の敷地にある大量のサーバを使わせてもらえる(使わなければならない)。

37

Page 38: JAWS FESTA TOKAIDO 2016

TensorFlow Compiler

3. 深層学習の導入

38

Page 39: JAWS FESTA TOKAIDO 2016

TensorFlow Compiler TensorFlow で学習した DNN を効率的な実装へ変換

• DNN の推論計算を近似して、高速化・省メモリ化 – 量子化,パラメータの削減,計算順序の変更,計算の共有,基底による分解,確率的近似,カスケード,…

• 限界性能を引き出す実装 – アーキテクチャに最適化されたコード(専用命令,キャッシュ戦略),…

39

Page 40: JAWS FESTA TOKAIDO 2016

なぜ作った? 古いスマホでも軽快に動く実装が欲しかった

• そもそも DNN の推論が重い問題

– DNN は複雑な概念を学習するには向いているが、推論に必要な計算資源が多い。

–近似すれば、従来手法に匹敵する軽さで、従来手法より賢い、推論器を得られる。

– DNN を学習して近似なら、タスクごとに特徴を設計しなくてよいので、汎用性が上がる。

• 実装効率の問題

– NNは空間効率や計算効率があまり良くない。

40

Page 41: JAWS FESTA TOKAIDO 2016

まとめ

体操採点に関する様々な取り組みの

41

Page 42: JAWS FESTA TOKAIDO 2016

まとめ 深層学習は凄い・・・けど、そこが決め手ではない

• アルゴリズムより重要なことがある

–どういうタスクに落とし込み、どんな価値を提供するか

–十分な質と量のデータをいかに早く安く調達するか

–よく観察し、見込みがある仮説をたて、たくさん実験した人が強い

–AIの成長が、サービス・アプリの成長にそったものになっているか

42

Page 43: JAWS FESTA TOKAIDO 2016

求人

深層学習の仕事がしたい人! まじめな研究開発がしたい人!

43

Page 44: JAWS FESTA TOKAIDO 2016

スタッフ募集中 学生さん、転職者さん、力を貸して!

• 研究(認識技術) – 機械学習・アルゴリズム・高速化・省メモリ・画像・センサーに関する知識,Java,C++

• 開発(サーバサイド) – プロセス・アーキテクチャ・ミドルウェア・ネットワークに関する知識,Scala,Java,C++

• 開発(フロントエンド)

– UI/UX・Android・iOSに関する知識,JavaScript

• 企画(認識アプリ・認識サービス)

– 新しい習慣を考える力,普及のためのアイデア

44

Page 45: JAWS FESTA TOKAIDO 2016

新オフィス 勉強会 もやってるよ! メイドさん お手製の夕食も出るよ!

• 新オフィス

– 移転:2016 年 6 月

– 面積:以前の 2 倍!

• 最寄駅

– JR中央線 鶴舞駅

– 名古屋市営地下鉄

• 鶴舞線 鶴舞駅

• 名城線 矢場町駅

• 桜通線 新栄駅

45 いつでも

見学OK

Page 46: JAWS FESTA TOKAIDO 2016

告知

さいごに

46

Page 47: JAWS FESTA TOKAIDO 2016

機械学習 名古屋 http://machine-learning.connpass.com/

47

Page 48: JAWS FESTA TOKAIDO 2016

TensorFlow User Group http://tfug-tokyo.connpass.com/

48

Page 49: JAWS FESTA TOKAIDO 2016

情景画像文字認識

技術紹介①

49

Page 50: JAWS FESTA TOKAIDO 2016

情景画像文字認識とは

スマホなどで撮影した画像から文字を読み取る

50

Page 51: JAWS FESTA TOKAIDO 2016

情景画像文字認識とは

様々なパース、様々なレイアウト、様々な書体

51

Page 52: JAWS FESTA TOKAIDO 2016

情景画像文字認識とは

いわゆる “OCR” とは ”扱う画像” が違う

• 悪環境下での文字認識 –手書き・様々な書体・かすれ・点描・きついパース・統一性のない並び・逆光・陰・影・グラデーション・モアレなど

• 使える場面

–屋外でのスマホカメラを使った棚卸し

–車載カメラからの標識認識

–商品パッケージからの成分情報抽出

–キーワードによるアルバム・ビデオの頭出し

52

Page 53: JAWS FESTA TOKAIDO 2016

事例:タンゴチュウ Twitter で情景画像文字認識を体験できるサービス

53

Page 54: JAWS FESTA TOKAIDO 2016

物体認識

技術紹介②

54

Page 55: JAWS FESTA TOKAIDO 2016

物体認識とは

画像中の物体の種類・位置・姿勢を推定

55

Page 56: JAWS FESTA TOKAIDO 2016

物体認識とは

様々な向き・ポーズを学習させ見えの多様性を獲得

• 特定物体認識は素人でも簡単に使える

–どんな画像を学習に使うかを学べばOK

56

Page 57: JAWS FESTA TOKAIDO 2016

物体認識とは

モノをカウント、見た目で分からない情報を表示

• 使える場面

工場内で箱の仕分け

体験や評判の調査

ワインラベルで情報検索

AR付箋

集めて応募キャンペーン

ARフィギュア

57

Page 58: JAWS FESTA TOKAIDO 2016

事例:1000sors 誰でも簡単に使えるクラウド型物体認識エンジン

• 広い適用範囲 – 照明姿勢の変化に強く、様々な撮影環境に対応

• 驚異的な精度 – 数十万種類をほぼ完ぺきに識別

• 圧倒的な性能 – たった1台のPCで100万種類を瞬時に識別

– 台数を増やせばリニアにスケールアウト

58

Page 59: JAWS FESTA TOKAIDO 2016

事例:1000sors 手元の画像で精度や速度をすぐに確認可能

• ShotPreview for Android / iOS

①設定 ②撮影 ③確認

59

Page 60: JAWS FESTA TOKAIDO 2016

事例:ShotSearch 表紙を撮影すると発売日や口コミが分かるアプリ

• きついパースも、帯による隠れも、OK

60

Page 61: JAWS FESTA TOKAIDO 2016

事例:ShotSearch 表紙を撮影すると発売日や口コミが分かるアプリ

• よく似ていても、複数冊同時も、OK

61

Page 62: JAWS FESTA TOKAIDO 2016

事例:Cellars 18万件のワインラベルを認識するアプリ

• 世界で賞を獲得したアプリをダウンロード! – Asia Smartphone Apps Contest

• 広告マーケティング部門 Silver Award 2位

– 立命館大学 学生ベンチャーコンテスト • 最優秀賞 NICT賞

62

Page 63: JAWS FESTA TOKAIDO 2016

事例:画像認識API 画像を送るだけで写っている商品の情報を取得

• 登録商品:500 万件以上(昨年10月)の市販商品

–書籍,DVD,CD,PCソフト,ゲームソフト,食品パッケージ,… どんどん増加中

• 定期更新:網羅性 と 認識精度 の改善

–データ追加,パラメータ・アルゴリズム改良

63

Page 64: JAWS FESTA TOKAIDO 2016

開発者は今すぐ登録! ⇒ https://dev.smt.docomo.ne.jp

事例:画像認識API だれでも、かんたんに、マッシュアップ!

• docomo Developer support より提供中

画像認識 画像に写っている物体の情報を取得

環境センサー 日本全国の気温、降水量、紫外線量を取得

音声認識 話した内容を即座に文字に変換

雑談対話 自然な会話をやり取り

知識Q&A 今知りたいことをピンポイントで回答

音声合成 入力した文字を読み上げ

トレンド記事抽出 今人気の話題をジャンルやキーワードで検索

文字認識 画像の文字を読み取り

発話理解 要求を理解して、適切な機能を提示

動作推定 行っていた動作の推定

64

Page 65: JAWS FESTA TOKAIDO 2016

事例:運転補助 車載カメラに映る車や人などを検出・識別・追跡

• 単眼でも高精度、大きさ・距離も推定

世界中の走行データを活用

65

Page 66: JAWS FESTA TOKAIDO 2016

事例:注目領域抽出 『人の視線を集めそう』な領域をヒートマップ化

• 認識の事前処理に

–交通標識・道路標示・信号・看板・商品パッケージなど

• 教師作成の省力化に

–抽出領域をクラスタリングすることで、教師がなくても類似物体を検索可能

66

交通標識 がありそう

German Traffic Sign Dataset

Page 67: JAWS FESTA TOKAIDO 2016

モーション認識

技術紹介③

67

Page 68: JAWS FESTA TOKAIDO 2016

モーション認識とは

センサー値から動作や行動の種類や発生時刻を推定

68

Page 69: JAWS FESTA TOKAIDO 2016

事例:動作推定API ドコモ と 来栖川電算 の共同研究

• 加速度データから人の動作や行動を検出

–静止,歩き,走り,自転車,睡眠,食事

• 動作と直接対応しない行動も検出可能

• スマホ・スマートウォッチに対応

– Android,Android Wear,… • 加速度データにアクセスできる API を備えたウェアラブルデバイス

– ※次の画像は画像中のデバイスに対応していることを保証するものではありません。

69

Page 70: JAWS FESTA TOKAIDO 2016

開発者は今すぐ登録! ⇒ https://dev.smt.docomo.ne.jp

事例:動作推定API だれでも、かんたんに、マッシュアップ!

• docomo Developer support より提供中

画像認識 画像に写っている物体の情報を取得

環境センサー 日本全国の気温、降水量、紫外線量を取得

音声認識 話した内容を即座に文字に変換

雑談対話 自然な会話をやり取り

知識Q&A 今知りたいことをピンポイントで回答

音声合成 入力した文字を読み上げ

トレンド記事抽出 今人気の話題をジャンルやキーワードで検索

文字認識 画像の文字を読み取り

発話理解 要求を理解して、適切な機能を提示

動作推定 行っていた動作の推定

70

Page 71: JAWS FESTA TOKAIDO 2016

事例:ライフログ ドコモの動作推定APIの応用例

71

開発者は今すぐ確認! ⇒ https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=127

Page 72: JAWS FESTA TOKAIDO 2016

事例:毎朝体操 だれでも、いつでも、どこでも、すぐできる

• Android & iPhone ⇒ http://maiasa.jp/

72

Page 73: JAWS FESTA TOKAIDO 2016

事例:なりきり 2.0 ウェアラブルで現実のモノを操作する作品

• ゲームコントローラへの応用

– 格闘ゲームが遊べる程、応答が速く、精度もよい。

73