版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文来自社区作者 @mantch ,查看TA的更多动态,可在文末扫描社区名片进入。
textRNN指的是利用RNN循环神经网络解决文本分类问题,文本分类是自然语言处理的一个基本任务,试图推断出给定文本(句子、文档等)的标签或标签集合。
使用递归神经网络(RNN)序列建模业务已有很长时间了。但是RNN很慢因为他们一次处理一个令牌无法并行化处理。此外,循环体系结构增加了完整序列的固定长度编码向量的限制。为了克服这些问题,诸如CNN-LSTM,Transformer,QRNNs之类的架构蓬勃发展。
王新民 编译整理 量子位 出品 | 公众号 QbitAI 看图说话这种技能,我们人类在幼儿园时就掌握了,机器们前赴后继学了这么多年,也终于可以对图像进行最简单的描述。 O’reilly出版社和TensorFlow团队联合发布了一份教程,详细介绍了如何在Google的Show and Tell模型基础上,用Flickr30k数据集来训练一个图像描述生成器。模型的创建、训练和测试都基于TensorFlow。 如果你一时想不起O’reilly是什么,量子位很愿意帮你回忆: 好了,看教程: 准备工作 装好T
原文地址:https://machinelearningmastery.com/timedistributed-layer-for-long-short-term-memory-networks-in-python/
How to Use the TimeDistributed Layer for Long Short-Term Memory Networks in Python 如何在Python中将TimeDistributed层用于Long Short-Term Memory Networks Long Short-Term Memory Networks或LSTM是一种流行的强大的循环神经网络(即RNN)。 对于任意的序列预测(sequence prediction )问题,配置和应用起来可能会相当困难,即使在P
来源:机器之心 本文长度为2527字,建议阅读5分钟 本文为你介绍如何在Keras深度学习库中搭建用于多变量时间序列预测的LSTM模型。 长短期记忆循环神经网络等几乎可以完美地模拟多个输入变量的问题,这为时间序列预测带来极大益处。本文介绍了如何在 Keras 深度学习库中搭建用于多变量时间序列预测的 LSTM 模型。 诸如长短期记忆(LSTM)循环神经网络的神经神经网络几乎可以无缝建模具备多个输入变量的问题。 这为时间序列预测带来极大益处,因为经典线性方法难以适应多变量或多输入预测问题。 通过本教程,你
1:input_size: 输入特征维数,即每一行输入元素的个数。输入是一维向量。如:[1,2,3,4,5,6,7,8,9],input_size 就是9
本文是关于如何使用Python和Keras开发一个编解码器模型的实用教程,更精确地说是一个序列到序列(Seq2Seq)。在上一个教程中,我们开发了一个多对多翻译模型,如下图所示:
【导读】这篇博文介绍了如何在深度学习框架Keras上实现文本摘要问题,探讨了如何使用编码器-解码器递归神经网络体系结构来解决文本摘要问题,如何实现文本摘要问题的不同的编码器和解码器,博文通俗易懂,专知内容组整理出来,希望大家喜欢。 Encoder-DecoderModels for Text Summarization in Keras 用Keras实现基于Encoder-Decoder的文本自动摘要 作者:Jason Brownlee 译者:专知内容组 ▌文本摘要概述 ---- 文本摘要是从一个源文档中
在内容爆炸性增长的今天,个性化推荐发挥着越来越重要的作用,如何在海量的数据中帮助用户找到感兴趣的物品,成为大数据领域极具挑战性的一项工作;另一方面,深度学习已经被证明在图像处理,计算机视觉,自然语言处理等领域都取得了不俗的效果,但在个性化推荐领域,工程应用仍然相对空白。 本文是深度学习在个性化推荐实践应用的第二篇,在第一篇中,我详述了如何利用历史沉淀数据挖掘用户的隐藏特征,本文在上一篇的基础上进行延伸,详细分析如何利用LSTM,即长短时记忆网络来进行序列式的推荐。 1从RBM,RNN到
本示例说明如何使用长短期记忆(LSTM)网络对序列数据进行分类 。 最近我们被客户要求撰写关于LSTM的研究报告,包括一些图形和统计输出。
本示例说明如何使用长短期记忆(LSTM)网络对序列数据进行分类(点击文末“阅读原文”获取完整代码数据)。
在图像领域,最流行的 building block 大多以卷积网络为主。上一篇我们介绍了转载|使用PaddleFluid和TensorFlow实现图像分类网络SE_ResNeXt。卷积网络本质上依然是一个前馈网络,在神经网络基本单元中循环神经网络是建模序列问题最有力的工具, 有着非常重要的价值。自然语言天生是一个序列,在自然语言处理领域(Nature Language Processing,NLP)中,许多经典模型都基于循环神经网络单元。可以说自然语言处理领域是 RNN 的天下。
前言 最近看完了 LSTM 的一些外文资料,主要参考了 Colah 的 blog以及 Andrej Karpathy blog的一些关于 RNN 和 LSTM 的材料,准备动手去实现一个 LSTM 模型。代码的基础框架来自于 Udacity 上深度学习纳米学位的课程(付费课程)的一个 demo,我刚开始看代码的时候真的是一头雾水,很多东西没有理解,后来反复查阅资料,并我重新对代码进行了学习和修改,对步骤进行了进一步的剖析,下面将一步步用 TensorFlow 来构建 LSTM 模型进行文本学习并试图去生
我总是使用最先进的架构来在一些比赛提交模型结果。得益于PyTorch、Keras和TensorFlow等深度学习框架,实现最先进的体系结构变得非常容易。这些框架提供了一种简单的方法来实现复杂的模型体系结构和算法,而只需要很少的概念知识和代码技能。简而言之,它们是数据科学社区的一座金矿!
选自MachineLearningMastery 作者:Jason Brownlee 机器之心编译 参与:熊猫 循环神经网络是当前深度学习热潮中最重要和最核心的技术之一。近日,Jason Brownl
在介绍LSTM各种参数含义之前我们还是需要先用一个例子(参考LSTM神经网络输入输出究竟是怎样的?Scofield的回答)来理解LSTM。
作者(三位Google大佬)一开始提出DNN的缺点,DNN不能用于将序列映射到序列。此论文以机器翻译为例,核心模型是长短期记忆神经网络(LSTM),首先通过一个多层的LSTM将输入的语言序列(下文简称源序列)转化为特定维度的向量,然后另一个深层LSTM将此向量解码成相应的另一语言序列(下文简称目标序列)。我个人理解是,假设要将中文翻译成法语,那么首先将中文作为输入,编码成英语,然后再将英语解码成法语。这种模型与基于短语的统计机器翻译(Static Machine Translation, SMT)相比,在BLUE(Bilingual Evaluation Understudy)算法的评估下有着更好的性能表现。同时,作者发现,逆转输入序列能显著提升LSTM的性能表现,因为这样做能在源序列和目标序列之间引入许多短期依赖,使得优化更加容易
作者:Sandeep Bhupatiraju 剧透警告:摩斯电码并不需要破解。它很有用,因为消息可以使用这些代码以最少的设备发送,并且我说它不需要破解,因为代码是众所周知的,点和破折号的组合并不是什么秘密。但是,从理论上讲,它是一种替代密码(substitution cipher), 每个字母(和每个数字)的每个字母都有一些使用点和破折号的表示形式,如下所示。 让我们暂停我们的怀疑,并假设我们收到摩尔斯电码的消息,但我们不知道如何阅读它们。假设我们还有一些代码的例子及其相应的单词列表。现在,
选自GitHub 机器之心编译 参与:刘晓坤、路雪 本文介绍了如何在 TensorFlow 上实现基础 LSTM 网络的详细过程。作者选用了 MNIST 数据集,本文详细介绍了实现过程。 长短期记忆(LSTM)是目前循环神经网络最普遍使用的类型,在处理时间序列数据时使用最为频繁。关于 LSTM 的更加深刻的洞察可以看看这篇优秀的博客:http://colah.github.io/posts/2015-08-Understanding-LSTMs/。 我们的目的 这篇博客的主要目的就是使读者熟悉在 Tenso
作者 | Francois Chollet 编译 | 雁惊寒 seq2seq是一种把序列从一个域(例如英语中的句子)转换为另一个域中的序列(例如把相同的句子翻译成法语)的模型训练方法。目前有多种方法可以用来处理这个任务,可以使用RNN,也可以使用一维卷积网络。 很多人问这个问题:如何在Keras中实现RNN序列到序列(seq2seq)学习?本文将对此做一个简单的介绍。 什么是seq2seq学习 序列到序列学习(seq2seq)是一种把序列从一个域(例如英语中的句子)转换为另一个域中的序列(例如把相同的句子
本文回顾了 Shaojie Bai、J. Zico Kolter 和 Vladlen Koltun 撰写的论文:An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling。
Transformer是一类神经网络架构,现在越来越受欢迎了。Transformer最近被OpenAI用于训练他们的语言模型,同时也被DeepMind的AlphaStar 采用,用于他们的程序击败那些顶级星际玩家。
选自Keras Blog 作者:Francois Chollet 机器之心编译 参与:黄小天、路雪 如何在 Keras 中实现 RNN 序列到序列学习?本文中,作者将尝试对这一问题做出简短解答;本文预设你已有一些循环网络和 Keras 的使用经验。 GitHub:https://github.com/fchollet/keras/blob/master/examples/lstm_seq2seq.py 什么是序列到序列学习? 序列到序列学习(Seq2Seq)是指训练模型从而把一个域的序列(比如英语语句)转化
【导读】本篇文章是由Salesforce Research团队发表在ICLR2017的一篇论文,文章中采用的方法在SQuAD比赛中排名第9。本文从模型和实验两部分介绍此论文。
本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
导读:2016国际人工智能联合会议(IJCAI2016)于7月9日至7月15日举行,今年会议聚焦于人类意识的人工智能。本文是IJCAI2016接收论文之一,除了论文详解之外,我们另外邀请到哈尔滨工业大学李衍杰副教授进行点评。 深度、卷积、递归模型对人类行为进行识别(可穿戴设备数据) 摘要 普适计算领域中人类活动识别已经开始使用深度学习来取代以前的依靠手工提取分类的分析技术。但是由于这些深度技术都是基于不同的应用层面,从识别手势到区分跑步、爬楼梯等一系列活动,所以很难对这些问题提出一个普遍适用的方案。在本文中
原文:Optimizing Recurrent Neural Networks in cuDNN 5 作者:Jeremy Appleyard 翻译:赵屹华 审校:刘翔宇 责编:周建丁(zhoujd@csdn.net) 在GTC2016大会上,NVIDIA发布了最新版本的深度学习开发包,其中包括了cuDNN 5。第五代cuDNN引入了新的特性,提升了性能,并且支持最新一代的NVIDIA Tesla P100 GPU。cuDNN的新特性包括: 使用Winograd卷积算法,计算前向、后向卷积速度更快; 支
语言把人类联系在一起。语言是一种工具,它既可以让我们把想法和感受传达给另一个人,也能让我们理解别人的想法和感受。我们大多数人从 1 岁半到 2 岁开始说话。人脑是如何在如此年幼的时候掌握如此大量知识的,这仍是未解之谜。但是,人们已经发现大部分语言处理功能发生在大脑皮层内。
我们就来看看如何通过BiLSTM+CRF来进行命名实体识别的任务。 命名实体识别 通俗来说,命名实体识别,就是给一句话或一段话,设计某种算法来把其中的命名实体给找出来。啥叫命名实体呢?说白了不值一提,命名实体,其实就是实际存在的具有专门名字的物体。命名实体识别,其实就是实体名字的识别。
最近铁柱一直在思考一个问题 , 如何在Keras中实现RNN序列到序列(sequence-to-sequence)的预测?网上大多数资料都是做的自然语言处理方向,时序方向的开源代码大多是基于TensorFlow,看得铁柱头昏脑胀。在查阅文献时,基于Seq-Seq的双向LSTM时序多步预测表现抢眼,也不知道是不是在往SCI灌水
机器之心专栏 本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。 本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。 本文将分 3 期进行连载,共介绍 17 个在语音识别任务上曾取得 SOTA 的经典模型。 第 1 期:NNLM、RNNLM、LSTM-RNNLM、Bi-lstm、Bi-RN
机器之心原创 作者:蒋思源 本文讨论并实现了用于序列模型的基本深度方法,其中循环网络主要介绍了传统的 LSTM 与 GRU,而卷积网络主要介绍了最近 CMU 研究者提出的时间卷积网络与实证研究。相比于我们熟知的经典循环网络方法,用 CNN 实现序列建模可能会更有意思,因此本文的实现部分重点介绍了时间卷积网络的实现。 这是机器之心 GitHub 实现项目的第四期,前面几期分别介绍了卷积神经网络、生成对抗网络与带动态路由的 CapsNet。 机器之心项目地址:https://github.com/jiqizhi
作者 | Edwin Chen 编译 | AI100 第一次接触长短期记忆神经网络(LSTM)时,我惊呆了。 原来,LSTM是神经网络的扩展,非常简单。深度学习在过去的几年里取得了许多惊人的成果,均与LSTM息息相关。因此,在本篇文章中我会用尽可能直观的方式为大家介绍LSTM——方便大家日后自己进行相关的探索。 首先,请看下图: LSTM是不是很漂亮? (注意:如果你对神经网络和LSTM很熟悉,请直接跳到本文的中间部分——前半部分相当于入门教程。) 神经网络 假设我们从某部电影中截取出了一系列的图
最近把2014年Yoon Kim的《Convolutional Neural Networks for Sentence Classification》看了下,不得不说虽然Text-CNN思路比较简单,但确实能够在Sentence Classification上取得很好的效果。另外,之前@霍华德大神提了这个问题,链接如下:
BP网络和CNN网络没有时间维,和传统的机器学习算法理解起来相差无几,CNN在处理彩色图像的3通道时,也可以理解为叠加多层,图形的三维矩阵当做空间的切片即可理解,写代码的时候照着图形一层层叠加即可。如下图是一个普通的BP网络和CNN网络。
在本文中,我们将看到如何创建语言翻译模型,这也是神经机器翻译的非常著名的应用。我们将使用seq2seq通过Python的Keras库创建我们的语言翻译模型。
如果你用过 PyTorch 进行深度学习研究和实验的话,你可能经历过欣喜愉悦、能量爆棚的体验,甚至有点像是走在阳光下,感觉生活竟然如此美好 。但是直到你试着用 PyTorch 实现可变大小的 mini-batch RNNs 的时候,瞬间一切又回到了解放前。
来源:深度学习爱好者本文约3300字,建议阅读10+分钟本文利用可视化的呈现方式,带你深入理解LSTM模型结构。 最近在学习LSTM应用在时间序列的预测上,但是遇到一个很大的问题就是LSTM在传统BP网络上加上时间步后,其结构就很难理解了,同时其输入输出数据格式也很难理解,网络上有很多介绍LSTM结构的文章,但是都不直观,对初学者是非常不友好的。我也是苦苦冥思很久,看了很多资料和网友分享的LSTM结构图形才明白其中的玄机。 本文内容如下: 一、传统的BP网络和CNN网络 二、LSTM网络 三、LSTM的输入
循环神经网络的来源是为了刻画一个序列当前的输出与之前信息的关系。从网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面结点的输出。即:循环神经网络的隐藏层之间的结点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的循环神经网络 。
击球手击出垒球,你会开始预测球的轨迹并立即开始奔跑。你追踪着它,不断调整你的移动步伐,最终在观众的掌声中抓到它。无论是在听完朋友的话语还是早餐时预测咖啡的味道,你时刻在做的事就是在预测未来。在本章中,我们将讨论循环神经网络 -- 一类预测未来的网络(当然,是到目前为止)。它们可以分析时间序列数据,诸如股票价格,并告诉你什么时候买入和卖出。在自动驾驶系统中,他们可以预测行车轨迹,避免发生交通意外。更一般地说,它们可在任意长度的序列上工作,而不是截止目前我们讨论的只能在固定长度的输入上工作的网络。举个例子,它们可以把语句,文件,以及语音范本作为输入,使得它们在诸如自动翻译,语音到文本或者情感分析(例如,读取电影评论并提取评论者关于该电影的感觉)的自然语言处理系统中极为有用。
input_size:一般是词嵌入的大小 hidden_size:隐含层的维度 num_layers:默认是1,单层LSTM bias:是否使用bias batch_first:默认为False,如果设置为True,则表示第一个维度表示的是batch_size dropout:直接看英文吧 bidirectional:默认为False,表示单向LSTM,当设置为True,表示为双向LSTM,一般和num_layers配合使用(需要注意的是当该项设置为True时,将num_layers设置为1,表示由1个双向LSTM构成)
此示例说明如何使用长短期记忆 (LSTM) 网络对序列数据的每个时间步长进行分类(点击文末“阅读原文”获取完整代码数据)。
论文标题:CNN-Based Chinese NER with Lexicon Rethinking
距离上一次的RNN有段时间了,一方面不想写,一方面因为其他的事情被牵扯了精力,所以也就一直拖着,今天写一下LSTM,希望以一个本科生的角度能讲明白这件事。
领取专属 10元无门槛券
手把手带您无忧上云