梯度下降

1.神经网络矩阵运算

(1)神经元传递形式


      第一层是对全盘特征的提取。比如28*28的图像。第一层每个神经元有28*28个x。但是第一层输出4个结果。可以了提取了四个特征。

      效果不好,表示特征提取不好,是神经元不多,让神经元足够过多。不是越多越好。也不是越少越好。------超参数。

      越多,可能过拟合。(纵向)

      层数也可以提高网络深度。(横向)


(2)感知机

                                                                                H=w*x+b


    网络层数增加,增加非线性能力。例如:第一层中的神经元经过第二层后,线性方向或者倾角发生变化。(能力有限)

    曲线:激活函数。(能力强)


2.梯度

(1)切线


(2)导数



3.梯度下降

(1)切线斜率的取值范围:-1到1

(2)导数为0的意义。

(3)感知机模型H=W*X+B

(4)损失函数:L=(H-Y)^2    二次函数

(5)关于L和W的函数

(6)找的一个合适的W让L最小

(7)即导数为零

(8)求导数为0的W。


(9)不能直接令导数为零,求W。在数学中求导,已知公式,求参数(导数)。现在不知道公式。导数为零:会出现梯度消失。

(10)真正的学习过程中导数不可能为零。在零附近。导数为0,躺平,梯度消失。

(11)导数的写法。四种



                                                                                                         +df/dx


(12)什么是梯度


(13)梯度下降


(14)下降


(15)步长大了(梯度爆炸/精度爆炸);步长过小(慢);取经验值(具体问题具体讨论----->超参数)。


                                                                            步长过大和步长过小

(16)神经网络找不到导数等于0的地方。可能找到,但是又继续迭代。直到某次计算结束。如果导数为0,没有梯度,没法更新。也可能最小值是局部最小值。

(17)梯度和形状的关系

网络过深----->梯度弥散、僵尸网络----->新的网络结构(现在1600多层的网络)

(18)局部最优解和全局最优解


                                                                       曲线函数必须要求函数可导


4.激活函数

(1)激活函数的作用

        提供非线性能力

(2)激活函数的性质

(3)激活函数

a).  Sigmoid函数

        表示概率

                                                                                                  X:全体实数      y:0~1

                                                                     Sigmoid_grad=a*(1-a)   max=0.25=0.5*0.5(梯度最大的点)

        一般运用在输出值,表示概率。最大梯度维0.5,当网络层数过深,会有连成效果,小数连成越来越小,梯度会弥散,网络学不懂,容易造成僵尸网络。

b).  Tanh函数

       表示数据的分布状态。

       梯度比sigmoid大。

                                                                                                         X:表达净输出

                                                                                X(这里的X是H)=wx(这里的x是输入值)+b

                                                                                                       X:全体实数    y:-1~1

                                                                                                          看下面就知道了:


导数:

                                                                                 Tanh_grad=1-a^2    max=1--->梯度大,效果好

                                               通常也在中间层使用,效果比sigmoid好,值有正和负,训练效果更均匀。梯度大,学的快。

缺点:在曲线两端梯度多小,网络学不动

c).  ReLU函数

没有梯度衰减的现象:y=x   坏处:梯度不能为负

Y=0:梯度维0.

c.1).    ELU函数

        ELU函数是针对ReLU函数的一个改进型,相比于ReLU函数,在输入为负数的情况下,是有一定的输出的,而且这部分输出还具有一定的抗干扰能力。这样可以消除ReLU死掉的问题,不过还是有梯度饱和和指数运算的问题。

c.2).   PReLU函数

        PReLU也是针对ReLU的一个改进型,在负数区域内,PReLU有一个很小的斜率,这样也可以避免ReLU死掉的问题。相比于ELU,PReLU在负数区域内是线性运算,斜率虽然小,但是不会趋于0,这算是一定的优势吧。

        我们看PReLU的公式,里面的参数α一般是取0~1之间的数,而且一般还是比较小的,如零点零几。当α=0.01时,我们叫PReLU为Leaky ReLU,算是PReLU的一种特殊情况吧。

d). softmax函数


你可能感兴趣的:(梯度下降)