Page 1
NTT技術ジャーナル 2015.1220
機械学習・データ科学センタが推進するビッグデータ技術の横断的研究開発
ビッグデータの活用
インターネットの普及やICT技術の発展により,莫大な量の多種多様なデータが時々刻々と生成されるようになりました.具体的には,TwitterやFacebookなどのインターネット上のさまざまなサービスの利用データ,ネットワーク装置やサーバなどのログ,家電製品や自動車等に搭載された各種センサから送られてくるデータといったものです.
本稿では,このように連続的 ・ 大量に生成されるビッグデータを単純に集計や検索するだけではなく,より深く分析して素早く次の行動につなげるためのオンライン機械学習向け並列分散処理フレームワーク「Jubatus(ユバタス)」とその適用事例を紹介します.
Jubatus
JubatusはNTT研究所とPreferred Infrastructure社(PFI社 )が2011年に研究開発を開始し,同年10月よりオープンソースソフトウェア(OSS)として公開しています(1)~(3).Jubatusには大きく 2 つのねらいとそれを実現する 3 つの特徴があります(図 ₁ ).1 番目のねらいは,処理性能のスケー
ラビリティであり,「リアルタイム分析」を「並列分散アーキテクチャ」により実現しています. 2 番目のねらいは深い分析で,「機械学習」により実現しています.
まず,リアルタイム分析により,連続的に発生するデータを一時蓄積することなく逐次処理を行うことで,すばやい応答を実現します.次に,並列分散アーキテクチャにより,Hadoopなどの大規模データ処理基盤と同様,サーバの増設によるスケールアウトを実現します.さらに機械学習により,ルールがまだよく分かっていない,またはルールとして表現することが難し
いもの,あるいは時間とともにルールが変化していくものなど,あらかじめシステムで処理するためのルールを設定することが難しい場合に,事例データからルールを学ばせることで深い分析を実現します.
リアルタイム分析×並列分散アーキテクチャ×機械学習という特徴を同時に実現する技術はJubatusが世界初であり,これらを実現するため,MIX処理を採用しています(4).
Jubatusの利用例
Jubatusの 3 つの特徴は,異常や故障の予兆検知に有効です.例えば工場
リアルタイム分析 並列分散アーキテクチャ オンライン機械学習
迅速な対応が可能
分析結果
装置やサーバなどのログSNS
各種センサ
並列分散アーキテクチャ
ビッグデータ
リアルタイム分析
機械学習
FacebookTwitter
・ビッグデータを・深く分析し・すばやく応答する
・サーバログからネットワーク障害予兆検知・監視カメラ映像から振り込め詐欺検知・ソーシャルメディアの分類・評価・トラフィックから不正を検知・購買履歴から売れ筋商品の推定
数MB/秒数GB/時数TB/日
図 ₁ Jubatus
オンライン機械学習向け並列分散処理フレームワークJubatusの最新動向モバイル端末の普及やセンサ技術の発達などにより,ビッグデータと呼ばれる大量の多種多様なデータが連続的に生成されるようになるとともに,これらビッグデータの生成に追随して迅速に分析したいというニーズが高まってきています.本稿では,ビッグデータをリアルタイムに深く分析するための並列分散処理フレームワークJubatusについて,概要,最新の開発動向,オープンソースコミュニティ活動と商用サポート,適用事例について紹介します.
林はやし
孝た か し
志 /梅う め だ
田 昌まさよし
義
澤さ わ だ
田 雅ま さ と
人 /飯いさがい
盛 可か お り
織
山やまなか
中 章あきひろ
裕 /綱つなかわ
川 光みつあき
明
NTTソフトウェアイノベーションセンタ
Page 2
NTT技術ジャーナル 2015.12 21
特集
等の場合,さまざまなセンサから取得されるデータやログを逐次処理することで,迅速な対応が可能となります(リアルタイム分析).また,工場の規模が大きくセンサ台数が膨大な場合もJubatusサーバの追加により対応可能です(並列分散アーキテクチャ).さらに,独立したセンサ情報による警告ではなく,複数センサのデータを「異常検知」アルゴリズムを用いて学習させることで,未知のパターンのデータを通常と異なるものとして検出することが可能です(機械学習).
サーバのログデータに機械学習を適用した例を図 ₂ に示します.主要な特徴を用いた 3 次元で表しており,赤く示したものが普段とは異なる特徴を持ったデータです.このように,通常と異なるパターンのデータを抽出し,詳しく調査することで,未知の異常を発見することが可能となります.
現在,Jubatusの適用領域拡大については機 械学習 ・ データ科 学センタ
(MLC: Machine Learning and Data Science Center)やhimico(5)と連携し,ネットワーク故障検知等のPoC(Proof of Concept)*1案件に取り組んでいます.
最新の開発動向
2011年のOSS公開開始から現在まで随時バージョンアップを繰り返すことで(2014年度内だけで 9 回),システムの基盤部分の整備が進み,プログラマなどの開発者が容易に利用可能な環境がそろってきました.また,データサイエンティストや各分野の専門家向けに,各種分析アルゴリズムを拡充してきました.現時点でJubatusが対応している分析アルゴリズムを表に示します.例えば,最新のリリースに含まれる「バンディットアルゴリズム」では,問題を解くための手段が複数存在する場合
に,サービスを実行しながら各手段の評価を並行して実施することで,ユーザ ・ 状況に応じた最適な手段を選択することができます.この機能は,商品のレコメンデーションや広告配信などの効率的な選択に非常に有効です.
さらに,表に示す各分析アルゴリズムを実現するモジュールはプラグインの形式で搭載されており,ユーザ独自の分析アルゴリズムを開発した場合も,プラグインとして追加 ・ 選択が可能です.
ま た, 最 新 の 研 究 成 果 と し て「JubaQL」を公開しました.JubaQLとはJubatusに対するオンライン機械学習の各種要求を実現するSQLライクな構文の対話型インタフェースのことです(図 ₃ ).従来のJubatusではRuby,Pythonなどのプログラミング言語を用いてクライアントプログラム
表 実装済み分析アルゴリズム
分析アルゴリズム 機 能 適用シーン例
分類 与えられたデータをカテゴリに分類 ・ スパムメール判定・ Twitterのカテゴリ分け
推薦 与えられたデータと似ているデータを推薦
・ ECサイトの商品お薦め・ 検索サイトの連動広告
回帰 与えられたデータに対する出力の値を推定
・ 消費電力値予測・ 株価予測
統計 データの頻度,標準偏差,最大値,最小値など統計情報を集計
・ センサ監視・ データ異常検知
グラフマイニング 与えられたグラフ構造から中心点や最短経路を抽出
・ ソーシャルコミュニティ分析・ ネットワーク構造分析
異常検知(外れ値検知)
与えられたデータ集合の中から異常(外れ値)を検知
・ 不正検知・ 障害検知
クラスタリング 与えられたデータ集合を教師データなしで指定された個数にグルーピング
・ セグメント分析・ トピック分類
バースト検知 しきい値設定しなくても急激な量の変化を検知
・ 通信量の輻輳検知・ SNS炎上検知
バンディットサービスを実行しながら複数の手段の評価を実施し,ユーザ ・ 状況に応じた手段(アルゴリズム)を選択
・ ECサイトの商品お薦め(個人対応)・ 検索サイトの連動広告(個人対応)
12 7 2 -2 -7 -12
Comp.3
Comp.1
Comp.2
・ログデータ(実際は 1件につき41項目/次元のデータ)から,通常と異なる新規のパターンを検知(赤く表示)
・サンプリングでは見逃す危険があるため全量分析が必要・「異常検知」アルゴリズムにより,教師なし学習で実現
12
7
2
-2
-7
-12 -12 -7 -2 2 7 12
図 ₂ 故障の予兆検知
*1 PoC:新しい概念や理論 ・ 原理などが実現可能であることを示すための簡易な試行.
Page 3
NTT技術ジャーナル 2015.1222
機械学習・データ科学センタが推進するビッグデータ技術の横断的研究開発
を記述する必要がありましたが,JubaQLにより分析処理の組合せや分析の反復評価が容易になるため,データ分析処理の生産性が向上します.
OSSコミュニティ活動と 商用サポート体制
前述のとおり,JubatusはOSSとして公開しています.現在,Hadoopをはじめビッグデータ分析に関する分散処理基盤の多くはOSSとして公開され,多くの開発者,研究者がかかわってエコシステムを形成し,新しい利用事例やデータ活用のかたちが生み出されています.Jubatusも同じようにOSSとして公開することにより,多くのユーザに触れてもらい新しい利用事例やデータ活用のかたちを生み出していくことをねらいとしています.
今までOSSでのコミットは2000件を超えており,利便性の向上が図られています.さらにJubatusのハッカソン 2 回,ハンズオン 4 回,カジュアルトーク 3 回,カジュアルもくもく会1 回を開催し,参加者延べ約590名を集めるなどコミュニティ活動を活発に行っています.カジュアルトークでは
開発元であるNTT研究所やPFI社以外からの導入案件についても報告があり,利用の拡大が進みつつあることを確認しています.
また,Jubatusをビジネスに活用するため,商用システムに導入していく動きも広がっています.商用導入に向けては適切な分析アルゴリズムの選択や性能のチューニングなどのノウハウが重要です.そこで商用導入を推進するため,NTTソフトウェアでは2014年 1 月にJubatusの商用サポート体制を確立し,ビジネスでの活用に役立つさまざまな支援を提供しています.
適 用 事 例
■WatchBeeJubatusの活用事例の 1 つに,NTT
アイティが提供している評判情報解析サービス「WatchBee」(6)における「まとめ表示機能」があります.SNSなどの大量の情報から,それぞれの情報の持つ特徴量を抽出,情報間の相関性の分析を行うことで,類似した情報を分類しまとめる機能を提供しています.WatchBeeでは,最短30分間隔での分析を行っており,日々刻々と大量に生
成されるSNSなどの情報を高速に分析することが必要とされています.
Jubatusを活用することで,極めて高度な分析かつリアルタイムでの処理が可能になりました.■hitoe連携
センサデータの分析にもJubatusを適用することができます.スポーツにおけるフォームチェックなどに,hitoe(7)
のようなウェアラブルデバイスから取得した 3 軸加速度のデータ* 2 を利用して姿勢を判定する場合,従来の技術では姿勢ごとにセンサの値がどのような範囲になるかを決めることで判定を行っていました.しかし,個人ごとに異なる体型やクセによって正しく判定できなかったり,正しく判定するための調整が非常に難しいという問題がありました.
Jubatusを活用した姿勢判定では,判定したい姿勢を取っているときのセンサの値を学習することで,自動的に判定基準を決めることができます(図 4 ).個人ごとのデータを学習すれば,その
> CREATE …Model …> UPDATE Model …> ANALYZE …
試行錯誤的な評価を行うためには※の個所で個別のプログラミングが必要
JubaQLなどにより試行錯誤が容易
分析者
fluentd 特徴抽出
特徴抽出HDFS ※
特徴抽出 近傍探索
※
特徴抽出 分類器 分類結果
分析者
fluentd 特徴抽出
HDFS特徴抽出
特徴抽出 近傍探索
分類器 分類結果
①分析処理の組合せ等がクエリのみで実行可能
②ユーザ定義した複数の特徴抽出パターンを容易に試行可能
③蓄積したデータストリームによる反復評価
※
図 3 JubaQLの効果
*2 3 軸加速度のデータ:センサの向きを判定するために,センサが受けた重力加速度をX軸/Y軸/Z軸の 3 軸に分解したデータ.
Page 4
NTT技術ジャーナル 2015.12 23
特集
人の体型やクセの違いを反映した判定基準をつくることも可能になります.また,Jubatusの追加学習機能を利用し正しく判定できなかったデータを追加学習することで,さらに判定精度を高めていくことも可能です.■監視カメラ画像分析
監視カメラの画像分析への適用についても検討を進めています(図 ₅ ).現在,事件の捜査などで監視カメラの映像を使用する場合,時間帯を絞り込んだうえで人間が見て,怪しいところ
を探す必要があります.Jubatusの「分類」アルゴリズムを用いることで,カメラ映像の撮影と同時に,特徴抽出し,
(例えば服の色やネクタイの有無,スマホや本を読んでいるといった動作などを)属性として画像データに付加しておくことができれば,後の集計や検索が容易になります.
今後はDeep Learning(₈)などの最新の技術と組み合わせた映像認識を活用することで,属性分類精度のさらなる向上を目指していきます.
今後の展開
これまでJubatus本体の分析アルゴリズム拡充やJubaQLなどの利便性向上に取り組みつつ,認知度の向上と利用者の拡大に努めてきました.今後はビジネスでの円滑なJubatus活用に向けて,品質向上(運用性 ・ 信頼性強化等)や周辺機能拡充に注力していきます.さらに,Jubatusの適用分野の拡大に向けて,AI(Artifi cial In tel li gence:人工知能)やIoT(Internet of Things:モノのインターネット)などの新領域 ・分野の案件開拓を加速していく予定です.
■参考文献(1) http://jubat.us/(2) https://twitter.com/jubatusoffi cial/(3) https://github.com/jubatus/jubatus/(4) 堀川 ・ 北山 ・ 小田 ・ 上西 ・ 韓 ・ 牧野 ・ 石井 ・
内川 ・ 木下:“オンライン機械学習並列分散処 理 フ レ ー ム ワ ー クJubatus,” NTT技 術ジャーナル,Vol.24,No.10,pp.30-35,2012.
(5) http://www.ntt.co.jp/news2015/1502/15021₈a.html(6) http://www.ntt-it.co.jp/product/watchbee/(7) http://www.ntt.co.jp/news2014/1401/140130a.html(8) http://deeplearning.net/
YZX
歩いている!
【学習】
【推定】
実際の姿勢・動き 推定結果
・「立つ」「座る」「歩く」などの姿勢や動作を,hitoe 端末の加速度センサの値を基に,Jubatus で学習・推定(機械学習)
加速度から抽出した特徴量を学習
図 ₄ hitoe連携
常に素早く
大量データ
深く分析
事例を分析しルールを学習
次 と々生成される複雑で大きなデータ
データをためずリアルタイム応答
メガネなし
ネクタイあり
青い服
メガネなし
ネクタイあり
黒い服
メガネあり
ネクタイなし
青い服
・画像データから特徴を抽出し,意味(タグ)を付与して蓄積することで,集計,検索が可能・リアルタイムに対応が必要な異常事象の検知(防犯,防災),顧客識別への活用を目指す
図 ₅ 監視カメラ画像分析
(後列左から) 山中 章裕/ 林 孝志/ 綱川 光明/ 梅田 昌義
(前列左から) 澤田 雅人/ 飯盛 可織
NTTグループ内外と広く連携し,PoC案件などを通じて,新たなサービスの実現に取り組んでいます.皆様のご意見,ご要望等をお待ちしています.
◆問い合わせ先NTTソフトウェアイノベーションセンタ 第二推進プロジェクト
TEL ₀₄₂₂-₅₉-₂3₀3FAX ₀₄₂₂-₅₉-3₇3₉E-mail jubatus-info lab.ntt.co.jp