深度学习(4)---生成式对抗网络(GAN)

news2024/11/25 14:27:37

文章目录

  • 一、原理讲述
    • 1.1 概念讲解
    • 1.2 生成模型和判别模型
  • 二、训练过程
    • 2.1 训练原理
    • 2.2 损失函数
  • 三、应用


一、原理讲述

1.1 概念讲解

 1. 生成式对抗网络(Generative Adversarial Network,GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。它启发自博弈论中的二人零和博弈(two-player game),两位博弈方分别由生成模型(generative model)和判别模型(discriminative model)充当。

 2. 判别模型用于判断一个给定的图片是不是真实的图片(从数据集中获取的图片),生成模型的任务是去创造一个看起来像真的图片一样的图片。两个模型一起对抗训练,生成模型产生一张图片去欺骗判别模型,判别模型判断这张图片是真的还是假的。在这两个模型训练的过程中,两个模型的能力越来越强,最终达到稳态。

latent random variable:潜在的随机变量
generated fake samples:生成的假样本
fine tune training:微调训练
generator:生成器
discriminator:判别器

在这里插入图片描述

1.2 生成模型和判别模型

 1. 生成模型:生产模型的输入是二维高斯模型中的一个随机向量,生成模型的输出是一张伪造的假图片(fake image),同时获取数据集中的真实图片,然后将假图片和真实图片传给判别模型,由判别模型给出是真实图片还是假图片的判别结果。

在这里插入图片描述
 2. 判别模型:根据输入的图片类型是假图片或真实图片,将输入数据的lable(标签)标记为0或者1。经过判别模型后输出值为一个0到1之间的数,用于表示输入图片为真实图片的概率,1表示真实图片,0表示假图片。

在这里插入图片描述

二、训练过程

2.1 训练原理

 1. GAN的训练在同一轮梯度反转的过程中可以细分为2步:(1)先训练D。(2)再训练G。注意:不是等所有的D训练好了才开始训练G,因为D的训练也需要上一轮梯度反转中的G的输出值作为输入。

梯度反转(Gradient Reversal)是一种无监督学习方法,通过将梯度乘上一个负数来反转梯度方向,以达到欺骗判别器的效果,使得源域和目标域之间的特征分布可以互相“融合”,从而实现域自适应的目的。

 2. 当训练D的时候:上一轮G产生的图片和真实图片,直接拼接在一起作为x。然后按顺序摆放成0和1,假图对应0,真图对应1。然后就可以通过D、x输入生成一个score(从0到1之间的数),通过score和y组成的损失函数,就可以进行梯度反转了。

 3. 当训练G的时候:需要把G和D当作一个整体,这里取名叫做’D_on_G’。这个整体(简称DG系统)的输出仍然是score。输入一组随机向量z,就可以在G生成一张图,通过D对生成的这张图进行打分得到score,这就是DG系统的前向过程。score=1就是DG系统需要优化的目标,score和y=1之间的差异可以组成损失函数,然后可以采用反向传播梯度。注意,这里的D的参数是不可训练的。这样就能保证G的训练是符合D的打分标准的。

在这里插入图片描述

2.2 损失函数

 1. 判别模型 D D D 的损失函数为如下所示。其中: x x x 表示真实图像; z z z 表示输入网络中的噪声; G ( z ) G(z) G(z) 表示生成器生成的假图像; D ( x ) D(x) D(x) 表示判别模型判断真实图像是否为真的概率(由于是真实图像,我们当然希望概率越接近 1 1 1 越好); D ( G ( z ) ) D(G(z)) D(G(z)) 为判别模型 D D D 去判断生成模型 G G G 生成的假图像是否为真图像的概率(由于是生成模型生成的假图像,我们希望概率越接近 0 0 0 越好)。
 我们总是期望 D ( x ) D(x) D(x) 越大, D ( G ( z ) ) D(G(z)) D(G(z)) 越小,因此要最大化下式,用 l o g log log 函数约束它们之间的关系,通过训练不断调整网络的权值,以达到我们的期望。

在这里插入图片描述
 2. 生成模型 G G G 的损失函数为如下所示。生成模型的主要作用就是从随机信号生成一张图像,来尽可能地拟合真实图像,使得判别模型 D D D 无法判断生成图像的真伪。由 l o g log log 函数的性质可知,只有当 D ( G ( z ) ) D(G(z)) D(G(z)) 的值接近 1 1 1 的时候,下式才能有最小值。 D ( G ( z ) ) = 1 D(G(z))=1 D(G(z))=1 表示判别模型 D D D 将生成模型 G G G 生成的图像判断为真实图像,所以最小化这个函数就可以使生成模型 G G G 通过不断训练生成接近真实图像分布的图像。

在这里插入图片描述
 3. 结合上面的叙述,总的优化函数为:

在这里插入图片描述

三、应用

 GAN最常使用的地方图像生成,如超分辨率任务,语义分割等。用GAN生成的图像也可以来做数据增强。

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

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

相关文章

vue vant van-uploader使用compressorjs解决拍照上传的图片被旋转 90 度方法,图片压缩上传

vue vant van-uploader使用compressorjs解决拍照上传的图片被旋转 90 度方法,图片压缩上传_van-uploader 拍照上传服务器后图片翻转-CSDN博客文章浏览阅读3.2k次,点赞4次,收藏6次。van-uploader使用compressorjs解决拍照上传的图片被旋转 90 …

游戏找不到x3daudio1_7.dll无法继续执行的解决方法,快速解决dll问题

x3daudio1_7.dll是一个音频处理库,主要用于实现三维音频渲染。它包含了微软的XAudio2音频API,该API被许多游戏和应用程序用于实现高质量的音频效果。这个库文件主要处理音频的空间定位、响度均衡以及多通道音频输出等功能。在游戏中,它可以为…

08 MIT线性代数-求解Ax=b:可解性与结构Complete Solution of Ax=b

1. 可解的条件 Solvability conditions on b 检验Axb是否可解的方法是对增广矩阵进行行消元。如果矩阵A的行被完全消去的话,则对应的b的分量也要得0 两条关于b的限制条件(等价) 1. if a comb. of rows of A gives zero row, then same comb. of enties of b must …

笔记46:ResNeXt 网络详解

本地笔记地址:D:\work_file\DeepLearning_Learning\03_个人笔记\2.图像处理任务\ResNeXt网络学习 a a a a a a a a a a a a a a

【论文阅读VLDB23】Online Schema Evolution is (Almost) Free for Snapshot Databases

Online Schema Evolution is (Almost) Free for Snapshot Databases 对snapshot DB来说可以几乎在线进行schema的演变。 ABSTRACT 在现有数据库系统中,对在线和事务模式演变的支持仍然具有挑战性。之前处理这种schema 演变基本是patches补丁的方式来做&#xff0…

实战授权码登录流程

我是经常阅读公众号优质文章,也经常体验到公众号的授权登录功能。今天就来实现下,流程图如下 效果图 后端接口 主要用来接收微信服务器推送的公众号用户触发的事件、生成和验证授权码的有效性 解析微信服务器推送的事件通知 public String login(Se…

深度强化学习用于博弈类游戏-基础测试与说明【1】

深度强化学习用于博弈类游戏-基础【1】 1. 强化学习方法2. 强化学习在LOL中的应⽤2.1 环境搭建2.2 游戏特征元素提取1)小地图人物位置:2)人物血量等信息3)在整个图像上寻找小兵、防御塔的位置4)自编码器提取 3. 策略梯度算法简介参考资料 1. 强化学习方法…

工程建筑模板厂家货源,酚醛胶镜面胶合板实用型

作为工程建筑模板厂家,我们提供高品质的酚醛胶镜面胶合板,为建筑行业的模板需求提供可靠的货源。我们的产品以实用型为设计理念,旨在满足各类工程的施工需求并提供出色的性能。我们的酚醛胶镜面胶合板采用优质的木材作为原材料,经…

负载均衡的综合部署练习(hproxy+keepalived和lvs-DR+keepalived+nginx+Tomcat)

一、haproxykeepalived haproxy 2台 20.0.0.21 20.0.0.22 nginx 2台 20.0.0.23 20.0.0.24 客户机 1台 20.0.0.30 这里没有haproxy不是集群的概念,他只是代理服务器。 访问他直接可以直接访问后端服务器 关闭防火墙 安装haproxy和环境: yum in…

数据结构-初识泛型

写在前: 这一篇博客主要来初步的记录以下泛型的相关内容,内容比较琐碎,就不进行目录的整合,后续可能会对泛型这里进行系统性的梳理,此篇博客主要是对泛型有一个简单的认识与理解,需要知晓的内容。 当我调用…

能量管理系统(EMS):新能源储能行业的智能化大脑

导语:能源管理系统(EMS)是新能源储能行业中一种关键的智能化技术。它的作用类似于大脑,能够监控、控制和优化能源系统的运行,为储能设施提供高效稳定的能源管理。本文将介绍能量管理系统的基本概念、功能和应用。 一、…

excel技巧

excel技巧 🍓选中🍓填充🍓日期🍒🍒 日期快捷方式🍒🍒 日期计算🍒🍒时间相减 🍓求和🍓去除小数点🍓美化表格🍒&#x1f352…

手把手教您:思维100秋季选拔赛成绩查询+决赛报名

好消息! 2023年上海市“科学小公民”实践展示活动之“思维100”STEM应用能力活动(秋季)选拔赛成绩可以查询了,并且通过选拔的学员可以报名决赛。 那么具体如何查询思维100秋季选拔赛的成绩呢?思维100秋季决赛如何报名…

MBox肯定会因为回购和销毁将起飞

近期,币安链上的GameFi和元宇宙平台MOBOX宣布推出代币回购和销毁计划,在加密货币市场还处于熊市的现在,消息引起了不少链游打金爱好者和玩家的关注,MOBOX的讨论量也在快速上升。 在近一年多的熊市之中,很多GameFi项目从…

C语言每日一练(二)

单链表经典算法专题 一、 单链表相关经典算法OJ题1:移除链表元素 解法一:在原链表中删除Node.nextnext的节点 typedef struct ListNode ListNode; struct ListNode* removeElements( ListNode* head, int val) {ListNode* pcur head;ListNode* pre h…

Python开源项目周排行 2023年第37周

#2023年第37周2023年10月29日1cogvlm一个强大的开源视觉语言模型,利用视觉专家模块深度整合语言编码和视觉编码,在 10 项权威跨模态基准上取得了 SOTA 性能。目前仅支持英文,后续会提供中英双语版本支持。CogVLM 可以准确描述图像的细节&…

拓扑排序详解

拓扑排序 如果说最短路径是有环图的应用,那么拓扑排序就是无环图的应用。 拓扑排序介绍 我们会把施工过程、生产流程、软件开发、教学安排等都当成- -个项目工程来对待,所有的工程都可分为若干个“活动”的子工程。例如下图是我这非专业人士绘制的一张…

servlet和SpringBoot两种方式分别获取Cookie和Session方式比较(带源码) —— 图文并茂 两种方式获取Header

目录 1、cookie和Session以及Header知识点 2、设置/获取 Cookie 3、设置/获取Session 4、设置/获取Header Cookie —— 客户端机制 Session —— 服务端机制 本篇博客主在用servlet和SpringBoot两种方式分别获取Session和Cookie,用来比较记忆与分析 1、cookie和…

VSCode-C/C++环境配置

0.下载VSCode VSCode官网 Visual Studio Code - Code Editing. Redefined 1.安装VSCode 2.编译器下载与配置 2.1下载编译器安装包 编译器的安装包分为两种一种是在线的一种是离线的,其区别的特点如下 在线安装(只是个下载器,打开后还要下载各种东西…

基于Python+pyecharts 实现国内上映电影票房评分可视化分析项目源码

基于Pythonpyecharts 实现国内上映电影票房评分可视化分析项目源码 项目内容 统计2018年在国内上映的所有电影,分别获取上映电影的票房、评分(豆瓣、猫眼、时光、imdb)、类型、上映日期、演员、导演等数据。利用所获数据绘图,对…