循环生成网络 CycleGan 原理介绍(二)

简介: 循环生成网络 CycleGan 原理介绍(二)

每个GAN网络的损失函数

每个GAN生成器将通过最小化损失来学习其对应的变换函数(F或G)。通过测量生成的数据与目标数据的差异(例如,将猫的生成图像与真实猫的图像进行比较的差异)来计算生成器损失。差异越大,生成器将受到的处罚越高。

鉴别器损失也用于训练鉴别器,以擅长区分真实数据和合成数据。

当这两个设置在一起时,它们将彼此改善。训练生成器来欺骗鉴别器,并且鉴别器将被训练为从合成数据中更好地区分真实数据。结果,生成器将非常擅长创建/转换所需数据(学习所需转换,例如F)。

总体而言,GAN损失看起来像:

image.png

单个GAN损失的定义。D是鉴别函数,G是生成函数。

对于第二个生成器-鉴别器对,可以写出类似的损失:

image.png

CycleGAN将尝试最小化两个GAN损失的总和,以变换F和G。

循环变换一致性

理想情况下,我们希望CycleGAN学习周期一致的变换函数F和G。这意味着,在给定输入x的情况下,我们希望前后变换F(G(x))= x'准确地输出原始输入x。从理论上讲这应该是可能的,因为在输入x上应用G将在Y域中输出一个值,而在输入y上应用F将在X域中输出一个值。

周期一致性减少了这些网络可以学习的映射的可能集合,并迫使F和G进行相反的转换。想象一下,学习的函数F通过修改猫的耳朵将猫图片转换为狗图片,而G通过修改猫的鼻子将猫图片转换为猫图片。尽管这些转换可以实现目标,但它们并不一致,因为它们对数据应用了不同的更改。使用周期一致性迫使F和G彼此相反。这样,通过修改猫的耳朵将猫图片转换为狗图片,通过以相反的方式将猫耳朵修改为猫图片。如果这两个函数是周期一致的,则它们也是更有意义的映射。

image.png

左:输入x的循环一致性损失的直观表示。右:输入y的循环一致性损失的直观表示。

仅使用GAN损失训练CycleGAN并不能保证保持循环的一致性。因此,额外的循环一致性损失被用于强制执行此属性。将该损失定义为输入值x与前向预测F(G(x))以及输入值y与前向预测G(F(y ))之间的差异。差异越大,预测与原始输入的距离就越远。理想情况下,我们的网络将这种损失降到最低。

image.png

周期一致性损失的定义。等效于上图中的视觉表示。

完整损失

用于训练网络的完整CycleGan损失的函数定义为两个GAN损失和Cycle一致性损失之和。

加权因子ƛ(称为lambda)用于控制循环一致性损失在全部损失中的权重。权重越高,与其他损失相比,减少循环一致性损失就越有意义。

image.png

CycleGan全损的定义


经过优化以最小化此功能的CycleGAN将能够学习所需的变换F和G。有关机器学习的训练细节,将留在我的后续文章中。

结果

CycleGans已经完成了多项任务的测试,并且能够成功解决它们。这些任务的一些示例是:

图像转换

image.png

输入:原始花图片。输出:改进的花卉图片,并具有焦点和效果。

照片增强功能:CycleGans经过训练,可以生成专业的花朵照片,并具有多个级别的聚焦和模糊度,并且可以使用任何照片编辑工具。

image.png

输入:风景图片。输出:将相同的风景替换到不同的艺术风格下。

图像样式转换:CycleGans经过训练可以改变图片和艺术品的样式。例如,他们已经能够将照片转换成梵高风格的相同风景画。

image.png

从冬天到夏天的风景图片。

季节转换:与样式转换类似,CycleGAN已用于转换拍摄照片的季节。结果令人惊讶,因为许多图像看起来像真实的图片。

音频转换

音乐流派转移:苏黎世联邦理工大学的研究人员已经能够训练CycleGAN,将经典的流行流派音乐歌曲转换为古典音乐作品[4]。

语音转换:日本NTT传播科学实验室的研究人员在使用CycleGAN转换定位者之间的语音注册表时,无论性别如何,都显示出令人印象深刻的结果[5]。

该作品的音频样本可以在他们的网站上找到。

其他

CycleGan官方纸质网站提供了在互联网不同地方发现的其他CycleGAN用例的画廊。我希望这些引人入胜的示例能够鼓励您进一步了解CycleGans,并为它们提供更多有用和有趣的应用程序。

CycleGan问题

尽管CycleGAN在许多上述任务中都取得了明显的成功,但仍显示出100%的成功率。这是他们当前的陷阱:

  1. 当从其训练源中输入数据时,CycleGans可能会提供意外结果(请参见下图)。
  2. 需要进行几何更改而不是颜色或对比度的任务会使输入的更改最小。


用来变换马匹和斑马图像的CycleGan并未提供人类的输入,因此它可以生成任意变换。

进一步的研究可能集中在改进这些领域的工作。一些策略包括使用更广泛和更多样化的数据集,以及使用半监督学习方法。

最后的话

我要感谢并祝贺加州大学伯克利分校AI研究实验室的朱俊彦,Taesung Park,Phillip Isola和Alexei A.Efros在CycleGans方面所做的工作。在他们的网站上,您将找到与该项目有关的更多信息。

我鼓励您看一下我的GANs存储库,在那里您可以找到Python中不同类型的GANs实现,以及在PyTorch和TensorFlow中从头开始进行中的CycleGan实现。

http://github.com/diegoalejogm/gans

感谢您阅读本文直到最后。希望您在学习有关该主题的过程中玩得开心。

引用

[1]Jun-Yan Zhu,Taesung Park,Phillip Isola,Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks,https://arxiv.org/abs/1703.10593

[2] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David  Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, Generative  Adversarial Networks, 2014,https://arxiv.org/abs/1406.2661

[3]Tero Karras,Samuli Laine,Miika Aittala,Janne Hellsten,Jaakko Lehtinen,Timo Aila, Analyzing and Improving the Image Quality of StyleGAN,https://arxiv.org/abs/1912.04958

[4]Gino Brunner,Yuyi Wang,Roger Wattenhofer,Sumu Zhao, Symbolic Music Genre Transfer with CycleGAN,https://arxiv.org/abs/1809.07575)

[5]Takuhiro Kaneko,Hirokazu Kameoka,Kou Tanaka,Nobukatsu Hojo. CycleGAN-VC2: Improved CycleGAN-based Non-parallel Voice Conversion,https://arxiv.org/abs/1904.04631

目录
相关文章
|
17天前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
58 3
|
10天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
21天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
65 1
|
24天前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【10月更文挑战第10天】网络协议定义了机器间通信的标准格式,确保信息准确无损地传输。主要分为两种模型:OSI七层模型与TCP/IP模型。
|
1月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
1月前
|
存储 安全 自动驾驶
探索未来网络:量子互联网的原理与应用
【10月更文挑战第2天】 本文旨在探讨量子互联网的基本原理、技术实现及其在通讯领域的革命性应用前景。量子互联网利用量子力学原理,如量子叠加和量子纠缠,来传输信息,有望大幅提升通信的安全性和速度。通过详细阐述量子密钥分发(QKD)、量子纠缠交换和量子中继等关键技术,本文揭示了量子互联网对未来信息社会的潜在影响。
|
10天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
|
22天前
|
机器学习/深度学习 算法 数据建模
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
计算机前沿技术-人工智能算法-生成对抗网络-算法原理及应用实践
23 0
|
1月前
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
|
1月前
|
XML 网络协议 算法
【TCP】网络原理
【TCP】网络原理
28 0
下一篇
无影云桌面