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

終わり。 ご清聴ありがとうございます