01全连接网络全连接、稠密、线性的网络是最基本但功能强大的架构。这是机器学习的直接扩展,使用具有单个隐藏层的神经网络。全连接层作为所有架构的最后一部分,用于获取使用底层深度网络获得的分数的概率分布。顾名思义,全连接网络将其前后层中的所有神经元相互连接起来。网络可能最终设置权重以关闭一些神经元,但理想情况下所有神经元最初都经过训练。02编码器和解码器编码器和解码器可能是深度学习的另一种最基本的架构。所有网络都有一个或多个编码器-解码器层。你可以把全连接层中的隐藏层看成是编码器的编码形式,把输出层看成解码器,将隐藏层解码为输出。通常,编码器将输入编码为中间状态,其中输入是向量,解码器网络将该中间状态解码为我们想要的输出形式。编码器-解码器网络的典型示例是序列到序列(seq2seq)网络(图1.11),可用于机器翻译。一个句子将被编码成一个中间向量表示,其中整个句子以一些浮点数的形式表示,解码器从中间向量解码生成一个目标语言的句子作为输出。▲图1.11seq2seq网络自编码器(图1.12)是一种特殊的encoder-decoder网络,属于无监督学习范畴。自动编码器尝试从未标记的数据中学习,将目标值设置为输入值。比如输入是一张100×100的图片,那么输入向量的维度就是10000。因此输出的大小也会是10000,但是隐藏层的大小可能是500。在简而言之,您正在尝试将输入转换为更小的隐藏状态表示,从中重新生成相同的输入。▲图1.12自编码器的结构如果你能训练出一个能做到这一点的神经网络,你会发现一个很好的压缩算法,可以把高维输入变成低维向量,有数量级的好处。如今,自动编码器正在广泛应用于不同的场景和行业。03循环神经网络循环神经网络(RNN)是风靡全球的最常见的深度学习算法之一。我们目前在自然语言处理或理解方面的最先进性能几乎都归功于RNN的变体。在循环网络中,您尝试识别数据中的最小单元,并使数据成为此类单元的集合。在自然语言的例子中,最常见的做法是把一个词当作一个单位,在处理一个句子的时候,把这个句子当作一组词。您将RNN展开到整个句子,一次一个词(图1.13)。RNN有针对不同数据集的变体,有时我们会根据效率选择变体。长短期记忆(LSTM)和门控循环单元(GRU)是最常见的RNN单元。▲图1.13单词在递归网络中的向量表示04递归神经网络顾名思义,递归神经网络是一种树状网络,用于理解序列数据的层次结构。循环网络被研究人员广泛用于自然语言处理,尤其是Salesforce首席科学家RichardSocher及其团队。词向量有效地将一个词的含义映射到一个向量空间,但是当涉及到整个句子的含义时,没有像word2vec这样的词的首选解决方案。递归神经网络是此类应用中最常用的算法之一。循环网络可以创建解析树和组合向量,并映射其他层次关系(图1.14),这反过来又帮助我们找到组合单词和造句的规则。斯坦福自然语言推理小组开发了一种著名且广泛使用的算法,称为SNLI,这是应用递归网络的一个很好的例子。▲图1.14Vectorrepresentationofwordsinarecurrentnetwork05ConvolutionalNeuralNetworks卷积神经网络(CNN)(图1.15)让我们在计算机视觉上取得了超人的表现,在2010年代初期就达到了人类的精度,而且它的精度还在不断提高一年又一年。卷积网络是最容易理解的网络,因为它有可视化工具来显示每一层在做什么。Facebook人工智能研究(FAIR)负责人YannLeCun在1990年代发明了CNN。当时人们无法使用它,因为没有足够的数据集和计算能力。CNN像滑动窗口一样扫描输入并生成中间表示,然后在到达最后的全连接层之前逐层抽象。CNN也已成功应用于非图像数据集。▲图1.15典型CNNFacebook的研究团队发现了一种基于卷积神经网络的高级自然语言处理系统,其卷积网络优于RNN,被认为是任何序列数据集的首选架构。虽然一些神经科学家和AI研究人员不喜欢CNN(因为他们认为大脑不会做CNN所做的事情),但基于CNN的网络正在击败所有现有的网络实现。06GenerativeAdversarialNetworks由IanGoodfellow于2014年发明,GenerativeAdversarialNetworks(GANs)从此彻底改变了AI社区。它是最简单和最明显的实现之一,但它的功能已经引起了全世界的关注。GAN的配置如图1.16所示。▲图1.16GAN配置在GAN中,两个网络相互竞争,最终达到平衡,即生成网络可以生成数据,判别网络很难将其与实际图像区分开来。一个真实的例子是警察和造假者之间的斗争:假设造假者试图制造假币,而警察正试图发现它。最初,造假者没有足够的知识来制造看起来像真的假币。随着时间的推移,造假者越来越擅长制造看起来更像真钱的假币。这时,警方最初未能识别假币,但最终他们会再次成功。这种生成-对抗过程最终会创造出一种平衡。GAN具有很大的优势。07强化学习通过交互进行学习是人类智能的基础,而强化学习正是引导我们朝这个方向发展的途径。强化学习曾经是一个完全不同的领域,它认为人类是通过反复试验来学习的。然而,随着深度学习的进步,出现了另一个领域,“深度强化学习”,它结合了深度学习和强化学习。现代强化学习使用深度网络来学习,而不是人类明确编码这些规则。我们将研究Q-learning和deepQ-learning,展示有深度学习的强化学习和没有深度学习的强化学习之间的区别。强化学习被认为是通向通用智能的途径之一,其中计算机或代理通过与现实世界、对象或实验交互或通过反馈来学习。训练强化学习代理很像训练狗,既有正向激励也有负向激励。当你用一块饼干奖励你的狗捡起球或对它大喊大叫不捡球时,你正在通过积极和消极的奖励将知识强化到狗的大脑中。我们对AI代理也做同样的事情,但是正奖励会是一个正数,负奖励会是一个负数。虽然我们不能将强化学习视为类似于CNN/RNN等的另一种架构,但这里将其作为另一种利用深度神经网络解决实际问题的方式,其配置如图1.17所示。▲图1.17强化学习配置作者简介:SherinThomas的职业生涯始于信息安全专家,后来将重心转移到基于深度学习的安全系统上。他曾帮助世界各地的公司构建AI流程,并曾在CoWrks工作,CoWrks是一家位于印度班加罗尔的快速发展的初创公司。SudhanshuPassi是CoWrks的技术专家。在CoWrks,他一直是机器学习背后的推动力。简化复杂概念的专业知识使他的作品成为初学者和专家的理想读物。本文节选自《PyTorch深度学习实战》,经发布者授权发布。
