Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ロボット事業における機械学習エンジニアという仕事について/What does a Machin...
Search
alegonz
March 04, 2019
Technology
8
2.6k
ロボット事業における機械学習エンジニアという仕事について/What does a Machine Learning Engineer do at a robot company?
2019年3月4日開催「白金鉱業 Meetup Vol.6」(
https://brainpad-meetup.connpass.com/event/119149/
) での発表資料
alegonz
March 04, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
スプリントレビューを効果的にするために
miholovesq
9
1.7k
Railsの限界を超えろ!「家族アルバム みてね」の画像・動画の大規模アップロードを支えるアーキテクチャの変遷
ojima_h
4
510
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
4
1.7k
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
1.3k
AIを使っていい感じにE2Eテストを書けるようになるまで / Trying to Write Good E2E Tests with AI
katawara
3
1.8k
OTel 公式ドキュメント翻訳 PJ から始めるコミュニティ活動/Community activities starting with the OTel official document translation project
msksgm
0
300
私とAWSとの関わりの歩み~意志あるところに道は開けるかも?~
nagisa53
1
130
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
220
クマ×共生 HACKATHON - 熊対策を『特別な行動」から「生活の一部」に -
pharaohkj
0
170
マルチモーダル基盤モデルに基づく動画と音の解析技術
lycorptech_jp
PRO
2
210
AIエージェントを支える設計
tkikuchi1002
11
2.1k
robocopy の怖い話/scary-story-about-robocopy
emiki
0
390
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
3.9k
Facilitating Awesome Meetings
lara
54
6.5k
The Pragmatic Product Professional
lauravandoore
35
6.8k
Embracing the Ebb and Flow
colly
86
4.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Visualization
eitanlees
146
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Docker and Python
trallard
45
3.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
ロボット事業における 機械学習エンジニアという仕事について 白金鉱業 Meetup Vol. 6 Alejandro Gonzalez 2019/3/4
自己紹介
自己紹介 ⛊ 名前:Alejandro González (ゴンザレス アレハンドロ) ⛊ 出身地:ベネズエラ ⛊ 履歴
◥ 2011 ~ 2014年:修士 @ 長岡技術科学大学 ◥ 2014 ~ 2017年:データサイエンティスト @ 株式会社ブレインパッド ◥ 2018 ~ 現在:ソフトウェアエンジニア @ GROOVE X株式会社 ⛊ Likes: 寿司、ラム酒、夏、ボクシング ⛊ Dislikes: ネバネバ系、アイスコーヒー、冬、団体スポーツ alegonz
本日のTalk ⛊ 家庭用ロボット事業において、機械学習を活用した製品 を開発するにあたって、どのようなチャレンジがあるの か、機械学習エンジニアがどんな役割を持っているかな どについて話します。 ⛊ LOVOTという新世代家庭用ロボットの観点から語ります。 ◥ なお、機密情報のため、
LOVOT技術の詳細について話せないので、ご了承ください。 ⛊ また、元データサインティストの観点からも語ります。
LOVOTとは
LOVOTとは ⛊ これ Image credit: GROOVE X, Inc.
LOVOTとは Image credit: GROOVE X, Inc. www.stickpng.com www.walmart.com ⛊ 公式サイトより
「テクノロジーで追求したのは、効 率や便利さではなく、抱いた時の心 地よさや、愛くるしいしぐさ、憎め ないキャラクター。」 ⛊ 生命感がある ⛊ 周りを認識できる ⛊ 反応力がある ⛊ 表現力がある
家族型ロボット LOVOT [らぼっと] | ”LOVE STORY” https://youtu.be/gWMMdJb_5mI
LOVOTとは 50以上のセンサー ⛊ 半天球カメラ ⛊ 深度カメラ ⛊ 温度カメラ ⛊ 半天球マイクアレイ
⛊ 全身をカバーするタッチ センサー ⛊ IMUs ⛊ 障害物センサー ⛊ 温度センサー ⛊ 気圧センサー ⛊ 照度センサー ⛊ などなど
LOVOTの魅力を実現するために、 認識機能が必要
⛊ 単に言うと、LOVOTに感覚を与えること ⛊ 様々なセンサーの生信号を処理して、意味のある信号と して上位レイヤに伝える 認識 センサー (HW) 基盤 (FW/SW)
認識 (SW) ビヘイビア (KW)
認識機能を実現するために機械学習を活用 機械学習エンジニアが活躍
様々な認識領域 ⛊ 画像認識 ◥ 顔認識・顔識別・顔登録 ◥ 一般物体認識 ◥ トラッキング ⛊
音声認識 ◥ キーワード認識 ◥ DoA ◥ 音源分離 ⛊ タッチ認識 ◥ 触られる・撫でられる ◥ 抱っこ ◥ 叩かれる ⛊ Navigation & SLAM ◥ 自律マッピング ◥ 自己位置推定 ◥ セーフティ
機械学習エンジニアとは ⛊ 機械学習を利用可能とする役割 ◥ 製品でデプロイできる機械学習アルゴリズムを開発 ◥ また、その開発を支えるインフラも開発 ⛊ 自身の見解や意見であり、 GROOVE
X株式会社の公式見解や意見表明を代表するものではない
機械学習エンジニアの仕事?
アルゴリズム開発 Doing more with less
アルゴリズム開発 精度 Precision Recall etc CPU負荷 メモリ容量 負荷が大きいほど、 • 他の機能に悪影響
• バッテリが減る • 温度が上がる 反応速度 Reactivity(反応力)に 不可欠 汎用性 機体と環境にわたって性能が一 緒 保守性 パラメータの数、構造の複雑さ によって、デバッギングしやす さ、メンテナンスしやすさが変 わる 使用性 • 学習データが測りやすい構造 • 信号を足しやすい構造 • ビヘイビアを開発するのに意 味の有る形を出す 気を付けないといけないこと
⛊ アルゴリズム選択 ◥ 種類 ⁃ Hand-crafted rules ⁃ Traditional machine
learning • Including sensor fusion (e.g. Kalman Filter) ⁃ Deep Learning アルゴリズム開発
アルゴリズム開発 アルゴリズ ム種類 精度 (見込み) CPU負荷 反応速度 汎用性 保守性 使用性
実装 スピード データ 要求 拡張性 (変数追加) Hand-craft ed rules ✕ • • ✕ • • ✕ • Traditiona l machine learning ▲ ▲ ▲ データ 次第 ▲ ▲ • ▲ Deep Learning • ✕ ✕ データ 次第 ✕ ✕ • ✕ ※ 相対的にだいたいこんな感じっていう比較 アルゴリズムの各種類のメリット・デメリット ただ、画像認識や音声認識は間違い なくDeep Learningがベスト 牛 刀 割 鶏 順
⛊ アルゴリズム選択 ◥ 学習パラダイム ⁃ Offline • 出荷前にモデルを固定する ⁃ Online
• 出荷後に動的に学習していく ⁃ Hybrid アルゴリズム開発 ⁃ Supervised ⁃ Unsupervised
アルゴリズム開発 ⛊ アルゴリズム実行環境 ◥ LOVOT ⁃ Main PC ⁃ Sub
PC ◥ ネスト(エッジ) ◥ クラウドがあまり 利用できない ⁃ Reactivity↓ Image credit: GROOVE X, Inc.
⛊ 前処理! ◥ AKA データクレンジング、正規化 ◥ 機械学習アルゴリズムにクリティカル ⁃ Garbage in,
garbage out といったところで… アルゴリズム開発
そもそもハードウェアから 妥当な信号が上がっているか?
ハードウェア評価 Garbage in, garbage out
ハードウェア評価 ⛊ 信号のクオリティーは、 どこまでHWで工夫できるか、 どこからSWで工夫できるか?のトレードオフがある ⛊ センサー信号のクオリティーを評価する指標の開発 ◥ SNR, 期待誤判定率、など
⛊ また、評価のためのツールも開発 ◥ 生産組立用の評価仕組みを含め
アルゴリズムの方針と 信号の仕様が決まったら…
データ収集 データがない!データを作る!
⛊ LOVOTに特有なデータを収集する必要 ◥ 魚眼カメラの画像 ◥ 子供の音声 ◥ タッチと抱っこの信号 ◥ etc
⛊ 実験を設計してデータを収集する ⛊ もちろん、転移学習も可能な限り活用する データ収集
データ収集 ⛊ ラベルデータも必要 ◥ アルゴリズム評価に不可欠 ⛊ どうやってラベリングする?色んな方法でやっています: ◥ 自分で手動でラベリングする ◥
アウトソーシングする ◥ 自動化する ⁃ 例:画像のクロマキ撮影(Augmentation的に)
データ収集とラベリングをするのに、 何らかのインフラが必要
インフラ構築 データを作るものを作る!
インフラ構築 ⛊ スムーズに楽にデータ収集できるようなツールも開発 ◥ データ収集ツール ◥ アノテーションツール ◥ 可視化ツール ⛊
デバッギングのために、Logging仕組みも必要 ⛊ CIで精度評価をトラッキングしていく
ソフトウェア開発 Develop a deployable software
ソフトウェア開発 ⛊ Version control ◥ Codeだけではない! ◥ Data, Annotations, Metadataも
⛊ Continuous integration ⛊ Tests ⛊ Documentation ⛊ Licensesを注意!
日々に活用しているソフト
コミュニケーション&プロジェクト管理 Collaboration with multidisciplinary teams
コミュニケーション 37 各Featureの開発に多種多様なメンバーが関わっている コミュニケーションは重要! 認識機 能の開 発 HW 服 評価
HW メカ HW エレ KW ビヘイ ビア SW 認識 FW SW 基盤
プロジェクト管理 ⛊ 要件定義 ◥ PO、各チーム、協力会社と協働しながら ⛊ 開発ベンダー選定・折衝・共同開発 ⛊ 予算計画 ⛊
他社進捗管理
サマリー ⛊ アルゴリズム開発 ◥ 「精度、CPU負荷、反応速度、汎用性、保守性、使用性」を重視しながら、最低限のアルゴ リズムで最高のパフォーマンスを追求 ⛊ ハードウェア評価 ◥ 妥当な信号を実現するために、
HW開発を支える評価指標と評価ツールを開発 ⛊ データ収集 ◥ アルゴリズム学習のために、 LOVOTに特有なデータを収集 ⛊ インフラ構築 ◥ データ収集に必要なツールとプロセスを開発 ⛊ ソフトウェア開発 ◥ 製品にデプロイ可能な SWに必要なpracticesを重視 ⛊ コミュニケーション&プロジェクト管理 ◥ 多種多様なチームと他社と協働し、認識機能を開発
終わり。 ご清聴ありがとうございます