AI生成对抗网络的解释

了解生成对抗网络 (GAN) 的不同方面和复杂性,GAN 是一种在人工智能 (AI) 领域内外使用的神经网络。本文将向您介绍 GAN,介绍什么是 GAN,并解释如何使用它们。

GAN简介

今天对称为 GAN 的通用模型的想法和描述起源于 1990 年代由 Jürgen Schmidhuber 在论文中提出对抗性人工好奇心和通过可预测性最小化学习阶乘代码.2014 年,Ian Goodfellow 创造了 GAN 一词,并在他的论文之后推广了这种类型的模型生成对抗网络.

要理解 GAN,您必须首先了解生成和对抗这两个术语。

  • 生成:你可以把“生成”一词看作是生产一些东西。这可以是拍摄一些输入图像并生成带有扭曲的输出。例如,您可以在一定程度上准确地将一匹马变成斑马。结果取决于输入以及此用例的生成模型中层的训练程度。

  • 敌对:你可以把“对抗性”一词看作是将一件事与另一件事对立起来。在GAN的上下文中,这意味着将生成结果(假图像)与数据集中存在的真实图像进行对比。这种特定的机制称为鉴别器,它正在实现一个试图区分真假图像的模型。

    为了进一步阐述并提供一个现实生活中的例子,Goodfellow做了一个类比来解释GAN模型中存在的动态:“生成模型可以被认为是类似于一群造假者,试图生产假币并在不被发现的情况下使用它,而歧视模型类似于警察,试图检测假币。这场比赛的竞争促使两支球队改进他们的方法,直到假货与真品无法区分。

    Goodfellow演示了如何使用现代计算能力来生成虚假示例,这些示例看起来像数字,人物,动物以及任何您能想象到的东西的真实图像。只要您可以整理数据,这些类型的模型就可以生成新颖的示例。在下图中。黄色列是从Goodfellow的论文中生成的图像的示例:生成对抗网络.

GAN 模型中的组件

如前所述,GAN由生成网络和对抗网络组成。虽然有许多不同的GAN模型,但我专注于最常见的GAN模型的核心组件深度卷积生成对抗网络 (DCGAN),由 Alec Radford 等人于 2015 年推出。我还讨论了较新模型的用例,这些模型调整了模型的组件以创建独特的东西。

当DCGAN被引入时,有一些差异在这里解释DCGAN论文.这些差异包括:

  • 将任何池化层替换为跨步卷积(判别器)和分数跨步 卷积(生成器)
  • 在生成器和鉴别器中使用批量范数 (BN)
  • 移除全连接的隐藏层,实现更深层次的架构
  • 在生成器中对除使用 Tanh 的输出之外的所有层使用 ReLU 激活
  • 在鉴别器中对所有层使用 LeakyReLU 激活

GAN 发电机

对于发生器,您可以输入随机图像(也称为噪声)。这些随机图像可以是任何东西,但也可能是生成的或增强的数据。通过生成器,您可以生成一个样本,如果您训练生成器和鉴别器都足够好,那么该样本最终看起来像是真实数据集的一部分。生成器的输出有时称为潜在空间或潜在向量。

要优化生成器,首先必须将生成器的输出传递到鉴别器。随后,您可以反向传播并计算生成器和鉴别器的误差(将在下一节中介绍)。

实际生成器本身只有几个组件,它们都是卷积神经网络中的典型组件。生成器中使用的卷积类型称为反卷积,也称为转置卷积。其他组件包括典型的批量规范化和激活函数。

反卷积的构造方式以及为各个反卷积设置参数(步幅、填充和内核大小)的方式使得放大和生成应该类似于输入的新图像成为可能。下图显示了来自轴承故障检测与诊断不平衡数据的创成式过采样方法学术论文。

GAN 鉴别器

对于鉴别器,您可以从您策划的实际数据集中输入真实图像。在本例中,我选择了MNIST数据集,这是大量手写数字的集合。此外,您还可以将生成器的输出输入到鉴别器中。

鉴别器的卷积层是我们习惯的正常卷积。对卷积进行参数化,以缩小适合分类的输入。对于鉴别器,您可以通过模型运行两个输入,以接收输出,该输出通过在末尾添加一个全连接层和一个 sigmoid 激活函数来判断。下图显示了轴承故障检测与诊断不平衡数据的创成式过采样方法学术论文。

优化

在数据通过生成器和判别器模型后,反向传播的优化开始,就像在所有其他网络中一样。

优化是 GAN 中一个棘手的课题,因为两个模型都需要以一定的速度不断改进,才能使两个模型都变得出色。您希望生成器通过生成更好的假输入来尝试智取鉴别器,但您也希望生成器对真实和虚假输入进行正确分类,以便生成器可以不断改进。最终,当生成器输出的图像看起来足够真实,可以成为用于训练判别器的原始数据集的一部分时,您就会达到一个平衡点。

平衡点恰好是鉴别器向两侧倾斜 50% 时,这意味着两个图像都可能是真的,也可能是假的。这意味着生成器模型试图最小化鉴别器将生成器的输出预测为假输出的概率。另一方面,鉴别器试图最大限度地提高它正确分类真实和虚假图像的概率。

数据操作

今天,您可以使用所有最新研究轻松处理图像。您可以将样式从一个图像转移到所需的图像上,从而创建一个看起来真实的新图像和经过处理的图像。

有太多的应用要一一列举,所以我选择了一个简单的例子。在下图中,您可以看到 GAN 应用程序如何操作 Ryan Gosling 图像的任何面部特征。这些编辑中的大多数都是在不到一秒钟的时间内完成的,使用面部操作软件来自Anycost 项目.

安全

每一天,随着攻击者开发复杂的软件并使用社会工程来针对组织和个人窃取有价值的敏感信息,威胁形势也在增加。

使用现代 GAN,您可以屏蔽员工照片、医学图像或街景图像,使它们对任何攻击者都毫无用处。如果您想随时使用照片,只需再次使用GAN将蒙版图像映射回原始图像即可。

在隐藏数据之前,发送方会向接收方发送提取器和恢复器。双方都学习了从秘密数据到噪声的映射。与传统的远程数据处理方法相对应,生成的图像可以看作是封面图像和标记图像。然后,发送方将标记的图像发送给接收方。在接收端,可以获取恢复的图像,并提取嵌入的数据。您可以在以下位置获得有关此内容的更多信息高级数据安全及其在多媒体安全通信中的应用](张卓等)。下图显示了数据隐藏过程张卓等.

数据生成

深度学习算法总是需要更多的数据。事实上,它是如此重要,以至于有一些方法可以生成额外的数据。与所有 AI 模型一样,您可以使用更多数据来改进要训练的模型,因为这最终会产生更好的性能。在某些情况下,甚至有有限的数据量会限制您训练一个好的模型。

数据生成用例是无穷无尽的。您可以生成所有不同类型的图像或文本。在我之前对生成器和判别器的解释中,您可能还会开始了解如何使用经过适当训练的生成器来生成新的数据样本,以便在真实数据集中使用,以训练完全不同的模型。

最新的例子之一是 OpenAI 的 DALL-E 2,这是一种文本到图像生成模型。下图显示了”骑着马的宇航员".它输出了对太空中宇航员的描绘,看起来逼真。

本文向您介绍了生成对抗网络 (GAN)。讲解了如何构建特定版本 DCGAN。其中还包括了一些专业运用于GAN的比例数字。希望本文能对你有帮助,感谢点赞,关注。

​# 最后
为了帮助大家更好的学习人工智能,这里给大家准备了一份人工智能入门/进阶学习资料,里面的内容都是适合学习的笔记和资料,不懂编程也能听懂、看懂,所有资料朋友们如果有需要全套人工智能入门+进阶学习资源包,可以在评论区或扫.码领取哦)~

在线教程

  • 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程
  • 人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程
  • EdX 人工智能 – 此课程讲授人工智能计算机系统设计的基本概念和技术。
  • 人工智能中的计划 – 计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
  • 机器人人工智能 – 这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
  • 机器学习 – 有指导和无指导情况下的基本机器学习算法
  • 机器学习中的神经网络 – 智能神经网络上的算法和实践经验
  • 斯坦福统计学习

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

请添加图片描述

人工智能书籍

  • OpenCV(中文版).(布拉德斯基等)
  • OpenCV+3计算机视觉++Python语言实现+第二版
  • OpenCV3编程入门 毛星云编著
  • 数字图像处理_第三版
  • 人工智能:一种现代的方法
  • 深度学习面试宝典
  • 深度学习之PyTorch物体检测实战
  • 吴恩达DeepLearning.ai中文版笔记
  • 计算机视觉中的多视图几何
  • PyTorch-官方推荐教程-英文版
  • 《神经网络与深度学习》(邱锡鹏-20191121)

  • 在这里插入图片描述
    😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

第一阶段:零基础入门(3-6个月)

新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。

第二阶段:基础进阶(3-6个月)

熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。

第三阶段:工作应用

这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。

在这里插入图片描述
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

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

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

相关文章

Wilson威尔逊平滑

1、威尔逊平滑引入的动机 在曝光很少的情况下,计算出的CTR并不真实可靠,而样本数越大,CTR的比例才越准确,更能反应真实情况。 为了衡量样本数对于CTR信区间的影响,我们引入"威尔逊(Wilson&#xff0…

在Linux(Ubuntu)中使用终端编译 vscode安装

文章目录 📚在Linux(Ubuntu)中使用终端编译🐇.cpp程序编译🐇.py程序编译🐇查看Python、C编程环境 📚vscode安装 📚在Linux(Ubuntu)中使用终端编译 虚拟机安装…

JMM(Java Memory Model)内存模型

Java内存模型,规范了计算机内存与java虚拟机之间的协调工作,即规定了 将java 虚拟机中的变量存储到内存中和从内从中取出来的内存细节。 Java内存模型中规定了所有的变量都存储在内存中,每条线程还有自己的工作内存,线程对变量的…

关于遗传力常见的误解

大家好,我是邓飞,今天看了一篇非常好的文章,介绍了遗传力相关概念和计算方法,里面提到了常见的误解,这里汇总一下。 文献链接:https://excellenceinbreeding.org/sites/default/files/manual/EiB-M2_Herit…

C语言学习-day19-函数2

自定义函数:自己定义的函数 以strcpy为例子: 自定义函数一样,需要函数名,返回值类型,函数参数。 函数的组成: ret_type fun_name(para1, *) { statement;//语句项 } ret_type 返回类型 fun_name 函数…

【Java】仓库管理系统 SpringBoot+LayUI+DTree(源码)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

FLatten Transformer_ Vision Transformer using Focused Linear Attention

paper: https://arxiv.org/abs/2308.00442 code: https://github.com/LeapLabTHU/FLatten-Transformer 摘要 当将transformer模型应用于视觉任务时,自注意的二次计算复杂度( n 2 n^2 n2)一直是一个持续存在的挑战。另一方面,线性注意通过精心设计的映射…

PyCM:Python中的混淆矩阵库

PyCM:Python中的混淆矩阵库 在机器学习和数据科学领域,评估模型的性能是至关重要的。混淆矩阵是一种常用的评估工具,用于可视化和量化分类模型的预测结果。PyCM是一个开源的Python库,提供了丰富的功能来计算和分析混淆矩阵。本文将…

CKB转型为BTC Layer2后月涨超 300%,还有哪些转型热门赛道的老项目?

虽然说牛市下,炒新不炒旧。但一些渡过漫长熊市的老牌项目方,重新回到牌桌前开始新叙事后,市场依然有人买单。 部分项目方已经初步尝到了甜头,Arweave(AR)宣布从去中心化数据存储转换到「以太坊杀手」后&am…

信息安全、网络安全以及数据安全三者之间的区别

随着信息技术的飞速发展,网络安全、信息安全、数据安全等词汇在平时出现的频率越来越高,尤其是数据安全,是大家都关心的一个重要话题。事实上,有很多人对网络安全、信息安全、数据安全的概念是区分不清的,下面由我帮大…

【C++】STL(二) string容器

一、string基本概念 1、本质 string是C风格的字符串,而string本质上是一个类 string和char * 区别: char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 2、特点 1、stri…

20240309web前端_第一周作业_古诗词

作业三&#xff1a;古诗词 成果展示&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&q…

冒泡排序的理解与实现【C语言、C++、java】

冒泡排序介绍 冒泡排序(Bubble Sort)&#xff0c;又被称为气泡排序或泡沫排序。 它是一种较简单的排序算法。它会遍历若干次要排序的数列&#xff0c;每次遍历时&#xff0c;它都会从前往后依次的比较相邻两个数的大小&#xff1b;如果前者比后者大&#xff0c;则交换它们的位…

【教程】使用小米换机来迁移数据

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 1、在新旧手机上都下载安装小米换机app&#xff1a;小米换机-小米应用商店 2、在新手机上&#xff0c;选择旧手机类型 3、授予权限 4、在旧手机上&#xff0c;授予权限 4、输入锁屏密码 5、选择发现的新手机 6、等…

后端八股笔记------Redis

Redis八股 上两种都有可能导致脏数据 所以使用两次删除缓存的技术&#xff0c;延时是因为数据库有主从问题需要更新&#xff0c;无法达到完全的强一致性&#xff0c;只能达到控制一致性。 一般放入缓存中的数据都是读多写少的数据 业务逻辑代码&#x1f447; 写锁&#x1f4…

论文笔记:Evaluating the Performance of Large Language Models on GAOKAO Benchmark

1 论文思路 采用zero-shot prompting的方式&#xff0c;将试题转化为ChatGPT的输入 对于数学题&#xff0c;将公式转化为latex输入 主观题由专业教师打分 2 数据 2010~2022年&#xff0c;一共13年间的全国A卷和全国B卷 3 结论 3.1 不同模型的zeroshot 高考总分 3.2 各科主…

Helix QAC—源码级静态自动化测试工具

Helix QAC概述 Helix QAC是一款源码级静态自动化测试工具&#xff0c;主要用于C/C代码的完全自动化静态分析工作&#xff0c;提供一个高效、健壮和自动化的环境来引入和执行编码标准。Helix QAC根据尽早、更频繁测试的理念&#xff0c;在软件生命周期最早期软件开发阶段应用识别…

03:HAL---中断

目录 一:中断 1:简历 2:AFIO 3:EXTI 4:NVIC基本结构 5:使用步骤 6:设计中断函数 二:中断的应用 A:对外式红外传感计数器 1:硬件介绍 2:计数代码 B:旋转编码计数器 1:硬件介绍 2:旋转编码器代码 C:按键控制LED D:代码总结 一:中断 1:简历 中断&#xff1a;在主程序…

数据分析-Pandas如何画图验证数据随机性

数据分析-Pandas如何画图验证数据随机性 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

地球系统模式(CESM)

目前通用地球系统模式&#xff08;Community Earth System Model&#xff0c;CESM&#xff09;在研究地球的过去、现在和未来的气候状况中具有越来越普遍的应用。CESM由美国NCAR于2010年07月推出以来&#xff0c;一直受到气候学界的密切关注。近年升级的CESM2.0在大气、陆地、海…