1 Real-ESRGAN在模型训练和模型微调时打印的各个loss项的意思

Real-ESRGAN在模型训练和模型微调时每次log会打印如下的信息,

 l_g_pix: 0.0713440 l_g_percep: 11.8532104 l_g_gan: 0.2081660 l_d_real: 0.2309255 out_d_real: 3.4267445 l_d_fake: 0.3299022 out_d_fake: -1.75170

其中:

  • l_g_pix: 这是生成模型的像素损失(Pixel Loss),通常使用L1损失或L2损失来计算生成图像与真实图像之间的像素差异。在Real-ESRGAN中,使用的是L1损失,该值越小,说明生成图像在像素级上越接近真实图像。
  • l_g_percep: 这是生成模型的感知损失(Perceptual Loss),通过比较生成图像和真实图像在特征空间上的差异来计算,反映了图像在语义和结构等高层次特征上的相似性,较低的值表示生成图像在感知上更接近真实图像。
  • l_g_gan: 这是生成模型的GAN损失(GAN Loss),用于衡量生成模型欺骗判别器的能力,该值越小,说明生成器生成的图像越能 “骗过” 判别器,即越逼真。
  • l_d_real: 这是判别模型对真实图像的损失(Discriminator Real Loss),用于衡量判别器对真实图像的判断准确性,较低的值表示判别器能够较好地识别真实图像。
  • out_d_real: 这是判别模型对真实图像的输出(Discriminator Real Output),表示判别模型对真实图像的信心值,可以理解为判别器对真实图像的 “置信度” 或 “得分”,值越高表示判别器认为该图像是真实图像的概率越大。
  • l_d_fake: 这是判别模型对生成图像的损失(Discriminator Fake Loss),用于衡量判别器对生成图像的判断准确性,较低的值表示判别器能够较好地识别出生成图像是假的。
  • out_d_fake: 这是判别模型对生成图像的输出(Discriminator Fake Output),表示判别器对生成图像的 “置信度” 或 “得分”,值越低表示判别器认为该图像是假图像的概率越大。

一般来说,希望l_g_pix、l_g_percep、l_g_gan逐渐降低,同时l_d_real和l_d_fake也能稳定在合理范围内,表明生成器和判别器都在正常训练,模型逐渐收敛到较好的状态。

以下是上述各个loss值的大致参考范围:

  • 生成器像素损失(l_g_pix):通常在0.01到0.1之间可能是比较合理的。如果训练的是非常高分辨率或细节丰富的图像,这个值可能会稍高一些;对于一些简单图像或低分辨率图像的超分辨率任务,该值可能会更低。
  • 生成器感知损失(l_g_percep):一般在5到20左右。不过,这也取决于所使用的感知特征提取网络以及具体的图像内容。如果模型能够很好地捕捉到图像的语义和结构信息,这个值会相对稳定且处于一个较低的水平。
  • 生成器对抗损失(l_g_gan):通常在0.1到1之间。在训练初期,这个值可能会较大,随着训练的进行,生成器逐渐学会生成更逼真的图像来欺骗判别器,该值会逐渐降低并稳定在一个合理范围内。
  • 判别器真实图像损失(l_d_real):一般在0.1到0.5左右。这个值反映了判别器对真实图像的判断准确性,值越低说明判别器对真实图像的识别能力越强,但也不能过低,否则可能表示判别器过拟合了真实图像数据。
  • 判别器生成图像损失(l_d_fake):通常在0.1到0.5之间。与l_d_real类似,该值反映了判别器对生成图像的识别能力,合理的值表明判别器能够有效地将生成图像与真实图像区分开来。