做一个损失函数专题
(一) L1损失
(二) L2损失
(三) 对抗损失
(四) MSE损失
(五) 交叉熵损失
(六) 感知损失(Perceptual Loss)
感知损失的定义包含以下两个损失函数(不一定全部都要有)的,一个是feature reconstruction loss L-feat
,另一个是style reconstruction loss L-style
。
6.1)feature reconstruction loss L-feat 特征重建损失
如图:
现在有两幅图x
和x^
,把这两种图片输入到像VGG这样的预训练好的卷积网络中,最后输出了经过特征提取的 特征图 ,即feature maps
,将这两对feature maps
取一个L2损失,再除以feature maps
的维度乘积。
上述的过程,就是feature reconstruction loss L-feat。L-feat是计算 loss network 中每一个特征提取层输出的L2重建损失。
6.2)style reconstruction loss L-style 风格重建损失
对于L-style, 也要先将原图输入到像VGG这样的预训练好的卷积网络,设第j层的特征图为Cjx Hj x Wj, 则通过构建一个Gram matrix Gj, 得到一个Ci x Cj 的矩阵, 矩阵的元素由下式给出:
这里Gj的数学意义是非中心协方差矩阵。每个矩阵元素为第j
个特征图的c
和 c'
通道上的相关性(针对同一个输入图像) . 那么L-style就是要重建目标图和生成图在各自特征通道上的相关性。
除了以上perceptual 损失外,在《Perceptual Loss for Image Translation and Style Transfer》这篇Paper中,作者还加了整体方差损失L-TV (total variation) 来保证平滑性.最终得到一个baseline的损失:
6.3)感知损失特点:
- 多应用于风格迁移类的任务中,这是因为预训练好的图像分类网络更加具备编码感知和语义信息的能力;
- 感知损失比每像素损失更可靠地度量图像相似性;感知损失不同于通常用的L1、L2重建损失在像素级别上监督图像的转化, 而是利用特征级别的重建要求来达到这一目的。
- 实验发现, 高层(j的值更大) 的特征重建倾向于保留图像内容和结构, 而低层(j的值更小) 的特征重建则可保留颜色, 纹理, 细节形状等。(是否说明卷积层的特性也如此?)
6.4)对Gram matrices的理解
Todo:从数学意义上理解、学习地更深入一点。
Gram matrices即非中心协方差矩阵,它的功能有:
- 通过矩阵乘法运算,去除了 Convolution feature 上空间结构信息。
- 保留代表全图的某种共性的语义信息,而这种共性恰好表现为图像的艺术风格。