
LSTM详解公式推导.ppt
11页有问题请联系我 oldlee11@化简表示ANN处理时间序列RNN输出样本(n*7维向量)t1=(x11,x12,y13,…x1n)t7=(x71,x72,x73,…x7n)输出样本(m*7维向量)t1=(y11,y12,y13,…y1m)t7=(y71,y72,y73,…y7m)每层网络内的每个神经元扩展为输入样本(n维向量)=(x1,x2,x3,…xn)输出样本(m维向量)=(y1,y2,y3,…ym)1层神经元1个神经元LSTMANN->RNN->LSTMwicwhc∑=acttanhX+X=sctCell化简取每个Block内仅有1个cell时间序列中第t个状态的输入的第i个分量特征:xitsct-1∑wilwhlwclSigmoid=alt=blt输入门l忘记门φ∑wiφwhφwcφSigmoidaφt=bφt=sct-1sct-1∑wiωwhωwcωSigmoid=aωt=bωt输出门ωtanhX=bctblockLSTM内Block的结构上一个时序(t-1)中本层网络的第h个block的输出:bht-1(1)(2)(3)(4)(5)LSTM内Block的结构(正向传播公式)LSTM内Block的结构(反向传播公式)(1)(2)(3)(4)(5)(6)LSTM内Block的结构(反向传播公式-推导-bct的梯度)(1)第t时间状态的i+1层(下一层)第t时间状态的i层(本层)的某个block第t+1时间状态的i层(本层)=第t时间状态的下一层网络中每个block的act,alt,aφt,awt的梯度*连线的系数w之和=第t+1时间状态的本层网络中每个block的act,alt,aφt,awt的梯度*连线的系数w之和LSTM内Block的结构(反向传播公式-推导-awt的梯度)awt的梯度=δLoss/δawt=δLoss/δbct*δbct/δawtδbct/δawt=δ(tanh(sct)*sigmod(awt))/δawt=tanh(sct)*dsigmod(awt)取C=1LSTM内Block的结构(反向传播公式-推导-sct的梯度)取C=1第t时间状态的本层的该block第t+1时间状态的本层的该blockSct会影响第t时间状态的awt,第t时间状态的bct,第t+1时间状态的alt,第t+1时间状态的aφt,第t+1时间状态的sct=>δL/δawt*δawt/δsct+δL/δbct*δbct/δsct+δL/δalt+1*δalt+1/δsct+δL/δaφt+1*δaφt+1/δsct+δL/δsct+1*δsct+1/δsct1)δL/δawt*δawt/δsct=δL/δawt*δ(wcw*sct+….)/δsct=δL/δawt*wcw2)δL/δbct*δbct/δsct=δL/δbct*δ(bwt*tanh(sct))/δsct=δL/δbct*bwt*dtanh(sct)3)δL/δalt+1*δalt+1/δsct=δL/δalt+1*δ(sct*wcl+...)/δsct=δL/δalt+1*wcl4)δL/δaφt+1*δaφt+1/δsct=δL/δaφt+1*δ(sct*wcφ+….)/δsct=δL/δaφt+1*wcφ5)δL/δsct+1*δsct+1/δsct=δL/δsct+1*δ(sct*bφt+1+….)/δsct=δL/δsct+1*bφt+1LSTM内Block的结构(反向传播公式-推导-alt的梯度)取C=1alt的梯度=δLoss/δalt=δLoss/δsct*δsct/δaltδsct/δalt=δ(tanh(act)*sigmod(alt)+sct-1*bφt)/δalt=δ(tanh(act)*sigmod(alt))/δalt=tanh(act)*dsigmod(alt)LSTM内Block的结构(反向传播公式-推导-aφt的梯度)取C=1aφt的梯度=δLoss/δaφt=δLoss/δsct*δsct/δaφtδsct/δaφt=δ(sct-1*sigmod(aφt)+blt*tanh(act))/δaφt=δ(sct-1*sigmod(aφt))/δaφt=sct-1*dsigmod(aφt)LSTM内Block的结构(反向传播公式-推导-act的梯度)取C=1act的梯度=δLoss/δact=δLoss/δsct*δsct/δactδsct/δact=δ(blt*tanh(act)+sct-1*bφt)/δact=δ(blt*tanh(act))/δact=blt*dtanh(act)。












