GAN 生成对抗神经网络

GAN

文章目录

  • GAN
    • GAN的结构
    • GAN的目标函数
    • GAN的训练
    • GAN的优势和不足
      • 优势
      • 不足

GAN的结构

GAN的设计灵感来源于博弈论中的零和博弈(Zero-sum Game),在零和博弈中,参与双方的收益是完全相反的,一方的收益必然导致另一 方的损失,总收益为零。

GAN 主 要 由 两 部 分 组 成 : 生 成 器 ( Generator ) 和 判 别 器 (Discriminator),它们分别扮演了两个不同的角色。 生成器的任务是生成接近真实数据分布的样本,而判别器的任务则是尽可 能地区分真实的样本和生成器生成的样本。 通过生成器和判别器之间的对抗,GAN可以学习到生成高质量样本的能力。

以图片生成为例: 生成器是一个生成图片的网络,它使用服从某一分布(均匀分布或高斯 分布)的噪声生成一个类似真实训练数据的图片,记作𝐺(𝒛),追求效果 是越像真实图片越好。 判别器是一个二分类器,用来判断一个图片是不是“真实的” ,它的输入是采样的真实图片𝒙以及生成器生成的图片𝐺(𝒛),输出是输入图片是真实图片的概率,如果输入图片来自真实数据,那么判别器输出大的概率,否则,输出小的概率。

image-20240425145159732

GAN的目标函数

GAN的目标是使生成器生成的数据能够骗过判别器,因此需要定义一个目标函数,使得判别器判断真实样本为“真” 、生成样本为“假”的概率最小化。
min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p d a t a ( x ) [ l o g D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \min_G\max_DV(D,G)=E_{\boldsymbol{x}\thicksim p_{data}(\boldsymbol{x})}[logD(\boldsymbol{x})]+E_{\mathbf{z}\thicksim p_{\mathbf{z}}(\mathbf{z})}[\log{(1-D(G(\mathbf{z})))}] GminDmaxV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]
其中, V ( D , G ) V(D,G) V(D,G)表示真实样本和生成样本的差异程度; p d a t a ( x ) p_{data}(x) pdata(x)表示真实数据 x x x的分布, p z ( z ) p_{z}(z) pz(z)表示噪声z的分布, D ( x ) D(x) D(x)表示判别器认为 x x x是真实样本的概率, D ( G ( z ) ) D(G(\mathbf{z})) D(G(z))表示判别器认为生成样本 G ( z ) G(\mathbf{z}) G(z)是假的概率。

训练GAN的时候,判别器希望目标函数最大化,也就是使判别器判断真实样本为“真” 、判断生成样本为“假”的概率最大化,要尽量最大化自己的判别准确率。可以写作损失函数的形式:
L ( G , D ) = − E x ∼ p d a t a ( x ) [ log ⁡ D ( x ) ] − E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] L(G,D)=-E_{x\sim p_{data}(x)}[\log D(x)]-E_{z\sim p_z(z)}[\log(1-D(G(z)))] L(G,D)=Expdata(x)[logD(x)]Ezpz(z)[log(1D(G(z)))]
与判别器相反,生成器希望目标函数最小化,也就是迷惑判别器,降低其对数据来源判断正确的概率,也就是最小化判别器的判别准确率。如果采用零和博弈,生成器的目标是最小化𝑉(𝐷, 𝐺),而实际操作时发现零和博弈的训练效果并不好,生成模型一般采用最小化公式:
E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] E_{\mathbf{z}\sim p_{\mathbf{z}}(\mathbf{z})}[\log\left(1-D(G(\mathbf{z}))\right)] Ezpz(z)[log(1D(G(z)))]

GAN的训练

GAN的训练过程包含三个步骤:

  1. 使用采样的真实数据𝒙训练判别器,即输入真实数据𝒙到判别器,前向传播,得到输出为1(表示判断结果为真),之后使用反向传播算法更新判别器的参数。
  2. 使用生成器生成的数据𝐺(𝒛)训练判别器,即输入生成器生成的数据𝐺(𝒛)到判别器,前向传播,得到输出为0(表示判断结果为假),之后使用反向传播算法再次更新判别器的参数。
  3. 最后,使用生成器生成的数据𝐺(𝒛)训练生成器,即输入生成器生成的数据𝐺(𝒛)到判别器,采用上一步训练好的判别器的参数(冻结判别器的参数)前向传播,得到输出为1(表示判断结果为真),之后使用反向传播算法更新生成器的参数,这一步的目的在于训练更好的生成器,以迷惑判别器,使之将生成器生成的数据判别为真。

在这个过程中,双方都极力优化自己的网络,从而形成竞争对抗,直到双方达到一个动态的平衡。此时,生成器生成的数据分布无限接近真实数据的分布,判别器判别不出输入的是真实数据还是生成的数据,输出概率都是百分之五十。

image-20240425150923061

训练算法如下
在这里插入图片描述

GAN的优势和不足

优势

  1. 任何一个可微分函数都可以参数化D和G(如深度神经网络)
  2. 支持无监督方法实现数据生成,减少了数据标注工作
  3. 生成模型G的参数更新不是来自于数据样本本身(不是对数据的似然性进行优化),而是来自于判别模型D的一个反传梯度。

不足

  1. 无需预先建模,数据生成的自由度太大
  2. 得到的是概率分布,但是没有表达式,可解释性差。
  3. D与G训练无法同步,训练难度大,会产生梯度消失问题。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python400集 视频教程,手把手带你零基础手写神经网络!!

嗨喽,大家好,今天又要给大家整一波福利了! 学习编程,最忌讳就是今天一个教程,明天一个教程,频繁更换教程,增加自己的学习成本,对于新手小白会是一件严重打击自信心的事情。所以今天…

jetson开发板+外接散热风扇

本文参考链接 https://news.mydrivers.com/1/580/580811.htm?refhttps%3A//www.baidu.com/link%3Furl%3DM_D45a-od3NK-ER_Flgqqw4LjHLinB1xrmYNj7VVqHlM2zVXwR9Z7FGilCYDRRJYNpIsdejeAfpVtmVTowuFfK%26wd%3D%26eqid%3D81e7865e000256a5000000046628ff4a 一、三种风扇的种类 二…

全自动装箱机多少钱?它的性能和优势又是怎样的呢?

在现代化的生产线中,全自动装箱机已经成为许多企业提升效率、降低成本的重要设备。那么,全自动装箱机到底多少钱?它的性能和优势又是怎样的呢? 一、全自动装箱机:高效省力的生产助手 全自动装箱机是一种高度自动化的包装设备,能…

掌握未来通信技术:5G核心网基础入门

🔥个人主页:Quitecoder 🔥专栏:5GC笔记仓 朋友们大家好,本篇文章是我们新内容的开始,我们本篇进入5GC的学习,希望大家多多支持! 目录 一.核心网的演进2G核心网2.5G核心网3G核心网4G…

CFCASSL证书的网络安全解决方案

在数字化时代,网络信息安全的重要性不言而喻。随着电子商务、在线交易、远程办公等互联网活动的日益普及,确保数据传输的安全性与隐私保护成为企业和用户共同关注的焦点。在此背景下,CFCA SSL证书作为一种权威、高效的网络安全解决方案&#…

ShardingSphere 5.x 系列【24】集成 Nacos 配置中心

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 前言2. ShardingSphereDriverURLProvider3. 方式一:基于 Nacos Java SDK…

《2024年网络弹性风险指数报告》:92%的组织并未准备好应对AI安全挑战

网络弹性是一个比传统网络安全更大、更重要的范例,拥有有效网络弹性能力的组织能在承受网络攻击、技术故障或故意篡改企图后迅速恢复正常业务运营。近日,Absolute security公司发布的《2024年网络弹性风险指数报告》旨在评估当今全球企业的网络弹性状况&…

【Elasticsearch<一>✈️✈️】简单安装使用以及各种踩坑

目录 🍸前言 🍻一、软件安装(Windows版) 1.1、Elasticsearch 下载 2.1 安装浏览器插件 3.1、安装可视化工具 Kibana 4.1、集成 IK 分词器 🍺二、安装问题 🍹三、测试 IK 分词器 ​🍷 四、章…

用斐波那契数列感受算法的神奇(21亿耗时0.02毫秒)

目录 一、回顾斐波那契数列 二、简单递归方法 (一)解决思路 (二)代码展示 (三)性能分析 三、采用递归HashMap缓存 (一)解决思路 (二)代码展示 &…

PPSSPPSDL for Mac v1.17.1 PSP游戏模拟器(附500款游戏) 激活版

PPSSPPSDL for Mac是一款模拟器软件,它允许用户在Mac上运行PSP(PlayStation Portable)游戏。通过这款模拟器,用户可以体验到高清甚至更高的分辨率的游戏画面,同时还能够升级纹理以提升清晰度,并启用后处理着…

新恒盛110kV变电站智能辅助系统综合监控平台+道巡检机器人

江苏晋控装备新恒盛化工有限公司是晋能控股装备制造集团有限公司绝对控股的化工企业,公司位于江苏省新沂市。新恒盛公司40•60搬迁项目在江苏省新沂市经济开发区化工产业集聚区苏化片区建设,总投资为56.64亿元,该项目是晋能控股装备制造集团重…

PEG SPARCL™试剂盒

Life Diagnostics开发了SPARCL™ 试剂盒用于检测甲氧基-PEG(mPEG)和非甲氧基PEG。可检测游离的PEG和PEG化的蛋白质。灵敏度随PEG链长度和PEG化程度的不同而变化。 SPARCL™检测具有以下特点: ● 发光免疫测定法 ● 只需一次30分钟的孵育 …

快递物流订阅推送API接口如何对接

快递物流订阅推送API接口指的是订阅国内物流快递信息,当运单状态发生变化时,会推送到您的回调地址,直到这些运单号生命周期结束。简单点说就是先订阅快递单号再推送物流信息。那么快递物流订阅推送API接口该如何对接呢? 首先我们…

如何通过香港站群服务器提升跨境电商交易效率?

如何通过香港站群服务器提升跨境电商交易效率? 在全球电子商务迅速发展的今天,跨境电商已成为企业拓展国际市场、获取更多商机的重要途径。然而,跨境电商面临的挑战也不容小觑,尤其是在交易效率方面。利用香港站群服务器,不仅可…

ABAP Visual Code 新建sap系统连接

本文主要介绍如何新建SAP前端系统链接 前提是你已经都扩展完了 1.点击SAP fiori--》点击新建 2.选择 abap on premise 3.输入如下信息 4.这里介绍下URL 如何获取 SMICM-->点击service 明细里面可以看到你的host name 和 port 当然你也可以随便找一个你的odata 服务看下ur…

easypoi 导出增加自增序列

要求:使用easypoi导出Excel的时候,要求增加”序号“列,从1开始增加。这列与业务数据无关,只是展示用,便于定位。如下图所示 实现方式:Java对象新增一列,注意name "序号", format &…

【注解和反射】通过反射动态创建对象、调用普通方法、操作属性

继上一篇博客【注解和反射】获取类运行时结构-CSDN博客 目录 八、通过反射动态创建对象 测试:通过反射动态创建对象 思考:难道没有无参的构造器就不能创建对象了吗?只要在操作的时候明确的调用类中的构造器并将参数传递进去之后,才可以实…

四川赢涟电子商务有限公司可靠吗?正规吗?

随着电商行业的飞速发展,越来越多的企业开始进军电商领域,其中四川赢涟电子商务有限公司在抖音电商服务上的表现尤为引人注目。那么,四川赢涟电子商务有限公司的抖音电商服务究竟怎么样呢?本文将从多个角度进行深入分析。 一、赢…

edge浏览器新建标签页闪退怎么解决?(打不开标签页)

文章目录 问题描述方法一方法二 问题描述 昨天开始出现这个问题,每次点击 打开一个新的标签页,马上就闪退了。 既然是新建标签页的问题,那么就在设置里看一下新建标签页发生了什么问题。 方法一 进入设置,会发现,有…

R可视化:分组频率分布直方图和密度图

介绍 ggplot2绘制分组频率分布直方图和密度图 加载R包 knitr::opts_chunk$set(message FALSE, warning FALSE) library(tidyverse) library(patchwork) library(ggpubr) library(rstatix)# rm(list ls()) options(stringsAsFactors F) options(future.globals.maxSize …