輪講

輪講の担当で以下の文献を読んだので,メモ.

Title: Comparison of Input and Feature Space Nonlinear Kernel Nuisance Attribute Projections for Speaker Verification
Author: Xianyu Zhao, Yuan Dong, Jian Zhao, Liang Lu, Jiqing Liu and Haila Wang
Interspeech, 2008, pp. 1377 - 1380

内容としてはSVMを用いた話者照合の話で,カーネル関数によって内積が計算される高次元空間において,話者照合の邪魔になる次元を削除する方法を提案しており,この削除をNuisance Attribute Projections(NAP)と呼んでいる.

従来の方法では,内積の計算される高次元の空間上において直接同一話者内の違いやチャネル間の特性を表す次元を見つけ,その次元を削除するような射影行列を求めていた.

しかし,高次元の多項式カーネルやGaussianカーネルなどでは,内積を計算する空間が前者の場合は超高次元となり,後者の場合には無限次元であるなど,高次元空間において直接射影行列を求めることが困難になる.

この問題を解決するために,Kernel PCAライクな手法を用いて,高次元空間への射影を陽に行うことなく目的の射影行列を求める手法があり,著者らによって提案されていた.

Kernel PCAを用いた方法は,高次元空間上への変換を必要としないため,超高次元な空間上での内積を計算するKernelを用いた場合にでも適用できるようになったが,NAPが施された空間における内積を計算するためには,入力ベクトルについて,射影行列を求めるために使用した全てのデータ点との内積を計算する必要があり,学習データが増えた場合に記憶容量や計算量の観点から問題があった.

以上のような,高次元空間上での射影行列を求めることによって生じる問題を回避するために,著者らは入力空間上の射影によって,高次元空間上でのNAPを行う方法を提案した.

Kernel関数が内積を計算する高次元空間上で,チャネル間の特性など話者認識のためには望ましくない特性が無くなるような変換を入力空間上で発見する.

先の方法との違いは,高次元空間上の射影行列を求めるか,入力空間上の射影行列を求めるかという点である.

非線形なKernel関数によって定義される高次元空間でのばらつきを低減するような射影行列を,入力空間上で求めるための目的関数は非線形なので,勾配法によって解を求める.

多項式カーネルおよびGaussianカーネルを用いた実験結果は,次元の削減数がある程度の値までは(文献中では32)両手法とも同程度の結果となったが,そこを超えると高次元空間上で直接NAPを行った方が良い結果となった.

結果としては,入力空間上でNAPを行うよりも,高次元空間上でNAPを行う方が良くなったが,計算時間の観点からみると,入力空間上でのNAPの方が7倍早く,学習データも保持しておく必要も無いので,利点はある.


自分にとってはかなり難しい内容だったが,最終的にはわりと理解できたのでよかった.

高次元空間での次元圧縮の話,特にKernel PCAの勉強のためには,以下の本が有益であった.

Nonlinear Dimensionality Reduction (Information Science and Statistics)
http://www.amazon.co.jp/Nonlinear-Dimensionality-Reduction-Information-Statistics/dp/0387393501