在过去的几十年里,神经网络已经从一种学术好奇心发展成为一个巨大的“深度学习”产业。深度学习使用神经网络,这是一种受生物神经元布局启发的数据结构设计。这些神经网络是分层构建的,一层的输入连接到下一层的输出。深度学习是
机器学习的一个细分领域,它允许计算机自动识别人脸并将口语转录成文本,并允许自动驾驶汽车避开街道上的物体。
1943 年,数学家 Walter Pitts 和神经生理学家 Warren McCulloch 以及加拿大心理学家 Donald Hebb 的工作使这些成就成为可能。Pitts 和 McCulloch 研究并撰写了一篇描述神经元如何工作的论文,然后使用电路开发了一个简单的
神经网络。
赫布扩展了他们的想法,写作行为组织1949 年,他提出每次连续使用都会增强神经通路。他写道:“当一个细胞反复协助激发另一个细胞时,第一个细胞的轴突会发展出与第二个细胞的胞体接触的突触旋钮(或扩大它们,如果它们已经存在)。”
机器学习和跳棋游戏
1950 年代,IBM 研究员 Arthur Samuel 开发了第一个能够下跳棋的计算机程序。这个跳棋游戏程序也是机器学习的第一个原始版本。由于他的程序可以访问非常小的计算机内存,Samuel 创建了 alpha-beta 剪枝,这是一种通过选择可用的“最佳选择”来消除选择的搜索算法。他的设计使用了一个评分函数来评估跳棋的位置,试图衡量每一方获胜的机会。他的程序最终演变成极小极大算法。
感知器
1957 年,康奈尔航空实验室的研究员弗兰克·罗森布拉特将赫布的脑细胞活动模型与塞缪尔的机器学习概念相结合,创造了Mark 1 感知器. 使用 1940 年代进行的神经科学实验,罗森布拉特创建了大脑神经元如何工作的模型。
Perceptron Mark 1 最初的计划不是作为程序,而是作为机器。这是一台定制的机器,尽管它的软件是为 IBM 704 编写的(并且是为图像识别而设计的)。幸运的是,这种组合成功了,提供了可靠的证据,算法和软件可以转移到其他类似的计算机上并在其中有效地使用。在此之前,软件无法在类似的计算机之间来回传输。(需要注意的是,Rosenblatt 的主要目标不是建造一台可以识别和分类图像的计算机,而是要深入了解人脑是如何工作的。)感知器神经网络最初是由两层编程的,输入层和输出层。
深度学习的早期努力
第一个通用的功能学习算法是为多层感知器配置的,并使用“前馈设计”(将其与下一节中的反向传播进行比较)。该作品由 Alexey Ivakhnenko 和 VG Lapa 于 1967 年在控制论和预测技术. 1971 年,伊瓦赫年科发表了一篇论文,“复杂系统的多项式理论,”描述了一个有八层的深度网络,由组法.
从事计算机视觉研究的 Kunihiko Fukushima 开始开发新认知1979 年,他提出了一种分层的、多层的神经网络。这是第一个使用卷积神经网络. 福岛的设计帮助计算机学会识别和识别视觉模式。他的设计还允许通过手动调整所需连接的“权重”来微调重要特征。
反向传播
尽管在 1960 年代已经独立地重新发现了许多早期版本的反向传播,但直到 1970 年代,Seppo Linnainmaa 才实施它。Paul Werbos 是美国第一个提出可以将反向传播用于人工神经网络的人,此前他在 1974 年的论文中对其进行了深入研究。反向传播描述了一种方法,其中错误在输出(而不是输入)处处理,然后向后分布,通过系统的层进行学习和训练。这种技术已经成为训练深度神经网络的一种流行方法。
隐藏层
输入层被认为是神经网络的第一层,输出层是最后一层。这两者之间的各个层通常称为隐藏层. 每一层通常由支持一个激活函数的简单算法组成。
神经网络的早期设计(例如感知器)不包括隐藏层,但有两个明显的(输入/输出)。毫不奇怪,这些简单的系统无法执行非常复杂的功能。两层输入输出设计是感知器的遗留物,严重限制了计算机的能力。
直到 1980 年代,研究人员才意识到仅添加几个隐藏层就可以显着增强其神经网络的能力。这种认识导致了 ANN(人工神经网络)的发展。与早期的感知器不同,人工神经网络在响应复杂任务时使用隐藏层。神经网络中的隐藏层越多,神经网络产生输出所需的时间就越多,但这种缓慢会导致解决更复杂的问题。隐藏层将成为深度学习的基础。
深度学习成为现实
1989 年,深度学习当 Yann LeCun 等人用标准的反向传播算法(创建于 1970 年)进行实验并将其应用于神经网络时,它成为了现实。他们的目标是训练计算机识别邮寄信封上的手写邮政编码。这个新系统奏效了,结果,深度学习诞生了。
深度学习是一个细分机器学习,并使用算法来处理数据,因为它试图模仿人类的思维过程。算法层用于:
处理数据
理解人类语言
视觉识别物体
做时间序列分析
诊断医疗问题
GPU 提供速度
英伟达创造了第一个“真”,值得称赞图形处理单元(或 GPU)。它于 1999 年发布,尽管在 1980 年代曾尝试提高输出和视频图像(MDA 卡和 VGA)的质量,但它们无法与 GPU 相提并论。英伟达的研究提供的计算速度在 10 年内增加了一千倍(并且还在继续增加)。2009 年,英伟达支持了“深度学习的大爆炸”。此时,许多成功的深度学习神经网络接受了使用 Nvidia GPU 的训练。
图形处理器在机器学习中变得非常重要。它们使用的处理器大约是中央处理单元 (CPU) 使用的 200 倍。与 GPU 相比,CPU 虽然更灵活,但处理数据的速度非常慢。为了弥补灵活性的不足,GPU 专为非常特定的用途而设计。GPU 和 CPU 在处理数据的方式上有所不同,CPU 一次执行一个过程(这很慢),而 GPU 并行(或同时)运行各种操作。
深度学习算法由神经网络支持。从计算上讲,神经网络的训练非常密集,因为这些计算/训练可以并行化(同时运行),它们需要一种新的硬件设计方法。图形处理单元 (GPU) 最初设计用于游戏行业,并具有大量处理内核。它们还使用非常大的板载 RAM(与 CPU 相比)。GPU 越来越多地用于深度学习应用程序,因为它们可以并行运行,因此可以显着加速神经网络训练。
人工智能和神经网络
结合时,人工智能、神经网络和深度学习为解决各种现实世界问题提供了令人难以置信的激动人心的机会。虽然是一种类人的思维和决策形式人工智能还需要几年的时间,人工智能的发展已经取得了一些真正显着的进步,神经网络及其相关算法提供了基础。神经网络仍有很大的成长和发展空间。随着他们的进步,有理由期望他们也支持
人工智能的进步。
相关帖子DA内容精选
- 大厂数据分析面试指南!来自亚马逊、谷歌、微软、头条、美团的面试问题!
|