当前位置:   article > 正文

深度学习:一文看懂CNN、RNN等七种范例_ffnns

ffnns

https://www.toutiao.com/a6670651004318384653/

 

1. 前馈神经网络 (FFNNs)

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

 

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

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

用于波士顿房价预测的 FFNNs 示例,它是一个回归问题:

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

网络学习时在训练集和验证集上的误差

 

2. 卷积神经网络 (CNN

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

 

CNN(又名 ConvNets) 是一种前馈神经网络,它使用一种空间不变性技巧来有效地学习图像中的局部模式,这种方法在图像中最为常见。空间不变性 (Spatial-invariance ) 是指,比如说,一张猫脸的图像上,左上角的猫耳与图像右下角的猫耳具有相同的特征。CNN 跨空间共享权重,使猫耳以及其他模式的检测更加高效。

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

了解用于对 MNIST 数据集中的手写数字进行分类的一个 CNN 示例。

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

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

3. 循环神经网络 (RNN)

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

 

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

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

训练循环神经网络是很有挑战性的,但同时也允许我们对序列数据进行一些有趣而强大的建模。使用 TensorFlow 生成文本的教程是我最喜欢的教程之一,因为它用很少的几行代码就完成了一些了不起的事情:在字符基础上生成合理的文本:

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

使用 TensorFlow 生产文本

 

4. Encoder-Decoder 架构

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

 

前 3 节中介绍的 FFNN、CNN 和 RNN 都只是分别使用密集编码器、卷积编码器或循环编码器进行预测的网络。这些编码器可以组合或切换,取决于我们试图形成有用表示的原始数据类型。“Encoder-Decoder” 架构是一种更高级的概念,通过对压缩表示进行上采样的解码步骤来生成高维输出,而不是进行预测。

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

针对自主车辆感知问题的最先进的分割网络:

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

使用 TensorFlow 的驾驶场景分割

 

5. 自动编码器 (Autoencoder)

深度学习:一文看懂CNN、RNN等七种范例

 

 

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

由于 ground truth 数据来自输入数据,所以不需要人工操作。换句话说,它是自我监督的。自动编码器的应用包括无监督嵌入、图像去噪等。

6. 生成对抗网络 (GAN)

深度学习:一文看懂CNN、RNN等七种范例

 

 

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

在过去的几年里,GAN 出现了许多变体和改进,包括从特定类别生成图像的能力、从一个域映射到另一个域的能力,以及生成图像的真实性的惊人提高。例如,BigGAN (https://arxiv.org/abs/1809.11096) 从单一类别 (毒蝇伞) 中生成的三个样本:

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

BigGAN 生成的图像

 

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

 

深度学习:一文看懂CNN、RNN等七种范例

 

 

 

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

RL 框架有三种类型:基于策略的 (policy-based)、基于价值 (value-based) 的和基于模型的 (model-based)。区别在于神经网络的任务是学习。

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

深度学习:一文看懂CNN、RNN等七种范例

 

 

MIT DeepTraffic: Deep Reinforcement Learning Competition

 

拓展概念

在深度学习中有几个重要的概念并不是由上述架构直接表示的,包括变分自编码器(VAE)、LSTM/GRU 或神经图灵机中的 “记忆” 概念、胶囊网络,以及注意力机制、迁移学习元学习概念,以及 RL 中基于模型、基于价值、基于策略的方法和 actor-critic 方法的区别。

最后,许多深度学习系统将这些结构以复杂的方式组合起来,共同从多模态数据中学习,或者共同学习解决多个任务。

——完——

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号