深层神经网络

那么什么算是深度神经网络呢?

深层神经网络中的前向传播

如图所示,我们说逻辑回归是一个浅层模型,单隐层神经网络是一个双层神经网络,注意我们数网络层数的时候一定不要把输入层数进去,只是数隐藏层的数量,以及输出层。

我们约定,输入层用

x=a[0]

表示,输出层,用

y^=a[L]

表示。

深层神经网络中的前向传播

深层神经网络中的前向传播

如何在深度学习中正确运用正向传播和反向传播呢?

我们先看一个训练样本x的情况,之后我们再向量化到全体样本。

深层神经网络中的前向传播

如图所示,这是正向传播的整个过程,左边是按照单个样本,右边是整个进行向量化表示,你会发现,这个和单层神经网络十分相似,只是多重复了几遍,事实也的确如此。

核对矩阵维数

对于深层网络而言,涉及到的运算较多,如果不注意矩阵的维数,稍有不慎就可能出错,下面说一下如何避免这个问题。

深层神经网络中的前向传播

如图所示,这是单个训练样本下的矩阵维数表示。w虽然不太好推出来,但是我们知道了z和x,所以根据z和x的矩阵维数,就可以得出w矩阵维数的情况。dw和db与w和b的矩阵维数是保持一致的。

深层神经网络中的前向传播

如图所示,这是矩阵形式的表示方式。这里我们不再是一个样本,而变成了m个样本。需要注意的是,图中的左下角的对每个样本进行计算的时候,仍然应当是(n[1],1)的形式,但这里使用广播复制了m份,使得Z具有m列保持一致。

对于右侧的X我们可以看到,一个样本的维度是(n0,1),具有m个样本,所以是m列,因此维度变为(n0,m)

相关文章: