深度学习的过去,现在和未来
深度学习技术最初开始于20世纪40年代,深度学习是为了模拟大脑中发现的神经网络,但在过去的十年中,3个关键发展释放了它的潜力。
深度学习正在爆炸式增长。据Gartner称,深度学习专家的开放职位数量从2014年的几乎为零增加到今天的41000。这种增长的大部分是由Facebook,苹果,Netflix,微软,谷歌和百度等高科技巨头推动的。
这些大玩家和其他人在深度学习项目上投入巨资。除聘请专家外,他们还资助深度学习项目和实验,并收购深度学习相关公司,而这些投资只是开始。Gartner预测,到2018年,80%的数据科学家将使用深度学习工具。
深度学习技术是为了模拟大脑中的生物神经网络,于20世纪50年代与第一台计算机一起出现。因此,如果计算机和深度学习一起开始发展,为什么深度学习现在才到达主流计算机用户?
图形处理单元(GPU)提供的处理能力增加,大量可用数据以及更高级算法的开发,导致了深度学习的兴起。
深度学习的现状
深入的学习就在我们身边。它用于确定要实时显示哪些在线广告,识别和标记照片中的朋友,将语音翻译为文本,将文本翻译成网页上的不同语言,并驱动自动驾驶车辆等等。
深入学习也可在不太明显的地方找到。银行使用深度学习进行欺诈检测;企业用它来预测你是否会取消订阅并提供个性化的客户推荐;银行利用它来预测破产和贷款风险;医院使用它来检测,诊断和治疗疾病。
应用范围几乎是无限的。其他选项包括文本分析,图像标题,图像着色,X射线分析,天气预报,财务预测等。深度学习已被广泛用于自动化流程,提高性能,检测模式并解决问题。
什么是深度学习?
深度学习属于人工智能(AI)子集的机器学习领域。松散定义的人工智能包含模拟人类能力的技术,而机器学习算法学习并适应新事件。
深度学习是使用人工神经网络(ANN)算法的技术术语。专家认为深度学习和人工神经网络是相同的,并且可以互换使用这些术语。就像大脑中的神经网络一样,人工神经网络具有通过突触(链接)相互连接的神经元(节点)。每个节点接收数据,执行操作,并通过链接将新数据传递给另一个节点。链接包含影响下一个节点操作的权重或偏差。
为了说明节点和链接的作用,想象一家公司想要预测客户是否会根据两个预测因素(性别和年龄)续订订阅。该公司的神经网络有两个输入节点,一个用于每个预测器,通过单独的链路连接到一个输出节点。性别和年龄值被输入到输入节点。这些值在链接中乘以预设权重。如果年龄恰好是比性别更好的预测指标,那么发送年龄数据的链接将具有更高的权重。
输出节点添加来自输入节点的加权数据并生成一个值,这相当于一个预测。在这个简化的示例中,该值可以介于0和1之间。值越接近1,客户更有可能续订订阅。
在一个真实的项目中,人工神经网络可能包含数千个节点和数十亿个链接。每个节点属于一个层,它是一组节点。输入图层,输出图层和两者之间的图层被称为隐藏图层。添加节点,链接和图层可提高ANN的准确性。
培训的作用。人工神经网络一旦建成,就需要大量的“训练”才能很好地工作。未经训练的人工神经网络将永远失败。这是深度学习中的“学习”发挥作用的地方。
数据科学家可以使用有监督或无监督的培训。在监督训练下,人工神经网络处理来自测试数据的输入值并产生输出值(预测),将其与来自测试数据的实际输出值进行比较。然后,应用专门设计用于训练人工神经网络的训练算法。有几种类型的训练算法存在,但使用最广泛的类型称为反向传播。反向传播算法通过跟踪输出节点中的误差,通过ANN返回隐藏层和输入层,并相应地改变权重,来识别负责不准确预测的ANN的部分。这个过程一遍又一遍地重复,直到人工神经网络用测试数据产生一致的,准确的预测。然后,ANN准备好处理新的输入值并预测未知的输出值。
无监督训练的目的是模拟数据的结构或分布,而不是产生预测。因此,在无监督训练下,一旦ANN处理输入数据,权重不需要改变,因为没有相应的输出数据来比较ANN的预测。
深度学习是老技术
启动AI和深度学习故事的最佳节点是William McCulloch和Walter Pitts。1943年,他们发表了“神经活动内在观点的逻辑演算”,其中他们概述了神经网络的第一个计算模型。本文作为第一批人工神经网络的蓝图。
六年后,Donald Hebb发表了行为组织,该组织认为神经元之间的联系随着使用而加强。这个概念被证明是理解人类学习和如何培训人工神经网络的基础。
1954年,Belmont Farley和Wesley Clark利用McCulloch和Pitts所做的研究,开展了人造神经网络的首次计算机模拟。这些多达128个神经元的网络被训练来识别简单的模式。
在1956年夏天,计算机科学家遇到了一个猜测,即学习或任何其他智能特征的每个方面原则上都可以被精确地描述,以便机器可以被模拟出来。这个被称为达特茅斯会议的活动被认为是人工智能的发源地。
在达特茅斯会议之后,人工智能领域起飞。1957年, Frank Rosenblatt开始研究一种他称为感知器的神经网络,并能够将Farley和Clark在他们的双层网络上使用的训练方法应用于多层网络。
1959年,Bernard Widrow和Marcian Hoff开发了一种单层神经网络,他们称ADALINE为自适应线性元素的缩写,它可以根据先前的位预测来电的下一位信息。他们的下一个发展,称为MADALINE的多层神经网络,消除了电话呼叫的回响,据说是ANN的第一个实际应用。
创新在六十年代一直持续,但在七十年代,资金,研究和进步缓慢。人工智能科学家的成就未能满足媒体的炒作和政府的期望。接下来的所谓“AI winter”,AI没有多少资金和研究。
从1986年开始,在Geoff Hinton发表了“反向传播错误的学习表示法”后,几年后的研究兴起,它描述了反向传播学习过程。然而,真正的复苏直到21世纪中叶才出现。今天,深度学习和人工智能正在绽放。
那么,为什么ANN现在变得有用呢?
有三个因素激发了深度学习的潜力:
1.可用数据的指数爆炸
据思科称,1992年全球互联网流量为每天100GB。在2015年,这一数字高达1750万倍,达到每秒20235 GB。现在,全球90%的数据都是在过去两年内创建的。
如果没有这些数据,那么包含数百万个连接和数千个节点的训练ANN就不会发生。对于ANN来识别脸部,检测信用欺诈或在嘈杂的房间中将语音转换为文本,它需要的不仅仅是测试数据,以便进行一致,准确的预测。这就是为什么ANN在大数据时代蓬勃发展的原因。
数据实现人工神经网络的最好和最明显的例子是由Google X领导的一个项目,它是一个有点秘密的研究和开发团队。最早由吴恩达(Andrew Ng,后来他加盟百度,任首席科学家;后来离开百度创业)领导,该团队组装了16000个中央处理器(CPU),为超过10亿个连接的ANN提供动力。
然后,ANN接受了培训,处理了随机选择的YouTube视频中的1000万张图片。据许多消息人士透露,人工神经网络训练自己识别猫。实际上,ANN中只有一个节点负责识别猫的图像。其他节点可以识别人体和脸部。二十年前,要收集1000万张图像来训练人工神经网络是不可能的。
2.图形处理器(GPU)的兴起
让神经网络快速运行是困难的。成千上万的神经元必须平行相互作用。根据任务的不同,传统CPU可能需要几周才能从ANN生成预测。使用GPU时,花费数周的相同任务可能只需几天或几小时。
GPU最初是由NVIDIA制造的,用于处理视频游戏需要每秒数百次渲染图像以进行流畅视频显示的大规模并行操作。2009年,吴恩达和其他几个人发现他们可以使用GPU进行大规模的深度学习。
为了说明GPU的强大功能,吴恩达将Google X项目与一个拥有110亿个连接的网络一起复制,该网络运行在只有64个GPU的16台计算机上。而以前的项目使用1000台带有16000个CPU的计算机。新项目没有跑得太快或表现更好,但吴表达了他的观点。64个GPU可以在大致相同的时间内处理与16000个CPU相同的工作量。
3.先进算法的发明
尽管一系列发现提高了人工神经网络的能力,但许多人认为2006年Geoffrey Hinton和他的同事们所做的发现是人工神经网络的转折点。
Hinton引入了一种算法,可以微调用于训练具有多个隐藏层的ANN的学习过程。关键是使用“贪婪”算法或梯度下降算法,它可以分别微调ANN的每一层。
另一个关键发现优化了权重的初始设置。这允许高维数据或具有许多特征的数据转换成低维数据,从而提高预测能力。
因为他将多个隐藏层面操作化,因此Hinton被认为是将“深层”带入了深度学习。据报道,Hinton和他的团队创造了术语“深度学习”来重塑人工神经网络。在那个时候,许多专业人士和投资人没有兴趣支持人工神经网络,因为他们被认为无利可图。
影响是什么?
深度学习技术正在解决高度复杂的问题,由于处理能力更强大,大量可用数据以及更先进的神经网络算法,这些问题几十年来一直困扰着计算机科学家。
例如,深度学习被用来改进自然语言处理工具,以便始终理解句子的含义,而不仅仅是单个单词。所以如果有人想要翻译'徒步旅行'或'迷路',它不会从字面上理解表达。它会将表达式翻译成其他语言的相应表达式。
物体识别软件将变得更加普遍和准确。例如,面部识别软件已经在高水平运行。科学家们现在正在训练深度学习算法来区分类似的物体,比如茶杯和碗,房子和小木屋,鞋子和靴子。这种精度允许计算机区分街道上的行人,检测普通物体的异常情况,拼接全景照片,索引图像等等。
缺点
使用人工神经网络有几个缺点,即黑盒问题和过度拟合。
黑盒问题是无法知道ANN如何达到预测。用户可以在输入和输出层看到数据,它提供了一个它认为重要的输入变量的提示。但是,隐藏层掩盖了预测背后的潜在推理。因此,商业领袖不太可能信任未经测试的人工神经网络,因为他们无法看出它如何得出结论,而不像其他算法的过程清晰可见。
过拟合(Overfitting)也是人工神经网络常见的问题。过拟合发生在算法非常适合一组测试数据,以至于无法准确执行非测试数据时发生。这个问题并不是深度学习所特有的,可以在其他类型的机器学习算法中看到。
应用
数据科学家可以使用许多算法来检测底层数据中的模式和关系。深度学习算法是最强大的算法,因为它们可以适应各种各样的数据,需要很少的统计培训,可以使用简单的算法进行学习,并可以扩展到大型数据集。
但是在实际使用中,如果你的项目使用小数据量并解决简单问题,深度学习是过度的。如果你处理大量数据并需要进行复杂的预测,深度学习技术可能会有所帮助。如果没有适合你需求的深度学习工具,请继续等待。