LSTM的神经元个数
目录:
1.LSTM简单介绍

红框从左到右,依次是:
忘记门层: 决定从细胞状态中丢弃什么信息,通过当前时刻输入和前一个时刻输出决定
细胞状态: 确定并更新新信息到当前时刻的细胞状态中
输出门层: 基于目前的细胞状态决定该时刻的输出
2.简单假设样例
假设现有一个样本,Shape=(13,5),时间步是13,每个时间步的特征长度是5.形象点,我把一个样本画了出来:

一个样本
使用Keras框架添加LSTM层时,我的设置是这样的keras.layers.LSTM(10),也就是我现在设定,每个时间步经过LSTM后,得到的中间隐向量是10维(意思是5->10维),13个时间步的数据进去得到的是(13*10)的数据.
每个时间步对应神经元个数(参数个数)一样.也就是算一个LSTM中神经元个数,算一个时间步中参与的神经元个数即可.下面将对LSTM每个计算部分进行神经元分析.
3.神经元分析
3.1忘记门层

图中公式的
是上一个状态的隐向量(已设定隐向量长度为10),
为当前状态的输入(长度为5),那么
的长度就是10+5=15了.
和
为该层的参数.
该层输出是中间隐向量的长度(10),经过
激活前后的长度不变.只需要考虑
里面的操作得到10维特征即可.
是(1,15)的向量,与
相乘得到(1,10)的向量,根据矩阵相乘规律,得到
是(15,10)的矩阵,得到(1,10)矩阵后,与该门层偏置相加,偏置也应该有相同的形状,即
是(1,10)的矩阵.
即:该层神经元为:

3.2细胞状态
(1)确定更新信息过程

可以看到,这里公式和前面的一样的,
和
都是激活函数,不影响参数个数.
同理这过程的神经元个数是:

(2)更新过程

公式中的四个值,均是前面计算得到的结果,因此该过程没有参数需要学习.
3.3输出层

一样的公式,神经元个数一样.即个数为:

3.4总结
把公式(1),(2),(3)的神经元加起来,就是该LSTM的神经元个数了.

其实,我们可以把这个问题一般化,不看这个例子,假设你一个时间步的特征长度是n,经过该LSTM得到的长度是m,这样就可以算出该LSTM层的神经元个数为:

4.测试
- from keras.layers import LSTM
- from keras.models import Sequential
- time_step=13
- featrue=5
- hidenfeatrue=10
- model=Sequential()
- model.add( LSTM(hidenfeatrue,input_shape=(time_step,featrue)))
- model.summary()
输出是:
- _________________________________________________________________________________
- Layer (type) Output Shape Param #
- =================================================================================
- lstm_8 (LSTM) (None, 10) 640
- =================================================================================
- Total params: 640
- Trainable params: 640
- Non-trainable params: 0
- _________________________________________________________________________________
LSTM的神经元个数的更多相关文章
- 神经网络结构设计指导原则——输入层:神经元个数=feature维度 输出层:神经元个数=分类类别数,默认只用一个隐层 如果用多个隐层,则每个隐层的神经元数目都一样
神经网络结构设计指导原则 原文 http://blog.csdn.net/ybdesire/article/details/52821185 下面这个神经网络结构设计指导原则是Andrew N ...
- MLP神经网络 隐含层节点数的设置】如何设置神经网络隐藏层 的神经元个数
神经网络 隐含层节点数的设置]如何设置神经网络隐藏层 的神经元个数 置顶 2017年10月24日 14:25:07 开心果汁 阅读数:12968 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- 二分类问题F-score评判指标(转载)
分类模型的评价指标Fscore 小书匠深度学习 分类方法常用的评估模型好坏的方法. 0.预设问题 假设我现在有一个二分类任务,是分析100封邮件是否是垃圾邮件,其中不是垃圾邮件有65封,是垃圾邮件有3 ...
- TensorFlow之RNN:堆叠RNN、LSTM、GRU及双向LSTM
RNN(Recurrent Neural Networks,循环神经网络)是一种具有短期记忆能力的神经网络模型,可以处理任意长度的序列,在自然语言处理中的应用非常广泛,比如机器翻译.文本生成.问答系统 ...
- 文本分类实战(七)—— Adversarial LSTM模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- 用 LSTM 做时间序列预测的一个小例子(转自简书)
问题:航班乘客预测 数据:1949 到 1960 一共 12 年,每年 12 个月的数据,一共 144 个数据,单位是 1000 下载地址 目标:预测国际航班未来 1 个月的乘客数 import nu ...
- 学习笔记CB012: LSTM 简单实现、完整实现、torch、小说训练word2vec lstm机器人
真正掌握一种算法,最实际的方法,完全手写出来. LSTM(Long Short Tem Memory)特殊递归神经网络,神经元保存历史记忆,解决自然语言处理统计方法只能考虑最近n个词语而忽略更久前词语 ...
- Tensorflow[LSTM]
0.背景 通过对<tensorflow machine learning cookbook>第9章第3节"implementing_lstm"进行阅读,发现如下形式可以 ...
- 循环神经网络-LSTM进阶
基础的LSTM模型,单隐层,隐层单神经元,而实际中一般需要更为复杂的网络结构, 下面借用手写数字的经典案例构造比较复杂的LSTM模型,并用代码实现. 单隐层,隐层多神经元 # -*- coding:u ...
随机推荐
- 在linux上安装elasticsearch简称ES 简单介绍安装步骤
1.简介 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 ...
- 7、VUE事件
1.事件处理 Vue.js使用v-on指令监听DOM事件来触发JS回调函数. V-on: 缩写为 @ 事件回调函数可以传入$event这个事件对象. 2.事件修饰符 在事件处理程序中调用event.p ...
- CKEditor 4 上传图片
参考资料:Basic Configuration 直接Ctrl+v(粘贴图片)报错信息:上传文件时发生网络错误(networkError:Network error occurred during f ...
- SpringCloud-Consul开发环境配置
一.consul安装 1.下载:https://www.consul.io/downloads.html: 2.选择版本:本人开发环境是windows,所以选择win64: 3.安装:保存至D:/Sp ...
- 网络编程之基于UDP协议的套接字编程、基于socketserver实现并发的socket
目录 基于UDP协议的套接字编程 UDP套接字简单示例 服务端 客户端 基于socketserver实现并发的socket 基于TCP协议 server类 request类 继承关系 服务端 客户端1 ...
- 9.Javascript原生瀑布流
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- js之正则
1.正则的声明方法 1)var reg = /abc/; "这个叫对象直接量方式": 2)var reg = new RegExp("abc") 这个叫构造函数 ...
- 5.2 odex文件
odex是OptimizedDEX的缩写,是优化过的dex文件 odex两种存在方式: 1. 从apk程序中提取,和apk文件放在一起,后缀 odex,此类文件多是AndroidRom系统文件 2. ...
- Linux命令ping
原文 ping命令用来测试主机之间网络的连通性.执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常. 语法 ping(选项 ...
- Redis持久化 - RDB和AOF
原文:https://segmentfault.com/a/1190000016021217 一.持久化的作用 1. 什么是持久化 持久化(Persistence),即把数据(如内存中的对象)保存到可 ...