Perceptual Loss(感知损失)

感知损失通过一个固定的网络(VGG16,VGG19..),分别用prediction 和 groundtruth作为VGG16输入, 得到对应的输出特征,pre-vgg,gt-vgg。

然后让pre-vgg和gt-vgg构造损失(L2-Loss)。使预测结果和真实值之间的深层信息(感知信息)不断接近。

相比于普通的L2-Loss,使用感知损失可以更好的增强输出的细节信息。

构建感知损失准备:

1.预训练好的VGG网络,只需要prediction阶段(前向即可)。

2.送入prediction和ground truth分别通过VGG前向,并得到pre-vgg,gt-vgg。

3.计算pre-vgg和gt-vgg的L2损失。 注:往往pre-loss(感知损失)为正则项,需要配合其他损失函数进行指导,可以通过自定参数调节感知损失的惩罚(调节)力度。

在提取特征时,通常不会只使用一层的特征,而是使用网络中浅层,中层,深层特征,进行组合。 比图vgg16会使用 3 ,5,7层进行组合,并对输出特征进行累加。

代码:

Perceptual Loss(感知损失)_第1张图片

 

 

你可能感兴趣的:(人工智能,深度学习)