生成式对抗网络(GAN, Generaitive Adversarial Networks)总结

2023-11-08

最近要做有关图像生成的工作…也是小白,今天简单学习一些有关GAN的基础知识,很浅,入个门,大神勿喷。
GAN目前确实是在深度学习领域最热门,最有前景的方向之一。近几年有关于GAN的论文非常非常之多,从2016年起关于GAN的论文是爆炸性的增长。GAN的应用领域也在逐年的扩展,从图像到自然语言的处理都能看到GAN的身影

目录:

  1. 什么是GAN?
  2. GAN的主要组成/
  3. GAN的原理/
  4. GAN的原理总结/
  5. GAN的设计/
  6. GAN的应用领域/

1 什么是GAN

GAN是“生成对抗网络”(Generative Adversarial Networks)的简称,由2014年还在蒙特利尔读博士的lanGoodfellow引入深度学习领域。2016年,GAN热潮席卷AI领域顶级会议,从ICLR到NIPS,大量高质量论文被发表和探讨。Yann LeCun曾评价GAN是“20年来机器学习领域最酷的想法”。
生成式对抗网络(GAN, Generaitive Adversarial Networks)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。

2 GAN的主要组成

GAN主要包括了两个部分,即生成器generator 与判别器discriminator。

  • 生成器主要用来学习真实图像分布从而让自身生成的图像更加真实,以骗过判别器。
  • 判别器则需要对接收的图片进行真假判别。

其实,机器学习的模型可大体分为两类:生成模型(Generative Model)和判别模型(DiscriminativeModel),举个例子,判别模型就是给一张照片看看是猫还是狗,所以判别模型需要输入变量,通过某种模型来预测;而生成模型是给定某种隐含信息,来随机产生观测数据。GAN其实上就是更好的生成模型!

3 GAN的基本原理

  • 在训练过程中:
    生成器努力地让生成的图像更加真实,而判别器则努力地去识别出图像的真假,这个过程相当于一个二人博弈,随着时间的推移,生成器和判别器在不断地进行对抗。
  • 最终的训练结果是想两个网络达到了一个动态均衡:
     生成器生成的图像接近于真实图像分布,
     而判别器识别不出真假图像,对于给定图像的预测为真的概率基本接近0.5(相当于随机猜测类别)。
    在这里插入图片描述

4 GAN原理总结

 对于给定的真实图片,判别器要为其打上标签1;
 对于给定的生成图片,判别器要为其打上标签0;
对于生成器传给辨别器的生成图片,生成器希望辨别器为自己打上标签1。

即:
 训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。
 而D的目标就是尽量把G生成的图片和真实的图片分别开来。
 这样,G和D构成了一个动态的“博弈过程”.

博弈的结果是什么?
在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。
对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z))= 0.5。

目的:得到了一个生成模型G,可以用来生成图片。

5 GAN的设计

在这里插入图片描述
GAN的设计实际上是设计两个网络(生成器网络,判别器网络)。

对于判别器网络的设计就是CNN, 判别器网络的目标就是对图像(无论是真实的图像还是生成的图像,做一个判别,最后使用一个sigmoid判别真/假)。

生成器最开始给它一个噪声,通过这个噪声来生成图像,如果你第一次接触GAN可能会感觉的疑惑(就是为什么要给一个噪声?) 这个噪声相当于给它一个初始的分布,通过这个初始的分布得到一个图像,随机的噪声会得到随机的图像。这样生成的图像是一个广泛分布的图像而不是每次生成都会固定生成一张图片。(我们想得到的一个生成网络是一个 根据我们所输入的随机分布,生成一个随机的真实的图像。)

6 GAN的应用领域:

  • 图像生成
  • 图像增强(模糊的图像变清晰)
  • 风格化(普通的图像风格化,油画的类型,各种各样的风格)
  • 艺术的图像创造
  • 等等…
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成式对抗网络(GAN, Generaitive Adversarial Networks)总结 的相关文章

随机推荐

  • 资源变现小程序开通微信官方小商店教程

    前提条件非个人注册的小程序 登录小程序的微信公众后台 点击左侧菜单设置 gt 基本信息下面的 gt 服务类目 点击服务类目详情 点击添加类目 商家自营 gt 家用电器 添加好后 刷新浏览器 这个时候左侧菜单会看到交易组件 点击交易组件会看到
  • idea-代码格式化快捷键设置

    idea默认格式化快捷键是 Ctrl Alt L 有时会因其它软件快捷键的冲突导致失灵 设置方法如下 1 File gt Settings 2 Keymap gt Code 3 Code gt Reformat Code 4 右击Refor
  • openGL之API学习(七十四)opengl版本的历史沿革

    OpenGL源于SGI公司为其图形工作站开发的IRIS GL 在跨平台移植过程中发展成为OpenGL SGI在1992年7月发布1 0版 后成为工业标准 由成立于1992年的独立财团OpenGL Architecture Review Bo
  • rust换源

    在 HOME cargo 目录下建一个config文件 windows默认是C Users user name cargo config文件输入 source crates io registry https github com rust
  • 算法(二)

    目录 0 前言 1 海明码的使用 2 理解海明码需要明白的知识 a 奇偶校检法 b 异或运算 3 海明码的原理 a 海明码原理的概述 b 多个校检位的设计 c 校检位个数的计算 d 海明码的总结 4 举例 a 计算校检码的个数 b 计算每一
  • Unity编辑器 - 使用GL绘制控件

    Unity编辑器 使用GL绘制控件 控件较为复杂时 可能造成界面卡顿 在EditorGUI中也可以灵活使用GL绘制来提升性能 以绘制线段为例 using UnityEngine using UnityEditor public class
  • 【数据结构】树的基础知识及三种存储结构

    个人主页 阿然成长日记 点击可跳转 个人专栏 数据结构与算法 C语言进阶 不能则学 不知则问 耻于问人 决无长进 文章目录 一 树的概念与定义 二 树的有关名词 三 树的存储结构 1 双亲表示法 2 孩子表示法 3 孩子兄弟表示法 又叫二叉
  • c语言6种内部排序,数据结构6种内部排序算法的比较

    1 需求分析 1 输入数据的形式为 伪随机数产生程序产生 且每次输入数不少于100个 至少要用5组不同的输入数据 2 输出的形式为 输出关键字参加的比较次数和关键字的移动次数 关键字交换计为3次移动 的数据 3 程序能达到的功能 对起泡排序
  • docker 简单安装 redis

    1 redis的简单安装 1 1 docker 寻找 redis镜像 docker search redis 1 2 docker 拉取 redis镜像 docker pull redis 1 3 运行创建Redis 1 4 进入容器 1
  • SQL留存率问题

    什么是留存率 留存率 retention rate 通常用来衡量用户或客户的忠诚度和粘性 留存率指的是在特定时间段内 有多少人保持了对某个产品 服务 平台或应用程序的使用并继续付费或进行其他有价值的操作 通常情况下 留存率会作为一个百分比表
  • redis 连接数据库_如何连接到Redis数据库

    redis 连接数据库 介绍 Introduction Redis is an open source in memory key value data store Whether you ve installed Redis locall
  • Adblock Plus 下载

    作用 下载人数 全球超过5000万人都在使用adblock plus 这个chrome插件完全免费 能够屏蔽整个互联网广告的插件你见过吗 那就是Adblock Plus Adblock Plus牛在哪里 在谷歌开发者商店里面有4000万以上
  • 【SLAM】卡尔曼滤波(Kalman Filter)

    卡尔曼滤波 Kalman filter 一种利用线性系统状态方程 通过系统输入输出观测数据 对系统状态进行最优估计的算法 由于观测数据中包括系统中的噪声和干扰的影响 所以最优估计也可看作是滤波过程 卡尔曼滤波器的原理解释如下 首先 我们先要
  • 团队管理中的代码评审

    代码评审在软件项目管理中是经常组织的活动 通过代码评审的工作也确实给我们的团队带来很多的益处 简单谈谈代码评审的感受 你们的团队是否也在进行代码评审 Code Review 的相关工作呢 1 为什么要组织代码评审 组织代码评审其主要目的是保
  • uni-app跨端开发微信小程序之nodejs与后端通信并动态打包项目以适应多环境开发

    摘要 这篇文章主要的目的是分享一个可与后端接口通信的自动化脚本插件 实现不同环境下可打包成不同配置的微信小程序源码 全程靠命令行自动发起请求 修改配置文件 自动编译 解放双手不是梦 看官在阅读文章前可以思考这样一个场景 有一份代码需要支持本
  • Java与设计模式(3):抽象工厂模式

    一 定义 抽象工厂模式是一种创建型设计模式 它提供了一种将相关对象组合在一起创建的方式 而无需指定它们的具体类 在抽象工厂模式中 有一个抽象工厂接口 该接口定义了一组创建相关对象的方法 每个具体的工厂类都实现了这个接口 并负责创建一组相关的
  • Xshell 使用密钥连接服务器,每次都提示:SSH服务器拒绝了密码。请再试一次

    查了很多 原来问题出在这里 1 在用户身份验证 连接方法设置为public key 2 浏览 导入你服务端下载的密钥 确定 输入密钥密码 问题解决
  • 手写js物理引擎

    先来看效果 包括混沌小球碰撞 上抛 自由落体 滚动 想要手写游戏 这些都是最基础的内容 也是一些游戏库的底层原理 开始之前 先回忆一些物理和数学知识 1 自由落体 重力相关 2 非弹性碰撞 角度 速度 3 向量 标量 4 动量守恒 动能守恒
  • 你了解API测试吗?如何充分的测试一个API?

    什么是API API代表应用程序接口 API是软件系统中的中间层 负责数据源与用户看到的图形用户界面 GUI 之间的数据通信 换句话说 API是软件的业务层 它在表示层和数据层之间创建连接 API测试侧重于所谓的应用程序业务层 这意味着与标
  • 生成式对抗网络(GAN, Generaitive Adversarial Networks)总结

    最近要做有关图像生成的工作 也是小白 今天简单学习一些有关GAN的基础知识 很浅 入个门 大神勿喷 GAN目前确实是在深度学习领域最热门 最有前景的方向之一 近几年有关于GAN的论文非常非常之多 从2016年起关于GAN的论文是爆炸性的增长