本博客是对Michael Nielsen所著的《Neural Network and Deep Learning》第2章内容的解读,有兴趣的朋友可以直接阅读原文http://neuralnetworksanddeeplearning.com/chap2.html
前向传播过程
在讨论反向传播之前,我们讨论一下前向传播,即根据输入X来计算输出Y。输入X用矩阵表示,我们看一下如何基于矩阵X来计算网络的输出Y。
我们使用 表示从 ( - 1) 层的第 k 个神经元到 层的第 j 个神经元的链接上的权重。例如,下图给出了网络中第二层的第四个神经元到第三层的第二个神经元的链接上的权重:
我们使用表示在 层第 j 个神经元的偏置,使用表示 层第 j 个神经元的激活值(激活函数的输出)。
那么,第 层的第 j 个神经元的激活值可以表示为:
(1)
其中,为激活函数。
对每一层 ,定义一个权重矩阵,权重矩阵 的元素正是连接到 层神经元的权重,矩阵中第 j 行第 k 列的元素是 。类似的,对每一层,定义一个偏置向量,向量的每个元素为,每个元素对应于 层每个神经元的偏置。最后,我们定义激活向量,其元素是那些激活值。
那么,公式(1)就可以表示为如下的向量形式:
(2)
这个表达式给出了一种更加全局的思考每层的激活值和前一层激活值的关联方式:用权重矩阵作用在激活值上,然后加上一个偏置向量,最后作用 σ 函数,则得到每层的激活值。
为了方便表示,记,表示