Page 338 - 《软件学报》2021年第11期
P. 338
3664 Journal of Software 软件学报 Vol.32, No.11, November 2021
L=L con +εL GAN (6)
其中,ε是损失的比例系数.
Copy+concatanate
Copy+concatanate
Copy+concatanate
Copy+concatanate
在ImageNet上训练好的VGG编码器 针对VGG编码器设计的U-Net解码
3x3卷积 3x3卷积反卷积
2x2的最大池化操作
Fig.3 Diagram of a VGG coding based U-Net: VGG-UAE
图 3 基于 VGG 编码的 U-Net: VGG-UAE 示意图
网络的训练以 GAN 的方式进行,首先使用生成器 Generator 从低分辨率图像生成高分辨率图像,然后使用
ImageNet 数据集上训练好的 VGG 网络提取特征,利用 VGG 特征构建损失函数 L con ;针对 VGG 特征,构建相应
解码器组成基于 U-Net 架构的 VGG-UAE 模型,把 VGG-UAE 的重构损失用作损失函数 L GAN ;根据损失函数,利
用梯度下降方法更新 VGG-UAE 中的参数和 Generator 中的参数,完成模型的训练.VGG-SRGAN 的训练过程如
算法 1 所示.
算法 1. VGG-SRGAN 训练算法.其中,VGG feature 为训练好的固定参数的 VGG 网络,ε和λ是超参数.
for t=1 to T(迭代次数) do
从数据集中取高分辨率图像 Real_H.
针对真实的高分辨率图像 Real_H,对其进行 4×降采样,得到低分辨率图像 Input_L.
#由低分辨率图像生成高分辨率图像 Fake_H 和 VGG 特征:
Fake_H=Generator(Input_L); VGG feature (Fake_H); VGG feature (Real_H).
#构建基于内容的损失 L con :
2
L con =[VGG feature (Real_H)−VGG feature (Fake_H)] .
#构建 VGG-UAE 的能量函数:
U(x)=AE_Loss(VGG feature (Image_H)).
#构建对抗正则化损失 L GAN :
2
L GAN =E x~Input_L [U(Generator(x))]−E x~Real_H [U(x)]+λE x~Real_H [||∇ θ U(x)|| ].
#根据损失函数计算 Generator 参数的梯度:
∇ θ Generator {[VGG feature (Generator (Input _ ))]L 2 − E x Input∼ _ L [ (U Generator ( ))]}x .
#根据损失函数计算 VGG-UAE 中能量 U 的参数的梯度:
∇ θ U {E x Real∼ _ H [ ( )]U x − E x Input∼ _ L [ (U Generator ( ))]x + λ E x Real∼ _ H [|| ∇ θ U ( ) || ]}x 2 .