欢迎光临散文网 会员登陆 & 注册

MATLAB深度学习之LSTM 参数理解

2023-01-05 22:54 作者:_-JIA-_-  | 我要投稿

参数理解

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)









MATLAB深度学习之LSTM 参数理解的评论 (共 条)

分享到微博请遵守国家法律