********************************************************************************
セッションS3-b
テーマ:組込みディープラーニング人材の教育・育成について 
~パソナテックの取組み事例紹介~
講師:本間 裕大
日時:2018/8/31 10:25~11:15
参加人数:約25名
********************************************************************************

■アジェンダ
・自己紹介
・お客様の悩み
・自社製フレームワークの開発
・チームビルディング
・コミュニティの構築
 ・社内コミュニティ
 ・社外コミュニティ
・今後のAI人材の育成に向けて
 ・育成プログラム
 ・Uターン支援
・パソナテックサービスのご紹介

■自己紹介
本間裕大
株式会社パソナテックのIoEソリューション事業部
Deep Learning、Java・Javascriptが好き

■組込みDL分野における課題
政府が打ち出した第四次産業革命には、ロボット、AI、IoTが含まれている。
しかし実際に作り上げる人材は不足している。
原因
・若年層の人口減少
・AI人材の争奪戦
・必要なスキルが膨大

組込みDeep Learningの課題
・組込みDeep Learning開発の全工程を見れるメンバーがいない
・組込み特融の問題(コスト、消費電力、データ圧縮、リアルタイム処理など)

ツールの課題
・価格が高い
・利用したいNNがサポートされていない
・ブラックボックスであり、自らカスタマイズできない

ボードの課題
・ツールが使いたいCPUをサポートされていない
・ファイルシステムやメモリ管理が必須
・センサーが特殊

人材の課題
・Deep Learning、Python、組込みC、ボードに精通したメンバーが不足している
・DLがわからない社内の組込み人材を有効活用
・経験者0からのスタート

これらの課題をパソナテックのAIアシストが問題解決
この問題に対してどのように取り組んだかがp9の図

1.まずは社外のコミュニティの参加
    社外から情報を取りいれる
2.自社製のフレームワークを開発
    各種コミュニティでPR
    やりたい人が増える
3.チームビルディング
4.コミュニティの構築
5.育成トレーニングコース開発
    ノウハウを社内外で共有する


■コミュニティへの参加
ローカルでやっている勉強会に参加するところから始めた。
・GDG神戸
・チームで学ぼう!TensorFlow(機械学習)実践編

機械学習で使われる用語や概要がわかる。


■自社製フレームワークの開発
コキュートス(自社開発のフレームワーク)
 kerasで書かれたモデルを組込みCソースに変換することができる

組込みCソースは中間言語としてのC言語
組込みCソースからさらに追加開発することができる
・組込みプロセッサ向け最適化
・DSP向け最適化
・FPGA向け実装
・専用HW向け実装

(製品化の一例)
コキュートスをしようしてYOLOをCソースに変換して変換したものをRaspberry Piに
移してRaspberry Pi上で物体検出する。

安価なボードでDeep Learningが動作する
ARM CPUのみで動作する

■チームビルディング
Deep Learningに必要な知識
・アカデミックな知識
  英語論文や数学など
・業務知識
  画像処理や組込みプログラミングなど
・PM
  スケジュール管理やリソース管理
・コーディング能力
  Pythonやデータ加工など


50代エンジニアをリーダーとし、若手数名のチームを構成
リーダー・・・アカデミックな知識
       業務知識
       PM
若手数名・・・コーディング


リーダーとなる50代のエンジニアの意見
・第1次AIブームによりAIに興味を持っている
・英語論文も読み慣れている
・お客との調整が得意
・今からPython勉強するのはつらい
・新しいフレームワーク等についていけない
・実際の開発業務自体が難しい
そこでベテランエンジニアが苦手なところは若手が担当

まとめると
50代の役割
・PM(顧客の折衝、各種管理)
・DL基礎の部分(数学、英語)
・業務知識
・中期的な課題(違うジャンルの調査など)
20代、30代
・コーディング
・アノテーション
・とりあえずやる
・短期的な課題(新しいNN、フレームワーク等)


このフレームワークでAI業務を行っているメンバー全員が
「仕事がとにかく楽しい」と回答


■コミュニティの構築
社内のコミュニティの強化
・slackを立ち上げ
・新しく入った人には教科書を読んでもらう(ゼロから始めるDeep Learning)
社外のコミュニティ(東京の人がうらやむようなイベントをやろう!)
・なにわTECH祭り
・TensorFlow Users Group KANSAI
・なにわTECH道


■組込みDLエンジニア育成プログラムのご案内
パソナテックのAIアシスト事業
・組込みDeep Learning向けフレームワーク
・組込みDeep Learningエンジニアの育成事業
  ・独自のトレーに具コース
  ・DL未経験者をトレーニングによってスキルアップ
育成コースとフレームワーク開発の日本柱によるプロジェクト支援


パソナテックの育成プログラム
・独自技術で、C言語がわかれば組込みDL実装を学習可能
・自社製組込みDLプラットフォームを利用したオリジナル教材
・大阪に委託業務、OJT、現場支援の開発拠点

配属までの流れ
応募→選考→入社研修→組込みDL →弱点補強→現場配属
           実践コース OJT
・DL基礎知識
・物体検出の基礎知識
・DLの学習
・組込み変換
・モデルの最適化
・Cソースの最適化
・実機動作
トレーニング終了後のスキルレベル:
物体検出のモデルをC言語を使ってラズベリーパイ上で動かせる


組込みDL体験コースアジェンダ
【講義】
・はじめに
・ディープラーニングとは
・ニューラルネットワークの種類
・デモ tiny-YOLOの動作
・ディープラーニングの学習
・デモ tiny-YOLOの学習の実行
・ディープラーニングの性能評価の指標
・ディープラーニングの組込みシステムへの実装
【演習】
・Raspberry Piでのtiny-YOLOの実装と動作確認

組込みDL実践コース
・10日間ディープラーニング実践コース
  ・GCPを利用したクラウドGPUで、DarknetによるTiny-YOLOの学習を実施。
   その後組込み変換とラズパイへの組込み最適化を体験。
  ・ディープラーニング業務に必要な作業工程を一週間で一通り実施する
   演習主体のコース
  ・演習後のフォローアップセミナーを実施し、受講者の疑問の解消、
   デモシステムの完成をサポート


組込みDL領域のスキルセット
p32のスライドを参照


AIトレーニングコース開発
p33のスライドを参照


■その他育成コンテンツについて

Coursera(Machine Learningコース)
 ・Courseraとは大学のコースを無償でオンライン上に提供しているサービス
 ・講義は英語で行われるが日本語字幕あり
 ・全11週間のカリキュラム
 ・毎週末に2種類の課題を提出する必要あり
 ・先生が画面に板書してくれる(p38のスライド)
 ・試験の結果がすぐに確認できる
終了後のスキルレベル
・機械学習の縦横なアルゴリズムを実装できる
・基本的な数学の内容を理解できる
・自分のデータで機械学習を応用できる

Google colaboratory
 ・教育や研究機関へ機械学習の普及を目的としたGoogleの研究プロジェクトの一つ
 ・必要なものはPCとインターネットのみ(必要なライブラリはプリインストール済み)
 ・Googleドライブと連携可能
 ・無料で使用できる
 ・インスタンスはハイスペック
初心者が機械学習を始める際のハードルが低い


■弊社のDeep Learningの取り組み
ワークショップ、勉強会での発表
・FPGAX、TFUG、CEATEC、DSF
・SWEST19
・TFUG KANSAIの立ち上げ

世界初 CEVA社のDSP XM-4でNNを動作
2017年2月弊社イベントにて発表

・家電向けAI開発、DSP実装
・通信向け NNのFPGA実装
・大手企業様の研究所と組込DL実装について研究開発
・企業へDL人材派遣


2016年 社外のコミュニティへの参加
2017年 自社開発、チームビルディング、社内外のコミュニティに実績を発表
2018年 育成トレーニングコース開発

AI分野に関するパソナテックのサービス
①大量のデータに関する業務
  ・データ集積
  ・データ入力
  ・データタグ付け、不正データ除去
他部署と連携し、対象データを安価に提供

②機械学習に関する業務
  ・学習環境の構築
  ・学習器の設計、評価
  ・パラメータ調整
お客の目的に沿ったビジネスパートナーを紹介

③商品化への業務
  ・組込みプログラミング
  ・機械設計
専門スキルを持った人材を提供


~~~~質問タイム~~~~

質問1)
実際に現場で現場で使っていこうと思ったときに定型的なネットワークだけでは
対応できないという場面に陥った場合、
どのような教育でどのように対応されているのでしょうか。

A)組込前提の話だと、実際の現場ではできるだけ小さいモデルを使う。基本的に
新しいアーキテクチャを考えることはほとんどなく、処理を減らしていく。
10日間の育成コースでも処理を減らすトレーニングは入っているので、
現場でやることは一通り網羅している。


質問2)
学習データを作るというのはどういったことをしているか。

A)弊社のグループ企業のJob-Hugという企業がありまして、そういったところに
お願いしてデータを作成してます。
セキュリティも高めながら質の良いデータを集めるサービスをやっています。

    
質問3)
50代の新たなことに対してのモチベーションはあまり高くないと言っていましたが
、モチベーションのあげ方とかはありますか。

A)ねらう50代というのは半導体エリート層エンジニアたちでして、そういう人たち
は論文を読んで新しい情報を得るのは強い。
前のAIブームでAIをやりたかったが半導体の会社に入ってしまってできないといっ
た人を対象にしている。

質問4)
最初は3人のチームだったのがたった1年でここまで大きくなったのにはどのような
苦労があったか教えてください。

A)お客様も困っていて一緒に勉強していきましようという気持ちで進んだので、
特に苦労したことはなかった。
今入ってきた人は数学ができなかったり画像処理が苦手だったりするので教えなく
てはいけないことが多い。
また半導体の人だと開発形式はウォータフォールなのでそこを変えるのは苦労した
のだと思います。