SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
ぼくのかんがえたさいきょうの
機械学習プロダクト進⾏行行法
(PoC/デモ開発編)
by  Norihiro Shimoda
⾃自⼰己紹介
• 下⽥田倫倫⼤大(@rindai87)
• データ分析専業の企業のエンジニアマネージャー
• TensorFlow User  Group(TFUG)主催者
• GDE(Google  Developer  Expert)のML  Expert
今⽇日お話すること
機械学習要素が⼊入った
プロダクト開発の
ベストプラクティスっぽい何か
ただし、PoCやデモフェーズまで
そこから先は⾊色々とアレなので含んでいません
注意
結果うまく⾔言った話を
後から整理理したので
キレイに⾒見見えますが
実際はすごく泥泥臭いです
想定オーディエンス
お客様
(つよい)
わたしたち
(よわい)
⼀一ヶ⽉月後までにイベント⽤用
の機械学習のデモ作りたい
んだけど
は、はひぃぃぃ
⼆二ヶ⽉月後までにPoC終わら
して成果をエライ⼈人の前で
デモしたいんだけど
っていう状況で
プロジェクトマネジメント
しないといけなくなった⼈人たち
に捧げる話
(機械学習)エンジニアデータサイエンティスト プロジェクト推進役
PM  /  PO的な⼈人
最近の問題意識識
案外⼈人材はいる
圧倒的不不⾜足
プロジェクト推進役
• データサイエンティストと機械学習っぽい話をする
• エンジニアとシステムや開発っぽい話をする
• クライアントと要件やビジネスっぽい話をする
• 全部まとめてやるべきこと/やらないことを決める
こういう⼈人がいないと
カジュアルに炎上します
1ヶ⽉月くらい
5⼈人くらい
(公開できる)私の経験その1
Serving  Mode
Learning  Mode
https://sho-‐‑‒soar.github.io/slides/tfug5/#/ https://goo.gl/Vi7hTE
技術的な細かい話は以下からどうぞ
1.5ヶ⽉月くらい
5⼈人くらい
(公開できる)私の経験その2
期間の割にボリュームあるな­−
って思いました?
通常の案件でもだいたい
似たようなものだったりします
だいたい3〜~5⼈人で1〜~2ヶ⽉月くらい
PoC/デモ開発プロジェクトの進⾏行行
1. 要望のヒアリング /  要件の整理理
2. 全体のラフ案の整理理
3. ラフ案の実現可能性の検証
4. ラフ案から設計の起こし
5. 実装!実装!
6. テスト!テスト!
7. 制約条件やオペレーションの整理理
8. 納品(デモならセットアップやサポートなども)
この辺まで精度度の良良い⾒見見積もり
ができないが時間がないので、
エイヤでやらざるを得ない
顧客要望の機械学習的観点での整理理
テーブルの上にあるお菓⼦子を認識識して、ロボットで掴
むと⾯面⽩白いと思うんですよね。⾳音声で⼊入⼒力力してお薦め
をレコメンドする感じです。
レコメンドロジックの構築から逆算し、
ロボットの操作に⽬目処をつけなければいけない案件
⾳音声認識識と物体認識識(画像処理理)は確
実に出て来るな。お勧めのレコメンド
をどうするかがポイントの案件だな。
あとロボットの所もどうするかだな。
こんな案件っぽいな、と分かるわけです
⾳音声認識識
画像処理理
レコメンド
ロジック
ロボットの
操作
レコメンドロジックを決めるとこうなります
⾳音声認識識
による
⽂文字起こし
お菓⼦子画像の切切
り出し
Word2vec
による
特徴量量化
⽬目標物認識識
発話
テーブル
の上の
お菓⼦子
CNNによる画
像の特徴量量化
ベクトルの
内積
レコメンドロジック
⽬目標物取得
ロボットの操作
実現可能性の検証に⼊入ります
• ⾳音声認識識での⽂文字起こし
• お菓⼦子画像の画像切切り出し
• word2vecをどう実現するか
• CNNをどう実現するか
• ロボットの操作はそもそもどうするのか?
– ロボット⾃自体の選定
– 選定したロボットの精度度などの動作まわり
パーツパーツが全体の
シナリオにあった形で
うごくのか?という
観点での選定/検証
実現可能性検証〜~実装のポイント
• 基本的に⾃自前でモデルやアルゴリズムを作らない
• モデルやアルゴリズムは差し替えしやすくしておく
• 実装は基本エイヤーで頑張るしかない
– たぶんプログラミング⾔言語選定はPython⼀一択
⾃自前で作らず検証
⾳音声認識識
Cloud Speech  API
Web  Speech  API
⽂文字起こしの形態素解析 Cloud  NL  API
⽂文字起こしの特徴量量化
Gensim +  word2vec-‐‑‒
Googlenews-‐‑‒vectors
画像の切切り出し OpenCV
画像の特徴量量化 TensorFlow +  Inception  V3
今回はGoogle  Cloudのイベントだったのでこんな感じですが、
もちろんGoogle製品じゃなくてもできることはありますね
ここの選び⽅方を  
失敗すると死にます  
センスの良良いあなたによって
実現可能性が確認できました!
モデルの精度度やら⾊色々気になりますが、
動きそうならこの時点ではOKとします
※この時点でOKしたやつがだいたい最終化されます
モデルの差し替え
• 最初は公開されているモデルやライブラリでとにかく試
してみる
• 全部作り終わってから精度度向上を検討する時にモデル⾃自
体は再考する
– word2vecの辞書を別のものに変える
– CNNのモデルをInception-‐‑‒v3から別のものに変える
– あるいは⾃自前で作る
実装
• まあ基本は気合でエイヤーの世界となります
• 機械学習系のライブラリはPythonが充実しているので、
必然的にPythonで作ると効率率率が良良くなります
• なので、Flaskあたりで薄いAPIを作って裏裏側でほげほげ、
みたいな感じになるかと
Web  API
By  Flask
ML  App
テスト〜~制約条件の洗い出し
• 実装ができたらひたすらテスト
• テストの⽬目的はバグの洗い出しだけではなく、実装され
たものの制約条件を洗い出す
• 制約条件はお客様にお伝えしてご理理解/ご納得いただく
– 制約条件がそのままデモシナリオに反映されていくイメージ
ということで、、、
• ここまできちんと進めると「特定条件下」で「要望を満
たすように」動いている何かができてきます
• そこから可能な範囲で精度度の向上など頑張りましょう
その他どうでも良良いTips
その他どうでも良良いTips
• ベンダーが複数出てくる時、インターフェースの責務を
こっちに寄せる
– 調整するコストの⽅方が⾼高いので、よっぽどの事がない限り相⼿手
が欲しがるプロトコルで欲しいデータを作って上げる
• 転ばぬ先の杖は多めに⽤用意する
– 特にデモの場合(かつハードウェアが絡む場合)⽤用意周到過ぎ
る準備をしたとしても、それでも不不⾜足の⾃自体が起こる
「何とかなる」
という強い⼼心を持つことが
⼀一番⼤大事でしょう
ほぼ毎⽇日「できそう」と「できないかも」
を往復復する不不安定な⽇日々が続きます
まとめ
• 機械学習は⽇日々進化しており、それを使ったプロジェク
トは⽇日々難易易度度が増し、特にプロジェクト推進役には職
⼈人化/属⼈人化が加速しています。
• 知⾒見見を共有し合う場が欲しいと思う今⽇日このごろです。
おまけ(TFUG告知)
• 発表者はいつでも募集中!  
– TFがちょっとでもかすってたらOKです!  
  
• 運営側の参加者募集中!  
– めっちゃ肥⼤大化してますが今のところ2⼈人体制なので⾟辛いで
す!  
– 今ならやりたい放題やっていただけます!
Thanks!!

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

自慢のAi活用アイデアを30分で潰せる 「AI Lean Diagram」
自慢のAi活用アイデアを30分で潰せる 「AI Lean Diagram」自慢のAi活用アイデアを30分で潰せる 「AI Lean Diagram」
自慢のAi活用アイデアを30分で潰せる 「AI Lean Diagram」
 
エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善
エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善
エンジニア勉強会資料_⑥エンジニアが主導する組織マネジメントや開発体制の継続的改善
 
5年前の自分たちに伝えておきたいこと モニタリング
5年前の自分たちに伝えておきたいこと   モニタリング 5年前の自分たちに伝えておきたいこと   モニタリング
5年前の自分たちに伝えておきたいこと モニタリング
 
Visasq
VisasqVisasq
Visasq
 
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
2018.08.21-機械学習工学研究会 現場を交えた勉強会発表資料
 
機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介機械学習システム開発案件の事例紹介
機械学習システム開発案件の事例紹介
 
Machine Learning 15 minutes! とあるデザイン会社の中の人にとってのA.I.
Machine Learning 15 minutes! とあるデザイン会社の中の人にとってのA.I.Machine Learning 15 minutes! とあるデザイン会社の中の人にとってのA.I.
Machine Learning 15 minutes! とあるデザイン会社の中の人にとってのA.I.
 
事業会社が開催する人材育成プログラム ”Data Science BOOTCAMP”とは?
事業会社が開催する人材育成プログラム ”Data Science BOOTCAMP”とは?事業会社が開催する人材育成プログラム ”Data Science BOOTCAMP”とは?
事業会社が開催する人材育成プログラム ”Data Science BOOTCAMP”とは?
 
機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事
 
Unityではじめるサンデープログラミングのススメ
UnityではじめるサンデープログラミングのススメUnityではじめるサンデープログラミングのススメ
Unityではじめるサンデープログラミングのススメ
 
新卒2ヶ月でAIを社会実装させた3つのデザイン
新卒2ヶ月でAIを社会実装させた3つのデザイン新卒2ヶ月でAIを社会実装させた3つのデザイン
新卒2ヶ月でAIを社会実装させた3つのデザイン
 
Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由Hack/HHVMの最新事情とメイン言語に採用した理由
Hack/HHVMの最新事情とメイン言語に採用した理由
 
AIの研究開発はインターン生が牽引!優秀なAIインターン生を20名以上獲得したコツとは!?
AIの研究開発はインターン生が牽引!優秀なAIインターン生を20名以上獲得したコツとは!?AIの研究開発はインターン生が牽引!優秀なAIインターン生を20名以上獲得したコツとは!?
AIの研究開発はインターン生が牽引!優秀なAIインターン生を20名以上獲得したコツとは!?
 
デ部会 プロトタイプ
デ部会 プロトタイプデ部会 プロトタイプ
デ部会 プロトタイプ
 
ISACA2017年10月例会「アジャイル開発における開発プロセスと監査ポイント」
ISACA2017年10月例会「アジャイル開発における開発プロセスと監査ポイント」ISACA2017年10月例会「アジャイル開発における開発プロセスと監査ポイント」
ISACA2017年10月例会「アジャイル開発における開発プロセスと監査ポイント」
 
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
 
1 1 プログラミング3つの疑問
1 1 プログラミング3つの疑問1 1 プログラミング3つの疑問
1 1 プログラミング3つの疑問
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
 
 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」
 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」
 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」
 
昨日Ucp advanced受験してみた!
昨日Ucp advanced受験してみた!昨日Ucp advanced受験してみた!
昨日Ucp advanced受験してみた!
 

Semelhante a ぼくのかんがえたさいきょうの機械学習プロダクトの作り方

開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
Shigeharu Yamaoka
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
Yohei Oda
 
Jag神戸3(共有用)
Jag神戸3(共有用)Jag神戸3(共有用)
Jag神戸3(共有用)
takagig
 

Semelhante a ぼくのかんがえたさいきょうの機械学習プロダクトの作り方 (20)

開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
 
いんふらフレンズ
いんふらフレンズいんふらフレンズ
いんふらフレンズ
 
【de:code 2020】 リテール AI の PoC 事例から学ぶスケールアウトへのヒント
【de:code 2020】 リテール AI の PoC 事例から学ぶスケールアウトへのヒント【de:code 2020】 リテール AI の PoC 事例から学ぶスケールアウトへのヒント
【de:code 2020】 リテール AI の PoC 事例から学ぶスケールアウトへのヒント
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
プロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディプロトタイピングツール投入のケーススタディ
プロトタイピングツール投入のケーススタディ
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
モブプロ導入で見えてきた効果
モブプロ導入で見えてきた効果モブプロ導入で見えてきた効果
モブプロ導入で見えてきた効果
 
プランナーがPR駆動してみた話
プランナーがPR駆動してみた話プランナーがPR駆動してみた話
プランナーがPR駆動してみた話
 
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門とりあえず30分でひととおり分かった気にはなれるアジャイル入門
とりあえず30分でひととおり分かった気にはなれるアジャイル入門
 
【いまこそ】エンジニアとデザイナー【立ち上がれ】
【いまこそ】エンジニアとデザイナー【立ち上がれ】	【いまこそ】エンジニアとデザイナー【立ち上がれ】
【いまこそ】エンジニアとデザイナー【立ち上がれ】
 
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点- 『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
『Mobageの大規模データマイニング活用と 意思決定』- #IBIS 2012 -ビジネスと機械学習の接点-
 
【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化【デブサミ2010】アジリティを向上させる開発ツールの進化
【デブサミ2010】アジリティを向上させる開発ツールの進化
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
 
.net micro framework for toppers
.net micro framework for toppers.net micro framework for toppers
.net micro framework for toppers
 
実務でGo使い始めました
実務でGo使い始めました実務でGo使い始めました
実務でGo使い始めました
 
Google colab 2
Google colab 2Google colab 2
Google colab 2
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
Jag神戸3(共有用)
Jag神戸3(共有用)Jag神戸3(共有用)
Jag神戸3(共有用)
 

Mais de Ozawa Kensuke

Mais de Ozawa Kensuke (11)

20171125クラウドソーシングによる教師データ作成
20171125クラウドソーシングによる教師データ作成20171125クラウドソーシングによる教師データ作成
20171125クラウドソーシングによる教師データ作成
 
15min nov25
15min nov2515min nov25
15min nov25
 
15min発表資料株式会社standard.pptx.compressed
15min発表資料株式会社standard.pptx.compressed 15min発表資料株式会社standard.pptx.compressed
15min発表資料株式会社standard.pptx.compressed
 
Ai受託プロダクト開発アンチパターン (1)
Ai受託プロダクト開発アンチパターン (1)Ai受託プロダクト開発アンチパターン (1)
Ai受託プロダクト開発アンチパターン (1)
 
15min発表資料株式会社standard
15min発表資料株式会社standard15min発表資料株式会社standard
15min発表資料株式会社standard
 
第16回 ml15 三好
第16回 ml15 三好第16回 ml15 三好
第16回 ml15 三好
 
Ai受託プロダクト開発アンチパターン
Ai受託プロダクト開発アンチパターンAi受託プロダクト開発アンチパターン
Ai受託プロダクト開発アンチパターン
 
20170624yamada
20170624yamada20170624yamada
20170624yamada
 
20170624 発表資料-ml
20170624 発表資料-ml20170624 発表資料-ml
20170624 発表資料-ml
 
Ml15 20170624
Ml15 20170624Ml15 20170624
Ml15 20170624
 
20170624yamada
20170624yamada20170624yamada
20170624yamada
 

ぼくのかんがえたさいきょうの機械学習プロダクトの作り方