u++の備忘録

『画像認識』第4章「コーディングとプーリング」の要点まとめ

 『画像認識』(機械学習プロフェッショナルシリーズ)*1の第4章が、サラッと読もうとしたところ結構骨の折れる内容だったので、自分用の備忘録として要点まとめを作ることにしました。


第4章「コーディングとプーリング」の目次

  1. コーディングとプーリングの概要
  2. 確率分布を利用したコーディング
  3. 局所特徴のコードワードによる再構築
  4. 多様体学習
  5. 特徴関数の線形内積によるカーネル関数近似
  6. 空間情報の活用

コーディング

局所特徴を認識に有効な次元数のベクトルに変換する操作

 コーディングは、以下の式のように分類に有利な高次元空間への非線形写像 g(\cdot)を求めて、この写像を用いて特徴 cを求める過程です。

 x=(x_1,...,x_D)^\mathrm{T} \mapsto c=g(x)=(g_1(x),...,g_{D_c}(x))^\mathrm{T}

 コーディング関数 g(\cdot)の求め方は、以下の5通りに分類できます。

  1. データがある確率分布からサンプリングされていると仮定して、その確率分布を推定する(4.2節)
  2. 複数の代表点を利用してデータを再構築することで推定する(4.3節)
  3. 特徴空間においてデータがなす多様体を、複数の代表点を用いて推定する(4.4節)
  4. データの類似度を表す関数を、特徴写像の線形内積として近似することで推定する(4.5節)
  5. 畳み込み演算のカーネルを判別的に学習することで推定する(第6章)

確率分布の推定によるコーディング

 データがある確率分布からサンプリングされていると仮定して、その確率分布を推定します。

具体的な手法:

代表点を用いた局所特徴の再構築によるコーディング

 選択した代表的な局所特徴 b_iを用いて、局所特徴 xをできる限り近似することを目指します。

 x=\sum_{i=1}^K c_i b_i

 このとき、再構築の係数 c=(c_1,...,c_K)^\mathrm{T}は、局所特徴 xのコーディング後の特徴と見なせます。局所特徴の再構築によるコーディングは、近似に向けた制約付き最適化問題として定式化され、制約項の設定や最適化方法の違いで多くの方法が提唱されています。

多様体学習を利用したコーディング

 訓練データから非線形関数 f(x)を学習する問題を考えます。時に過学習の問題が発生しますが、多様体の構造を利用することで「次元の呪い」を回避します。

特徴写像の線形内積で近似したカーネル関数によるコーディング

 高い画像分類性能を持つ「カーネル法」におけるカーネル関数を、特徴写像の線形内積で近似します。

 k(x,y)\approx\phi(x)^\mathrm{T}\phi(y)

 データ数が増えた時に計算が困難になるカーネル法の弱点を克服でき、この関数 \phi(x)をコーディング関数とすることで、特徴間の類似度を保つことができます。

判別的な学習で推定された畳み込み演算のカーネルを用いたコーディング

 第6章に記載されているとのこと。

プーリング

画像領域内に存在する複数のコーディング後の特徴ベクトルを1本のベクトルにまとめる操作

具体的な手法:

  • 平均値プーリング
    • 対象ベクトルの平均値を計算する
  • 最大値プーリング
    • ベクトルの各要素の最大値を計算する
メリット
  • 画像から得られる局所特徴の数が異なる場合も、同じ次元の特徴ベクトルを得られる
  • 画像領域内の局所特徴の位置情報を考慮しないので、位置不変な特徴を得られる
デメリット
  • 局所特徴の位置情報を認識性能の向上に活かせていない
    • 例:車では4つのタイヤと運転席は一定の空間的関係性を持つので、局所特徴の位置関係を画像特徴として盛り込めれば、分類性能の向上が期待できる

空間情報の活用(4.6節)

 この章では、空間情報を活用する方法として、以下の3つの方法を紹介しています。

  • 局所記述子のベクトルの要素に空間情報を加えて、局所記述子を拡張する
  • 局所記述子同士の自己相関行列を計算し、改めて局所記述子と見なす
  • 空間ピラミッド
    • プーリング後の特徴に空間情報を付与する

おわりに

 以上、第4章の要点をまとめました。今後具体的な手法の仕組みについて読み込んでいきます。