1.1.4 【Deep Learning翻译系列】Why is Deep Learning Taking off? 深度学习为什么近年取得很大的成功?

原视频网站

如果深度学习背后的基础理论已经存在了数十年,为什么他们只是刚刚起飞呢?

在本视频中,我们来回顾一下深度学习兴起背后的一些主要驱动因素。

1、数据体量的增加使得神经网络能够发挥优势

过去几年,很多人问我:为什么深度学习奏效?当他们问这个问题时,我通常给他们画这样一条曲线。

横轴表示任务的数据量,纵轴表示学习算法的性能,比如垃圾邮件分类准确性、广告的准确性,点击预测器的准确性,或自驾车接受呼叫位置的准确性。


事实证明,如果您绘制传统学习算法性能(如支持向量机、逻辑回归)关于数据量的曲线,那么您可能会得到一条看起来像这样的曲线,其中性能提高了一段时间,因为你增加了更多的数据。但经过一段时间的表现,你知道几乎是平稳的,因为知道他们不知道如何处理大量的数据。

过去10年来,我们社会进入大数据时代,很多命题也随之产生。所有这一切都归功于一个社会的数字化,在这个社会中,人类活动如此之多,现在我们在数字领域花费了很多精力在移动应用程序网站的计算机上。数字设备上的活动创造了数据,并且由于廉价相机的兴起,在我们的手机加速器中内置了物联网中的各种传感器,我们也收集了越来越多的数据。

所以在过去的20年中,在许多应用中,我们积累了比传统学习算法能够有效利用更多的数据,因此神经网络的优势便体现出来。

如果您训练一个小的神经网络,曲线可能是黄线所表示的那样;如果你训练一个更大的神经网络,这个神经网络被称为中等规模的神经网络,那么它的性能会好一些,如蓝色的线。如果你训练一个非常大的神经网络,效果往往会越来越好,如同绿线。


所以如果你想达到这样高水平的性能,那么你需要两件事:首先你需要能训练一个足够大的神经网络;第二,你需要大量数据,所以我们经常说数据的规模一直在推动深度学习的进展。我的意思是说,如果要达到高水平的性能,我们需要提升的是神经网络的大小(设计一个有很多隐藏单元,很多参数,很多连接的新网络)以及数据规模。

实际上,今天在神经网络中获得更好性能的最可靠的方法,通常是训练一个更大的网络,或者投入更多的数据,并且只能达到其中某一点。因为最终你的数据用完了,或者最终你的网络非常庞大,需要花很长时间才能进行培训。但是仅仅提高数据规模已经让我们在深度学习中走了很长一段路。

为了使这张图在技术上更加精确一些,并且x轴上添加了更多的东西。从技术上讲,x是标签数据的数量。在训练的样本中,我们同时具有输入X和标签Y。

我介绍了稍后在本课程中使用的一些符号。我们将使用小写字母来表示我的训练集的大小或者训练样例的数量(例如这个小写字母m)。在这个较小训练集的情况下。算法的相对性能实际上并没有很好的定义,所以如果你没有很多训练数据,通常取决于你使用分类器的技巧。所以很有可能如果训练支持向量机的人更有能力去手工设计特征,并且训练集比较多,那么SVM可能会做得更好。因此传统算法之间的相对性能并没有被很好地定义,性能更多依赖于您在特征工程方面的技能以及算法的其他可变细节。

而且只有在这个大数据区域内,非常大的训练集才会有很大的m区域,我们更一致地看到主要是神经网络超过其他方法。所以,如果你的任何朋友问你为什么神经网络起飞,我会鼓励你为他们画这张图。我会说,在现代深度学习兴起的早期,是大数据的产生,和在CPU或GPU上训练非常大的神经网络的能力,使我们取得了很大的进步。但特别是在过去几年里,我们也看到了巨大的算法创新,所以我也不想低估这一点。

有趣的是,许多算法创新一直致力于使神经网络运行得更快,所以作为一个具体的例子,网络中的重大突破之一就是从看起来像这样的Sigmoid函数切换到看起来像这样的ReLU函数。如果你不明白其中的细节,不要担心。但事实证明,使用Sigmoid函数在机器学习中的问题之一是,在这里这些函数的斜率梯度几乎为零的区域,所以学习变得非常慢。因为当你实现梯度下降和梯度为零时,参数变化非常缓慢,因此学习非常缓慢。而通过改变称为激活函数的神经网络来使用称为ReLU(整流线性单位)的值函数的函数,对于输入权的所有正值,梯度等于1,因此梯度更不可能逐渐收缩为零。在这里,这条线的斜率在左边为零,但事实证明,只要从Sigmoid函数切换到ReLU函数,就可以使称为梯度下降的算法工作得更快。


所以这是一个可能相对简单的算法进展的例子,但最终这个算法创新的影响是它确实有助于计算,所以在这个领域有很多例子,比如我们改变算法的地方,因为它允许代码运行得更快,这使得我们可以训练更大的神经网络,或者甚至当我们需要一个包含所有数据的大型网络时也可以这样做。

快速计算的另一个重要原因是,它使得训练你的网络的过程非常迅速。通常你有一个神经网络架构的想法,所以你实现你的想法的代码,然后让你运行一个实验说明你的神经网络有多好,然后通过查看它,你可以回过头来改变你的新网络的细节,然后你反复重复这个过程。当你的新网络需要很长时间来训练时,这个周期需要很长时间才能完成,并且当你有一个想法并尝试并看到工作时,建立有效神经网络的效率就会有很大的差异:在十分钟内,或者一天,有时会是一个月。如果你在十分钟或一天之内得到一个结果,你能够尝试更多的想法,并且更能发现适用于您的应用的神经网络。


所以更快的计算对于加速实验结果的回归速度非常有帮助,这实际上帮助神经网络的从业者和深入学习的研究人员迭代得更快,并且提高了您的想法更快。所有这一切对整个深度学习研究界来说都是巨大的利益,只要你发明新的算法,并且在这方面取得不间断的进展,这一切都令人难以置信。所以这些是推动深度学习兴起的一些力量。

好消息是,这些力量仍然有力地使深度学习变得更好。科技数据社会仍然在生成更多的数字数据,并且随着像GPU这样的专用硬件的崛起以及更快的网络和许多类型的硬件而进行计算。实际上,我非常确信,我们能够做出非常大的神经网络,或者从计算的角度来看,它们会不断变得更好,并且在算法前沿创新的过程中不断发展。正因为如此,我们可以乐观地认为,深度学习将在未来的许多年继续得到改善。让我们继续阅读该部分的最后一段视频,在那里我们将多谈一点关于你从这门课程中学到的东西。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章