Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ロボット事業における機械学習エンジニアという仕事について/What does a Machine Learning Engineer do at a robot company?

Ab94cda4051e79f32d8aa2f882703379?s=47 alegonz
March 04, 2019

ロボット事業における機械学習エンジニアという仕事について/What does a Machine Learning Engineer do at a robot company?

2019年3月4日開催「白金鉱業 Meetup Vol.6」(https://brainpad-meetup.connpass.com/event/119149/) での発表資料

Ab94cda4051e79f32d8aa2f882703379?s=128

alegonz

March 04, 2019
Tweet

Transcript

  1. ロボット事業における 機械学習エンジニアという仕事について 白金鉱業 Meetup Vol. 6 Alejandro Gonzalez 2019/3/4

  2. 自己紹介

  3. 自己紹介 ⛊ 名前:Alejandro González (ゴンザレス アレハンドロ) ⛊ 出身地:ベネズエラ ⛊ 履歴

    ◥ 2011 ~ 2014年:修士 @ 長岡技術科学大学 ◥ 2014 ~ 2017年:データサイエンティスト @ 株式会社ブレインパッド ◥ 2018 ~ 現在:ソフトウェアエンジニア @ GROOVE X株式会社 ⛊ Likes: 寿司、ラム酒、夏、ボクシング ⛊ Dislikes: ネバネバ系、アイスコーヒー、冬、団体スポーツ alegonz
  4. 本日のTalk ⛊ 家庭用ロボット事業において、機械学習を活用した製品 を開発するにあたって、どのようなチャレンジがあるの か、機械学習エンジニアがどんな役割を持っているかな どについて話します。 ⛊ LOVOTという新世代家庭用ロボットの観点から語ります。 ◥ なお、機密情報のため、

    LOVOT技術の詳細について話せないので、ご了承ください。 ⛊ また、元データサインティストの観点からも語ります。
  5. LOVOTとは

  6. LOVOTとは ⛊ これ Image credit: GROOVE X, Inc.

  7. LOVOTとは Image credit: GROOVE X, Inc. www.stickpng.com www.walmart.com ⛊ 公式サイトより

    「テクノロジーで追求したのは、効 率や便利さではなく、抱いた時の心 地よさや、愛くるしいしぐさ、憎め ないキャラクター。」 ⛊ 生命感がある ⛊ 周りを認識できる ⛊ 反応力がある ⛊ 表現力がある
  8. 家族型ロボット LOVOT [らぼっと] | ”LOVE STORY” https://youtu.be/gWMMdJb_5mI

  9. LOVOTとは 50以上のセンサー ⛊ 半天球カメラ ⛊ 深度カメラ ⛊ 温度カメラ ⛊ 半天球マイクアレイ

    ⛊ 全身をカバーするタッチ センサー ⛊ IMUs ⛊ 障害物センサー ⛊ 温度センサー ⛊ 気圧センサー ⛊ 照度センサー ⛊ などなど
  10. LOVOTの魅力を実現するために、 認識機能が必要

  11. ⛊ 単に言うと、LOVOTに感覚を与えること ⛊ 様々なセンサーの生信号を処理して、意味のある信号と して上位レイヤに伝える 認識 センサー (HW) 基盤 (FW/SW)

    認識 (SW) ビヘイビア (KW)
  12. 認識機能を実現するために機械学習を活用 機械学習エンジニアが活躍

  13. 様々な認識領域 ⛊ 画像認識 ◥ 顔認識・顔識別・顔登録 ◥ 一般物体認識 ◥ トラッキング ⛊

    音声認識 ◥ キーワード認識 ◥ DoA ◥ 音源分離 ⛊ タッチ認識 ◥ 触られる・撫でられる ◥ 抱っこ ◥ 叩かれる ⛊ Navigation & SLAM ◥ 自律マッピング ◥ 自己位置推定 ◥ セーフティ
  14. 機械学習エンジニアとは ⛊ 機械学習を利用可能とする役割 ◥ 製品でデプロイできる機械学習アルゴリズムを開発 ◥ また、その開発を支えるインフラも開発 ⛊ 自身の見解や意見であり、 GROOVE

    X株式会社の公式見解や意見表明を代表するものではない
  15. 機械学習エンジニアの仕事?

  16. アルゴリズム開発 Doing more with less

  17. アルゴリズム開発 精度 Precision Recall etc CPU負荷 メモリ容量 負荷が大きいほど、 • 他の機能に悪影響

    • バッテリが減る • 温度が上がる 反応速度 Reactivity(反応力)に 不可欠 汎用性 機体と環境にわたって性能が一 緒 保守性 パラメータの数、構造の複雑さ によって、デバッギングしやす さ、メンテナンスしやすさが変 わる 使用性 • 学習データが測りやすい構造 • 信号を足しやすい構造 • ビヘイビアを開発するのに意 味の有る形を出す 気を付けないといけないこと
  18. ⛊ アルゴリズム選択 ◥ 種類 ⁃ Hand-crafted rules ⁃ Traditional machine

    learning • Including sensor fusion (e.g. Kalman Filter) ⁃ Deep Learning アルゴリズム開発
  19. アルゴリズム開発 アルゴリズ ム種類 精度 (見込み) CPU負荷 反応速度 汎用性 保守性 使用性

    実装 スピード データ 要求 拡張性 (変数追加) Hand-craft ed rules ✕ • • ✕ • • ✕ • Traditiona l machine learning ▲ ▲ ▲ データ 次第 ▲ ▲ • ▲ Deep Learning • ✕ ✕ データ 次第 ✕ ✕ • ✕ ※ 相対的にだいたいこんな感じっていう比較 アルゴリズムの各種類のメリット・デメリット ただ、画像認識や音声認識は間違い なくDeep Learningがベスト 牛 刀 割 鶏 順
  20. ⛊ アルゴリズム選択 ◥ 学習パラダイム ⁃ Offline • 出荷前にモデルを固定する ⁃ Online

    • 出荷後に動的に学習していく ⁃ Hybrid アルゴリズム開発 ⁃ Supervised ⁃ Unsupervised
  21. アルゴリズム開発 ⛊ アルゴリズム実行環境 ◥ LOVOT ⁃ Main PC ⁃ Sub

    PC ◥ ネスト(エッジ) ◥ クラウドがあまり 利用できない ⁃ Reactivity↓ Image credit: GROOVE X, Inc.
  22. ⛊ 前処理! ◥ AKA データクレンジング、正規化 ◥ 機械学習アルゴリズムにクリティカル ⁃ Garbage in,

    garbage out といったところで… アルゴリズム開発
  23. そもそもハードウェアから 妥当な信号が上がっているか?

  24. ハードウェア評価 Garbage in, garbage out

  25. ハードウェア評価 ⛊ 信号のクオリティーは、 どこまでHWで工夫できるか、 どこからSWで工夫できるか?のトレードオフがある ⛊ センサー信号のクオリティーを評価する指標の開発 ◥ SNR, 期待誤判定率、など

    ⛊ また、評価のためのツールも開発 ◥ 生産組立用の評価仕組みを含め
  26. アルゴリズムの方針と 信号の仕様が決まったら…

  27. データ収集 データがない!データを作る!

  28. ⛊ LOVOTに特有なデータを収集する必要 ◥ 魚眼カメラの画像 ◥ 子供の音声 ◥ タッチと抱っこの信号 ◥ etc

    ⛊ 実験を設計してデータを収集する ⛊ もちろん、転移学習も可能な限り活用する データ収集
  29. データ収集 ⛊ ラベルデータも必要 ◥ アルゴリズム評価に不可欠 ⛊ どうやってラベリングする?色んな方法でやっています: ◥ 自分で手動でラベリングする ◥

    アウトソーシングする ◥ 自動化する ⁃ 例:画像のクロマキ撮影(Augmentation的に)
  30. データ収集とラベリングをするのに、 何らかのインフラが必要

  31. インフラ構築 データを作るものを作る!

  32. インフラ構築 ⛊ スムーズに楽にデータ収集できるようなツールも開発 ◥ データ収集ツール ◥ アノテーションツール ◥ 可視化ツール ⛊

    デバッギングのために、Logging仕組みも必要 ⛊ CIで精度評価をトラッキングしていく
  33. ソフトウェア開発 Develop a deployable software

  34. ソフトウェア開発 ⛊ Version control ◥ Codeだけではない! ◥ Data, Annotations, Metadataも

    ⛊ Continuous integration ⛊ Tests ⛊ Documentation ⛊ Licensesを注意!
  35. 日々に活用しているソフト

  36. コミュニケーション&プロジェクト管理 Collaboration with multidisciplinary teams

  37. コミュニケーション 37 各Featureの開発に多種多様なメンバーが関わっている コミュニケーションは重要! 認識機 能の開 発 HW 服 評価

    HW メカ HW エレ KW ビヘイ ビア SW 認識 FW SW 基盤
  38. プロジェクト管理 ⛊ 要件定義 ◥ PO、各チーム、協力会社と協働しながら ⛊ 開発ベンダー選定・折衝・共同開発 ⛊ 予算計画 ⛊

    他社進捗管理
  39. サマリー ⛊ アルゴリズム開発 ◥ 「精度、CPU負荷、反応速度、汎用性、保守性、使用性」を重視しながら、最低限のアルゴ リズムで最高のパフォーマンスを追求 ⛊ ハードウェア評価 ◥ 妥当な信号を実現するために、

    HW開発を支える評価指標と評価ツールを開発 ⛊ データ収集 ◥ アルゴリズム学習のために、 LOVOTに特有なデータを収集 ⛊ インフラ構築 ◥ データ収集に必要なツールとプロセスを開発 ⛊ ソフトウェア開発 ◥ 製品にデプロイ可能な SWに必要なpracticesを重視 ⛊ コミュニケーション&プロジェクト管理 ◥ 多種多様なチームと他社と協働し、認識機能を開発
  40. 終わり。 ご清聴ありがとうございます