GAN生成对抗性网络

news2024/11/27 11:43:14

一、GAN原理

出发点:机器学习中生成模型的问题

                无监督学习是机器学习和未来人工智能的突破点,生成模型是无监督学习的关键部分

特点:

  1. 不需要MCMC或者变分贝叶斯等复杂的手段,只需要在G和D中对应的多层感知机中运行反向传播或者梯度下降算法
  2. 模型通常使用神经网络,其拟合能力最好

G(Generator):用于捕获数据分布的生成模型(生成图像的网络);接收到随机的噪声z,通过噪声z生成图像。尽可能多地模拟、建模和学习真实数据的分布规律。

D(Discriminator):用于判别数据是真实数据还是生成数据(伪数据)的判别模型(判别图像真伪的网络):输入一张图像,输出代表其为真实图像的概率值,100%即判断该图像是真的。

训练过程:

        通过对抗性过程同时训练两个模型,训练过程中,生成器逐渐擅长创建更为真实的图像,鉴别器逐渐擅长判断真伪,当鉴别器没有办法判断图像真伪时,该训练过程达到平衡。

  • 动态博弈过程:G尽可能生成真实的图像欺骗判别网络D,D尽量区别G生成的图像和真实的图像
  • 博弈结果:理想情况下,达到纳什均衡点,G生成可以“以假乱真”的图像

D(x):D网络判断真实图片是否真实的概率,因为x本来就是真实的,所以该值越接近1越好

D(G(z)):D网络判断G生成的图片是否真实的概率

对于G:G希望自己生成的图片越接近真实越好,即G希望D(G(z))尽可能大,V(D, G)会变小,所以对于G是min_G

对于D:D的能力越强,D(x)越大,D(G(x))越小,V(D,G)会变大,所以对于D是求最大max_D

二、GAN框架

第一步训练D时,V(G, D)越大越好,所以加上梯度ascending

第二步训练G时,V(G, D)越小越好,所以减去梯度descending

整个训练过程交替进行

体系结构:

  • 传统生成模型的优化目标:数据的似然
  • GAN创新地使用另外一个优化目标:①引入判别模型②优化过程是在生成模型和判别模型之间找纳什均衡

三、GAN实现过程

1.前向传播阶段

模型输入:
        随机产生一个随机向量作为生成模型的输入数据,然后经过生成模型后产生一个新的向量,即为Fake Image

        从数据集中随机选择一张图片,将图片转化成向量,即为Real Image

模型输出:

        fake image和real image是判别网络的输入,根据输入的图片类型是Fake Image或Real Image将判别模型的输入数据的label标记为0或者1。即判别模型的输入类型为(xfake,0)或者(xreal,1)。

        经过判别网络后输出一个0到1之间的数,用来表示输入图片为真实图像的概率。

2.反向传播阶段—优化目标

①优化D

②优化G

3.损失函数

        希望生成样本和真实样本拥有相同的概率密度函数

        GAN的损失函数源自于二分类对数似然函数的交叉熵损失函数。第一项是使正样本的识别结果尽量为 1 ,第二项是使负样本的预测值尽量为 0 

损失函数:

4.迭代更新

得到损失函数后按照单个模型的更新方法进行修正

四、GAN特性

        采用对抗思想的原因:评估一个生成样本的质量,是一个很难量化的指标。对抗思想,把评估生成样本的质量的任务交给一个判别器模型去做

特点:

        传统模式相比,有两种不同的网络,采用对抗训练方法

缺点:

        训练GAN需要达到Nash均衡,有时候可以通过梯度下降方法实现,有时候不能;

        GAN不适用于处理离散数据,如文本;

        GAN存在训练不稳定、梯度消失和模态崩溃等问题

五、GAN应用

        用于无监督学习和半监督学习

        GAN与强化学习相结合

        图像样式转换、图像降噪和恢复、图像超分辨率

        计算机视觉,图像、文本、语音,或者任何含有规律的数据合成

        用于分类领域:将判别器替换为分类器,执行多个分类任务

六、其他

①早停法(Early Stopping):

        生成器或鉴别器损失突然增加或减少

        损失函数随机上升或下降,可能得到生成器的损失远远高于判别器的损失

②处理Mode Collapse(模式坍塌|生成器”崩溃”,总是将每一个输入的隐向量生成单一的样本)问题时,尝试使用较小的学习率,并从头开始训练

③添加噪声:在真实数据和合成数据中添加噪声,提高判别器的训练难度有利于提高系统的整体稳定性

④标签平滑:将标签值设置成一个低一些的值,阻止判别器对分类标签过于确信

⑤多尺度梯度(处理不太小的尺度时使用):由于两个网络之间的多个跳连接,梯度流从判别器流向生成器,和传统的用于语义分割的U-Net类似

⑥双时间尺度更新规则:使用不同的学习速率;为判别器选择一个更高的学习率(生成器必须用更小的更新幅度来欺骗判别器,不会选择快速、不精确和不现实的方式赢得博弈)。使用TTUR时,生成器有更大的损失量

⑦谱归一化:应用于卷积核的一种特殊的归一化,可以极大地提高训练的稳定性

参考链接:GAN-生成对抗性神经网络 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1450853.html

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

相关文章

(2024,DiS,扩散,状态空间主干,Mamba)具有状态空间主干的可扩展扩散模型

Scalable Diffusion Models with State Space Backbone 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 2. 方法 2.1 基础 2.2 模型结构设计 3. 实验 0. 摘要 这篇论文提出…

挑战杯 python区块链实现 - proof of work工作量证明共识算法

文章目录 0 前言1 区块链基础1.1 比特币内部结构1.2 实现的区块链数据结构1.3 注意点1.4 区块链的核心-工作量证明算法1.4.1 拜占庭将军问题1.4.2 解决办法1.4.3 代码实现 2 快速实现一个区块链2.1 什么是区块链2.2 一个完整的快包含什么2.3 什么是挖矿2.4 工作量证明算法&…

MySQL容器的数据挂载

挂载本地目录或文件 可以发现,数据卷的目录结构较深,如果我们去操作数据卷目录会不太方便。在很多情况下,我们会直接将容器目录与宿主机指定目录挂载。挂载语法与数据卷类似: # 挂载本地目录 -v 本地目录:容器内目录 # 挂载本地…

社区商铺开什么店最好?从商业计划书到实际运营

在社区商铺开店,选择适合的业态是成功的关键。作为一名开店 5 年的资深创业者,我想分享一些关于社区店的干货和见解。 这篇文章,我用我的项目给大家举例子! 鲜奶吧作为一种新兴的业态,以提供新鲜、健康的乳制品为主&…

抽象的问题1

vue3&#xff0c;在使用v-mode绑定属性时&#xff0c;发生了奇怪的问题&#xff0c;渲染失败了 代码如下 <template><div><form><div>账号<input v-model"form_user_Data.username" type"text"></div><div>密…

百模大战怎么样了?

百度入场最早&#xff0c;paddlegan/paddlepaddle多年前就布局了中小模型&#xff0c;ERNIE1.0 大模型早在2019年就发布了&#xff0c;只不过效果差&#xff0c;成本高没弄起来。 后来借着chatgpt的东风&#xff0c;百度几乎国内第一时间发布了国产大模型文心一言&#xff0c;文…

寒假学习记录17:包管理器(包管理工具)

概念 包&#xff08;package&#xff09; 包含元数据的库&#xff0c;这些元数据包括&#xff1a;名称&#xff0c;描述&#xff0c;git主页&#xff0c;许可证协议&#xff0c;作者&#xff0c;依赖..... 库&#xff08;library&#xff0c;简称lib&#xff09; 以一个或多个模…

从数字孪生到智慧城市:科技引领下的城市未来展望

一、引言 随着科技的飞速发展&#xff0c;数字孪生和智慧城市已成为当今世界城市发展的重要趋势。数字孪生通过建立物理世界的数字模型&#xff0c;为城市管理和规划提供了前所未有的可能性&#xff1b;而智慧城市则借助先进的信息通信技术&#xff0c;使城市运行更加高效、便…

springboot194基于springboot的医药管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的医药管理系统 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考。 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **…

软件实例分享,药店进销存软件医药系统进销存教程

软件实例分享&#xff0c;药店进销存软件医药系统进销存教程 一、前言 以下软件程序教程以 佳易王药店进销存管理系统V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 软件可以对药品的有效期进行管理&#xff0c;可以查询还有多少天到期的…

Peter算法小课堂—哈希与哈希表

额……字符串我们是第一次学&#xff0c;给大家铺一些基础的不能再基础的基础&#xff0c; 字符串比较大小 字符串大小的比较&#xff0c;不是以字符串的长度直接决定&#xff0c;而是从最左边第一个字符开始比较&#xff0c;大者为大&#xff0c;小者为小&#xff0c;若相等…

详解 Redis 实现数据去重

✨✨ 欢迎大家来到喔的嘛呀的博客✨✨ &#x1f388;&#x1f388;希望这篇博客对大家能有帮助&#x1f388;&#x1f388; 目录 言 一. Redis去重原理 1. Redis Set 数据结构 2. 基于 Set 实现数据去重 3. 代码示例 4. 总结 …

SG5032EEN晶体振荡器SPXO

5G将使通信流量呈指数级增长&#xff0c;5G通信网络需要高速和宽带&#xff0c;同时将噪声水平保持在最低水平&#xff0c;这可以通过通信设备的高频低抖动参考时钟来实现&#xff0c;使用上述晶体振荡器SPXO&#xff0c;客户可以输入一个具有极低相位抖动和功率的高频参考时钟…

进程间通信——管道

文章目录 进程间通信的介绍进程间通信的目的进程间通信的本质 匿名管道创建管道匿名管道的特征 命名管道小结 进程间通信的介绍 进程间通信简称IPC&#xff08;Interprocess communication&#xff09;&#xff0c;进程间通信就是在不同进程之间传播或交换信息。 进程间通信的…

算法刷题:和为s的两个数

和为s的两个数 .题目链接题目详情算法原理我的答案 . 题目链接 和为s的两个数 题目详情 算法原理 这里我们是利用单调性来使用双指针的对撞指针来解决问题 因为数组给的是有序递增的,因此我们设置两个指针left和right来解决问题,当nums[left]与nums[right]相加会有三种情况:…

apple iCloud photo close

关闭掉就不当心图片上传到服务器&#xff08;暗地里有没有执行上传就不知道了&#xff09;&#xff0c;然后接电脑存放还要从服务器上下载很麻烦&#xff0c;但是你要确保自己手机内存卡足够多 关闭iCloud会提示&#xff0c;从服务器下载图片

混合键合(Hybrid Bonding)工艺解读

随着半导体技术的持续演进&#xff0c;传统的二维芯片缩放规则受到物理极限的挑战&#xff0c;尤其是摩尔定律在微小化方面的推进速度放缓。为了继续保持计算性能和存储密度的增长趋势&#xff0c;业界开始转向三维集成电路设计与封装技术的研发。混合键合技术就是在这样的背景…

算法学习——LeetCode力扣贪心篇4

算法学习——LeetCode力扣贪心篇4 763. 划分字母区间 763. 划分字母区间 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。 注意&#xff0c;划分结果需要满足&#xf…

第13集《佛说四十二章经》

和尚尼慈悲&#xff01;诸位法师、诸位居士&#xff0c;阿弥陀佛&#xff01; 请大家打开讲义第十八面&#xff0c;第三十六章、辗转获胜。 佛陀在《法华经》上&#xff0c;对我们的三界果报&#xff0c;清楚的开示说&#xff1a;三界无安&#xff0c;犹如火宅&#xff0c;众…