之前一章讲了浅层神经网络,这一章讲的是深层神经网络
深层神经网络与浅层神经网络的区别是:隐藏层比浅层神经网络多,从命名规则上来说,有1,2,5个隐藏层的神经网络可以称为1hiddenlayer,2hiddenlayers,5hiddenlayers
深层神经网络中的正向传播与之前举例的浅层神经网络一样,只是层数变得更多了,如下所示:
对于每一层的正向传播我们可以用一个公式表示:
其中L表示层数,g表示激活函数,其中所涉及到的Z,W,A,b的维度为:
其中n[l]表示第l层的隐藏单元个数,m表示样本数
为什么要使用深层神经网络,以人脸识别与语音识别为例:
假设有一个人脸识别为4层的神经网络,神经网络第一层所做的事就是从原始图片中提取出人脸的轮廓与边缘,即边缘检测。这样每个神经元得到的是一些边缘信息。神经网络第二层所做的事情就是将前一层的边缘进行组合,组合成人脸一些局部特征,比如眼睛、鼻子、嘴巴等。再往后面,就将这些局部特征组合起来,融合成人脸的模样。可以看出,随着层数由浅到深,神经网络提取的特征也是从边缘到局部特征到整体,由简单到复杂。可见,如果隐藏层足够多,那么能够提取的特征就越丰富、越复杂,模型的准确率就会越高。
除了从提取特征复杂度的角度来说明深层网络的优势之外,深层网络还有另外一个优点,就是能够减少神经元个数,从而减少计算量,以下面这个例子为例:
如果使用浅层神经网络,那么隐藏神经单元的个数会呈指数形式增加,为2^(n-1)个(这里不懂为什么.......==)
Buildingblocksofdeepneuralnetworks
构建深层神经网络块,先来看他的流程图:
正向传播过程:
反向传播过程中:
关于深层网络中的正向传播与反向传播,如下:
下面开始讲参数和超参数:
参数和超参数如下所示:
神经网络与人脑的关系:
神经网络实际上可以分成两个部分:正向传播过程和反向传播过程。
人脑神经元可分为树突、细胞体、轴突三部分。树突接收外界电刺激信号(类比神经网络中神经元输入),传递给细胞体进行处理(类比神经网络中神经元激活函数运算),最后由轴突传递给下一个神经元(类比神经网络中神经元输出)。
人脑神经元的结构和处理方式要复杂的多,神经网络模型只是非常简化的模型。人脑如何进行学习?是否也是通过反向传播和梯度下降算法现在还不清楚,可能会更加复杂