在求出前向传播和反向传播前要先确定参数和输入输出符号的表达形式
最普通的DNN就可以看做是一个多层感知机MLP,感知机的输出其实就是对输入的加权求和:,再经过一个非线性激活函数
首先来定义权值矩阵W,按照下图规则,表示的是第3层第2个神经元和第2层第4个神经元之间连线(连线就代表权重,可以看成是的省略写法)。那么为什么不写成呢,形式上是允许的,但是如果这样写的话,第3层神经元的输入就要通过来计算,而前者只需要计算,省略了矩阵转置的额外工作量。
偏置项b的定义也是类似,表示第2层第3个神经元的偏置。
再定义分别表示第i层第j个神经元的输出和输入,并假设是我们选择的激活函数。
前向传播过程
三层DNN,输入层-隐藏层-输出层
对于第2层第1个节点的输出有:
对于第3层第1个节点的输出有:
一般化的,假设l-1层有m个神经元,对于有: