你可能在日常生活中遇到过深度学习。无论是看似使用真实视觉的无人驾驶汽车,将你的文本翻译成近乎完美的法语的浏览器应用程序,还是在几秒钟内让你老去几十年的愚蠢但令人印象深刻的移动应用程序,神经网络和深度学习无处不在。在本文中,我们将介绍深度学习神经网络的所有重要方面。

什么是深入学习?

鉴于所有新发现的炒作围绕深度学习,你被原谅思考神经网络是最近的创新。事实上,我们可以追溯到60多年。1957年,先锋心理学家弗兰克罗森博尔特建造了一个可以区分不同形状和字母的图片的分类器。那个机器的怪物被称为“感知者。”

Perceptron已经实施了数学模型以模仿人脑神经细胞的活性(即神经元)。每当其相邻电池的累积活动达到一定阈值时,神经元被激活。在神经网络中,这通过使用激活功能和电池之间的加权连接来模仿。

然而,与脑细胞不同,感知者仅由一层神经元组成,因此具有有限的能力。直到20世纪70年代,研究人员开始用几层建立神经网络,其中几层互相提出信息。层叠的堆叠导致我们对这些网络的概念具有“深度”。我们现在知道深度网络远比浅薄的网络更强大。

然而,人工智能爱好者不得不等到新千年,才能真正利用这些深度网络的能力。廉价计算能力的出现,以及互联网上巨大的数据仓库,为神经网络提供了肥沃的土壤,最终实现了它们长久以来的承诺。那时我们进入了深度学习的黄金时代。

深度学习是如此伟大?

我们的小历史课外,神经网络实际上非常重要吗?简而言之,他们解决了其他AI模型不能的问题。

自然语言处理(NLP)就是一个很好的例子。产生和理解语言对我们人类来说是很自然的事情。只有当我们试图为自己的语言设计一个正式的模型时,我们才会意识到语言系统是多么的复杂。一个基于规则的AI怎么可能解释所有我们从未使用过的句子和单词呢?

大多数机器学习应用程序,如树的分类器或支持向量机真正仅适合处理表格数据。语言数据,非结构化,是一个完全不同的野兽。

进入深度学习语言模型。再加上充足的训练数据、复杂的学习算法和每秒能处理数百万次计算的硬件,幸运的是,机器现在能够产生听起来很自然的语言。今天,神经网络产生的翻译足够准确,导致大规模重组作者:王莹,翻译产业

NLP只是神经网络大大提高了棒的众多领域之一。今天,作为癌症诊断,股票市场分析和娱乐业依赖深入学习算法的地区。虽然神经网络和深度学习不是一定规模的所有人,但它们为广泛的应用程序提供了一个非常不错的架构目录。

有什么样的神经网络架构?

在一个如此对于各种行业承诺的区域,它应该毫不奇怪的是,研究在光速下发展,越来越聪明,较快的实施。所有大型科技公司现在都雇用了深度学习专家,他们似乎处于Neverning - 虽然高效 - 竞争。让我们看看一些神经网络架构,使其成为深入学习的名声。

但为什么我们甚至将深度学习模型称为“架构”?原因是我们将这些模型概念化为图:互相堆叠的互连神经元的层。不同类型的神经网络模型采用某些层层和连接模式。我们可以将它们视为不同的架构范式。

卷积神经网络

卷积神经网络(CNN)是具有深入学习的计算机愿景的原型网络。它是由Yann Lecun等人构思的。1998年,在“艾的第二次冬天”结束时。在此时代,在深度学习的信任以及对该领域的研究资金,稀缺。今天,CNNS几乎在神经网络上几乎所有初学者的课程。事实上,最深入的学习启动通过实施某种卷积神经网络开始。

通过扫描图像 - 或其他类型的二维输入 - 使用各种滤波器来工作。这些过滤器检测数据中的模式,它们传递到网络的更高级别的层。然后,隐藏的图层修改并聚合了向其馈送的信息,目标是降低原始输入的复杂性。

例如,在图像识别中,由大量不同像素组成的复杂输入需要映射到单个输出,例如图像所属的类。这样的任务需要大量的抽象 - 正是CNNS Excel at。

经常性神经网络

经常性神经网络rnn通常用于处理序列,如书面语言或DNA字符串。在RNN中,单个神经元执行处理整个序列的任务,一个字一个字,一个字母一个字母,一个核苷酸一个核苷酸。重要的是,它记住了之前的状态,并在计算当前状态时包含了它。

RNN的这种顺序性质带来了几个问题。例如,在训练期间,通过朝向高端或低极值(称为消失或爆炸梯度问题),优化功能可能变得无用。

另一个常见的问题是复发性网是一种类似健忘症的情况。当网络处理一个长序列的每个元素时,以前处理过的元素会随着时间的推移失去它们的影响。一旦网络读取了序列的最后一个元素,它往往会忘记它在开始时处理过的元素。

多年来,深入学习研究人员推出了几种更新版本的RNN,可以为这些问题进行弥补。然而,如今,经常性的神经网络通常被基于关注的网络所取代,如变压器。

变压器

这听起来像一个无敌的超级英雄,有些人会争辩说这是一个准确的描述变压器。这个架构基于一种叫做“注意力”的技术。“除了按顺序处理字符串之外,注意力机制只关注那些真正携带信息的输入方面。这与人类处理数据的方式类似:我们不是一次性接收所有信息,而是学会将注意力集中在选定的部分,忽略其余部分。

2017年,谷歌的人工智能研究团队发表了一篇现在颇具传奇色彩的论文,题为《注意力是你所需要的一切》。正如其标题所言,transformer架构摒弃了计算上昂贵的RNN单元,取而代之的是一种名为“自我关注”的机制。“这使得神经网络的训练速度更快,预测也更准确。目前,变压器是NLP应用最多的电源。

生成的对抗网络

如果您可以构建两个网络互相培训的网络,而不是喂它们数据,他们会产生它?这是对抗性学习和相应的神经结构背后的想法,生成的对抗网络(GANS)。在A.Quora会话与Yann Lecun,Facebook的AI集团负责人称为对抗性学习“在过去10年中最有趣的想法”。

神经网络如何学习?

让我们说我们有我们的数据和我们的架构。但是神经网络如何实际学习?当然,通过使用数学。每台机器学习应用程序都会通过丢失或误差函数的组合和优化算法学习。损失函数告诉模型的预测来自真实值的距离,而优化功能旨在学习更准确地表示数据的基础分布。

现在请记住,深度神经网络由许多相互连接的节点组成。如果我们的网络错误分类给定的图片,我们如何告诉网络的各种节点和边缘 - 所有这些都可能是同性量的错误 - 他们集体搞砸了?这个问题的答案在于反向传播算法(通常简称为backprop)。

与其他优化函数一样,backprop使用微分来最小化模型的误差并更新其权重。它的聪明之处在于它在网络中向后移动,使用每一层的结果来更新它下面的一层。

我如何建立自己的神经网络?

要实现神经网络体系结构,您只需要几样东西:框架、计算能力和数据。一旦你想要训练神经网络,让它超越像手写数字识别这样的简单任务,你就需要访问图形处理单元(GPU)。一个免费的选择是谷歌的Colab,一个基于云的平台,可让您使用GPU(或更强大的TPU),一次培训您的型号长达12小时。

另一方面,数据集可广泛可用,例如Kaggle平台。请记住,当涉及神经网络时,越多越多。对于建立您的网络,您最有可能不想设计自己的神经元和层 - 这就是框架的适用权。看看我们的博客帖子在pytorch与纹orflow.为了帮助您确定哪个图书馆更适合您的目的。

开始你的深度学习之旅

掌握神经网络和深度学习是成为机器学习工程师的必不可少的。这个令人兴奋的领域将继续生产应用程序,使我们的生活更加容易。注册我们深度学习Nanodegree188金宝搏安不安全开始制作历史。

开始学习