lstm

论文笔记(1) : Deep Multi-View Spatial-Temporal Network for Taxi Demand Prediction

匿名 (未验证) 提交于 2019-12-03 00:21:02
这篇文章是作者在滴滴出行实习时做的一篇文章,投了AAAI2018. 1.Abstract 出租车需求预测可以帮助城市资源预调度 传统方法大部分都利用时序预测的技术 现有的深度学习方法只考虑单一的时间(LSTM)或空间(CNN)的维度 本文提出一个DMVST-Net,考虑了时间,空间,以及语义的维度 2.Introduction 传统方法中:ARIMA(autoregressive integrated moving average )曾被广泛应用到交通预测问题中(2008,2012,2013),也有很多人研究如何借助其它因素来提高预测准确性。 深度学习方法中中:也有很多人用CNN,LSTM来做交通预测,但是是没有人同时考虑时序列关系。 在这篇论文中,同时使用了CNN,LSTM来捕捉复杂的时空关系。如果将整个城市看成一张图片不会达到很好的效果,所以本文提出了一个局部CNN模型,只考虑预测地点附近的区域。利用局部CNN来捕捉特征时会忽视两个地点距离很远但是它们的需求模式非常相近的情况。所以还使用了一个语义的信息(各个区域之间的相似关系) 本文使用的时滴滴出行广州的数据,平均每天大约300000个请求。 3.定义 整个城市分成不相交的区域L={L1,L2,..,Li,…,LN},将整段时间分成I={I0,I1,I2,…,It,..,IT} ,长度为30分钟。 出租车需求:o=(o.t,o

莫烦 tensorflow LSTM regression code 完整代码

匿名 (未验证) 提交于 2019-12-03 00:21:02
学习莫烦 tesorflow视频,然后敲代码,改了原来有的错误,现在是可以运行的版本了。加了很多注释。 # 参考https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/5-09-RNN3/ 修改的错误是:版本问题tf.train.SummaryWriter改为tf.summary.FilterWritwer; tf.merge_all_summaries()改为tf.summary.merge_all(); 错误: crossent = softmax_loss_function(labels=target, logits=logit) TypeError: ms_error() got an unexpected keyword argument 'labels' 解决: def ms_error(self, labels, logits): return tf.square(tf.subtract(labels,logits)) 完整代码如下 # -*- coding: utf-8 -*- """ Created on Fri May 25 17:19:53 2018 tensorboard plt.plot RNN LSTM """ # google -> http://AOC:6006 #分类使用

tensorflow 波士顿房价预测LSTM/RNN tensorboard 完整代码

匿名 (未验证) 提交于 2019-12-03 00:21:02
只改了版本问题和我上个博客写的msr_error()函数,其余代码来自于下边这个博客:https://blog.csdn.net/baixiaozhe/article/details/54410313,增加了tf.reset_default_graph()。 上边的链接增加了波士顿房价数据的读取和预处理, 比莫烦tensorflow LSTM/RNN的例子更全面,更有价值。代码亲测,可运行。 from sklearn.datasets import load_boston from sklearn import preprocessing import tensorflow as tf import numpy as np tf.reset_default_graph() # 波士顿房价数据 boston = load_boston() x = boston.data y = boston.target print('波士顿数据X:',x.shape)# (506, 13) # print(x[::100]) print('波士顿房价Y:',y.shape) # print(y[::100]) # 数据标准化 ss_x = preprocessing.StandardScaler() train_x = ss_x.fit_transform(x) ss_y =

Bidirectional LSTM-CRF Models for Sequence Tagging论文笔记

匿名 (未验证) 提交于 2019-12-03 00:19:01
参考文献 Huang Z, Xu W, Yu K. Bidirectional LSTM-CRF Models for Sequence Tagging[J]. Computer Science, 2015. 本篇论文介绍了LSTM网络、BI-LSTM网络、CRF网络、LSTM-CRF网络、BI-LSTM-CRF网络,比较将它们用于自然语言处理的性能与准确率。重点介绍了BI-LSTM-CRF网络。 文章来源: Bidirectional LSTM-CRF Models for Sequence Tagging论文笔记

RNN

匿名 (未验证) 提交于 2019-12-02 23:57:01
Ŀ¼ 1. 为什么需要RNN 2. LSTM的结构 3. LSTM网络 4. RNN 的评估 5. RNN的应用 6. Attention-based model 1. 为什么需要RNN? 传统的神经网络,一个输入会对应一个输出,如果输入不变,那输出也不会变。如下,一个Tappei是属于目的地类的,但换一句话又属于出发地类。这个时候就需要神经网络具有记忆功能。 实际上,循环神经网络是一类神经网络,一类具有记忆功能的神经网络。一类把上一个训练的结果带到下一次训练的神经网络 这就是一个简单的RNN,它有一个隐层,这个隐层的输出会被带到下一次训练中,和下一次训练的输入数据共同作为网络的输入 这是一个双向的RNN,这样的好处是不仅可以看到上文,还可以看到下文 2. LSTM的结构 下面,LSTM隆重登场! LSTM是一种RNN, 实际上,现在大家讲在做RNN的时候,其实他们指的就是在做 LSTM。 LSTM已经成为了一种标准。 这是LSTM的一个Memory Cell, 也就是一个单元: LSTM的一个memory cell 一共有4个输入,一个输出。 这种网络结构的好处就是 可以控制一个词是否应该输入,上一个词的信息是否应该被遗忘以及是否应该输出 这是一个LSTM的栗子: //篇幅原因,还有几幅图就不展示了,可以前往李老师的RNN part I 的ppt里面查看。 3. LSTM网络

Recurrent neural network (RNN) - Pytorch版

匿名 (未验证) 提交于 2019-12-02 23:56:01
import torch import torch . nn as nn import torchvision import torchvision . transforms as transforms # 配置GPU或CPU设置 device = torch . device ( 'cuda' if torch . cuda . is_available () else 'cpu' ) # 超参数设置 sequence_length = 28 input_size = 28 hidden_size = 128 num_layers = 2 num_classes = 10 batch_size = 100 num_epochs = 2 learning_rate = 0.01 # MNIST dataset train_dataset = torchvision . datasets . MNIST ( root = './data/' , train = True , transform = transforms . ToTensor (),# 将 PIL Image 或者 ndarray 转换为 tensor ,并且归一化至[ 0 - 1 ],归一化至[ 0 - 1 ]是直接除以 255 download = True ) test_dataset = torchvision

神经网络梯度爆炸、消失问题、门控循环单元GRU、长短期记忆LSTM

匿名 (未验证) 提交于 2019-12-02 23:56:01
nn:w比1大,会造成激活函数、梯度爆炸。w比1小,梯度会消失。随机化初始权重有助于解决这个问题。 RNN同样有梯度消失问题,反向传播时后面的梯度很难传到前面的层,从而影响到前面的层的计算。梯度爆炸会发生数值溢出,可以通过修剪、缩放来解决。 GRU:记忆细胞C <t> 的作用是提供记忆的能力。候选值C ^<t> 重写记忆细胞。更新门Γ u 是一个介于0和1之间的数,决定是否更新记忆细胞。相关Γ r 代表候选值和记忆细胞的相关性。 LSTM:更新门,遗忘门,输出门。更新门和遗忘门给了记忆细胞选择权去维持旧的值和更新新的值。偷窥孔连接其实就是三个门值不仅取决于a <t-1> ,x <t> ,还取决于c <t-1> . GRU简单点,适合创建大型结构,计算性能快。LSTM更灵活,大多数人还是会选择LSTM。 来源:博客园 作者: 喜琅琅 链接:https://www.cnblogs.com/biwangwang/p/11432803.html

Social LSTM 实现代码分析

匿名 (未验证) 提交于 2019-12-02 23:49:02
Social LSTM最早提出于文献 “Social LSTM: Human Trajectory Prediction in Crowded Spaces”,但经过资料查阅目前暂未找到原文献作者所提供的程序代码和数据,而在github上有许多针对该文献的实现版本代码。 本文接下来的实现代码来自 https://github.com/xuerenlv/social-lstm-tf ,代码语言为Python3,代码大体实现了原论文中 核心原创部分 的模型,包括Vanilla LSTM(没有考虑行人轨迹之间关联性的LSTM)和Social LSTM(使用池化层考虑了行人轨迹之间关联性的LSTM模型)的模型构建、训练和小样本测试的代码,但对横向对比的其他模型、模型量化评估方法等暂未实现。 本文下面将从代码中 矩阵数据和列表(list)数据的维度 细说实现过程和模型的特点。 主要功能代码文件: util.py 数据格式: input_data, target_data = dataLoader.next_batch() # input_data : [batch_size, seq_length, 2] # target_data : [batch_size, seq_length, 2] 批量处理数据大小 x 序列长度大小 x 二维地址数据(已经过标准化处理,介于 \(0 - 1\) )

LSTM模型预测sin函数详解

匿名 (未验证) 提交于 2019-12-02 23:49:02
注解:fun_data()函数生成训练数据和标签,同时生成测试数据和测试标签HIDDEN_SIZE = 128,使用128维的精度来定义LSTM的状态和输出精度,就是LSTM中的h,c lstm_model()函数定义了一个可重入的模型,分别由评估函数和训练函数调用,在训练前使用空模型预测并输出未训练数据并可视化通过with tf.variable_scope("lstm_model",reuse=tf.AUTO_REUSE) as scope:定义了在多次实例化模型的时候共享训练结果run_eval()定义了评估函数:实现了训练及可视化结果 run_train()定义了训练函数:实现了训练过程。如果还要提高拟合精度可以把TRAINING_STEPS设大些,不过比较耗时,我的电脑比较老,感觉训练一千次拟合精度就很高了,再训练已经没意义了,呵呵。图一:还未训练之间的结果,拟合基本上不行图二:训练500-2000次基本就能很好的预测sin上的任何点了。 1 # LSTM预测sin曲线 2 #tensorflow 1.13.1 3 #numpy 1.16.2 4 import numpy as np 5 import tensorflow as tf 6 import matplotlib.pyplot as plt 7 plt.rcParams['font.sans-serif']=[