美文网首页
关键概念

关键概念

作者: 轻骑兵1390 | 来源:发表于2020-08-20 09:05 被阅读0次

1.激活函数

主要的激活函数(Activation Functions)包括:

  • sigmoid a = \frac{1}{1+e^{-z}}
  • tanh a =\frac{e^{z} - e^{-z}}{e^{z} + e^{-z}}
  • ReLU a = max(0, z)
  • leaking ReLu a = max(0.01z, z)

上述所有的关系中, 输出均为a, 输入均为z.

上述函数的导数, 记所有的激活函数均为a = g(z), 那么其导数为g^\prime(z)

  • sigmoid, g^\prime(z) = a(1-a)
  • tanh, g^\prime(z) = 1 - a^2
  • ReLU
    g^\prime(z) = \left\{ \begin{matrix} 0 & when & z<0\\ 1 & when & z \geq 0 \end{matrix}\right.

2. 正则化(Regularization)

正则化用来避免过拟合.
\begin{aligned} J(w,b) &= \underbrace{\frac{1}{m}\sum_{i=1}^m \mathcal{L}(\hat{y}^{(i)}, {y}^{(i)})}_{\overline{J}(w,b)} + \boxed{\frac{\lambda}{2m}||w||^2} \end{aligned}
上述方框中的内容称为L2正则化. m为样本个数. \lambda为正则化参数.
对于\mathbf{w}向量, 正则化部分可以表示为:
||w||^2 = \sum_{j=1}^{n_x}w_j^2 = \mathbf{w}^T\mathbf{w}
对于\mathbf{W}矩阵:
||w||^2 = \sum_{i,j}(\mathbf{W}_{ij})^2
在求导过程中
\frac{dJ}{d\mathbf{W}} = \frac{d\overline{J}}{d\mathbf{W}} + \frac{\lambda}{m}\mathbf{W}
迭代过程中就可以得到:
\begin{aligned} \mathbf{W} &\leftarrow \mathbf{W} - \alpha \frac{dJ}{d\mathbf{W}} \\ &\leftarrow \mathbf{W} - \alpha(\frac{d\overline{J}}{d\mathbf{W}} + \frac{\lambda}{m}\mathbf{W})\\ &\leftarrow \underbrace{(1-\frac{\alpha\lambda}{m})}_{<1} \cdot \mathbf{W} - \alpha\frac{d\overline{J}}{d\mathbf{W}} \end{aligned}
因此每次迭代过程中, \mathbf{W}总是在缩小, 因此避免了权重过大.

3. Dropout

每一次迭代的时候随机失效(disable)一些节点. 注意是在训练过程中, 每次迭代的时候.

4. mini-batch

假如有100,000个样本, 每次训练的时候使用1,000个样本.

  • 第1次迭代, 使用1-1,000个样本.
  • 第2次迭代, 使用1001-2,000个样本.
    ...

5. momentum

避免梯度来回抖动, 用低通滤波减少抖动, 加强同一方向的梯度

for iteration i
  compute dw, db
  Vdw = beta * Vdw + (1-beta) * dw
  Vdb = beta * Vdb + (1-beta) * db
  // Update
  W = W - alpha * Vdw
  b = b - alpha * Vdb

6. RMSProp

同样避免抖动, 加强同一方向的梯度.

for iteration i
  compute dw, db
  dw2 = dw * dw
  db2 = db * db
  Sdw = beta * Sdw + (1-beta) * dw2
  Sdb = beta * Sdb + (1-beta) * db2
  // update
  W = W - alpha * dW / sqrt(Sdw)
  b = b - alpha * db / sqrt(Sdb)

7. Adam

初始化

Vdw = 0, Sdw = 0, Vdb = 0, Sdb = 0

迭代优化

for iteration i
  compute dw, db
  Vdw = beta1 * Vdw + (1-beata1) * dw
  Vdb = beta1 * Vdb + (1-beata1) * db

  dw2 = dw * dw
  db2 = db * db
  Sdw = beta2 * Sdw + (1-beta2) * dw2
  Sdb = beta2 * Sdb + (1-beta2) * db2

  Vdw_corrected = Vdw / (1-beta1^t)
  Vdb_corrected = Vdb / (1-beta1^t)
  Sdw_corrected = Sdw / (1-beta2^t)
  Sdb_corrected = Sdb / (1-beta2^t)

  //update
  W = W - alpha * Vdw_corrected / (sqrt(Sdw_correct) + eplison)
  b = b - alpha * Vdb_corrected / (sqrt(Sdb_correct) + eplison)

beta1 = 0.9, beta2 = 0.999, eplison = 10e-8

7. 全连接层

一个层级中的每个节点都与上个层级中的每个节点相连。

相关文章

  • 关键概念

    回归是什么 激活函数的作用 梯度下降是什么东西,类似的还有什么?

  • 关键概念

    1.激活函数 主要的激活函数(Activation Functions)包括: sigmoid tanh ReLU...

  • 关键概念

    维特根斯坦并不提供任何直接的哲学指导,他只是亲身示范了如何蹚过哲学的险途,坦诚地展露了他自己在此旅途中的种种抗拒、...

  • 关键概念

    维特根斯坦并不提供任何直接的哲学指导,他只是亲身示范了如何蹚过哲学的险途,坦诚地展露了他自己在此旅途中的种种抗拒、...

  • 三、关键概念

    1.Membership Service Provider (MSP):Hyperledger Fabric网络的...

  • Kramdown 关键概念

    一、kramdown 元素 kramdown元素分为 Block-level Elements 和 Span-Le...

  • bert关键概念

    原本在seq2seq里面是两个lstm中间的context是静态的 ; 每一个输出会生成一个新的context d...

  • InfluxDB关键概念

    仅供学习,转载请注明出处 InfluxDB前篇介绍 Centos7 下 InfluxDB 从安装开始到入门 前一篇...

  • Paddle关键概念

    Paddle关键概念 正文共:6452字0图 预计阅读时间:17分钟 本文讨论一下PaddlePaddle框架中几...

  • 李笑来《通往财务自由之路》之 13.20161028“错过”

    13.20161028“错过”【精要】关键、概念、提炼、延伸、关联…… 【关键概念】 错过、升级、 【思考】可阅读...

网友评论

      本文标题:关键概念

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