©PaperWeekly 原创 · 作者|葛云浩、辛干

学校|南加州大学(USC)

研究方向|机器学习、计算机视觉

本文主要介绍我们被 ICLR 2021 会议录用的一篇文章,代码和预训练模型已经在 Github 上放出。

论文标题:

Zero-shot Synthesis with Group-Supervised Learning

论文链接:

https://openreview.net/pdf?id=8wqCDnBmnrT

代码链接:

https://github.com/gyhandy/Group-Supervised-Learning

数据集链接:

http://ilab.usc.edu/datasets/fonts

这项工作受启发于人脑的想象能力,比如人看到一辆红色的轿车&一辆蓝色的卡车,可以立即想象出一辆蓝色的轿车(即使没有见过)。

我们提出了一种区分于现有 learning paradigm 新的训练范式:组监督学习 (Group-Supervised Learning),通过可控的解耦表征学习(controllable disentangled representation learning)模拟人脑对知识的因式分解和自由组合,从而实现模拟人脑的想象能力。

Group-Supervised Learning 可以通过非常简单的自编码器(Autoencoder)来实现,训练过程只需要 reconstruction loss,简单易收敛,可以实现高质量的 zero-shot synthesis。

一张图概括我们做的事情:Group-Supervised Learning 可以将输入图片(bottom images)进行可控的解耦(controllable disentanglement)并表示为可以自由组合的不同属性(比如车的种类,姿态,背景;人的样貌,姿势,表情),然后通过属性的自由组合生成新的图片。

▲ 图1 Group-Supervised Learning 零镜头生成(zero-shot synthesis)效果

下面我将详细介绍工作的具体内容。

研究动机

灵长类动物(人类)往往在泛化的任务(generalization task)上表现很好,当看到一个物体,他们可以立即想象出同一个物体在不同属性时的样子,比如不同的 3D pose [1],即使他们从未见过。

我们的目标是赋予 AI 智能体(machines)相似的能力:zero-shot synthesis。我们认为,人类有一个非常重要的能力来帮助想象,那就是将所学的知识进行因式分解并重新组合

比如图 2 中,我们可以把见过物体的颜色和轮廓进行分解(蓝莓和跑车),然后通过重新组合想象出未见过的物体(蓝色的跑车)。对于 AI 智能体,我们可以用神经网络模拟知识的因式分解过程吗?

我们给出的答案是可以利用可控的解耦表征学习(controllable disentangled representation learning)。我们提出的新的学习框架:组监督学习(Group-Supervised Learning)可以帮助这个过程的实现。

▲ 图2 可控的解耦表征学习模拟知识因式分解

提到解耦表征学习(disentangled representation learning),大家首先想到的应该是变分自编码器(VAE),VAEs 可以用无监督学习(unsupervised learning)的方式通过添加 KL divergence loss 对隐空间的分布进行约束,间接地实现隐空间的解耦表征。

然而,在没有数据标签的无监督情况下,VAE 很难控制解耦的过程和结果(比如隐空间是如何划分的,用隐空间中的哪几维存储哪个特定的属性信息)。有监督的学习方法中算法可以获取图片的属性标签,大多数采用基于 GAN 的生成方法,比如 StarGAN [2] 和 ELEGANT [3],他们可以实现属性可控的图像生成,但生成多是局部属性或 texture 的改变,训练过程和实现较为复杂且不易稳定。

为了解决上述问题,我们提出了一种新的学习范式:组监督学习,实现全局多属性可控的图像生成,而且保持全局语义信息的一致(比如转动汽车姿态时作为背景的公路方向会跟着一起转动)。组监督学习的实现可以采用简单的自编码器,而且整个训练只需要 reconstruction loss,稳定且收敛快。

▲ 图3 解耦表征学习以及属性可控的图像生成方法比较

问题定义和解决方法

要实现属性可控的解耦,关键在于如何达到可控,也就是我们要精确控制每个属性信息的流动过程。利用数据的属性标签进行监督是必要的,但监督过程是仁者见仁的:是将数据集中的每个样本单独使用?还是将每个样本的属性以及属性关系进行有机的表示?

我们选择了后者,所谓组监督学习,字面理解就是每次输入的是一组样本,一组内部关系得到有机表示的样本,通过在隐空间中的属性信息交换(swap)和组合(recombination),挖掘样本之间的相似性(similarity mining)作为监督信息,达到可控的解耦表征。

▲ 图4 组监督学习将数据集表示为Multi-Graph

如图 4 所示,给定一个数据集以及每个样本的属性标签(以 Fonts dataset [4] 为例,每张字母图片都有五个属性:字母,大小,字母颜色,背景颜色,字体),我们将其表示为 Multi-Graph,Graph 中的点表示数据集中的不同样本,边表示样本之间共享的属性标签(比如两个样本具有相同的字母颜色,就会有一条 Font color 的边连接两个样本),我们称之为 Multi-Graph 的原因是点之间共享的属性标签可能有多个,所以区别于传统 graph(两点之间只有一条边),Multi-Graph 的两点之间可以有多条边,且边的数目是由两点之间共享属性的数目决定的。

将数据集表示为 Multi-Graph 的原因是希望能更好的挖掘数据之间属性的异同,从而更好的指导属性可控的解耦表征学习

接下来我们提供了组监督学习基于自编码器的一种实现 Group-Supervised Zero-shot synthesis Network (GZS-Net),以 ilab-20M [5] dataset 为例详细介绍实现可控解耦的训练过程

GZS-Net 的网络结构是一个简单的自编码器:包括一个编码器(encoder E)和一个解码器(decoder D)。输入是一个 multi-graph,损失函数由三部分组成,均为 reconstruction loss(pixels wise L2 / L1 loss):self reconstruction Loss,swap reconstruction 和 cycle swap reconstruction loss,三个损失项分别对应三个训练步骤:

Step 1 Self reconstruction

如图 5,一组图片以 Multi-Graph 的形式作为输入:其中红框中的图片为 x,蓝色框中的图片与 x 仅有一组属性值相同并由蓝色的边所表示,黑色框中的图片 x-bar 与 x 没有任何相同属性值。首先将每张图片输入到 ED 中按照自编码器的训练方式用 reconstruction loss 训练 GZS-Net。这个步骤可以看作是一个正则项,保证输入的图片所有的信息都可以被 E 编码到 latent vector 中,避免信息丢失。

▲ 图5 Self reconstruction 步骤

接下来,为了实现可控的解耦,我们先在 latent vector 中预定义每个属性的编码位置:红色编码(储存)identity 信息,黄色编码姿态信息,绿色编码背景信息。然后通过接下来 Step 2 和 Step 3 的基于 multi-graph 的属性交换与约束实现预定义的可控解耦。

Step 2 One Overlap Attribute Swap

如图 6(a),从 multi-graph 中取一条属性值为 id 的边,将边连接的两个 id 属性相同的图片分别通过 E 得到他们的 latent vector,然后我们将他们相同的属性(id)预划分的区域(红色)进行交换,得到两个新的 latent vector,并将他们分别通过 D 生成两张新的图片。因为我们希望红色部分编码 id 的信息而两张图又具有相同的 id,所以交换 id 部分过后生成的图片应该与原图相同,所以我们用 reconstruction loss 进行约束。

相似的,我们接着取属性为姿态(图6 b)和背景(图6 c)的边,将他们连接的点做同样的操作:编码,交换相同属性值区域,约束生成的图片与原图相同。这一过程利用 multi-graph 图片之间的关系,使网络学习如何挖掘图片之间 high-level 属性的相似性,并通过交换实现可控的解耦表征。Note:在这一步,我们需要 swap 所有 attribute 对应的 latent 区域,即红,黄,绿三部分都需要交换,以此来避免网络将所有信息存储到不被交换的区域来 cheat。

▲ 图6 One Overlap Attribute Swap 步骤

Step 3 Cycle Attribute Swap

最后一步是选取没有相同属性值的两张图片,通过 E 得到 latent vector 后,我们随机选取一个属性进行交换,生成两张没有 ground truth 的图片;然后我们再将他们通过 E 把刚刚交换过的属性再交换回来,约束两次交换后生成的图片与原始输入的图片相同。

这一步骤间接的约束了可控的属性解耦:如果中间步骤生成的图片质量很差,或者属性值不是预期的样子,第二次交换过后生成的图片会与 input 图片有较大差距。

▲ 图7 Cycle Attribute Swap 步骤

最后用一张图表示整个 GZS-Net 的训练过程。可以看到整个训练我们只用了 reconstruction loss,框架是基础的 Autoencoder,容易实现,训练稳定且收敛快。

▲ 图8 Group-Supervised Learning 的一种实现方法:GZS-Net 的训练过程

下图是算法的伪代码。Note:在 released code 中我们提供了一种更为简单的训练过程:在 Step 2 One-Overlap attribute Swap 时(1)不需要两张图片只有一个 attribute 相同,只要需要交换的 attribute 相同即可,其他 attribute 不做限制。(2)不需要有一张图片x出现在所有属性的交换过程中,不同属性之间可以选用不同的满足要求的图片。详情请见 code。

▲ 图9 Group-Supervised Learning 训练伪代码

实验和结果

(a) 定性实验

下图展示了在 ilab-20M 数据集上进行零镜头生成(zero-shot synthesis)的结果,我们希望解耦 ilab-20M 中的三个属性:车辆 id(identity),姿态和背景。在生成过程中,输入是每个目标属性的提供者,我们希望从每个属性提供者中提取目标属性值,并将它们重新组合,生成目标图片。

红色虚线框中展示的是我们的 GZS-Net 的结果,包括消融实验(ablation study)。可以看到生成的图像可以满足 query 式可控生成的需求,而且生成的场景能够保证语义的一致(当车辆作为前景进行旋转时,道路作为背景会跟着进行旋转)。

baseline 有两大类,一类是基于 GAN 的算法:StarGAN 和 ELEGANT,另一类是 Autoencoder+Direct Supervision(AE+DS)即直接在 autoencoder 的隐空间中加入对应属性分类器当作监督训练的模型。我们的输入图片的格式会根据不同 baseline 算法的生成步骤需求做出调整。

▲ 图10 Zero-shot synthesis 在ilab-20M数据集的表现

下图展示了在 Fonts 数据集上进行零镜头生成(zero-shot synthesis)的结果,我们希望解耦 Fonts 中的五个属性:字母,字体(Font Style),背景颜色,字母颜色和字母大小。同样生成时每一个目标 attribute 有一个提供者,我们希望从每个属性提供者中提取目标属性值,并将它们重新组合,生成目标图片。

红色虚线框展示的是我们的 GZS-Net 的结果;baseline 方法中还包括基于 VAE 的算法,在 β-VAE 和 β-TCVAE 的基础上做 Exhaustive Search(ES)使其适应controllable synthesis task(细节请见 paper)。

▲ 图11 Zero-shot synthesis 在Fonts数据集的表现

下图展示了在 RaFD [6] 数据集上进行零镜头生成(zero-shot synthesis)的结果,我们希望解耦 RaFD 中的三个属性:identity,pose 和 expression。

▲图12 Zero-shot synthesis 在RaFD数据集的表现

(b) 定量实验

第一个实验是用解耦属性之间的互相预测(co-prediction)来定量分析解耦表征的效果。为了分析解耦效果,我们会问以下问题:我们可以用 latent vector 中一个属性编码的信息来预测该属性的label吗?我们可以用它来预测其他属性的 label 吗?在完美解耦表征的情况下,我们永远会给第一个问题肯定的回答而给第二个问题否定的回答。

如下图,我们计算了模型关于属性的 confusion matrix:使用每个属性在 latent vector 中对应维度的信息预测所有属性的 label。一个完美解耦的模型应该接近 Identity 矩阵。我们的模型在对角线有比较高的准确率,在非对角线准确率较低。

▲ 图13 可控的解耦表征学习效果分析

第二个实验是在 Fonts 数据集(能提供所有可能的属性组合)中计算生成图像与  ground truth 之间的平均 MSE 和 PSNR 从而定量地分析生成图片质量。

▲ 图14 生成图像效果定量分析

第三个实验是把 Group-Supervised Learning 用作数据增强方法,看能否将原本 unbalance 的数据集增强为 balance 的数据集,并提升下游分类模型的准确率。可以看到数据增强效果明显好于传统的数据增强算法并提升了分类模型的准确率。

▲ 图15 GZS-Net作为数据增强算法提升分类模型效果

Fonts:一个新的开源数据集

Fonts 是我们开源的一个属性可控的 RGB 图像数据集,每张图片(尺寸为128*128)包括一个用五个独立属性渲染生成的字母,五个属性分别为:字母,大小,字母颜色,背景颜色和字体。

下图展示了一些例子。数据集包含了提出属性的所有可能的组合,共计 1.56 million 张。我们提出 Fonts 数据集的首要目的是为了给解耦表征学习和零镜头生成的研究者提供一个可以快速验证和迭代想法的平台。

除了上述的五个属性,我们还拓展了 Fonts-v2 版本,增加了简单的单词以及新的属性:位置,旋转和纹理,示例请见下图。

目前 Fonts 的所有生成代码已开源,欢迎来我们的网站下载数据集和代码:

http://ilab.usc.edu/datasets/fonts

总结

总结来说,这项工作的要点在于:

(1)提出一种新的学习范式——组监督学习(Group-Supervised Learning)可以模仿人脑的想象力并赋予 AI 智能体 zero-shot synthesis 的能力。

(2)组监督学习以一组图片作为输入,通过挖掘图片之间属性的相关关系实现可控的解耦表征和自由组合,模拟人类对知识的因式分解和重新组合

(3)作为一种新的学习范式,组监督学习容易实现,训练稳定可快速收敛,可以帮助不同的下游任务。定量和定性的分析了在属性可控生成,解耦表征学习与数据增强方向的应用。

更多细节请参考原 paper,欢迎大家 follow 我们的工作:)

@inproceedings{ge2021zeroshot,title={Zero-shot Synthesis with Group-Supervised Learning},author={Yunhao Ge and Sami Abu-El-Haija and Gan Xin and Laurent Itti},booktitle={International Conference on Learning Representations},year={2021},url={https://openreview.net/forum?id=8wqCDnBmnrT}
}

如果有任何问题,欢迎大家留言或者给我发邮件讨论,最后附上我的主页链接:

https://gyhandy.github.io/

参考文献

[1] Logothetis et al.,1995.

https://www.sciencedirect.com/science/article/pii/S0960982295001084

[2] StarGAN Choi, Yunjey, et al. 2018

https://arxiv.org/pdf/1711.09020.pdf

[3] ELEGANT Xiao, T. et al. 2018

https://arxiv.org/pdf/1803.10562.pdf

[4] Fonts dataset

http://ilab.usc.edu/datasets/fonts

[5] ilab-20M

http://ilab.usc.edu/publications/doc/Borji_etal16cvpr.pdf

[6] RaFD dataset

http://www.socsci.ru.nl:8180/RaFD2/RaFD#:~:text=The%20RaFD%20is%20a%20high,surprise%2C%20contempt%2C%20and%20neutral

更多阅读

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site

• 所有文章配图,请单独在附件中发送

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

ICLR 2021 | 通过可控的解耦表征学习模拟人脑想象力相关推荐

  1. ICLR 2021 | GSL:通过可控的解耦表征学习模拟人脑想象力

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文作者:葛云皓 Andy |  本文系CVer粉丝投稿(源: 知乎) https://zhuanlan.z ...

  2. 直播 | CVPR 2021论文解读:引入因果结构的解耦表征学习

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  3. CIKM 2021 | DISENKGAT:知识图谱解耦表征学习

    ©PaperWeekly 原创 · 作者 | 吴俊康 学校 | 中国科学技术大学硕士生 研究方向 | 信息检索 论文标题: DisenKGAT: Knowledge Graph Embedding w ...

  4. 拆解组新的GAN:解耦表征MixNMatch

    点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货!  戳我,查看GAN的系列专辑~! 0.前言 这是一篇 CVPR 2020 论文简记 ...

  5. AI顶会直播丨深度学习顶级会议ICLR 2021中国预讲会明天召开,为期三天五大论坛...

    图表示学习.图神经网络 强化学习与多智能体.对抗机器学习 物体识别与关系建模.自由主题 第九届国际学习表征大会(ICLR 2021)是深度学习领域的国际顶级会议,大会最终接收860篇论文,其中 Ora ...

  6. 谷歌实现2种新的强化学习算法,“比肩”DQN,泛化性能更佳!|ICLR 2021

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 强化学习(RL)算法持续"进化"中-- 来自Google Research的研究人员,证明可以使用图表示 (graph ...

  7. 直播 | ICML 2021论文解读:具有局部和全局结构的自监督图表征学习

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  8. SIGIR 2021 | 推荐系统中的自监督图表征学习

    ©PaperWeekly 原创 · 作者 | 吴剑灿 学校 | 中国科学技术大学博士生 研究方向 | 信息检索 摘要 推荐系统中用户-物品交互图上的表征学习(Representation Learni ...

  9. ICLR 2022 under review|化学反应感知的分子表征学习

    今天给大家介绍一篇关于分子表征学习的文章.分子表征学习(MRL)旨在将分子嵌入到实向量空间中.然而,现有的基于SMILES(简化分子线性输入系统)或GNN(图神经网络)的MRL方法要么以SMILES字 ...

最新文章

  1. 硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
  2. LAMP架构介绍,MySQL、MariaDB介绍,MySQL安装
  3. ubuntu下搜索文件
  4. 主要垃圾回收器和垃圾回收算法
  5. python基础题面试_python常见面试题
  6. 手势检测的回调方法中onfling与onscroll的区别
  7. 这几天又看了Gosu,发现也是蛮有意思
  8. [shell]C语言调用shell脚本接口
  9. 长期股权投资和私募股权投资的区别
  10. 一款跑在云上的定制容器专属 OS 来了——LifseaOS | 龙蜥技术
  11. python工程师干什么的_大数据开发工程师薪资待遇及招聘要求?
  12. leetcode python3 简单题28. Implement strStr()
  13. html鼠标感应图片,jQuery实现的感应鼠标悬停图片色彩渐显效果
  14. OSPF默认选举DR/BDR得判断流程
  15. js后代选择器_jQuery后代选择器用法实例
  16. 【算法 | 实验18】在字符矩阵中查找给定字符串的所有匹配项
  17. yum不能使用了,怎么办?记下来!!!
  18. sql教程学习(一)
  19. 2017年3月历史文章汇总
  20. 伴娘礼服上的年华(九)

热门文章

  1. C/C++ 围栏翻新(paint)
  2. DirectX学习笔记(九):模板缓存与镜面效果实现
  3. Spring Cloud Commons模块
  4. 软件测试(三)测试用例设计方法
  5. 项目实践(一)点餐系统——数据管理模块基础操作
  6. C++知识总结——运算符重载
  7. The Pragmatic Programmer 读书笔记
  8. C/C++Linux服务器开发完整学习路线(含免费学习资料下载地址)
  9. Aptina HiSPi与并行传感器的桥接
  10. 记第一次Python爬虫-----五块五毛网站小说