LSTM
推荐 《Deep Learning》这本书。作者是 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大牛。这本书的中文版于 2017 年 7 月 22 号上市。该书由众多译者协力完成。《深度学习》这本书从浅入深介绍了基础数学知识、机器学习经验以及现阶段深度学习的理论和发展,不管是人工智能技术爱好者,还是相关从业人员使用这本书都是非常有好处的。另外,读者如果想熟悉一些数学知识,本书也做了一些介绍,包括矩阵,导数等基本内…
我是这样初步了解RNN和LSTM的,希望能有帮助: 1. 看牛津大学的Nando de Freitas教授的deep learning课程中关于RNN和LSTM的视频和讲义。 Machine Learning 我觉得他的课程优点有这些: 1.1 配合着 Torch7( https://torch.ch ),一边讲RNN和LSTM的内部结构,一边动手写代码。写完就了解RNN与LSTM的工作原理了。并且我自己觉得Torch7的Lua代码要比Theano的代码容易理解。 1.2 他的课程中关于BPTT( back-propagation through tim…
MLP咱们就不说了,显然这个是要垫底的,在此不做讨论。MLP可以被视作一个分类器,单纯用它的话当然不如采用CNN/LSTM做特征提取/句子表示的方法来的好。 我们可以先来看几种典型的架构。 首先是最经典的Richard Socher和Andrew Ng的这篇Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank : https://nlp.stanford.edu/~socherr/EMNLP2013_RNTN.pdf 这是一个RNN的结构,当时出来的时候刷新了Sentiment Analysis的STOA成绩好几个点,引…
没有人评论,还是我自己尝试来回答一下吧,同时也欢迎联系转载。 提出这个问题原因,在于FaceBook AI实验室最近发布了一个基于CNN Seq2Seq的机器翻译模型,取得了比Google翻译更好的效果。通过最近的学习发现,这个问题不是绝对的。 FaceBook的Convolutional SeqSeq取得了超越Google翻译的成果,重要原因在于采用了很多的trick,很多工作值得借鉴: 1、Position Embedding,在输入信息中加入位置向量P=(p1,p2,....),把位置向…
深入理解RNN与LSTM
循环神经网络(Recurrent Neural Network)基础在深度学习领域,神经网络已经被用于处理各类数据,如CNN在图像领域的应用,全连接神经网络在分类问题的应用等。随着神经网络在各个领域的渗透,传统以统计机器学习为主的NLP问题,也逐渐开始采用深度学习的方法来解决。如由Google Brain提出的Word2Vec模型,便将传统BoW等统计方法的词向量方法,带入到了以深度学习为基础的Distribution Representation的方法中来,真正地将NLP问…
基于 PyTorch + LSTM 进行时间序列预测(附完整源码)
欢迎关注 @Python与数据挖掘 ,专注 Python、数据分析、数据挖掘、好玩工具!时间序列数据,顾名思义是一种随时间变化的数据类型。 例如,24小时内的温度、一个月内各种产品的价格、某家公司一年内的股票价格等。深度学习模型如长短期记忆网络(LSTM)能够捕捉时间序列数据中的模式,因此可以用于预测未来趋势。 在本文中,您将看到如何使用 LSTM 算法利用时间序列数据进行未来预测,使用的是 PyTorch 库,这是最常用于深度学习…
那啥,LSTM过时了该用Transformer了,除非有人跑出来证实了在你任务上LSTM效果一致性的压过Transformer。炼丹这边对序列的处理就大致三个路子,Markov的无历史递推等式(RL一众PPO SAC BC/IRIS),直接回归/自回归(朴素LSTM Transformer NeuralODE),自回归后验分布+采样(MAF/IAF/快速版wavenet/NAF FFJORD DiffFlow)
对于入门者来说,理解了原理后,应该多动手实践。花书 《深度学习》 是一本很好的书,但是对于大多数人来说本书太厚、相对晦涩,更适合作为一本参考书。因此我再这里向初学者推荐两本难得的好书。 入门的话我推荐Michael Nielsen的《Neural Networks and Deep Learning》,这是一本开源电子书,随书配套代码。作者会教你用numpy从零实现一个神经网络和反向传播,完成mnist手写数据集图像分类。Neural networks and deep learning …
RL-Transformer基础模型【代码开源+中文翻译】 Transformer in Transformer as Backbone for Deep Reinforcement Learning 。最终论文内容发生了很大变化,新名字叫做:PDiT: Interleaving Perception and Decision-making Transformers for Deep Reinforcement Learning ,中稿了AAMAS 2024 Oral Paper,欢迎大家关注。 代码: maohangyu/TIT_open_source: The official implementation of "Transformer in Transformer as Backbo…
展平也行,不展平也行。LSTM和GRU所接受的输入序列的每个时间步x_i可以是向量(有些框架甚至要求必须是向量,你传入标量它也会转成向量)。 假设你最原始的序列的最大长度为100,词嵌入之后,维度为16,那就是[N, 100,16]。假设你CNN相同卷积并输出64通道,那CNN之后的输出就是[N, 100, 64]。然后你可以把它展平成[N, 6400]输入LSTM,也可以直接把[N, 100, 64]输入LSTM。如果隐向量长度设为32,所有输入到隐层的权重矩阵都是[64,…
关于激活函数的选取,在LSTM中,遗忘门、输入门和输出门使用 Sigmoid函数作为激活函数;在 生成候选记忆时,使用双曲正切函数tanh作为激活函数。值得注意的是,这两个激活函数都是饱和的也就是说在输入达到一定值的情况下,输出就不会发生明显变化了。如果是用非饱和的激活图数,例如ReLU,那么将难以实现门控的效果。Sigmoid的输出在0-1之同,符合门控的物理定义,且当输入较大或较小时,其输出会非常接近1或0,从而保证该门开或…
整体过程其实和只用bilstm-crf太大区别区别。只不过是把bilstm的输入由word2vec转变成了bert的输出向量。 代码大概是这样子: self.word_embeddings = BertModel.from_pretrained(config['bert_dir'], config=bert_config) 不过我的建议啊,别用bert了,直接上albert吧,四层的albert训练速度和推理速度比bert-base快10倍左右,写个接口已经比较顺畅了。如果想要速度更快,直接就用BertForTokenClassification这个类就可以了。具…
我给你推荐两个我收藏了很久的博客吧,看完之后绝对能很好的理解RNN和LSTM; 先看下面的第一个有一个整体的把握,然后再去看第二个。 你在几乎所有讲解LSTM的博客中的图基本是都是来自第二个博客,好好看一遍。 一步一步动画图解LSTM和GRU,没有数学,包你看的明白! Understanding LSTM Networks 然后看完这两个,之后用pytorch做一个lstm的例子,比如图片分类的例子,或者文本分类。很容易就入门了。 当然这仅仅是入门lstm,如果…
时间卷积网络:时间序列的下一场革命?
TCN是指时间卷积网络,一种新型的可以用来解决时间序列预测的算法。 该算法于2016年由Lea等人首先提出,当时他们在做视频动作分割的研究,一般而言此常规过程包括两个步骤:首先,使用(通常)对时空信息进行编码的CNN来计算低级特征,其次,将这些低级特征输入到使用(通常是)捕获高级时域信息的分类器中)RNN。这种方法的主要缺点是需要两个单独的模型。 TCN提供了一种统一的方法来分层捕获所有两个级别的信息。自从TCN提出后…
【时空序列预测第三篇】时空序列预测模型之PredRNN(用ST-LSTM的预测学习循环神经网络)
前言 接下来保持住节奏,每周起码一篇paper reading,要时刻了解研究的前沿,是一个不管是工程岗位还是研究岗位AIer必备的工作,共勉! 一、Address这是nips2017年的一篇paper,来自于清华的团队 PredRNN: Recurrent Neural Networks for Predictive Learning using Spatiotemporal LSTMs http://ise.thss.tsinghua.edu.cn/ml/doc/2017/predrnn-nips17.pdf [图片] 二、Introduction2.1 创新思路在Abstract中直接点名了本model的innovation,平时的时间和空间记忆都是在LSTM或者GRU c…
需要编程的就看《Dive Into Deep Learning》,可以看网页版,有详细的程序。 理论看三巨头写的花书《Deep Learning》,不需要编程,数学友好,不友好的是那些动不动一个测度,随手一个泛函的,相比之下,花书属于白话文。 如果工作用到建议看Dive Into,如果面试需要建议看花书,写知乎需要就两本都看看前言和目录。
为什么 Transformer 在 RL 上行不通呢? Transformer 最早发源于自然语言处理领域(NLP),以一个非常惊人的标题 “Attention is All You Need” 催生了无数后续工作,而 Transformer 最近的一些变体已经在 NLP 领域证明了其可以在大多数任务中取代并超越经典模型 LSTM/GRU。 另一方面,其他领域的研究者也在尝试 Transformer 是否可以将其优势和潜力推广出来,最近在计算机视觉领域的一些例子便是很好的印证。但是在强化学习(R…
论文精读:Attention Is All You Need (e.g. Transformer)
[图片] 终于有人玩Transformer这个梗了,我很欣慰。这篇译文不仅仅是Transformer的翻译,同时包含了文章:Tensor2Tensor for Neural Machine Translation,不仅介绍了Transformer,同时介绍了T2T这一自然语言翻译的工程。工程地址:T2T 。以下则摘自T2T文章的摘要:Tensor2Tensor是一个特别适合自然语言、机器翻译的库,并且包含了SOTA的Transformer模型的实现。 声明:本文极大地借鉴了这两篇知乎博客的内容:文献1 、文献2 ,并且文献2…
这是我的 第263篇原创文章。一、引言 单站点多变量单步预测问题----基于LSTM+Attention实现多变量时间序列预测股票价格。 二、实现过程2.1 读取数据集df=pd.read_csv("data.csv", parse_dates=["Date"], index_col=[0]) print(df.shape) print(df.head()) fea_num = len(df.columns)df: [图片] 2.2 划分数据集# 拆分数据集为训练集和测试集 test_split=round(len(df)*0.20) df_for_training=df[:-test_split] df_for_testing=df[-test_…
循环网络RNN与LSTM-机器学习基础
0. 引言接上一篇 [文章: 机器学习基础--奇异值分解(SVD)与其应用] RNN作为一种基础神经网络结构, 是LSTM, BERT, transformer的基础结构. 也是今日chatGPT出现的基础. 相较于普通的前向神经网络, RNN可以使用较小的参数数目与较低的网络复杂度实现与前向网络相同的时序预测能力. RNN对于序列模型, 或者称呼为"上下文相关"的数据的处理能力较强. 要学习机器学习, RNN是躲不掉的, 因为它和CNN是一样基础又好用的结构. 很多大模型都…