当前位置: 首页 > web >正文

【python深度学习】Day53对抗生成网络

知识点:
1.对抗生成网络的思想:关注损失从何而来
2.生成器、判别器
3.nn.sequential容器:适合于按顺序运算的情况,简化前向传播写法
4.leakyReLU介绍:避免relu的神经元失活现象

ps:如果你学有余力,对于gan的损失函数的理解,建议去找找视频看看,如果只是用,没必要学

作业:对于心脏病数据集,对于病人这个不平衡的样本用GAN来学习并生成病人样本,观察不用GAN和用GAN的F1分数差异。

对抗生成网络(GAN,Generative Adversarial Network)是一种深度学习模型架构,由生成器(Generator)和判别器(Discriminator)两部分组成,通过两个模型相互对抗、博弈,以达到生成高质量数据样本的目的。

工作原理
生成器 :负责从随机噪声中生成逼真的数据样本,如图像、文本等。它类似于一个伪劣艺术家,试图通过学习训练数据的分布,生成能够以假乱真的作品。判别器 :负责判断给定的数据样本是来自真实训练数据还是生成器生成的假数据。它就像一个专业的艺术评论家,通过不断地审视作品,给出真伪判断。对抗过程 :训练过程中,生成器和判别器相互博弈。生成器不断尝试生成更逼真的样本以欺骗判别器,而判别器则不断学习如何更准确地识别真假样本。在这一过程中,生成器逐渐学习到训练数据的分布规律,生成的样本质量越来越高,判别器的判别能力也越来越强,最终达到纳什均衡,此时生成器生成的样本几乎可以以假乱真。
网络结构
生成器结构 :通常以随机噪声作为输入,经过一系列的线性变换、激活函数等操作,逐步将噪声转化为具有一定结构和特征的数据样本,常见的结构有全连接层、反卷积层、批量归一化层等。例如,DCGAN(Deep Convolutional GAN)中的生成器采用反卷积层逐步上采样,将低维噪声映射到高维图像空间。
判别器结构 :一般是一个卷积神经网络(CNN),用于接收数据样本并输出其为真实数据的概率值。它通过卷积层、池化层等提取样本的特征,并经过全连接层和激活函数(如 sigmoid)得到概率输出。判别器的设计需要考虑如何有效地捕捉数据样本的真实特征,以便准确地区分真实数据和生成数据。
训练过程
初始化 :随机初始化生成器和判别器的网络参数。训练判别器 :固定生成器的参数,使用真实数据和生成器生成的假数据训练判别器,通过优化损失函数(如交叉熵损失)来调整判别器的参数,使其能够更好地判断数据的真伪。
训练生成器 :固定判别器的参数,使用生成器生成的假数据训练生成器,通过优化损失函数(通常也是基于判别器对假数据的判断结果)来调整生成器的参数,使生成器生成的样本更有可能被误判为真实数据。
迭代交替训练 :重复上述训练判别器和生成器的过程,直到达到一定的训练轮数或生成器生成的样本质量达到预期。
应用领域
图像生成与编辑 :可以用于生成高质量的图像,如人物肖像、风景图等;还可以进行图像的风格转换、超分辨率重建、图像修复等图像编辑任务。
文本生成 :在自然语言处理领域,GAN 可以用于文本生成,如生成新闻报道、故事、诗歌等,也可以用于文本到文本的转换任务,如机器翻译、文本摘要等。
语音生成与合成 :能够生成逼真的语音信号,实现语音合成、语音转换等功能,在语音助手、语音识别等应用中具有潜在价值。
数据增强 :通过生成与真实数据分布相似的样本,为其他机器学习任务提供更多的训练数据,提高模型的性能和泛化能力,尤其在数据稀缺的情况下具有重要意义。

GAN 自提出以来,不断涌现出各种改进和变体,如 WGAN(Wasserstein GAN)、CGAN(Conditional GAN)、StyleGAN 等,这些改进在不同方面提升了 GAN 的性能和应用效果。

http://www.xdnf.cn/news/14248.html

相关文章:

  • 安装laravel11和laravel12的一些报错问题解决
  • QDEC vs FlexPWM:RT1176编码器接口深度对比与工程实践指南
  • mysql查看表结构语句
  • 铸铁试验平台的重要性及应用前景
  • MVVM、MVP、MVC
  • MQ选型及RocketMQ架构总览
  • YOLOv3 的网络结构详解
  • Linux系统之pic详解
  • Redis集群模式之Redis Cluster(3)
  • TC3xx中PFLASH缓存对XCP标定常量的影响
  • Fast API 中的用户认证:深入理解 JWT(JSON Web Tokens)
  • 软死锁的检测--看门狗
  • JavaSE超详细笔记-网络编程篇-基于黑马
  • 数据库连接池深度研究分析报告
  • rt-thread的红外遥控开源库使用(裸机版本)记录.
  • 暑期车辆违停治理:视觉算法的实践路径
  • 【C语言】图书管理系统(文件存储版)丨源码+详解
  • 提的缺陷开发不改,测试该怎么办?
  • 《Gulp与SCSS:解构前端样式开发的底层逻辑与实战智慧》
  • QT集成Boost库
  • PyCharm 中更改缓存和插件目录
  • 【华为开发者学堂】HarmonyOS
  • 以MNIST数据集为例进行单机多卡训练(DP和DDP)
  • 每日算法刷题Day31 6.14:leetcode二分答案2道题,结束二分答案,开始枚举技巧,用时1h10min
  • 【生活系列】金刚经
  • 使用 FastMCP 实现 Word 文档与 JSON 数据互转的 Python 服务
  • PHP、Apache环境中部署sqli-labs
  • 【构建】C++包管理器介绍
  • 从0开始学习语言模型--Day01--亲自构筑语言模型的重要性
  • python中的异常处理try-except - else - finally与自定义异常处理