阅读的是 ECCV2020 的一篇有关 Disentangled Representation Learning 学习的文章:

Learning Disentangled Representations with Latent Variation Predictability. [paper]

本文提出了 Variation Prediction (VP) 的概念,并基于 InfoGAN 提出了 VPGAN 的架构,
最后还提出了一种新的 Metrics: Variation Prediction Disentanglement Metric。 个人认为,这篇文章
的唯一亮点在于提出了 Variation Prediction 的概念,而作者提出的 VPGAN 仅仅是 InfoGAN 的一种变形,
提出的 Metrics 也没有贴合 VP 的概念,存在非常多的不足。

Main Contents

Variation Prediction

作者将 variation predictability (VP) 定义为: 预测一对 image 改变的 latent dimension 的难易程度
而难易程度由需要的训练样本的数量决定,需要的样本数量越小,则越容易预测。
(但是我比较难以理解作者为什么说 VP 越大越容易,其实直接将 VP 定义需要的样本数不是比较自然吗?)

接下来作者的考虑就几乎和 InfoGAN 完全类似了:

作者采取了常见的最大化互信息量的方法将 VP 融入训练,即最大化一对 image pair 和二者唯一改变的 latent dimenstion:
I(x1,x2:d){\mathbf{I}(\boldsymbol{x}_{1}, \boldsymbol{x}_{2}: \boldsymbol{d})},带入 GAN 的对抗损失,整体的 loss 变为:

minGmaxDVvp(G,D)=V(G,D)αI(x1,x2;d){ \min_{G} \max_{D} V_{vp}(G, D) = V(G,D) - \alpha \mathbf{I}(\boldsymbol{x}_1, \boldsymbol{x}_2; \boldsymbol{d}) }

loss 的近似上怎么计算?还是采用 InfoGAN 的思路:

{ }

于是,很容易可以想到作者在模型的架构上就是又加了一个 Q,Q 输入一对 image 预测二者改变的 latent dimension。
和 InfoGAN 不同的是,由于输入变成了一对 image, Q 不能和 D 进行参数共享。

Variation Prediction Disentanglement Metric

简述下作者提出的 VP Disentanglement Metric 如下:

  1. 随机采样维度 d1,d2,,dn{d^1, d^2, \cdots, d^n}.
  2. 随机采样 N 对 latent codes, 每对之间仅有相应的 di{d^i} 维度改变。
  3. 根据 latent codes,得到 N 对图像,每对图像做差,由此构建数据集: {(Δx1,d1),,(Δxn,dn)}{\left\{ (\Delta x^1, d^1), \cdots, (\Delta x^n, d^n) \right\}}.
  4. 根据以上数据集,训练网络由 Δxi{\Delta x^i} 预测 di{d^i},重复 S 次,报告测试集上的平均预测准确率。

很显然,作者的思路非常直接,但是存在非常明显的问题:

  1. 没有表现出分类的难易程度的区别,和 VP 的定义背道而驰。
  2. 直接使用 image pair 之差也太虎了,使用 perceptual feature 之差还更加合理,在合成数据集上可能 work ,但在真实数据集上可能并不。作者的说辞是 “enforces the model to focus on difference features in data caused by the varied dimension rather than contents in the images”,但并不太能说服我。
  3. 最严重的问题是:它检测了个啥,这中间使用了学习到的表示吗?它检测的难道不是 G 的生成能力?