NLP预训练语言模型(二):LSTM参数个数

提问:LSTM训练涉及到多少个参数?

这是LSTM的典型结构:


LSTM架构

要说明的是,RNN结构(包括LSTM、GRU)是在时间维度上扩展的,绿色框框中的参数是共享的,也就是说T时刻的参数更新是在T-1时刻参数的基础上更新的。那么LSTM训练涉及到的参数就与TIME_STEP无关了,我们只需关注一个时间步内参数总量即可。

黄色的小框表示激活函数,调参的超参数之一num_units就是指这几个黄色小框中的神经元个数,黄色小框可以视为隐藏层。要知道下面几件事:

① 观察上图可以发现,四个黄色框的输入均是[h_{t-1};x_t],这里两个变量的连接方式是Concat,即直接拼接。

② 根据推导公式,每个黄色框的每个神经元均有对应的bias参数,bias在每个框内的个数和num_units相同。

③ 观察右下角的h_t,是由sigmoid计算得来,所以维度同num_units。h_{t-1}维度与h_t相同。

综上,如果num_units=n,一层LSTM涉及到的参数总数量为:

[(n+x_t)*n+n]*4\\



参考:

LSTM的神经元个数

lstm输出输出和参数你懂了吗

【译】理解LSTM(通俗易懂版)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。