software for edge heavy computing @ interop 2016 tokyo

34
エッジ・ヘビー・コンピューティング を実現するソフトウェア @ INTEROP 2016, Makuhari, June 9 th , ⽐⼾ 将平 Chief Research Officer Preferred Networks, Inc.

Upload: shohei-hido

Post on 21-Jan-2017

1.996 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

エッジ・ヘビー・コンピューティングを実現するソフトウェア

@INTEROP2016,Makuhari,June9th,

⽐⼾ 将平

ChiefResearchOfficer

PreferredNetworks,Inc.

Page 2: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

IoTは「賢いクラウドとConnectedなモノ達」を超える“Software Is Eating The World”の延⻑l  既存IoTソリューションの中⼼=クラウド基盤が持つ弱点

  データ量に伴って通信コストが爆発

  クラウド経由のストリーム解析処理はリアルタイム処理に不向き

  ⽣データの外部送信への抵抗やセキュリティ問題の懸念

l  ITベンダーのクラウド基盤+通信モジュール、だけで⼗分か?

  製品を持つ会社が主導しベンダーやキャリアを巻き込み外部提供する流れ

u  FANUC、GE、Bosch、Siemens、Honeywell…

u  エコシステムはスタートアップにも開放される(主にアプリ)

  IoTプラットホーム戦略の主導権をITベンダーが持つのは難しい

  エンドユーザーまでのデリバリー困難、汎⽤IoTクラウドは作りこみ不⾜

エッジ・ヘビー・コンピューティングはIoTクラウドの弱点を補完

2/35

Page 3: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

エッジ・ヘビー・コンピューティングで求められること

1.  クラウドだけでなく、フォグやエッジでも動作

2.  Analyzeだけでなく、Sense/OrganizeやAcKon/Feedbackもカバー

3.  バッチ処理ではなく、ストリーム処理・リアルタイム処理が中⼼

4.  無理な機能追加でなく、機械学習(特に深層学習)を標準サポート

5.  オールインワンでなく、業界・⽤途毎のコンパクトなパッケージ

3

Sense Organize Analyze Act

Sense Organize Analyze Act

Sense Organize Analyze Act

Feed

back

エッジ

フォグ

クラウド

1

2

34

機械学習 (深層学習)

5

Page 4: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

3. DIMoソリューション

業界別

4/35

本セミナーの概要とPFNソフトウェア群の全体像

l  PFNの持つ単⼀基盤であるDeep Intelligence in-Motion (DIMo) を紹介 l  2つのOSSの上で研究開発を⾏い、⽤途別のソリューションを構築

1.  SensorBee: エッジからフォグ・クラウドまで統⼀されたデータ処理基盤

2.  Chainer: 研究開発から製品化まで使いやすい深層学習フレームワーク

3.  DIMoソリューション: 業界・課題別に機能をまとめたパッケージ

1.:IoT向けストリームデータ処理基盤

2.:ディープラーニングフレームワーク

Dee

p In

telli

genc

e in

-Mot

ion

(DIM

o)

タスク別

⾃動⾞

ヘルスケア

製造業 異常検知

映像解析…

???

Page 5: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

⽬次

l  SensorBee:IoT向けストリーム処理エンジン

l  Chainer:柔軟性の⾼い深層学習フレームワーク

l  DeepIntelligencein-MoKon(DIMo)ソリューション

l  まとめ

5/35

Page 6: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

SensorBeeTM: IoT向けストリーム処理エンジン

l  ストリームデータのETL、特に機械学習ベースのTransformに重点

l  エッジでもSQL-likeなクエリで情報を付加・変換・フィルタリング

l  機械学習のモデル構築とそれを⽤いた予測をネイティブにサポート

l  様々な解析ツールや⼊出⼒先(ChainerやFluentd)を組合せて利⽤

6/35

{ "id": 123, "age": "35", "gender": "male", "location": { "x": 252.1, "y": 179.3 }, …}

カメラ

⾞載機器

ルーター

センサー

Fluentd

RDBMS

検索

NoSQL

データ入力元 データ出力先

http://sensorbee.io/

Page 7: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

SensorBeeの役割: Extract-Transform-Load (ETL)

l  IoTシステムおけるETLの役割

  Extract:様々なセンサー・⾮構造データのストリームを受理

  ☆Transform:時系列⽣データに情報を付与、活⽤可能な形に変換

  Load:後段のデータ収集・蓄積・解析処理系にストリームを送出

l  特にエッジにおける機械学習ベースのIntelligentなTransformに注⼒

7/35

l  他のTransformへの⼊⼒

l  他の処理系への⼊⼒

分類・回帰・異常検知(ラベル・スコア付与)

⼈物検出・属性分類 (時刻と位置を列挙)

⽣データ

変換データ

⽣データメタデータ+例:センサー時系列

例:カメラ映像

新しいストリーム

情報が増えたストリーム

Page 8: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

他のストリーム処理ソフトウェアとの違い: エッジだけで閉じるリアルタイム処理もサポートl  ⼀般のストリーム処理系

  JVMベースでクラウド動作

  機械学習はオプション扱い

  クラウドで発⽣したデータ→疑似リアルタイム処理

  エッジで発⽣したデータ→⾼遅延なストリーム処理

8

l  SensorBeeの特徴

  エッジでも解析処理が動作

  機械学習を基本サポート

  場所問わず発⽣したその場で疑似リアルタイム処理

  データの収集/蓄積コストを抑えつつフル活⽤

エッジ

フォグ

クラウド

⽣データ

⽣データ 変換・判断

エッジ

フォグ

クラウド

⽣データ 変換・判断対応リアルタイム対応

変換データ

Page 9: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

SensorBeeの拡張性(1/3)- ユーザー定義による拡張

l  UserDefinedState(UDS)

  SensorBee内で何らかの状態を直接扱うために組み込まれた仕組み

  機械学習モデル(学習された結果)を表すのが主な想定⽤途

  ⼀般にはセンサーの統計量、イベントのカウンタ、単語の辞書、等

l  UserDefinedFuncKon(UDF,ユーザー定義関数)

  SensorBee⾃体の機能を拡張する仕組み

  機械学習モデルの学習や適⽤もUDFとして実装可能

  ⼀般的には集計、統計量計算、ルール処理など

9/35

正解情報 モニタリング

SensorBee

UDFUDF

UDS ⽣データ

UDFアクション

学習

適用

モデル

⼊⼒データ データ活⽤先

前処理

後処理

Page 10: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

機械学習に特化したストリーム処理系

l  ストリーム処理系全体におけるトレードオフ

  処理性能:⾼スループット

  耐障害性:処理/到達の保証

  応答速度:低レイテンシ

  状態保持:任意の情報をローカルで持てるか

l  SensorBeeは機械学習ベースのETLに特化

  収集前にエッジ側の情報抽出・判断するのための機械学習をサポート

  UDFにより様々な機械学習アルゴリズムの利⽤を促進

  UDSにより外部記憶に頼ることなく機械学習モデルを保持可能

  JSON互換なデータモデルにより⾮構造化データを柔軟に表現

  スキーマレスをデフォルトとしデータ加⼯の試⾏錯誤コストを低減

10/35

クラウド向けデータ処理系で重視

エッジ向け&機械学習で重視(SensorBeeの狙い)

Page 11: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

SensorBeeの拡張性(2/3)- SQL-likeなクエリ⾔語BQL

l  BQL:CQL(ConKnuousQueryLanguage)の⽅⾔

  SELECT,FROM,AS,WHEREの他にCREATESTREAM,CREATESTATEなど

  エンドユーザーはプログラミング無しでも処理フローを記述可能

  開発者は新しく作った関数・モデルをBQLのUDF/UDSとして提供可能

l  BQLをドメイン特化⾔語(DSL)として⽤意する理由

  SQLのデータ操作・処理⾔語としての実績

  SQLを扱える⼈の多さ(プログラマーよりも圧倒的に多数)

11/35

CREATE STREAM frames AS SELECT RSTREAM id AS camera_id, frame_id AS id, detect_people("my_detection_model",image) AS regions FROM camera1 [RANGE 1 TUPLES];

Page 12: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

BQL例: 機械学習モデルを⽤いたTwitterユーザー属性予測

12/35

# 特徴量抽出CREATE STREAM fv_tweets AS SELECT RSTREAM { "text": nlp_weight_tf(text_vector), "description": nlp_weight_tf(description_vector) } AS feature_vector, age, gender FROM preprocessed_tweets [RANGE 1 TUPLES]; # 正解付きデータ選択CREATE STREAM age_labeled_tweets AS SELECT RSTREAM * FROM fv_tweets [RANGE 1 TUPLES] WHERE age != ""; CREATE STREAM gender_labeled_tweets AS SELECT RSTREAM * FROM fv_tweets [RANGE 1 TUPLES]

WHERE gender != ""; # 年齢予測モデルと性別予測モデルの学習INSERT INTO age_model_trainer FROM age_labeled_tweets; INSERT INTO gender_model_trainer FROM gender_labeled_tweets;

Page 13: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

SensorBeeの拡張性(3/3)- Source/Sinkプラグイン

l  Sourceプラグイン:CREATESOURCE⽂で使えるデータ⼊⼒の追加

l  Sinkプラグイン:CREATESINK⽂で使えるデータ出⼒の追加

l  プラグイン化する理由

  ユーザーによる拡張とその共有・再利⽤を促進

  SensorBeeの主な役割でない部分は積極的に外部連携・利⽤

13/35

センサー

⾞載機器

ルーター

カメラ

DB

NoSQL

DWH

CEP

データ入力元 データ出力先

JSON file

Sourceプラグイン

Fluentd

カメラ専⽤…

JSON file

Fluentd

Kafka…

Sinkプラグインメ

イン

の処

Page 14: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

クラウド・フォグ・デバイスをまたがるSensorBee

l  エッジ機器でも動作するように設計

  Go⾔語実装なので多様な環境向けのクロスコンパイルが容易

u  x86-32/64、arm32/64、ppc64、mips64

  build_sensorbeeコマンド

u  必要なUDF/UDS/Source/Sinkプラグインのみを含めてバイナリを⽣成

  cgoでC/C++ライブラリも呼び出し可能

  動作例:RaspberryPi3

14/35

フォグ・エッジ

(Embedded)Linux

Linuxベースの機器センサー

コントローラー

アクチュエーター

PLC / OS無し端末

Page 15: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

⽬次

l  SensorBee:IoT向けストリーム処理エンジン

l  Chainer:柔軟性の⾼い深層学習フレームワーク

l  DeepIntelligencein-MoKon(DIMo)ソリューション

l  まとめ

15/35

Page 16: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

Chainer: ⽇本発の深層学習フレームワーク

l  Pythonベースの深層学習フレームワーク(2015年6⽉OSS公開)

l  複雑かつ⾼度なニューラルネットワークの研究と実装にフォーカス

l  GPUをフル活⽤して他フレームワークに引けをとらない速度を実現

l  NVIDIAからも公式にサポート・開発者向けリストに掲載

16/35http://chainer.org/

オリジナル開発者得居誠也

Page 17: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

深層学習フレームワークの基礎と差別化ポイント

l  基礎:ニューラルネットワーク(NN)の定義・予測・学習

l  共通要素:多次元配列データ構造、NN構成単位の階層、最適化⼿法

l  差別化ポイント:NN定義の柔軟性、学習速度、スケーラビリティ

17/35

x1

xN

・・ h1

hH・・・・

kM

k1

yM

y1

Forward計算

Backward計算 (誤差逆伝播)

・・

・・

入力 隠れユニット 出力

⽂書

画像

センサー

オブジェクト: チューリップ

異常スコア: 0.35

記事カテゴリ: スポーツ

・・

・・・・

Page 18: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

ディープラーニング⼿法の複雑化傾向

l  NNは再利⽤可能な基本モジュールの組み合わせで構成

l  NNを研究するアプローチには2種類(もしくはその両⽅)

  新しい基本モジュールを提案→安定したペース、やがて成熟化

  モジュールの新しい組み合わせ⽅・使い⽅を提案→無数に存在

l  新しい応⽤に対して後者のアプローチを適⽤する研究が増加

  古いフレームワークでは実装困難、あるいは効率が悪いNN⼿法も増加

18/35

Deep Networks with Stochastic DepthG. Huang et al. 2016

Ladder Network A. Rasmus et. al. 2015

End-to-End Memory Network S. Sukhbaatar et. al. 2015

確率的に構造(深さ)が変化“記憶”と”操作”を表す構造 中間層にも制約を導⼊

Page 19: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

Define-by-Run: Chainerの特徴 動的で柔軟なニューラルネットワーク記述l  Define-and-Run

 既存フレームワークの多くがこの2段階アプローチを採⽤

 Define:事前に与えられた定義に従ってネットワーク構造をメモリ上に構築

 Run:訓練データを⽤いてForward計算を繰り返し、誤差逆伝播でモデル更新

19/35

Run

計算グラフ 勾配関数

Parameters

正解データ

更新

損失と勾配

Defineモデル定義 計算グラフ 勾配関数

パラメータ

⾃動微分 vs

Define-by-Runモデル定義

計算グラフ 勾配関数

パラメータ

正解データ

更新

動的 変更制約・条件

l  Define-by-Run

 Chainerが採⽤

 事前ではなく訓練時のForward計算で毎回ネットワーク構造を記憶

 学習の繰り返し、またはサンプル毎に条件に応じて構造を動的に変更可能

 特に複雑なNNの記述が容易&効率的

Page 20: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

20/35

Chainerの産業応⽤における優位性

l  新しい応⽤向けの複雑な⼿法を容易に実装でき、作業効率が⾼い

l  NVIDIAが主要なフレームワークとしてサポートし性能も向上

l  PythonとNumPyとディープラーニングの基礎が分かれば使える

l  適⽤分野を選ばない:画像、ロボット、センサー、強化学習

l  (PFNとして) 社内の全プロジェクトで使え、コード再利⽤性が⾼い

NVIDIA CEO基調講演よりNVIDIA cuDNN紹介資料より

Page 21: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

深層学習フレームワークの⽐較

21/35

主要実装⾔語 Python C++ Lua Python C++/Python

主要開発者 Preferred Networks / Infrastructure

BVLC Idiap Research Institute, DeepMind

Univ. of Montreal

Google

コミュニティ △(⽇本○) ◎ ○ ○ △〜○

RNN/LSTM対応

◎ × ○ ○ ○

動的ネットワーク構築

○ × × × ×

拡張性 ○ △ ○ ○ ○

ネットワーク設計

⾔語内DSL (Python)

設定ファイル(prototxt)

⾔語内DSL 設定ファイル(YAML)

⾔語内DSL (Python)

特徴 ネットワーク動的構築による省リソース

画像認識の コミュニティと豊富な事例

LuaJITによる⾼速化

⾃動微分機構 多くのフレームワークの基盤

マルチGPU・マルチノードをサポート TensorBoardによる 可視化

Page 22: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

Chainerの実⾏速度評価

l  予測(Forwardのみ)はTensorFlowと同程度の速度

l  学習は最⼤2倍低速だが、コンパイル不要であるため、デバッグやチューニングの作業効率はほぼ変わらない

22/35

0

200

400

600

800

1000

1200

AlexNet GoogLeNet VGG-A OverFeat

TorchTensorFlowChainerCaffe(naCve)

0

200

400

600

800

1000

1200

AlexNet GoogLeNet VGG-A OverFeat

TorchTensorFlowChainerCaffe(naCve)

https://github.com/soumith/convnet-benchmarksより引用(4/5現在)。Caffe以外はcuDNN使用。

Forward computation (ミリ秒) Backward computation (ミリ秒)

Page 23: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

最新ディープラーニング⼿法のChainer実装例: A Neural Algorithm of Artistic Style (Gatys et al., 2015)

l  名画などに描画スタイルを変化させたアート画像を⽣成

l  hfps://github.com/mafya/chainer-gogh  社員の松元が実装、主要なコードは45⾏程度

23/35

コンテンツ画像 (猫)

スタイル 画像

新しい アート 画像

+ =

Main code (45 lines)

Page 24: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

⽬次

l  SensorBee:IoT向けストリーム処理エンジン

l  Chainer:柔軟性の⾼い深層学習フレームワーク

l  DeepIntelligencein-MoKon(DIMo)ソリューション

l  まとめ

24/35

Page 25: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

Deep Intelligence in-Motion (DIMo): 研究開発から製品/サービスへ新しい機能を直結

25/35

SensorBee

機能ライブラリツール群

DIM

oOEM/

ライセンス

R&D プロジェクト

再利⽤

機能追加

広く横展開

パートナー プログラム

限定的に先⾏提供設計⽀援

機能要望

パッケージング

個別成果は出るが スケールしない

サポート

l  研究開発指向ソフトウェア開発の課題

  R&Dプロジェクトでは結果が優先され再利⽤性が犠牲になる傾向

  良い結果が出ても成果物がそのまま商⽤展開できず再実装が必要

l  PFN社内でDIMoを単⼀のソフトウェア基盤として定義  R&Dプロジェクトと商⽤展開をつなぐ位置づけ

  R&D初期にSensorBeeベースで機能単位の分割、インタフェースを設計

  R&Dプロジェクト中は設計の範疇で⾃由に試⾏錯誤・機能アップ

  R&D成果コードを少ない労⼒でパッケージング・商⽤展開可能

Page 26: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

DIMoのソフトウェア構成

26/35

Industries (Partners) Industries (PFN-involved)

SensorBeeTM:streamprocessingengineforIoT

MachinelearningDeeplearning(Chainer)

Auto Manufacturing

Self-driving/ADAS

Connected

OpKmizaKon

PredicKvemaintenance

Healthcare

Drugdiscovery

iPScell

Retail

CRM

AdopKmizaKon

Surveillance

AnK-crime

Tracking

Dee

p In

telli

genc

e in

-Mot

ion

(DIM

o)

StaKsKcs

Tool

s

Computervision

Detect/Track/Recognize

Reinforcementlearning

Distributed/Curriculum

Time-seriesRNN/

RepresentaKon

Sensorfusion

MulK-modal

AnnotaKonHawk

Feedback/AcKon

CameraUIkanohi

Libr

arie

s

Management

26 フォグ機器 クラウド エッジ機器

Page 27: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

DIMo事例(1/3)- 製造業/ロボティクス

27/35http://tinyurl.com/pfn-irex15

国際ロボット展2015のバラ積みデモ (FANUC)FIELD system (FANUC+シスコ+ロックウェル)

l  FANUCFIELDsystemにおいてDIMoが機械学習アプリの基盤に

  クラウド型ではなくエッジヘビー型のIndustrialIoTプラットホーム

  既存製品に機械学習ベースを中⼼とした様々なアプリをオプションで追加可能

l  ディープラーニングを⽤いた解析アプリがFIELDの⼤きな利点  例1.3次元の画像認識を⽤いたバラ積みロボットの動作最適化

  例2.予防保全に向けたセンサー情報からの故障予兆検知

Page 28: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

DIMo事例(2/3)- コネクテッド・カー/⾃動運転

28/35http://tinyurl.com/pfn-ces16

CES2016における自動運転デモ (トヨタ+NTT)

l  DIMoを中⼼とした未来のスマート交通インフラの構想  クラウドと⾞だけではなくフォグ層のインフラにもインテリジェンス

  全ての層でDIMoが基盤となりつつそれぞれ異なる役割(機能)を担当

l  ⾃動運転技術におけるトヨタ⾃動⾞様との取り組み  ⾞載カメラ・センサー情報を⽤いた周辺認識技術の共同研究開発

  NTT様と3社による強化学習を⽤いた⾃動運転のデモ展⽰

インテリジェンスを内包したスマート交通インフラ

路側デバイス ネットワーク

自動運転車

エッジ

フォグ

クラウド

Page 29: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

DIMo事例(3/3)- 映像解析ソリューション

l  監視カメラ映像解析(⼈検出・属性認識・同⼀⼈物推定)  NTTコミュニケーションズ様を始め⼤⼿3社で検証実績(2015/7〜)

l  ⾞載映像解析  監視カメラ向け技術をベースに⾞載画像⽤に拡張・機能追加

  例:Panasonic様との共同研究による駐⾞スペース認識

29/35www.ntt.com/about-us/press-releases/news/article/2016/20160330.html複数カメラ間の同一人物推定 (NTTコム+ALSOK共同実証) 駐車スペース認識(Panasonic)

Page 30: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

DIMoの将来展開

30/35

l  既存パートナーシップの推進

  製造業・⾞両向け解析アプリケーションの拡充と性能向上

  FANUCFIELDsystemへの統合とビジネス展開サポート

l  DIMoの解析機能と連携機能の追加

  ⼈⼯データを⽣成するシミュレータと組み合わせたモデル学習機能

  分散協調型の機械学習をサポートする⾼度なモデル統合・管理機能

  既存クラウド基盤・サービスとの連携機能

l  他分野への展開可能性

  汎⽤的な機能をサブスクリプションサービスのパートナー提供

  異常検知DIMoのパッケージングと多くの業界・対象への適⽤

  バイオヘルスケア分野へのディープラーニング応⽤

Page 31: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

⽬次

l  SensorBee:IoT向けストリーム処理エンジン

l  Chainer:柔軟性の⾼い深層学習フレームワーク

l  DeepIntelligencein-MoKon(DIMo)ソリューション

l  まとめ

31/35

Page 32: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

ソフトウェア化する世界とネットワーク・ハードウェア

l  エッジヘビーコンピューティングにおける新しい技術的チャレンジ  ネットワークとソフトウェア、特に機械学習の⾼度な融合  ハードウェアの進化に寄り添った機械学習ソフトウェアの抽象化

  ヘテロかつ動的に変化する動作環境における⾃律的な最適化

  機械学習ネイティブなプラットホーム・ビジネスモデルを⽀える技術

l  ソフトウェアの限界を決めるのはハードウェアとネットワーク

  ソフトウェアの限界を変えるのもこれら

  居⼼地の良いソフトウェアの領域だけに閉じていては勝負できない

  HW/NWの専⾨家も巻き込んで全く新しい技術を⽣み出すことが必要

32/35

PreferredNetworksは新しい仲間を募集しています

Page 33: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

最後に

l  PreferredNetworksはエッジ・ヘビー・コンピューティング向けソフトウェアを開発、OSS公開し、ソリューション提供しています

l  SensorBeeはIoT向けストリーム処理エンジンで、クラウドだけでなくフォグやエッジでの動作を設計されています

l  Chainerは研究開発から製品・サービス化までの効率化を重視した柔軟性の⾼いディープラーニングフレームワークです

l  DIMoを基盤としてパートナーとの先進的なR&Dを推進しつつ業界/応⽤別のパッケージングでビジネス展開を⾏っています

33/35

Page 34: Software for Edge Heavy Computing @ INTEROP 2016 Tokyo

PFN participates in Amazon Picking Challenge 2016

34