- @ThothChildren
- 2018.12.4
- PV 218
Minibatch Discrimination
ー 概要 ー
Minibatch Discriminationは、GANなどで主に見られるMode Collapseのような問題に対して、複数枚の画像同士が似ているかのスコアをDiscriminatorに与えることで回避する.
この章を学ぶ前に必要な知識
効果
- 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