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はもう少しいろんなことに使えそうな気がするけど意外と論文は多くない気がする.