大家好,我是雨飞。2023 年可谓 AI 新时代的带来,ChatGPT、Stable Diffusion 等生成式模型的飞速发展,让我们看到了 AI 在文字、图像、视频以及多模态交互的无限潜力。
在我国,12 是一个很有纪念意义和情感价值的数字。我们有 12 生肖、一年有 12 个月,在古代一天有 12 个时辰,而 AI 技术一路走来,从 ReLU 算起也已经有 12 年的时间了,从头开始回顾这项技术的发展也能为我们对未来有更好的期待。这篇文章就结合这十二年来发布的优秀科研论文,为你展示过去人类顶级的研究成果。
PS:省流版可以直接最后的参考文献。
2011年:激活函数 ReLU
早期的神经网络主要使用 sigmoid 的激活函数,这个函数下界为 0,上界是 1,平滑、易求导。但本身存在不少缺点,简单来说就是当输入的值离 0 较远时,输出的变化非常平缓,非常容易陷入梯度饱和的状态,导致梯度消失的问题。而且 sigmoid 函数的导数取值范围只有 (0-0.25],连乘之后梯度会急速下降,导致梯度消失的问题。
而 ReLU 的提出就是为了解决梯度消失的问题,使得可以训练更深的神经网络。ReLU 的激活函数在输入大于 0 的时候恒为 1,使得梯度连乘不再衰减,从而避免梯度消失的问题。而小于 0 时为 0,增加了网络的稀疏性,可以使模型有更好的泛化性和鲁棒性。
当然,ReLU 函数也有比较明显的缺点,可能导致梯度爆炸、当激活值为负时造成神经元可能会『死亡』,这一年也产生了很多对 ReLU 函数改进的措施,比如 Leaky ReLU、ELU、SeLU 等。
ReLU 这篇论文名称是 《Deep Sparse Rectifier Neural Networks》,感兴趣的小伙伴可以去仔细阅读原文。
2012年:引发人工智能浪潮的 AlexNet
由 Hinton 和他的学生 Alex Krizhevsky 设计的经典卷积神经网络结构 AlexNet ,在 ImageNet 的图像识别任务比赛中一举夺冠,并将 top5 的错误率从 26.2% 降低到 15.3%,从数据上看超过亚军 10% 的水平。
AlexNet 中创造性的使用了卷积操作去提取图像的特征,并采用最大池化的方式去保留特征中最关键的信息。同时,AlexNet 引入了 ReLU 的激活函数和局部的归一化、Dropout 等操作来优化模型结构,利用数据增强的策略去扩种训练数据集。通过这些技巧的引入,使得整体效果远超其他竞争者。
这次的比赛使人们见识到了深度学习算法模型对比传统机器学习算法的强势,后续的一系列我们耳熟能详的卷积神经网络如 GoogleNet、VGG、ResNet 都是受到了它的影响。
AlexNet 这篇论文的名称是《ImageNet Classification with Deep Convolutional Neural Networks》,感兴趣的小伙伴可以去仔细阅读原文。
2013年:NLP的经典 word2vec; 开启深度强化学习的新时代
如果说 2012 年是 CV 工作者的盛宴,那么 2013 年则是 NLP 从业者必须记住的日子。
在这一年,来自 google 的 Thomas Mikolov 等人提出了经典的 word2vec 模型,用于从海量的文本数据中学习单词的语义表示并产生一个低维的向量。这种方法一下取代了传统的词袋模型,并且在向量表示下,人们发现能够直接运用向量的运算去表示不同句子的含义,而且具有相似语义的词在聚类之后会分布在一起。
从这以后,利用向量相似度衡量两个句子的语义相关性成了可能,也为下游的各项任务提供了更高效的表示方法。在这之后,针对语义表示的论文层出不穷,有基于矩阵分解的 GloVe 算法,也有基于语言模型的 ELMO、BERT 等方法。
而在这一年,深度强化学习开始有所突破。DeepMind 团队提出了利用 DQN 的模型去玩雅达利游戏,这是一个很复杂的游戏环境,DQN 中创造性的将价值函数和神经网络相结合,提出了 Q-learning 算法,并用神经网络去生成价值函数。在这之后,深度强化学习开始走进人们的视线,也为后续无数经典之作打下了坚实的基础。
word2vec 的经典论文是 《Distributed Representations of Words and Phrases and their Compositionality》
Q-Learning 则可以参考这篇论文《Learning from Delayed Rewards(Q-Learning) 》
2014年: GAN;Adam; Attention机制
2014 年最引人注目的成就来自生成式对抗网络(Generative Adversarial Network, GAN),Ian Goodfellow 等人创造性的提出了一种利用两个不同神经网络相互博弈训练的算法,能够生成非常逼真的图片。GAN 一经提出就在很多领域受到了广泛的关注,通过生成器和判别器之间的最大最小博弈,GAN 能够建模高维、复杂的数据分布。其中生成器用于从一个噪声分布中生成图片,而判别器则需要判断这个图片是否为生成数据,融合了博弈论的思想。
与此同时,这一年提出的 Adam 优化器使得模型的优化不再要调整过多的参数,被广泛应用到各大论文之中。Adam会对每个参数的不同学习率进行自适应的调整,避免了 SGD 的缺点,而实验也证明,如果你不懂要用什么优化器,那么就用 Adam 吧。
这一年,注意力机制(Attention)的提出,使得模型效果和创新性上更上一层楼。在机器翻译任务上,Bengio 等人提出了一个基于编码-解码结构的神经机器翻译模型,用编码器将源句子编码为一个固定长度的向量,然后由解码器从这个向量中解码生成目标句子。当解码器在生成句子的时候,可以去自动检索源句子和需要预测的目标词最相关的部分,从而能更好的对源句子进行翻译,这种方法也被称为注意力机制。
GAN 的文章请参考这篇 《Generative Adversarial Networks》
Adam 优化方法的文章请参考这篇 《Adam: A Method for Stochastic Optimization》
Attention 机制的文章请参考这篇 《Neural Machine Translation by Jointly Learning to Align and Translate》
2015年:残差网络与批归一化
2015 年,微软亚洲研究院的何凯明团队提出了经典的 ResNet 模型,从这一天开始,神经网络在视觉分类任务上的效果超越了人类。这得益于 ResNet 中经典的残差连接,最初残差连接是为了解决深层 CNN 模型训练时的梯度消失问题而设计的。
在 ResNet 中,这种残差连接被称为 shortcut connections,通过将输入直接添加到卷积操作的输出结果上,可以在下一层输入的时候保留更多的原始信息,从而使模型每一次更容易学习这种恒等映射,减少了梯度消失的问题。
批归一化(Batch normalization)是特征处理的经典之作,由于原始数据的分布可能存在差异,使得模型学习起来存在难度。而批归一化的思想就是在模型训练时对特征数据做归一化,具体来说就是根据训练时每一个批次的均值和方差信息对这批数据做统一的放缩。这个操作使得数据分布变成了一个均值为 0,方差为 1 的正态分布,能够加速模型的收敛,并提升实际效果。
ResNet 的文章请参考这篇《Deep Residual Learning for Image Recognition》
BN 的文章请参考这篇《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》
2016年:AlphaGo,击败人类的围棋大师
名噪一时的阿尔法狗在这一年被提出,很多人意识到 AI 技术的强大也是始于 AlphaGo 在围棋比赛中击败了世界围棋冠军李世石。AlphaGo 靠着蒙特卡洛树的搜索以及深度神经网络的构建,AlphaGo 首先通过神经网络学习了海量围棋棋局,并利用蒙特卡洛树搜索来预测每一步棋局的可能结果,并利用强化学习不断优化自己的策略。而 AlphaGo 在围棋比赛的胜利,也展示了人工智能在复杂游戏中的巨大潜力,同时也引发了人们对人工智能未来的思考。
AlphaGo 的文章请参考这篇《Mastering the game of Go with deep neural networks and tree search》
2017年:你所需要的仅仅是 Transformer
2017年,谷歌在机器翻译任务上提出了基于自注意力机制的 Transformer 结构,取得了最优的结果。传统的 RNN 模型很难处理长句子的依赖关系,而且每一次需要依赖前一时间步的结果才能进行运算,使得长句子下的训练和推理速度比较慢。而 CNN 的结构主要依赖于卷积核的大小去捕捉图像的信息,对于文本句子的表示能力有限。Transformer 通过自注意力机制,解决了这两者的限制,通过注意力机制能够处理长句子的依赖关系,而且可以通过优化并行处理句子的单词,从而加快了计算速度。
Transformer 结构的优越性使得后续的论文都在其基础上做了改进,或者将原来的模型进行修补。只到今天,还没有出现能够正面击败这个结构的模型。
Transformer 的经典文章 《Attention Is All You Need》
2018年:BERT开启预训练模型时代
谷歌在 2018 年提出基于 Transformer 结构的双向编码器 BERT,横扫了 11 项 NLP 任务,开启了大模型时代的序幕。从那一天开始,学术研究开始了拼显卡,拼财力的军备竞赛。
BERT,全称(Bidirectional Encoder Representation from Transformers),是一个预训练的语言模型。BERT 的训练分两个阶段,第一阶段是从海量的语料上完成预训练,然后第二阶段针对不同的 NLP 任务,使用具体的数据进行微调学习。
BERT构建了两个预训练任务,分别是掩膜句子任务(Masked Language Model,MLM) 和下句话预测任务(Next Sentence Prediction,NSP) 。 MLM 任务就是随机将句子中的词替换成 mask 标记,然后预测出这个位置原来的词。由于 mask 的标记不会出现在微调的数据里面,为了避免数据不匹配的问题,BERT 采用了一些策略来优化这个问题。简单来说,就是不简单将词替换为 mask 标记,还会替换成别的词,或者保留原来的词。通过这种策略,BERT能够有效学习所有词的表示信息,缓解 mask 标记带来的问题。
NSP 的任务是预测两个句子是否是相邻的两个句子,通过这个任务可以建立起句子间的关系,使得 BERT 能更好的生成句子层次的表示。具体来说在训练中,选择 50% 的句子对是连续句子,50% 的句子不是连续句子。
但是谁也没有想到,在 2018 年并不算起眼的模型 GPT-1 会在几年后,逆风翻盘,开启了 AI 的新时代。当然,这种事情谁能说得准呢。
BERT的经典论文可以回顾《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》
2019年:深度学习原理改进
深度双下降 (Deep Double Descent) 现象,它与经典机器学习和现代深度学习中的普遍智慧相反。在经典机器学习中,模型复杂性遵循偏差-方差权衡。太弱的模型无法充分捕捉数据的结构,而太强大的模型可能会过拟合并捕获不具有一般性的虚假模式。
因此,在经典机器学习中,随着模型变大,测试误差预期会降低,但一旦模型开始过拟合,测试误差就会再次开始增加。然而,在实践中,深度学习中模型经常过度参数化,但随着模型变大,测试性能似乎仍然有所提高。这种冲突是深度双下降背后的动机。
DDD 的论文可以参照这篇 《Deep Double Descent: Where Bigger Models and More Data Hurt》
2020年: 少样本学习的大模型,开启提示词学习新范式
GPT3 的出现,意味着大模型从「预训练-微调」的范式向「提示词学习」的范式进行转变。
传统的大型预训练模型,需要大量的标注数据来训练,但对于许多语言类任务来说这是非常困难的。因为标注数据需要大量的人力参与,而且不同的任务需要不同的标注方法,这使得数据收集的成本很高且耗时。
预训练加微调的范式可能存在一些问题。虽然这种范式可能使模型在特定任务上表现良好,但模型可能过度依赖于训练分布,对于训练分布之外的数据表现可能不佳。而且人类也不需要大型的监督数据集来学习大多数语言任务,只需要用自然语言给出简单的指令(例如,请告诉这局话描述的是快乐的事情还是悲伤的事情),或者最多只需要很少的示例就足以使人类至少以合理的方式去胜任一项新任务。
因此,大型预训练模型在某些任务上表现确实非常出色,但它们并不一定是解决所有语言任务的理想方法。对于许多任务。最起码无法做到像人类一样,通过少量的提示就可以完成不同的任务,或者无缝的衔接和切换不同的任务和技能,比如在长时间对话的时候去执行数学运算。
而 OpenAI 提出的 GPT3 是一个 175B 大小的有语言模型,并且具有上下文学习的能力。通过给GPT提供少样本或者零样本的提示,GPT3 就能很好的完成各项不同的语言任务。在 GPT3 的文章中一共有 2.7B、6.7B、13B 以及 175B 这几个参数十亿量级以上的模型,我们不确定后续发布的大模型是否也受到了这些参数的影响。
GPT3 的文章可以参考这篇 《Language Models are Few-Shot learners》
2021年: 多模态模型的出现 DALL-E 与 CLIP
这一年的明星应该属于 OpenAI 的 DALL-E 和 CLIP。其中 DALL-E 是一个多模态的文生图模型,能够根据文本生成效果经惊艳的图像,并且参数量达到了 12B,被称为「图像版 GPT-3」。CLIP 是一个使用图像和文本进行训练的多模态模型,具有零样本学习的能力,可以从自然语言中有效的学习视觉信号,并应用到任何图像分类任务。
简单来说,CLIP 包含了两个模型,Text Encoder 和 Image Encoder,其中 Text Encoder 用来提取文本特征,而Image Encoder 用来提取图像的特征。CLIP 利用对比学习的思想去计算文本-图像之间的余弦相似度去更新模型的参数,其训练目标就是最大化正样本之间的相似度,而最小化负样本的相似度。
DALL-E 由三个模型组成,分别是离散的变分自动编码机模型(discrete variational autoencoder,dVAE)、Sparse Transformer 和 CLIP 模型。首先,使用一个训练好的 dVAE 将一张 256256 的图片压缩为 3232 的图像网格,每一个网格的元素可能有 8192 个值。这种离散的方法可以显著降低输入数据的维度。
然后,DALL-E 使用 BPE 编码将文本转换成 256 个token,然后和 32*32=1024 个图像的网格信息进行拼接,最后使用 Sparse Transformer 进行训练。在最终推理阶段,给定一张图片和文本,利用 Sparse Transformer 计算出最终的文本表示,然后利用 dVAE 生成图片,最后利用一个预训练好的 CLIP 模型计算出文本和生成图片的匹配分数并进行排序,最终得到与文本最匹配的图像。
DALL-E 的文章请参考 《DALL·E: Zero-Shot Text-to-Image Generation from OpenAI》
CLIP 的文章请参考 《Learning Transferable Visual Models From Natural Language Supervision》
2022年: 生成式 AI 大爆发
这一年是生成式 AI 和多模态大模型爆发的一年,而这一年进入到大众视野里的模型则是 Stable Diffusion,虽然这篇论文在 2021 年 12 月已经上传到 arxiv,但只到 2022 年在 CVPR 会议上发表后,才被人们所熟知,因此可以算 2022 年最值得关注的论文也是无可厚非的。
Stable Diffusion 是一种基于扩散过程的图像生成模型,能够在给定任何文本输入的情况下生成逼真的照片图像,使数十亿人能够在几秒钟内创作出令人惊叹的艺术作品。
Stable Diffusion 本身的原理比较复杂,主要有 VAE,CLIP 模型和 UNet 模型三个部分组成。简单来说,一张图片会通过 VAE 编码映射成一个潜空间的向量并通过随机的方法加入符合高斯分布的噪音生成新的噪声图像。于此同时,使用 CLIP 模型将输入的提示词编码为一个文本向量。将文本向量和噪声图像同时输入到 UNet 中,去预测每一步的噪声,进行 UNet 的训练。
在推理阶段,同样利用 CLIP 编码文本的向量,然后和随机初始化的噪声输入到 UNet 中,进行去噪,得到潜空间的向量。最后通过 VAE 的解码器将潜空间的向量还原会图像。
Stable Diffusion 能够生成精美的图像,但由于提示词并不是纯自然语言,而且各种插件的使用门槛相对较高,最初版本的模型效果并不算很强,受关注程度也就比不上后来的 ChatGPT。
Stable Diffusion的文章请参考《High-Resolution Image Synthesis with Latent Diffusion Models》
2023年: ChatGPT 引发全民 AI
2022 年 11 月 30 日,OpenAI 发布了 ChatGPT,一个具有聊天功能的大语言模型,随后便引来了人们的关注。而 23 年 3 月份的时候,GPT-4 发布,在部分学术和专业考试上面已经达到人类的水平,使得大模型的发展一发不可收拾。众多巨头纷纷入局,加入了这场军备竞赛,一时间 ChatGPT 的概念火遍全世界。
由于 OpenAI 没有发布 ChatGPT 的正式论文,但从官方发布的消息中 ChatGPT 和 InstructGPT 的模型结构,训练方式是完全一致的,我们还是能通过 InstructGPT 的文章去了解一下 ChatGPT 的训练过程。这里我们只做简单的介绍,感兴趣的可以去阅读原文和官方 blog。
首先,通过使用人类 AI 训练师提供的对话数据,对 GPT-3 进行有监督的微调(Supervised FineTune,SFT)。这些对话数据包含了提示词以及期望得到的回答。然后,随机抽取一条提示词和对应的回答,由人工进行标注这些回答哪一些更好,生成训练奖励模型(Reword Model,RM)的标注数据。然后利用这些数据去训练一个奖励模型。最后一步,随机抽取提示词,利用 SFT 模型生成回答,并使用 RM 模型去评价这个回答的好坏作为强化学习的优化目标,利用 PPO 算法去微调 SFT 模型。
OpenAI 官方关于 ChatGPT 的介绍 openai.com/blog/chatgp...
InstructGPT 的文章请参考 《Training language models to follow instructions with human feedback》
致谢
本篇文章参考了如下链接提供的 2011-2019 年的论文信息,对比原文去掉了提名的文章和插图,增加了自己的理解和对原始论文内容的一些翻译,感兴趣的可以去阅读原文:
leogao.dev/2019/12/31/...
感谢 ChatGPT 对论文文献的翻译。
参考文献
- Deep Sparse Rectifier Neural Networks
- ImageNet Classification with Deep Convolutional Neural Networks
- Distributed Representations of Words and Phrases and their Compositionality
- Learning from Delayed Rewards(Q-Learning)
- Generative Adversarial Networks
- Adam: A Method for Stochastic Optimization
- Neural Machine Translation by Jointly Learning to Align and Translate
- Deep Residual Learning for Image Recognition
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Mastering the game of Go with deep neural networks and tree search
- Attention Is All You Need
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
- Deep Double Descent: Where Bigger Models and More Data Hurt
- Language Models are Few-Shot learners
- DALL·E: Zero-Shot Text-to-Image Generation from OpenAI
- Learning Transferable Visual Models From Natural Language Supervision
- High-Resolution Image Synthesis with Latent Diffusion Models
- Training language models to follow instructions with human feedback
雨飞同行
- 雨飞
- 主业是推荐算法
- 希望通过自媒体开启自己不上班只工作的美好愿景
- 微信:1060687688
- 欢迎和我交朋友🫰
好了,我写完了,有启发的欢迎点赞评论。新的一天,愿阳光洒在你的脸上。