cnn rnn,cnn表示什么意思
chanong
|简介:深度学**已经存在了几十年,不断发展不同的结构和架构以适应不同的用例。其中一些基于我们对大脑的看法,而另一些则基于大脑的实际工作方式。本文简单介绍了目前业界使用的一些先进架构。
作者:谢林·托马斯(Sherin Thomas)、苏丹舒·帕西(Sudhanshu Passi)
来源:华硕科技
01 全连接网络全连接、密集、线性网络是最基本但最强大的架构。这是机器学**的直接扩展,使用具有单个隐藏层的神经网络。全连接层作为每个架构的最后一部分,用于获取使用底层深度网络获得的分数的概率分布。
顾名思义,完全连接的网络将其上下层中的所有神经元互连。网络最终可能会通过设置权重关闭一些神经元,但理想情况下所有神经元最初都会参与训练。
02 编码器和解码器编码器和解码器可能是深度学**中最基本的架构之一。所有网络都有一个或多个编码器/解码器层。全连接层的隐藏层可以被认为是编码器的编码形式,输出层可以被认为是解码器,对隐藏层进行解码并将其作为输出提供。编码器通常将输入编码为中间状态(即向量),然后解码器网络将中间状态解码为所需的输出格式。
编码器/解码器网络的标准示例是序列到序列(seq2seq) 网络(图1.11),可用于机器翻译。句子被编码成中间向量表示,其中整个句子以一些浮点数的形式表示,解码器根据中间向量对其进行解码,以产生目标语言的句子作为输出。
图1.11 seq2seq网络
自动编码器(图1.12)是属于无监督学**类别的特殊编码器/解码器网络。自动编码器尝试从未标记的数据中学**并将目标值设置为输入值。
例如,如果输入是大小为100x100 的图像,则输入向量的维度为10,000。因此,输出大小也将为10 000,但隐藏层大小可能为500。也就是说,我们试图将输入转换为更小的隐藏状态表示,然后从隐藏状态重新生成相同的输入。
图1.12 自动编码器结构
如果我们可以训练一个能够做到这一点的神经网络,我们就可以找到良好的压缩算法,可以将高维输入转换为具有数量级增益的低维向量。
目前,自动编码器广泛应用于不同场景和行业。
03 循环神经网络循环神经网络(RNN)是席卷全球的最流行的深度学**算法之一。当前自然语言处理和理解方面最先进的性能大部分来自RNN 的变体。循环网络尝试识别数据中的最小单元并将数据组织成一组这样的单元。
在自然语言示例中,处理句子时最常见的方法是将单词视为单元,将句子视为单词的集合。我们将RNN 分布在整个句子中,一次处理一个单词(图1.13)。 RNN 具有适用于不同数据集的变体,您可以根据效率选择变体。长短期记忆(LSTM) 和门控重复单元(GRU) 是最常见的RNN 单元。
图1.13 循环网络中单词的向量表示
04 循环神经网络循环神经网络,顾名思义,是用于理解序列数据的层次结构的树状网络。递归网络被研究人员广泛用于自然语言处理,特别是Salesforce 首席科学家Richard Socher 及其团队。
词向量可以有效地将词义映射到向量空间,但是当涉及到整个句子的含义时,还没有像word2vec这样对单词友好的解决方案。循环神经网络是此类应用中最常用的算法之一。
循环网络可以创建解析树和组合向量并映射其他层次关系(图1.14),这可以帮助找到组合单词形成句子的规则。斯坦福自然语言推理小组开发了一种众所周知且常用的算法,称为SNLI。这是应用循环网络的一个很好的例子。
图1.14 递归网络中单词的向量表示
05 卷积神经网络卷积神经网络(CNN)(图1.15)在计算机视觉方面实现了超人的性能。它在2010 年代初期就达到了人类的准确度,并且其准确度还在逐年提高。
卷积网络是最容易理解的,因为它们具有可视化工具,可以向您显示每一层正在做什么。
Facebook 人工智能研究(FAIR) 负责人Yann LeCun 在20 世纪90 年代发明了CNN。人们无法使用它,因为当时没有足够的数据集和计算能力。 CNN 像滑动窗口一样扫描输入并生成中间表示。中间表示被逐层抽象,最终到达全连接层。 CNN 也已成功应用于图像以外的数据集。
图1.15 通用CNN
Facebook 研究人员发现了一种基于卷积神经网络的先进自然语言处理系统,其性能优于RNN,而RNN 被认为是任何序列数据集的首选架构。尽管一些神经科学家和人工智能研究人员不喜欢CNN(因为他们认为大脑不会做CNN 所做的事情),但基于CNN 的网络的性能优于所有现有的网络实现。
06 生成对抗网络生成对抗网络(GAN)由Ian Goodfellow 于2014 年发明。此后它摧毁了整个人工智能社区。尽管它是最简单、最明显的实现之一,但它的功能已经引起了全世界的关注。 GAN的配置如图1.16所示。
图1.16 GAN配置
在GAN 中,两个网络相互竞争并最终达到平衡,其中生成网络能够生成数据,而判别网络则难以将其与真实图像区分开来。
现实生活中的一个例子是警察与造假者之间的斗争。假设一名造假者试图制造假钞,而警方则试图找出真相。最初,造假者没有足够的知识来制造看起来真实的假币。随着时间的推移,造假者越来越擅长制造与真实货币相似的假币。至此,警方最初未能识别出这些假钞,但最终再次成功识别出来。
这种生成和对抗的过程最终导致平衡。 GAN 具有显着的优势。
07 强化学**通过交互进行学**是人类智能的基础,而强化学**正是引领我们朝这个方向发展的方法。强化学**曾经是一个完全不同的领域,人们认为人类是通过尝试和错误来学**的。然而,随着深度学**的进步,出现了另一个领域,称为“深度强化学**”,它将深度学**和强化学**结合起来。
现代强化学**使用深度网络来学**这些规则,而不是让人类显式地对其进行编码。探索Q-learning 和深度Q-learning,并展示使用深度学**的强化学**和不使用深度学**的强化学**之间的差异。
强化学**被认为是通向通用智能的途径之一,计算机或智能体通过与现实世界、物体、实验或反馈进行交互来学**。训练强化学**智能体与训练狗非常相似,都通过正激励和负激励。当你的狗捡起球时奖励一块饼干,或者因为你的狗没有捡起球而对你的狗大喊大叫,这将通过积极和消极的奖励来强化你的狗大脑中的知识。
我们对AI 代理做了同样的事情,但正奖励将是正数,负奖励将是负数。强化学**不能被视为类似于CNN/RNN 等的独立架构,而应被视为使用深度神经网络解决现实世界问题的另一种技术,如图1.17 所示。
图1.17 强化学**配置
关于作者:Sherin Thomas 的职业生涯始于信息安全专业人员,然后将重点转向基于深度学**的安全系统。他帮助世界各地的多家公司构建人工智能流程,并在印度班加罗尔快速发展的初创公司CoWrks 工作。
Sudhanshu Passi 是CoWrks 的技术专家。在CoWrks,他是所有机器学**背后的驱动力。他在简化复杂概念方面的专业知识使他的书成为初学者和专家的理想读物。
本文摘自《PyTorch深度学**实战》,经出版社许可发布。
扩展阅读《PyTorch深度学**实战》
建议:本书是一本深度学**实用指南,重点关注PyTorch中各种深度学**场景的实际实现,不包括模型层面的原理分析。本书通过大量的示例和代码,详细介绍了如何使用PyTorch 构建深度学**模型的原型、构建深度学**工作流程并将这些原型投入生产。