一文回顾深度学习发展史上最重要经典模型( 四 )


 
除了在ILSVRC 2015分类挑战中获得第一名之外 , ResNet 之所以与众不同 , 还在于其与其他网络体系结构相比的深度 。本文中介绍的最深层网络具有1,000层 , 并且仍然表现良好 , 尽管在基准任务上比其101和152层对应的网络稍差 。由于梯度消失了 , 训练这样的深度网络是一个具有挑战性的优化问题 , 它也出现在序列模型中 。没有多少研究人员认为训练如此深的网络可以带来良好的稳定结果 。
 
ResNet使用了身份快捷方式连接来帮助梯度流动 。解释这些连接的一种方法是ResNet仅需要学习从一层到另一层的“增量” , 这通常比学习完整的转换要容易 。这种身份连接是公路网[30]中提出的连接的特例 , 而连接又受到LSTM使用的门控机制的启发 。
 
2017-Transformer
Papers
Attention is All You Need聽[5]
 
Implementations
PyTorch: Sequence-to-Sequence Modeling with nn.Transformer and TorchText(https://pytorch.org/tutorials/beginner/transformer_tutorial.html)
 
Tensorflow: Transformer model for language understanding(https://www.tensorflow.org/tutorials/text/transformer)
 
HuggingFace Transformers Library(https://github.com/huggingface/transformers)

一文回顾深度学习发展史上最重要经典模型

文章插图
 
资料来源:https : //arxiv.org/abs/1706.03762
带注意力机制的序列到序列模型(在本文的前面已经介绍过)工作得很好 , 但是由于它们的递归特性需要顺序计算 , 因此它们有一些缺点 。它们很难并行化 , 因为它们一次只处理一步 。每个时间步取决于上一个 。这也使得很难将它们缩放到非常长的序列 。即使有了他们的注意力机制 , 他们仍然在建模复杂的远程依赖项方面仍在挣扎 。大多数“工作”似乎都是在循环层中完成的 。
 
Transformer解决了这些问题 , 方法是完全消除重复现象 , 并用多个前馈自我关注层代替它 , 并行处理所有输入 , 并在输入和输出之间产生相对较短的路径(使用梯度下降易于优化) 。这使他们真正快速地训练 , 易于扩展并且能够处理更多数据 。为了告诉网络有关输入的顺序(在递归模型中是隐式的) , Transformers使用了位置编码[19] 。要了解有关Transformer工作原理的更多信息(一开始可能会有些困惑) , 我建议你使用图示指南 。
 
要说Transformer比几乎任何人都预期的要好 , 那是轻描淡写 。在接下来的几年中 , 它们将成为绝大多数NLP和其他序列任务的标准体系结构 , 甚至进入计算机视觉体系结构 。
 
2018年-BERT和经过微调的NLP模型
Papers
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding [9]
 
Implementations
Fine-Tuning BERT with HuggingFace(https://huggingface.co/transformers/training.html)
一文回顾深度学习发展史上最重要经典模型

文章插图
 
预训练是指训练模型以执行某些任务 , 然后将学习到的参数用作初始化以学习相关任务 。这具有直觉的意义-已经学会将图像分类为猫或狗的模型应该已经了解了有关图像和毛茸茸的动物的一般知识 。当对该模型进行微调以对狐狸进行分类时 , 我们希望它比必须从头学习的模型做得更好 。类似地 , 已经学会预测句子中下一个单词的模型应该已经学会了有关人类语言模式的一般知识 。我们希望它对于相关任务(如翻译或情感分析)是一个很好的初始化方法 。
 
预训练和微调已在Computer Vision和NLP中成功使用 , 但是很长一段时间以来它一直是视觉标准 , 但使其在NLP中正常工作似乎更具挑战性 。大多数最新结果仍来自完全受监督的模型 。随着Transformer的出现 , 研究人员终于开始进行预培训工作 , 从而产生了诸如ELMo [34] , ULMFiT [35]和OpenAI的GPT之类的方法 。
 
BERT是此类开发的最新成果 , 许多人认为它已经开启了NLP研究的新纪元 。像大多数其他模型一样 , 它没有经过预测其他单词的预训练 , 而是预测了句子中任何地方的被屏蔽(有意删除)的单词 , 以及两个句子是否可能彼此跟随 。请注意 , 这些任务不需要标记的数据 。它可以在任何文本上进行训练 , 而且很多!这个预先训练的模型可能已经学习了一些关于语言的一般属性 , 然后可以对其进行微调以解决监督任务 , 例如问题回答或情绪预测 。BERT在各种各样的任务中都表现出色 。HuggingFace等公司轻松下载和微调针对任何NLP任务的类似BERT的模型 。从那时起 , BERT就建立在诸如XLNet [31]和RoBERTa [32]和ALBERT [33]的发展之上 。


推荐阅读