ロボット事業における機械学習エンジニアという仕事について/What does a Machine Learning Engineer do at a robot company?
by
alegonz
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ロボット事業における 機械学習エンジニアという仕事について 白金鉱業 Meetup Vol. 6 Alejandro Gonzalez 2019/3/4
Slide 2
Slide 2 text
自己紹介
Slide 3
Slide 3 text
自己紹介 ⛊ 名前:Alejandro González (ゴンザレス アレハンドロ) ⛊ 出身地:ベネズエラ ⛊ 履歴 ◥ 2011 ~ 2014年:修士 @ 長岡技術科学大学 ◥ 2014 ~ 2017年:データサイエンティスト @ 株式会社ブレインパッド ◥ 2018 ~ 現在:ソフトウェアエンジニア @ GROOVE X株式会社 ⛊ Likes: 寿司、ラム酒、夏、ボクシング ⛊ Dislikes: ネバネバ系、アイスコーヒー、冬、団体スポーツ alegonz
Slide 4
Slide 4 text
本日のTalk ⛊ 家庭用ロボット事業において、機械学習を活用した製品 を開発するにあたって、どのようなチャレンジがあるの か、機械学習エンジニアがどんな役割を持っているかな どについて話します。 ⛊ LOVOTという新世代家庭用ロボットの観点から語ります。 ◥ なお、機密情報のため、 LOVOT技術の詳細について話せないので、ご了承ください。 ⛊ また、元データサインティストの観点からも語ります。
Slide 5
Slide 5 text
LOVOTとは
Slide 6
Slide 6 text
LOVOTとは ⛊ これ Image credit: GROOVE X, Inc.
Slide 7
Slide 7 text
LOVOTとは Image credit: GROOVE X, Inc. www.stickpng.com www.walmart.com ⛊ 公式サイトより 「テクノロジーで追求したのは、効 率や便利さではなく、抱いた時の心 地よさや、愛くるしいしぐさ、憎め ないキャラクター。」 ⛊ 生命感がある ⛊ 周りを認識できる ⛊ 反応力がある ⛊ 表現力がある
Slide 8
Slide 8 text
家族型ロボット LOVOT [らぼっと] | ”LOVE STORY” https://youtu.be/gWMMdJb_5mI
Slide 9
Slide 9 text
LOVOTとは 50以上のセンサー ⛊ 半天球カメラ ⛊ 深度カメラ ⛊ 温度カメラ ⛊ 半天球マイクアレイ ⛊ 全身をカバーするタッチ センサー ⛊ IMUs ⛊ 障害物センサー ⛊ 温度センサー ⛊ 気圧センサー ⛊ 照度センサー ⛊ などなど
Slide 10
Slide 10 text
LOVOTの魅力を実現するために、 認識機能が必要
Slide 11
Slide 11 text
⛊ 単に言うと、LOVOTに感覚を与えること ⛊ 様々なセンサーの生信号を処理して、意味のある信号と して上位レイヤに伝える 認識 センサー (HW) 基盤 (FW/SW) 認識 (SW) ビヘイビア (KW)
Slide 12
Slide 12 text
認識機能を実現するために機械学習を活用 機械学習エンジニアが活躍
Slide 13
Slide 13 text
様々な認識領域 ⛊ 画像認識 ◥ 顔認識・顔識別・顔登録 ◥ 一般物体認識 ◥ トラッキング ⛊ 音声認識 ◥ キーワード認識 ◥ DoA ◥ 音源分離 ⛊ タッチ認識 ◥ 触られる・撫でられる ◥ 抱っこ ◥ 叩かれる ⛊ Navigation & SLAM ◥ 自律マッピング ◥ 自己位置推定 ◥ セーフティ
Slide 14
Slide 14 text
機械学習エンジニアとは ⛊ 機械学習を利用可能とする役割 ◥ 製品でデプロイできる機械学習アルゴリズムを開発 ◥ また、その開発を支えるインフラも開発 ⛊ 自身の見解や意見であり、 GROOVE X株式会社の公式見解や意見表明を代表するものではない
Slide 15
Slide 15 text
機械学習エンジニアの仕事?
Slide 16
Slide 16 text
アルゴリズム開発 Doing more with less
Slide 17
Slide 17 text
アルゴリズム開発 精度 Precision Recall etc CPU負荷 メモリ容量 負荷が大きいほど、 ● 他の機能に悪影響 ● バッテリが減る ● 温度が上がる 反応速度 Reactivity(反応力)に 不可欠 汎用性 機体と環境にわたって性能が一 緒 保守性 パラメータの数、構造の複雑さ によって、デバッギングしやす さ、メンテナンスしやすさが変 わる 使用性 ● 学習データが測りやすい構造 ● 信号を足しやすい構造 ● ビヘイビアを開発するのに意 味の有る形を出す 気を付けないといけないこと
Slide 18
Slide 18 text
⛊ アルゴリズム選択 ◥ 種類 ⁃ Hand-crafted rules ⁃ Traditional machine learning ● Including sensor fusion (e.g. Kalman Filter) ⁃ Deep Learning アルゴリズム開発
Slide 19
Slide 19 text
アルゴリズム開発 アルゴリズ ム種類 精度 (見込み) CPU負荷 反応速度 汎用性 保守性 使用性 実装 スピード データ 要求 拡張性 (変数追加) Hand-craft ed rules ✕ ● ● ✕ ● ● ✕ ● Traditiona l machine learning ▲ ▲ ▲ データ 次第 ▲ ▲ ● ▲ Deep Learning ● ✕ ✕ データ 次第 ✕ ✕ ● ✕ ※ 相対的にだいたいこんな感じっていう比較 アルゴリズムの各種類のメリット・デメリット ただ、画像認識や音声認識は間違い なくDeep Learningがベスト 牛 刀 割 鶏 順
Slide 20
Slide 20 text
⛊ アルゴリズム選択 ◥ 学習パラダイム ⁃ Offline ● 出荷前にモデルを固定する ⁃ Online ● 出荷後に動的に学習していく ⁃ Hybrid アルゴリズム開発 ⁃ Supervised ⁃ Unsupervised
Slide 21
Slide 21 text
アルゴリズム開発 ⛊ アルゴリズム実行環境 ◥ LOVOT ⁃ Main PC ⁃ Sub PC ◥ ネスト(エッジ) ◥ クラウドがあまり 利用できない ⁃ Reactivity↓ Image credit: GROOVE X, Inc.
Slide 22
Slide 22 text
⛊ 前処理! ◥ AKA データクレンジング、正規化 ◥ 機械学習アルゴリズムにクリティカル ⁃ Garbage in, garbage out といったところで… アルゴリズム開発
Slide 23
Slide 23 text
そもそもハードウェアから 妥当な信号が上がっているか?
Slide 24
Slide 24 text
ハードウェア評価 Garbage in, garbage out
Slide 25
Slide 25 text
ハードウェア評価 ⛊ 信号のクオリティーは、 どこまでHWで工夫できるか、 どこからSWで工夫できるか?のトレードオフがある ⛊ センサー信号のクオリティーを評価する指標の開発 ◥ SNR, 期待誤判定率、など ⛊ また、評価のためのツールも開発 ◥ 生産組立用の評価仕組みを含め
Slide 26
Slide 26 text
アルゴリズムの方針と 信号の仕様が決まったら…
Slide 27
Slide 27 text
データ収集 データがない!データを作る!
Slide 28
Slide 28 text
⛊ LOVOTに特有なデータを収集する必要 ◥ 魚眼カメラの画像 ◥ 子供の音声 ◥ タッチと抱っこの信号 ◥ etc ⛊ 実験を設計してデータを収集する ⛊ もちろん、転移学習も可能な限り活用する データ収集
Slide 29
Slide 29 text
データ収集 ⛊ ラベルデータも必要 ◥ アルゴリズム評価に不可欠 ⛊ どうやってラベリングする?色んな方法でやっています: ◥ 自分で手動でラベリングする ◥ アウトソーシングする ◥ 自動化する ⁃ 例:画像のクロマキ撮影(Augmentation的に)
Slide 30
Slide 30 text
データ収集とラベリングをするのに、 何らかのインフラが必要
Slide 31
Slide 31 text
インフラ構築 データを作るものを作る!
Slide 32
Slide 32 text
インフラ構築 ⛊ スムーズに楽にデータ収集できるようなツールも開発 ◥ データ収集ツール ◥ アノテーションツール ◥ 可視化ツール ⛊ デバッギングのために、Logging仕組みも必要 ⛊ CIで精度評価をトラッキングしていく
Slide 33
Slide 33 text
ソフトウェア開発 Develop a deployable software
Slide 34
Slide 34 text
ソフトウェア開発 ⛊ Version control ◥ Codeだけではない! ◥ Data, Annotations, Metadataも ⛊ Continuous integration ⛊ Tests ⛊ Documentation ⛊ Licensesを注意!
Slide 35
Slide 35 text
日々に活用しているソフト
Slide 36
Slide 36 text
コミュニケーション&プロジェクト管理 Collaboration with multidisciplinary teams
Slide 37
Slide 37 text
コミュニケーション 37 各Featureの開発に多種多様なメンバーが関わっている コミュニケーションは重要! 認識機 能の開 発 HW 服 評価 HW メカ HW エレ KW ビヘイ ビア SW 認識 FW SW 基盤
Slide 38
Slide 38 text
プロジェクト管理 ⛊ 要件定義 ◥ PO、各チーム、協力会社と協働しながら ⛊ 開発ベンダー選定・折衝・共同開発 ⛊ 予算計画 ⛊ 他社進捗管理
Slide 39
Slide 39 text
サマリー ⛊ アルゴリズム開発 ◥ 「精度、CPU負荷、反応速度、汎用性、保守性、使用性」を重視しながら、最低限のアルゴ リズムで最高のパフォーマンスを追求 ⛊ ハードウェア評価 ◥ 妥当な信号を実現するために、 HW開発を支える評価指標と評価ツールを開発 ⛊ データ収集 ◥ アルゴリズム学習のために、 LOVOTに特有なデータを収集 ⛊ インフラ構築 ◥ データ収集に必要なツールとプロセスを開発 ⛊ ソフトウェア開発 ◥ 製品にデプロイ可能な SWに必要なpracticesを重視 ⛊ コミュニケーション&プロジェクト管理 ◥ 多種多様なチームと他社と協働し、認識機能を開発
Slide 40
Slide 40 text
終わり。 ご清聴ありがとうございます