【AI基本模型】简化生成对抗网络 (GAN)

目录

一、说明

二、GAN的工作

三、如何手动计算生成对抗网络(GAN)?✍️

四、GAN的应用


一、说明

        生成对抗网络 (GAN) 是一种机器学习算法,可以生成与现实世界数据几乎无法区分的合成数据。它们的工作原理是让两个神经网络在类似游戏的竞争中相互对抗,每个网络都试图通过智取另一个网络来提高其性能。

赣语

        第一个网络,称为生成器,创建它认为是真实的合成数据。第二个网络称为鉴别器,评估数据并试图确定数据是真实的还是生成的。

        随着生成器生成外观和行为类似于真实数据的数据的能力提高,鉴别器也提高了区分真实数据和生成数据的能力。随着时间的流逝,这两个网络变得越来越复杂和准确,最终达到了人类难以区分真实数据和生成数据的地步。

        GAN 具有广泛的应用,包括生成图像、文本和语音,以及计算机视觉、自然语言处理和机器翻译等领域。它们还被用于生成用于训练机器学习模型的合成数据,从而减少了对大量真实世界数据的需求。

二、GAN的工作

        生成对抗网络 (GAN) 的工作可以被认为是两个神经网络、生成器和判别器之间的博弈。生成器创建它认为是真实的合成数据,而鉴别器评估数据并尝试确定它是真实的还是生成的。

赣语

        发电机网络首先随机生成可能看起来与真实数据不同的数据。然后,鉴别器网络评估这些数据并向生成器提供反馈,指示它认为生成的数据是真实的还是假的。然后,生成器使用此反馈来提高其生成看起来越来越像真实数据的数据的能力。

        同时,鉴别器网络也在提高其区分真实数据和生成数据的能力。它评估真实数据和从生成器生成的数据,并学习在评估中变得更加准确。

        这个过程以迭代方式继续进行,生成器和鉴别器网络并行提高其性能。随着时间的流逝,生成的数据变得如此之好,以至于鉴别器网络很难将其与真实数据区分开来,而生成器网络能够产生与真实数据几乎无法区分的真实数据。

        在总之,GAN使用生成器网络和鉴别器网络之间的类似游戏的竞争,通过迭代提高两个网络的性能,创建与真实世界数据几乎无法区分的合成数据。

三、如何手动计算生成对抗网络(GAN)?✍️

        GAN无需介绍。GAN由Ian Goodfellow于2014年发明,负责开创视觉数据的生成式AI领域。

 目标:从二维噪声中生成逼真的四维数据。

[1] 给定
↳ 4 个 2D 噪声向量 (N)↳ 4D 4D (X)
真实数据向量

[2] 🟩 生成器:第一层
↳ 将噪声向量与权重和偏差相乘,得到新的特征向量

[3] 🟩 生成器:ReLU
↳ 应用 ReLU 激活函数,具有抑制负值的作用。在本练习中,-1 和 -2 被划掉并设置为 0。

[4] 🟩 生成器:第二层
↳ 将特征与权重和偏差相乘,以获得新的特征向量。
↳ 应用 ReLU。但是,由于每个值都是正数,因此没有影响。
↳ 这些新的特征向量是由这个简单的 2 层生成器网络生成的“假”数据 (F)。

[5] 🟦 鉴别器:第一层
↳ 将假数据 (F) 和真实数据 (X) 都提供给第一线性层
↳ 将 F 和 X 与权重和偏差相乘以获得新的特征向量。
↳ 应用 ReLU。但是,由于每个值都是正数,因此没有影响。

GAN计算 

[6] 🟦 鉴别器:第二层
↳ 将特征乘以一组权重和偏差,得到新的特征。
↳ 预期效果是将每个数据向量减少到只有一个特征值。

[7] 🟦 判别器:Sigmoid σ
↳ 使用 Sigmoid 函数
将特征 (Z) 转换为概率值 (Y↳ 1 表示判别器 100% 确信数据是真实的。
↳ 0 表示鉴别器 100% 确信数据是假的。

[8] 🏋️ 训练:🟦判别器
↳ 用 Y — YD 的简单方程计算判别器的损耗梯度。为什么这么简单?因为当我们同时使用乙状结肠和二元熵损失时,数学神奇地简化为这个方程。
↳ YD 是从鉴别器的角度来看的目标预测。鉴别器必须学会预测四个假数据 (F) 的 0 和四个真实数据 (X) 的 1。YD=[0,0,0,0,1,1,1,1]。
↳ 请注意,鉴别器的丢失涉及虚假数据和真实数据。
↳ 通过计算损失梯度,我们可以启动反向传播过程,以更新鉴别器的权重和偏差(蓝色边框)。

[9] 🏋️ 训练:🟩生成器
↳ 通过 Y — YG 的简单方程计算生成器的损耗梯度。
↳ YG 是生成器视角的目标预测。生成器必须欺骗鉴别器,使其预测四个假数据 (F) 的 1。YG=[1,1,1,1]。
↳ 请注意,生成器的丢失仅涉及虚假数据。
↳ 通过计算损失梯度,我们可以启动反向传播过程以更新生成器的权重和偏差(绿色边框)。

四、GAN的应用

        生成对抗网络 (GAN) 在各个领域都有广泛的应用。以下是一些示例:

  1. 图像和视频生成:GAN 通常用于生成合成图像和视频,例如创建逼真的人脸或风景。它们还可用于数据增强,这涉及通过生成现有图像的变体来创建额外的训练数据。
  2. 图像到图像转换:GAN 可用于将一种类型的图像转换为另一种类型的图像,例如将黑白图像转换为彩色图像或将房间图像转换为不同的风格。
  3. 文本到图像生成:GAN 可以根据文本描述生成图像,从而允许创建与特定提示或请求匹配的图像。

4. 超分辨率:GAN可用于提高低分辨率图像的分辨率,使它们看起来更清晰、更详细。

5. 修复:GAN 可以通过填充图像的缺失部分来生成逼真的图像,例如修复损坏或删失的图像。

6. 风格转移:GAN 可以将一个图像的风格转移到另一个图像上,从而可以创建具有独特风格和构图的图像。

7. 语音合成:GAN 可用于生成听起来自然逼真的合成语音。

8. 数据增强:GAN可用于生成合成数据,用于训练计算机视觉、自然语言处理和机器人等各个领域的机器学习模型。

        这些只是GAN广泛应用的几个例子。随着 GAN 的不断发展和改进,它们可能会对许多行业产生越来越重大的影响。

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署Kafka集群图文详细步骤

1 集群规划 共三台虚拟机同处overlay网段,每台虚拟机部署一套kafka和zookeeper,kafka_manager安装其中一台虚拟机上即可。 HostnameIP addrPortListenerzk1docker-swarm分配2183:2181zk2docker-swarm分配2184:2181zk3docker-swarm分配2185:2181k1docke…

十款人力资源管理软件盘点:中小企业的智慧抉择

本文为您详细介绍十款备受推崇的人力资源管理系统有:Zoho People、简道云HRM、Waypoint HR、SAP SuccessFactors、Namely、肯耐珂萨、BambooHR、Gusto、Oracle HCM Cloud、北森eHR,帮助您选择最适合您企业需求的解决方案。 一、Zoho People Zoho Peopl…

Flutter第九弹 构建列表元素间距

目标: 1)Flutter Widget组件之间间距怎么表示? 2)列表怎么定义子项之间间距? 一、间距的表示组件 列表组件的间距一般采用固定间距,间距占据可见的空间。 已经使用的表示间距的组件 Spacer&#xff1a…

day05-Elasticsearch01

1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch 是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在 GitHub 搜索代码在电商网站搜索商品在百度搜索答案在打…

C++——StackQueue

目录 一Stack 1介绍 2接口 3模拟实现 4栈的oj题 二Queue 1介绍 2接口 3模拟实现 三容器适配器 1再谈栈和队列 四优先级队列 1接口 ​编辑 2仿函数 五dequeue的简单介绍 一Stack 1介绍 先来看看库中对栈的介绍: 1. stack是一种容器适配器&#x…

视频号小店究竟有什么秘密,值得商家疯狂入驻,商家必看!

大家好,我是电商花花。 我们都知道视频号和抖音本身都是一个短视频平台,但是随着直播电商的发展,背后的流量推动逐步显露出强大的红利市场和变现机会。 视频号小店流量大和赚钱之外,还非常适合普通人创业。 这也使得越来越多的…

web安全学习笔记【22】——文件上传(1)

WEB攻防-PHP应用&文件上传&函数缺陷&条件竞争&二次渲染&黑白名单&JS绕过 演示案例: PHP-原生态-文件上传-前后端验证PHP-原生态-文件上传-类型文件头验证PHP-原生态-文件上传-后缀黑白名单验证PHP-原生态-文件上传-解析配置&二次渲染…

【QT入门】Qt自定义控件与样式设计之控件提升与自定义控件

【QT入门】Qt自定义控件与样式设计之控件提升与自定义控件 往期回顾 【QT入门】Qt自定义控件与样式设计之QProgressBar用法及qss-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QSlider用法及qss-CSDN博客 【QT入门】Qt自定义控件与样式设计之qss的加载方式-CSDN博客 一、最终…

flutter中鼠标检测事件的应用---主要在于网页端使用

flutter中鼠标检测事件的应用—主要在于网页端使用 鼠标放上去 主要代码 import package:flutter/material.dart;class CustomStack extends StatefulWidget {override_CustomStack createState() > _CustomStack(); }class _CustomStack extends State<CustomStack>…

c++中的内联函数和空指针

在C语言中我们学到了宏和宏函数&#xff0c;宏对于类型没有严格的限制&#xff0c;而且不需要建立栈帧&#xff0c;可以提高运行效率&#xff0c;但是宏不能进行调试&#xff0c;容易出错&#xff0c;而且没有类型检查。 为了补C语言中的坑&#xff0c;c中出现了内联函数inlin…

阿里云优惠券是什么?有什么用?如何领取?

阿里云作为国内领先的云计算服务提供商&#xff0c;为广大用户提供了高效、稳定、安全的云服务。为了帮助用户更好地使用阿里云&#xff0c;降低用户的成本&#xff0c;阿里云推出了优惠券活动。本文将为大家详细介绍阿里云优惠券是什么、有什么用以及如何领取。 一、阿里云优惠…

HTML 入门 ( 一 )

HTML文档创建 首先创建一个txt文本文档 修改文件后缀 HTML标签 标签结构 标签又称为元素,是HTML的基本组成单位分为: 双标签与单标签推荐小写标签名 结构: 双标签示例代码: <marquee> My name is Kvein. </marquee>单标签示例代码: <input>标签的并列与嵌…