0.前言:
这里以最简单的全连接神经网络为例,讲解前向传播算法。
1.神经元:
构成一个神经网络的最小单元。
|- 神经元的输入:有多个输入,可以是整个神经网络的输入,也可以是上层神经元的输出。
|- 神经元的输出:一个神经元只有一个输出。一个最简单的神经元结构的输出就是所有输入的加权和,而不同输入的权重就是神经元的参数。
|- 神经网络的优化:指优化神经元中参数取值的过程。
2.前向传播算法要解决的问题:
将特征向量经过层层推导,得到输出。
3.全连接神经网络:
在该神经网络中,相邻两层之间的任意节点之间都有连接。
4.前向传播算法
三个条件:
|- 1.神经网络的输入:即 从实体中提取出的特征向量。
|- 2.神经网络的连接结构:即 不同神经元之间输入输出的连接关系。
|- 3.神经网络中每个神经元的参数:即 本例中的权重w。
计算的方法:
|- 本例中的计算是最简单的加权和。这里的前向传播算法可以表示为矩阵乘法。
|- 输入层的x1和x2可以组织成输入矩阵:x=[x1,x2]
|- 权重矩阵:w1=
|- 隐藏层三个节点组成的向量取值a:a=x*w1(x矩阵乘以w1矩阵)
|- 输出层可以表示为y:y=a*w2
通过TensorFlow表示:
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)
tf.matmul实现了矩阵乘法的功能。