Deep Spectral Clustering Learningを読んだのでメモ
はじめに
Deep Spectral Clustering Learningを読んだのでメモ.
気持ち
クラスタリングの良さは類似度の指標とデータの表現に依存する.多くの手法はデータの表現固定であったり線形の変換によって得られることが多かったり.deepな学習ベースの手法も提案されているが勾配計算が複雑な場合が多いとのこと.そこでここではミニバッチサイズに線形に比例する計算オーダーで勾配を計算することができる表現を提案する.
Notation
実数行列のフロベニウス内積(Frobenius inner product)を,行列のフロベニウスノルムをとして定義する.をムーアペンローズの擬似逆行列とする.さらに集合の相対的内部(relative interior)をとする.この相対的内部というのは初めて聞いたけど,集合の内部にアフィン包の概念を入れたものっぽい.どんな意味があるかわからないけど,グラフを扱う上で定義しないとどこかでまずいことが起こるのかなと推測.
Data
ここでは一つの行列で表現される個のサンプルの集合について考える.
Bregman divergence
Bregman divergence をとして定義する.ただし,関数は微分可能で凸な関数で,はのに関する勾配を表す.
クラスタリングの文脈で使われるBregman divergenceはユークリッド距離の2乗,KLダイバージェンス,板倉齋藤距離などで定義されることが多いらしい.
Clustering
個の観測を個のクラスタに分けるのはassignment matrix を求めることに等しい.仮定として各サンプルはただ一つのクラスタに割り当てられクラスタに所属しないサンプルはない,つまりの行ごとの和をとれば必ずになるという仮定を置く.よっては次の集合に従う.
さらに各クラスタは一つの表現ベクトルで表現されると仮定し,各サンプルはの時クラスタに割り当てられる.記述の簡略化としてとし,個の表現ベクトルを行列の形に並べたものをとして定義する.するとの元,個のサンプルをクラスタに分割する問題は次のエネルギー関数の最小化問題として定式化できる.
ただし,,のように各ベクトルを行列の形で表現したもの.
Banerjeeらは上記の目的関数の最小解ががBregmanダイバージェンスの時においてクラスタに所属するサンプルの平均ベクトルになることを示したらしい.行列で表現すればということ.ここで集合を定義すれば次の1変数に関する最小化問題として書き直せる.
Deep Spectral Clustering Learning
Constraint Relaxation
ここではの問題をベースとして考える.この最小化問題はNP-hardであるため,緩和問題を考える.まずはをとして緩和する.ただし,はを含むランクのの対角行列.この緩和された問題は次のように定式化できる.
ただし,上記はに関連しない項は式から除外している.
嬉しいことにこの解はclosed-formに求まる.と定義した時ならば,この問題の解はとなる.特にならば,でとなる.(証明はsupplementary materialにあるらしいので今度読む.)
以下,学習サンプルの次元がより大きくなく,を満たす場合のみを考える.もしならば,解の集合はとして考えられる.
Structured output prediction
まず,個のサンプルと,パラメータとする埋め込み関数が与えられたとする.ただし,はで,表現ベクトルを行列にまとめたものをとする.また,正解のassignment matrix は与えられているものとする.ここでの目標は,の正解のクラスタリング行列をとすれば,緩和問題から得られた行列が真のクラスタリング行列に可能な限り近づくような埋め込み関数を学習することとなる.
以下では行列はに依存する変数として考える.行列の真のクラスタリングとから推定されたクラスタリング間の相違度を最小化する問題は次のempirical risk minimizationとして定式化できる.
ここでのとる全ての行列が同じランクである場合,上の問題はとして書ける.この時が定数となることから次の問題と等価として扱える.
この問題は次のような下界を持つ.(証明はsupplementary material)
ただし,.この下界はの時に等号が成り立つ.
この下界の最適化の難しいところはとの両方に依存するところ.が定数と仮定した時,この問題は微分可能となりに関する勾配は次のように計算できる.
ただし,は単位行列.この論文の実験においてはは常にフルランクで,ランクが定数になるという条件を満たしていたとのこと.
complexity
この計算が閉形式を持つだけでなく,その計算コストがサンプル数に線形,次元に対して2乗オーダーであることを示す.が真のクラスタを表す行列とする.ただし,行列は与えられている.をの列とすると,の列はと記述できる.の計算コストはが疎であることからに線形になる.の関係を使えばは次のように書ける.
は計算結果が行列であることを表し,はが疎であることから効率的に計算ができる.の計算コストはになる(の仮定が成り立つ場合には).
Learning deep models
ここまで議論してきた手法を使ってニューラルネットを学習する.まず,ミニバッチの行列表現をとする.ただし,,つまりオリジナルのデータをニューラルネットで変換して得られた特徴ベクトルを並べたものが.すると学習のための目的関数は次のように表現される.
が教師データで,この目的関数は微分が可能であるためニューラルネットはbackpropを使って学習が可能.さらにこの方法の良いところはがの場合に限らず,例えばKLダイバージェンスを使った確率分布の分割が目的の場合にはニューラルネットの最終層にsoftmaxを使うことでは次元の単体上に構成することができる.
まとめ
今回証明までは読めてないのでなんとも言えない部分が多くなってしまった.とりあえずニューラルネットを使った非線形の変換をgraph-based clusteringの枠組みに持って行って,離散最適化問題を緩和することでうまいことbackpropの枠組みに落とし込んだというのが大体の流れ.特に目的関数の勾配がclosed-formに求まることが論文の推しでこの界隈で初めてのアプローチと言っていた.
なんとなくgraph-based clusteringとDNNはもう少しいろんなことに使えそうな気がするけど意外と論文は多くない気がする.