深度学习已经登上了数据科学界的顶峰,而我们才刚刚开始

概览

从 Facebook 的研究到 DeepMind 的传奇算法,深度学习已经登上了数据科学界的顶峰。它带来了惊人的创新、令人难以置信的突破,而我们才刚刚开始!

但是,如果您是该领域的新手,“深度”一词可能会让您产生怀疑。深度学习是当今这个行业最热门的话题之一,但不幸的是,它对大多数人来说是陌生和神秘的。很多人的印象是深度学习涉及大量的数学和统计数据。

如果您有关于深度学习的类似问题,但不知道如何、何时或在何处提问,那么您来对地方了。本文回答了您想知道的大部分内容。

在这篇文章的最后,我们将消除一些关于深度学习的迷思,并回答一些关于该领域的广泛提问。我们也有大量资源可以帮助他们开始。

这是令人兴奋的部分 – 并不像大多数人想象的那么难。继续阅读,您会发现更多!

目录

什么是深度学习,为什么现在如此流行?

深度学习只是近年来显示出令人难以置信的前景的机器学习范式之一。这是因为深度学习与人脑的功能有很多相似之处。人脑的优越性是一个显而易见的事实,它被认为是有史以来最有创意、最通用和最有效的自主学习模型。

现在,举个例子来了解深度学习模型的能力:

你在上图中看到了什么?

最明显的答案是“汽车”,对吗?尽管有沙子、绿色植物、云朵和许多其他东西,但我们的大脑将这张图片标记为汽车。这是因为我们的大脑已经学会识别图像的主题。

这种从大量外生数据中提取有用信息的能力使深度学习变得与众不同。随着数据量的不断增加,我们希望我们的模型能够做得更好,也有更多的数据进来。深度学习模型会随着数据量的增加而变得更好。

尽管深度学习已经存在多年,但这些技术的重大突破只是在最近几年。这是因为两个主要原因 – 正如我们之前看到的,第一个是通过各种来源生成的数据的增加。下面的信息图简洁地说明了这一趋势。第二个问题是运行这些模型所需的硬件资源的增长。 GPU 正在成为运行深度学习模型比以前快数倍的要求,它们帮助我们在相对较短的时间内构建更大、更深入的学习模型。

这就是深度学习成为数据科学行业流行词的原因。

深度学习是炒作还是实际应用?

近年来,深度学习有很多实际应用。从 Netflix 著名的电影推荐系统到 Google 的自动驾驶汽车,深度学习已经在改变许多企业,并有望彻底改变几乎所有行业。从诊断癌症到赢得总统选举,从创作艺术和写作文学到赚取现实生活中的钱,深度学习模型正在被应用到一切。所以说这只是一个炒作的话题是错误的。

技术公司正在采用的深度学习的一些关键应用包括:

但是,有些人认为深度学习被夸大了,因为训练深度学习模型所需的标记数据并不容易获得。即使有数据,训练这些模型所需的计算能力也是昂贵的。因此,由于这些障碍,人们无法体验深度学习的力量并称之为炒作。

可以通过以下博客构建一些现实生活中的深度学习应用程序:

深度学习和机器学习有什么区别?

这是我们大多数人需要了解的最重要的问题之一。这种比较主要可以在以下三个垂直点上进行:

数据依赖

深度学习与传统机器学习最重要的区别在于,随着数据量的增加,机器学习的性能也会随之增加。当数据量较小时,深度学习算法的表现不佳。这是因为深度学习算法需要大量数据才能完全理解它。此时,传统的机器学习算法和人工规则占上风。下图总结了这一事实。

特征工程

特征工程是将专业知识应用于特征提取器以降低数据复杂性并使模型更直观地学习算法的过程。就时间和专业知识而言,此过程困难、耗时且昂贵。

在机器学习中,大多数应用程序的特征需要由专家识别,然后根据领域和数据类型手工编码。

例如,特征可以是像素值、形状、纹理、位置和方向。大多数机器学习算法的性能取决于识别和提取特征的准确性。

深度学习算法尝试从数据中学习高级特征。这是深度学习的一个非常独特的部分,比传统的机器学习更进一步。因此,深度学习减少了为每个问题开发新特征提取器的任务。例如,卷积神经网络将尝试学习低级特征,例如层的边缘和线,然后是人脸的部分,最后是人脸的高级表示。

可解释性

最后,我们将可解释性作为比较机器学习和深度学习的一个因素。这个因素是深度学习需要十倍思考才能应用于工业的主要原因。

例如。假设我们使用深度学习对文章进行自动评分。它在得分方面的表现相当不错,接近人类的表现。但有一个问题。它没有说明为什么给出这个分数。事实上,在数学上,你可以找出深度神经网络的哪些节点被激活,但我们不知道神经元应该建模什么,以及这些神经元层一起在做什么。所以我们无法解释结果。

另一方面,机器学习算法(如决策树)为我们提供了明确的规则来说明它为什么选择它,因此解释其背后的原因特别容易。因此,决策树和线性/逻辑回归等算法主要用于工业可解释性。

如果您想更深入地比较机器学习和深度学习,建议您浏览以下博客:

进一步学习的先决条件是什么?

开始探索深度学习并不像人们想象的那么难。在潜入之前,您应该了解一些基本的基础知识。进一步学习需要了解以下主题:

· 数学:你应该了解概率、导数、线性代数和其他一些基本问题。可汗学院提供涵盖上述几乎所有主题的系统课程。

· 统计学:任何机器学习问题都需要统计学基础。了解统计学的概念是很有必要的,因为深度学习的大部分概念都来源于统计学的概念。您可以在此处查看在线课程。

工具:将深度学习应用于现实生活中的问题需要良好的编码技能。 Coursera 的“Python 数据科学简介”是一门以 Python 为工具的综合课程。

·机器学习:机器学习是深度学习的基础。如果不了解机器学习的概念,就无法开始深度学习。您可以从机器学习课程开始:Andrew Ng 机器学习理论基础。

有关先决条件的更多详细信息,请参见下文

我是否需要博士学位才​​能开始深度学习的职业生涯?

完全没有必要,博士学位。深度学习不需要。您无需上大学即可学习、实验和开始您的职业生涯。任何工作或职位的重点通常是展示你的能力,而不是你的学位本身。

话虽如此,如果您选择将其与深度学习相结合,特定领域的博士学位(如 NLP 语言学)肯定会加快您的学习速度。

我应该选择哪种工具/语言来构建深度学习模型?

建议您使用 Python,因为它具有强大的机器学习生态系统。 python 生态系统由为 python 用户社区提供开源库和支持的开发人员和程序员组成。这使得为​​各种算法编写复杂代码以及实现和试验技术的任务变得更加容易。

同时,Python 是一种更通用的编程语言,可用于开发和实现。这大大简化了从开发到运营的过渡。也就是可以预测机票价格的深度学习产品c语言学习遇到的问题及解决方案,不仅可以用python开发,还可以同形式连接到你的网站。这就是 Python 是通用语言的原因。

除此之外,我向初学者推荐像 Keras 这样的高级库。这使得实验更容易,因为它为隐藏在算法中的不必要信息提供了抽象。并允许访问可以调整的参数以提高此类模型的性能。让我们举个例子来理解这一点:

当您按下电视遥控器上的按钮时,您是否需要关注遥控器内部发生的后台进程?您是否需要知道按下该键时会发送什么信号,或者它是如何被放大的?

不需要吧?

因为也许物理学家需要了解这些过程,但对于坐在卧室里的跛子来说,这只是一种信息负载。

在深度学习领域,除了Python,还有R、Julia、C和Java等其他竞争对手。对于库替代方案,您可以查看 TensorFlow、Pytorch、Caf 2、DL4J 等。我们还应该了解它们的最新发展。

如果你对编程不是很熟悉,也有基于GUI的软件可以不用写代码就可以构建深度学习模型,比如LOB或者谷歌的AutoML等。

为什么构建深度学习模型需要 GPU?

当您训练深度学习模型时,会执行两个主要操作:

在前向传递中,输入通过神经网络,处理输入后产生输出。在反向传播中,我们根据前向传播的误差来修改神经网络的权重。

这两种运算本质上都是矩阵乘法。一个简单的矩阵乘法可以用下图表示

这里我们可以看到第一个数组第一行的每个元素都乘以第二个数组的第一列。因此,在神经网络中,我们可以将第一个数组作为神经网络的输入,将第二个数组作为网络的权重。

这项任务似乎并不难。现在你觉得深度学习怎么样——VGG16(16个隐藏层的卷积神经网络是一个常用的深度学习应用),它有1.4亿个参数; AKA 权重和偏差。现在想想所有的矩阵乘法,你只需向这个网络提供一个数组!如果我们按照传统方法,训练这样一个系统需要数年时间。

我们注意到神经网络的计算密集部分由多个矩阵乘法组成。那么我们怎样才能更快呢?

我们只需要同时做所有事情,而不是一个接一个。简而言之,这就是我们使用 GPU(图形处理单元)而不是 CPU(中央处理单元)来训练神经网络的原因。

图片[1]-深度学习已经登上了数据科学界的顶峰,而我们才刚刚开始-老王博客

何时(何处)应用神经网络?

深度学习已成为关注的焦点之一。它的“更深”版本在图像识别、语音和自然语言处理等领域取得了巨大突破。

既然我们知道它的影响力如此之大,那么主要的问题就出现了:何时以及何时不应用神经网络?该领域现在就像一个金矿,每天都有许多发现。要成为这场“淘金热”的一部分,您必须记住以下几点:

我们是否需要大量数据来训练深度学习模型?

确实,我们需要大量数据来训练一个典型的深度学习模型。然而,我们通常可以通过使用所谓的迁移学习来克服这个问题。让我详细解释一下。

在工业应用中使用深度学习模型的障碍之一是数据量少。训练一些流行的深度学习模型所需的数据示例如下:

谷歌的神经机器翻译

VGG 网络

深度视频

目标

文字翻译

图片分类

视频分类

数据量

六百万英法句子对

120 万张带有类别标签的图片

110 万个带有类别标签的视频

参数

380M

140M

约100M

但是,即使数据量不是很大c语言学习遇到的问题及解决方案,针对特定任务的深度学习模型也可以用于同一领域的不同问题。这种技术称为迁移学习。

例如,我们有一组 1000 张猫和狗的图像,标记为 1 和 0(猫 1,狗 0),我们还有另一组需要分类的 500 张测试图像。所以在对 1000 张图像的数据进行深度学习时,我们可以使用预训练的 VGGNet 模型重新训练数据,并使用它对未标记的图像集进行分类。在您的应用程序中,预训练的模型可能不是 100% 准确,但它充分利用了世界上最好的东西并节省了大量工作。

您可以查看这篇文章,以更好地直观地使用预训练模型。

在哪里可以找到练习深度学习的基本项目想法?

要想实践深度学习,想法是不够的。我们还需要标记数据来测试我们的想法是否可以使用深度学习来实现。

1. 对于初学者,强烈建议开始使用 MNIST 数据。该数据集包含手写数字及其实际标签,即 0 到 9 之间的数字。您甚至可以在识别数字竞赛中评估您的模型。

2. 年龄检测挑战赛对于中级用户来说是一个很棒的项目。该数据集由印度电影演员的面部图像组成。任务是根据一个人的面部特征来预测他或她的年龄。为简单起见,将这个问题转化为多类问题,分为青年、中年、老年三类。

您还可以参考令人兴奋的深度学习数据集和问题列表。

深度学习的免费学习资源有哪些?

作为一项相对较新的技术,没有足够的内容和教程可供初学者使用。然而,与深度学习相关的免费内容和资源正在稳步增加。学习资源可以根据深度学习的不同应用进行分类。

1. Andrew Ng 的卷积神经网络

2. 卷积神经网络的架构理解

3. 卷积神经网络初学者指南

4. 机器学习很有趣!第三部分:深度学习和卷积神经网络

5.基于深度卷积神经网络的图像网络分类

6.R-CNN

7. 深度卷积

1.吴恩达的序列模型

2.深度学习要点:长短期记忆简介

3.循环神经网络的不合理有效性

4. 了解 LSTM 网络

5. 循环神经网络和 LSTMS

1.自然语言处理的深度学习

2.单词和短语的分布式表示及其组成

3.基于神经网络的序列学习

4. 深度语音:扩展端到端语音识别

此外,以下博客提供了额外的资源列表:

深度学习领域的常见问题?

深度学习中可能会问到的一些常见问题是:

1. 深度学习模型如何学习?

2. 深度学习模型的局限性是什么?

3.前馈神经网络和递归神经网络有什么区别?

4.什么是激活函数,为什么需要它们?

5. 什么是 CNN?它有哪些应用?

6. 什么是池化?它是如何工作的?

7.什么是dropout层,为什么要使用它?

8. 什么是梯度消失问题,我们如何克服它?

9. 什么是优化函数?列出几个常用的优化函数。

请注意,这并不是一份详尽的面试问题清单。您可以通过以下技能测试来测试深度学习中的重要问题。

深度学习的未来是什么?

近年来,深度学习取得了长足的进步,但仍有很多未开发的潜力。我们还处于这个领域的早期阶段,似乎每天都有新的突破。我们肯定会看到的应用之一是汽车行业,其中深度学习可以通过启用自动驾驶汽车来彻底改变驾驶。虽然我们没有预测未来的水晶球,但我们可以看到,深度学习模型需要的人类数据科学家和研究人员越来越少。

在不久的将来,我们一定会看到一个趋势,即深度学习知识将成为每个数据科学从业者的必备技能。其实你一定注意到最近出现了一个叫“深度学习工程师”的职位。此人负责部署和维护公司各个部门使用的深度学习模型。不用说,这个行业对这样的人的需求会很大。

目前,深度学习的一个限制是它可以完成人类要求它做的所有事情。它需要大量数据来了解其目标并复制它。这会导致某些应用程序出现偏差。我们可以看到,随着时间的推移,这种改进允许在训练期间消除一些偏差。

随着时间的推移,我们甚至可能不再将深度学习与其他类型的学习区分开来。它将成为一个受欢迎和常用的领域,不需要特殊的品牌、营销或促销活动。

在很多情况下,在训练了 DL 模型之后,研究人员仍然无法解释其背后的“原因”。 “它产生了很好的结果,但你为什么要以某种方式调整超参数呢?”希望随着深度学习的快速发展,我们将看到这个“黑匣子”概念成为过去,我们可以解释其决策背后的直觉。

尾注

这些是我们门户网站或其他网站上最常见问题的答案,以及想要加入深度学习潮流的人希望看到的答案。

关于深度学习,您有什么需要澄清的吗?使用下面的评论部分提出问题;或跳转到我们的讨论门户,我们会提供帮助!

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论