动机
- 图像-文本匹配连接了视觉和语言,其关键的挑战在于如何学习图像和文本之间的对应关系;
- 现有的工作基于对象共现统计学习粗对应关系,而没有学习细粒度的短语对应关系。
贡献
- 提出了一种图结构匹配网络(GSMN),该网络明确地构造图像和文本图结构,并通过学习细粒度的短语对应进行匹配,是第一个在异构的视觉图和文本图上执行图像文本匹配的框架;
- 第一个利用图卷积层传播节点对应关系,并利用它来推断细粒度的短语对应关系的工作。
VAE
方法需要平衡解纠缠能力和生成能力,且学习到的潜在表示的边际分布使得优化过程隐式且复杂;GAN
的生成能力更强,但目前对于GAN
在无监督解纠缠任务中关注较少。GAN
的基于one-hot
采样和正交正则化的解纠缠框架。该框架提出一个交替的one-hot
采样,通过将一个one-hot
向量作为潜在表示来强制排他性,并鼓励每个维度捕获不同的语义特征,同时不牺牲潜在空间的连续性,并对模型权重采用正交正则化来更好的实现解纠缠的目的;VAE
的方法(如beta-vae
、factor-vae
)主要通过正则化总相关性来促进不相关性,以牺牲图像质量来获取更好的解纠缠分数,而GAN
的方法(如infogan
)通过增加隐编码的输入,并对损失函数增加一个额外的正则化来促进信息性,尽管样本质量更好,但解纠缠分数较低,这导致在GAN
网络上的解纠缠进展较慢;GAN
的架构InfoGAN-CR
,它增加了一个对比正则化器,它结合了自监督和解纠缠的自然方法:潜在遍历;ModelCentrality
,它基于一个假设:良好解纠缠的模型是相近的,其相近程度由一种解纠缠度量方法来度量。文章对这个假设进行数值验证并将ModelCentrality
定义为在这个解纠缠度量下的一系列模型的多维概化,它根据与其它模型的相近程度定义自监督标签,为每个模型分配相应的分数;VAE
和GAN
方法,文章在不使用监督数据的情况下显著提升了解纠缠的分数。当图像的变化因子被解纠缠,它的表征可以被用来开发各种计算机视觉任务,在图像级别可以实现属性的转移,在特征层可以用来做图像检索或者分类;
之前的解纠缠方法,如autoencoder
,GAN
相关的一些方法,通常使用手动注释,来自训练数据的标签信息或者外部模型的指导;
InfoGAN
不包含编码阶段,不能将输入图像恢复为解纠缠的表征,更不能进行属性交换与融合;对于beta-VAE
,DIP-VAE
则建立在VAE
的基础上,通过KL
散度约束变化因子前后分布之间的相似性,同时特征块是一维的。MNIST
、Sprites
和CelebA
数据集上证明了本文方法的有效性。2020-10-14 update
beta-VAE metric
,factor-VAE metric
,MIG
,SAP Score
,DCI
2020-12-22 update
Modularity
,Locatello
论文方法设置
本文是基于Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations的论文和NeurIPS2019 Disentanglement Challenge对连续的解纠缠方法的度量方法,主要对相应的评测方法的原理进行简单讲解,文章分别提到了beta-VAE metric
、factor-VAE metric
、MIG
、SAP Score
、DCI
、Modularity
和IRS
。
Distributed Data-Parallel Training(DDP)
模型被复制到每个进程中,其中每个模型副本获得一组不同的输入数据样本,
DDP
主要负责梯度通信,保持模型副本同步,并将其与梯度计算重叠,以加快计算速度。
单机多gpu
训练DataParallel
易于使用,但单进程多线程的特性容易受到
GIL
的限制,速度较慢且容易出现显存不均匀等问题
1 | import torch |
单机多gpu
训练DistributedDataParallel
通过
MPI
实现CPU
通信,通过NCCL
实现GPU
通信,自动将代码分配给多个进程,分别在多个gpu
上运行。
1 | import torch |
1 | # 在执行时,需要调用启动器启动,在执行过程中启动器将当前进程的index传递给python |
也可使用torch.multiprocessing
来替代这个启动器,见下文。
TorchElastic
为了避免多进程时,由于某个进程出现故障导致不同步或者崩溃等,若预计在训练过程中会发生故障或者资源会动态离开或者加入,则可使用
torchelastic
。