2012/11/19@情報処理理学会連続セミナー:
              ビッグデータに⽴立立ち向かう機械学習




    ⼤大規模データ分析基盤Jubatusによる
      リアルタイム機械学習とその活⽤用



               岡野原  ⼤大輔


       株式会社Preferred  Infrastructure  
          hillbig@preferred.jp
アジェンダ

l  リアルタイム解析の利利⽤用事例例
l  オンライン機械学習の理理論論と実践
l  Jubatus        
l  Edge-Heavy Data




                    2
会社紹介
株式会社  Preferred  Infrastructure
l    略略称    PFI
l    代表者 ⻄西川  徹
l    設⽴立立   2006年年3⽉月
l    社員数 26名
l    所在地 〒113-‐‑‒0033  東京都⽂文京区本郷2-‐‑‒40-‐‑‒1
l    事業概要
      l    検索索/分析分野での製品開発,  販売,  サービス提供
      l    ⼤大規模分散分析エンジンの共同研究開発


                最先端の技術を最短路路で実⽤用化
             リサーチとエンジニアリングの融合
      世の中に必要とされる中で特に重要で困難な課題に対し解を提供

                               3
Preferred  Infrastructure
メンバー構成
l    フルタイム26⼈人中23⼈人がエンジニア/研究者
      l  以下の情報/理理/⼯工学博⼠士

            l    ⾃自然⾔言語処理理/機械学習/計算量量理理論論/データマイニング/⽂文字列列解析
      l    ICPCプログラミングコンテスト  世界⼤大会(=⽇日本代表)  7名
      l    未踏プロジェクト  5名
      l    TopCoder世界上位や、世界プログラミングコンテスト優勝者など
l    各種コミュニティへの働きかけ
      l  ⽇日本Hadoopユーザー会⽴立立ち上げ,  ⾃自然⾔言語処理理若若⼿手の会委員⻑⾧長

      l  ⽇日本語⼊入⼒力力本,  Haskel本,  各種雑誌記事,  専⾨門書



      その他、データ圧縮、UI/UX、セキュリティ、分散システム、
      ソフトウェア⼯工学など様々な分野の専⾨門家

                                  4
リアルタイム解析の
         利利⽤用事例例




5
BigData  !

l    巨⼤大なデータがあらゆる分野で⽣生まれ続けている
      l  特徴は3つのV

          Volume(量量),  Velocity(⽣生成速度度),  Variety(多様性)
      l  スケーラブル・フレキシブルなシステムが求められる

      l  これまでデータ利利⽤用が少なかった分野にも広がる


                           ≪データの種類≫
テキスト      ⾏行行動履履歴    画像     ⾳音声       映像    信号    ⾦金金融   ゲノム



  ⼈人        PC      モバイル   センサー       ⾞車車   ⼯工場   EC     病院


                           ≪⽣生成される場所≫

                                  6
今後重要となるビッグデータ処理理基盤の技術

l  深い分析
    l  データマイニング/機械学習

    l  集計、決められたルールによる判定の先の分析

l  リアルタイム解析


l    深い分析・リアルタイム解析が
      使われている事例例を紹介
      l  SNS(Twitter・Facebook)

      l  災害対策

      l  ⾞車車

      l    スマートグリッド
      l    ⼯工場・インフラ

                                  7
事例例 1/5
SNS(Twitter・Facebookなど)
•  各企業/ブランド/製品に
   ついての⼝口コミ分析
•  災害時の情報共有




                  8
事例例 2/5
災害対策




地域、トピック、時間で情報をフィルタリング
              9
事例例 2/5
災害対策  http://google.org/crisismap/2012-sandy




                          10
事例例 3/5
⾞車車
l    サービス
      l    遠隔保守サービス:マンスリー・レポート,  故障診断
      l    遠隔セキュリティ:遠隔で⾃自動⾞車車を停⽌止、⾞車車両盗難、債権回収
l    ソーシャルセンサ
      l    ヒヤリハットマップ:急ブレーキが多い場所,  事故,  運転⼿手
      l    道路路情報:通れた道マップ
      l    店舗・天気・交通情報:c.f.  waze  TomtomHD  traffic
l    運転⽀支援
      l    運転補助  /  燃費最適化  /  ⾃自動運転
             l    Ford  +  Google  Prediction  APIによるPHVの最適化の例例
      l    Ford  OpenXC:  CANデータをJSONで取得可能


                                        11
事例例 3/5 (続)
 ⾞車車  waze.com	
  	
  ナビゲーションシステム	
  




                      12
事例例 4/5
スマートグリッド
電⼒力力使⽤用量量の推定・予測・最適化
使⽤用機器の推定

     データセンタ/オフィス

        推定




             電⼒力力計




                     TAP
                     (パケットデータ)



                         13
事例例 5/5
⼯工場・インフラ
l    NY市の既存の配電網の予防的メンテナンスに機械学習を利利⽤用
       l  1500万⼈人が利利⽤用している配電網での実際のデータで実証実験

       l  様々な情報から、どの順番にメンテナンスを⾏行行う必要かを決定する

       l  300種類の特徴情報(realtime/semi-‐‑‒realtime/static)

             l    各種センサデータから挙げられる数百種類のデータ
             l    過去のトラブルが記述されたトラブルチケット集記録
                   (⾃自然⾔言語処理理を⾏行行い、特徴・訓練例例を抽出)
      l    MTBF  (Mean  time  between  failures)をランキング学習で推定




“Machine  Learning  for  the  New  York  City  Power  Grid”,  
J.  IEEE  Trans.  PAMI,  to  appear,  
Con  Edison社とコロンビア⼤大の共同研究
                                                   14
事例例 5/5
⼯工場・インフラ
l    停電するかどうかの割合推定
      l  横軸:システムによる推定

      l  縦軸:実際の停電した割合




                         15
オンライン機械学習




16
オンライン機械学習

l    データを1つずつ受け取るたびにパラメータを即時更更新


l    オンライン学習の特⻑⾧長
      l  多くの問題の場合、収束が速い.

      l  訓練例例を保存する必要は無く、その場で捨てられる

      l  実装は単純な場合が多い

      l  性能評価はRegret解析を⽤用いてできる



l    多くのバッチ型機械学習は確率率率的最急降降下法(SGD)で
      オンライン化可能


l    以降降では多クラス分類問題のオンライン機械学習を紹介する

                       17
線形識識別器(⼆二値分類)

f(x;	
  w)	
  :=	
  sign(wTx)	
  

l ⼊入⼒力力  x	
  ∈	
  Rm	
  から  出⼒力力  y	
  =	
  {-­‐1,	
  +1}	
  を予測する識識別関数  f(x;
                                        w)
     l     w∈Rm が各特徴の重みであり、重み付き多数決で出⼒力力を推定


l 単純ベイズ法、SVMs、ロジスティック回帰など多くの分類器が	
  
線形識識別器に属する	
  
                                                                                x1      x2      x3    ….	
xm
     l     分類の計算量は非零の特徴数に比例                                                     * 	
    * 	
   * 	
    * 	
     	
                                                                         w1      w2      w3 ….	
 w
                                                                                                          m


                                                                                             sum 	

    sign(z)	
  :=	
  +1	
  if	
  z	
  >=	
  0	
  and	
  -­‐1	
  otherwise	
  
線形識識別器の多値分類への拡張

f(x;	
  w)	
  :=	
  arg	
  maxy	
  wTyx

l ⼊入⼒力力  x	
  ∈	
  Rm	
  から  出⼒力力  y	
  =	
  {1,	
  2,	
  …,	
  k}	
  を予測する識識別関数  f(x)
     l    重みは出力候補毎に用意	
  


l 以降降紹介する⼆二値分類の学習式はy(i)wTx(i)の部分を	
  
Δ:=	
  wy(i)Tx(i)	
  –	
  wy’Tx(i)に置き換えることで多クラス分類に拡張可能	
  
       l  但しy’は最もスコアが高かった不正解ラベル y’	
  :=	
  argmax	
  y≠y(i)	
  wyTx(i)	
  



l クラスラベル数が⾮非常に⼤大きくても、argmax	
  y≠y(i)	
  wyTx(i)	
  さえ⾼高速に	
  
求まれば動く	
  
  l  c.f. CRFs, 構造学習
学習アルゴリズムの基本形

l    紹介する学習アルゴリズムは全て次の繰り返しで表現できる


1.  訓練例例  (x, y) を受け取る
2.  現在の識識別器で正しく分類できるかを調べる  ywiTx > E ?
3.  正しく分類できないのであればwiを次のように更更新
    wi+1 := wi + yαAx
    但し、α>0∈R, A∈Rmxm は半正定値⾏行行列列(対⾓角⾏行行列列の場合が多い)


l    E, α, Aをいかに適切切に設定するかで、学習性能が変わってくる
       l E: 更更新条件

      l α   : ステップ幅
      l A   : 各特徴毎の更更新幅.c.f. マハラノビス距離離
更更新の意味

l    α> 0、Aが半正定値⾏行行列列の時
	
  	
  	
  ywi+1Tx = y(wi+yαAx)Tx        y > 0 	
          wt	
                                                 y=-­‐1	
                                                     x	
       -αAx	
                  = ywiTx + y2α(Ax)Ty < 0 	
                                    x
                                                                   wt+1	
                  = ywiTx + αxTAx
                  ≧ ywiTx
                     常に正	



l    今の訓練例例は少なくとも正しく分類されるように更更新
線形識識別器のオンライン学習アルゴリズム

次の⽅方法を紹介                                                                 登場した年年
l  Perceptron	
  
                                                                    •    1958	
  
l  Passive-­‐Aggressive	
                                          •    2002	
  
l  Confidence	
  Weighted	
  Learning	
  	
                         •    2006	
  
l  Adaptive	
  Regularization	
  of	
  Weight	
  Vector	
  	
      •    2009	
  
l  Normal	
  HERD	
                                                •    2010	
  
l  Soft	
  Confidence	
  Weighted	
  Learning	
  	
                 •    2012	
  



                                                                   下に⾏行行くほど
                                                                   より⾼高精度度、速く収束
Perceptron     [Rosenblatt Psy. Rev. 58], [Collins EMNLP 02]



l    訓練例(x, y)に対し、現在の線形識別器wiで分類できるかを調べ
      誤って分類した場合は wi+1 := wi + yx と更新
l    E = 0, α = 1, A = I に対応


l    単純な更更新式だが、多くのタスクで強⼒力力なアルゴリズムである
l    最終的に得られたwではなく全ステップの平均wa := ∑wiを利利⽤用する
      Averaged Perceptronが良良く使われる


l    Perceptronは訓練例例が線形分離離可能な場合、有限回の更更新で全て
      の訓練例例を分類できるパラメータを⾒見見つけられる(次項)
l    線形分離離可能で無い場合でも、多くの訓練例例を正しく分類できるwを
      ⾒見見つけられる [Collins 02]
定理理:訓練例例  {(x(i),	
  y(i))}Ni=1…N, |x(i)|2<R,	
  がある重みuでマージンγで分
類可能(y(i)uTx(i)≧γ)ならば、Perceptronの更更新回数は⾼高々  (R/γ)2回	
  
	
  
証明:	
                                                                                 訓練例例数や特徴次元数に
                                                                                         依存しない !
wkをk回⽬目の更更新直前の重みとする.	
  
wTk+1u	
  =	
  wTku	
  +	
  y(i)x(i)Tu	
    	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≧	
  wTku	
  +	
  γ	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≧	
  kγ	
  	
  (w0	
  =	
  0)	
  
また、	
  
|wk+1|2=|wk|2	
  +	
  2y(i)wkTx(i)	
  +	
  |x(i)|2	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≦|wk|2+R2	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
        (wkで間違えた訓練例例なので、y(i)wkTx(i)<0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≦kR2	
  	
  

上記2つより	
  
kR2≧|wk+1|2	
  ≧	
  |wTk+1u|2	
  ≧	
  k2γ2	
  ⇒	
  (R/γ)2	
  ≧	
  k	
  
Passive Aggressive
[Crammer, JMLR 06]
l    SVMのオンライン版	
  
       l    Gmailの優先トレイの学習でも利用 [Aberdeen LCCC 2010]	
  
l  次の2つの条件を満たす重みwを探す	
  
     l  現在の訓練例(x,	
  y)を正しく分類	
  

     l  今までの重みベクトルwiに近い	
  (=	
  これまでの訓練例を正しく分類)

l  wi+1	
  =	
  argminw	
  |w-­‐wi|2/2	
  +	
  C	
  L(x,	
  y,	
  w)2	
  
      l     但し、L(x, y, w) = [1 – ywTx]   (hinge–loss)


       l    この問題は閉じた式で得られる
Passive Aggressive (続)

wi+1 := wi + y l(x, y, w)/(|x|2 + 1/C) x
l PAの最適化問題は閉じた解を持ち、次のように更新可能
     l  E	
  =	
  1	
  
                                                                        更更新式
     l  α=	
  L(x,	
  y,	
  w)	
  /	
  (|x|2	
  +	
  1/C)	
  	
  
                                                                   wi+1 := wi + αAx
     l  A	
  =	
  I	
  
l α∝L(x, y, w)であり、誤った割合に比例した更新幅を使う
Confidence Weighted Algorithm (CW)
[K. Crammer, et. al, EMNLP 09]


l     重みwがガウス分布N(μ,	
  Σ)に従って分布しているとする
       l  μ∈Rmは現時点で最良良の重みベクトル

       l  Σ∈Rmxmは各重みの確信度度を表す共分散⾏行行列列




                        従来の更新例	
                                             単一のパラメータ

      wi	
                                   に足し引きするだけ	
               1.7	
                0.6	
                        CWの更新例	
             パラメータ自体が分布を

      wi	
                                   持っている
             N(1.7, 0.5)	
   N(0.6, 0.4)	
   (パラメータ間も)
CW(続)

l  PAと同じように次の2つを満たす分布(μ, Σ)を探す
     l  現在の訓練例例を正しく分類

     l  今までの分布に近い(KL-Divergenceの条件で)

l  arg	
  minμ,	
  Σ	
  DKL(N(μ,	
  Σ)	
  ||	
  N(μi,	
  Σi))	
  	
  	
  s.t.	
  Prw〜~N(μ,Σ)[ywiTx	
  ≧	
  0]	
  ≧	
  η	
  


       l    この最適化問題は閉じた解を持つ
       l    E, α, Aをx, y, μ, Σに関して閉じた式で与えることができる
       l    PerceptronやPAと比べると複雑な式

l    ⾼高い学習効率率率
       l  自然言語処理の多くのタスクでは1回データを回すだけで収束
[K. Crammer, et. al, EMNLP 09]	
    殆んどのタスクで既存のオン
                                    ライン学習のみでなく通常の
                                      学習器より⾼高精度度

                                   News Groupsのトピック
                                   Amazonレビューの上位7タイプ
                                   Amazonレビューの上位タイプ
                                   EnronのUser Aの上位10フォルダ
                                   EnronのUser Bの上位10フォルダ
                                   NewYork Times
Adaptive Regularization of
Weight Vectors (AROW) [Crammer NIPS+ 09]
l  CWは訓練例例にノイズがある場合に急激に性能が劣劣化
     l  更更新式では今の訓練例例を必ず分類するようにしているため

l  学習時に三つの条件を同時に考慮し最適化
        条件1: 現在の訓練例例を正しく分類
        条件2: 今までの分布に近い(KL-Divergenceにおいて)
        条件3: 各特徴のConfidenceを更更新毎に上げる
arg	
  minμ,	
  Σ	
  	
  DKL(N(μ,	
  Σ)	
  ||	
  N(μi,	
  Σi))	
  +	
  λ1L(x,	
  y,	
  μ)	
  +	
  λ2	
  xTΣx   CWでは1が常
                                                                                                                に最優先


                                   条件2	
                              条件1	
               条件3	

l    E, α, Aは閉じた式で求めることができる
AROWの実験結果




      ノイズ 0%	
     ノイズ 10%	
   ノイズ 30%	

l  左上にあるほどAROW > CW
l  ノイズ⼤大⇒AROWの精度度>CWの精度度
NHERD
[Crammer+ NIPS 10]
l  重みベクトルwがガウス分布N(μ, Σ)に従って分布しているとする
l  各重みベクトルをそれぞれPAの条件に従って更更新した後にこれを
    ガウス分布で近似する
    l  CWの場合は、現在の分布にKL-divergenceで近い分布で正しく分

        類できるものを探していたがNHERDはマハラノビス距離離上で
        のユークリッド距離離
    l  NHERDは重みベクトルの群れ(HERD)を正規化しながら更更新



l    α, E, Aは閉じた式で求めることができる
       l  AROWと比べると積極的な更新を行う
NHERDの更更新例例



 μ	
  =	
  (0,	
  0)	
  ,	
  Σ	
  = I
 
 に訓練例
 x = (1, 2), y = 1
 を与えた時の更新の様子
 
 青は|w|=1, 緑は|w|=2の
 重みベクトルの集合
 
 真ん中の線は正しく分類、
 上側のdash線はマージン1で
 正しく分類



                                         [Crammer+ NIPS 10]
線形識識別器のまとめ
Given (x,	
  y)	
                           v	
  =	
  xTΣx	
  
If ywTx	
  <	
  E	
  then 
                 b	
  =	
  1.f	
  +	
  2ywTxC	
  	
  
                                            γ	
  =	
  	
  (-­‐b	
  +	
  (b2-­‐8C(ywTx	
  –	
  Cv))1/2)	
  /	
  
    w := w + αAx 
                          4vC	
  
    Update(A) 
                             β	
  =	
  (v	
  +	
  r)-­‐1	
                   E     α                                               Update(A) (arr :=)
Perceptron         0     1                                               1
PA (PA-II)         1     [1-­‐ywTx]	
  /	
  (|x|2	
  +	
  1/C)	
   1
CW                 γ     γ                                               (arr-­‐1	
  +	
  2γ	
  xr)-­‐1
AROW               1     [1-­‐ywTx]β                                     arr	
  –	
  β(arrxr)2
NHERD              1     [1-­‐ywTx]/(v	
  +	
  1/C)                      (arr-­‐1	
  +	
  (2C	
  +	
  C2v)xr2)-­‐1


いずれのアルゴリズムも更新時間はO(|x|0)	
  
Jubatus




35
データの⼤大規模化と共に解析の⾼高度度化が重要に

l    CEP(オンライン処理理)やHadoop(分散処理理)による集計・ルール処
      理理からより⾼高度度な解析(分類・予測・マイニング)へシフトが進⾏行行中


l    差別化要素として機械学習・統計の⾼高度度な解析の導⼊入が重要


       データ規模

                                                         ???
                                 Hadoop
              CEP
                                                                   ⾼高度度な解析

 参考⽂文献:http://web.mit.edu/rudin/www/TPAMIPreprint.pdf
                  http://www.computerworlduk.com/news/networking/3302464/
オンライン処理理と⼤大規模並列列処理理の融合

l    Jubatusは2つの流流れを融合している
                                                 リアルタイム	
  
                                                  オンライン
           Online	
  ML	
  alg.	
                              Jubatus	
  	
  2011-­‐	
  
           Structured	
  
           Perceptron	
  2001	
  
           PA	
  2003,	
  CW	
  2008	
  
小規模	
                                                                                                                大規模	
  
単体	
                                                                                                                分散並列	
  

           WEKA	
                                                                 Mahout	
  
             	
  	
  1993-­‐                                                      	
  	
  	
  	
  	
  2006-­‐	
  

           SPSS	
  
           	
  	
  	
  	
  	
  	
  1988-­‐	
  
                                                   Batch	
  
                                                      37
Jubatus
l  NTT  SIC*とPreferred  Infrastructureによる共同開発
l  2011年年10⽉月よりOSSで公開  http://jubat.us/




      リアルタイム  
       ストリーム         分散並列列               深い解析
  *  NTT研究所  サイバーコミュニケーション研究所
    ソフトウェアイノベーションセンタ
                           38
特徴1:  リアルタイム  /  ストリーム処理理

l    様々な処理理をリアルタイム、ストリームで処理理
      l  解析結果は、データ投⼊入後すぐ返って来る

      l  データを貯めることなく、その場で処理理

      l  学習モデル更更新もリアルタイムに⾏行行う

      l  twitterの内容を分析して分類するのは6000QPS

      l  従来バッチで処理理していた様々な解析をリアルタイム・ストリー

          ムで同様の精度度で処理理できるよう、新しく解析⼿手法を開発




               分析モデル               分析モデル


                                    39
      従来:バッチ処理理        Jubatus:ストリーム処理理
                       39
特徴2:  分散並列列処理理

l    スケールアウト:ノードを追加することで、性能向上ができる
      l  処理理量量に応じてシステムの⼤大きさを柔軟に変更更可能

      l  ⼩小さいデータから⼤大きなデータの処理理まで同じシステムで処理理

      l  耐故障性も確保



l    各ノードが完全に独⽴立立な処理理なら簡単だが、それぞれが情報を蓄
      積し、それらを共有して処理理するのは⼤大変
      ⇒  モデルの緩やかな共有で解決(後述)




                        40
特徴3:  深い解析

l    単純な集計、統計処理理だけではなく、分類・近傍探索索・グラフ
      解析・外れ値検出など様々な機械学習⼿手法をサポート
      l  ユーザーはデータを投⼊入すればこれらの分析処理理を実現できる



l    ⾮非定形データを扱えるように、データからの特徴抽出もサポート
       l  多くの機械学習ライブラリはここがサポートされていない

       l  特徴抽出はプラグイン化され、テキスト、画像、センサ、映像な

           ど様々な種類の情報を扱えるように




                       41
問題:分散とオンラインの融合は困難

               バッチ学習	
                         オンライン学習	

                                  モデル更更新時で          Learn         	
     	
  
                   Learn	
         同期をとり	
      Model	
  update
                                  並列列化は容易易
                                                    Learn
               Model	
  Update                  Model	
  update
                                                    Learn
                   Learn         更更新が頻繁なので      Model	
  update
                                   並列列化は困難
                                                    Learn
      Time	
   Model	
  Update                  Model	
  update


l  オンライン学習は頻繁に更更新する	
  
l  オンライン学習をそのまま分散化した場合、モデルの同期コストが	
  
        ⾮非常に⼤大きくなってしまう	
  

                                     42
解決:緩やかなモデル情報の共有

l  Jubatusは各サーバーのモデル情報を「緩やか」に共有する
l  データ⾃自体は共有せず、モデルのみ共有する
     l  既存システムと違う割り切切り

l  全サーバー間で同時刻に同じモデルが存在することは保証しない
     l  サーバー毎に解析が(実⽤用上問題が無い程度度に)異異なることを許容

     l  時間が経つにつれ、モデル間の情報は共有されていく

                                お互いのモデル情報を
                                  mixして共有




               異異なるサーバー間で
               解析結果は似ている
               が共有されない
                    43
Jubatusの優位性:
 M2Mデータ解析に重要な機能を揃える
 l    従来のデータ分析システムと⽐比較したJubatusのアドバンテージ

                 Jubatus Hadoop       CEP RDBMS
          ⼤大規模
                  対象外         ◎       対象外
                                              ○
         データ蓄積          HDFS/HBase          中規模まで

          バッチ
                   ○
                               ○
                                       ✕     ◎
         機械学習                Mahout         SPSS等
         ストリーム
          処理理
                   ○           ✕      ◎       ✕

          分散                   ○
         機械学習      ◎         Mahout
                                       ✕      ✕
重要度度:
 ⾼高い     オンライン
         機械学習      ◎           ✕       ✕      ✕
                        44
CEPとJubatusの⽐比較

           CEP	
                        Jubatus	

l    複雑なロジックを組むことはで        l    様々な深い分析を⾏行行うことが可能
      きず、ドメイン知識識に基づい        l    ルールはデータから⾃自動獲得する
      たルールの設定が必要            l    データや環境の変化に対応
l    その後も状況の変化とともにル        l    サーバー間で解析モデルを瞬時
      ールのメンテナンスが必要                に共有
l    サーバー間のデータ共有は困難




                       45
HadoopとJubatusの⽐比較

            Hadoop	
                         Jubatus	
l    データ分析基盤を更更に実現しな         l    あらかじめデータ分析に必要な
      ければならない                       機能が備わる
l    データ解析は全処理理終了了時に得        l    データ解析は瞬時に実現
      られる                     l    分散によるオーバーヘッドは殆
l    様々なエコシステムが存在、プ                ど存在しない
      レイヤーは多い                       l    各モデルはローカルに保存




                         46
MahoutとJubatusの⽐比較

             Mahout	
                     Jubatus	
l    バッチ機械学習をサポート            l    オンライン機械学習をサポート
l    分散並列列化されているのは⼀一         l    全ての処理理が分散並列列化
      部で、スケーラブルではない           l    同じ開発コミュニティが継続的
l    実装のクオリティはまちまちで                にメンテナンスし、改善
      あり、統⼀一感はなく商⽤用レベル
      ではない




                         47
Jubatusの機能概要

l  Jubatusでは様々な分析⼿手法をサポート
     l  多値分類・回帰

     l  統計

     l  近傍探索索

     l  グラフ解析

     l  外れ値検出

l  これらを組合せることにより、多くの課題を解決が可能
     l  スパムフィルタ(メール分類)

     l  電⼒力力消費量量予測(回帰)

     l  ユーザー属性推定(レコメンデーション)

      l    ログからの異異常検知(外れ値検出)
      l    攻撃の標的になりやすいハブノードの発⾒見見(グラフの中⼼心性)

                          48
多クラス分類・回帰

l    ⼊入⼒力力xに対し、出⼒力力yを推定する
       l  正解データ{(x, y)}を利利⽤用しxからyの関数を学習


タスク                ⼊入⼒力力x          出⼒力力y

メール分類              メール             スパム or 普通 or 重要等

Twitterのユーザー分析     Tweet           ユーザーの性別、職業、年年齢など

電気使⽤用料料需要の予測       パケット            各サーバーの予測使⽤用量量(連続値)

広告のコンバージョン予測 アクセス履履 クリック、コンバージョンするか
             歴、広告
監視カメラ解析            監視カメラ 部屋の状態(明かりがついている?
                   画像    ⼈人がいるか?など)

                            49
近傍探索索を⽤用いた推薦(レコメンド)機能

l    分散+リアルタイム+深い解析はレコメンドでも実現!
l    分散:データは分散環境で管理理され、スケーラブル
l    リアルタイム:登録したデータは即時に、推薦対象となる.
             推薦結果はすぐに返って来る
l    深い解析:各データはデータから特徴抽出を⾏行行った上で類似度度計算




                             膨⼤大なデータの中か
                             ら似たデータを⾼高速
                                に求める
                      50
外れ値検出

l    元データが⾼高次元でも⾼高精度度な近傍探索索によって外れ値検出を実現
l    アルゴリズム: オンライン外れ値検出アルゴリズムを分散⽤用に改良良
l    距離離計算: 裏裏側の近傍探索索機能によって近似的に計算


                           5
                           4            膨⼤大なデータの中か
                           3            ら他と似ていないも
                           2             のを⾼高速に発⾒見見
                           1
                           0
            -5   -3   -1        1   3      5
                           -1
                           -2
                           -3
                           -4
                           -5

                           51
グラフ解析

l  点と枝の集合で表されるグラフデータに対し、最短路路探索索、
    中⼼心性の計算を提供
l  グラフ中の点や枝の追加、削除、更更新に対応
l  真の値に近い最短路路経路路を⾮非常に⾼高速に求める
l  中⼼心性の計算も⾼高速に求める


                                          ◆インターネット                                   ◆交通
◆SNS




出典:http://idc.7-‐‑‒dj.com/sns/feat.html   出典:http://www.soumu.go.jp/                                   52	
                                                                                     出典:www.mlit.go.jp/common/000057575.pdf
                                          main_̲sosiki/joho_̲tsusin/security/kiso/
                                          illust/internet.gif  
                                                              52
Jubatusの基本操作	
  
UPDATE,	
  ANALYZE,	
  and	
  MIX
1.  UPDATE
    l  データを受け取り,学習操作を⾏行行いローカルモデルを更更新

2.  ANALYZE
    l  データを受け取り,ローカルモデルを利利⽤用し分析結果を返す

3.  MIX (automatically executed in backend)
    l  複数のローカルモデルを混ぜ,その結果を返す



l    C.f. Map-Shuffle-Reduce operations on Hadoop
l    アルゴリズム設計者は次の問題を気にする必要はない
      l    分散ロジック
      l    データ共有
      l    対故障性

                                53
UPDATE

   l  データは任意のサーバーに送られる	
  
   l  データに基づきローカルモデルがアップデートされる	
  
   l  データは共有しない




Distributed

randomly
                       Local
or consistently 	
                      Initial
                                model
                                        model
                                  1

                                Local
                                model   Initial
                                        model
                                  2
                      54
MIX

l  各サーバーはローカルモデルの差分を送る	
  
l  モデルの差分はマージされ、再度度配布される	
  
l  モデルの差分はモデル⾃自⾝身と⽐比べ⾮非常に⼩小さく転送コストは⼩小さい	
  




            Local     Model    Model
Initial                                         Merged Initial     Mixed
model     -	
            model   =	
 diff    diff
                                                  diff +	
                                                         model   =	
                                                                   model
              1          1       1    Merged
                                 +	
 =	
 diff
        Local         Model    Model
Initial                                         Merged Initial     Mixed
model -	
 2
        model       =	
 diff    diff
                                                  diff +	
                                                        model    =	
                                                                   model
                         2       2


                                       55
UPDATE	
  (iteration)

   l  各サーバーはMIX後のモデルから学習を⾏行行う	
  
   l  MIX後のモデルは全サーバーの情報を持っており徐々に改善される	
  




Distributed

randomly
                         Local
or consistently 	
                        Mixed
                                  model
                                          model
                                    1

                                  Local
                                  model   Mixed
                                          model
                                    2
                           56
ANALYZE

   l  データは各サーバーにランダムに送られる	
  
   l  各サーバーは、ローカルモデルのみを元に分析を⾏行行う	
  
       l  他のサーバーへの問い合わせは行わず,全てローカルで処理	
  

   l  結果はクライアントに返される




Distributed

randomly
                                    Mixed
                                             model

                      Return prediction
                                             Mixed
                                             model
                      Return prediction
                         57
まとめ:Jubatusがなぜリアルタイムで処理理できるか

1.  オンライン機械学習を採⽤用している	
  
   l    オンライン機械学習を分散化するための手法は開発	
  
2.  UPDATE処理理はローカルに⾏行行わる	
  
   l    UPDATE時に他のサーバーとの通信は必要ではない	
  
3.  モデル情報のみをMIXする	
  
   l    MIXは小さく、転送コストは小さくなり、低レイテンシで共有可能	
  
4.  ANALYZE処理理はローカルに⾏行行われる各サーバーはMIX後のモデル
    を持ち,他に問い合わせしなくても全体の情報をしっている	
  
    l  低レイテンシで推定可能	
  
5.  全ての処理理はメモリ上で⾏行行われる	
  
   l    モデル情報は小さくメモリ上で処理可能	
  


                          58
Jubatusの今後

l  仮説検証を様々なドメインで実施中
    l  ソーシャルデータ

    l  セキュリティ

    l  HEMS  /  BEMS

    l  ⾞車車

    l  特にM2M分野と既存分野の融合領領域

l  新機能開発
    l  クラスタリング、時系列列解析などのサポート

    l  秘匿匿化データマイニング,組み込み向けの改良良

    l  ドメインに応じた分析⼿手法の開発も可能



l    ⼀一緒にJubatusの可能性を検証できるパートナーを探しています!

                      59
Edge-Heavy Data




丸山宏, 岡野原大輔 Edge-Heavy Data: CPS・ビッグデータ・クラウド・スマホがもたらす次世代アーキテクチャ
GICTF総会 特別講演 2012, http://www.gictf.jp/doc/20120709GICTF.pdf
 60
Edge-‐‑‒Heavy  Data(1/3)

データ価値の多くはエッジ(縁)に存在する


l センサデータの増加により、データの総価値は増加するが
価値密度度は下がりつつある
  l  現在のビッグデータの殆どは排気データ(exhaust  data)

     ※排気データ:他の事業活動の副産物として⽣生成されたデータ
l 多くのデータが収集されるが利利⽤用されない。利利⽤用を⾒見見込んで投機的
に収集したり、解析することは割に合わない場合が多い
  l  コスト:ネットワーク,  ストレージ,  個⼈人情報管理理,  プライバシー



  推測:多くのデータは収集された地点で管理理、処理理され  
        濃縮された重要な情報のみがやりとりされる
                      61
Edge-‐‑‒Heavy  Data  (2/3)
現在既に⾒見見られる例例
l  監視カメラ市場:750万台(2011年年)
    l  100GB/カメラとすると、年年間750PB

l  国内スマホ市場  2010万台
    l  10GB/1台、年年間2000万台売れているので、年年間200PB

l  国内で蓄積される総データ量量は年年間400PBと推定されており、多
    くのデータは既にエッジ(縁)に存在している




                      62
Edge-‐‑‒Heavy  Data  (3/3)

今後Edge-‐‑‒Heavy  Dataに特化したアーキテクチャが現れる


1. SSD、消費電⼒力力、ストリーミングデータを考慮したハードウェア
2. 画像・映像処理理を組み込んだハードウェア・ミドルウェア
3. データを動かさず計算を動かすプログラミングモデル
    l  GFS  +  MapReduceはその萌芽であるが、さらに進化するだろう
4. ⽋欠測値、外れ値、分布表現を取り込んだプログラミングモデル
5. 分散機械学習・データマイニングを可能にするミドルウェア


Jubatusを中⼼心に我々はこのアーキテクチャを実現すべく
取り組んでいく

                       63
まとめ

l  ビッグデータ活⽤用は広まりつつある
    l  あらゆる分野でのデータ活⽤用が急速に進む

    l  ビッグデータ活⽤用をビジネス上の競争⼒力力につなげられるかどうか

l  道具は揃いつつある.アイディアを多く出し,仮説検証を回した
    上で可能性を速く絞りこんでいく必要がある
      l     多くの試⾏行行錯誤は必須
       l    5年年後には、各分野での勝者は決まっているだろう



l    Edge-Heavy Data に対応したアーキテクチャが必要




                            64
Copyright  ©  2006-‐‑‒2012  
Preferred  Infrastructure  All  Right  Reserved.

bigdata2012ml okanohara

  • 1.
    2012/11/19@情報処理理学会連続セミナー:               ビッグデータに⽴立立ち向かう機械学習 ⼤大規模データ分析基盤Jubatusによる リアルタイム機械学習とその活⽤用 岡野原  ⼤大輔 株式会社Preferred  Infrastructure   [email protected]
  • 2.
  • 3.
    会社紹介 株式会社  Preferred  Infrastructure l  略略称   PFI l  代表者 ⻄西川  徹 l  設⽴立立   2006年年3⽉月 l  社員数 26名 l  所在地 〒113-‐‑‒0033  東京都⽂文京区本郷2-‐‑‒40-‐‑‒1 l  事業概要 l  検索索/分析分野での製品開発,  販売,  サービス提供 l  ⼤大規模分散分析エンジンの共同研究開発 最先端の技術を最短路路で実⽤用化 リサーチとエンジニアリングの融合 世の中に必要とされる中で特に重要で困難な課題に対し解を提供 3
  • 4.
    Preferred  Infrastructure メンバー構成 l  フルタイム26⼈人中23⼈人がエンジニア/研究者 l  以下の情報/理理/⼯工学博⼠士 l  ⾃自然⾔言語処理理/機械学習/計算量量理理論論/データマイニング/⽂文字列列解析 l  ICPCプログラミングコンテスト  世界⼤大会(=⽇日本代表)  7名 l  未踏プロジェクト  5名 l  TopCoder世界上位や、世界プログラミングコンテスト優勝者など l  各種コミュニティへの働きかけ l  ⽇日本Hadoopユーザー会⽴立立ち上げ,  ⾃自然⾔言語処理理若若⼿手の会委員⻑⾧長 l  ⽇日本語⼊入⼒力力本,  Haskel本,  各種雑誌記事,  専⾨門書 その他、データ圧縮、UI/UX、セキュリティ、分散システム、 ソフトウェア⼯工学など様々な分野の専⾨門家 4
  • 5.
    リアルタイム解析の 利利⽤用事例例 5
  • 6.
    BigData  ! l  巨⼤大なデータがあらゆる分野で⽣生まれ続けている l  特徴は3つのV Volume(量量),  Velocity(⽣生成速度度),  Variety(多様性) l  スケーラブル・フレキシブルなシステムが求められる l  これまでデータ利利⽤用が少なかった分野にも広がる ≪データの種類≫ テキスト ⾏行行動履履歴 画像 ⾳音声 映像 信号 ⾦金金融 ゲノム ⼈人 PC モバイル センサー ⾞車車 ⼯工場 EC 病院 ≪⽣生成される場所≫ 6
  • 7.
    今後重要となるビッグデータ処理理基盤の技術 l  深い分析 l  データマイニング/機械学習 l  集計、決められたルールによる判定の先の分析 l  リアルタイム解析 l  深い分析・リアルタイム解析が 使われている事例例を紹介 l  SNS(Twitter・Facebook) l  災害対策 l  ⾞車車 l  スマートグリッド l  ⼯工場・インフラ 7
  • 8.
    事例例 1/5 SNS(Twitter・Facebookなど) •  各企業/ブランド/製品に ついての⼝口コミ分析 •  災害時の情報共有 8
  • 9.
  • 10.
  • 11.
    事例例 3/5 ⾞車車 l  サービス l  遠隔保守サービス:マンスリー・レポート,  故障診断 l  遠隔セキュリティ:遠隔で⾃自動⾞車車を停⽌止、⾞車車両盗難、債権回収 l  ソーシャルセンサ l  ヒヤリハットマップ:急ブレーキが多い場所,  事故,  運転⼿手 l  道路路情報:通れた道マップ l  店舗・天気・交通情報:c.f.  waze  TomtomHD  traffic l  運転⽀支援 l  運転補助  /  燃費最適化  /  ⾃自動運転 l  Ford  +  Google  Prediction  APIによるPHVの最適化の例例 l  Ford  OpenXC:  CANデータをJSONで取得可能 11
  • 12.
    事例例 3/5 (続) ⾞車車  waze.com    ナビゲーションシステム   12
  • 13.
    事例例 4/5 スマートグリッド 電⼒力力使⽤用量量の推定・予測・最適化 使⽤用機器の推定 データセンタ/オフィス 推定 電⼒力力計 TAP (パケットデータ) 13
  • 14.
    事例例 5/5 ⼯工場・インフラ l  NY市の既存の配電網の予防的メンテナンスに機械学習を利利⽤用 l  1500万⼈人が利利⽤用している配電網での実際のデータで実証実験 l  様々な情報から、どの順番にメンテナンスを⾏行行う必要かを決定する l  300種類の特徴情報(realtime/semi-‐‑‒realtime/static) l  各種センサデータから挙げられる数百種類のデータ l  過去のトラブルが記述されたトラブルチケット集記録 (⾃自然⾔言語処理理を⾏行行い、特徴・訓練例例を抽出) l  MTBF  (Mean  time  between  failures)をランキング学習で推定 “Machine  Learning  for  the  New  York  City  Power  Grid”,   J.  IEEE  Trans.  PAMI,  to  appear,   Con  Edison社とコロンビア⼤大の共同研究 14
  • 15.
    事例例 5/5 ⼯工場・インフラ l  停電するかどうかの割合推定 l  横軸:システムによる推定 l  縦軸:実際の停電した割合 15
  • 16.
  • 17.
    オンライン機械学習 l  データを1つずつ受け取るたびにパラメータを即時更更新 l  オンライン学習の特⻑⾧長 l  多くの問題の場合、収束が速い. l  訓練例例を保存する必要は無く、その場で捨てられる l  実装は単純な場合が多い l  性能評価はRegret解析を⽤用いてできる l  多くのバッチ型機械学習は確率率率的最急降降下法(SGD)で オンライン化可能 l  以降降では多クラス分類問題のオンライン機械学習を紹介する 17
  • 18.
    線形識識別器(⼆二値分類) f(x;  w)  :=  sign(wTx)   l ⼊入⼒力力  x  ∈  Rm  から  出⼒力力  y  =  {-­‐1,  +1}  を予測する識識別関数  f(x; w) l  w∈Rm が各特徴の重みであり、重み付き多数決で出⼒力力を推定 l 単純ベイズ法、SVMs、ロジスティック回帰など多くの分類器が   線形識識別器に属する   x1 x2 x3 …. xm l  分類の計算量は非零の特徴数に比例 * * * *   w1 w2 w3 …. w m sum sign(z)  :=  +1  if  z  >=  0  and  -­‐1  otherwise  
  • 19.
    線形識識別器の多値分類への拡張 f(x;  w)  :=  arg  maxy  wTyx l ⼊入⼒力力  x  ∈  Rm  から  出⼒力力  y  =  {1,  2,  …,  k}  を予測する識識別関数  f(x) l  重みは出力候補毎に用意   l 以降降紹介する⼆二値分類の学習式はy(i)wTx(i)の部分を   Δ:=  wy(i)Tx(i)  –  wy’Tx(i)に置き換えることで多クラス分類に拡張可能   l  但しy’は最もスコアが高かった不正解ラベル y’  :=  argmax  y≠y(i)  wyTx(i)   l クラスラベル数が⾮非常に⼤大きくても、argmax  y≠y(i)  wyTx(i)  さえ⾼高速に   求まれば動く   l  c.f. CRFs, 構造学習
  • 20.
    学習アルゴリズムの基本形 l  紹介する学習アルゴリズムは全て次の繰り返しで表現できる 1.  訓練例例  (x, y) を受け取る 2.  現在の識識別器で正しく分類できるかを調べる  ywiTx > E ? 3.  正しく分類できないのであればwiを次のように更更新 wi+1 := wi + yαAx 但し、α>0∈R, A∈Rmxm は半正定値⾏行行列列(対⾓角⾏行行列列の場合が多い) l  E, α, Aをいかに適切切に設定するかで、学習性能が変わってくる l E: 更更新条件 l α : ステップ幅 l A : 各特徴毎の更更新幅.c.f. マハラノビス距離離
  • 21.
    更更新の意味 l  α> 0、Aが半正定値⾏行行列列の時      ywi+1Tx = y(wi+yαAx)Tx y > 0 wt y=-­‐1 x -αAx = ywiTx + y2α(Ax)Ty < 0 x wt+1 = ywiTx + αxTAx ≧ ywiTx 常に正 l  今の訓練例例は少なくとも正しく分類されるように更更新
  • 22.
    線形識識別器のオンライン学習アルゴリズム 次の⽅方法を紹介 登場した年年 l  Perceptron   •  1958   l  Passive-­‐Aggressive   •  2002   l  Confidence  Weighted  Learning     •  2006   l  Adaptive  Regularization  of  Weight  Vector     •  2009   l  Normal  HERD   •  2010   l  Soft  Confidence  Weighted  Learning     •  2012   下に⾏行行くほど より⾼高精度度、速く収束
  • 23.
    Perceptron [Rosenblatt Psy. Rev. 58], [Collins EMNLP 02] l  訓練例(x, y)に対し、現在の線形識別器wiで分類できるかを調べ 誤って分類した場合は wi+1 := wi + yx と更新 l  E = 0, α = 1, A = I に対応 l  単純な更更新式だが、多くのタスクで強⼒力力なアルゴリズムである l  最終的に得られたwではなく全ステップの平均wa := ∑wiを利利⽤用する Averaged Perceptronが良良く使われる l  Perceptronは訓練例例が線形分離離可能な場合、有限回の更更新で全て の訓練例例を分類できるパラメータを⾒見見つけられる(次項) l  線形分離離可能で無い場合でも、多くの訓練例例を正しく分類できるwを ⾒見見つけられる [Collins 02]
  • 24.
    定理理:訓練例例  {(x(i),  y(i))}Ni=1…N,|x(i)|2<R,  がある重みuでマージンγで分 類可能(y(i)uTx(i)≧γ)ならば、Perceptronの更更新回数は⾼高々  (R/γ)2回     証明:   訓練例例数や特徴次元数に 依存しない ! wkをk回⽬目の更更新直前の重みとする.   wTk+1u  =  wTku  +  y(i)x(i)Tu                                        ≧  wTku  +  γ                                ≧  kγ    (w0  =  0)   また、   |wk+1|2=|wk|2  +  2y(i)wkTx(i)  +  |x(i)|2                                  ≦|wk|2+R2                                              (wkで間違えた訓練例例なので、y(i)wkTx(i)<0)                                ≦kR2     上記2つより   kR2≧|wk+1|2  ≧  |wTk+1u|2  ≧  k2γ2  ⇒  (R/γ)2  ≧  k  
  • 25.
    Passive Aggressive [Crammer, JMLR06] l  SVMのオンライン版   l  Gmailの優先トレイの学習でも利用 [Aberdeen LCCC 2010]   l  次の2つの条件を満たす重みwを探す   l  現在の訓練例(x,  y)を正しく分類   l  今までの重みベクトルwiに近い  (=  これまでの訓練例を正しく分類) l  wi+1  =  argminw  |w-­‐wi|2/2  +  C  L(x,  y,  w)2   l  但し、L(x, y, w) = [1 – ywTx] (hinge–loss) l  この問題は閉じた式で得られる
  • 26.
    Passive Aggressive (続) wi+1:= wi + y l(x, y, w)/(|x|2 + 1/C) x l PAの最適化問題は閉じた解を持ち、次のように更新可能 l  E  =  1   更更新式 l  α=  L(x,  y,  w)  /  (|x|2  +  1/C)     wi+1 := wi + αAx l  A  =  I   l α∝L(x, y, w)であり、誤った割合に比例した更新幅を使う
  • 27.
    Confidence Weighted Algorithm(CW) [K. Crammer, et. al, EMNLP 09] l  重みwがガウス分布N(μ,  Σ)に従って分布しているとする l  μ∈Rmは現時点で最良良の重みベクトル l  Σ∈Rmxmは各重みの確信度度を表す共分散⾏行行列列 従来の更新例 単一のパラメータ
 wi に足し引きするだけ 1.7 0.6 CWの更新例 パラメータ自体が分布を
 wi 持っている N(1.7, 0.5) N(0.6, 0.4) (パラメータ間も)
  • 28.
    CW(続) l  PAと同じように次の2つを満たす分布(μ, Σ)を探す l  現在の訓練例例を正しく分類 l  今までの分布に近い(KL-Divergenceの条件で) l  arg  minμ,  Σ  DKL(N(μ,  Σ)  ||  N(μi,  Σi))      s.t.  Prw〜~N(μ,Σ)[ywiTx  ≧  0]  ≧  η   l  この最適化問題は閉じた解を持つ l  E, α, Aをx, y, μ, Σに関して閉じた式で与えることができる l  PerceptronやPAと比べると複雑な式 l  ⾼高い学習効率率率 l  自然言語処理の多くのタスクでは1回データを回すだけで収束
  • 29.
    [K. Crammer, et.al, EMNLP 09] 殆んどのタスクで既存のオン ライン学習のみでなく通常の 学習器より⾼高精度度 News Groupsのトピック Amazonレビューの上位7タイプ Amazonレビューの上位タイプ EnronのUser Aの上位10フォルダ EnronのUser Bの上位10フォルダ NewYork Times
  • 30.
    Adaptive Regularization of WeightVectors (AROW) [Crammer NIPS+ 09] l  CWは訓練例例にノイズがある場合に急激に性能が劣劣化 l  更更新式では今の訓練例例を必ず分類するようにしているため l  学習時に三つの条件を同時に考慮し最適化 条件1: 現在の訓練例例を正しく分類 条件2: 今までの分布に近い(KL-Divergenceにおいて) 条件3: 各特徴のConfidenceを更更新毎に上げる arg  minμ,  Σ    DKL(N(μ,  Σ)  ||  N(μi,  Σi))  +  λ1L(x,  y,  μ)  +  λ2  xTΣx CWでは1が常 に最優先 条件2 条件1 条件3 l  E, α, Aは閉じた式で求めることができる
  • 31.
    AROWの実験結果 ノイズ 0% ノイズ 10% ノイズ 30% l  左上にあるほどAROW > CW l  ノイズ⼤大⇒AROWの精度度>CWの精度度
  • 32.
    NHERD [Crammer+ NIPS 10] l 重みベクトルwがガウス分布N(μ, Σ)に従って分布しているとする l  各重みベクトルをそれぞれPAの条件に従って更更新した後にこれを ガウス分布で近似する l  CWの場合は、現在の分布にKL-divergenceで近い分布で正しく分 類できるものを探していたがNHERDはマハラノビス距離離上で のユークリッド距離離 l  NHERDは重みベクトルの群れ(HERD)を正規化しながら更更新 l  α, E, Aは閉じた式で求めることができる l  AROWと比べると積極的な更新を行う
  • 33.
    NHERDの更更新例例 μ  =  (0,  0)  ,  Σ  = I に訓練例 x = (1, 2), y = 1 を与えた時の更新の様子 青は|w|=1, 緑は|w|=2の 重みベクトルの集合 真ん中の線は正しく分類、 上側のdash線はマージン1で 正しく分類 [Crammer+ NIPS 10]
  • 34.
    線形識識別器のまとめ Given (x,  y)   v  =  xTΣx   If ywTx  <  E  then 
 b  =  1.f  +  2ywTxC     γ  =    (-­‐b  +  (b2-­‐8C(ywTx  –  Cv))1/2)  /   w := w + αAx 4vC   Update(A) β  =  (v  +  r)-­‐1 E α Update(A) (arr :=) Perceptron 0 1 1 PA (PA-II) 1 [1-­‐ywTx]  /  (|x|2  +  1/C)   1 CW γ γ (arr-­‐1  +  2γ  xr)-­‐1 AROW 1 [1-­‐ywTx]β arr  –  β(arrxr)2 NHERD 1 [1-­‐ywTx]/(v  +  1/C) (arr-­‐1  +  (2C  +  C2v)xr2)-­‐1 いずれのアルゴリズムも更新時間はO(|x|0)  
  • 35.
  • 36.
    データの⼤大規模化と共に解析の⾼高度度化が重要に l  CEP(オンライン処理理)やHadoop(分散処理理)による集計・ルール処 理理からより⾼高度度な解析(分類・予測・マイニング)へシフトが進⾏行行中 l  差別化要素として機械学習・統計の⾼高度度な解析の導⼊入が重要 データ規模 ??? Hadoop CEP ⾼高度度な解析 参考⽂文献:http://web.mit.edu/rudin/www/TPAMIPreprint.pdf              http://www.computerworlduk.com/news/networking/3302464/
  • 37.
    オンライン処理理と⼤大規模並列列処理理の融合 l  Jubatusは2つの流流れを融合している リアルタイム   オンライン Online  ML  alg.   Jubatus    2011-­‐   Structured   Perceptron  2001   PA  2003,  CW  2008   小規模   大規模   単体   分散並列   WEKA   Mahout         1993-­‐          2006-­‐   SPSS              1988-­‐   Batch   37
  • 38.
    Jubatus l  NTT  SIC*とPreferred Infrastructureによる共同開発 l  2011年年10⽉月よりOSSで公開  http://jubat.us/ リアルタイム   ストリーム 分散並列列 深い解析 *  NTT研究所  サイバーコミュニケーション研究所   ソフトウェアイノベーションセンタ 38
  • 39.
    特徴1:  リアルタイム  / ストリーム処理理 l  様々な処理理をリアルタイム、ストリームで処理理 l  解析結果は、データ投⼊入後すぐ返って来る l  データを貯めることなく、その場で処理理 l  学習モデル更更新もリアルタイムに⾏行行う l  twitterの内容を分析して分類するのは6000QPS l  従来バッチで処理理していた様々な解析をリアルタイム・ストリー ムで同様の精度度で処理理できるよう、新しく解析⼿手法を開発 分析モデル 分析モデル 39 従来:バッチ処理理 Jubatus:ストリーム処理理 39
  • 40.
    特徴2:  分散並列列処理理 l  スケールアウト:ノードを追加することで、性能向上ができる l  処理理量量に応じてシステムの⼤大きさを柔軟に変更更可能 l  ⼩小さいデータから⼤大きなデータの処理理まで同じシステムで処理理 l  耐故障性も確保 l  各ノードが完全に独⽴立立な処理理なら簡単だが、それぞれが情報を蓄 積し、それらを共有して処理理するのは⼤大変 ⇒  モデルの緩やかな共有で解決(後述) 40
  • 41.
    特徴3:  深い解析 l  単純な集計、統計処理理だけではなく、分類・近傍探索索・グラフ 解析・外れ値検出など様々な機械学習⼿手法をサポート l  ユーザーはデータを投⼊入すればこれらの分析処理理を実現できる l  ⾮非定形データを扱えるように、データからの特徴抽出もサポート l  多くの機械学習ライブラリはここがサポートされていない l  特徴抽出はプラグイン化され、テキスト、画像、センサ、映像な ど様々な種類の情報を扱えるように 41
  • 42.
    問題:分散とオンラインの融合は困難 バッチ学習 オンライン学習 モデル更更新時で Learn     Learn   同期をとり   Model  update 並列列化は容易易 Learn Model  Update Model  update Learn Learn 更更新が頻繁なので Model  update 並列列化は困難 Learn Time Model  Update Model  update l  オンライン学習は頻繁に更更新する   l  オンライン学習をそのまま分散化した場合、モデルの同期コストが   ⾮非常に⼤大きくなってしまう   42
  • 43.
    解決:緩やかなモデル情報の共有 l  Jubatusは各サーバーのモデル情報を「緩やか」に共有する l  データ⾃自体は共有せず、モデルのみ共有する l  既存システムと違う割り切切り l  全サーバー間で同時刻に同じモデルが存在することは保証しない l  サーバー毎に解析が(実⽤用上問題が無い程度度に)異異なることを許容 l  時間が経つにつれ、モデル間の情報は共有されていく お互いのモデル情報を mixして共有 異異なるサーバー間で 解析結果は似ている が共有されない 43
  • 44.
    Jubatusの優位性: M2Mデータ解析に重要な機能を揃える l  従来のデータ分析システムと⽐比較したJubatusのアドバンテージ Jubatus Hadoop CEP RDBMS ⼤大規模 対象外 ◎ 対象外 ○ データ蓄積 HDFS/HBase 中規模まで バッチ ○ ○ ✕ ◎ 機械学習 Mahout SPSS等 ストリーム 処理理 ○ ✕ ◎ ✕ 分散 ○ 機械学習 ◎ Mahout ✕ ✕ 重要度度: ⾼高い オンライン 機械学習 ◎ ✕ ✕ ✕ 44
  • 45.
    CEPとJubatusの⽐比較 CEP Jubatus l  複雑なロジックを組むことはで l  様々な深い分析を⾏行行うことが可能 きず、ドメイン知識識に基づい l  ルールはデータから⾃自動獲得する たルールの設定が必要 l  データや環境の変化に対応 l  その後も状況の変化とともにル l  サーバー間で解析モデルを瞬時 ールのメンテナンスが必要 に共有 l  サーバー間のデータ共有は困難 45
  • 46.
    HadoopとJubatusの⽐比較 Hadoop Jubatus l  データ分析基盤を更更に実現しな l  あらかじめデータ分析に必要な ければならない 機能が備わる l  データ解析は全処理理終了了時に得 l  データ解析は瞬時に実現 られる l  分散によるオーバーヘッドは殆 l  様々なエコシステムが存在、プ ど存在しない レイヤーは多い l  各モデルはローカルに保存 46
  • 47.
    MahoutとJubatusの⽐比較 Mahout Jubatus l  バッチ機械学習をサポート l  オンライン機械学習をサポート l  分散並列列化されているのは⼀一 l  全ての処理理が分散並列列化 部で、スケーラブルではない l  同じ開発コミュニティが継続的 l  実装のクオリティはまちまちで にメンテナンスし、改善 あり、統⼀一感はなく商⽤用レベル ではない 47
  • 48.
    Jubatusの機能概要 l  Jubatusでは様々な分析⼿手法をサポート l  多値分類・回帰 l  統計 l  近傍探索索 l  グラフ解析 l  外れ値検出 l  これらを組合せることにより、多くの課題を解決が可能 l  スパムフィルタ(メール分類) l  電⼒力力消費量量予測(回帰) l  ユーザー属性推定(レコメンデーション) l  ログからの異異常検知(外れ値検出) l  攻撃の標的になりやすいハブノードの発⾒見見(グラフの中⼼心性) 48
  • 49.
    多クラス分類・回帰 l  ⼊入⼒力力xに対し、出⼒力力yを推定する l  正解データ{(x, y)}を利利⽤用しxからyの関数を学習 タスク ⼊入⼒力力x 出⼒力力y メール分類 メール スパム or 普通 or 重要等 Twitterのユーザー分析 Tweet ユーザーの性別、職業、年年齢など 電気使⽤用料料需要の予測 パケット 各サーバーの予測使⽤用量量(連続値) 広告のコンバージョン予測 アクセス履履 クリック、コンバージョンするか 歴、広告 監視カメラ解析 監視カメラ 部屋の状態(明かりがついている? 画像 ⼈人がいるか?など) 49
  • 50.
    近傍探索索を⽤用いた推薦(レコメンド)機能 l  分散+リアルタイム+深い解析はレコメンドでも実現! l  分散:データは分散環境で管理理され、スケーラブル l  リアルタイム:登録したデータは即時に、推薦対象となる. 推薦結果はすぐに返って来る l  深い解析:各データはデータから特徴抽出を⾏行行った上で類似度度計算 膨⼤大なデータの中か ら似たデータを⾼高速 に求める 50
  • 51.
    外れ値検出 l  元データが⾼高次元でも⾼高精度度な近傍探索索によって外れ値検出を実現 l  アルゴリズム: オンライン外れ値検出アルゴリズムを分散⽤用に改良良 l  距離離計算: 裏裏側の近傍探索索機能によって近似的に計算 5 4 膨⼤大なデータの中か 3 ら他と似ていないも 2 のを⾼高速に発⾒見見 1 0 -5 -3 -1 1 3 5 -1 -2 -3 -4 -5 51
  • 52.
    グラフ解析 l  点と枝の集合で表されるグラフデータに対し、最短路路探索索、 中⼼心性の計算を提供 l  グラフ中の点や枝の追加、削除、更更新に対応 l  真の値に近い最短路路経路路を⾮非常に⾼高速に求める l  中⼼心性の計算も⾼高速に求める ◆インターネット ◆交通 ◆SNS 出典:http://idc.7-‐‑‒dj.com/sns/feat.html 出典:http://www.soumu.go.jp/ 52 出典:www.mlit.go.jp/common/000057575.pdf main_̲sosiki/joho_̲tsusin/security/kiso/ illust/internet.gif   52
  • 53.
    Jubatusの基本操作   UPDATE,  ANALYZE,  and  MIX 1.  UPDATE l  データを受け取り,学習操作を⾏行行いローカルモデルを更更新 2.  ANALYZE l  データを受け取り,ローカルモデルを利利⽤用し分析結果を返す 3.  MIX (automatically executed in backend) l  複数のローカルモデルを混ぜ,その結果を返す l  C.f. Map-Shuffle-Reduce operations on Hadoop l  アルゴリズム設計者は次の問題を気にする必要はない l  分散ロジック l  データ共有 l  対故障性 53
  • 54.
    UPDATE l  データは任意のサーバーに送られる   l  データに基づきローカルモデルがアップデートされる   l  データは共有しない Distributed
 randomly Local or consistently Initial model model 1 Local model Initial model 2 54
  • 55.
    MIX l  各サーバーはローカルモデルの差分を送る   l モデルの差分はマージされ、再度度配布される   l  モデルの差分はモデル⾃自⾝身と⽐比べ⾮非常に⼩小さく転送コストは⼩小さい   Local Model Model Initial Merged Initial Mixed model - model = diff diff diff + model = model 1 1 1 Merged + = diff Local Model Model Initial Merged Initial Mixed model - 2 model = diff diff diff + model = model 2 2 55
  • 56.
    UPDATE  (iteration) l  各サーバーはMIX後のモデルから学習を⾏行行う   l  MIX後のモデルは全サーバーの情報を持っており徐々に改善される   Distributed
 randomly Local or consistently Mixed model model 1 Local model Mixed model 2 56
  • 57.
    ANALYZE l  データは各サーバーにランダムに送られる   l  各サーバーは、ローカルモデルのみを元に分析を⾏行行う   l  他のサーバーへの問い合わせは行わず,全てローカルで処理   l  結果はクライアントに返される Distributed
 randomly Mixed model Return prediction Mixed model Return prediction 57
  • 58.
    まとめ:Jubatusがなぜリアルタイムで処理理できるか 1.  オンライン機械学習を採⽤用している   l  オンライン機械学習を分散化するための手法は開発   2.  UPDATE処理理はローカルに⾏行行わる   l  UPDATE時に他のサーバーとの通信は必要ではない   3.  モデル情報のみをMIXする   l  MIXは小さく、転送コストは小さくなり、低レイテンシで共有可能   4.  ANALYZE処理理はローカルに⾏行行われる各サーバーはMIX後のモデル を持ち,他に問い合わせしなくても全体の情報をしっている   l  低レイテンシで推定可能   5.  全ての処理理はメモリ上で⾏行行われる   l  モデル情報は小さくメモリ上で処理可能   58
  • 59.
    Jubatusの今後 l  仮説検証を様々なドメインで実施中 l  ソーシャルデータ l  セキュリティ l  HEMS  /  BEMS l  ⾞車車 l  特にM2M分野と既存分野の融合領領域 l  新機能開発 l  クラスタリング、時系列列解析などのサポート l  秘匿匿化データマイニング,組み込み向けの改良良 l  ドメインに応じた分析⼿手法の開発も可能 l  ⼀一緒にJubatusの可能性を検証できるパートナーを探しています! 59
  • 60.
    Edge-Heavy Data 丸山宏, 岡野原大輔Edge-Heavy Data: CPS・ビッグデータ・クラウド・スマホがもたらす次世代アーキテクチャ GICTF総会 特別講演 2012, http://www.gictf.jp/doc/20120709GICTF.pdf 60
  • 61.
    Edge-‐‑‒Heavy  Data(1/3) データ価値の多くはエッジ(縁)に存在する l センサデータの増加により、データの総価値は増加するが 価値密度度は下がりつつある l  現在のビッグデータの殆どは排気データ(exhaust  data) ※排気データ:他の事業活動の副産物として⽣生成されたデータ l 多くのデータが収集されるが利利⽤用されない。利利⽤用を⾒見見込んで投機的 に収集したり、解析することは割に合わない場合が多い l  コスト:ネットワーク,  ストレージ,  個⼈人情報管理理,  プライバシー 推測:多くのデータは収集された地点で管理理、処理理され         濃縮された重要な情報のみがやりとりされる 61
  • 62.
    Edge-‐‑‒Heavy  Data  (2/3) 現在既に⾒見見られる例例 l  監視カメラ市場:750万台(2011年年) l  100GB/カメラとすると、年年間750PB l  国内スマホ市場  2010万台 l  10GB/1台、年年間2000万台売れているので、年年間200PB l  国内で蓄積される総データ量量は年年間400PBと推定されており、多 くのデータは既にエッジ(縁)に存在している 62
  • 63.
    Edge-‐‑‒Heavy  Data  (3/3) 今後Edge-‐‑‒Heavy  Dataに特化したアーキテクチャが現れる 1. SSD、消費電⼒力力、ストリーミングデータを考慮したハードウェア 2. 画像・映像処理理を組み込んだハードウェア・ミドルウェア 3. データを動かさず計算を動かすプログラミングモデル l  GFS  +  MapReduceはその萌芽であるが、さらに進化するだろう 4. ⽋欠測値、外れ値、分布表現を取り込んだプログラミングモデル 5. 分散機械学習・データマイニングを可能にするミドルウェア Jubatusを中⼼心に我々はこのアーキテクチャを実現すべく 取り組んでいく 63
  • 64.
    まとめ l  ビッグデータ活⽤用は広まりつつある l  あらゆる分野でのデータ活⽤用が急速に進む l  ビッグデータ活⽤用をビジネス上の競争⼒力力につなげられるかどうか l  道具は揃いつつある.アイディアを多く出し,仮説検証を回した 上で可能性を速く絞りこんでいく必要がある l  多くの試⾏行行錯誤は必須 l  5年年後には、各分野での勝者は決まっているだろう l  Edge-Heavy Data に対応したアーキテクチャが必要 64
  • 65.
    Copyright  ©  2006-‐‑‒2012  Preferred  Infrastructure  All  Right  Reserved.