PaddlePaddle论文复现:U-GAT-IT论文阅读笔记

PaddlePaddle论文复现:U-GAT-IT论文阅读笔记

    • 论文的任务以及创新点
    • 模型介绍
      • 模型结构
      • 损失函数
    • AdaLIN

笔者想提高深度学习的代码功底,参与了AIStudio举办的论文复现课程。这次论文复现的主题是GAN和视频分类两个方向。本文要介绍的是GAN方向的论文U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation。论文实现地址:Tensorflow版、Pytorch版。其中在Tensorflow版中作者提供了selfie2anime数据集的下载地址以及模型的权重。

论文的任务以及创新点

论文需要实现的任务为无监督式的图像翻译。在这篇文章中,采用相同的网络结构以及超参数,可以实现保持图像形状的图像风格迁移,如horse2zebra,也可以实现图像形状改变较大的图像翻译,如cat2dog、selfie2anime。

论文在cycleGAN的基础之上进行改进,主要的创新点有两个:

  • 自适应归一化函数AdaLIN
  • attention模块的引入

模型介绍

模型结构

PaddlePaddle论文复现:U-GAT-IT论文阅读笔记_第1张图片
模型中的生成器和判别器分别如上图所示,生成器为Encoder-Decoder结构,图像在Encoder中结果下采样得到特征图,通过一个全连接层学习特征图不同channel的权重,然后得到注意力机制下的特征图,将这些特征图输入到Decoder中,首先通过一个全连接网络学习到自适应层的参数 γ \gamma γ β \beta β,然后通过包含自适应层的网络以及上采样得到生成的图像。

判断器在Encoder以及注意力特征图结构与生成器网络是相同的,不同之处在于之后接的是一个分类器,用来判别图像是否是生成的。

损失函数

文章包含以下几个损失函数:

  • 对抗损失(Adversarial loss):保证生成的图片的分布与实际目标域的分布尽可能接近。
    在这里插入图片描述

  • 循环损失(cycle loss):将 X X X域的图像一次经过 X → Y X\rightarrow Y XY Y → X Y \rightarrow X YX的生成器,结果应该与 X X X域的原始图像接近。
    在这里插入图片描述

  • 身份损失(Identity loss): 保证源域与目标域的颜色分布尽可能接近。
    在这里插入图片描述

  • CAM损失(CAM loss):运用辅助分类器的信息,计算目前状态中哪个部分需要重点注意。
    PaddlePaddle论文复现:U-GAT-IT论文阅读笔记_第2张图片
    最终的目标函数为:
    在这里插入图片描述
    其中 l a m b d a 1 = 1 lambda_1=1 lambda1=1, λ 2 = λ 3 = 10 \lambda_2=\lambda_3=10 λ2=λ3=10, λ 4 = 1000 \lambda_4=1000 λ4=1000

AdaLIN

对于生成对抗网络来说,层归一化(LN)可以使图像风格转换更加彻底,但是生成的图像会损失一定的语义信息,而Instance normalization(IN)的效果则相反,因此,论文提出自适应的归一化层AdaLIN,可以自适应地平衡LN和IN的比例。

A d a L I N ( α , γ , β ) = γ ⋅ ( ρ ⋅ α ^ I + ( 1 − ρ ) ⋅ α ^ L ) + β α ^ I = α − μ I σ I 2 + ϵ , α ^ L = α − μ L σ L 2 + ϵ ρ ← clip [ 0 , 1 ] ( ρ − τ Δ ρ ) \begin{aligned} AdaLIN(\alpha,\gamma,\beta)&=\gamma\cdot(\rho\cdot\hat{\alpha}_I+(1-\rho)\cdot\hat{\alpha}_L)+\beta\\ \hat{\alpha}_I&=\frac{\alpha-\mu_I}{\sqrt{\sigma^2_I+\epsilon}},\hat{\alpha}_L=\frac{\alpha-\mu_L}{\sqrt{\sigma^2_L+\epsilon}}\\ \rho&\leftarrow \text{clip}_{[0,1]}(\rho-\tau\Delta\rho) \end{aligned} AdaLIN(α,γ,β)α^Iρ=γ(ρα^I+(1ρ)α^L)+β=σI2+ϵ αμI,α^L=σL2+ϵ αμLclip[0,1](ρτΔρ)

此外关于类别激活图(CAM)以及论文中的特征提取网络中的Hourglass网络,可以通过参阅相关论文及博客进行了解。

可以参考的博客:

有包含网络结构以及CAM的介绍:

http://www.twistedwg.com/2019/08/07/UGATIT.html

https://zhen8838.github.io/2020/06/08/U-GAT-IT/

Hourglass网络:https://zhuanlan.zhihu.com/p/57631965

你可能感兴趣的:(深度学习,深度学习,计算机视觉)