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

深度学习16(对抗生成网络:GAN+自动编码器)

GAN

        生成对抗网络(Generative Adversarial Network,简称GAN),主要结构包括一个生成G(Generator)和一个判别器D(Discriminator)。

生成器(Generator):能够输入一个向量,输出需要生成固定大小的像素图像。

判别器(Discriminator):用来判别图片是真的还是假的,输入图片(训练的数据或者生成的数据)
输出为判别图片的标签。

1、定义GAN结构生成数据
(a)状态处于最初始的状态,生成器生成的分布和真实分布区别较大,并且判别器判别出样本的概率不稳定
2、在真实数据上训练nepochs判别器,产生fake(假数据)并训练判别器识别为假
通过多次训练判别器来达到(b)样本状态,此时判别样本区分得非常显著
3、训练生成器达到欺骗判别器的效果

  • 训练生成器之后达到(c)样本状态,此时生成器分布相比之前,逼近了真实样本分布。经过多次反复训练迭代之后。
  • 最终希望能够达到(d)状态,生成样本分布拟合于真实样本分布,并且判别器分辨不出样本是生成的还是真实的。

损失训练:

整个优化我们其实只看做一个部分,
判别器:相当于一个分类器,判断图片的真伪,二分类问题,使用交叉熵损失
对于真实样本:对数预测概率损失,提高预测的概率。


D、G结构:

DG结构是两个网络,特点是能够反向传播可导计算要介绍G、D结构,需要区分不同版本的GAN。
2014年最开始的模型:

  • G、D都是multilayer perceptron(MLP)
  • 缺点:实践证明训练难度大,效果不行

2015:使用卷积神经网络+GAN(DCGAN(Deep ConvolutionalGAN))
改进:

  1. 判别器D中取出pooling,全部变成卷积、生成器G中使用反卷积(下图)
  2. D、G中都增加了BN层
  3. 去除了所有的全连接层
  4. 判别器D中全部使用Leaky ReLU,生成器除了最后输出层使用tanh其它层全换成ReLU

自动编码器

自动编码器有两个方面的应用:

  1. 数据去噪
  2. 可视化而降维

自动编码器是一种数据的压缩算法,一种使用神经网络学习数据值编码的无监督方式

http://www.lryc.cn/news/587318.html

相关文章:

  • 深入理解 Java JVM
  • Java: OracleHelper
  • MYSQL笔记2
  • 线性基学习笔记
  • 查看Linux服务器显卡使用情况的详细教程
  • 【UE教程/进阶】使用Slate
  • 【unitrix】 5.0 第二套类型级二进制数基本结构体(types2.rs)
  • SQL预编译:安全高效数据库操作的关键
  • 苍穹外卖Day3
  • markdown-it-mathjax3-pro —— 新一代 Markdown 数学公式渲染插件
  • vue的优缺点
  • 框架和库的区别
  • day16~17-系统负载高故障与磁盘管理
  • muduo概述
  • 电商系统未来三年趋势:体验升级、技术赋能与模式重构
  • ASP.NET Core 中的延迟注入:原理与实践
  • 【UE教程/进阶】UE中的指针与引用
  • 应用层协议和JSON的使用
  • gcc 源码阅读---程序入口
  • 面试150 从前序与中序遍历构造二叉树
  • python赤道上空的大气环流剖面图(纬向-高度剖面)
  • Node.js 聊天内容加密解密实战教程(含缓存密钥优化)
  • 【elementUI踩坑记录】解决 el-table 固定列 el-table__fixed 导致部分滚动条无法拖动的问题
  • QT控件命名简写
  • Burp suite的下载安装基础用法(密码喷洒,密码爆破)
  • Linux 系统——管理 MySQL
  • 超市管理系统
  • 问题记录:Fastjson序列化-空值字段处理
  • 数据结构 Map和Set
  • 零基础完全理解视觉语言模型(VLM):从理论到代码实践