| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【研究生工作周报】(NICE-GAN论文再回顾) -> 正文阅读 |
|
[人工智能]【研究生工作周报】(NICE-GAN论文再回顾) |
NICE-GAN文章目录前言早在假期就对这篇论文做过初步研究,但碍于当时在对抗生成网络这一领域的基础比较薄弱,所以对论文的理解比较肤浅。通过这段时间对CGAN,pix2pix,CycleGAN等经典GAN模型学习之后,在理论和实践层面对GAN有了一个比较系统的认识。本周就NICE-GAN模型进行一个理论上的总结。 一、图像翻译的问题定义?? ??现在的问题是做无监督的图像翻译时,可以有无数个条件概率 p ( Y ∣ X ) p(Y|X) p(Y∣X) 和 p ( X ∣ Y ) p(X|Y) p(X∣Y) 服从相同的边缘分布 p ( X ) p(X) p(X) , p ( Y ) p(Y) p(Y) ,这也诠释了为什么衡量Cycle-GAN性能时会以pix2pix模型作为Top-line。为了解决这个问题,不同模型都有自己的策略:UNIT使用了weight-coupling,Cycle-GAN使用的cycle-consistency,identity-mapping-enforcing。 对于大多数现存的架构来说,翻译过程可以表述为: 编码器
E
x
E_{x}
Ex?和生成器
G
x
→
y
G_{x \rightarrow y}
Gx→y?组合实现图像的生成 NICE-GAN模型使用判别器进行编码 二、NICE-GAN各组件架构1.多尺度判别器(Multi-Scale Discriminator)??其实从名字就能大概猜出来应该是对输入的img做了多层特征的判别,也就是说传统的discriminator是对一张image做判别,但是Multiscale是多个传统discriminator的叠加。比如Multiscale中的第一个D是用来判别输入img的真假,第二个D是判别输入img经过下采样后的真假,以此类推。。。 ??Multi-Scale Discriminator首先被提出时,用于应对不同尺寸的输入图像。这篇论文里使用一种更有效的方式: 2.残差注意力机制(Residual Attention)为了促进特征在判别器中的传递,U-GAT-IT首次提出引入注意力机制。 基于U-GAT-IT,进一步考虑一个残差连接,引入一个可训练参数
γ
\gamma
γ 来权衡 ( γ \gamma γ =0代表未激活参与特征,非0代表激活残差注意力机制,而且通过对不同数据集的训练发现, γ → 0 \gamma\rightarrow0 γ→0,代表更多关注全局特征,说明翻译图像的全部内容比局部细节更重要) 3. 自适应混合归一化层(Adaptive layer-instance normalization)U-GAT-IT引入了自适应的LN和IN的混合归一化层,帮助我们的注意力引导模型在不修改模型架构或超参数的情况下灵活控制形状和纹理的变化量。 这里说一下Adaptive Layer-Instance Normalization的具体公式:
可视化隐层编码(t-SNE)分析与结论: 通过t-SNE可视化隐层编码,并利用Maximum Mean Discrepancy(MMD)以计算隐层空间两个编码分布的差异。有趣的是,通过NICE的训练,两个域的隐层空间分布变得更加聚集和紧密,但彼此依然可分。这种现象解释了为什么NICE-GAN表现出色。基于共享隐层空间假设构建的NICE-GAN,通过缩短低维隐层空间中域之间的转换路径,可能会促进高维图像空间的域的转换。同时进一步支持了一个重要观点:对比由通过最大似然训练的编码器网络学习的特征,由经过判别训练的网络学习到的特征往往更具表现力,也更适合推理。在NICE-GAN中,编码器也成为分布距离度量函数的一部分,而生成器只需要从隐层分布中提取循环一致性信息并拟合目标域分布。 三. 解耦训练机制由于我们将编码器 E x E_{x} Ex?作为判别器 D x D_{x} Dx?的一部分呢,它也同样作为生成器 G x → y G_{x\rightarrow y} Gx→y?的输入,用传统训练方式会导致不一致。我们采用将编码器 E x Ex Ex的训练同生成器 G x → y G_{x\rightarrow y} Gx→y?解耦。 Adversarial lossLSGAN主要解决关键: 使用最小二乘损失代替交叉熵损失,来避免梯度消失和训练过程不稳定等缺陷。 Cycle-consistency lossReconstruction lossCycle-GAN考虑 identity loss 时有一个域相似性的假设,我们这里考虑Reconstruction loss时是共享隐藏空间的假设 生成器的总损失: ( L g a n = L g a n x → y + L g a n y → x L_{gan} = L^{{x\rightarrow y}}_{gan} + L^{{y\rightarrow x}}_{gan} Lgan?=Lganx→y?+Lgany→x?, L c y c l e = L c y c l e x → y + L c y c l e y → x L_{cycle} = L^{{x\rightarrow y}}_{cycle} + L^{{y\rightarrow x}}_{cycle} Lcycle?=Lcyclex→y?+Lcycley→x?, L r e c o n = L r e c o n x → y + L r e c o n y → x L_{recon} = L^{{x\rightarrow y}}_{recon} + L^{{y\rightarrow x}}_{recon} Lrecon?=Lreconx→y?+Lrecony→x?) 四. 判别网络,生成网络架构总览
参考论文及博客Least Squares Generative Adversarial Networks(LSGANs) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:50:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |