機械学習とかコンピュータビジョンとか

CVやMLに関する勉強のメモ書き。

ELASTIC-INFOGAN: UNSUPERVISED DISENTANGLED REPRESENTATION LEARNING IN IMBALANCED DATAを読んだのでメモ

はじめに

ELASTIC-INFOGAN: UNSUPERVISED DISENTANGLED REPRESENTATION LEARNING IN IMBALANCED DATAを読んだのでメモ.

気持ち

InfoGANがclass-imbalancedなデータに対してうまく(離散の)潜在表現をdisentangleできないという課題に注目し,この論文ではその原因をデータがクラスごとに偏りがないという仮定に基づく潜在変数の事前分布の設定によるものとしている.なのでデータの分布自体を推定パラメータとして扱うことで解決しようというもの.さらにある画像と同じ潜在表現を持つはずの画像に対して同じ潜在表現を割り当てるようにするため,indentity-preseving transformationを用いた正則化を提案.

注意として,infoGANでは連続の潜在表現のdisentangleも行なっていてたがこの論文では離散の表現のみに着目してる.

Approach

\mathcal{X}=\{x_1,\dots,x_N\}k個の異なるクラスを持つラベルなしのデータセットとする.また,クラスの偏り方に関する情報は与えられないものとする.目標は物体のカテゴリのdisentangleされた表現を学習可能な生成モデルGを学習することと,生成過程を通して真の偏ったクラス分布を推定すること.

InfoGAN

元となるInfoGANは潜在変数cとそこから生成された画像G(z,c);z\sim P_\text{noise}(z)間の相互情報量を最大化することで潜在表現をdisentangleするモデル.実際には相互情報量I(c,G(x,z))は基本的なGANを学習する上での正則化として使われる.相互情報量は一般的に計算にP(c|x)が必要とされ,扱いにくいことが多く,InfoGANではP(c|x)を追加のニューラルネットQ(c|x)で近似することでI(c,G(c,z) )の下限を利用して学習を行う.この時の目的関数は次のようになる.

\displaystyle
\min_{G,Q}\max_DV_\text{InfoGAN}(D,G,Q)=V_\text{GAN}(D,G)-\lambda_1L_1(G,Q)\\
L_1(G,Q)=\mathbb{E}_{c\sim P(c),x\sim G(z,c)}[\log Q(c|x)]+H(c)

DはdiscriminatorでH(c)は潜在変数が従う分布のエントロピー.離散の潜在変数を考えた場合,InfoGANではクラス数kに対してc\sim Cat(K=k,p=1/k)というカテゴリカル分布を潜在変数の事前分布として学習を行う.そのためエントロピーの項は定数として扱うこととなる.

Elastic-InfoGAN

class imbalancedなデータにおいては上記の一様な分布を仮定することは不適切であるため,ここでは潜在変数の従う分布のパラメータを学習可能なものとし,さらに潜在変数と生成画像の普遍性を導入するためのidentity-preserving transformationを導入する.

Learning the prior distribution

事前分布のパラメータpを学習可能とするため,こkではInfoGANにGumbel-Softmaxを導入する.Gumbel-Softmaxはp_1,\dots,p_kをクラス確率とした時次のようなk次元ベクトルc微分可能な表現でサンプルする.

\displaystyle
c_i=\frac{\exp((\log(p_i)+g_i)/\tau)}{\sum_{j=1}^k\exp((\log(p_j)+g_j)/\tau)}

g_i,g_jはガンベル分布Gumbel(0,1)からのサンプルで\tauは得られたベクトルのエントロピーを調整する温度係数.Elastic InfoGANは非常に単純でInfoGANのカテゴリカル分布に対するパラメータを学習可能なパラメータとして置き換えるだけ.

一方で,この離散変数を用いてunsupervisedなクラスタリングを行なった際期待するカテゴリとは違う分類を行う場合がある.その例が論文のFig 3に載せられているが,MNISTの場合数字ごとにクラスタリングを行なって欲しいが数字の傾き具合でクラスタリングが行われてしまっている.

Learning object identities

上記の問題を回避するため,InfoGANにさらなる改良を与える.モデルがlow-levelな要因(ここでは回転や文字の太さ,証明変化などを例としている)ではなくhigh-lebelな情報に焦点を当てるように実画像に対してidentity-preservingな変換を与え,これらの変換に対しQ(c|z)が普遍となるような学習を行う.semi-sueprvisedの文脈ではconsistency regularizationとしてよく知られた正則化ではある.

実画像x\sim P_\text{data}(x)に対して変換\deltaを行い新たな画像x'=\delta(x)を得る.これに対して次のような損失を計算する.

\displaystyle
L_\text{trans}(Q)=\mathrm{d}(Q(c_x|x),Q(c_{x'}|x') )

\mathrm{d}は距離関数で,この損失を最小化することで,\deltaで表現可能なlow-levelな情報に関してQ(c|x)が普遍となり,論文のFig 3で見たような回転具合でのdisentangle等が起きなくなるという主張.ただ,理想的にはQは低いエントロピーを持つべきであるが.このまま学習してもエントロピーが高くなってしまう(正直なんで高くなるか論文の言っていることがよくわからなかった).なので次のエントロピーに関する項も損失に加える.

\displaystyle
L_\text{ent}(Q)=\mathrm{s}(Q(c_x|x) )+\mathrm{s}(Q(c_{x'}|x') )

Gumbel-softmaxを利用して計算されるL_\text{trans}L_\text{ent}を加えた以下の目的関数をElastic-InfoGANの目的関数とする.

\displaystyle
\min_{G,Q}\max_D L_\text{final}=V_\text{InfoGAN}(D,G,Q)+\lambda_2L_\text{trans}(Q)+\lambda_3L_\text{ent}(Q)

まとめ

2,3腑に落ちない部分があったが実験的にInfoGANよりは結構よくなってる模様.Gumbel-softmaxに置き換えただけでdisentanglementの質が上がっているという実験結果が示されているが,個人的には分布を推定できたことというより離散から連続へ表現が拡張されたからな気がする.