深层神经网络
那么什么算是深度神经网络呢?
如图所示,我们说逻辑回归是一个浅层模型,单隐层神经网络是一个双层神经网络,注意我们数网络层数的时候一定不要把输入层数进去,只是数隐藏层的数量,以及输出层。
我们约定,输入层用
表示,输出层,用
表示。
深层神经网络中的前向传播
如何在深度学习中正确运用正向传播和反向传播呢?
我们先看一个训练样本x的情况,之后我们再向量化到全体样本。
如图所示,这是正向传播的整个过程,左边是按照单个样本,右边是整个进行向量化表示,你会发现,这个和单层神经网络十分相似,只是多重复了几遍,事实也的确如此。
核对矩阵维数
对于深层网络而言,涉及到的运算较多,如果不注意矩阵的维数,稍有不慎就可能出错,下面说一下如何避免这个问题。
如图所示,这是单个训练样本下的矩阵维数表示。w虽然不太好推出来,但是我们知道了z和x,所以根据z和x的矩阵维数,就可以得出w矩阵维数的情况。dw和db与w和b的矩阵维数是保持一致的。
如图所示,这是矩阵形式的表示方式。这里我们不再是一个样本,而变成了m个样本。需要注意的是,图中的左下角的对每个样本进行计算的时候,仍然应当是 (n[1],1) ( n [ 1 ] , 1 ) 的形式,但这里使用广播复制了m份,使得Z具有m列保持一致。
对于右侧的X我们可以看到,一个样本的维度是 (n0,1) ( n 0 , 1 ) ,具有m个样本,所以是m列,因此维度变为 (n0,m) ( n 0 , m )