(转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)
干货 | 图解LSTM神经网络架构及其11种变体(附论文)
选自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种变体(附论文)的更多相关文章
- (转)LSTM神经网络介绍
原文链接:http://www.atyun.com/16821.html 扩展阅读: https://machinelearningmastery.com/time-series-prediction ...
- 神经网络架构PYTORCH-几个概念
使用Pytorch之前,有几个概念需要弄清楚. 什么是Tensors(张量)? 这个概念刚出来的时候,物理科班出身的我都感觉有点愣住了,好久没有接触过物理学的概念了. 这个概念,在物理学中怎么解释呢? ...
- LSTM神经网络
LSTM是什么 LSTM即Long Short Memory Network,长短时记忆网络.它其实是属于RNN的一种变种,可以说它是为了克服RNN无法很好处理远距离依赖而提出的. 我们说RNN不能处 ...
- LSTM 神经网络输入输出层
今天终于弄明白,TensorFlow和Keras中LSTM神经网络的输入输出层到底应该怎么设置和连接了.写个备忘. https://machinelearningmastery.com/how-to- ...
- 怎样设计最优的卷积神经网络架构?| NAS原理剖析
虽然,深度学习在近几年发展迅速.但是,关于如何才能设计出最优的卷积神经网络架构这个问题仍在处于探索阶段. 其中一大部分原因是因为当前那些取得成功的神经网络的架构设计原理仍然是一个黑盒.虽然我们有着关于 ...
- 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)
摘要:本文提出一种基于局部特征保留的图卷积网络架构,与最新的对比算法相比,该方法在多个数据集上的图分类性能得到大幅度提升,泛化性能也得到了改善. 本文分享自华为云社区<论文解读:基于局部特征保留 ...
- 完全图解RNN、RNN变体、Seq2Seq、Attention机制
完全图解RNN.RNN变体.Seq2Seq.Attention机制 本文主要是利用图片的形式,详细地介绍了经典的RNN.RNN几个重要变体,以及Seq2Seq模型.Attention机制.希望这篇文章 ...
- CSS垂直居中的11种实现方式
今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...
- [转]Markdown 11种基本语法
Markdown 11种基本语法 现在是我在学习Markdown时做的笔记.学完这些Markdown的基本使用已经不成问题. 1. 标题设置(让字体变大,和word的标题意思一样) 在Markdown ...
随机推荐
- Chrome表单自动填充如何取消(暂时可行的解决办法)
做项目时一直遇到一个问题,那就是用chrome测试的时候页面上的表单一直会自动填充,并且伴有黄色的背景颜色,有时候感觉很方便,有时候又很想去掉. 之前也多次寻找过方法,但是网上的方法都差不多,很多都是 ...
- Python+OpenCV图像处理(十)—— 图像二值化
简介:图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程. 一.普通图像二值化 代码如下: import cv2 as cv import numpy ...
- Wi-Fi Mesh网络技术
Wi-Fi在很早的时候就引入了mesh技术,并且最近得到了越来越多的关注.谷歌.Eero.Linksys.Netgear以及几乎所有以家庭和小型办公室为目标的网络品牌都提供了mesh网格系统.但是也有 ...
- python-数据分析与展示(Numpy、matplotlib、pandas)---1
笔记内容整理自mooc上北京理工大学嵩天老师python系列课程数据分析与展示,本人小白一枚,如有不对,多加指正 1.ndarray对象的属性 .ndim..shape..size(元素个数,不是占用 ...
- LoggerFactory.getLogger用法
使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类 如:Logger logger = LoggerFactory.getLogger(com.lz.Test.class); ...
- javascript 的01
javaScript可以实现验证表单.制作特效等功能,JavaScript的目的主要是一下三点: 1 客户端表单验证2 页面动态效果3 jQuery的基础JavaScript是一种描述性语言,也是一种 ...
- django 生成动态的PDF文件
需要依赖库. WeasyPrint,它是一个Python库可以生成PDF文件从HTML模板中.安装WeasyPrint pip install WeasyPrint 创建一个PDF模板(templat ...
- pyglet StaticSource
for i in range(10): self.player2.queue(pyglet.media.StaticSource(pyglet.media.load('2.mp3')))
- scrapy instantiation
start from scrapy.cmdline import execute execute(['scrapy', 'crawl', 'jokespider']) items.py import ...
- django模板常用过滤器—add、cut、date
语法格式:{{ obj | filter:para }} add过滤器:将两个数相加或字符串.列表等进行拼接 views.py def add(request): context={'l1':[1 ...