keras 双向LSTM
keras 双向LSTM
双向LSTM利用到了未来的信息,在一些文本分类和序列预测问题上可以做到比单向LSTM更好的效果,BiLSTM与LSTM相比,多了一个反向计算,同时利用正向方向的数据计算最终输出,关于LSTM的前向计算可以看这里
这里就只简单记录下keras 的BiLSTM参数个数计算,训练部分如下:
model = Sequential()
input_shape = (149,40)
model.add(Bidirectional(LSTM(units=20,return_sequences=True),input_shape=input_shape))
model.add(Dropout(0.5))
model.add(BatchNormalization())
model.add(TimeDistributed(Dense(1, activation='sigmoid')))
# model.add(Dense(1, activation='sigmoid'))# LSTM参数个数计算:ht-1与xt拼接、隐藏单元数、四个门的bias
# (20+40)*units*4+20*4
#
#
batch_size = 64
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
model.fit(X_training, Y_training,batch_size=batch_size,epochs=30,validation_data=(x_test, y_test),verbose=1)
LSTM参数中的return_sequences=True表示每个时间步都输出,训练得到的模型如下:
my.summary()
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
bidirectional_1 (Bidirection (None, 149, 40) 9760
_________________________________________________________________
dropout_1 (Dropout) (None, 149, 40) 0
_________________________________________________________________
batch_normalization_1 (Batch (None, 149, 40) 160
_________________________________________________________________
time_distributed_1 (TimeDist (None, 149, 1) 41
=================================================================
Total params: 9,961
Trainable params: 9,881
Non-trainable params: 80
_________________________________________________________________
BiLSTM与LSTM相比就是多了个两倍的关系,summary中的第一层输出为(None, 149, 40),则一个单向LSTM的输出为(None, 149, 20),即对应了训练参数中的units=20,所以参数个数计算也就跟单向LSTM一样了,以上模型中的RNN层参数个数为((40+20)∗20∗4+20∗4)∗2=9760((40+20)∗20∗4+20∗4)∗2=9760((40+20)*20*4+20*4)*2=9760
keras 双向LSTM相关推荐
- keras 双向LSTM 简单示例
示例1: 仅返回各个时刻的状态 import tensorflow.compat.v1 as tf from keras.layers import ConvLSTM2D,TimeDistribute ...
- keras实例学习-双向LSTM进行imdb情感分类
源码:https://github.com/keras-team/keras/blob/master/examples/imdb_bidirectional_lstm.py 及keras中文文档 1. ...
- 使用Keras进行深度学习:(六)LSTM和双向LSTM讲解及实践
###欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 介绍 长短期记忆(Long Short Term Memor ...
- 利用Keras开发用于分类问题的双向LSTM及与LSTM性能的比较
双向LSTM是传统LSTM的扩展,可以提高序列分类问题的模型性能.在输入序列为时间问题的分类数据上,双向LSTM在输入序列上训练的模型是两个而不是一个LSTM.输入序列中的第一个是原始样本,第二个是输 ...
- 基于keras的双层LSTM网络和双向LSTM网络
1 前言 基于keras的双层LSTM网络和双向LSTM网络中,都会用到 LSTM层,主要参数如下: LSTM(units,input_shape,return_sequences=False) un ...
- 基于双向LSTM和迁移学习的seq2seq核心实体识别
http://spaces.ac.cn/archives/3942/ 暑假期间做了一下百度和西安交大联合举办的核心实体识别竞赛,最终的结果还不错,遂记录一下.模型的效果不是最好的,但是胜在" ...
- 【NLP】使用堆叠双向 LSTM 进行情感分析
作者 | SRIVIGNESH_R 编译 | Flin 来源 | analyticsvidhya 情绪分析 情感分析是发现文本数据的情感的过程.情感分析属于自然语言处理中的文本分类.情绪分析将帮 ...
- IMDB影评的情感分析任务:双层bi-LSTM模型(双向LSTM)
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) IMDB影评的情感分析任务 学习目标 了解影评情感分析任务和I ...
- [深度学习] PyTorch 实现双向LSTM 情感分析
一 前言 情感分析(Sentiment Analysis),也称为情感分类,属于自然语言处理(Natural Language Processing,NLP)领域的一个分支任务,随着互联网的发展而兴 ...
最新文章
- 小米半年来最大调整:成立技术委员会,雷军称技术事关生死存亡
- mysql mysqlhotcopy_MySQL备份之mysqlhotcopy与注意事项
- php如何设定隐藏四位号码,PHP问题:php手机号码中间四位如何隐藏?
- HTML5编程实战之二:用动画的形式切换图片
- Spring Boot 分布式会话
- linux下adb连接不上解决方法
- lede旁路由作用_高频旁路电容器作用及工作原理
- 飞信php接口 web service
- 干货| 364套各类风格毕业设计答辩PPT模板~
- matlab simulink教程pdf,Simulink基础入门教程“完整版”.pdf
- [CTF]学习资源推荐
- Python HackerRank 刷题 Maximum Subarray Sum
- 鸿蒙小型系统内核Liteos-a开发指南
- 一文搞懂产品中的搜索设计
- 若干个进阶SQL 进阶技巧
- 前端 javascript 字符编码与解码
- premiere介绍和安装方法
- 如何免费使用智行VIP抢票
- python 动图_历时 1 个月,做了 10 个 Python 可视化动图,用心且精美...
- add p4 多个文件_p4 选择性上传file