.目录
0 .前言
1.BP算法的计算推导
1.1理论推导
1.2例
2.BPTT算法
2.1上次订阅源
2.2例和推广
3 .总结
0 .前言阅读本文需要一定的神经网络基础,对于什么是前馈网络全连接神经网络(FCNN )和存储网络循环神经网络(RNN )不再赘述。 BP(backpropagation )算法可以很好地求解前馈神经网络的参数,而bptt (backpropagationthroughtime )算法是并发神经网络本文的证明虽然繁琐,但注重细节,主要是导出给笔者自己看的,符号标注旨在将多种学习资料结合起来,呈现完整的信息。
:表示第l层第I个神经元中第k个样品的净活性
:表示第l层第I个神经元中的第k个样品的活性
:第(l-1 )层的第j个神经元是指第l层的第I个神经元的权重
第:层第I个神经元的偏置
:第l层神经元的激活函数
注:显而易见,如果大括号表示层,小括号表示样本编号,下标表示层中神经元的标签,则前面的标签位于被指向层中神经元标签之后的是神经元指向层中的标签。
1.BP算法计算推导1.1理论推导
1.2例下图为三层全连接神经网络,第一层为输入层,标记为[0]层,其净活性求解权重均为1。 激活函数被认为实际上很多材料都不是这么写的。 笔者这样写是为了统一所有层的神经元形式。
以损失函数对、的偏导数为例
2.BPTT算法2.1前情提要RNN与全连接神经网络相比,隐藏层值每次保留,用于下一个隐藏层值求解。 因此,BP算法不能用于求解RNN,需要考虑时间的影响。 BTT可以解决这个问题,但理论和经验表明,RNN容易出现梯度消失和梯度爆炸问题,LSTM模型可以解决这个问题。
2.2例和展开图中左图是对RNN模型的高度抽象,右图是时刻t的具体情况的展开图。 在时刻t可以看到样本的3个特征输入,与上一次时刻的隐藏层输出一起输入隐藏层,隐藏层输入输出层得到2个输出。
3 .总结基本上所有神经网络求解都可以使用BP或BPTT算法,唯一的问题是算法的显式表达难以求解。 但是,只要掌握好求导计算图、激活函数的导数、梯度下降法、求导的链式法则、向量和矩阵求导,就可以得到相应的推导。