AutoEncoder(AE)は一般に砂時計の形をしたNNで,入力の次元よりも小さい次元に一旦情報を落とし込み(code),また元の次元の情報を再構成する.再構成された情報と元の入力の誤差によって学習を行うため,self-supervisedな学習と言われる.AEによる次元削減を利用してクラスタリングを行うことができる.もとのデータが高次元過ぎるとk-meansのような伝統的なクラスタリングアルゴリズムがうまく動かないので,低次元な空間に写してクラスタリングを行うのである.直感的には移した先の空間で従来のクラスタリングを行うのが簡単だが,アルゴリズムの途中でNNのパラメータを更新するアルゴリズムもある.今回はAEによるクラスタリングについての3本の論文を読む.
以下,データセットを{x1,...,xn}=X⊂RDXとし,AEによってそれぞれの元は{z1,...,zn}=Z⊂RDZに写されるとし,その写像をϕWと書き,クラスターの数をKとする.
I. Unsupervised Deep Embedding for Clustering Analysis, 2016
1. parameter initialization
深いAEを学習させるため,すべての層を同時に学習させるのではなく,それぞれの層を取り出して隠れ層1のAEとして学習させ,あとで結合させる学習法をStacked AutoEncoder(SAE)という. この論文ではSAEによってfully connectedなAEを学習させて,ϕWの初期値を決定している.
{zi}n1={ϕW(xi)}n1を得て,さらにk-meansで{zi}のセントロイドの集合{μj}K1を計算する.
2. optimization
(1) soft assignment
ziがセントロイドμjに属している確率qijをt分布によって以下のように計算する.(α=1に統一)
qij=(1+‖zi−μj‖2/α)−α+12∑j′(1+‖zi−μ′j‖2/α)−α+12
(2) KL divergence minimization
auxiliary target distribution Pを導入する. Pは真の分布に近いと仮定されており,本アルゴリズムがやることはsoft assignmentとPを合致させることであって,そのために,soft assignment QとPのKL divergenceを目的関数として最小化する:
L=DKL(P||Q)=∑i∑jpijlogpijqij
Pの選び方は難しい問題で,論文内では
pij=q2ij/fj∑j′q2ij′/f′j, fj=∑iqij (soft cluster frequency)
としている…
∂L∂zi=α+1α∑j(1+‖zi−μj‖2α)−1
∂L∂μj=−α+1α∑i(1+‖zi−μj‖2α)−1×(pij−qij)(zi−μj)
が成立し,これをNNに渡してbackpropagationすることでNNをも同時に更新でき,新しいZの点{zi}とセントロイド{μj}が計算できる. NNを更新しない場合.つまり{μj}だけを更新する場合,NNを更新する場合よりも性能が下回る.
データ点のクラスター間の変動が,総データ数nのtol %を下回ったら計算を打ち切る.
II. Deep Clustering with Convolutional Autoencoders, 2017
Iの自然な拡張. AEをCovolutional AutoEncoderに変更し,空間的な情報をより活用できるとしている. Poolingではなくstrided convolutionによってencodeし,strided transposed convolutionによってdecodeしている.
また,I.ではdecoder部分は削除していたが,この論文では残し,objective functionにreconstruction lossを加えて,code部分が空間情報を再構成するための情報を保存するようにしているこれによって,単にAEをCAEに変えただけの場合よりも性能が向上している.
III Deep Clustering via Joint Convolutional Autoencoder Embedding and Relative Entropy Minimization
(I, IIと揃えるため,auxiliary distributionをP, それに近づけていくモデル分布をQとする)
このアルゴリズムはモデルの分布Qに近く,事前分布を満足するPを推定(expectation step)してから,Pに近づくようにモデル分布Qを更新する(maximization step).
RdZをRKに移す写像fθを
fθ(z)=exp(θTkzi)∑k′exp(θTk′zi)
と定める.このとき,xiがクラスターjに属する確率をfθ(zi)とする.つまり
qij=P(yi=j|zi,θ)=exp(θTkzi)∑j′exp(θTjizi)
である.ただしθ=[θ1,...,θk]∈Rdz×K,fθ:Z→Y⊂RK .
fθとϕWによってこのモデルの分布Qθ,Wが決まる.auxiliary distribution Pを用意すると,KL divergenceは
DKL(Q||P)=EQ[logQ(X)/P(X)]=1NN∑IK∑jpijlogpijqij
また,殆どのデータ点を一つのクラスターに入れてしまうような解を避けるため,regularization項を追加する.そのため,Pのラベルの頻度分布fj=1N∑ipijと,事前知識から得られるラベルの一様分布u(ここでは一様分布)を定義して,
L=DKL(P||Q)+DKL(f||u)=1NN∑iK∑j[qijlogqijpij+qijlogfjuj]
と目的関数を定める.Lを最小化するPは
pij=qij/(∑i′qi′j)1/2∑j′qij′/(∑i′qi′j′)1/2
さらにQを更新するための目的関数は通常のクロスエントロピーと同じ
−1N∑i∑jpijlogqij
で,backpropagationによってNNのパラメーターを更新できる.
DEPICT
decoderとパラメータを共有する2つのAEを用意し,片方(corrupted pathway)にはノイズをかけた画像,もう一方(clean pathway)にはクリーンな入力を与える. パラメータの更新はもっぱらclean pathwayで行う(更新の結果はcorrupted pathwayにも適用される). corrupted pathwayがQを計算することでより頑強な分布Qを得られ,clean pathwayがPを計算し,パラメータ更新をすることでより精度の高いauxiliary distributionを得られるとしている.
NNの目的関数はl=0,..L−1をAEのl層として
1N∑i∑jpijlog~qij+1N∑iL−1∑l=01|zli|‖zli−ˆzli‖2
とし,backpropagationによってパラメータを更新する.
IV 性能比較
accuracy/normalized mutual information | MNIST-FULL | USPS |
---|---|---|
DEC | 0.844/0.816 | 0.702/0.693 |
DCEC | 0.890/0.885 | 0.790/0.826 |
DEPICT | 0.965/0.917 | 0.964/0.927 |
DCECはその論文から,DECとDEPICTはDEPICT
0 件のコメント:
コメントを投稿