提问:LSTM训练涉及到多少个参数?
这是LSTM的典型结构:
要说明的是,RNN结构(包括LSTM、GRU)是在时间维度上扩展的,绿色框框中的参数是共享的,也就是说T时刻的参数更新是在T-1时刻参数的基础上更新的。那么LSTM训练涉及到的参数就与TIME_STEP无关了,我们只需关注一个时间步内参数总量即可。
黄色的小框表示激活函数,调参的超参数之一num_units就是指这几个黄色小框中的神经元个数,黄色小框可以视为隐藏层。要知道下面几件事:
① 观察上图可以发现,四个黄色框的输入均是,这里两个变量的连接方式是Concat,即直接拼接。
② 根据推导公式,每个黄色框的每个神经元均有对应的bias参数,bias在每个框内的个数和num_units相同。
③ 观察右下角的,是由sigmoid计算得来,所以维度同num_units。维度与相同。
综上,如果num_units=n,一层LSTM涉及到的参数总数量为:
参考: