gan拟合高斯分布数据pytorch实现

author author     2023-04-17     252

关键词:

参考技术A GAN本身是一种生成式模型,所以在数据生成上用的是最普遍的,最常见的是图片生成,常用的有DCGAN WGAN,BEGAN。目前比较有意思的应用就是GAN用在图像风格迁移,图像降噪修复,图像超分辨率了,都有比较好的结果。目前也有研究者将GAN用在对抗性攻击上,具体就是训练GAN生成对抗文本,有针对或者无针对的欺骗分类器或者检测系统等等,但是目前没有见到很典范的文章。好吧,笔者有一个项目和对抗性攻击有关,所以要学习一下GAN。

GANs组成:生成器和判别器。结构如图1所示
针对问题: 给定一批样本,训练一个系统能够生成类似的新样本
核心思想:博弈论中的纳什均衡,
判别器D 的目的是判断数据来自生成器还是训练集,
生成器G 的目的是学习真实数据的分布,使得生成的数据更接近真实数据,
两者不断学习优化最后得到纳什平衡点。

D( x) 表示真实数据的概率分布,
G( z) 表示输入噪声z 产生的生成数据的概率分布
训练目标:G( Z)在判别器上的分布D( G( Z) ) 更接近真实数据在判别器上的分布D( X)

接下来就来实现我们的例子把,目标是把标准正态分布的数据,通过训练的GAN网络之后,得到的数据x_fake能尽量拟合均值为3方差为1的高斯分布N(3,1)的数据。

可以看出生成器其实就是简单的全连接网络,当然CNN,RNN等网络都是适合GAN的,根据需要选择。

可以看出判别器其实也是简单的全连接网络,当然CNN,RNN等网络都是适合GAN的,根据需要选择。

在这里想说的是对于判别器和生成器的训练是分开的,训练判别器的时候固定生成器,训练生成器的时候固定判别器,如此循环。本例子中先训练三次判别器,接着训练一次生成器。

为了便于理解具体训练过程,图2 、图3展示了判别器和生成器训练时的数据流向,具体就不展开了,参考注释。

画图函数敬上

然后调用main()函数就好了

红色是目标分布,蓝色是生成分布,还是有一定效果的额。

感受到是在调参了,请教我如何学习生成(xie)对抗(lun)网络(wen)。

如何用单边数据拟合高斯分布?

】如何用单边数据拟合高斯分布?【英文标题】:HowtofitGaussiandistributionwithone-sideddata?【发布时间】:2022-01-1920:03:39【问题描述】:x<-c(-3,-2.5,-2,-1.5,-1,-0.5)y<-c(2,2.5,2.6,2.9,3.2,3.3)挑战在于整个数据都是从左斜率开始的,如何生成... 查看详情

无监督学习高斯混合模型

...面是一个高斯混合分布得例子,如果只用一个高斯分布来拟合图中的数据,则如下图:由于图中的数据明显分为两簇,因此只用一个高斯分布来拟合是不合理的,需要推广到多个,如下图就是用两个高斯分布来拟合:这就引出了... 查看详情

matlab高斯拟合的初始值问题

参考技术Amatlab高斯拟合的初始值问题:最近数学建模用到了高斯混合模型GMM,高斯分布是一种在自然界大量的存在的、最为常见的分布形式。我们的目标用高斯混合模型对数据集进行拟合聚类,得到一个概率的分布,最后做出... 查看详情

matlab,python,pytorch实现数据拟合(代码片段)

目录1、MATLAB实现数据拟合2、纯python实现数据拟合3、pytorch实现数据拟合1、MATLAB实现数据拟合%MATLAB数据拟合x=linspace(-1,1,100);rng('default')%使用整数种子初始化生成器,替换老版本命令rand('state',s);y=3*x.^2+2+... 查看详情

在表达较少的双峰数据上拟合两个高斯

】在表达较少的双峰数据上拟合两个高斯【英文标题】:FittingtwoGaussiansonlessexpressedbimodaldata【发布时间】:2018-04-1700:58:23【问题描述】:我试图在双峰分布data上拟合两个高斯分布,但大多数优化器总是根据如下开始猜测给我错... 查看详情

pytorch笔记-diffusionmodel源码开发(代码片段)

DiffusionModel的效果如下:源码如下:选择一个数据集确定超参数的值确定扩散过程任意时刻的采样值演示原始数据分布加噪100步后的效果编写拟合逆扩散过程高斯分布的模型编写训练的误差函数编写逆扩散采样函数(inference过程)... 查看详情

pytorch实现简单的生成对抗网络gan

...sp;   以下程序主要来自廖星宇的《深度学习之PyTorch》的第六章,本文对原代码进行了改进:importtorchfromtorchimportnnimporttorchvision.transformsastfsfromtorch.utils.dataimportDataLoaderfromtorchvision.datasetsimportMNISTimportnumpyasnpimportmatplotlib.... 查看详情

pytorch笔记-diffusionmodel公式推导

两篇相关论文:DeepUnsupervisedLearningusingNonequilibriumThermodynamics,StanfordUniversity利用非平衡热力学(NonequilibriumThermodynamics)的深度无监督学习DDPM,DenoisingDiffusionProbabilisticModels,UCBerkeley去噪的扩散概率模型GAN,GenerativeAdversarialNetwork,... 查看详情

pytorch笔记-diffusionmodel源码开发(代码片段)

DiffusionModel的效果如下:源码如下:选择一个数据集确定超参数的值确定扩散过程任意时刻的采样值演示原始数据分布加噪100步后的效果编写拟合逆扩散过程高斯分布的模型编写训练的误差函数编写逆扩散采样函数(inference过程)... 查看详情

pytorch搭建基本的gan模型及训练过程(代码片段)

...数绘图函数GAN的训练输出整体代码参考资料概述本文通过Pytorch搭建基本的GAN模型结构,并通过torchvision的MNIST数据集进行测试。对于GAN模型的基本结构及公式的理解可以看前一篇博客:GAN的理论知识及公式的理解下文的实... 查看详情

高斯曲线拟合(代码片段)

...谱离散数据,寻峰完成后截取near峰值的数据,利用高斯拟合重绘单峰曲线,进而实现分峰功能2.原理    3.代码importnumpyasnpfrommathimportlog,expimportmatplotlib.pyplo 查看详情

使用带有概率分布的 Pytorch 数据加载器

】使用带有概率分布的Pytorch数据加载器【英文标题】:UsingPytorchDataloaderwithProbabilityDistribution【发布时间】:2022-01-1901:46:18【问题描述】:TL;DR:我想使用DataLoader对可用行进行加权随机抽样。怎么做?我已经将一些python代码放在... 查看详情

异常检测:应用多元高斯分布进行异常检测

...改变u与Σ的值可以得到不同的高斯分布。参数估计(参数拟合),估计u和Σ的公式如上图所示,u为平均值,Σ为协方差矩阵使用多元高斯分布来进行异常检测首先用我我们的训练集来拟合参数u和Σ,从而拟合模型p(x)拿到一个新... 查看详情

Pytorch:小批量过拟合:调试

】Pytorch:小批量过拟合:调试【英文标题】:Pytorch:Overfittingonasmallbatch:Debugging【发布时间】:2021-01-1611:12:54【问题描述】:我正在构建一个多类图像分类器。有一个调试技巧可以对单个批次进行过拟合,以检查程序中是否存在... 查看详情

python拟合曲线并求参(代码片段)

需要对数据进行函数拟合,首先画一下二维散点图,目测一下大概的分布,所谓正态分布,就是高斯分布,正态曲线是一种特殊的高斯曲线。python的scipy.optimize包里的curve_fit函数来拟合曲线,当然还可以拟合很多类型的曲线。scip... 查看详情

一文搞懂变分自编码器(vae,cvae)

...样本来说,每个样本的高斯分布假设为,问题就在于如何拟合这些分布。VAE构建两个神经网络来进行拟合均值与方差。即,拟合的原因是这样无需加激活函数此外,VAE让每个高斯分布尽可能地趋于标准高斯分布。这拟合过程中的... 查看详情

python+正态分布+拟合是怎么回事

参考技术A高斯分布是从负无穷到正无穷的.能限制住就不是高斯分布了.或者你做个近似的,函数生成的数值如果不在[0,1],就重新随机一次 查看详情

最小化拟合高斯过程

】最小化拟合高斯过程【英文标题】:Minimizingafittedgaussianprocess【发布时间】:2014-04-1711:35:22【问题描述】:我用scikit的高斯过程拟合了一个计算模型。我想找到拟合高斯过程的最小值。达沃【问题讨论】:【参考方案1】:高斯... 查看详情