这里有一只GAN,可以把尖耸的屋顶刷成圆的。
给天上的云换个姿势,一秒种起一棵树。
还可以,把草拔光。
MIT、IBM、港中大以及谷歌的科学家,用念力一组一组地控制了GAN的神经元,才支配了生成过程。
团队说,他们对GAN内在原理的了解程度,是前所未有的。所以,团队在一篇论文里,介绍了这种魔法。
现在,算法已开源,并有Demo可以玩,叫GANpaint。传送门见文底。
草,木,云,天,穹顶,砖瓦,房门......
每个元素,都对应GAN的其中一组神经元。
只要激活某一组神经元,抑制其他神经元,就可以有选择地生成想要的元素。
长期以来,人类任由GAN胡乱涂鸦,不大去追究它们作画的原理。
而GANpaint团队心思细腻,想要看清GAN的内部是如何运作,就有了这项研究:
每次激活不同的神经元,相当于把GAN肢解 (Dissect) 开来,让人一点一点去领会;
团队还提出了一个分析框架 (Analytical Framework) ,把肢解过程可视化,就像Demo展示的那样。
讲一下步骤。
首先,把跟某个物体 (比如树) 相关的、可解释的GAN单元 (Interpretable GAN Units) 挑出来。通俗说来就是根据特征图,找到哪些神经元对应哪个物体。
然后,衡量这些单元对物体的影响力有多强,量化出来。也就是说,不只是相关 (Correlated) ,神经元要能控制物体的变化,才有用。
最终,考察这些单元与背景之间的上下文关系 (Contextual Relationship) 。研究要在一幅图里生成某种物体,怎样才能不突兀。
团队说,为了理解GAN的内在原理,而做的系统性分析,这还是史上第一次。
还是刚才的栗子:要把尖顶变成圆顶,GAN要学习尖顶圆顶的特征,还要让生成的圆顶和原来的背景相处融洽。
而生成效果越自然,表示人类越发懂得控制GAN的神经元,也是理解GAN的工作原理了。
想象,自己被追兵逼到一座古堡门前。你跑进了城堡,然后一秒把门GAN掉。安全。
然后,等追兵无功而返,再重新生成一道门跑出来。真是优秀的技能。
再多的风景,就不一一列举了。
七个按钮,大家可以自己试试看,会不会生成什么惊喜。
毕竟,有人以为“去掉砖” (Brick x Remove) ,应该会是这样:
没有,不是我说的,不知道谁说的 (Twitter: @Jukkuden) 。
Demo传送门:
http://gandissect.res.ibm.com/ganpaint.html
代码传送门:
https://github.com/CSAILVision/GANDissect
论文传送门:
https://arxiv.org/pdf/1811.10597.pdf
— 完 —
联系客服