3.神经网络架构发展史
神经网络的发展历程已接近70年,不断有新的架构被提出,而老的架构也不时的焕发新的活力,在此盘点一下神经网络领域的发展史,让我们对经常出现的各种网络架构缩写有一个系统的认识。需要注意的是,老的架构并不意味着过时,不同的架构可以相互融合,相互影响,最早的MLP最近同样取得了非常好的成果。
1. MLP-多层感知器-1958年
让我们从最早的感知机开始,MLP是一个非常简单的二元分类器,可以对输入图像进行分类。使用了非常简单的单位阶跃函数作为激活函数。如果输入大于 0,则输出为 1,否则为 0。
而添加更多层(感知机是单层神经网络)可以使网络具有学习复杂功能的能力。这进一步产生了多层感知机。多层感知器(Multi-Layer Perceptron,MLP)也叫人工神经网络(Artificial Neural Network,ANN),主要包含输入层、输出层和多个隐藏层。同时MLP带来了沿用至今的很多概念。
2. RNN-循环神经网络-1982年
与多层感知机 (MLP)等前馈网络不同,循环神经网络RNN有一个内部反馈回路,可以有效记录前一个输入的结果,因此RNN是一类旨在处理序列的神经网络。
假设我们现在有这样一句话:”我爱人工智能”,经过分词之后变成”我,爱,人工,智能”这4个单词,RNN会根据这4个单词的时序关系进行处理,在第1个时刻处理单词”我”,第2个时刻处理单词”爱”,依次类推,RNN会从左到右逐词阅读这个句子,并不断调用一个相同的RNN Cell来处理时序信息。
3. CNN-卷积神经网络-1998年
卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果(矩阵运算对应离散的图像和音频数据非常合适)。
LeNet-5 是最早的卷积网络架构之一,于 1998 年用于文档识别。LeNet-5 由 3 个部分组成:2 个卷积层、2 个子采样或池化层和 3 个全连接层。
4. 深度学习-2012年
ImageNet 挑战赛的唯一目标是评估大型数据集上的图像分类和对象分类架构。
在 2012 年,AlexNet 以 15.3% 的 Top 5 低错误率赢得了挑战,这几乎是之前获胜者错误率的一半。AlexNet 由 5 个卷积层、随后的最大池化层、3 个全连接层和一个 softmax 层组成。AlexNet 提出了深度卷积神经网络可以很好地处理视觉识别任务的想法(深度学习的开山鼻祖)。
CNN 架构不断变得更大并且工作得更好。19 层的 VGG 以 7.3% 的错误率赢得了挑战。GoogLeNet(Inception-v1) 更进一步,将错误率降低到 6.7%。2015 年,ResNet(Deep Residual Networks)将错误率降低到 3.6%,并表明通过 残差连接 ,可以训练更深的网络(超过 100 层),在此之前,训练如此深的网络是不可能的。
ResNet就是提出一种方法让网络拥有恒等映射能力,假设在浅层网络上叠加与其相同,称之为恒等映射的层,那么即使网络深度增加,其训练误差应该不高于原来的浅层网络。恒等映射即为 ?(?)=?,已有的神经网络结构很难做到这一点,但是如果我们将网络设计成 ?(?)=?(?)+?,即 ?(?)=?(?)−?,那么只需要使残差函数 ?(?)=0,就构成了恒等映射 ?(?)=?。
残差结构的目的是,随着网络的加深,使 ?(?)逼近于0,优化这种残差映射要比优化原始的映射容易,使得深度网络的精度在最优浅层网络的基础上不会下降。
5. 深度生成网络-2014年
生成网络用于从训练数据中生成或合成新的数据样本,例如图像和音乐。 生成网络有很多种类型,但最流行的类型是由 Ian Goodfellow 在 2014 年创建的生成对抗网络 (GAN)。GAN 由两个主要组件组成:生成假样本的生成器和区分真实样本和生成器生成样本的判别器。生成器和鉴别器可以说是互相竞争的关系。他们都是独立训练的,在训练过程中,他们玩的是零和游戏。生成器不断生成欺骗判别器的假样本,而判别器则努力发现那些假样本(参考真实样本)。在每次训练迭代中,生成器在生成接近真实的假样本方面做得更好,判别器必须提高标准来区分不真实的样本和真实样本。
GAN 是生成模型的一种。其他流行的生成模型类型还有 Variation Autoencoder (变分自编码器,VAE)、AutoEncoder (自编码器)和扩散模型等。
6. Transformer和注意力机制 – 2017年
在Transformer《Attention is all you need》发布后,一种完全基于注意力机制的新神经网络架构横空出世,接着大规模语言模型开始出现,其令人震惊的地方在于:如果给定足够的数据和计算,它总能更好地工作,即规模与算力可以跟效果成正比增加。
年份 | 公司 | 论文 | 简介 |
---|---|---|---|
2017 | Transformer | 继MLP、CNN、RNN后的第四大类架构,基本一统NLP | |
2018 | OpenAI | GPT | 使用 Transformer 解码器来做预训练 |
2018 | BERT | 使用 Transformer 编码器来做预训练 | |
2019 | OpenAI | GPT-2 | 更大的 GPT 模型,朝着zero-shot learning迈了一大步 |
2020 | OpenAI | GPT-3 | 100倍更大的 GPT-2,few-shot learning效果显著 |