本文主要来对浅层神经网络进行扩展,来了解深层神经网络的基本原理。
本文参考链接:https://www.missshi.cn/api/view/blog/59a6ad67e519f50d040000e6
1.概念初识:
Logistic回归:
一个隐藏层的神经网络:
五个隐藏层的神经网络:
深层神经网络主要是指的包含的隐藏层的深度。神经网络的层数越多,可以拟合的场景越复杂。实际上,在利用神经网络解决一些问题时,我们首先需要预先准确的判断神经网络所需要的深度。
2.深层神经网络的前向传播:
3.核对矩阵维数
如何检查深度网络中矩阵的维度,更方便的寻找bug。
(n[l],1)=(n[l],n[l-1])*(n[l-1],1)+(n[l],1);
向量化之后:
(n[l],m)=(n[l],n[l-1])*(n[l-1],m)+(n[l],m);
m表示为样本个数,b[l]中的每一列都是相同的。
4.为什么使用深层网络表示
以人脸识别的系统为例,深层网络中的第一层通常的作为可认为是一个特征探测器或边缘探测器。
后续的神经网络层可能会是将这些边缘特征进行组合,得到面部的不同部分,例如如下形式:
最后,再将这些面部不同部分组合起来,就可以用于识别或探测不同的人脸啦!
这种从简单特征提取,再一步步到复杂特征组合的过程,不仅仅是应用于人脸识别领域,而是可以应用于大部分领域。例如一个语音识别的系统,需要解决的问题是如何更好的理解语音信号。此时,通常神经网络的前几层主要是试着去试探简单的音频特征,例如音调、噪声等等。后续通过将这些简单特征进行组合,仅可以得到一些相对高级的特征,例如音位等。再然后,继续组合将能得到一些单词信息,最终将会得到一些完整的句子等信息。
所以,对于深层学习而言,通常前面几层用于学习一些简单特征,随着深层的增多,不断的对简单特征进行组合,最终得到一些高级特征。
5.搭建深层神经网络块
以下面这个神经网络为例:
6.前向和反向传播:
7.参数与超参数:
其实有些时候理论的看的有些模糊,亲自实践一下就好啦,代码实践见下一篇。