NIPS2012より識別モデル学習の進展を垣間見る

こんばんは.[twitter:@kisa12012]です.しがない機械学習系大学院生をやっております.Machine Learning Advent Calendar 2012 9日目では,"NIPS2012より識別も出る学習の進展を垣間見る"という無駄に野心的なタイトルで,先ほどまで開催されていたNIPS2012で発表された数本の論文概要を紹介します.機械学習,特に識別モデル学習の最先端が多少なりとも垣間見える,もしくは論文本体を読んでみようと思わせられる記事になっていれば幸いです.
重要: 概要紹介のみですので,数式は一切出てきません.(数式を記述する前に力尽きました……)

NIPS2012とは?

ホームページ : http://nips.cc/Conferences/2012/
機械学習のトップ国際会議の一つ.機械学習の理論的な面を解析した論文や,理論的背景を持ったアルゴリズムの導出を提案した論文が多いですが,脳科学・ロボット・画像解析・言語解析等への機械学習応用を目的とした論文も数多く出ている会議です.MLAC 6日目の[twitter:@koh_t]さんの記事もNIPS2012で発表された論文です.
今年は,12月3日〜8日までアメリネバダ州のレイク・タホで開催されてました.
NIPSについて詳しくは,朱鷺の社のNIPS紹介の記事をご参照下さい.

紹介する論文

今回紹介するのは,以下の識別モデル学習に関連した3本の論文です.

Learning Multiple Tasks using Shared Hypotheses
A Stochastic Gradient Method with an Exponential Convergence Rate with Finite Training Sets
Volume Regularization for Binary Classification

Learning Multiple Tasks using Shared Hypotheses

概要

複数の関連する分類問題を同時に最適化するマルチタスク分類問題を考える.例として,個々人の受信メールから重要度の高いメールを抽出するタスクはマルチタスク問題として考えられる*1 *2
上記のようにパーソナライゼーション等のタスクでは,タスク数は非常に多いが一人ひとりのデータ数が少ない場合が考えられる.この条件下では,タスク数より少ない数の学習器のみを用い,タスク間で学習器をシェアしながら学習を行う方が理論的にも実験的にもよりよい結果が得られる事を示した.

背景

  • タスク毎のデータ量が少ない場合,十分な汎化性能を持つような学習は困難
    • パーソナライゼーション等では一般的な現象
  • 全タスクを一つのタスクと思って単一の学習器で学習する場合は,タスク間で異なる特性を捉えられず識別精度が悪化
  • 中庸をとりたい,つまり複数のタスクで分類器を共有
    • 分類器の学習に,複数タスクのデータを用いることが可能に

貢献

  • 本問題設定におけるVC次元の上限・下限を導出
  • VC次元を用いた汎化誤差上限を評価
    • タスク数:多 仮説数:少 の時,各タスクで分類器を学習した場合より小さい汎化誤差上限で抑えられる

アルゴリズム

  • 1. 各タスクのデータを学習用とバリデーション用に分割
  • 2. 各タスクが用いる学習器をランダムに割り当て
  • 3. 各学習器に割り当てられたタスクの全学習用データでの損失最小化問題を解き,学習器を更新
  • 4. 各タスクのバリデーションデータに関して一番予測精度の高い学習器に割り当て直す
  • 5. 一定の回数反復,あるいは一定の収束基準を満たすまで,3.4ステップを反復
  • 6. 学習用とバリデーション用データを用いて各学習器を更新

雑感

  • パーソナライゼーション系のマルチタスク学習には相当強そう
    • タスクの分割が大雑把だったとしても上手く動きそうなのが素晴らしい
  • 実装は簡単,背後の理論は複雑かつ盤石,と良い研究のお手本

*1:Gmailの優先トレイでは,実際にこのようなマルチタスク学習が用いられている.“The Learning Behind Gmail Priority Inbox”, Douglas Aberdeen, Ondrey Pacovsky, Andrew Slater, LCCC : NIPS 2010 Workshop on Learning on Cores, Clusters and Clouds. http://research.google.com/pubs/archive/36955.pdf

*2:こちらも紹介記事を書いています.

A Stochastic Gradient Method with an Exponential Convergence Rate with Finite Training Sets

概要

データが事前に固定されていれば,ある種の一般的条件設定のもとで,データ数に対して定数オーダーの計算コストで線形収束を実現するSGDを提案.確率的最適化手法であるSGDと全データの勾配を毎ステップ計算して最適化するGDのハイブリッド(良いとこ取り)手法を提案し,こちらも理論的・実験的に非常に高速に最適解へ収束する事を示した.

背景

  • 近年,ビッグデータが流行ってます
  • 大量のデータから高速に学習する手法が求められています

貢献

  • Stochastic Average Gradient method (SAG) を提案
  • SAGは線形収束することを証明
    • 損失関数が微分可能,最適化問題はStrongly Convexである等の条件がいくつかあるが,大体の問題設定では満たされる

アルゴリズム

  • 1. データを1つランダムに選択し,現在の重みベクトルで勾配を計算
  • 2. 各データの「最後に」算出された勾配を集め,その平均ベクトルを用いて学習器を更新
  • 3. 一定の回数反復,あるいは一定の収束基準を満たすまで,1,2ステップを反復

実装上の工夫など

  • SAGを回す前に一度SGDをワンパス回すとさらに収束早くなる場合が多い
  • 正則化項を入れる場合は,正則化項は勾配近似せずに陽に最適化すると良い
  • 線形分類器の場合は,各データに関して保存しておくべき量はスカラー値1個のみ

雑感

  • 以前も結構話題になっていたので,すでに読んでいる人も多い?
  • 以前実装して実験を回してみましたが,実際SGDより遥かに高速に収束してました
  • 証明を解釈する会開きましょう(白目)

Volume Regularization for Binary Classification

概要

分類問題を多次元空間の「点(重みベクトル)」ではなく「箱(重みベクトルの集合)」の形で最適化する.ここで「箱」の形で最適化する,とは「箱」中の重みベクトル集合の中で最悪性能を示す重みベクトルで最適化問題を評価した場合の値を最大化する事.さらに,理論的にはPAC-Bayesian Boundを求めており,ノイズ環境下ではAROWやSVMよりも非常に高い性能を示すことを確認している.

背景

  • 既存の線形モデルは,信頼度や代替となる重みベクトルの情報を持たせる事が困難
  • Bayesian Classifierは,計算量やメモリ制約の問題から近似手法が必要
  • これまた中庸を取る
  • 重みベクトル集合,つまり「箱」の最適化を行う
    • 高速かつ省メモリでパラメータ更新が可能かつパラメータとして信頼できる重みベクトル集合が得られる

最適化問題アルゴリズム

  • (3)式 : 累積損失項 + log (箱の体積) + 正則化項 の総和を最小化する「箱」を求める
  • 各損失関数と正則化項は「箱」内で最悪の重みベクトルでの評価値を用いる
  • COMID (FOBOS) で逐次的に最適化
    • 「箱」の形に限定しているため,各軸の最小値と最大値さえ求めれば良い
    • 線形モデルである特性から,正則化項がL2の場合,各軸毎に最適化問題を分解できる
    • 損失関数も正則化項も箱全体の重みベクトルを使う必要がなく,いくつかの代表値のみを用いてパラメータ更新が可能

雑感

  • 「箱」を最適化するという発想が凄い.何故このような手法を思いつくのでしょう.見習いたい.
  • ただ,ハイパーパラメータが2つあるのは実用上で不安?
    • パラメータチューニングは結構骨を折りそう
  • SCWとの比較がないので,比較して欲しい所