团队开发出的编辑界面正在演示如何重写规则以让笑容复制到其他图片上。图片出处:ECCV
论文:Rewriting a Deep Generative Model[1]
作者:David Bau , Steven Liu , Tongzhou Wang , Jun-Yan Zhu , Antonio Torralba
机构:MIT CSAIL、Adobe Research
通常情况下,马这种动物是不戴帽子的。
但在一支麻省理工学院团队新开发的特殊工具中,操作者可以很多代码行一样对神经网络进行编辑,以生成前所未有的令人惊叹的图像,例如告诉生成式对抗模型将帽子戴在它绘制的马头上。
通过重写规则生成的马戴着帽子的图片。图片出处:David Bau
这项研究发表在本月的欧洲计算机视觉会议(ECCV, the European Conference on Computer Vision)上,标题为“Rewriting a Deep Generative Model ”。根据该研究,模型重写可以让操作者直接编辑深层网络的内部规则,针对大数据集进行训练的环节或许是可以被替代的。
在 ECCV 上的介绍中,该研究的主要作者、麻省理工学院的博士生 David Bau 演示了如何使用团队设计的直观界面来进行模型重写。他从一张图片中复制一棵树,然后将其粘贴到另一张图片中,让人难以置信的是,他把树放在了一座建筑的塔楼上,然后,这个模型就会制作出足够多的树木发芽的塔楼的图片。在另一个案例中,Bau 就将帽子从骑手转移到马身上。
“ GANs 就像令人难以置信的艺术家,但只能模仿它们看到的数据。如果我们可以直接重写 GANs 的规则,那么唯一的限制就是人类的想象力”[2],他说。
团队在ECCV Oral的视频
为什么要“重写”GANs?
先简单科普一下 GANs。生成对抗网络(GANs, Generative Adversarial Networks)是一种深度学习模型,已经成为人工智能领域的一个研究的热点,为无监督的学习注入了新的活力,被称为近十年来最有趣的想法。
GANs 基本思想源自博弈论的二人零和博弈(two-player game),它主要构造了两个神经网络:生成器(generator)和鉴别器(discriminator),实现方式就是让两个神经网络互相竞争训练,最后达到一种平衡状态,从而创造出超现实的图像和声音。其中,生成器负责学会模仿在照片中看到的面孔或交谈中听到的声音。而鉴别器则将生成器的输出与原始输出进行比较。随后,生成器迭代地建立在鉴别器的反馈之上,直到其伪造的图像和声音足够令人信服,甚至可以达到以假乱真的程度。
GANs 创造的图像栩栩如生,有时甚至非常怪异,从一只退缩的猫到融化成一堆皮毛,再到一件站在教堂门口仿佛被新娘抛弃的婚纱,人工智能研究人员对对抗生成网络的这种能力着迷不已。
像大多数深度学习模型一样,GANs 依赖于大量的数据集进行学习。其见过的例子越多,模仿的效果就会越好。
但是这项新的研究表明,大数据集并不是必不可少的。
在最先进的StyleGAN v2生成模型中重写规则。用户可以使用该方法直接重写控制水印、人员和塔的规则。 图片出处:http://rewriting.csail.mit.edu/
Bau 认为,如果你深入了解了模型的连接方式,那么即使没有文字说明,你也可以编辑其中的数字权重来让算法实现你所需的行为,类似的,就算没有合适的数据集也可以解决问题。
训练和重写之间的区别,就好比自然选择和基因工程的区别。虽然训练可以有效优化全局目标,但它不允许直接指定内部机制。相反,重写允许用户直接选择希望包含的内部规则,即使这些选择碰巧与现有数据集不匹配。
因此,直接重写深度网络主要有两个原因:一则是让富有创造力的用户能够快速创建没有现有数据集的新颖模型,二则是可以帮助深入了解深度网络如何组织其知识。
重写的关键:OLAM
重写模型构想了一种根据用户意图构建深度网络的方法,不仅可以将模型限制为模仿已经拥有的数据,还可以使深度网络对遵循用户希望拥有的新规则的世界进行建模。作者们发现,通过重写现有网络中的规则来创建这样的模型是可行的。
研究者可以像分层蛋糕一样切开 GANs(GANs具有丰富的内部结构),分离那些已经学会绘制特定特征的人造神经元。基于这一见解,团队先是创建了 GANPaint,这是一个允许用户添加和删除图片上的草、木、云、砖瓦和门等功能的工具,其中的每个工具都对应 GAN 中的其中一组神经元,只要激活其中的某一组神经元,抑制其他的神经元,就可以有选择地生成想要的要素。
在这个过程中,团队意外发现 GANs 出现了一个固执的毛病:它们不会让你在天空中画门。
他说:“有一些规则似乎在说,‘门不通向那里’。我们认为这真是太有趣了,就像程序中的“if”语句一样。对我来说,这是一个明确的信号,表明网络确实具有某种内在的逻辑。”
经过了几个不眠之夜,Bau 进行了实验并在模型的各个层中挑选出了与之前条件陈述相符的内容。
最后,他找到了关键:“神经网络具有不同的记忆库,它们作为一组通用规则发挥作用,将一组习得的模式与另一组相联系起来。我意识到,如果你可以识别出一行内存,你就可以向其中写入一段新的内存。”
具体而言,模型重写方法基于以下假设:生成器的权值作为最优性线性联想记忆(OLAM)。
OLAM 是 Teuvo Kohonen 和 James a Anderson 在 20 世纪 70 年代描述提出的、用于记忆联想的经典单层神经数据结构。在这次的例子,团队假设大型多层卷积网络中,每个单独的层扮演着 OLAM 的角色,OLAM 存储一组规则,这些规则将表示有意义上下文的键与决定输出的值相关联。换句话说,一个规则对应于一行可以自由重写的内存。
下图为模型整体架构:
以塔上长树为示例的模型整体架构。图片出处:http://rewriting.csail.mit.edu/
研究人员假设,深层网络的每一层都起着联想记忆的作用,这种记忆是在反复接触类似例子后形成的。例如,当输入足够多的门和云图片后,模型就会知道门是建筑物的入口,而云是漂浮在天空中。由此,该模型便有效地记住了一组规则来理解世界。
当 GANs 操纵光线时,这种效果尤其引人注目。例如,当 GANPaint 为一个房间添加窗户时,模型会自动添加附近的反射。这就好像模型对物理原理以及光在物体表面的行为有着直观的理解。
作者之一托拉尔巴(Torralba)表示:“即使是这种关系也表明,从数据中学到的关联可以以记忆的方式存储。”
但重写模型仍然是具有挑战性的,因为有效地重写模型需要户对网络内部参数的结构、行为和目的有因果上的正确理解。而且到目前为止,团队还不了解直接重写模型的合理范围。
研究人员表示,要识别出与模型呈现的物体和动物相对应的所有神经元并不容易。一些规则也给出了编辑证明,但试图做出的一些改变未能实现。
尽管如此,该工具仍可立即应用于广泛研究 GANs 的计算机图形学领域,以及训练 AI 系统以通过数据增强识别稀有特征和事件。
该工具还可帮助研究人员更容易了解 GANs 如何在最少的人工指导下学习视觉概念。如果模型通过模仿它们看到的东西来学习,并在这个过程中形成关联,那么它们可能会成为新型机器学习应用的跳板。
本次研究对应的预印本论文。图片出处:arXiv
[1]Rewriting a Deep Generative Model:
https://arxiv.org/pdf/2007.15646.pdf
[2]Rewriting the rules of machine-generated art:https://news.mit.edu/2020/rewriting-rules-machine-generated-art-0818
[3]http://rewriting.csail.mit.edu/