【第十二周】李宏毅机器学习笔记10:生成式对抗网络2

目录

  • 摘要
  • Abstract
  • 1.GAN is Still Challenging
  • 2.Evaluation of Generation
    • 2.1 Mode Collapse
    • 2.2.Mode Dropping
    • 2.3.Diversity
  • 3.Conditional GAN
  • 4.Learning from Unpaired Data
  • 总结

摘要

本周主要学习了上周关于生成式对抗网络的剩余知识,了解了为什么 GAN 难以训练。此外,还学习了如何去评估 GAN 的性能以及在训练 GAN 过程中比较容易遇到的问题。最后还学习了条件生成对抗网络以及如何实现在非配对数据中学习。

Abstract

This week, I mainly reviewed the remaining knowledge about Generative Adversarial Network studied from last week and understood why the GANs are difficult to train. In addition, I also learned how to evaluate the performance of GANs and common problems encountered during the process training GANs. Finally, I learned Conditional GAN and how to implement learning from unpaired data.

1.GAN is Still Challenging

在这里插入图片描述

Generator 和 Discriminator 两部分是互动的,一旦一个出现问题,那么训练可能就停下来了,两者一定要棋逢对手。因为我们不能保证每次训练的 loss 都能降低,所以对 GAN 进行训练是一件很困难的事情。

在这里插入图片描述
当我们把 GAN 用于文字生成任务时,当 Decoder 的参数发生微小的变化时,得到的分布也会随之发生微小的变化,但是对于生产出来的文字并没有发生变化,因此 Discriminator输出的分数也不会发生改变,于是无法计算微分也就不能使用梯度下降法 。

2.Evaluation of Generation

在这里插入图片描述
对于这个 GAN 的评估我们可以这样做:将GAN产生的图片放到一个影像辨识系统里,输出是一个概率分布,如果概率分布比较平坦说明机器无法辨识是哪个种类的图片,如果概率分布比较集中则说明生成出来的效果比较好。但是,采用这种办法可能又会导致几个新的问题。

2.1 Mode Collapse

在这里插入图片描述
第一个问题是Mode Collapse,它是指训练开始时,产生的图片质量比较不错,当训练很久后,会发现它产生的图片数目比较匮乏。发生 Mode Collapse 现象的原因是 Generation 产生了 Discriminator 分辨不了的图片后,Generation会抓住这一点,一直产生类似的图片。

2.2.Mode Dropping

在这里插入图片描述

另一个问题是Mode Dropping,它是指产生的资料只有真实资料的一部分,虽然产生的资料分布表示不错,但是真实资料的分布比它更加丰富。

2.3.Diversity

在这里插入图片描述
我们将一批图片输入 CNN 网络进行分类,最后得出来的平均概率如果分布比较集中,说明多样性比较低。
在这里插入图片描述
反之,如果输出的概率比较平坦,说明多样性比较高。

在这里插入图片描述
IS的问题在于它可以判断生成图像的正确类型,但不能保证生成图像的多样性和质量。Fréchet Inception Distance可以解决这个问题,它的主要思想是通过输出分类的倒二层的特征进行判断。

在这里插入图片描述
假如用FID来评估 GAN 的话,当 FID 很小的时候,生成器有可能生成出来和真实数据一摸一样的图片,但是这并不是我们想要的结果。评估 GAN 的性能是一个非常值得研究的题目。

3.Conditional GAN

在这里插入图片描述
Conditional GAN是指额外地输入一段向量,这段向量规定生成的图像需要包含什么特征。对于文生图任务来说,可以把规定好的条件通过一个 RNN 或 Transformer 等结构传入 Generator,然后就可以生成具备相应条件的图片。

在这里插入图片描述
在 Conditional GAN 里要对 discriminator 做不一样的设计。因为只把图像 y 输入 discriminator 中的话,discriminator 会忽略掉输入的条件 x。

在这里插入图片描述
我们需要让 discriminator 同时接受 x 和 y 进行评分,这就要求我们的训练资料是一组文字-图像对

在这里插入图片描述
除了文生图之外,Conditional GAN 还可以应用于图生图,这种任务我们称之为 Image translation 或者是 pix2pix 。

在这里插入图片描述
图生图任务的流程实际上和文生图也差不多。

在这里插入图片描述
Conditional GAN 甚至还可以利用声音来生成图像,对于这个任务来说,收集数据尤为简单,我们可以利用电影资源来收集数据。电影中每一帧对于了一段声音讯号,这个特性非常适合我们进行训练。

4.Learning from Unpaired Data

在这里插入图片描述

普通的网络比较难处理没有配对的资料,但是GAN可以。

在这里插入图片描述
在 Image Style Transfer 中,我们要训练一个Deep Network,现在的训练资料是不成对的(unpaired),因此考虑用GAN来解决问题。

在这里插入图片描述

输入是 Domain x 图片的分布,输出是 Domain y 图片的分布。

在这里插入图片描述

如果单纯地和先前任务一样的做法去实现 Image Style Transfer ,生成器生成出来的图片会无视掉输入的图片,因为生成器只负责生成出来一张可以骗过判别器的图片。

在这里插入图片描述
实际操作与之前的GAN不同在于Generator会无视输入,也就是生成的二次元图片与输入的真人图片没有联系,因此考虑使用Cycle GAN。Cycle GAN会训练两个Generator,这两个Generator的作用是将原来的真人图转成二次元图,再将二次元图转成真人图,目标是输入的真人图与输出的真人图越接近越好。

在这里插入图片描述
除了影像风格转换,Cycle GAN 甚至可以用于 Text Style Transfer。

总结

生成对抗网络(GANs)虽然强大且具有广泛应用潜力,但由于其独特的架构和训练方式,存在一些挑战使其训练变得困难。GANs的训练过程中,生成器和判别器之间的对抗博弈可能会导致训练不稳定,从而导致训练过程中的模式崩溃(mode collapse),即生成器生成的结果过于单一,不能覆盖真实数据的多样性。并且生成器可能只学习生成少数几种模式,而忽视了其他可能的模式,这会导致生成结果的多样性和质量下降。对于GANs生成的结果进行定量评估通常很困难,虽然有一些指标,如Inception Score或Fréchet Inception Distance(FID),但它们并不能完全反映生成样本的真实质量。而Conditional GAN(条件生成对抗网络,简称 CGAN)是一种生成对抗网络(GAN)的扩展形式。传统的GAN由两部分组成:生成器(Generator)和判别器(Discriminator)。生成器的目标是从随机噪声中生成逼真的样本(例如图像),而判别器的目标是区分这些生成的样本与真实的样本。两者通过对抗的方式共同进化,最终生成器能够产生高质量的、逼真的数据。CGAN 在此基础上增加了一个条件变量 y,这个条件变量可以是类别标签、文本描述或其他形式的信息,用于指导生成过程。也就是说,生成器和判别器不仅接收随机噪声(生成器)或数据样本(判别器),还会接收一个条件信号 y,以便生成特定类型的输出或评估特定条件下的样本真实性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1543507.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【数字】flexnoc Qos配置

对于Qos_generator 的regulator模式来说可以配置的寄存器如下表: 因为我们没有使用external的clk来做count,也没有使用外部的threshold,所以都是使用的internal的时钟。 根据文档讲解的概念Bandwidth设置为下: Urgency使用来源如…

Nat Med.作者提供全文的绘图代码,对于学习作图很有帮助(一)

本期教程 获得本期教程全文代码:在订阅号后台回复关键词:20240923 2022年教程总汇 2023年教程总汇 引言 今天分享的文章是2024发表在Nat Med.期刊中,来自上海交通大学医学院的文章,作者提供了全文的绘图代码,确实勇&a…

S32K3 工具篇8:如何移植RTD MCAL现有demo到其他K3芯片

S32K3 工具篇8:如何移植RTD MCAL现有demo到其他K3芯片 一,文档简介二 ,平台以及移植步骤2.1 平台说明2.2 移植步骤2.2.1 拷贝工程并配置2.2.1.1 拷贝工程2.2.1.2 配置工程 2.2.2 EB 工程配置 三, 命令行编译及其结果测试四&#x…

在idea里运行swing程序正常,但是在外部运行jar包却报错,可能是jdk版本问题

在idea里运行swing程序异常,报Caused by: java.awt.HeadlessException错误 System.setProperty("java.awt.headless","false");加上这句话

Spring Data Rest 远程命令执行命令(CVE-2017-8046)

(1)访问 http://your-ip:8080/customers/1,然后抓取数据包,使用PATCH请求来修改 PATCH /customers/1 HTTP/1.1 Host: Accept-Encoding: gzip, deflate Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MS…

iOS OC 底层原理之 category、load、initialize

文章目录 category底层结构runtime 执行 category 底层原理添加成员变量 load调用形式系统调用形式的内部原理源码实现逻辑 initialize调用形式源码核心函数(由上到下依次调用)如果分类实现了 initialize category 底层结构 本质是结构体。struct _cat…

AlmaLinux 安裝JDK8

在 AlmaLinux 上安装 JDK 8 可以通过包管理器 dnf 来完成。AlmaLinux 是基于 RHEL 的一个开源发行版,因此其包管理系统和 RHEL 类似。以下是详细的步骤来安装 OpenJDK 8 1. 更新系统包列表 sudo dnf update -y 2. 安装 OpenJDK 8 使用 dnf 安装 OpenJDK 8。你可…

召回的在线评估与离线评估

在现代信息检索、推荐系统等应用场景中,召回阶段扮演着至关重要的角色。召回系统负责从海量候选项中筛选出潜在相关的内容,因此其效果直接影响用户的满意度和系统的效率。为了确保召回系统的性能,我们需要对其进行评估,而评估方法…

C++中set和map的使用

1.关联式容器 序列式容器里存储的是元素本身&#xff0c;如vector、list、deque 关联式容器即&#xff0c;容器中存储<key&#xff0c;value>的键值对&#xff0c;树型结 构的关联式容器主要有四种&#xff1a;map、set、multimap、multiset。他们都使用平衡搜索树(即红…

医学数据分析实训 项目四 回归分析--预测帕金森病病情的严重程度

文章目录 项目四&#xff1a;回归分析实践目的实践平台实践内容 预测帕金森病病情的严重程度作业&#xff08;一&#xff09;数据读入及理解&#xff08;二&#xff09;数据准备&#xff08;三&#xff09;模型建立&#xff08;四&#xff09;模型预测&#xff08;五&#xff0…

Web端云剪辑解决方案,可实现移动端、PC、云平台无缝兼容

美摄科技作为业界领先的视频技术解决方案提供商&#xff0c;再次以科技创新为驱动&#xff0c;隆重推出其Web端云剪辑解决方案&#xff0c;彻底颠覆传统剪辑模式的界限&#xff0c;为视频创作者、影视制作人及广告从业者带来前所未有的高效与便捷。 【跨平台无缝协作&#xff…

消息队列:如何确保消息不会丢失?

引言 对业务系统来说&#xff0c;丢消息意味着数据丢失&#xff0c;这是无法接受的。 主流的消息队列产品都提供了非常完善的消息可靠性保证机制&#xff0c;完全可以做到在消息传递过程中&#xff0c;即使发生网络中断或者硬件故障&#xff0c;也能确保消息的可靠传递&#…

智能优化算法-多目标灰狼优化算法(MOGWO)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 多目标灰狼优化算法 (Multi-Objective Grey Wolf Optimizer, MOGWO) 是一种基于群体智能的元启发式优化算法&#xff0c;它扩展了经典的灰狼优化算法 (GWO)&#xff0c;专门用于解决多目标优化问题。MOGWO通过模…

IT监控管理工具 WGCLOUD - 使用公共告警消息推送接口

WGCLOUD的公共告警接口 用于外部业务系统调用的告警接口&#xff0c;需要升级到v3.4.5或以上版本 只要调用这个接口&#xff0c;就可以将消息同步推送到我们的告警平台&#xff0c;比如邮件&#xff0c;钉钉&#xff0c;企业微信等 此接口主要给有告警需求的第三方系统使用&…

软件功能测试需进行哪些测试?第三方软件测评机构有哪些测试方法?

在信息化社会迅速发展的今天&#xff0c;软件功能测试在软件开发生命周期中占据着不可或缺的地位。软件功能测试是评估软件系统是否符合预期功能和用户需求的过程。其重要性体现在提升软件质量、确保用户满意度以及降低维护成本等方面。 软件功能测试是对软件应用程序进行的一…

软件测试实验室如何利用GB/T25000标准建立测试技术体系

《系统与软件工程 系统与软件质量要求和评价&#xff08;SQuaRE&#xff09;》是国际标准化组织ISO/IEC为统一软件质量评判标准而指定的软件质量度量和评价的标准。该标准是开展中国合格评定国家认可委员会&#xff08;CNAS&#xff09;实验室认可软件测评实验室过程中需要参照…

开源模型应用落地-Qwen2.5-Coder模型小试-码无止境(一)

一、前言 代码专家模型是一种基于人工智能的先进技术&#xff0c;旨在自动分析和理解大量代码库&#xff0c;并从中学习常见的编码模式和最佳实践。这种模型通过深度学习和自然语言处理&#xff0c;能够提供准确而高效的代码建议&#xff0c;帮助开发人员在编写代码时有效地避免…

[ComfyUI]Flux:太美啦!绮梦流光-水湄凝香,写实与虚拟混合,极致细节和质感

大家好我是安琪&#xff01;&#xff01;&#xff01; 在数字艺术和创意领域&#xff0c;[ComfyUI]Flux已经成为艺术家和设计师们手中的利器。今天&#xff0c;我们激动地宣布&#xff0c;[ComfyUI]Flux带来了一款令人瞩目的创新作品——绮梦流光-水湄凝香。这款作品将写实与虚…

怎么把kgm转换成mp3?5个kgm转mp3的方法,亲测管用!

很多小伙伴不难发现kgm格式只能在固定的平台或设备上播放&#xff0c;如果想要打破这一限制&#xff0c;我们可以将kgm格式转换为兼容性较强的mp3格式。 下面&#xff0c;就来给大家分享5个好用的kgm转mp3方法&#xff0c;操作简单&#xff0c;小白也能分分钟学会哦~ kgm转mp3…

全民皆信奥?编程教育不应成为‘金牌梦’的牺牲品

近年来&#xff0c;信息学奥赛&#xff08;信奥&#xff09;成为众多家长为孩子规划的学习目标之一&#xff0c;期望通过编程学习在未来脱颖而出&#xff0c;甚至进入清华、北大等顶尖高校。然而&#xff0c;是否每个孩子都适合走这条信息学奥赛的道路&#xff1f;全民皆信奥是…