Minibatch Discrimination

概要

Minibatch Discriminationは、GANなどで主に見られるMode Collapseのような問題に対して、複数枚の画像同士が似ているかのスコアをDiscriminatorに与えることで回避する.
Facebookシェア Twitterツイート LINEで送る このエントリーをはてなブックマークに追加
この章を学ぶ前に必要な知識
0
効果
  • Mode Collapseの問題を緩和する
ポイント
  • Feature Matchingよりよい結果になりやすい
  • 1バッチの中の複数の画像が似ているかどうかのスコアを計算してDiscriminatorに与える
  • Discriminatorには上記のスコアからfakeかrealかを見分けるヒントになる.

解 説

Minibatch Discriminationは、GANなどで主に見られるMode Collapseのような問題に対して、複数枚の画像同士が似ているかのスコアをDiscriminatorに与えることで回避する. Discriminatorの上流の情報をコスト関数に含むようにしているFeature Matchingよりよい改善をすると言われている.
Minibatch Discriminationとは
Minibatch Discriminationの計算は以下のような手順で行う. ある画像とそれ以外全ての画像との差分を計算する箇所がある.それによって画像同士が似通っていないかを求めている. B次元は出力の次元数. 1. 1バッチの中にn枚の画像が含まれていて、それらを通したDiscriminatorの中間層で\(A\)次元の\(f(x_i)\)がn個得られている. 2. テンソルT(\(A\times B\times C\))を\(f(x_i)\)それぞれに掛け合わせて\(M_i\)を得る. 3. \(M_i\)の\(b\)行目に関してある画像とそれ以外の各画像同士の差分をL1ノルムで計算して(\(c_b \))その指数を足し合わせる.\(j\)は\(i\)以外の画像をさすときに用いている. $$c_b(x_i,x_j) = e^{-||M_{i,b} - M_{j,b}||_{L1}} $$ $$o(x_i)_b = \sum_{j=1}^{n}c_b(x_i, x_j)$$ 4. 上記の\(o(x_i)_b \)をまとめて、それぞれの画像を入力としたときの出力とする. $$o(x_i) = [o(x_i)_1,o(x_i)_2, \cdots, o(x_i)_B ]$$
Minibatch Discriminationの計算
元論文へのリンクを貼っておきます.
Minibatch Discriminationの概要図
この章を学んで新たに学べる
Comments

Reasons
>>隠す