第五节 图片风格迁移和GAN
1.Neural Style Transfe
Neural Style Transfer,神经风格迁移,简单说就是我们将一张普通的照片赋予它艺术作品风格,结合一张图片的内容和另一张图片的风格,生成一张新图片。
首先我们来回顾一下VGG网络,是一种经典的卷积神经网络。由五个卷积块和三个全连接层组成。每个卷积块里面包含若干个卷积层。VGG net有不同的版本,有16层,有19层的,作者使用的VGG-19。每个卷积层都会提取图片的不同特征,生成不同的feature map。比较浅的卷积层提取的图像特征是低级的,比如纵向或者横向的纹理等。高层的fuarure map就会包含一些总体内容信息,空间信息。
使用VGG network来表示,内容图片,风格图片,风格迁移后的新图片。
Content Loss:
Gram Matrix可以被拿来表示两张图片的texture相似度
Style Loss:
2.Generative Adversarial Networks
GAN(Generative Adversarial Networks),是生成对抗网络于2014年由Ian Good fellow在他的论文Generative Adversarial Nets提出。
在GAN被提出之后,立刻在机器学习领域得到了巨大反响,并且被科学工作者们应用在许多领域,且取得了令人印象深刻的成果。在2016NIPS会议上,Goodfellow对GAN做了一次长达2个小时的报告,将GAN的原理,训练tips,以及一些影响比较大的GAN变体等等综合在一起,信息量比较大。
其中结构包括
Generator: 生成器,目标是让生成的数据接近真实数据
Discriminator: 分类器,目标是能够鉴别真实数据和生成的假数据
它是无监督学习,也就是说输入数据时是不需要输入标签的,要同时训练新手GG和新手DD,GG由DD引导学习,,但不代表在训练的时候没有标签。上图有表明,xx的数据来源有两个,一个是输入的training data,一个是G(z)G(z),这就是说只要是输入的数据一定是real,而生成的数据一定是fake,由此根据数据来源不同就可以确定样本是real还是fake,在程序中就可以根据数据来源给数据打上相应标签”1”或者”0”。所以DD在训练的时候是有标签的,training data(real)的标签是”1”,generated data(fake)的标签是”0”,所以其实DD就是一个普通的判别器,在训练的时候既有数据又有标签,利用标签和DD输出的loss利用随机梯度下降的方法(STD)来求解DD中的参数θ(D)θ(D)。
3.CycleGAN
模型架构: