飞艇微信群

当前位置:主页首页 > 学习方法 > >

【干货】AI 实践者需要掌握的10大深度学习方法:反向传播、迁移

来源::网络整理 | 作者:管理员 | 本文已影响

阿里云云栖社区:https://yq.aliyun.com/webinar/play/316?spm=5176.8067841.wnnow.14.ZrBcrm

新智元编译

来源:towardsdatascience.com

编译:马文 文强

【新智元导读】本文总结了10个强大的深度学习方法,包括反向传播、随机梯度下降、学习率衰减、Dropout、最大池化、批量归一化、长短时记忆、Skip-gram、连续词袋、迁移学习等,这是AI工程师可以应用于他们的机器学习问题的。

过去10年,人们对机器学习的兴趣激增。几乎每天,你都可以在各种各样的计算机科学课程、行业会议、华尔街日报等等看到有关机器学习的讨论。在所有关于机器学习的讨论中,许多人把机器学习能做的事情和他们希望机器学习做的事情混为一谈。从根本上讲,机器学习是使用算法从原始数据中提取信息,并在某种类型的模型中表示这些信息。我们使用这个模型来推断还没有建模的其他数据。

神经网络是机器学习的一种模型,它们至少有50年历史了。神经网络的基本单元是节点(node),基本上是受哺乳动物大脑中的生物神经元启发。神经元之间的连接也以生物的大脑为模型,这些连接随着时间的推移而发展的方式是为“训练”。

在20世纪80年代中期和90年代初期,许多重要的架构进步都是在神经网络进行的。然而,为了得到好的结果需要大量时间和数据,这阻碍了神经网络的采用,因而人们的兴趣也减少了。在21世纪初,计算能力呈指数级增长,计算技术出现了“寒武纪大爆发”。在这个10年的爆炸式的计算增长中,深度学习成为这个领域的重要的竞争者,赢得了许多重要的机器学习竞赛。直到2017年,这种兴趣也还没有冷却下来;今天,我们看到一说机器学习,就不得不提深度学习。

作者本人也注册了Udacity的“Deep Learning”课程,这门课很好地介绍了深度学习的动机,以及从TensorFlow的复杂和/或大规模的数据集中学习的智能系统的设计。在课程项目中,我使用并开发了用于图像识别的卷积神经网络,用于自然语言处理的嵌入式神经网络,以及使用循环神经网络/长短期记忆的字符级文本生成。

本文中,作者总结了10个强大的深度学习方法,这是AI工程师可以应用于他们的机器学习问题的。首先,下面这张图直观地说明了人工智能、机器学习和深度学习三者之间的关系。

【干货】AI 实践者需要掌握的10大深度学习方法:反向传播、迁移

人工智能的领域很广泛,深度学习是机器学习领域的一个子集,机器学习又是人工智能的一个子领域。将深度学习网络与“经典的”前馈式多层网络区分开来的因素如下:

比以前的网络有更多的神经元

更复杂的连接层的方法

用于训练网络的计算机能力的“寒武纪大爆炸”

自动特征提取

这里说的“更多的神经元”时,是指神经元的数量在逐年增加,以表达更复杂的模型。层(layers)也从多层网络中的每一层都完全连接,到在卷积神经网络中层之间连接局部的神经元,再到在循环神经网络中与同一神经元的循环连接( recurrent connections)。

深度学习可以被定义为具有大量参数和层的神经网络,包括以下四种基本网络结构:

无监督预训练网络

卷积神经网络

循环神经网络

递归神经网络

在本文中,主要介绍后三种架构。基本上,卷积神经网络(CNN)是一个标准的神经网络,通过共享的权重在空间中扩展。CNN设计用于通过内部的卷积来识别图像,它可以看到图像中待识别的物体的边缘。循环神经网络(RNN)被设计用于识别序列,例如语音信号或文本。它的内部有循环,这意味着网络上有短的记忆。递归神经网络更像是一个层级网络,在这个网络中,输入必须以一种树的方式进行分层处理。下面的10种方法可以应用于所有这些架构。

1. 反向传播

反向传播(Back-prop)是一种计算函数偏导数(或梯度)的方法,具有函数构成的形式(就像神经网络中)。当使用基于梯度的方法(梯度下降只是方法之一)解决优化问题时,你需要在每次迭代中计算函数梯度。

【干货】AI 实践者需要掌握的10大深度学习方法:反向传播、迁移

对于神经网络,目标函数具有组合的形式。如何计算梯度呢?有两种常用的方法:(i)解析微分(Analytic differentiation)。你已经知道函数的形式,只需要用链式法则(基本微积分)来计算导数。(ii)利用有限差分进行近似微分。这种方法在计算上很昂贵,因为函数值的数量是O(N),N指代参数的数量。不过,有限差分通常用于在调试时验证back-prop实现。

2. 随机梯度下降法

一种直观理解梯度下降的方法是想象一条河流从山顶流下的路径。梯度下降的目标正是河流努力达到的目标——即,到达最底端(山脚)。

现在,如果山的地形是这样的,在到达最终目的地之前,河流不会完全停下来(这是山脚的最低点,那么这就是我们想要的理想情况。)在机器学习中,相当从初始点(山顶)开始,我们找到了解决方案的全局最小(或最佳)解。然而,可能因为地形的性质迫使河流的路径出现几个坑,这可能迫使河流陷入困境。在机器学习术语中,这些坑被称为局部极小值,这是不可取的。有很多方法可以解决这个问题。

【干货】AI 实践者需要掌握的10大深度学习方法:反向传播、迁移

因此,梯度下降很容易被困在局部极小值,这取决于地形的性质(用ML的术语来说是函数的性质)。但是,当你有一种特殊的地形时(形状像一个碗,用ML的术语来说,叫做凸函数),算法总是保证能找到最优解。凸函数对ML的优化来说总是好事,取决于函数的初始值,你可能会以不同的路径结束。同样地,取决于河流的速度(即,梯度下降算法的学习速率或步长),你可能以不同的方式到达最终目的地。这两个标准都会影响到你是否陷入坑里(局部极小值)。

3. 学习率衰减

【干货】AI 实践者需要掌握的10大深度学习方法:反向传播、迁移


分享到: 更多

热榜阅读TOP

本周TOP10

制订学习计划的基本准则

制订学习计划的基本准则

制订学习计划要科学、周密、切实可行,既讲究原则性,又具有一定的灵活性,不要让计划成为纸上谈兵。 制...