结构
基本结构有两部分组成:图像转换网络(image transfer network)和损失网络,损失网络作为损失方程。图像转换网络是一个深度残差卷积网络,将输入图像转换成输出图像,使用随机梯度下降法来训练
为了克服像素损失的缺点,使损失方程能够更好的度量感知和语义相关的信息。因此使用一个预训练好的分类网络定义特征损失和风格损失,作为损失函数。
图像转换网络
图像转换网络使用带有步长的卷积代替池化层进行下采样和上采样[#参考#],网络的主体包括两个步长为2的卷积层(下采样)、五个残差块、两个步长为1/2的卷积层(上采样),不是残差块的层紧接着batch norm 和RELU,第一层和最后一层使用的卷积核,其他层使用的卷积层。
输入和输出:
感知损失函数
特征(内容)损失:使用VGG高级特征表示,使得内容和全局结构保留,但颜色和纹理形状不复存在。
风格损失:颜色、纹理和共同模式上的不同
将第j层的特征()reshape成一个矩阵M(),则伽马矩阵,使用伽马矩阵作为损失函数。
先下采样再上采样的好处:
- 计算复杂性减少
- 有效的感受野大小,输出中的每个像素都有输入中的大面积有效的感受野。
损失函数
- 像素损失:输出图像与目标图像之间的欧式距离
- 总变差正则化:为了使空间更平滑,使用总变差正则损失
训练
80k的coco数据集resize到256,训练batch size为4, 一共40k次迭代,使用Adam学习率为0.001的学习器。