01 全连接网络

全连接、密集和线性网络是最基本但功能强大的架构。这是机器学习的直接扩展,将神经网络与单个隐藏层结合使用。全连接层充当所有架构的最后一部分,用于获得使用下方深度网络所得分数的概率分布。

如其名称所示,全连接网络将其上一层和下一层中的所有神经元相互连接。网络可能最终通过设置权重来关闭一些神经元,但在理想情况下,最初所有神经元都参与训练。

02 编码器和解码器

编码器和解码器可能是深度学习另一个最基本的架构之一。所有网络都有一个或多个编码器–解码器层。你可以将全连接层中的隐藏层视为来自编码器的编码形式,将输出层视为解码器,它将隐藏层解码并作为输出。通常,编码器将输入编码到中间状态,其中输入为向量,然后解码器网络将该中间状态解码为我们想要的输出形式。

编码器–解码器网络的一个规范示例是序列到序列 (seq2seq)网络(图1.11),可用于机器翻译。一个句子将被编码为中间向量表示形式,其中整个句子以一些浮点数字的形式表示,解码器根据中间向量解码以生成目标语言的句子作为输出。

▲图1.11 seq2seq 网络

自动编码器(图1.12)是一种特殊的编码器–解码器网络,属于无监督学习范畴。自动编码器尝试从未标记的数据中进行学习,将目标值设置为输入值。

例如,如果输入一个大小为100×100的图像,则输入向量的维度为10 000。因此,输出的大小也将为 10 000,但隐藏层的大小可能为 500。简而言之,你正在尝试将输入转换为较小的隐藏状态表示形式,从隐藏状态重新生成相同的输入。

▲图1.12 自动编码器的结构

你如果能够训练一个可以做到这一点的神经网络,就会找到一个好的压缩算法,其可以将高维输入变为低维向量,这具有数量级收益。

如今,自动编码器正被广泛应用于不同的情景和行业。

03 循环神经网络

循环神经网络(RNN)是最常见的深度学习算法之一,它席卷了整个世界。我们现在在自然语言处理或理解方面几乎所有最先进的性能都归功于RNN的变体。在循环网络中,你尝试识别数据中的最小单元,并使数据成为一组这样的单元。

在自然语言的示例中,最常见的方法是将一个单词作为一个单元,并在处理句子时将句子视为一组单词。你在整个句子上展开RNN,一次处理一个单词(图1.13)。RNN 具有适用于不同数据集的变体,有时我们会根据效率选择变体。长短期记忆 (LSTM)和门控循环单元(GRU)是最常见的 RNN 单元。

▲图1.13 循环网络中单词的向量表示形式

04 递归神经网络

顾名思义,递归神经网络是一种树状网络,用于理解序列数据的分层结构。递归网络被研究者(尤其是 Salesforce 的首席科学家理查德·索彻和他的团队)广泛用于自然语言处理。

字向量能够有效地将一个单词的含义映射到一个向量空间,但当涉及整个句子的含义时,却没有像word2vec这样针对单词的首选解决方案。递归神经网络是此类应用最常用的算法之一。

递归网络可以创建解析树和组合向量,并映射其他分层关系(图1.14),这反过来又帮助我们找到组合单词和形成句子的规则。斯坦福自然语言推理小组开发了一种著名的、使用良好的算法,称为SNLI,这是应用递归网络的一个好例子。

▲图1.14 递归网络中单词的向量表示形式

05 卷积神经网络

卷积神经网络(CNN)(图1.15)使我们能够在计算机视觉中获得超人的性能,它在2010年代早期达到了人类的精度,而且其精度仍在逐年提高。

卷积网络是最容易理解的网络,因为它有可视化工具来显示每一层正在做什么。

Facebook AI研究(FAIR)负责人Yann LeCun早在20世纪90年代就发明了CNN。人们当时无法使用它,因为并没有足够的数据集和计算能力。CNN像滑动窗口一样扫描输入并生成中间表征,然后在它到达末端的全连接层之前对其进行逐层抽象。CNN也已成功应用于非图像数据集。

▲图1.15 典型的 CNN

Facebook的研究小组发现了一个基于卷积神经网络的先进自然语言处理系统,其卷积网络优于RNN,而后者被认为是任何序列数据集的首选架构。虽然一些神经科学家和人工智能研究人员不喜欢CNN(因为他们认为大脑不会像CNN那样做),但基于CNN的网络正在击败所有现有的网络实现。

06 生成对抗网络

生成对抗网络(GAN)由 Ian Goodfellow 于 2014 年发明,自那时起,它颠覆了整个 AI 社群。它是最简单、最明显的实现之一,但其能力吸引了全世界的注意。GAN的配置如图1.16所示。

▲图1.16 GAN配置

在GAN中,两个网络相互竞争,最终达到一种平衡,即生成网络可以生成数据,而鉴别网络很难将其与实际图像区分开。

一个真实的例子就是警察和造假者之间的斗争:假设一个造假者试图制造假币,而警察试图识破它。最初,造假者没有足够的知识来制造看起来真实的假币。随着时间的流逝,造假者越来越善于制造看起来更像真实货币的假币。这时,警察起初未能识别假币,但最终他们会再次成功识别。

这种生成–对抗过程最终会形成一种平衡。GAN 具有极大的优势。

07 强化学习

通过互动进行学习是人类智力的基础,强化学习是领导我们朝这个方向前进的方法。过去强化学习是一个完全不同的领域,它认为人类通过试错进行学习。然而,随着深度学习的推进,另一个领域出现了“深度强化学习”,它结合了深度学习与强化学习。

现代强化学习使用深度网络来进行学习,而不是由人们显式编码这些规则。我们将研究Q学习和深度Q学习,展示结合深度学习的强化学习与不结合深度学习的强化学习之间的区别。

强化学习被认为是通向一般智能的途径之一,其中计算机或智能体通过与现实世界、物体或实验互动或者通过反馈来进行学习。训练强化学习智能体和训练狗很像,它们都是通过正、负激励进行的。当你因为狗捡到球而奖励它一块饼干或者因为狗没捡到球而对它大喊大叫时,你就是在通过积极和消极的奖励向狗的大脑中强化知识。

我们对AI智能体也做了同样的操作,但正奖励将是一个正数,负奖励将是一个负数。尽管我们不能将强化学习视为与 CNN/RNN 等类似的另一种架构,但这里将其作为使用深度神经网络来解决实际问题的另一种方法,其配置如图1.17所示。

▲图1.17 强化学习配置

关于作者:谢林·托马斯(Sherin Thomas)的职业生涯始于信息安全专家,后来他将工作重心转移到了基于深度学习的安全系统。他曾帮助全球多家公司建立AI流程,并曾就职于位于印度班加罗尔的一家快速成长的初创公司CoWrks。

苏丹舒·帕西(Sudhanshu Passi)是CoWrks的技术专家。在CoWrks ,他一直是机器学习的一切相关事宜的驱动者。在简化复杂概念方面的专业知识使他的著作成为初学者和专家的理想读物。

本文摘编自《PyTorch深度学习实战》,经出版方授权发布。

【编辑推荐】

  1. 使用人工智能和物联网技术的企业重返工作场所时需要考虑的事项
  2. 人工智能迁移学习如何工作 在AI模型和培训过程起到那些作用
  3. 为什么说神经网络可以逼近任意函数?
  4. 2020年面向企业的优秀人工智能平台
  5. 人工智能几大态度:你愿意为追踪疫情,而牺牲个人数据吗?

CNN、RNN、GAN都是什么?终于有人讲明白了相关推荐

  1. rds基于什么开发_IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了...

    导读:本文将详细科普云计算的概念.云服务的发展现状,并逐一介绍各种云服务模式(IaaS.PaaS.SaaS.DaaS),建议收藏! 01 云计算的概念 云是一种服务,可以像使用水.电.煤那样按需使用. ...

  2. 贯穿计算机系统所有方面的重要概念,终于有人讲明白了

    导读:我们在此强调几个贯穿计算机系统所有方面的重要概念.我们会在本文多处讨论这些概念的重要性. 作者:Randal E. Bryant,David R. O'Hallaron 来源:华章计算机(hzb ...

  3. 什么是HBase?它是怎样工作的?终于有人讲明白了

    导读:HBase是一个构建在HDFS之上的.分布式的.支持多版本的NoSQL数据库,它的出现补齐了大数据场景下快速查询数据能力的短板.它非常适用于对平台中的热数据进行存储并提供查询功能. 作者:朱凯 ...

  4. 什么是机器学习?有哪些分类?怎样上手开发?终于有人讲明白了

    导读:本文首先介绍何谓机器学习,以及与机器学习相关的基本概念,这是学习和理解机器学习的基础.按照学习方式的不同,机器学习可以分为不同类型,如监督学习.无监督学习.强化学习等,本文会详细介绍它们各自的特 ...

  5. 什么是机器学习?有哪些应用?终于有人讲明白了

    导读:人工智能的快速发展,带动了相关技术的繁荣.近些年,国内外的科技公司对机器学习人才都有大量需求.怎样入行机器学习?本文带你从0开始学起. 作者:星环科技人工智能平台团队 来源:大数据DT(ID:h ...

  6. 什么是云原生,跟云计算有什么关系?终于有人讲明白了

    导读:云原生到底是什么? 作者:阿里集团 阿里云智能事业群 云原生应用平台 来源:大数据DT(ID:hzdashuju) 云原生(Cloud Native)的概念,最早是由Pivotal于2015年提 ...

  7. Netflix正在搞的混沌工程到底是什么?终于有人讲明白了

    导读:与任何新概念一样,混沌工程时常被误解.本文会探讨混沌工程是什么以及不是什么. 作者:Casey Rosenthal, Nora Jones 来源:大数据DT(ID:hzdashuju) 在Net ...

  8. 什么是架构?网络架构中都有什么?终于有人讲明白了

    导读:理解架构这个词的意思是十分重要的.它可能被过度使用,并且使用在各种环境中.如果缺少一致的理解,将会有交流失败的风险.那么架构这个词到底是什么意思呢? 作者:大卫·D.克拉克(David D. C ...

  9. 什么是扩展现实(XR)?云XR系统怎样实现?终于有人讲明白了

    导读:5G大潮下的VR/XR/AR云化探索. 作者:林瑞杰 冯林 温向东 陈乐 等 来源:大数据DT(ID:hzdashuju) 我国政府正在积极推动虚拟现实技术的全面发展.虚拟现实(含增强现实)已被 ...

最新文章

  1. 从一个实际的例子来了解线程套间模型(.NET and COM interop)
  2. 修改Bootstrap的一些默认样式
  3. VTK:PolyData之FitSplineToCutterOutput
  4. 婚姻就像一双鞋,合不合适只有脚知道
  5. 解决Spring下无法实时访问本地静态资源
  6. Build 2018,给你带来全新的开发者体验, .NET Core 3.0带来桌面支持
  7. html5 扩展属性,HTML5属性的介绍和扩展.doc
  8. 利用jsonp、iframe和location.hash解决跨域问题
  9. 学英语---(2)脱口而出100句经典英语口语
  10. 一加手机回应“滤镜透视”争议:为消除担忧 暂时禁用该滤镜
  11. 为什么你玩lol遇到的队友都是坑(适用于所有moba游戏)
  12. 一些货币政策及金融术语简介
  13. 百度开放平台-快递物流解决方案
  14. [转] C++中字符型变量的地址输出
  15. 程序员面试揭秘之程序员靠什么途径去美国工作?
  16. c语言统计字母字符数字字符个数,C语言统计字符个数代码分享
  17. 工程技术人员以计算机为辅助工具,上海工程技术大学机械CADCAM考试复习资料
  18. 文献管理软件Mendeley Reference Manager使用方法
  19. Ureport2分栏功能
  20. android java json_探究Android系统中解析JSON数据的方式

热门文章

  1. mysql cascade的用法_MySQL常用操作笔记
  2. ubuntu下解决“无法获得锁 ”的方法_cppmylove的博客-CSDN博客_无法获得锁
  3. python中导入的模块不能直接当方法用,需要采用模块.方法名或模块 as 别名,再别名.方法的形式
  4. 阿里云代码超限2040M remote: error: hook declined to update refs/heads
  5. windows解压tar.gz文件 7z
  6. 2021-01-14python函数传参是传值还是传引用? 参数若是简单类型是传值 若是对象类型则是传引用,python是兼容两者传参方式的
  7. 注意力机制Q K V
  8. vs报错 已经在 helpers.obj 中定义
  9. 《预训练周刊》第23期:Smart Bird:解决变换器性能瓶颈的新方法、Prompt:如何提升预训练模型的迁移效果...
  10. Percy Liang、李飞飞等百余位学者联名发布:「基础模型」的机遇与挑战