MATLAB深度学习之LSTM 参数理解

参数理解

500个单词,每个单词都用一个32维的向量表示
word embedding的作用
输入就是一部电影的评论
500*32 矩阵来表示
LSTM的大小为32
就是LSTM输入,或者输出
C或者H的维度,H的承接的状态
输出Ht的维度
全连接层大小,打分就是好坏,所以是1
shpe(x)表示输入的意思,每个单词的维度是32
横着有500个单词,ht最后一个状态,
输入层500*32
32就是输入层的大小
500表示lstm延横向扩充了500次
由输入矩阵的列来控制,有多少列,扩展了500次
可以对lstm的原理
shape(h)和shape(x)是碰巧一样的,可以不一样

输出500*32来表示,32维的向量表示
上一层的输出,32 === 表示网络层的大小,H是32,为什么只有32,因为选择的不是sequence,
dense层全连接层
32*(32+32)+32
h就是输入门的大小,行就是H,列就是相加
32是偏执项
每个w都要加上b
因为由4个,所以就是8320个
深度扩展
LSTM层大小:三层均为32

应该是这个,只有一个

embedding 500个单词,32维
lstm1有500的s
前两层都是sequence,最后一个是last
500个输入,所以lstm也有500个输出,

这个32取决于lstm层的大小
层的大小就是lstm输出的大小
就是ht


这个是第二层lstm的大小
最后一层
dense就是全连接层就是1
MATLAB参数
1、训练参数training Options
MaxEpochs:将训练集完整运行多少次
MiniBatchSize:最小批次
每一次喂入多少数据集,这个参数也是控制权值更新的
2、序列输入层

inputsize :输入参数的个数
就是shape(x)
最小长度,数据最少的输入长度,这个值控制输入数据长度,不符合报错
序列数据的输入长度是通过打包为元胞数组控制的,shape(data)=2*100 表示12个输入特征,100个事件步

LSTM层
channel:输入特征数
batch:输入样本数
time: 事件展开步

如果是12*100
channel = 12
batch = 1
时间展开步,输入层的长度

channel 12
batch 5
time 20

Inputsize:自动
NumHidden:128,表示shape(h)=128

网络训练参数
输入层是12 shape(x)=12
shape(h) = 128
bias(h) = 128 偏执项,和h一样大
parnum = 4*{shape(h)

时间展开步 影响运行时间,次数,和训练参数没有关系
输入层的20(或其他数据)来控制的

12 shape(x)