深度学习是指神经网络包含了很多层的隐层,比如说10层20层这样,有些问题用浅层神经网络不能得到很好的优化,只能通过深层神经网络优化,这是因为深层神经网络有其独特的优势,下面我们就先介绍深层神经网络的优势。
1.深层神经网络的优势
1.深层神经网络的一大优势就是优化算法的局部最优解问题
之前训练浅层神经网络时,经常会陷入局部最优解,而无法找到全局最优解,如下图所示(图来自吴恩达老师讲义)。
这种问题出现在深度学习网络的概率非常小,我们假设深度神经网络中有n个参数,每个参数在某点取得极小值的概率为p,则所有参数在同一点取得极小值的概率为p的n次方,这个概率是相当小的。在深度学习里,会经常出现的是鞍点,如下图所示(图来自吴恩达老师讲义):
鞍点处的梯度为0,所有在鞍点时,同样会被困住。但是困在鞍点并不容易发生,只是存在一定的概率。可怕的是在处于马鞍面上时,梯度接近于0,这时候下降速度将会非常缓慢。所幸的是已经有很多方法加快收敛速度(比如mini-batch、momentum、Adam等),从而避免这种情况的发生。所以,在深度学习中,不很在意局部最优解问题,而会在意加快收敛速度问题。
2.深度学习为什么会奏效
吴老师给了一个直观的解释,如下图(图来自吴恩达老师讲义),用深度学习做人脸时,第一层节点可能就是做简单的边缘检测,第二层将第一层的结果组合,出来简单的器官,比如眼睛、眉毛等,第三层再将这些器官组合,一直到最后一层。每走一层,都会更加复杂,最后组合出人脸的样子。
2.前向传播
深度学习前向传播与浅层神经网络前向传播一样,假设有L层,则前向传播如下:
3.成本函数
深度学习的成本函数和浅层神经网络的成本函数形式相同,不同的是深度学习的成本函数包含更多的参数。
深度学习的损失函数:
对于多个样本,成本函数为: