对抗生成网络(GAN)学习笔记

article/2025/9/24 17:23:42

生成模型与判别模型

判别模型:由数据直接学习决策函数Y=f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型。判别方法关心的是对于给定的输入X,应该预测什么样的输出Y。
生成模型:由数据学习联合概率分布P(X,Y), 然后由P(Y|X)=P(X,Y)/P(X)求出概率分布P(Y|X)作为预测的模型。该方法表示了给定输入X与产生输出Y的生成关系。

如LR,SVM等均值直接根据输入样本的特征X来判断得出结果Y。而朴素贝叶斯则是借助联合分布来判断样本的类别,P(Y|X)=P(X,Y)/P(X)

判别模型与生成模型的比较
1、生成模型可以转化为判别模型,但判别模型不能转化为生成模型。
2、生成模型收敛速度比较快,当样本数量较多时,生成模型能更快。地收敛于真实模型。
3、判别模型比较节省计算资源,需要的样本数量也少于生成模型。

对抗生成网络(GAN)的作用

目前在做深度学习中,大部分是使用对样本数量比较依赖的监督学习。而实际中,很难在每一方面都能找到大量的数据样本用于监督学习模型的训练。而GAN将在一定程度上摆脱对大量数据样本的依赖,因为GAN能够去学习生成与真实样本很像的假的样本,这些假样本连分类器都难以很好的区分真假,从而在一定程度上弥补了深度学习模型对样本的依赖。
这里写图片描述
如上图,左边是真实的mnist数据集中的手写数字,右边是用GAN的生成器G生成的手写数字,两边数字如果混在一起的话,一般人根本分不清谁真谁假。

GAN的工作原理

工作原理

GAN主要是由一个生成器G(Generator)和一个判别器D(Discriminator)组成。生成器去生成假样本,而判别器则去分辨这个生成的样本是真实的样本还是生成的假样本。生成器的任务是提高作假能力去生成逼真的样本使判别器分辨不出真假,而判别器的任务则是提高分辨能力去分辨样本的真假。
GAN的一个形象比喻:用一个形象的比喻来说,生成器就像一个作假画的人,判别器就像一个警察。作假画的人想要做出假画让警察查不出来,于是他就要学习不断提高他的作假能力,而警察为了打假,不断去提高他的分辨假画的能力。两者不断对抗博弈,直到作假画的人成功骗过警察,警察再也分辨不出画的真假。
这里写图片描述
生成器
对于生成器,输入需要一个n维度向量,输出为图片像素大小的图片。因而首先我们需要得到输入的向量。输入向量一般只需服从某一分布即可(一般用高斯分布),且向量的长度不宜太小。
判别器
判别器就类似于一般深度学习中使用的分类器,如CNN,来分辨真伪。

训练过程

如下图:
这里写图片描述
这里写图片描述
黑色虚线表示真实样本分布,绿色实线表示生成器生成的数据分布,蓝色虚线表示判别器
(a)一开始的时候,生成器生成的数据并不很像真实数据,判别器能够大致分出真伪,但分的不好
(b)生成器不动,判别器训练若干次之后,判别器能够较好的分别真伪
(c)判别器不动,生成器经过训练之后,生成的样本更加贴近真实样本
(d)经过上面b、c步骤的循环训练,最终生成器非常贴近真实数据,判别器已经无法分辨真伪

GAN中训练优化的目标函数如下
这里写图片描述
公式中,先固定生成器不变,训练得到使误差最大的判别器(因为判别器的任务就是使误差最大以便分辨真假),然后再固定判别器不变,训练得到使误差最小的生成器(因为生成器的任务就是减小误差达到难以分辨)
论文中给出的训练过程如下
这里写图片描述


http://chatgpt.dhexx.cn/article/rXtk3rWC.shtml

相关文章

生成对抗网络GAN

1. 概述 生成对抗网络GAN(Generative adversarial nets)[1]是由Goodfellow等人于2014年提出的基于深度学习模型的生成框架,可用于多种生成任务。从名称也不难看出,在GAN中包括了两个部分,分别为”生成”和“对抗”&am…

深度卷积生成对抗网络

理解与学习深度卷积生成对抗网络 一.GAN 引言:生成对抗网络GAN,是当今的一大热门研究方向。在2014年,被Goodfellow大神提出来,当时的G神还是蒙特利尔大学的博士生。据有关媒体统计:CVPR2018的论文里,有三…

【论文阅读】PU-GAN:点云上采样的对抗生成网络

【论文阅读】PU-GAN:点云上采样的对抗生成网络 在本文中,作者提出了一种点云上采样的对抗网络模型,那么什么是点云的上采样任务呢? 简单来说,点云上采样任务就是输入稀疏点云,输出稠密点云,同时…

生成对抗网络——CGAN

1.生成模型原理 1)CGAN的原理 传统的GAN或者其他的GAN都是通过一堆的训练数据,最后训练出了G网络,随机输入噪声最后产生的数据是这些训练数据类别中之一,我们提前无法预测是那哪一个? 因此,我们有的时候…

基于对抗生成网络的滚动轴承故障检测方法

人工智能技术与咨询 点击蓝字 关注我们 来源:《人工智能与机器人研究》 ,作者华丰 关键词: 不平衡工业时间序列;异常检测;生成对抗网络;滚动轴承数据 关注微信公众号:人工智能技术与咨询。了解更多咨询&…

深度学习 - 生成对抗网络

目录 1 GAN产生背景 2 GAN模型 3 CGAN 4 InfoGAN 5 Improved Techniques for Training GANs 6 DCGAN -- Deep convolutional generative adversarial networks 7 GAN应用 1 GAN产生背景 1. 机器学习方法 生成方法,所学到的模型称为生成式模型 生成方法通过观测…

对抗生成网络GAN系列——f-AnoGAN原理及缺陷检测实战

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊专栏推荐:深度学习网络原理与实战 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍🏼、…

对抗生成网络原理和作用

我们通过一个demo(gan.py )来讲解对抗生成网络的原理和作用 1、创建真实数据 2、使用GAN训练噪声数据 3、通过1200次的训练使得生成的数据的分布跟真实数据的分布差不多 4、通过debug方式一步步的讲解 二、原理: 1、G(x&…

生成对抗网络

论文阅读笔记,论文链接 Generative Adversarial Network 生成对抗网络 GAN 理解gan的原理 网络思想 在GAN网络当中,有两个网络,一个是生成网络G,另外一个是判别网络D。生成网络G的目的是生成数据,这里的数据可以是图片…

对抗生成网络GAN系列——CycleGAN简介及图片春冬变换案例

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊往期回顾:对抗生成网络GAN系列——GAN原理及手写数字生成小案例    对抗生成网络GAN系列——DCGAN简介及人脸图像生成案例 🍊近期目标:写…

MATLAB代码:对于对抗生成网络GAN的风光场景生成算法 关键词:场景生成 GAN 对抗生成网络 风光场景

MATLAB代码:对于对抗生成网络GAN的风光场景生成算法 关键词:场景生成 GAN 对抗生成网络 风光场景 仿真平台: pythontensorflow 主要内容:代码主要做的是基于数据驱动的风光新能源场景生成模型,具体为,通过构建了一种对…

对抗生成网络GAN系列——GAN原理及手写数字生成小案例

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊往期回顾:目标检测系列——开山之作RCNN原理详解    目标检测系列——Fast R-CNN原理详解   目标检测系列——Faster R-CNN原理详解 🍊近期目标&a…

GAN——对抗生成网络

GAN的基本思想 作为现在最火的深度学习模型之一,GAN全称对抗生成网络,顾名思义是生成模型的一种,而他的训练则是处于一种对抗博弈状态中的。它使用两个神经网络,将一个神经网络与另一个神经网络进行对抗。 基本思想:&…

一文读懂对抗生成网络的3种模型

https://www.toutiao.com/i6635851641293636109/ 2018-12-17 14:53:28 基于对抗生成网络技术的在线工具edges2cats, 可以为简笔画涂色 前言 在GAN系列课程中分别讲解了对抗生成网络的三种模型,从Goodfellow最初提出的原始的对抗生成网络,到…

对抗生成网络(GAN)详解

目录 前言 目标函数 原理 训练 给定生成器,训练判别器 给定判别器,训练生成器 总结 前言 之前的生成模型侧重于将分布函数构造出来,然后使用最大似然函数去更新这个分布函数的参数,从而优化分布函数,但是这种方法…

对抗生成网络(GAN)简介及生成数字实战

一、简介 生成对抗网络(Generative Adversarial Netword,简称GAN),是一种生成式机器学习模型,该方法由伊恩古德费洛等人于2014年提出,曾被称为“机器学习这二十年来最酷的想法”,可以用来创造虚…

对抗生成网络(Generative Adversarial Net)

好久没有更新博客了,但似乎我每次更新博客的时候都这么说(泪)。最近对生活有了一些新的体会,工作上面,新的环境总算是适应了,知道了如何摆正工作和生活之间的关系,如何能在有效率工作的同时还能…

【PaddleOCR-det-finetune】一:基于PPOCRv3的det检测模型finetune训练

文章目录 基本流程详细步骤打标签,构建自己的数据集下载PPOCRv3训练模型修改超参数,训练自己数据集启动训练导出模型 测试 相关参考手册在PaddleOCR项目工程中的位置: det模型训练和微调:PaddleOCR\doc\doc_ch\PPOCRv3_det_train.…

模型微调(Finetune)

参考:https://zhuanlan.zhihu.com/p/35890660 ppt下载地址:https://github.com/jiangzhubo/What-is-Fine-tuning 一.什么是模型微调 给定预训练模型(Pre_trained model),基于模型进行微调(Fine Tune)。相…

fine-tuning

微调(fine-tuning) 在平时的训练中,我们通常很难拿到大量的数据,并且由于大量的数据,如果一旦有调整,重新训练网络是十分复杂的,而且参数不好调整,数量也不够,所以我们可…