干货 | 图解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. C-Cow Sorting (置换群, 数学)

    Farmer John's N (1 ≤ N ≤ 10,000) cows are lined up to be milked in the evening. Each cow has a uniqu ...

  2. MVC请求管道

    下面是请求管道中的19个事件. (1)BeginRequest: 开始处理请求 (2)AuthenticateRequest授权验证请求,获取用户授权信息 (3):PostAuthenticateRe ...

  3. 大数据处理框架之Strom:认识storm

    Storm是分布式实时计算系统,用于数据的实时分析.持续计算,分布式RPC等. (备注:5种常见的大数据处理框架:· 仅批处理框架:Apache Hadoop:· 仅流处理框架:Apache Stor ...

  4. 最小二乘法的Java实现

    最小二乘法原理十分简单,这里不再赘述.对于预测公式y' = a * x + b,最优解如下 double a = Sxy / Sxx; double b = yAvg - a * xAvg; doub ...

  5. mybatis源码解析2---SqlSessionFactoryBuilder、SqlSessionFactory解析

    1.先看一个mybatis最简单的Demo String resource = "mybatis-config.xml"; //1.流形式读取mybatis配置文件 InputSt ...

  6. Flask的请求对象--request

    request-Flask的请求对象 请求解析和响应封装大部分是有Werkzeug完成的,Flask子类化Werkzeug的请求(Request)对象和响应(Response)对象,并添加了和程序的特 ...

  7. java及spark2.X连接mongodb3.X单机或集群的方法(带认证及不带认证)

    首先,我们明确的是访问Mongos和访问单机Mongod并没有什么区别.接下来的方法都是既可以访问mongod又可以访问Mongos的. 另外,读作java写作scala,反正大家都看得懂...... ...

  8. git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法

    git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法提交代码流程:1.先提交代码到自己分支上2.切换到devlop拉取代码合并到当前分支3.合并后有变动的推送到自己 ...

  9. usdt钱包开发,比特币协议 Omni 层协议 USDT

    usdt钱包开发 比特币协议 -> Omni 层协议 -> USDT USDT是基于比特币omni协议的一种代币: https://omniexplorer.info/asset/31 I ...

  10. NodeJS,JavaScript正在吞噬这个世界

    NodeJS,JavaScript正在吞噬这个世界 NodeJS,一个基于Google Chrome V8 JS引擎的服务器端JavaScript运行时,曾经被认识只是一个赶时髦的技术,有谁会想到,它 ...