深度学习与神经网络学习笔记(四)

六、神经网络概览

1、整体神经网络的表示

  在之前的学习中我们了解到了神经网络的最简单结构,接下来的内容就是把这样一个简单的神经网络拓展成一个很大的神经网络结构的过程。我们以前看到的神经网络是这样的:

深度学习与神经网络学习笔记(四)

  而中间的那个小圆点就是y^的一个计算过程(就是下图的a):

深度学习与神经网络学习笔记(四)

  现在我们将会拓展到更大的一个神经网络中,类似于:

深度学习与神经网络学习笔记(四)

  x1x3表示输入层,输入层后面的三个小圆点表示一个层,我们现在定义它为第一层(隐藏层),而输入层之后的那个小圆点就是第二层(输出层),其中每一个小圆点都包含了一个2图中的过程。第二层的每个小圆点所计算出来的y^值都是下一层的x值,就这样一层一层地叠加起来的,这个图中的神经网络,我们称为双层神经网络,而这样的话我们就要使用一种上标来表示其中的层数:

深度学习与神经网络学习笔记(四)

  这也是为了能够把层数和其中的样本数量区分开来,上图就是两层的神经网络的计算过程,其中也包括了反向传播,也就是求导过程,但是两层的网络的求导过程或许就比较麻烦,我们可以采用循环的方式来让机器完成,这里就不给出了,后面会细讲的。

2、神经网络的输出

  下面我们就细讲填一下神经网络是怎么向量化输入和输出的,我们也主要是通过吴老大的笔记来了解:

深度学习与神经网络学习笔记(四)

  这里我们可以看出吴老大讲的是真的很细,他把每个小圆点的内容都写了出来,图中z[1]1z[1]4的表达式就是小圆点中的z(x)函数的具体求解过程,而其中的w[1]1w[1]4都分别表示一个31的矩阵(因为这里每个w都要对应三个x的输入变量,所以分别要三个才能满足要求),不同的是b参数是一个31的矩阵(因为b参数是一个常数项,所以不用针把每个参数的常数项分开来计算,统一起来可能会更加简单),我们可以看出下面蓝色笔写的表达式是表示一个43的参数w的矩阵乘以31的x变量的矩阵再加上一个41的参数b的矩阵,最后得到z的矩阵,而通过**函数,我们就可以通过z矩阵获得a矩阵的值。

  这里还要说一句就是每个符号的上标表示的是神经网络的层数,而下标表示的是每层对应的第几个变量。这里最后求出来的y^就是a[2],它就是一个对应的数字,而不是矩阵了。

  这是重点:但是这只是一个样本的神经网络图,而如果我们要训练整个网络的话,我们还要把所有样本向量化,然后统一求解,这类似于上图的一个过程,而这个过程就是把x变成了一个3m的矩阵(m为样本数量),求出来的z[1]a[1]就变成了一个4m的矩阵,而z[2]a[2]y^)变成了一个1m的矩阵。

深度学习与神经网络学习笔记(四)

深度学习与神经网络学习笔记(四)

  这是吴老大的笔记,大概意思就是我上面写的那段文字,看哪个看得懂就看哪个。