加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

走心整理——十个常用深度学习算法

发布时间:2019-08-30 09:14:03 所属栏目:经验 来源:拓客大咖168
导读:过去十年里,人们对机器学习的兴趣经历了爆炸式的整长。我们几乎每天都可以在计算机程序、行业会议和媒体上看到机器学习的身影。很多关于机器学习的讨论都混淆了机器学习能做什么和人类希望机器学习能做什么。从根本上讲,机器学习是运用算法从原始数据中

我们所期望的最理想的情况就是河流在到达最终目的地(最低点)之前不会停下。在机器学习中,这等价于我们已经找到了从初始点(山顶)开始行走的全局最小值(或最优值)。然而,可能由于地形原因,河流的路径中会出现很多坑洼,而这会使得河流停滞不前。在机器学习术语中,这种坑洼称为局部最优解,而这不是我们想要的结果。有很多方法可以解决局部最优问题。

走心整理——十个常用深度学习算法

因此,由于地形(即函数性质)的限制,梯度下降算法很容易卡在局部最小值。但是,如果能够找到一个特殊的山地形状(比如碗状,术语称作凸函数),那么算法总是能够找到最优点。在进行最优化时,遇到这些特殊的地形(凸函数)自然是最好的。另外,山顶初始位置(即函数的初始值)不同,最终到达山底的路径也完全不同。同样,不同的流速(即梯度下降算法的学习速率或步长)也会导致到达目的地的方式有差异。是否会陷入或避开一个坑洼(局部最小值),都会受到这两个因素的影响。

3、学习率衰减

调整随机梯度下降优化算法的学习速率可以提升性能并减少训练时间。这被称作学习率退火或自适应学习率。训练中最简单也最常用的学习率自适应方法就是逐渐降低学习率。在训练初期使用较大的学习率,可以对学习率进行大幅调整;在训练后期,降低学习率,以一个较小的速率更新权重。这种方法在早期可以快速学习获得较好的权重,并在后期对权重进行微调。

走心整理——十个常用深度学习算法

两个流行而简单的学习率衰减方法如下:

  • 线性地逐步降低学习率
  • 在特定时点大幅降低学习率

4、Dropout

拥有大量参数的深度神经网络是非常强大的机器学习系统。然而,在这样的网络中,过拟合是一个很严重的问题。而且大型网络的运行速度很慢,这就使得在测试阶段通过结合多个不同的大型神经网络的预测来解决过拟合问题是很困难的。Dropout 方法可以解决这个问题。

走心整理——十个常用深度学习算法

其主要思想是,在训练过程中随机地从神经网络中删除单元(以及相应的连接),这样可以防止单元间的过度适应。训练过程中,在指数级不同“稀疏度”的网络中剔除样本。在测试阶段,很容易通过使用具有较小权重的单解开网络(single untwined network),将这些稀疏网络的预测结果求平均来进行近似。这能有效地避免过拟合,并且相对于其他正则化方法能得到更大的性能提升。Dropout 技术已经被证明在计算机视觉、语音识别、文本分类和计算生物学等领域的有监督学习任务中能提升神经网络的性能,并在多个基准数据集中达到最优秀的效果。

5、最大池

最大池是一种基于样本的离散化方法。目标是对输入表征(图像、隐藏层输出矩阵等)进行下采样,降低维度并且允许对子区域中的特征进行假设。

走心整理——十个常用深度学习算法

通过提供表征的抽象形式,这种方法可以在某种程度上解决过拟合问题。同样,它也通过减少学习参数的数目以及提供基本的内部表征转换不变性来减少计算量。最大池是通过将最大过滤器应用于通常不重叠的初始表征子区域来完成的。

6、批量标准化

当然,包括深度网络在内的神经网络需要仔细调整权重初始值和学习参数。批量标准化能够使这个过程更加简单。

权重问题:

  • 无论怎么设置权重初始值,比如随机或按经验选择,初始权重和学习后的权重差别都很大。考虑一小批权重,在最初时,对于所需的特征激活可能会有很多异常值。
  • 深度神经网络本身就具有病态性,即初始层的微小变化就会导致后一层的巨大变化。

在反向传播过程中,这些现象会导致梯度的偏移,这就意味着在学习权重以产生所需要的输出之前,梯度必须补偿异常值。而这将导致需要额外的时间才能收敛。

走心整理——十个常用深度学习算法

批量标准化将这些梯度从异常值调整为正常值,并在小批量范围内(通过标准化)使其向共同的目标收敛。

学习率问题:

  • 通常来说,学习率都比较小,这样只有一小部分的梯度用来校正权重,因为异常激活的梯度不应该影响已经学习好的权重。
  • 通过批量标准化,这些异常激活的可能性会被降低,就可以使用更大的学习率加速学习过程。电动叉车轮胎

7、长短期记忆

长短期记忆网络(LSTM)和其他递归神经网络中的神经元有以下三个不同点:

  • 它可以决定何时让输入进入神经元
  • 它可以决定何时记住上一个时间步中计算的内容
  • 它可以决定何时让输出传递到下一个时间戳 LSTM的强大之处在于它可以只基于当前的输入就决定上述所有。请看下方的图表:

走心整理——十个常用深度学习算法

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读