神经网络的发展历程已接近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是一个大型视觉资料库,用于视觉目标辨识软体研究。非常多的神经网络架构以ImageNet作为优化目标,一步步将ImageNet的正确率提高到人类水平。
在 2012 年,AlexNet以15.3%的Top5低错误率刷新了ImageNet的记录,AlexNet 由5个卷积层、最大池化层、3 个全连接层和一个softmax层组成。AlexNet提出了深度卷积神经网络可以很好地处理视觉识别任务的想法,也是深度学习的开山鼻祖。
在此之后,2015 年,ResNet进一步将ImageNet的错误率降低到 3.6%,证明了使用残差连接可以训练更深的网络。
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效果显著 |