8.4 EfficientGAN

AnoGAN では、推論時に $z$ の探索を勾配法を用いて行うため、遅くなるという問題があった。すなわち、画像から潜在変数への逆写像ができない点が問題である。

画像から潜在変数へのマッピングを行う Encoder を、Generator と Discriminator の学習時に作成することで改善できる。

ノイズ $z$ から画像を生成するときに同時に画像から$z$を生成するというアイディアは BiGAN (Bidirectional GAN) で既に提唱されている。したがって、EfficientGAN は BiGAN を異常検知分野に適用したものといえる。

EfficientGAN

損失関数:

$\displaystyle V(D,E,G) = \mathbb{E}_{x \thicksim px}[ \underbrace{ \mathbb{E}_{z \thicksim PE(\cdot | x)} [ \log D(x,z) ] }_{\log D(x, E(x))} ] + \mathbb{E}_{z \thicksim pz}[ \underbrace{ \mathbb{E}_{x \thicksim PG(\cdot | z)} [1 - \log D(x,y)] }_{\log (1 - D(G(z),z))} ]$

Encoder と Generator は損失関数を最小化しようとし、Discriminator は最大化しようとする。

本物のペア $(x,E(x))$ について

偽者のペア $(G(z), z)$ について

実装

データのダウンロード Fruits 360 dataset

100x100 ピクセルの解像度で、81種類の果物カラー画像。

https://md-datasets-cache-zipfiles-prod.s3.eu-west-1.amazonaws.com/rp73yg93n8-1.zip

データの読み込み

Model

train

Latent Z optimization and Test anomaly detection

正常な画像