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.5k
ロボット事業における機械学習エンジニアという仕事について/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
テスト”ケース”駆動開発 で手戻りをなくそう
ryohma0510
0
340
20240912 JJUGナイトセミナー
mii1004
0
140
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
520
Next.js のページ遷移を全力で止める
ypresto
9
3.6k
LINEヤフーのフロントエンド組織・体制の紹介
lycorp_recruit_jp
1
1.2k
GC24 Recap: Interface Internals
task4233
0
290
PdMはどのように全てのスピードを上げられるか ~ 非連続進化のための具体的な取り組み ~
sansantech
PRO
4
1.4k
サプライチェーン攻撃に備える
ryunen344
0
400
「自動テストのプラクティスを効果的に学ぶためのカードゲーム」 ( #sqip2024 )
teyamagu
PRO
2
190
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
190
2ヶ月かかるDBアップグレード検証を最大2週間に短縮した自作Go製CLIツール「Platinum」を紹介する / Introducing Go CLI tool "Platinum" for shortened DB upgrade validation
vtryo
2
120
あなたの知らないiOS開発の世界
recruitengineers
PRO
3
190
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
278
34k
Debugging Ruby Performance
tmm1
72
12k
Facilitating Awesome Meetings
lara
49
6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.2k
Why Our Code Smells
bkeepers
PRO
334
56k
The Language of Interfaces
destraynor
153
23k
Code Reviewing Like a Champion
maltzj
517
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
The Invisible Side of Design
smashingmag
296
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
36
1.7k
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を重視 ⛊ コミュニケーション&プロジェクト管理 ◥ 多種多様なチームと他社と協働し、認識機能を開発
終わり。 ご清聴ありがとうございます