你所在的位置: 首页 > 正文

MIT高赞深度学习教程:一文看懂CNN、RNN等7种范例(TensorFlow教程)

2019-07-12 点击:1293
黄色网站网址

麻省理工学院高度赞的深度学习教程:一篇文章了解CNN,RNN等七个例子(TensorFlow教程)

056fa1b691da4706bcd7e2e257d2d96a.jpeg

[简介]作为麻省理工学院深度学习基础系列的一部分,本文概述了七种架构范例的深度学习,每种范例都提供了TensorFlow教程的链接。

我们最近介绍了由麻省理工学院学术研究员Lex Fridman介绍的麻省理工学院深度学习基础系列,并将介绍使用神经网络解决计算机视觉,自然语言处理,游戏,自动驾驶和机器人等问题的基础知识。

作为讲座的一部分,Lex Fridman的文章概述了七种架构范例的深入学习,每种范例都提供了TensorFlow教程的链接。以下是麻省理工学院高级课程6.S094课程第一课的视频:

深度学习是表示学习:自动从数据中形成有用的表示。我们如何代表世界可以使我们人类和我们构建的机器学习模型更容易复杂化。

对于前者,我最喜欢的例子是1543年出版的哥白尼的日心说。太阳是宇宙中心的太阳中心理论彻底颠覆了以地球为中心的地心说。在最好的情况下,深度学习允许我们通过从“特征工程”过程中移除哥白尼(即移除人类专家)来自动执行此步骤。

dc6e9d00bcd2453e8ba5138241d2ab11.gif

日心说(1543)与地心说(公元前6世纪)

在高层次上,神经网络可以是编码器,解码器或两者的组合:

编码器在原始数据中找到模式以形成紧凑,有用的表示。

解码器从这些表示生成高分辨率数据。生成的数据可以是新示例,也可以是描述性知识。

其余的是帮助我们有效处理视觉信息,语言,音频(项目1-6)的智能方法,甚至可以在基于此信息和偶尔奖励(第7项)的世界中采取行动。以下是一般说明:

3e4fb16154e44f2d8cded73c1ac21412.jpeg

在以下部分中,我将简要介绍七个体系结构示例,并为每个示例提供演示TensorFlow教程的链接。请参阅最后的“基本扩展”部分,该部分讨论了不属于这七个类别的一些令人兴奋的深度学习领域。

TensorFlow教程地址:

1.前馈神经网络(FFNN)

a306259632944307a33d836d2c2ab7b5.png

前馈神经网络(FFNN)的历史可以追溯到20世纪40年代,一个没有任何环路的网络。数据在一次传递中从输入传递到输出,而没有任何先前的“状态存储器”。从技术上讲,大多数深度学习网络可以被认为是FFNN,但通常“FFNN”是指其最简单的变体:密集连接的多层感知器(MLP)。

密集编码器用于将输入上已经紧凑的一组数字映射到预测:分类(离散)或回归(连续)。

8a8e6df0517b46d2b293001a8c177dec.png

网络学习期间训练集和验证集的错误

2.卷积神经网络(CNN)

2b0bd379bdb34c8abd784b81bac5897a.png

CNN(又名ConvNets)是一种前馈神经网络,它使用空间不变技术有效地学习图像中的局部模式,这在图像中最常见。空间不变性意味着,例如,在猫的脸部图像上,左上角的猫的耳朵具有与图像右下角的猫耳朵相同的特征。 CNN在各个空间共享权重,使猫耳和其他模式的检测更有效。

CNN使用卷积层(卷积编码器)而不是仅使用密集连接的层。这些网络用于图像分类,目标检测,视频运动识别以及结构上空间不变的任何数据(例如语音音频)。

TensorFlow教程:请参阅我们的Deep Learning Fundamentals教程的第2部分,了解用于对MNIST数据集中的手写数字进行分类的示例CNN。

b7377496a4104773baecfb20695d9cf0.gif

分类预测(右),生成手写数字(左)。

3.递归神经网络(RNN)

92c9c433f9ed4eeabe29efdc39418791.png

RNN是一个带有循环的网络,因此具有“状态记忆”。它们可以及时部署,成为重量共享的前馈网络。正如CNN在“太空”上分享权重一样,RNN在“时间”上分享权重。这使他们能够处理并有效地表示序列数据中的模式。

RNN模块有许多变体,包括LSTM和GRU,以帮助学习更长序列的模式。其应用包括自然语言建模,语音识别,语音生成等。

TensorFlow教程:训练循环神经网络具有挑战性,但它也允许我们对序列数据进行一些有趣且强大的建模。使用TensorFlow生成文本的教程是我最喜欢的教程之一,因为它使用几行代码做了很棒的事情:根据字符生成合理的文本:

6ae4c75b5a30409cb84471bf55e8ace4.jpeg

使用TensorFlow生成文本

使用TensorFlow生成文本教程:

4.编码器 - 解码器架构

9a99732c61424751bf3362cbec269007.jpeg

前三节中描述的FFNN,CNN和RNN只是使用密集编码器,卷积编码器或循环编码器进行预测的网络。这些编码器可以组合或切换,具体取决于我们试图形成的原始数据类型为有用的表示。 “编码器 - 解码器”架构是一种更先进的概念,它通过解码压缩表示的上采样而不是进行预测来生成高维输出。

请注意,编码器和解码器可能彼此非常不同。例如,图像字幕网络可能具有卷积编码器(用于图像输入)和循环解码器(用于自然语言输出)。编码器 - 解码器架构的应用包括语义分段,机器翻译等。

TensorFlow教程:请参阅有关驾驶场景分割的教程,该教程演示了用于自主车辆感知问题的最先进的分段网络:

075304f18ef64f0cb9780171bcd5583f.gif

使用TensorFlow

驾驶场景分割

地址:

5.自动编码器(自动编码器)

4b2c6750e9be43728ff92257af9e62ee.jpeg

自动编码器是一种更简单的“无监督学习”形式,具有编码器 - 解码器架构,并学习生成输入数据的精确副本。由于编码表示比输入数据小得多,因此网络被迫学习如何形成最有意义的表示。

由于地面实况数据来自输入数据,因此无需手动操作。换句话说,它是自我监控。自动编码器的应用包括无监督嵌入,图像去噪等。最重要的是,它的“表征学习”的基本思想是生成模型的核心,也是下一部分的所有深度学习。

TensorFlow教程:在此TensorFlow Keras教程中,您可以探索自动编码器对的能力:(1)输入数据去噪和(2)嵌入MNIST数据集。

地址:

6.生成对抗网络(GAN)

a77f948a9aeb4f97af8d72002820ba8e.jpeg

GAN是用于训练网络的框架,其被优化以从特定表示生成新的,逼真的样本。最简单的形式是培训过程涉及两个网络。其中一个网络被称为生成器,它生成新的数据实例,试图欺骗另一个网络,即鉴别器,它将图像分类为真实和伪造的图像。

在过去几年中,GAN已经看到了许多变化和改进,包括从特定类别生成图像的能力,从一个域映射到另一个域的能力,以及生成的图像的真实性的惊人增加。例如,BigGAN(从单一类别(Amanita)生成三个样本:

346e4c55561e4e88b7805abb7c5a9327.jpeg

由BigGAN生成的图像

件的GAN和DCGAN的教程。随着课程的进展,我们将在GitHub上发布一个关于GAN的新教程。

件的GAN:

DCGAN:

7.深度强化学习(Deep RL)

d0c1bbac715f4c09b08bd7ce4b1c257f.jpeg

强化学习(RL)是一个框架,用于教导代理如何以最大化回报的方式行事。当学习由神经网络完成时,我们称之为深度强化学习(Deep Reinforcement Learning,Deep RL)。

RL框架有三种类型:基于策略,基于价值和基于模型。不同之处在于神经网络的任务是学习。有关详细说明,请参阅本系列的第6讲。

当我们需要做出一系列决策时,Deep RL允许我们在模拟或现实环境中应用神经网络。包括游戏,机器人,神经架构搜索等。

教程:我们的DeepTraffic环境提供了一个教程和代码示例,可以在浏览器中快速浏览,训练和评估深度RL代理,我们很快将发布支持GitHub上的GPU培训的TensorFlow教程。

6e10fdc71d4f4869993eb5e6ce5272c2.gif

麻省理工学院DeepTraffic:深度强化学习竞赛

麻省理工学院DeepTraffic:

扩展概念

深度学习中有几个重要概念并未直接由上述架构表示,包括变分自编码器(VAE),LSTM/GRU或神经投影机,胶囊网络和注意机制中的“记忆”概念。移民学习,元学习概念,以及RL中基于模型,基于价值,基于政策和行为者批评方法之间的差异。

最后,许多深度学习系统以复杂的方式将这些结构组合在一起,从多模态数据中学习,或者学习一起解决多个任务。本系列的其他课程将介绍这些概念,并将在以下课程中介绍更多概念:

作者:Lex Fridman新来源的: ,查看更多

日期归档
黄色网址大全 版权所有© www.chatterzworld.com 技术支持:黄色网址大全 | 网站地图