这篇文章从感知机开始,按照时间顺序回顾了深度学习的历史。
1958 年:感知机的兴起
1958 年,弗兰克 · 罗森布拉特发明了感知机,这是一种非常简单的机器模型,后来成为当今智能机器的核心和起源。
感知机是一个非常简单的二元分类器,可以确定给定的输入图像是否属于给定的类。为了实现这一点,它使用了单位阶跃激活函数。使用单位阶跃激活函数,如果输入大于 0,则输出为 1,否则为 0。
下图是感知机的算法。
感知机
Frank 的意图不是将感知机构建为算法,而是构建成一种机器。感知机是在名为 Mark I 感知机的硬件中实现的。Mark I 感知机是一台纯电动机器。它有 400 个光电管(或光电探测器),其权重被编码到电位器中,权重更新(发生在反向传播中)由电动机执行。下图是 Mark I 感知机。
Mark I 感知机。图片来自美国国家历史博物馆
就像你今天在新闻中看到的关于神经网络的内容一样,感知机也是当时的头条新闻。《纽约时报》报道说,“[海军] 期望电子计算机的初步模型能够行走、说话、观察、书写、自我复制并意识到它的存在”。今天,我们都知道机器仍然难以行走、说话、观察、书写、复制自己,而意识则是另一回事。
Mark I 感知机的目标仅仅是识别图像,而当时它只能识别两个类别。人们花了一些时间才知道添加更多层(感知机是单层神经网络)可以使网络具有学习复杂功能的能力。这进一步产生了多层感知机 (MLP)。
1982~1986 : 循环神经网络 (RNN)
在多层感知机显示出解决图像识别问题的潜力之后,人们开始思考如何对文本等序列数据进行建模。
循环神经网络是一类旨在处理序列的神经网络。与多层感知机 (MLP) 等前馈网络不同,RNN 有一个内部反馈回路,负责记住每个时间步的信息状态。
前馈网络与循环神经网络
第一种 RNN 单元在 1982 年到 1986 年之间被发现,但它并没有引起人们的注意,因为简单的 RNN 单元在用于长序列时会受到很大影响,主要是由于记忆力短和梯度不稳定的问题。
1998:LeNet-5:第一个卷积神经网络架构
LeNet-5 是最早的卷积网络架构之一,于 1998 年用于文档识别。LeNet-5 由 3 个部分组成:2 个卷积层、2 个子采样或池化层和 3 个全连接层。卷积层中没有激活函数。
正如论文所说,LeNet-5 已进行商业化部署,每天读取数百万张支票。下面是 LeNet-5 的架构。该图像取自其原始论文。
LeNet-5 在当时确实是一个有影响力的东西,但它(常规的卷积网络)直到 20 年后才受到关注!LeNet-5 建立在早期工作的基础上,例如福岛邦彦提出的第一个卷积神经网络、反向传播(Hinton 等人,1986 年)和应用于手写邮政编码识别的反向传播(LeCun 等人,1989 年)。
1998:长短期记忆(LSTM)
由于梯度不稳定的问题,简单 RNN 单元无法处理长序列问题。LSTM 是可用于处理长序列的 RNN 版本。LSTM 基本上是 RNN 单元的极端情况。
LSTM 单元的一个特殊设计差异是它有一个门机制,这是它可以控制多个时间步长的信息流的基础。
简而言之,LSTM 使用门来控制从当前时间步到下一个时间步的信息流,有以下 4 种方式:
输入门识别输入序列。
遗忘门去掉输入序列中包含的所有不相关信息,并将相关信息存储在长期记忆中。
LTSM 单元更新更新单元的状态值。
输出门控制必须发送到下一个时间步的信息。
LSTM 架构。图片取自 MIT 的课程《6.S191 Introduction to Deep Learning》
LSTM 处理长序列的能力使其成为适合各种序列任务的神经网络架构,例如文本分类、情感分析、语音识别、图像标题生成和机器翻译。
LSTM 是一种强大的架构,但它的计算成本很高。2014 年推出的 GRU(Gated Recurrent Unit)可以解决这个问题。与 LSTM 相比,它的参数更少,而且效果也很好。