什么是全链接神经网络(full connected, FC)?
借用此图来直观的表示一下。
规则如下:
- 神经元按照层来布局。最左边的层叫做输入层,负责接收输入数据;最右边的层叫输出层,我们可以从这层获取神经网络输出数据。输入层和输出层之间的层叫做隐藏层,因为它们对于外部来说是不可见的。
- 同一层的神经元之间没有连接。
- 第N层的每个神经元和第N-1层的所有神经元相连(这就是full connected的含义),第N-1层神经元的输出就是第N层神经元的输入。
- 每个连接都有一个权值。
全链接神经网络是神经网络的基础结构,很多其它结构的神经网络,比如卷积神经网络(CNN)、循环神经网络(RNN),他们都是以全链接神经网络为基础形成的不同的连接规则网络。
对于全链接神经网络很多人都抽象的说就是左边输入,中间计算,右边输出的结构,如:
简单的来说的化,好像确实是这么回事。
前向计算、反向传播应该是对训练全链接神经网络最合适的说辞,前向计算指的是计算出隐藏层和输出层各节点的值,反向传播说的是误差项的传播。反向传播算法是目前用来训练人工神经网络(Artificial Neural Network,ANN)的最常用且最有效的算法,对于全链接神经网络的契合度很高。
全链接神经网络中神经元节点的激活函数往往选择为sigmoid函数或tanh函数。这里我们选择sigmoid函数:
其导数为:
接下来我们介绍下前向计算和反向传播的具体过程:
前向计算:
以单个神经元为单位下: