Edges+Shoes
Hessian Penalty
(Fine-Tuned)
Hessian Penalty
InfoGAN
Vanilla
William Peebles John Peebles Jun-Yan Zhu Alexei Efros Antonio Torralba |
|
|
|
|
|
|
|
|
Below, we show all z components learned by (1) ProGAN fine-tuned with the Hessian Penalty, (2) ProGAN trained from scratch with the Hessian Penalty, (3) ProGAN trained with InfoGAN loss and (4) vanilla ProGAN. Each row corresponds to varying a single z component from -2 to +2, leaving the remaining ones fixed. Different columns in the same row re-sample the fixed z components. All models were trained with 12-dimensional latent z vectors---with the exception of CLEVR-U which used |z|=3---hence why there are 12 rows. These results are not cherry-picked.
Edges+ShoesHessian Penalty Hessian Penalty InfoGAN Vanilla |
CLEVR-SimpleHessian Penalty Hessian Penalty InfoGAN Vanilla |
CLEVR-1FOVHessian Penalty Hessian Penalty InfoGAN Vanilla |
CLEVR-UHessian Penalty Hessian Penalty InfoGAN Vanilla |
CLEVR-ComplexHessian Penalty Hessian Penalty InfoGAN Vanilla |
Below, we show several linear z-space directions learned via the Hessian Penalty. These directions are learned in BigGAN trained on ImageNet.
| |
| |
| |
| |
We released portable implementations of the Hessian Penalty in and TensorFlow for your use in your code bases. They can be used with just one line of code.
| |
W. Peebles, J. Peebles, J.-Y. Zhu, A. Efros, A. Torralba The Hessian Penalty: A Weak Prior for Unsupervised Disentanglement. In ECCV, 2020 (Spotlight). arxiv |
Acknowledgements |