元ネタ: Tzeng and Saenko, Simultaneous Deep Transfer Across Domains and Tasks, 2015, ICCV 2015
figure 1. Deep Domain Confusionのダイアグラム
Tzengの前の論文では,source domain での分類と並行して,sourceとtargetに対して生成する表現が似てくるように学習させるため,confusion loss
MMD(Xs,XT)=∥1∣Xs∣∑xS∈XSϕ(xs)−1XT∑xt∈XTϕ(xt)∥
をも最適化するように学習させた(fig.1).しかしdomain同士の表現が似ていてもそれぞれの内部でdecision boundaryが似ているかは別の話だから,この論文では表現の構造のみならずsource domainのラベルの構造をtarget domainに変換する.変換にはtarget domainにいくつかラベル付きの点が必要だから,unsupervised domain adaptationに直接適用することはできない.
figure 2. Simultaneous Deep Transferのダイアグラム
domain confusionによって表現を似せる
インプットからfc7までを,表現を生成するネットワークGとし,Gの出力する表現θreprがsource domainから来たのかtarget domainから来たのか区別するネットワークfcDを構成する.fcDは通常のnegative log likelihoodによって最適化する.つまり損失関数は
LD(xS,xT,θrepr;θD)=−∑d∈{source, target}1[yD=d]logqd
ただしθDはfcDの重みで,qdはfcDの結果のlogit.
さらにfcDを騙すようにGを最適化する(adversarial learning).損失関数は
Lconf(xS,xT,θD;θrepr=−∑d1Dlogqd
sourceからtargetへのクラス構造のadaptation
通常ニューラルネットワークの(Kクラスの)クラス分類では,最終層にK個のニューロンを配置し,その出力にsoftmaxをかけてそのargmaxに対応するクラスをそのネットワークの推測とするわけだが,ここではsoftmaxの出力そのものに様々な操作を行っていく.
特に,あるクラスに対応するデータ点全てのsoftmaxの出力の平均を"soft label"と定義する(fig.3).ただし通常のsoftmaxはピークが強調されすぎるので,softmaxの温度τを高くする.
softmax(k)τ(x)=exp(x(k)/τ)∑jexp(x(j)/τ)
figure 3. soft label概念図
これによってsource domainにおける各くらすにおけるsoft labelが計算できる.これらのsoft labelに対して,ラベル付きのtarget domainの点{xT,yT}に対して損失関数を
Lsoft(xT,yT;θrepr,θC)=−∑il(yT)ilogpi
とする.ただしpはxTに対するsoft activation, liはsource domainのクラスiに対応するsoft label,
この損失というのはtargetのsoft activationとsourceのsoft labelの,targetクラスにおけるcross-entropyに等しい(fig.4).
figure 4. soft loss
以上のlossを最適化する.
結果
0 件のコメント:
コメントを投稿