AI生成对抗网络的解释

news2024/11/18 21:51:59

了解生成对抗网络 (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扫描下方二维码免费领取🆓

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

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

相关文章

eclipse maven 项目导入报错

错误:Internal compiler error: java.lang.NullPointerException at org.eclipse.jdt.internal.compiler.apt.dispatch.AnnotationDiscoveryVisitor 环境:eclipse Kepler Service Release 2 ,JDK1.7 解决办法:编码不对,修改

惠海H5118舞台灯芯片方案 RGBW共阳12V/24V/36V大功率 无频闪

H5118是一款外围电路简单的多功能平均电流型LED恒流驱动器,适用于5-48V电压范围的非隔离式大功率恒流LED驱动领域。芯片采用了平均电流模式控制,输出电流精度在3%;输出电流对输入输出电压以及电感不敏感;芯片内部集成了…

鸿蒙开发岗位,面试到底问些啥?

随着春天的脚步临近,一年度的面试旺季却也已开始。就在2 月 28 日,”智联招聘崩了“登上微博热搜。有网友感叹,现在找工作太难了,发现有这么多人在竞争更焦虑了。 对此智联招聘回应称,由于求职流量新高,服务…

XWPFDocument中XmlCursor的使用

类名&#xff1a; org.apache.xmlbeans Interface XmlCursor版本&#xff1a; 原xml代码&#xff1a; <w:p w14:paraId"143E3662" w14:textId"4167FBA7" w:rsidR"001506F2" w:rsidRPr"003F3D89" w:rsidRDefault"001506F2&qu…

神经网络实战前言(补充)

深度学习 深度学习是特殊的机器学习&#xff0c;使用复杂的、多层神经网络进行学习。深度神经网络&#xff08;DNN&#xff09;&#xff0c;每层学习的信息的复杂度是不断增加的。例如面部识别&#xff0c;第一层识别眼睛、第二层识别鼻子&#xff0c;直到所有的面部特征识别完…

算法-贪心-112. 雷达设备

题目 假设海岸是一条无限长的直线&#xff0c;陆地位于海岸的一侧&#xff0c;海洋位于另外一侧。 每个小岛都位于海洋一侧的某个点上。 雷达装置均位于海岸线上&#xff0c;且雷达的监测范围为 d&#xff0c;当小岛与某雷达的距离不超过 d 时&#xff0c;该小岛可以被雷达覆…

Crow 编译和环境搭建

Crow与其说是编译&#xff0c;倒不如说是环境搭建。Crow只需要包含头文件&#xff0c;所以不用编译生成lib。 Crow环境搭建 boost&#xff08;可以不编译boost&#xff0c;只需要boost头文件即可&#xff09;asio &#xff08;可以不编译&#xff0c;直接包含头文件。不能直接…

蜂窝物联:智慧养猪解决方案

一、现状 随着我国养猪业的不断发展&#xff0c;一线从业人员逐渐减少&#xff0c;投资者和养殖者的收益需求却越来越高。当前&#xff0c;我国养猪业正处在转型升级的关键时期&#xff0c;环境压力巨大、资源约束趋紧、“猪周期”变化莫测等问题日益凸显。而经过非瘟之后&…

代码随想录算法训练营第13天

239. 滑动窗口最大值 &#xff08;一刷至少需要理解思路&#xff09; 方法&#xff1a;暴力法 &#xff08;时间超出限制&#xff09; 注意&#xff1a; 代码&#xff1a; class Solution { public:vector<int> maxSlidingWindow(vector<int>& nums, int k…

python蚂蚁觅食 2023年12月青少年编程电子学会python编程等级考试二级真题解析

目录 python蚂蚁觅食 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python蚂蚁觅食 2023年12月 python编程等级考试级编程题 一、题目要求 …

数据容器化,显著增强数据安全性

数据容器化涉及同一端点设备中的应用程序&#xff0c;这些应用程序充当唯一且隔离的数据“容器”。在数据丢失防护方面&#xff0c;可以通过将组织内经常用于处理关键数据的受信任应用程序标记为企业友好&#xff0c;将其委派为敏感信息的数据容器。然后&#xff0c;与其保护整…

科研工具分享-SCI写作课

教程地址【传送门】 所为搭建自己本地的chatGpt&#xff0c;其一就是方便&#xff0c;其二就是没有Ip休眠&#xff0c;这里解释一下&#xff0c;所为ip休眠&#xff0c;就是你长时间不用&#xff0c;就跟电脑自动休眠一样&#xff0c;你需要重新刷新一次网页 他才跟你继续聊天…

【2024泰迪杯】A 题:生产线的故障自动识别与人员配置 Python代码实现

【2024泰迪杯】A 题&#xff1a;生产线的故障自动识别与人员配置 Python代码实现 1 问题 一、问题背景 随着新兴信息技术的大规模应用&#xff0c;工业生产线的智能化控制技术日益成熟。自动生产线 可以自动完成物品传送、物料填装、产品包装和质量检测等过程&#xff0c;极…

js实现导出/下载excel文件

js实现导出/下载excel文件 // response 为导出接口返回数据&#xff0c;如上图 const exportExcel (response, fileName:string) >{const blob new Blob([response.data], {type: response.headers[content-type] //使用获取的excel格式});const downloadElement documen…

常见排序算法(C/C++)--- 动画演示

本篇将介绍一些常见的排序算法&#xff0c;如插入排序&#xff1a;直接插入排序、希尔排序&#xff1b;选择排序&#xff1a;选择排序、堆排序&#xff1b;交换排序&#xff1a;快速排序、冒泡排序&#xff1b;以及最后的归并排序。 对于以上的排序算法&#xff0c;我们总结了每…

Spring基础——SpringMVC概述

目录 MCV模式Spring MVCSrping MVC核心组件SpringMVC的Context域 参考资料 MCV模式 MVC模式是Java软件开发中非常常见的一种软件架构模式&#xff0c;该模式把项目开发分成三个基本组成部分&#xff0c;分别是Model&#xff08;模型&#xff09;&#xff0c;View&#xff08;视…

电源模块测试项目解析:浪涌测试方法、测试标准、测试要求

浪涌测试是电源模块安全性测试方法之一&#xff0c;是对电源模块进行瞬态电压和电流测试的过程。通过模拟实际运行中可能遇到的电压和电流浪涌情况&#xff0c;来检测电源模块的耐受能力。 电源模块浪涌测试标准 1. IEC 61000-4-11&#xff1a;用来评估电源模块在电压变动时的抗…

微信小程序云开发教程——墨刀原型工具入门(素材面板)

引言 作为一个小白&#xff0c;小北要怎么在短时间内快速学会微信小程序原型设计&#xff1f; “时间紧&#xff0c;任务重”&#xff0c;这意味着学习时必须把握微信小程序原型设计中的重点、难点&#xff0c;而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

追寻工作与生活的和谐之道

在现代社会&#xff0c;人们往往被快节奏的工作和生活所困扰&#xff0c;如何在这两者之间找到平衡点&#xff0c;成为许多人关注的焦点。本文将为您介绍一些实用的方法和建议&#xff0c;帮助您实现工作与生活的和谐共处。 一、合理规划时间&#xff0c;提高工作效率 时间是实…

【Flutter 面试题】如何理解Flutter中的Widget、State、Context ,他们是为了解决什么问题?

【Flutter 面试题】如何理解Flutter中的Widget、State、Context &#xff0c;他们是为了解决什么问题&#xff1f; 文章目录 写在前面解答补充说明完整代码示例运行结果如下详细说明 写在前面 &#x1f64b; 关于我 &#xff0c;小雨青年 &#x1f449; CSDN博客专家&#xff…