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

news2024/9/23 23:44:22

目录

  • 摘要
  • 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.coloradmin.cn/o/2158793.html

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

相关文章

2024全球超模大赛(北京|山东|内蒙三城联动)顺利举办

近日,2024 全球超模大赛(北京|山东|内蒙)三城联动暨新国潮文化赛事主题发布会在紫薇美力集团国贸鲁采赋盛大举行。此次发布会旨在鼓励优质模特共同传播中国传统文化,让其在全球范围内绽放光彩,展现中国人的骄傲与风采&…

怎么开通GitHub Copilot?不会开通GitHub Copilot?一文看懂

GitHub Copilot 简介 GitHub Copilot 是由 GitHub 推出的一种人工智能编程助手,旨在帮助开发者更快速、更高效地编写代码。GitHub Copilot 是基于 OpenAI 的 GPT(Generative Pre-trained Transformer)模型开发的,它能够通过理解编…

艾迈斯欧司朗与小象光显联合发布全新uLED智能投影灯,打造多元、交互的智慧城市新视像

艾迈斯欧司朗今日宣布,艾迈斯欧司朗携手微型投影模块供应商小象光显在第二十五届中国国际光电博览会(以下简称:CIOE)期间联合发布全新uLED智能投影灯MLP3000。这款极具创新的uLED智能投影灯由小象设计,采用了艾迈斯欧司…

Linux高级I/O:多路转接模型

目录 一.常见的IO模型介绍二.多路转接I/O1.select1.1.函数解析1.2. select特点和缺点1.3.基于 select 的多客户端网络服务器 2.poll2.1.poll函数解析2.2.poll特点和缺点2.3.基于poll的tcp服务器 3.epoll3.1.系列函数解析3.2.epoll原理解析2.3.基于 select 的多客户端网络服务器…

石油高压胶管的种类和测量方法

关键字:石油高压胶管,高压胶管测径仪,高压胶管种类,高压胶管生产线, 高压钢丝缠绕胶管, 高压钢丝编织胶管,胶管测径仪,非接触测径仪, 石油高压胶管在石油行业中扮演着至关重要的角色,主要用于高压流体输送,特别是在矿井液压支架、油田开发、工程建筑等领…

文件(打开关闭读写) C语言

一、文件 二、打开文件 关闭文件 FILE *fopen(const char *path, const char *mode); 功能: 打开文件,获得对应的流指针数: "r" 只读方式,文件必须存在,不存在则报错 "r" 读写方式&…

VS2019配置Open3Dv0.18.0版本库

文章目录 一、引言二、配置过程三、举个例子参考资料一、引言 现在如果直接使用vs2019对Open3D(v0.15.2)进行编译,会比较麻烦,一是需要科学上网,另一个就是容易出现错误,这里就仍然按照之前的思路来配置新版本的Open3D(VS2015(及以上版本)配置Open3Dv0.15.2版本库)。 二…

计算机毕业设计 | SSM 凌云招聘平台 求职问答审批系统(附源码)

1,绪论 人力资源是企业产生效益、创造利润的必不可少的、最重要的资源。人作为人力资源的个体可看作是一个承载着有效知识、能力的信息单元。这样的信息单元可看作是一个为企业产生价值和利润的个体。从而使得这样的信息单元所具有的信息就是一个有价值的信息。 校…

Android使用OpenCV 4.5.0实现扑克牌识别(源码分享)

一、显示效果展示 二、OpenCV 4.5.0 OpenCV 4.5.0是OpenCV(Open Source Computer Vision Library,开源计算机视觉库)的一个重要更新版本,该版本在多个方面进行了优化和新增了多项功能。 三、ONNX模型 ONNX(Open Neu…

YOLO V10简单使用

一.环境安装 1、下载官方源码 官方GitHub地址:https://github.com/THU-MIG/yolov10 点击跳转 2. 配置conda环境 在conda创建python3.9环境 conda create -n yolov10 python3.9激活切换到创建的python3.9环境 conda activate yolov103. 安装YOLOv10依赖 切换…

GitHub上图像超分开源项目推荐【持续更新】

RAISR 介绍:RAISR(Rapid and Accurate Image Super-Resolution)是一种由Google开发的图像超分辨率技术,它利用机器学习算法来提高低分辨率图像的质量,使其看起来更加清晰和细致。这项技术可以在移动设备上实时运行&am…

JBoss EJBInvokerServlet CVE-2013-4810 反序列化漏洞

环境 vulhub/jboss/JMXInvokerServlet-deserialization 复现 此漏洞存在于JBoss中 /invoker/JMXInvokerServlet 路径。访问若提示下载 JMXInvokerServlet,则可能存在漏洞: 1.访问123.57.211.129:8081/invoker/JMXInvokerServlet 使⽤JavaDeserH2HC进…

聊聊通过「白包账号」能否提高谷歌上架成功率?

大家好,我是牢鹅!按国际惯例先吐槽下谷歌,近一年来对谷歌开发者来说很难,一方面谷歌政策严厉打击;另一方面审查机制不够健全,过分依赖大模型驱动审核,改善他们所谓的执行力。与苹果相比&#xf…

Easy Excel从入门到精通!!!

目录 1.文件导入 1.1基本方式读取excel文件内容 1.2注解模型映射器读取excel 1.3多行表头读取 1.4文件上传读取 2.文件导出 2.1基本方式导出 2.2模型映射导出 2.3设置行高、列宽等内容 2.4合并单元格 2.5导出设置超链接、批注、公式 2.6模板填充对象导出 2.7模板填…

AI大模型日报#0923:李飞飞创业之后首个专访、华为云+腾讯音乐发布昇腾适配方案

导读:AI大模型日报,爬虫LLM自动生成,一文览尽每日AI大模型要点资讯!目前采用“文心一言”(ERNIE-4.0-8K-latest)、“智谱AI”(glm-4-0520)生成了今日要点以及每条资讯的摘要。欢迎阅…

2024个人简历模板免费可编辑,可能是整理最全的简历(支持Word格式下载)

提供各行业简历模板WORD可编辑格式下载,涵盖求职简历模板、大学生简历模板、个人简历模板、留学简历模板、英文简历模板、免费简历模板、工作简历模板、保研简历模板、暑期实习简历、寒假实习简历、校招简历等。 都是word格式,直接下载就能用。 网盘链…

【重磅】考虑火电机组储热改造的电力系统低碳经济调度

目录 1 主要内容 储热改造原理 约束条件 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《考虑火电机组储热改造的电力系统低碳经济调度》,利用原文献火电机组储热改造方案建立模型,在传统火电机组的基础上加装热能存储系统&#xf…

BEV学习--Nuscenes数据集解读

一、Nuscenes数据集简介 Nuscenes数据的采集来自不同城市的1000个场景中,采集车上配备了完善的传感器,包括6个相机(CAM)、1个激光雷达(LIDAR)、5个毫米波雷达(RADAR)、IMU和GPS&…

【RabbitMQ】RabbitMQ 的概念以及使用RabbitMQ编写生产者消费者代码

目录 1. RabbitMQ 核心概念 1.1生产者和消费者 1.2 Connection和Channel 1.3 Virtual host 1.4 Queue 1.5 Exchange 1.6 RabbitMO工作流程 2. AMQP 3.RabbitMO快速入门 3.1.引入依赖 3.2.编写生产者代码 ​3.3.编写消费者代码 4.源码 1. RabbitMQ 核心概念 在安装…

Java中的事件(动作监听-ActionListener)

(一)、ActionListener接口 ActionListener接口用于处理用户界面上的动作事件,例如:按钮点击、菜单选择等。实现ActionListener接口需要重写actionPerformed(ActionEvent e)方法,该方法会在动作发生时被调用。 &#…