查看: 1617|回复: 0

想怎么GAN就怎么GAN,一键拯救发际线

[复制链接]

665

主题

1234

帖子

6684

积分

xdtech

Rank: 5Rank: 5

积分
6684
发表于 2018-11-15 15:41:04 | 显示全部楼层 |阅读模式
GAN可GAN,非常GAN。
生成对抗网络(GAN)除了生成各种各样的人脸,现在还能对人脸进行各种各样的精确“整容”。
比如,把头顶光亮的大叔P出青葱的发际线;把阳刚的肌肉男P成小鲜肉,再P成可爱的女孩子;让金发女郎变成黑长直。
不久后,你还能用GAN一键调整自己的发际线,从此省下植发钱,免费让你的头发像Jackie Chan一样乌黑油亮,duang duang duang~
堪称 整·容·神·器

背后的原理
有这种“神奇魔力”的GAN,名字叫做TL-GAN,TL代表的是Transparent Latent-space,意思是将潜在空间(Latent-space)透明化(Transparent)。
总体来说,这个项目提供了一种新的方法,可以来控制像GAN (生成对抗性网络)这样的无监督生成模型的生成过程。
首先,使用一个已经训练好的GAN生成器,在这个模型中,使用的是英伟达的pg-GAN。然后,挖掘其中有意义的特征轴,将图像变化的过程变得透明化,从而使我们能够控制图像合成和编辑的过程。
整个模型的构建,主要分成三个步骤:
第一,将图像背后的潜在空间透明化。
作者在模型上使用的是英伟达的的pg-GAN(progressively-growing GAN),其生成的1024px × 1024px图像的特征由潜在空间中的512维噪声矢量(一种图像内容的低维表示)来确定。如果能够理解这些都代表着什么,就能完全控制生成过程。




为什么要用pg-GAN呢?作者说,它有两个优点:
一是,它生成的图像很多,这意味着空间中的大部分点会生成合理的图像。二是,它是强连续的,这意味着潜在空间中两点之间的插值一般会让相应图像的平滑过渡。
这让他可以在潜在空间中寻找方向,如果能够找到,就可以使用这些方向的单位矢量作为特征轴来控制图像生成过程。
第二,寻找特征轴。
为了找到这些特征轴,作者通过基于配对数据(z,y)的监督学习方法进行训练,在潜在向量 z 和特征标签 y 之间建立了一个连接。
于是问题来了:如何获得这样的配对数据?现有的数据集只包含图像 x 及其相应的特征标签 y。




作者表示,为解决这个问题,TL-GAN模型的关键创新是,使用现有的标记图像数据集( x_real,y_real ),来训练一个独立的特征提取器模型y=F(x),然后将训练好的GAN生成器G与特征提取器网络F耦合。
在这个过程中,作者在CelebA 数据集上训练了一个简单的卷积神经网络(其中包含了3万多张面部照片,每张有40个标签)。
这样,就可以使用训练好的特征提取器网络来预测合成图像x_gen的特征标记y_pred,从而通过合成图像建立z和y之间的联系,如x_gen=G(z)和 y_pred=F(x_gen)。
第三,训练模型。
既然有了成对的潜在向量和特征,就可以训练回归模型y=A(z)来揭示特征轴控制图像生成的过程了。




TL-GAN 模型的架构
在进行测试的过程中,虽然效果很好,但出现了一个非常让人头疼的问题:特征轴纠缠(entangled feature axes)。即不同的特征轴之间会相互影响,例如当你打算减少胡须特征的时候,图像就会变得越来越像女性,或者调整Pointy Nose (尖鼻), 也会把男生变成女生。
为了解决这个问题,作者表示自己使用了线性代数技巧:将胡须轴映射到一个垂直于性别轴的新方向,这可以有效消除它们的相关性。




使用线性代数技巧分离相关特征轴
不过,如上所述,量子位在测试的时候发现,还是会出现类似的问题。Hacker News上也有网友在吐槽这一点:
啊!为什么改变肤色的时候,嘴唇会变薄、头发会变秃,人会变成男的啊,真是AI魔术
有网友猜测是训练模型的数据集太小的原因:
因为是用真实的明星照片训练的吧,毕竟明星普遍都比较好看。可能样本里只有白人,没有其他肤色的人,所以生成的效果也就跟着训练用的数据集跑了~
以上,就是模型大致的原理了。
作者认为,这个模型有两个突出的优点:
1、效率高:想要为生成器添加新的功能调谐器的时候,不需要重新训练GAN模型,使用这个方法,只需要花1个小时,就能够添加40个功能调谐器。
2、灵活性:你可以使用任何数据集上训练的任何特征提取器,来向训练好的GAN中添加更多的特征调谐器。

作者介绍



这个TL-GAN的作者关少波(Shaobo Guan),是一位集生物学和计算机两大专业技能于一体的博士小哥哥,本科毕业于上海交通大学生物技术专业,之后在中科院做了三年研究助理,然后去布朗大学读了系统/计算神经学的博士。
厉害的是,读博第三年开始,他还顺便在布朗大学读了一个计算机硕士,从此踏入AI圈。
今年夏天硕士和博士都毕业后,关少波开始在YC和SV Angel投资的Insight Data Science项目担任AI Fellow,TL-GAN就是他在该项目的第一个作品。
小哥哥还很自豪的在自己的LinkedIn上写:
我的TL-GAN,全Hacker News热度第二呦~
传送门
如果你对这个模型有兴趣,下面有一些传送门,能够送你到你想去的地方~
GitHub地址:
https://github.com/SummitKwan/transparent_latent_gan
Demo地址:
https://www.kaggle.com/summitkwan/tl-gan-demo
(友情提示:玩Demo的时候,要有耐心哦~)
模型博客文章地址:
https://blog.insightdatascience.com/generating-custom-photo-realistic-faces-using-ai-d170b1b59255
模型的PPT地址:
https://docs.google.com/presentation/d/1OpcYLBVpUF1L-wwPHu_CyKjXqXD0oRwBoGP2peSCrSA/edit#slide=id.p1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表