L1正則化を導入した
   Online学習手法


     東京大学 中川研究室
      修士一年 大岩秀和
目次
   はじめに
       紹介論文概要
       問題設定:教師あり学習
   Online学習/L1正則化
       Online学習
       L1正則化
   Forward Backward Splitting(FOBOS)
       FOBOS Algorithm
       Regret分析
   実験
   まとめ

                                        2
目次
   はじめに
       紹介論文概要
       問題設定:教師あり学習
   Online学習/L1正則化
       Online学習
       L1正則化
   Forward Backward Splitting(FOBOS)
       FOBOS Algorithm
       Regret分析
   実験
   まとめ

                                        3
紹介論文概要
   Efficient Online and Batch Learning using
    Forward Backward Splitting
               (J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009]


          Online学習

                                       FOBOS
           L1正則化
                                             2手法を同時に組み込み、
                                             さらに最適解への収束性の
                                                証明を行っている



   Online学習を行いながら、同時に特徴選択を行う手法
       L1正則化に限らず様々な正則化項を一般的に取り扱った議論をし
        ているが、本発表ではL1正則化に話を限定して紹介
                                                                                    4
問題設定
   教師あり学習
       訓練集合と呼ばれる大きな集合 {( x1 , y1 ), (x 2 , y2 )...} を用いて、
        入力 x i から出力 yi を正確に予測する学習器を作成する技術
                                  入力: x i
                                                      出力: yi
   代表的な応用例
       回帰問題                                          将来の株価
           株価推定
       分類問題
           メールフィルタリング
           画像認識              入力: x i         電子メール
           評価分類

                                        プライ    仕事      スパ
                         出力: yi
                                        ベート             ム
                                                               5
応用例を題材として、問題設定を解説
   評価分類(Sentiment Classification)
       ある商品のレビュー文章から、その文章が商品に対して
        positiveな評価を与えているかnegativeな評価を与えている
        かを判定する




                      このレビューはpositiveかnegativeか?


                                                   6
問題設定:訓練集合
   レビュー文章から正解を正確に予測したい
文章と正解データが
 ペアで与えられる
                            正解  1      ( positive)
                             y
                                1 (negative)
文章形式のままでは、
                                                      正解データは、
 学習を行いにくい
                                                      -1/1で取り扱う

                           x (1)     嫌い
                           ( 2)           入力ベクトルの各要素は、
                     入力
                          x          好き   対応する単語の出現頻度
                      x   x ( 3)    退屈
                                  
                                    認識
                           (n) 
     文章から入力ベクトルを生成        x           入力 xから正解y を
                                        正確に予測したい              7
問題設定:予測
   入力 xから出力y を予測するための道具として、重みベ
    クトル w を導入する
                        重みベクトルと入力ベクトルの内積
           w    (1)
                          の値を用いて予測を行う
            ( 2) 
           w             sign(x  w )  0      positive
重みベクトル w   w ( 3)       sign(x  w )  0     negative
                                                            と予測
                   
             
            (n) 
           w 
                               y (x  w )  0   予測は正しい
                               y (x  w )  0   予測は誤り


      適切な ( x  w )の符号を返す重みベクトル w を学習することが目標
                                                              8
問題設定:損失関数
   損失関数を、予測の正確さを図る指標として導入
       今回の例では損失関数の一例として、Hinge-Lossを用いる

                                                  0          1  y  (w  x i )  0
損失関数  i ( w )  1  y  ( w  x i )  
                                          1  y  (w  x i ) 1  y  (w  x i )  0

                    i (w )
                          Hinge-Loss


                                              w  x の予測が失敗しているほど、
                                                  損失関数の値が大きくなる


                      0                      y  ( w  x)
                                                                                 9
問題設定の一般化
   評価分類器の作成は、以下のように定義できる

    学習器を作成する



           全データの損失の合計   i (w ) が
                       i
           最小となる重みベクトル wを求める         Batch学習


   入力データと損失関数は以下のように一般化出来る
       1つのデータ:重みベクトルを受け取り損失を返す損失関数
              i () : w  n  
                                               10
目次
   はじめに
       紹介論文概要
       問題設定:教師あり学習
   Online学習/L1正則化
       Online学習
       L1正則化
   Forward Backward Splitting(FOBOS)
       FOBOS Algorithm
       Regret分析
   実験
   まとめ

                                        11
Online学習
   Online学習
     データ一つに対して、重みベクトル w を逐次的に更新する手法
    1. 損失関数 t () を受け取る
    2. 重みベクトル w tと  t () を用いて、重みベクトルを w t 1 に更新
    3. 次の損失関数  () が存在すれば、上記の操作を繰り返す
                    t 1




                   t ()    t 1 ()



          …       wt        w t 1       …

                                                 12
Online学習アルゴリズムの目標
  Batch学習の目標

      min   t (w )
         w
                                 全データの損失の合計   i (w) が最小
                     t

                                   となる重みベクトル w を求める
                                              i




 Online学習の目標
  min
 w1 , w 2 ,...
                   (w )t   t
                                 全データの損失の合計   t (w t ) が最小
                 t
                                              t
                                   となる重みベクトル w t を求める

                                                               13
Online学習アルゴリズムの目標


  Online学習の目標                                      Online学習の目標
   min
  w1 , w 2 ,...
                    (w )
                  t
                          t           t            t min  t (w t )
                                                         wt


                                          次にやってくる損失関数  t () の値を最小化
                                          するように重みベクトル w t を更新する問題


ただし、どのようなアルゴリズムを用いても、損失関数  t () を意地悪に設
 定してやれば、 min,...   t (w t ) のworst caseの値は無限に大きくなる
        w ,w          1       2
                                  t

                                                                       14
Online学習アルゴリズムの評価
   Regret という概念を導入
     元々は、ゲーム理論等で使用されていた枠組み

     学習をする過程で蓄積した累積損失と、データを全て見た後で
      重みベクトルを定めた時の最小合計損失との差
                                                    
                        T                                                      T
         Regret (T )    t (w t )   t (w )   *
                                                             w  arg min   t (w)
                                                              *

                        t 1                                              w    t 1
       Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た
        りの Regret は0に収束する→最適解に収束する
                                            (w )   (w )
                                          T
                                                                      *
                                                 t       t        t
             Regret (T )  o(T )  lim    t 1
                                                                          0
                                   T                   T
       Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ
        ムは、重みベクトルを高速に最適解へ収束させられる
                                                                                      15
Online学習の利点
   大量のメモリを必要としない
       数TB程度の大規模なデータから学習を行う場合等に有効
       大規模データでは、直接 arg min   t (w) を求めることは難しい
                          w   t



   新たなデータを入手した時に、再学習が容易
       batch学習では、新しいデータを入手するたびに、過去のデータ
        も含めた arg min   t (w) を計算しなければならない
               w   t

       Online学習では新しいデータのみを使って更新を行えば良い




                                                   16
Greedy Projection
   Online学習での典型的な学習手法
   パラメータ更新式
         w t 1  wt t  t (w t )  : 更新幅(スカラー)
                                   t


                      損失関数が最小となる方向へ重みベクトル w を更新する

   Regret がo(T ) となる条件
       () が凸(convex)     Convex
                              w, v  [0,1]
       () が微分可能
                                   ( v)  (1   )(w)  (v  (1   )w)

   Hinge-Loss等の関数では、微分不可能な点が存在
       劣勾配法(Subgradient Method)を用いる


                                        Hinge-Loss                         17
劣勾配法(Subgradient Method)
   微分不可能な点では、劣勾配 (Subgradient) を用いる
                       
        劣勾配:(w)  g | v : ( v)  (w)  g, v  w   
                            Hinge-loss
                                                   () が凸であれば、
                                                       劣勾配が存在




                                                劣勾配の集合の要素を
                                                 点線で示している
   パラメータ更新式
      wt 1  w t t gt    gt  (w t )
                                                                  18
目次
   はじめに
       紹介論文概要
       問題設定:教師あり学習
   Online学習/L1正則化
       Online学習
       L1正則化
   Forward Backward Splitting(FOBOS)
       FOBOS Algorithm
       Regret分析
   実験
   まとめ

                                        19
正則化
   過学習 (Over-Fitting)
       訓練集合の損失関数を最小化する最適なパラメータを求める
        と、訓練集合に過剰適合する問題が発生することがある

   正則化
       パラメータが複雑になればなるほど値が大きくなるペナルティ
        項を、最適化問題に導入
                                          
             w  arg min   t (w)  r (w)
              *

                    w     t               
       過学習を抑止する
       L2正則化とL1正則化が代表的

                                               20
L1正則化(Lasso)
   自然言語等を扱う場合、パラメータ次元数が膨大になる
       計算量が膨大になるため、全パラメータを同時には扱いにくい
                x (1)     嫌い        w(1) 
                ( 2)                ( 2) 
               x          好き       w 
           x   x ( 3)    退屈   w   w ( 3) 
                                           
                         認識         
                (n)                 (n) 
               x                   w          nが非常に大きい場合、
                                                   計算量も膨大になる

   L1正則化を導入する
       パラメータを決める基準に L1 normを追加する

                (w )   w
                    t               1
                                           : 正則化の比率
                t                                               21
                    
                                                      (i )  t
                                                            (w )   w 1   0
   L1正則化(Lasso)                                     w  t                 

                                                                                            w1
                                                                                            w( i )
                                                                                            w
                                                                                                    2
                                                                                                     2

   wi                                                                                       w    (i )


                                                                                             t  t (w )
                                                                                        
                                                                                                w(i )


                                0
 t  t (w )                        t  t (w )       w                t  t (w )
                                                               2
                                                                                                   w1
                 0 の時、 w(i )  0
                                                              2
                                                                    かつ                        
   w   (i )                           w   (i )
                                                        w   (i )
                                                                            w   (i )
                                                                                                   w(i )
                                                                                                         22
L1正則化の特徴
   L1正則化では、勾配が一定
       損失関数にとって重要でないパラメータは0に追いやられる

   L1正則化では、多くのパラメータを0にすることが出来る
       このような操作:Sparse化
       多くのパラメータが0になった解:Sparseな解

                  x (1)     嫌い        w(1) 
                  ( 2)                ( 2) 
                 x          好き       w 
             x   x ( 3)    退屈   w   w ( 3) 
                                                認識に対応する
                           認識                 パラメータは0に
                  (n)                 (n) 
                 x                   w 
                                                               23
目次
   はじめに
       紹介論文概要
       問題設定:教師あり学習
   Online学習/L1正則化
       Online学習
       L1正則化
   Forward Backward Splitting(FOBOS)
       FOBOS Algorithm
       Regret分析
   実験
   まとめ

                                        24
紹介論文(再掲)
   Efficient Online and Batch Learning using
    Forward Backward Splitting
               (J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009]


          Online学習

                                       FOBOS
           L1正則化
                                         2手法を同時に組み込み、
                                         さらに最適解への収束性の
                                            証明を行っている


       L1正則化に限らず様々な正則化項を一般的に取り扱った分析を
        行っているが、本発表ではL1正則化に話を限定する

                                                                                    25
正則化項付きOnline学習                                  wが最も小さくなる方向へ
                                                重みベクトル w を動かす
   重みベクトルの更新基準                t (w)  r (w)
       条件:それぞれの関数は凸かつ下に有界

     t (w) :損失関数項 (重みベクトル wが不適である度合)
        例: 最小二乗損失  t (w)  xt  w  y 
                                                2


            Hinge-Loss    t (w)  xt  w  y 

    r (w) :正則化項 (重みベクトル wの複雑さの度合)
        例: L2正則化 r (w)   w
                                   2
                                   2

            L1正則化     r (w )   w 1

                 今回は、L1正則化に話を絞って紹介
                                                            26
劣勾配法で解くと…
   パラメータ更新式                       w t を0においやる力が働く
              w t 1  w t t gt tgtr
                     t ,t : ステップ幅
                      g t  w t  : の劣勾配中の任意のベクトル
                      g tr  r w t  : rの劣勾配中の任意のベクトル



   L1正則化を用いても、パラメータはSparseになりにくい
     t gt,( j )  tgtr ,( j )  wt( j ) が成立することは稀
       L1正則化項を導入しても、Sparseな解は得られにくい


                                                         27
Forword Backward Splitting(FOBOS)
   提案手法
       重みベクトル w t の更新を2ステップに分ける

           ステップ1                              ステップ2
wt         損失最小化
                                 w t 1 2      正則化
                                                           w t 1

     ステップ1
    損失関数  t (w t ) が最も小さくなる方向へ重みベクトルを更新
    正則化項 w 1は考えない
           w t 1 2  w t t g t     劣勾配法

                        t : ステップ幅
                        g t  w t  : の劣勾配中の任意のベクトル
                                                                28
Forword Backward Splitting(FOBOS)

  ステップ2
 ステップ1で更新した重みパラメータをできるだけ動かさず、
 L1正則化を行う
              パラメータをできる
               だけ動かさない                           正則化

                      1            2               
     w t 1  arg min  w  w t 1 2  t 1 2 w 1 
                 w    2                            
                                              t 1 2 : ステップ幅

       パラメータ更新を2ステップに分けることで、
            L1正則化を導入した上で、
     Regret上限が o(T )のアルゴリズムが導出される                          29
FOBOS更新式の導出
   ステップ2をパラメータ各要素の式に分解
                               1             2             
             w t 1  arg min  w  w t 1 2  t 1 2 w 1  
                         w     2                           
               ( j)            1 ( j)
                                         ( j) 2
                                                             
             wt 1  arg min  w  wt 1 2  t 1 2  w( j ) 
                        w( j ) 2                             
   閉じた更新式を導出可能
                                  
       wt(j1)  sign( wt(j1) 2 ) wt(j1) 2  t 1 2    

                                              
              sign( wt( j )  t g t ,( j ) ) wt( j )  t g t ,( j )  t 1 2   
                                                                                      


                                                       wt( j )からwt(j1) を直接導くことが出来る
     wt(j1) 2  t 1 2  0 になる
                                                                                          30
FOBOSによるL1正則化
                                    ( j)
                                w   t 1 2

                                    ( j)
                                w   t 1
     t 1 2
                                ( j)
                     t 1 2   w
                                t 1 2




                 0

                                             31
FOBOSの貢献
   Subgradient Method等の既存手法と比べても、実質
    的に計算量を増やすことなくパラメータ更新が可能
       閉じた式でパラメータ更新が可能
                                           
         wt(j1)  sign wt( j ) t gt,( j ) wt( j ) t gt,( j ) t 1 2   
                                                                                



   Subgradient Methodの Regret の性質が、FOBOSで
    も同じく成立する
     Subgradient Methodと同じ Regret を得ることが出来る




                                                                                    32
目次
   はじめに
       紹介論文概要
       問題設定:教師あり学習
   Online学習/L1正則化
       Online学習
       L1正則化
   Forward Backward Splitting(FOBOS)
       FOBOS Algorithm
       Regret 分析
   実験
   まとめ

                                        33
Online学習アルゴリズムの評価(再掲)
   Regret という概念を導入
     元々は、ゲーム理論等で使用されていた枠組み

     学習をする過程で蓄積した累積損失と、データを全て見た後で
      重みベクトルを定めた時の最小合計損失との差
                                                    
                        T                                                      T
         Regret (T )    t (w t )   t (w )   *
                                                             w  arg min   t (w)
                                                              *

                        t 1                                              w    t 1
       Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た
        りの Regret は0に収束する→最適解に収束する
                                            (w )   (w )
                                          T
                                                                      *
                                                 t       t        t
             Regret (T )  o(T )  lim    t 1
                                                                          0
                                   T                   T
       Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ
        ムは、重みベクトルを高速に最適解へ収束させられる
                                                                                      34
Regret の上限を
Regret 分析(1/2)                                                                0に近づけたい
 Regret

                                                                   
                    T
     R  r (T )    t (w t )  r (w t )   t (w  )  r (w  )
                    t 1                                                       T
                                                         w   arg min   t (w )  r (w )
                                                                          w    t 1


   FOBOSにおける Regret の上限
    w t     w t  w   D t 1  t 1 2  t
     t , r  G              t  2t 1        の条件下では、O                     T  が保証される
      c  0 t  c                   t
                                                        D2     2 
                                   R  r (T )  2GD  
                                                        2c  8G c  T
                                                                   
                                                                  
                                                                                         35
r (w )  w 1は、
Regret 分析(2/2)                                             Strongly
                                                       Convexではない
    t ()  r () がStrongly Convexの場合
     つまり、  t ()または r () がStrongly Convexの場合


    Strongly Convex
                                                               H
     H  0 w, w t   f (w )  f (w t )  f (w t ), w  w t    w  wt
                                                                          2

                                                               2

   Regret は O(logT ) で上から押さえる事ができる
         1
    t     
         Ht
                                  4G 2                  G2    
         R  r (T )  2GD  HD 
                               2
                                       1  log T   O log T 
                                                       H      
                                   H                          
                                                                              36
目次
   はじめに
       紹介論文概要
       問題設定:教師あり学習
   Online学習/L1正則化
       Online学習
       L1正則化
   Forward Backward Splitting(FOBOS)
       FOBOS Algorithm
       Regret分析
   実験
   まとめ

                                        37
実験概要
     Amazon.comのデータセットで評価分類                          [ J. Blitzer+ 2007]

         原論文の実験とは異なり、追実験を行った
         損失関数はHinge-Loss,          t  1 ,  1  t ,   1 200
                                           t  t
          10回の交差検定、20回反復計算
                                                 2
      
         FOBOSとSubgradient Methodで精度とSparseさを比較
         データは、(レビュー文章, Positive/Negative)の組の集合

              データ数 特徴次元数       代表的な単語
books         4465   332441    book, read, like, story, good, author,
                               pages
dvd           3586   282901    movie, film, see, best, original, character
electronics   5681   235798    sound, product, work, quality, buy, iPod,
                               headphones
kitchen       5945   205666    use, pan, coffee, product, machine, little
                                                                            38
実験結果
   20回反復計算を10回の交差検定した結果の平均値


           FOBOS (L1)       Subgradient Method
books      82.84 (92.87)    83.66 (50.39)
dvd         82.12 (92.24)   81.37 (50.42)
electronics 87.61 (92.44)   85.85 (54.43)
kitchen     88.44 (92.64)   87.91 (56.53)

                        精度 (重みベクトル中の0要素の割合)


              精度を落とすことなく、
            Sparseな解を得られている
                                                 39
実験結果詳細(electronics)
精度(%)
    88

    87

    86

    85

    84                                                FOBOS
    83                                                Subgradient

    82

    81

    80
         1   3   5   7   9   11   13   15   17   19   反復回数(回)

                                                                40
実験結果詳細(kitchen)
精度(%)
    89
   88.5
    88
   87.5
    87
   86.5                                                FOBOS
    86                                                 Subgradient
   85.5
    85
   84.5
    84
          1   3   5   7   9   11   13   15   17   19   反復回数(回)

                                                                 41
実験結果まとめ
   FOBOSはSubgradient Method等と比べて、精度を上
    回ることがある

   FOBOSでは、過学習を抑制する効果を持つ
       Subgradient Methodでは、数回反復を行うとパラメータ更
        新が殆ど行われなくなる(訓練集合に過剰適合してしまう)
       一方FOBOSでは、反復試行を繰り返すことで正則化の力が
        弱まるため、稀だが有用なパラメータが残る            0                      t 1 2
                               1            2               
              w t 1  arg min  w  w t 1 2  t 1 2 w 1 
                          w    2                            



                 0                                       0
                                                                          42
発表のまとめ
   Online学習
       データを一つ読み込むたびに、逐次的に学習
       Regret という概念で、アルゴリズムを評価
   L1正則化
       重みベクトルをSparseにして、特徴選択を行う

   Forward Backward Splitting(FOBOS)
       Online学習とL1正則化(Sparse化)を同時に実現
       Regret の上限が O( T ) となることを証明
       評価実験でも、既存手法を上回る精度であることを確認



                                        43

More Related Content

PPTX
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
PDF
20200910コンピュータビジョン今昔物語(JPTA講演資料)
PDF
物体検知(Meta Study Group 発表資料)
PDF
cvpaper.challenge 研究効率化 Tips
PDF
Introduction to YOLO detection model
PDF
Transformer メタサーベイ
PDF
[DL輪読会]Deep Learning 第15章 表現学習
PDF
【DL輪読会】CLIPORT: What and Where Pathways for Robotic Manipulation (CoRL 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
20200910コンピュータビジョン今昔物語(JPTA講演資料)
物体検知(Meta Study Group 発表資料)
cvpaper.challenge 研究効率化 Tips
Introduction to YOLO detection model
Transformer メタサーベイ
[DL輪読会]Deep Learning 第15章 表現学習
【DL輪読会】CLIPORT: What and Where Pathways for Robotic Manipulation (CoRL 2021)

What's hot (20)

PDF
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
PDF
グラフィカルモデル入門
PDF
ベイズ最適化
PPTX
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
PPTX
[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation
PDF
動作認識におけるディープラーニングの最新動向1 3D-CNN
PDF
時系列ビッグデータの特徴自動抽出とリアルタイム将来予測(第9回ステアラボ人工知能セミナー)
PPTX
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
PDF
ディープラーニングのフレームワークと特許戦争
PDF
【メタサーベイ】Video Transformer
PDF
【DL輪読会】Hierarchical Text-Conditional Image Generation with CLIP Latents
PDF
NumPyが物足りない人へのCython入門
PDF
Attentionの基礎からTransformerの入門まで
PDF
Active Learning の基礎と最近の研究
PPTX
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
PDF
神経科学をカジュアルにトーク
PDF
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
PDF
実装ディープラーニング
PDF
20230216_Python機械学習プログラミング.pdf
PDF
Layer Normalization@NIPS+読み会・関西
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
グラフィカルモデル入門
ベイズ最適化
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Deep High-Resolution Representation Learning for Human Pose Estimation
動作認識におけるディープラーニングの最新動向1 3D-CNN
時系列ビッグデータの特徴自動抽出とリアルタイム将来予測(第9回ステアラボ人工知能セミナー)
[DL輪読会]YOLOv4: Optimal Speed and Accuracy of Object Detection
ディープラーニングのフレームワークと特許戦争
【メタサーベイ】Video Transformer
【DL輪読会】Hierarchical Text-Conditional Image Generation with CLIP Latents
NumPyが物足りない人へのCython入門
Attentionの基礎からTransformerの入門まで
Active Learning の基礎と最近の研究
[DL輪読会]The Neuro-Symbolic Concept Learner: Interpreting Scenes, Words, and Se...
神経科学をカジュアルにトーク
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
実装ディープラーニング
20230216_Python機械学習プログラミング.pdf
Layer Normalization@NIPS+読み会・関西
Ad

Similar to FOBOS (17)

PDF
Deep Learning を実装する
PDF
Building High-level Features Using Large Scale Unsupervised Learning
PDF
bigdata2012ml okanohara
PDF
PoisoningAttackSVM (ICMLreading2012)
PDF
機械学習の理論と実践
PDF
PDF
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
PDF
わかりやすいパターン認識_3章
PPTX
W8PRML5.1-5.3
PPTX
ICML2018読み会: Overview of NLP / Adversarial Attacks
PDF
(DL hacks輪読) Difference Target Propagation
PDF
ディープニューラルネット入門
PDF
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
PPT
オブジェクト指向入門7
PDF
Semantic segmentation
PDF
第7回スキル養成講座講義スライド
Deep Learning を実装する
Building High-level Features Using Large Scale Unsupervised Learning
bigdata2012ml okanohara
PoisoningAttackSVM (ICMLreading2012)
機械学習の理論と実践
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
わかりやすいパターン認識_3章
W8PRML5.1-5.3
ICML2018読み会: Overview of NLP / Adversarial Attacks
(DL hacks輪読) Difference Target Propagation
ディープニューラルネット入門
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
オブジェクト指向入門7
Semantic segmentation
第7回スキル養成講座講義スライド
Ad

More from Hidekazu Oiwa (10)

PDF
NIPS2014読み会 NIPS参加報告
PDF
SGD+α: 確率的勾配降下法の現在と未来
PDF
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
PDF
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
PDF
OnlineClassifiers
PDF
PDF
IBMModel2
PDF
Pfi last seminar
PDF
NLPforml5
PPTX
NIPS2014読み会 NIPS参加報告
SGD+α: 確率的勾配降下法の現在と未来
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
OnlineClassifiers
IBMModel2
Pfi last seminar
NLPforml5

FOBOS

  • 1. L1正則化を導入した Online学習手法 東京大学 中川研究室 修士一年 大岩秀和
  • 2. 目次  はじめに  紹介論文概要  問題設定:教師あり学習  Online学習/L1正則化  Online学習  L1正則化  Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析  実験  まとめ 2
  • 3. 目次  はじめに  紹介論文概要  問題設定:教師あり学習  Online学習/L1正則化  Online学習  L1正則化  Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析  実験  まとめ 3
  • 4. 紹介論文概要  Efficient Online and Batch Learning using Forward Backward Splitting (J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009] Online学習 FOBOS L1正則化 2手法を同時に組み込み、 さらに最適解への収束性の 証明を行っている  Online学習を行いながら、同時に特徴選択を行う手法  L1正則化に限らず様々な正則化項を一般的に取り扱った議論をし ているが、本発表ではL1正則化に話を限定して紹介 4
  • 5. 問題設定  教師あり学習  訓練集合と呼ばれる大きな集合 {( x1 , y1 ), (x 2 , y2 )...} を用いて、 入力 x i から出力 yi を正確に予測する学習器を作成する技術 入力: x i 出力: yi  代表的な応用例  回帰問題 将来の株価  株価推定  分類問題  メールフィルタリング  画像認識 入力: x i 電子メール  評価分類 プライ 仕事 スパ 出力: yi ベート ム 5
  • 6. 応用例を題材として、問題設定を解説  評価分類(Sentiment Classification)  ある商品のレビュー文章から、その文章が商品に対して positiveな評価を与えているかnegativeな評価を与えている かを判定する このレビューはpositiveかnegativeか? 6
  • 7. 問題設定:訓練集合  レビュー文章から正解を正確に予測したい 文章と正解データが ペアで与えられる 正解  1 ( positive) y  1 (negative) 文章形式のままでは、 正解データは、 学習を行いにくい -1/1で取り扱う  x (1)  嫌い  ( 2)  入力ベクトルの各要素は、 入力 x  好き 対応する単語の出現頻度 x   x ( 3)  退屈      認識  (n)  文章から入力ベクトルを生成 x  入力 xから正解y を 正確に予測したい 7
  • 8. 問題設定:予測  入力 xから出力y を予測するための道具として、重みベ クトル w を導入する 重みベクトルと入力ベクトルの内積 w  (1) の値を用いて予測を行う  ( 2)  w  sign(x  w )  0 positive 重みベクトル w   w ( 3)  sign(x  w )  0 negative と予測       (n)  w  y (x  w )  0 予測は正しい y (x  w )  0 予測は誤り 適切な ( x  w )の符号を返す重みベクトル w を学習することが目標 8
  • 9. 問題設定:損失関数  損失関数を、予測の正確さを図る指標として導入  今回の例では損失関数の一例として、Hinge-Lossを用いる  0 1  y  (w  x i )  0 損失関数  i ( w )  1  y  ( w  x i )   1  y  (w  x i ) 1  y  (w  x i )  0  i (w ) Hinge-Loss w  x の予測が失敗しているほど、 損失関数の値が大きくなる 0 y  ( w  x) 9
  • 10. 問題設定の一般化  評価分類器の作成は、以下のように定義できる 学習器を作成する 全データの損失の合計   i (w ) が i 最小となる重みベクトル wを求める Batch学習  入力データと損失関数は以下のように一般化出来る  1つのデータ:重みベクトルを受け取り損失を返す損失関数  i () : w  n   10
  • 11. 目次  はじめに  紹介論文概要  問題設定:教師あり学習  Online学習/L1正則化  Online学習  L1正則化  Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析  実験  まとめ 11
  • 12. Online学習  Online学習  データ一つに対して、重みベクトル w を逐次的に更新する手法 1. 損失関数 t () を受け取る 2. 重みベクトル w tと  t () を用いて、重みベクトルを w t 1 に更新 3. 次の損失関数  () が存在すれば、上記の操作を繰り返す t 1  t ()  t 1 () … wt w t 1 … 12
  • 13. Online学習アルゴリズムの目標 Batch学習の目標 min   t (w ) w 全データの損失の合計   i (w) が最小 t となる重みベクトル w を求める i Online学習の目標 min w1 , w 2 ,...   (w )t t 全データの損失の合計   t (w t ) が最小 t t となる重みベクトル w t を求める 13
  • 14. Online学習アルゴリズムの目標 Online学習の目標 Online学習の目標 min w1 , w 2 ,...   (w ) t t t t min  t (w t ) wt 次にやってくる損失関数  t () の値を最小化 するように重みベクトル w t を更新する問題 ただし、どのようなアルゴリズムを用いても、損失関数  t () を意地悪に設 定してやれば、 min,...   t (w t ) のworst caseの値は無限に大きくなる w ,w 1 2 t 14
  • 15. Online学習アルゴリズムの評価  Regret という概念を導入  元々は、ゲーム理論等で使用されていた枠組み  学習をする過程で蓄積した累積損失と、データを全て見た後で 重みベクトルを定めた時の最小合計損失との差   T T Regret (T )    t (w t )   t (w ) * w  arg min   t (w) * t 1 w t 1  Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た りの Regret は0に収束する→最適解に収束する   (w )   (w ) T * t t t Regret (T )  o(T )  lim t 1 0 T  T  Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ ムは、重みベクトルを高速に最適解へ収束させられる 15
  • 16. Online学習の利点  大量のメモリを必要としない  数TB程度の大規模なデータから学習を行う場合等に有効  大規模データでは、直接 arg min   t (w) を求めることは難しい w t  新たなデータを入手した時に、再学習が容易  batch学習では、新しいデータを入手するたびに、過去のデータ も含めた arg min   t (w) を計算しなければならない w t  Online学習では新しいデータのみを使って更新を行えば良い 16
  • 17. Greedy Projection  Online学習での典型的な学習手法  パラメータ更新式 w t 1  wt t  t (w t )  : 更新幅(スカラー) t 損失関数が最小となる方向へ重みベクトル w を更新する  Regret がo(T ) となる条件  () が凸(convex) Convex w, v  [0,1]  () が微分可能 ( v)  (1   )(w)  (v  (1   )w)  Hinge-Loss等の関数では、微分不可能な点が存在  劣勾配法(Subgradient Method)を用いる Hinge-Loss 17
  • 18. 劣勾配法(Subgradient Method)  微分不可能な点では、劣勾配 (Subgradient) を用いる  劣勾配:(w)  g | v : ( v)  (w)  g, v  w  Hinge-loss () が凸であれば、 劣勾配が存在 劣勾配の集合の要素を 点線で示している  パラメータ更新式 wt 1  w t t gt gt  (w t ) 18
  • 19. 目次  はじめに  紹介論文概要  問題設定:教師あり学習  Online学習/L1正則化  Online学習  L1正則化  Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析  実験  まとめ 19
  • 20. 正則化  過学習 (Over-Fitting)  訓練集合の損失関数を最小化する最適なパラメータを求める と、訓練集合に過剰適合する問題が発生することがある  正則化  パラメータが複雑になればなるほど値が大きくなるペナルティ 項を、最適化問題に導入   w  arg min   t (w)  r (w) * w  t   過学習を抑止する  L2正則化とL1正則化が代表的 20
  • 21. L1正則化(Lasso)  自然言語等を扱う場合、パラメータ次元数が膨大になる  計算量が膨大になるため、全パラメータを同時には扱いにくい  x (1)  嫌い  w(1)   ( 2)   ( 2)  x  好き w  x   x ( 3)  退屈 w   w ( 3)         認識     (n)   (n)  x  w  nが非常に大きい場合、 計算量も膨大になる  L1正則化を導入する  パラメータを決める基準に L1 normを追加する   (w )   w t 1  : 正則化の比率 t 21
  • 22.    (i )  t   (w )   w 1   0 L1正則化(Lasso) w  t  w1 w( i ) w 2 2 wi w (i )  t  t (w )  w(i ) 0  t  t (w )  t  t (w ) w  t  t (w ) 2 w1  0 の時、 w(i )  0   2 かつ  w (i ) w (i ) w (i ) w (i ) w(i ) 22
  • 23. L1正則化の特徴  L1正則化では、勾配が一定  損失関数にとって重要でないパラメータは0に追いやられる  L1正則化では、多くのパラメータを0にすることが出来る  このような操作:Sparse化  多くのパラメータが0になった解:Sparseな解  x (1)  嫌い  w(1)   ( 2)   ( 2)  x  好き w  x   x ( 3)  退屈 w   w ( 3)      認識に対応する    認識    パラメータは0に  (n)   (n)  x  w  23
  • 24. 目次  はじめに  紹介論文概要  問題設定:教師あり学習  Online学習/L1正則化  Online学習  L1正則化  Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析  実験  まとめ 24
  • 25. 紹介論文(再掲)  Efficient Online and Batch Learning using Forward Backward Splitting (J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009] Online学習 FOBOS L1正則化 2手法を同時に組み込み、 さらに最適解への収束性の 証明を行っている  L1正則化に限らず様々な正則化項を一般的に取り扱った分析を 行っているが、本発表ではL1正則化に話を限定する 25
  • 26. 正則化項付きOnline学習 wが最も小さくなる方向へ 重みベクトル w を動かす  重みベクトルの更新基準  t (w)  r (w)  条件:それぞれの関数は凸かつ下に有界  t (w) :損失関数項 (重みベクトル wが不適である度合) 例: 最小二乗損失  t (w)  xt  w  y  2 Hinge-Loss  t (w)  xt  w  y  r (w) :正則化項 (重みベクトル wの複雑さの度合) 例: L2正則化 r (w)   w 2 2 L1正則化 r (w )   w 1 今回は、L1正則化に話を絞って紹介 26
  • 27. 劣勾配法で解くと…  パラメータ更新式 w t を0においやる力が働く w t 1  w t t gt tgtr t ,t : ステップ幅 g t  w t  : の劣勾配中の任意のベクトル g tr  r w t  : rの劣勾配中の任意のベクトル  L1正則化を用いても、パラメータはSparseになりにくい  t gt,( j )  tgtr ,( j )  wt( j ) が成立することは稀  L1正則化項を導入しても、Sparseな解は得られにくい 27
  • 28. Forword Backward Splitting(FOBOS)  提案手法  重みベクトル w t の更新を2ステップに分ける ステップ1 ステップ2 wt 損失最小化 w t 1 2 正則化 w t 1  ステップ1 損失関数  t (w t ) が最も小さくなる方向へ重みベクトルを更新 正則化項 w 1は考えない w t 1 2  w t t g t 劣勾配法 t : ステップ幅 g t  w t  : の劣勾配中の任意のベクトル 28
  • 29. Forword Backward Splitting(FOBOS)  ステップ2 ステップ1で更新した重みパラメータをできるだけ動かさず、 L1正則化を行う パラメータをできる だけ動かさない 正則化 1 2  w t 1  arg min  w  w t 1 2  t 1 2 w 1  w 2  t 1 2 : ステップ幅 パラメータ更新を2ステップに分けることで、 L1正則化を導入した上で、 Regret上限が o(T )のアルゴリズムが導出される 29
  • 30. FOBOS更新式の導出  ステップ2をパラメータ各要素の式に分解 1 2  w t 1  arg min  w  w t 1 2  t 1 2 w 1   w 2  ( j) 1 ( j)  ( j) 2   wt 1  arg min  w  wt 1 2  t 1 2  w( j )  w( j ) 2   閉じた更新式を導出可能  wt(j1)  sign( wt(j1) 2 ) wt(j1) 2  t 1 2     sign( wt( j )  t g t ,( j ) ) wt( j )  t g t ,( j )  t 1 2   wt( j )からwt(j1) を直接導くことが出来る  wt(j1) 2  t 1 2  0 になる 30
  • 31. FOBOSによるL1正則化 ( j) w t 1 2 ( j) w t 1 t 1 2 ( j) t 1 2 w t 1 2 0 31
  • 32. FOBOSの貢献  Subgradient Method等の既存手法と比べても、実質 的に計算量を増やすことなくパラメータ更新が可能  閉じた式でパラメータ更新が可能   wt(j1)  sign wt( j ) t gt,( j ) wt( j ) t gt,( j ) t 1 2    Subgradient Methodの Regret の性質が、FOBOSで も同じく成立する  Subgradient Methodと同じ Regret を得ることが出来る 32
  • 33. 目次  はじめに  紹介論文概要  問題設定:教師あり学習  Online学習/L1正則化  Online学習  L1正則化  Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret 分析  実験  まとめ 33
  • 34. Online学習アルゴリズムの評価(再掲)  Regret という概念を導入  元々は、ゲーム理論等で使用されていた枠組み  学習をする過程で蓄積した累積損失と、データを全て見た後で 重みベクトルを定めた時の最小合計損失との差   T T Regret (T )    t (w t )   t (w ) * w  arg min   t (w) * t 1 w t 1  Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た りの Regret は0に収束する→最適解に収束する   (w )   (w ) T * t t t Regret (T )  o(T )  lim t 1 0 T  T  Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ ムは、重みベクトルを高速に最適解へ収束させられる 34
  • 35. Regret の上限を Regret 分析(1/2) 0に近づけたい  Regret    T R  r (T )    t (w t )  r (w t )   t (w  )  r (w  ) t 1 T w   arg min   t (w )  r (w ) w t 1  FOBOSにおける Regret の上限 w t w t  w   D t 1  t 1 2  t  t , r  G t  2t 1 の条件下では、O  T  が保証される c  0 t  c t  D2 2  R  r (T )  2GD    2c  8G c  T    35
  • 36. r (w )  w 1は、 Regret 分析(2/2) Strongly Convexではない   t ()  r () がStrongly Convexの場合  つまり、  t ()または r () がStrongly Convexの場合 Strongly Convex H H  0 w, w t f (w )  f (w t )  f (w t ), w  w t  w  wt 2 2  Regret は O(logT ) で上から押さえる事ができる 1 t   Ht 4G 2  G2  R  r (T )  2GD  HD  2 1  log T   O log T  H  H   36
  • 37. 目次  はじめに  紹介論文概要  問題設定:教師あり学習  Online学習/L1正則化  Online学習  L1正則化  Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析  実験  まとめ 37
  • 38. 実験概要  Amazon.comのデータセットで評価分類 [ J. Blitzer+ 2007]  原論文の実験とは異なり、追実験を行った  損失関数はHinge-Loss, t  1 ,  1  t ,   1 200 t t 10回の交差検定、20回反復計算 2   FOBOSとSubgradient Methodで精度とSparseさを比較  データは、(レビュー文章, Positive/Negative)の組の集合 データ数 特徴次元数 代表的な単語 books 4465 332441 book, read, like, story, good, author, pages dvd 3586 282901 movie, film, see, best, original, character electronics 5681 235798 sound, product, work, quality, buy, iPod, headphones kitchen 5945 205666 use, pan, coffee, product, machine, little 38
  • 39. 実験結果  20回反復計算を10回の交差検定した結果の平均値 FOBOS (L1) Subgradient Method books 82.84 (92.87) 83.66 (50.39) dvd 82.12 (92.24) 81.37 (50.42) electronics 87.61 (92.44) 85.85 (54.43) kitchen 88.44 (92.64) 87.91 (56.53) 精度 (重みベクトル中の0要素の割合) 精度を落とすことなく、 Sparseな解を得られている 39
  • 40. 実験結果詳細(electronics) 精度(%) 88 87 86 85 84 FOBOS 83 Subgradient 82 81 80 1 3 5 7 9 11 13 15 17 19 反復回数(回) 40
  • 41. 実験結果詳細(kitchen) 精度(%) 89 88.5 88 87.5 87 86.5 FOBOS 86 Subgradient 85.5 85 84.5 84 1 3 5 7 9 11 13 15 17 19 反復回数(回) 41
  • 42. 実験結果まとめ  FOBOSはSubgradient Method等と比べて、精度を上 回ることがある  FOBOSでは、過学習を抑制する効果を持つ  Subgradient Methodでは、数回反復を行うとパラメータ更 新が殆ど行われなくなる(訓練集合に過剰適合してしまう)  一方FOBOSでは、反復試行を繰り返すことで正則化の力が 弱まるため、稀だが有用なパラメータが残る  0 t 1 2 1 2  w t 1  arg min  w  w t 1 2  t 1 2 w 1  w 2  0 0 42
  • 43. 発表のまとめ  Online学習  データを一つ読み込むたびに、逐次的に学習  Regret という概念で、アルゴリズムを評価  L1正則化  重みベクトルをSparseにして、特徴選択を行う  Forward Backward Splitting(FOBOS)  Online学習とL1正則化(Sparse化)を同時に実現  Regret の上限が O( T ) となることを証明  評価実験でも、既存手法を上回る精度であることを確認 43