美文网首页深度学习
神经网络和深度学习笔记2(浅层神经网络)

神经网络和深度学习笔记2(浅层神经网络)

作者: Thinkando | 来源:发表于2018-09-15 15:29 被阅读41次

1. 浅层神经网络

image.png
image.png
  • 损失函数从右向左传递


    image.png

2. 神经网络的计算

  • 关于神经网络是怎么计算的,从我们之前提及的逻辑回归开始,如下图所示。用圆圈表 示神经网络的计算单元,逻辑回归的计算有两个步骤,首先你按步骤计算出𝑧,然后在第二 步中你以 sigmoid 函数为激活函数计算𝑧(得出𝑎),一个神经网络只是这样子做了好多次重 复计算。


    image.png
    image.png
  • 多样本向量化


    image.png
    image.png

3. 激活函数

  • sigmoid && tanh
  • 使用一个神经网络时,需要决定使用哪种激活函数用隐藏层上,哪种用在输出节点上。 到目前为止,之前的视频只用过 sigmoid 激活函数,但是,有时其他的激活函数效果会更好。


    image.png
    image.png
  • ReLu


    image.png
    image.png
  • 两者的优点是:
  • 第一,在𝑧的区间变动很大的情况下,激活函数的导数或者激活函数的斜率都会远大于0,在程序实现就是一个 if-else 语句,而 sigmoid 函数需要进行浮点四则运算,在实践中, 使用 ReLu 激活函数神经网络通常会比使用 sigmoid 或者 tanh 激活函数学习的更快。
  • 第二,sigmoid 和 tanh 函数的导数在正负饱和区的梯度都会接近于 0,这会造成梯度弥散,而 Relu 和 Leaky ReLu 函数大于 0 部分都为常数,不会产生梯度弥散现象。(同时应该注 意到的是,Relu 进入负半区的时候,梯度为 0,神经元此时不会训练,产生所谓的稀疏性, 而 Leaky ReLu 不会有这问题)
  • 第三, 𝑧在 ReLu 的梯度一半都是 0,但是,有足够的隐藏层使得 z 值大于 0,所以对大多数的 训练数据来说学习过程仍然可以很快。


    image.png

4 激活函数的导数

  • 在神经网络中使用反向传播的时候,你真的需要计算激活函数的斜率或者导数。针对以 下四种激活,求其导数如下
    image.png
    image.png
    image.png
    image.png

5. 神经网络的梯度下降

image.png
image.png

6. 直观理解反向传播

image.png
image.png

7. 随机初始化

  • 对于一个神经网络,如果你把权重或者参数都初始化为 0,那么梯度下降将不会起作用。
  • 一般设置


    image.png

相关文章

网友评论

    本文标题:神经网络和深度学习笔记2(浅层神经网络)

    本文链接:https://www.haomeiwen.com/subject/drmzgftx.html