03.神经网络与深度学习-第三周-浅层神经网络

1. 神经网络的层数

如图的简单神经网络,隐藏层和输出层称为第1层和第2层,可以将输入层称为第0层;

一般来讲习惯称这个神经网络是一个双层神经网络/单隐藏层神经网络。

                    <图一>

 

2. 图一中的神经网络的向量化

3. 几种激活函数

    (1)sigmoid函数:有梯度消失问题;输出不是以0为中心,值区间在0-1之间,优化困难;收敛缓慢。因此,除非用在二分类的输出层,不然几乎不用。其它场合,tanh函数几乎都比它更优越。

导数:

 

    (2)tanh函数/双曲正切函数:比sigmoid函数优越,但依然存在梯度消失问题。

导数:

 

    (3)ReLU函数/线性修正单元:一般都使用这种函数。不过,它可能导致死亡神经元。

导数(x=0时的导数值影响不大):

 

    (4)Leaky ReLU函数/带泄露的ReLU函数:ReLU函数的一种变体,以解决死亡神经元的问题。

导数(x=0时的导数值影响不大):

 

4. 很少使用线性激活函数。它使用在输出层或者为了压缩等目的而使用在隐藏层。它几乎没什么用。非线性激活函数才有趣。

 

5. 神经网络中的梯度下降法

 

其推导(从单个开始分析,然后向量化):

 

6. 训练神经网络时候,随机初始化权重非常重要。

Logistic回归中,权重初始化为0是可行的;如果将神经网络中的权重矩阵都初始化为0,再使用梯度下降法,就不行了。

我们通常把权重矩阵初始化为非常小的随机值。因为权重过大的时候,Z将大概率过大或过小,如果激活函数是sigmoid函数或tanh函数,那就会落在激活函数的平缓部分,梯度的斜率会非常小,这意味着梯度下降法会非常慢。

猜你喜欢

转载自blog.csdn.net/qq_38672855/article/details/81460690
今日推荐