风格转化及其Loss

风格转换及其Loss的问题来源于自己之前对于CVPR2019论文的分享,牵扯到风格转换的相关知识,在此进行相关总结。

1、风格转换问题常见Loss

content loss: 使用逐像素计算差值,又称pixel-wise loss,追求生成的图片和原始的图片逐像素的差值尽可能的小;很多时候会使用mse(mean square error)来作为损失函数。

style loss:经常借助于Gram矩阵定义,常见的做法是:两张图片,在loss网络的每一层都求出Gram矩阵,然后对应层之间计算欧式距离,最后将不同层的欧氏距离相加,得到最后的风格损失。

content loss与style loss对应着图像的content reconstruction 和 style reconstruction,content loss是生成图与content image进行的计算;style loss是生成图与style image进行的比较计算。

perceptual loss:将卷积神经网络提取出的feature,作为目标函数的一部分,通过比较待生成的图片经过CNN的feature值与目标图片经过CNN的feature值,使得待生成的图片与目标图片在语义上更加相似(相对于Pixel级别的损失函数,即相比于content loss更为关注语义层面的内容)。
adversarial losses:GAN中常见的Loss形式,多写作为:

2、从Style的角度理解Instance Normalization

本部分转载自https://zhuanlan.zhihu.com/p/57875010,写的很好很明白。
分享一种理解Instance Normalization (IN) 的新视角:在计算机视觉中,IN本质上是一种Style Normalization,它的作用相当于把不同的图片统一成一种风格。这个视角是在黄勋和Serge Belongie的《Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization》中看到的。

黄勋等人提出,图像的风格(artistic style)就是特征图各个feature channel跨空间的统计信息,比如mean和variance。迁移各个channel的mean和variance就可以实现风格迁移,为此他们提出了Adaptive Instance Normalization。

其中Gatys等人是关于风格转换方面的祖师爷,其在论文中提出关于Gram矩阵使用的论点论据,有空可以拜读下相关论文 Image style transfer using convolutional neural networks. CVPR, 2016,该文章也写作:A Neural Algorithm of Artistic Style

3、夹带关于神经网络输入size的讨论

典型的CNN架构如下:

经典的网络结构包括:卷积层(卷积+非线性激活)+池化层+全连接层+分类层。其中,卷积层、池化层、分类层其实都不在意图像大小,但是全连接层有问题。一般而言,全连接层的一个神经元对应一个输入。换句话说,全连接层要求固定的输入维度。而不同大小的图像,经过卷积模块(卷积+非线性激活+池化)之后输出的特征映射维度是不一样的。也就是说:某种意义上因为有全连接层的存在,输入图像的大小必须固定。

这正是Jonathan Long提出的FCN(Fully Convolutional Networks,全卷积网络)背后的思路,用卷积层替换全连接层。

除了卷积层这一种方法之外,还可以用别的层替换全连接层。比如用全局平均池化(Global Average Pooling)层替换全连接层: 关于global average pooling的解释我在个人笔记中有记载,是一种形式非常简单粗暴的下采样方式,与max pooling合为两种典型的pooling用法。

不过,也不是说只要有全连接层,输入的图像大小就一定要固定。之前提到过,固定输入图像大小的原因是:全连接层要求固定的输入维度。那么除了像上面这样干脆用卷积层替换全连接层,还有一种思路,就是在卷积模块和全连接层之间加一个中间层,整理一下卷积模块的输出,保证不管输入图像大小怎么变,传给全连接层的始终是固定维数的输入。
Kaiming He等提出的SPP(Spatial Pyramid Pooling,空间金字塔池化)就是这种处理思路:

上图示意了引入SPP前后的不同流程。上流程为传统的CNN架构,图像(image)经过裁剪或拉伸(crop/warp)统一尺寸,再传给卷积层(conv layers);下流程为应用了SPP层后的架构,图像直接传给卷积层,然后经过SPP处理,统一维度再传给全连接层(fc layers)。

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值