Enhancing Perceptual Loss with A
姓名:张晨
学号:19021210950
转载https://blog.csdn.net/qq_34049103/article/details/106310465
这篇文章提出的问题是感知损失中由于一开始vgg训练的目的与超分目的不符,导致用感知损失约束的网络会产生不符合原本分布的HR伪影。
vgg一开始训练的目的是为了进行分类任务这导致在前面30层中利用conv进行特征提取时对特征很敏感,即输入的特征图的某部分特征会为了去归为某一类而导致产生的特征图有不符合原分布的特征。
这篇文章提出的解决办法为利用对抗网络中间层生成的特征作损失约束网络去除伪影,对抗网络为了区分真实的HR和生成的SR图像在中间层很好的提取到了HR和SR的特征信息,因此利用其中间层的特征信息可以很好的消除伪影。
这篇文章的主要创新点在于损失函数:
huber损失,现有的MAE(L1)和MSE(L2)都存在了一些问题,因此huber损失将这两个损失联合起来,L1损失由于反向传播时梯度很大因此无法很好的处理小数点后的损失数据,但L1的优点在于对奇异点(数据差较大的生成点)不敏感,可以很好的对奇异点实施梯度下降,而L2损失由于对奇异点过于敏感,遇到奇异点时可能会直接导致梯度死亡,而L2的优点在于可以很好的处理小数点后的数据。
具体解释下:
L1损失反传过程中由于为直接相减所以out的导数为1这样就会导致最后求出的梯度值很大,而L2由于是平方项因此可以很好的解决L1的问题但在奇异点上数值较大极有可能导致梯度死亡,因此HRber损失给L1和l2设置了一个阈值,在阈值之上利用L1处理奇异点防止梯度死亡,阈值之下利用L2处理小的损失。
本文提出的content损失利用这个损失消除伪影,把生成的SR与HR输入对抗网络利用中间层特征进行约束从而消除伪影。
另外在训练时不希望将所有损失都加在一起,要突出哪一个损失更为重要,因此用softmax对损失函数进行归一化,赋予各个content损失一个权值,来突出某一个的重要性