干货 | 图解LSTM神经网络架构及其11种变体(附论文)

2016-10-02 机器之心

选自FastML

作者:Zygmunt Z.

机器之心编译 

参与:老红、李亚洲

就像雨季后非洲大草原许多野生溪流分化成的湖泊和水洼,深度学习已经分化成了各种不同的专门架构。

并且,每个架构都会有一个图解,这里将详细介绍它们。

神经网络在概念上很简单,并且它们十分动人。在层级上,有着一堆同质化的元素和统一的单位,并且它们之间还存在在一系列的加权连接。这就是神经网络的所有,至少从理论上来说是这样。然而,时间证明的结果却有所不同。并非工程的特性,我们现在拥有的是建筑工程,而非工程的特性,正如 Stephen Merrity 描述的那样:

深度学习的浪漫主义描述通常预示着手工制作工程特性的日子一去不复返了,这个模型的本身是足以先进到能够解决问题的。正如大多数广告一样,它同时具备真实性和误导性。

 

虽然深度学习在很多情况下简化了工程特性,但它肯定还没有彻底地摆脱它。随着工程特性的减少,机器学习模型本身的结构变得越来越复杂。大多数时候,这些模型架构会特定于一个给定的任务,就像过去的工程特性那样。

需要澄清一下的是,这仍然是很重要的一步。结构工程要比工程特性更具一般性,并且提供了许多新的机会。正如我们提到的,我们不能无视这样一个事实:我们离我们想要达到的还很远。

LSTM 图解

怎样解释这些架构?自然地,我们可以通过图解,图解往往可以让阐述变得更清晰。

让我们先来看看如今最流行的两种网络,CNN 和 LSTM:

很简单吧,我们再更仔细地研究下:

正如大家所言,你可能有很多不理解的数学问题,但你会慢慢习惯它们。幸运地是,我们有很多非常好的解释。

仍觉得 LSTM 太复杂了?那让我们来试试简单的版本,GRU (Gated Recurrent Unit),相当琐碎。

尤其是这一个,被称为 minimal GRU:

 

更多图解

LSTM 个多各样的变体如今很常见。下面就是一个,我们称之为深度双向 LSTM:

DB-LSTM(参见论文:End-to-end Learning of Semantic Role Labeling Using Recurrent Neural Networks )

剩下的也不需要加以过多说明。让我们从 CNN 和 LSTM 的结合开始说起:

卷积残差记忆网络(参见论文:Convolutional Residual Memory Networks)

动态 NTM(参见论文:Dynamic Neural Turing Machine with Soft and Hard Addressing Schemes)

可发展神经图灵机(参见论文:Evolving Neural Turing Machines for Reward-based Learning)

视觉注意的循环模型(参见论文:Recurrent Models of Visual Attention)

通过反向传播无监督域适应(参见论文:Unsupervised Domain Adaptation by Backpropagation)

进行图像超分辨率的深度递归 CNN(参见论文:Deeply-Recursive Convolutional Network for Image Super-Resolution)

带有合成梯度的多层感知器的图解在清晰度上得分很高:

带有合成梯度的 MLP(参见论文:Decoupled Neural Interfaces using Synthetic Gradients)

每天都有新的成果出现,下面这个就是新鲜的,来自谷歌的神经机器翻译系统

一些完全不同的东西

Neural Network ZOO(一篇描述神经网络架构的文章,机器之心同样进行了编译) 的描绘非常简单,但很多都华而不实,例如:ESM, ESN 和 ELM。

它们看上去像没有完全连接的感知器,它们看上去像没有完全连接的感知器,但它们应该代表的是一种液体状态机、一个回声状态网络和一个极端学习机。

LSM 和 ESN 有何不同?很简单,LSM 有着三角状绿色的神经元。而 ESN 和 ELM 又有什么不同呢?它们都有蓝色的神经元。

讲真,虽然类似,,ESN 是一个递归网络而 ELM 则不是。而这种区别也可在架构图中见到。

 

(转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)的更多相关文章

  1. (转)LSTM神经网络介绍

    原文链接:http://www.atyun.com/16821.html 扩展阅读: https://machinelearningmastery.com/time-series-prediction ...

  2. 神经网络架构PYTORCH-几个概念

    使用Pytorch之前,有几个概念需要弄清楚. 什么是Tensors(张量)? 这个概念刚出来的时候,物理科班出身的我都感觉有点愣住了,好久没有接触过物理学的概念了. 这个概念,在物理学中怎么解释呢? ...

  3. LSTM神经网络

    LSTM是什么 LSTM即Long Short Memory Network,长短时记忆网络.它其实是属于RNN的一种变种,可以说它是为了克服RNN无法很好处理远距离依赖而提出的. 我们说RNN不能处 ...

  4. LSTM 神经网络输入输出层

    今天终于弄明白,TensorFlow和Keras中LSTM神经网络的输入输出层到底应该怎么设置和连接了.写个备忘. https://machinelearningmastery.com/how-to- ...

  5. 怎样设计最优的卷积神经网络架构?| NAS原理剖析

    虽然,深度学习在近几年发展迅速.但是,关于如何才能设计出最优的卷积神经网络架构这个问题仍在处于探索阶段. 其中一大部分原因是因为当前那些取得成功的神经网络的架构设计原理仍然是一个黑盒.虽然我们有着关于 ...

  6. 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)

    摘要:本文提出一种基于局部特征保留的图卷积网络架构,与最新的对比算法相比,该方法在多个数据集上的图分类性能得到大幅度提升,泛化性能也得到了改善. 本文分享自华为云社区<论文解读:基于局部特征保留 ...

  7. 完全图解RNN、RNN变体、Seq2Seq、Attention机制

    完全图解RNN.RNN变体.Seq2Seq.Attention机制 本文主要是利用图片的形式,详细地介绍了经典的RNN.RNN几个重要变体,以及Seq2Seq模型.Attention机制.希望这篇文章 ...

  8. CSS垂直居中的11种实现方式

    今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...

  9. [转]Markdown 11种基本语法

    Markdown 11种基本语法 现在是我在学习Markdown时做的笔记.学完这些Markdown的基本使用已经不成问题. 1. 标题设置(让字体变大,和word的标题意思一样) 在Markdown ...

随机推荐

  1. Maven的特点、优点-功能摘要

    Maven功能摘要 以下是Maven的主要特点: 遵循最佳实践的简单项目设置 - 在几秒钟内启动新项目或模块 所有项目的一致使用 - 意味着新开发人员进入项目的时间不会增加 卓越的依赖管理,包括自动更 ...

  2. 异常检测LOF

    局部异常因子算法-Local Outlier Factor(LOF)在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异常数据.异常检测也是数据挖掘的一个方向,用于反作弊 ...

  3. requests 学习笔记

    除了get 方式外 还有post 等等 注意字典里值为 None 的键都不会被添加到 URL 的查询字符串里 import requests getpara = {"key1":& ...

  4. Django 安装 创建项目 运行项目

    Django基础 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的We ...

  5. django后台管理--添加自定义action

    管理员动作 简单来说,Django管理员的基本工作流程是“选择一个对象,然后进行更改”.这对大多数用例都很有效. 然而当你一次性要对多个对象做相同的改变,这个流程是非常的单调乏味的. 在这些情况下,D ...

  6. EDK II之DXE Core框架简介

    本文旨在简单的介绍一下DXE阶段的工作原理: UDK2015的开源代码下载:https://github.com/tianocore/tianocore.github.io/wiki/EDK-II D ...

  7. 使用Selenium+firefox抓取网页指定firefox_profile后的问题

    from: https://blog.csdn.net/chufazhe/article/details/51145834 摘要:在使用selenium和firefox抓取网页指定firefox_pr ...

  8. 源码部署pxc集群

    想了想还是研究一下怎么源码安装pxc吧,毕竟很多组件都是源码安装的. 环境: yum install -y boost-devel libodb-boost-devel check-devel ope ...

  9. ELK学习笔记之Grok patterns正则匹配

    https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns USERNA ...

  10. Centos部署flask项目

    必备: Python2.7(ok) MySQL(ok) git supervisor virtualenv Gunicorn 阿里云服务器(最便宜的就好) 域名(国内万网,国外goDaddy) 我的P ...