IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> GAN(生成对抗网络) -> 正文阅读

[人工智能]GAN(生成对抗网络)

G e n e r a t o r Generator Generator N e t w o r k Network Network 的区别

  • 可以输出一种分布的 N e t w o r k Network Network , 我们就叫它 G e n e r a t o r Generator Generator
  • 神经网络是根据输入 x x x 产生输出 y y y输入 x x x 根输出 y y y 是一一对应的。
  • 生成器的输入是 x x x 和一个从已知分布中采样得到的 z z z ,利用不同的 z z z ,针对同一个 x x x 生成不同的 y y y ,来达到输出是一个分布的目的
    在这里插入图片描述

为什么需要输出一个分布

  • 下面是一个游戏的例子,我们要根据之前的训练,通过当前的画面,决定下一步的操作
    在这里插入图片描述
  • 直接 n e t w o r k network network 训练得到的结果不好
    • 在转角的时候,小精灵可能会出现分裂,就是同时向左向右转
    • 因为在训练集中,在一个转角处,向左转和向右转的情况都有发生。因此模型为了既接近向左转的结果,又接近向右转的结果,采取同时向左向右转的方式。所以,小精灵出现分裂
      在这里插入图片描述
  • 我们想让输出的结果是一个分布,不同结果的发生是有概率的。也就是输出包含向左转和向右转的情况,但不会同时出现向左转和向右转
  • 最终输出我们通过 z z z 来调控 。比如 z = 1 z = 1 z=1 时向左转 , z = 0 z = 0 z=0 时向右转
    在这里插入图片描述

什么时候使用输出一个分布的模型

当我们的模型需要有创造力的时候,需要generator。也就是说,针对同一个输入可以产生不同的输出,而这些输出都是对的。

  • 针对一个相同的任务,不同的人会给出不同的答案
    • 比如下面的画画和聊天任务
      在这里插入图片描述

GAN

Unconditional generation

  • 输入只有 z z z ,没有 x x x
  • 通过输入 z z z , 产生二次元人脸图
  • 下图是一个 g e n e r a t o r generator generator , 其任务是通过输入向量,生成二次元人脸图片
    在这里插入图片描述
  • 还要有一个辨别器 D i s c r i m i n a t o r Discriminator Discriminator其任务是辨别出生成的图片和真实图片
    在这里插入图片描述
  • 拿鸟和枯叶蝶来说
    • 枯叶蝶一直在进化,想要通过伪装自己来成功欺骗鸟,从而躲过被鸟吃的命运
    • 鸟也一直在进化,想要分辨出枯叶蝶,从而吃掉
    • 这里其实对应了 G e n e r a t o r Generator Generator D i s c r i m i n a t o r Discriminator Discriminator
      在这里插入图片描述
  • G e n e r a t o r Generator Generator D i s c r i m i n a t o r Discriminator Discriminator 相互对抗,互相提升
    在这里插入图片描述

算法流程

训练一个 g e n e r a t o r generator generator 作为 G G G 和一个 d i s c r i m i n a t o r discriminator discriminator 作为 D D D

  • 首先将 G G G 固定 , 训练 D D D , 让 D D D 能够分辨 G G G 产生的图片和真实图片
    • 训练 D D D 的过程就是,先利用 G G G 生成一些图片(带有 l a b e l label label),并找一些真实图片(带有 l a b e l label label),然后将 D D D 作为 c l a s s i f i e r classifier classifier 来训练
    • 对于真实图片,产生高分。对于生成图片,产生低分
      在这里插入图片描述
  • 然后将 D D D 固定住 , 训练 G G G
    • 就是将 G G G 生成的图片送入 D D D 中,训练的目标是得到的分数越高越好
    • 可以将 G G G D D D 的网络合在一起,看作一个更大的网络。
      • 输入是向量 , 输出时分数
      • 训练 G G G 的时候,调整前面几层网络的参数
      • 训练 D D D 的时候,调整后面几层网络的参数
        在这里插入图片描述
  • 重复上述过程,反复训练 G G G D D D ,这样两者的效果都能得到提升
    在这里插入图片描述

结果

  • 可以直接合成图片
  • 可以利用已有图片,生成一些新的图片
    • 输入最左端和最右端的向量
    • 中间的向量通过插值得到
    • 可以生成从左图向右图过渡状态的图片
      在这里插入图片描述
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:51:52  更:2021-11-26 08:52:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 4:40:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码