0%

动机

  • 图像-文本匹配连接了视觉和语言,其关键的挑战在于如何学习图像和文本之间的对应关系;
  • 现有的工作基于对象共现统计学习粗对应关系,而没有学习细粒度的短语对应关系。

贡献

  • 提出了一种图结构匹配网络(GSMN),该网络明确地构造图像和文本图结构,并通过学习细粒度的短语对应进行匹配,是第一个在异构的视觉图和文本图上执行图像文本匹配的框架;
  • 第一个利用图卷积层传播节点对应关系,并利用它来推断细粒度的短语对应关系的工作。
阅读全文 »

动机

  • 虽然解纠缠对下游任务的学习表示受到了质疑,但解纠缠对于人类可控数据生成、模型可解释性等等仍具有重要的意义;
  • 现有的VAE方法需要平衡解纠缠能力和生成能力,且学习到的潜在表示的边际分布使得优化过程隐式且复杂;
  • GAN的生成能力更强,但目前对于GAN在无监督解纠缠任务中关注较少。

贡献

  • 提出了一种基于GAN的基于one-hot采样和正交正则化的解纠缠框架。该框架提出一个交替的one-hot采样,通过将一个one-hot向量作为潜在表示来强制排他性,并鼓励每个维度捕获不同的语义特征,同时不牺牲潜在空间的连续性,并对模型权重采用正交正则化来更好的实现解纠缠的目的;
  • 发现了InfoGAN和类似结构的相关模型的一个弱点,文章将其归纳为竞争和冲突问题,并提出了一个模型结构的改变来解决它,此外,针对模型中生成部分的解纠缠问题,提出了一个新的度量方法。
阅读全文 »

动机

  • 设计解纠缠生成模型时,存在两个主要障碍:设计具有良好解纠缠性和良好样本质量的架构,和给定一个固定的架构,进行超参数调整和模型选择;
  • 对于第一个问题,VAE的方法(如beta-vaefactor-vae)主要通过正则化总相关性来促进不相关性,以牺牲图像质量来获取更好的解纠缠分数,而GAN的方法(如infogan)通过增加隐编码的输入,并对损失函数增加一个额外的正则化来促进信息性,尽管样本质量更好,但解纠缠分数较低,这导致在GAN网络上的解纠缠进展较慢;
  • 对于第二个问题,当前超参数调优的常见做法是通过交叉验证标记了真实潜在编码的数据集,即样本用已知的解纠缠的隐编码进行标记,这极大的限制了对于真实数据集未知标签的有效性。

贡献

  • 设计了一种新的解纠缠的GAN的架构InfoGAN-CR,它增加了一个对比正则化器,它结合了自监督和解纠缠的自然方法:潜在遍历;
  • 引入了一种新的基于自监督的模型选择方法ModelCentrality,它基于一个假设:良好解纠缠的模型是相近的,其相近程度由一种解纠缠度量方法来度量。文章对这个假设进行数值验证并将ModelCentrality定义为在这个解纠缠度量下的一系列模型的多维概化,它根据与其它模型的相近程度定义自监督标签,为每个模型分配相应的分数;
  • 实验证明比目前的VAEGAN方法,文章在不使用监督数据的情况下显著提升了解纠缠的分数。
阅读全文 »

动机

  • 当图像的变化因子被解纠缠,它的表征可以被用来开发各种计算机视觉任务,在图像级别可以实现属性的转移,在特征层可以用来做图像检索或者分类;

  • 之前的解纠缠方法,如autoencoder,GAN相关的一些方法,通常使用手动注释,来自训练数据的标签信息或者外部模型的指导;

  • 对于无监督的方法,如InfoGAN不包含编码阶段,不能将输入图像恢复为解纠缠的表征,更不能进行属性交换与融合;对于beta-VAE,DIP-VAE则建立在VAE的基础上,通过KL散度约束变化因子前后分布之间的相似性,同时特征块是一维的。

贡献

  • 提出一种完全无监督的方法(不使用任何注释或数据域的知识)来学习由变化的解纠缠因子组成的图像表征,它将特征向量分割成多个块,每个块代表一个变化因子,使得用户可以指定特征块去混合和分离图像属性;
  • 提出了一种新的不变性损失函数来鼓励对图像属性和特征块分别进行不变性编码和译码;提出了一种新的分类约束函数,确保每个特征块的表示的是被表示图像一致的且可识别的变化因子;
  • MNISTSpritesCelebA数据集上证明了本文方法的有效性。
阅读全文 »

2020-10-14 update beta-VAE metric, factor-VAE metric, MIG, SAP Score, DCI

2020-12-22 update ModularityLocatello论文方法设置

本文是基于Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations的论文和NeurIPS2019 Disentanglement Challenge对连续的解纠缠方法的度量方法,主要对相应的评测方法的原理进行简单讲解,文章分别提到了beta-VAE metricfactor-VAE metricMIGSAP ScoreDCIModularityIRS

阅读全文 »

本文是基于ClusterGAN的论文对离散的解纠缠方法的度量方法,从数学原理及相关的sklearn源码对相应的的评测方法的简单讲解,文章分别采用了标准化互信息(NMI)、调整Rand指数(ARI)和聚类纯度(ACC)。

ACC(Clustering Purity)

计算正确聚类的数占总数的比例

值在0~1之间,完全错误值为0,完全正确值为1.

数学公式

\operatorname{purity}(\Omega, C)=\frac{1}{N} \sum_{k} \max _{j}\left|\omega_{k} \cap c_{j}\right|

其中 \Omega=\left\{\omega_{1}, \omega_{2}, \ldots, \omega_{k}\right\} 表示聚类的集合,而 w_k 表示第 k 个聚类的集合; C=\left\{c_{1}, c_{2}, \ldots, c_{j}\right\} 表示真实的类别信息

阅读全文 »

基本介绍

Distributed Data-Parallel Training(DDP)

模型被复制到每个进程中,其中每个模型副本获得一组不同的输入数据样本,DDP 主要负责梯度通信,保持模型副本同步,并将其与梯度计算重叠,以加快计算速度。

单机多gpu训练DataParallel

易于使用,但单进程多线程的特性容易受到GIL的限制,速度较慢且容易出现显存不均匀等问题

1
2
3
import torch
gpus = [0,1,2,3]
model = torch.nn.DataParallel(model,device_ids=gpus,output_device=gpus[0])

单机多gpu训练DistributedDataParallel

通过MPI实现CPU通信,通过NCCL实现GPU通信,自动将代码分配给多个进程,分别在多个gpu上运行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import torch
import torch.distributed as dist

# 设置GPU之间通信使用的后端及端口
dist.init_process_group(backend='nccl')

# 对数据集进行划分,即将每个batch划分为几个partition
train_dataset = ...
train_sampler = torch.utils.data.distributed.DistributedSampler(train_dataset)
train_loader = torch.utils.data.DataLoader(train_dataset,sampler=train_sampler)

# 包装模型,将不同GPU上求得的梯度进行汇总并同步计算结果
model = ...
model = torch.nn.parallel.DistributedDataParallel(model, device_ids=list(range(torch.cuda.device_count())))
1
2
# 在执行时,需要调用启动器启动,在执行过程中启动器将当前进程的index传递给python
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 main.py

也可使用torch.multiprocessing来替代这个启动器,见下文。

TorchElastic

为了避免多进程时,由于某个进程出现故障导致不同步或者崩溃等,若预计在训练过程中会发生故障或者资源会动态离开或者加入,则可使用torchelastic

阅读全文 »

动机

  • 表示学习使机器学习模型能够解读数据中潜在的语义,并对隐含的变化因子进行解纠缠,使得对于不同的任务进行知识迁移变得可能,但是是什么让一种表征比另一种更好呢?
  • 在数据密集型领域中,表示学习的通用先验之一就是聚类,虽然聚类主要的重点是将原始数据分到类中,但如果在降维的过程中获得真实数据的低维数据流形更好;
  • 生成模型的许多应用是基于隐空间的,对于GAN隐空间的解纠缠使得GAN与缺乏可解释性的传统降维技术区分开来,即希望隐空间既要有聚类性,也要有良好的可解释性和插值能力。

贡献

  • 证明了虽然GAN的隐变量保留了观测数据的信息,但隐空间中的点是基于平滑分散的潜在分布,导致没有可观测的簇,即GAN的隐空间中并没有保留聚类的结构;
  • 提出了一种新的GAN的聚类框架ClusterGAN,通过从离散编码向量和连续编码向量的混合变量中采样隐变量,提出了一种新的处理离散-连续混合问题的反向传播算法,再结合特定聚类损失的逆网络,实现隐空间聚类;
  • 实验结果表明,GAN能够保留跨类别的隐空间插值,即使判别器并没有接触到这些向量,同时对于聚类任务有很好的结果。
阅读全文 »

动机

  • 流行的无监督学习框架-表示学习的目的是使用无标签的数据学习一个表示,以揭露重要的语义特征作为容易解码的因子,使得对下游任务有用;
  • 为了发挥作用,一个无监督的学习算法必须在不直接接触下游任务的情况下正确地猜测可能地任务集,出于对创建的观测数据需要的某种形式的理解,常希望生成模型自动学习解纠缠的表示;
  • GAN使用一个连续的输入噪声 z ,同时对生成器可能使用这种噪声的方式没有限制。因此,生成器可能会以一种高度纠缠的方式使用噪声,导致 z 的单个维度与数据的语义特征不一致。

贡献

  • 提出了一种无监督的GAN框架InfoGAN,通过最大化隐变量的一个子集与观测之间的互信息,推导出了可有效优化的互信息目标函数下界;
  • 实验表明InfoGAN学习的可解释性表示与现有的监督方法学习的表示具有竞争性。
阅读全文 »

动机

  • 学习与变化的潜在因素相一致的表征对于可解释的和人工干预的机器学习至关重要,且现在的方法从无监督的方法向弱监督方法转变,但目前还没有相关论文去确定弱监督在何时以及如何保证解纠缠,即对于不同形式的弱监督所提供的理论保证,并没有形式上的描述。

贡献

  • 提供了一种理论框架帮助分析弱监督学习方法所带来的解纠缠能力,即将弱监督学习形式化为扩展空间中的分布匹配;
  • 受到先前工作的启发,提出了一组可以处理相关因子的解纠缠定义,并由此提出了一种解纠缠的理论推导;
  • 利用提出的理论框架,通过实验分析了几种弱监督方法(restricted labeling,match-pairing,rank-pairing)的保证和局限性,表明虽然某些弱监督方法(如在风格内容解纠缠中的风格标签)不能保证分离,但通过多个弱监督源结合时,本文的推断是可以保证解纠缠的。
阅读全文 »