IoT時代のアナリティクス
~センサーデータからの価値発見~
MathWorks Japan アプリケーション・エンジニアリング部 (テクニカルコンピューティング) 部長 大谷卓也Agenda
IoT時代のセンサーデータ解析
–
ウェラブル、インフラ、環境、自動車
センサー信号IoT / アナリティクス構築のChallenge
IoT システム開発フロー
MATLABでのデータアナリティクス
IoT 時代のセンサーデータ技術
インフラ・プラント設備
ヘルスモニタリング
プロセス監視
自動車・航空宇宙
テレマティクス、ヘルスモニタリング
ウェアラブル・
メディカル
バイタルサインモニター
在宅ケア・遠隔医療
気象、電力、災害予測
気象・環境
モニタリング
遠隔モニタリング、診断
ウェアラブル・メディカル
• 喘息の発生及び、
COPD(慢性閉塞性肺疾患) 検知
• スマートフォン側の処理と、クラウドベース
処理の組み合わせによる、診断
遠隔地の患者の
ECGデータの取得
デバイス側でのデータ前処理
• トレンド、ノイズ除去サーバー・クラウドによる、各種統計
値測定、機械学習による、診断
http://www.mathworks.com/tagteam/84870_92152v01_iSonea_UserStory_2015.pdfリモートセンシング、異常検知例
!!!
遠隔地の構造物や機器 の異常 機器の健康状態、異常の リモート診断、モニタリングインフラ・プラント設備
工場での生産工程の最適化 異常・変化点検知観測データの異常
製造物/生成物の異常
気象・環境
モニタリング
10/22 10/23 10/24 10/25 10/26 10/27 10/28 10/29過去のデータと様々なパラメータを使い未来の予測
• HVAC(冷暖房、換気システム) に向けたクラウドベースの
リアルタイム・アナリティクス
• 気象データ、電力消費量を元に、機械学習、最適化
• ビルの電力消費量を15-20%削減
http://www.mathworks.com/tagteam/82631_92267v00_BuildingIQ_UserStory_final.pdf走行データ解析
ヘルスモニタリング
自動車・航空宇宙
自動車のアクセル・ブレーキパターンの解析 各車両のチャージ量(電源)のマッピング • 社内ITシステムと統合した解析システム • コンポーネントのパフォーマンス予測 • メンテナンスコストの最小化 http://www.mathworks.com/tagteam/52469_91597v00_daimler_upd.pdfAgenda
IoT時代のセンサーデータ解析
–
ウェラブル、インフラ、環境、自動車
センサー信号IoT 構築のChallenge
IoT システム開発フロー
MATLABでのデータアナリティクス
センサー信号IoT 構築のChallenge
膨大なデータのハンドリング
–
大量のセンサーデバイス、限られた転送帯域
–
コンピューティングリソース、消費電力の全体最適化
(デバイス側での処理と、サーバー・クラウド側処理のパーティショニング)
高度なアナリティクスの開発
–
非同期、サンプル速度の違い、欠損データの対応
–
高度な機械学習、時系列予測、最適化アルゴリズムの実装
–
ITインフラとの統合
IoT 構築のチャレンジ
エッジデバイス • 信号処理、画像処理、データ圧縮 • 組み込みシステム(マイコン、FPGA) データアグリゲータ • データの前処理、同期処理 • データベースアクセス • 並列計算による高速化 データ解析/可視化 • トレンド解析・異常検出 • データ可視化・レポーティングセンサー
ネットワークのバンド幅
V.S
消費電力
V.S
コンピューティングパワー
V.S
開発時間・工数
データ転送
IoTを使った遠隔診断DEMO
~
心電図のリモート(Cloud)診断~
心拍データのキャプチャ 特徴の抽出生体信号モニタリング・デバイス
Amazon Kinesis Kinesis JAVA Client Amazon EC2MATLAB
ニューラルネットワークによる 機械学習(MATLABからの実装)MATLAB
情報の圧縮 (時系列センサー例)
(特徴量の抽出クラウドへ送信)
全データ送信 @1k/s
4bytes x 1,000points = 4KB/s
特徴データ(QRS例)のみ送信
4bytes x 10points x 2(タイムスタンプ)
=
80B/s
必要な特徴量のみ送信することで、必要データ帯域を最小限に
デバイス10万台の例: 400MB/s 8MB/s
アナリティクスの処理負荷とデータ量
入力
特徴抽出
特徴量
分類・解析
(機械学習など)
出力
データ量:大
処理負荷:小
データ量:中
処理負荷:中
データ量:小
処理負荷:中
データ量:小
処理負荷:大
情報の圧縮 (監視カメラ・イメージセンサー例)
ストリーミングでのコンピュータビジョン処理
Database
ビデオデータ(保存用)
ギガバイト、テラバイト単位
時刻+検出結果
メタデータのみ
メガバイト単位
入力データをリアルタイム処理し、メタデータを同時生成することに
より、後処理時間、データ転送時間を削減
アナリティクスフロー
データ 情報 知識 アクション観測
• 検出 • 収集 • 状態整理
• フィルタリング • 信号解析 • データ処理 • プロット理解
• 分析 • 周波数 & 時間領域 • 予測分析 • 推定意思決定 & 設計
• レポート & Apps • 拡張性のある展開 • 設計最適化MPG Acceleration Displacement Weight Horsepow er
M P G A c c e le ra tio n D is p la c e m e n t W e ig h t H o rs e p o w e r 50 100150200 2000 4000 200 400 10 20 20 40 50 100 150 200 2000 4000 200 400 10 20 20 40
Agenda
IoT時代のセンサーデータ解析
–
ウェラブル、インフラ、環境、自動車
センサー信号IoT / アナリティクス構築のChallenge
IoT システム開発フロー
MATLABでのデータアナリティクス
IoT / M2M 全体像
エッジデバイス • 信号処理、画像処理、データ圧縮 • 組み込みシステム(マイコン、FPGA) データアグリゲータ • データの前処理、同期処理 • データベースアクセス データ解析/可視化 • トレンド解析・異常検出 • データ可視化・レポーティングセンサー
IoT / M2M 開発フロー
①MATLABによる、アルゴリズム開発、全体システム設計
全体システムの動き確認・検討 • データの同期方法検討 • 特徴抽出・機械学習の検討 • トレンド解析、イベント・異常検出 大規模高速演算 • HPC利用による、並列処理の検討 • GPGPUによる高速処理MPG Acceleration Displacement Weight Horsepow er
M P G A cc e le ra tio n D is p la c em e nt W e ig h t H o rs ep o w e r 50 100150200 20004000 200 400 10 20 20 40 50 100 150 200 2000 4000 200 400 10 20 20 40
HWをダイレクト接続
(I2C, SPI, CAN, 測定機器類)
IoT / M2M 開発フロー
②MATLAB/Simulinkによる、組み込み開発
MATLABへHWをダイレクト接続
(I2C, SPI, CAN, 測定機器類)
アルゴリズムの開発
• データの同期方法検討 • 特徴抽出・機械学習の検討
• トレンド解析、イベント・異常検出
MPG Acceleration Displacement Weight Horsepow er
M P G A cc e le ra tio n D is p la c em e nt W e ig h t H o rs ep o w e r 50 100150200 20004000 200 400 10 20 20 40 50 100 150 200 2000 4000 200 400 10 20 20 40
センサー
IoT / M2M 開発フロー
②MATLAB/Simulinkによる、組み込み開発
実装
Cコード生成
HDLコード設計
アルゴリズム
要求仕様
ソフトウェア モデル ハードウェア モデル統合
プログラマブル SoCなどシステムモデル
生
成
生
成
実
装
アルゴリズムのパーティショニング • アナログ vs. デジタル • スピード vs. 容量/面積 • FPGA vs. CPUモデルベースデザインフロー
IoT / M2M 開発フロー
③エッジデバイス、アグリゲータへのコードの配置・Deploy
エッジデバイス • 信号処理、画像処理、データ圧縮 • 組み込みシステム(マイコン、FPGA) データアグリゲータ • データの前処理、同期処理 • データベースアクセスC/HDLコード生成 / 実装
システムの最適化/バランス配置 • エッジデバイス vs. サーバー • ストリーミング vs. オフラインMATLABコードの
IoT / M2M 全体像
エッジデバイス • 信号処理、画像処理、データ圧縮 • 組み込みシステム(マイコン、FPGA) データアグリゲータ • データの前処理、同期処理 • データベースアクセス データ解析/可視化 • トレンド解析・異常検出 • データ可視化・レポーティング RESTful API (JSON、XML、画像、テキスト) TCP/IP全体のシステムレベルで検討し、
パフォーマンスとコストの最適化
Agenda
IoT時代のセンサーデータ解析
–
ウェラブル、インフラ、環境、自動車
センサー信号IoT / アナリティクス構築のChallenge
IoT システム開発フロー
MATLABでのデータアナリティクス
1970 Stanford Ph.D. thesis,
with thousands of lines of
Fortran code
MATLAB
1970 Stanford Ph.D. thesis,
with thousands of lines of
Fortran code
MATLAB
MATLAB
テクニカルコンピューティングを
効率的に行うためのプログラミング環境
–
アルゴリズム開発向けに対話的な
プログラミング環境を提供
–
強力なデータ解析、可視化機能
–
信号処理、画像処理、統計、最適化、
数式処理など適用分野に特化した
アドオン製品群-“Toolbox”
–
外部のデータ、アプリケーション、機器との入出力
–
MathWorks製品の基盤
MATLABの適用分野
航空宇宙 / 防衛
自動車
医療 / 創薬
化学 / 石油
通信
コンピュータ / オフィス機器
教育
電機 / 半導体
金融
工業オートメーション
計測
エネルギー
業界
プログラミング言語としてのMATLAB
2014年7月
IEEE Spectrumによる、
プログラミング言語の人気調査
(12種類の項目での結果)
結果: MATLABがC, C++,
Javaなどの従来からの汎用言語
と並び、10位にランクイン
Data sources: Google, CareerBuilder,
アナリティクス向け各種ツール
Optimization Toolbox
滑らかな目的関数の最適化
さまざまな最適化問題に対応する関数の
提供
最適化計算の並列処理
最適化のためのGUI環境
Statistics and Machine Learning
Toolbox
多変量統計
確率分布
回帰と分散分析
機械学習
実験計画
Computer Vision System Toolbox™
カメラキャリブレーション
機械学習による物体認識
動画ストリーミング処理
トラッキング
ステレオビジョン・3D表示
Signal Processing Toolbox™
信号生成、時間領域解析
フィルタ設計解析
アナログフィルタ
ディジタルフィルタ
スペクトル解析
線形予測
各種HW/SW連携ツール
Parallel Computing Toolbox
MATLAB & Simulink と
連携した並列処理
最大512並列をサポート
GPU 計算
対話的な並列計算実行
ジョブおよびタスクの制御
デスクトップ MATLAB ローカル デスクトップコンピュータDatabase Toolbox
各種データベースへの
アクセス
ODBC
JDBC
GUIを用いた対話的な
アクセスとSQLの作成
Mapping Toolbox
2D/3D地図表示
WebMapService
サーバへのアクセス
デジタル地形の分析
地図フォーマット変換
Web Map の表示
Instrument Control Toolbox
測定器へのアクセス
オシロスコープ
信号発生器
スペアナ
:
シリアル通信(RS-232など)
Big Data に対する対応
メモリとデータへのアクセス
64-bit プロセッササポート
メモリ/Diskマップド変数
データベースアクセス
大規模テキストサポート
プラットフォームサポート
マルチコア、GPU
クラスタへの対応
クラウドコンピューティング
プログラミング手法
ストリーミング
ブロック処理
CPU/GPUを使った並列処理
MapReduce
Datastore
Hadoopとの連携、MapReduceの実装
MATLAB
MapReduce
Code
HDFS Node DataMATLAB
Distributed
Computing
Server
Node Data Node DataMap
Reduce
Map
Reduce
Map
Reduce
Hadoop
複雑なJAVAコードを書く必要なく、MATLABコードをそのまま、
mapreduce, Hadoop環境に持って行き、並列化オプション(MATLAB
Distributed Computing Server)併用で、大規模並列処理が可能
AWS EC2へのスケールアウト
デスクトップクライアントにて
マルチコアを使った
MATLAB/Simulinkの
並列コンピューティング
処理が重い演算・シミュレーション時、
EC2上にクラスタ環境を構築し、
大規模並列コンピューティングへ拡張
MATLAB + Parallel Computing ToolboxR
MATLAB Distributed Computing ServerR
ITシステムとの統合
Web サーバ アプリケー ション サーバ データベースサーバ Pricing Risk Analytics Portfolio OptimizationMATLAB Production Server MATLAB
Compiler
Webアプリケーション
デスクトップアプリケーション
バッチアプリケーション
MATLAB Production Serverを使い、様々なITサーバ環境の中に、
MATLABを組み込むことが可能です
チャレンジ
MATLABソリューション
IoT システム設計・最適化 思考を止めない統合環境
アイデアから組み込みデバイス、
アプリケーション開発までの統合環境
データの理解
機械学習、音声・画像処理、時系列解析
深く・広い分野に対して、多数の解析手法の提供
大規模演算
スケーラブルなコンピューティング環境
並列CPU,GPUを使った高速処理
IT環境への展開、
インテグレーション
デスクトップからIT環境への展開まで同じ環境で対応
作り直しが発生しないスムーズなプロダクションへの移行
テクノロジーリスク
テクニカルサポート付きのハイクオリティなライブラリ
プロダクションに使える、業界標準ライブラリ
サポート、トレーニング、アドバイザリも提供
© 2015 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.