お久しぶりです。2014年9月以来、実に3年ぶりの更新です。しばらく機械学習関連の勉強は滞っていたのですが、思うところがあって再開。とりあえず、昨年12月に開催されたNIPS2017のプロシーディングス中から面白そうな記事をピックアップして斜め読みしました。備忘録&リハビリのためにも、記事を更新してみよう思った次第です。
Deep Subspace Clustering Networks
部分空間クラスタリング+オートエンコーダで非線形なクラスタリングを行う手法を提案。
部分空間クラスタリングは、同じクラスなら同じ(低次元)部分空間埋め込まれている(つまり、同じクラスに所属している別のサンプルの線形結合で表せる)という仮定の下クラスタリングを行う枠組みで、SSCやLRRが有名。サンプル集合をとして、いずれの手法もという制約条件のもと、線形結合の行列のスパース化や低ランク化を行う(前者はノルムの最小化、後者はトレースノルムの最小化)。を求めたらをaffinity matrixとしてスペクトラルクラスタリングを行うのが一般的(他にも色々やり方があるらしい)。
これらの方法では非線形なクラスタリングは行えない。そこで、オートエンコーダを利用しようというのがこの論文の提案。オートエンコーダはニューラルネットを入力と出力を同じデータとして学習させることで、中間層の出力が非線形な特徴抽出となるという手法。入力から特徴を抽出する中間層まで層をエンコーダ層、特徴を抽出する中間層から出力までの層をデコーダ層と呼ぶ。この論文では、このエンコーダ層とデコーダ層の間にとするSelf-Expressive層を新たに設けることを提案(はエンコーダ層で特徴抽出されたサンプルの集合)。これは、線形の全結合となる。このと他の層の重みを求めるため、下記の損失関数を最小化。
はニューラルネットの重み係数集合、はエンコーダ層の出力集合(バッチ)を表す。ノルム項はとの両方を実験。
上述のように、Self-Expressive層は線形の全結合層とみなせるので、バックプロパゲーションにより一括で学習できる。この方法でを求めたら後は従来通りにスペクトラルクラスタリング。結局のところ、オートエンコーダによって特徴抽出したデータに対して部分空間クラスタリングを行うが、その部分空間クラスタリング用のもニューラルネット上に組み込んで、一緒に学習してしまおうという手法。
顔画像クラスタリングのベンチーマークデータセット(Extended Yale BとORL)や物体画像クラスタリングのベンチマークデータセット(COIL20とCOIL100)で実験。結果、他の手法(カーネル部分空間クラスタリングなど非線形クラスタリング手法含む)よりも高精度なクラスタリングが可能。ノルム項ついては、何故かノルムを使った方が良い結果に。
Mixture-Rank Matrix Approximation for Collaborative Filtering
協調フィルタリングでよく使われるLow-rank matrix approximationにおいて、低ランクと高ランクの近似行列を混合することにより精度を上げた手法。
実際、レイティング数が少ないアイテムやユーザに対する近似行列は低ランクにした方が推定結果は良く、逆にレイティング数に対する近似行列は高ランクにした方が推定結果は良い。
従来の手法はユーザ・アイテムの実際のレイティングマトリックスをとして、(ともにk列の行列)となるを求め、i番目のユーザのj番目のアイテムに対する嗜好スコアを(それぞれ、のi行目、のj行目のベクトル)として推定する。PMFという手法では、この問題を確率的にモデル化してMAP推定によりを求める手法を提供している。ここでkは固定の値とするため、ユーザおよびアイテムのレイティング数にかかわらず、ランクkの近似行列を推定する。
本論文では、このPMFをベースに複数のランクkを重み付きで混合させたモデルを提案。具体的には下記の確率モデルを構築している。
ここで、はランクkの行列のi行目(ユーザiの特徴ベクトル)、はランクkの行列のj行目(アイテムjの特徴ベクトル)を表す。また、はユーザiにおけるランクkモデルの重み、はアイテムjにおけるランクkモデルの重み。これにより、ランクkのモデルがユーザi、アイテムjにマッチするならは大きくなるはずであり、マッチしないならは小さくなるはず(期待的には0になる)。これらのをMAP推定により求めようというのが提案手法。
MAP推定のため事前分布を与える。、の事前分布はそれぞれ、平均、共分散、のガウス分布としている(行列の事前分布はこれらの総乗)。また、はそれぞれスパースなベクトルにしたいので、の事前分布はラプラス分布とする(それぞれ、平均、分散というパラメータを持つ)。これらを積算することによって導き出される事後分布のlogにマイナスをつけた損失関数を最小化する。実際には、そのままの損失関数を最小化するのは難しいので、イェンセンの不等式で導き出される下限を最小化する。
はを固定して確率的勾配法で解く。一方、 も学習したいので、今度はを固定して最尤推定する(こちらは、解析的に求まる)。これらの操作を収束するまで繰り返す。
MovieLensのデータセットやNetflix Prizeのデータセットで実験。結果、kを固定するPMFに比べて高い推定精度を得られるし、他の手法と比べても有意な差が得られる。また、混合するモデルの個数(k個数)はたくさんかつ細かくした方が良いようだ(計算時間はかかるけど)。
以下2つの論文については、まだほとんど理解できていない。とりあえず、備忘録として残す。
Kernel Feature Selection via Conditional Covariance Minimization
カーネル法を使って特徴とラベル間の非線形関係をとらえて特徴抽出する手法。条件付き共分散作要素のトレースを基準にすることを提案。(相互)共分散作要素は2つのヒルベルト空間間の共分散を表しており、そこから条件付き共分散作要素が導き出される。
論文では条件付き共分散作要素のトレースがラベルとの独立性を評価する指標となると主張し、その理由を説明している。また、一般に特徴選択の最適化をまともに行おうとするとNP困難な問題になってしまうので、ここでは離散最適化から連続最適化へ問題を緩和している。また、それでも計算量的にしんどいので、いくつか計算量を抑えるための目的関数、制約条件の変換も行っている。
共分散作要素をもう少し理解してから再チャレンジが必要。今のところ共分散行列のヒルベルト空間への拡張と理解。日本語だとこの辺りが良さげ。
Unsupervised Image-to-Image Translation Networks
2つのドメインの画像セットがあり、一方のドメインの画像をもう一方のドメインの画像に変換する手法を提案した論文。例えば、低解像画像から高解像画像へ変換するタスクや、朝の風景画像を夜の風景画像に変換するタスクなどがあげられる。Unspervisedなので、学習用に2つのドメイン間で対応する画像のセットが与えられるわけではなく、ただ単にドメインAの画像セットとドメインBの画像セットが与えられるのみ。
これを実現するために2つのドメインのデータは同じlatent spaceを共有するという仮定を置く。この仮定をもとに、variational autoencoder(VAE)とgenerative adversarial network(GAN)によりドメイン変換を行う。
まず、VAEでは2つのドメインのインプットが同じlatent spaceに変換されるように、エンコーダ層を学習。この同じlatent spaceへ変換というのを実現するために、エンコーダ層の最後の数層とデコーダ層の最初の数層はドメイン間で重みを共有するという制約をつける(なぜこれで、うまくいくのかがイマイチわからない)。
次にGANは、adversarial discriminatorが画像生成(ドメイン変換)のネットワークによって生成された画像か実際の画像かを高精度に判定できるように学習させる。画像生成ネットワーク側はそれに負けじと高精度なドメイン変換を行う。
これら2つを両立させる目的関数(VAEとGANと制約項の和)を最適化することにより、ドメイン変換ネットワークを学習する。
VAEやGANは名前しか聞いたことなかったが、面白い枠組みだし応用範囲も広そう。まだまだブームは続く?