本文共 3562 字,大约阅读时间需要 11 分钟。
对于广泛的实际应用,机器学习模型必须对照以下大多数要求检验自身:
让我们看看预先训练好的单词+文档嵌入层如何满足这些要求:
简而言之,使用,但是使用静态表示对从额外的训练数据获得的增益会受到限制。从预先训练的嵌入层中获得良好的性能需要为给定的任务搜索正确的预训练嵌入层,但是很难预测一个预先训练嵌入层是否能够很好地推广到一个新的目标任务,这就需要通过一次次实验来验证了。
值得庆幸的是,在计算机视觉领域中的相关研究提供了一种可行的替代方案。在计算机视觉领域中,使用预先训练的特征表示已经在很大程度上被“微调”预训练模型而不仅仅是学习最终分类层的方法所取代。修改源模型的所有权重,而不是简单地重新初始化和学习最终分类层的权重。随着训练数据可用性的增加,这种额外的模型灵活性开始带来回报。
这种方法的来源基础已有几年历史了——从Yosinski、Clune、Bengio等人在2014年探讨了开始,直到最近这个过程才成为普遍的做法。现在,在CNN网络中应用微调方法是很常见的,斯坦福大学中将这一过程作为课程的一部分,以及Mahajan等人的2018年论文(“”)表明,当模型性能作为至关重要时,应该始终使用微调来代替预训练的特征。那么为什么自然语言处理领域如此落后呢?在Sebastian Ruder的一篇文章中写道 “”,他认为造成这个现象的原因是该领域中缺乏用于学习可推广基础模型的既定数据集和源任务。直到最近,自然语言处理领域仍然缺乏ImageNet类似的数据集。
然而,在最近的论文中,如 Howard 和Ruder的 “” 和Radford的论文 “” 已经证明模型微调最终在自然语言领域中显示出前景。尽管在这些论文中采用的源数据集各不相同,但NLP领域似乎正在将“语言建模”目标标准化,作为训练可迁移基础模型的首选。 简单地说,语言建模是预测序列中下一个单词的任务。鉴于部分句子“我以为我会按时到达,但最终____5分钟”,对于读者来说,下一个单词将是“迟到”的同义词是相当明显的。有效地解决这一任务不仅需要理解语言结构(名词遵循形容词,动词有主语和对象等),还需要根据广泛的语境线索做出决策的能力(“迟到”是填写在示例中的空白处,因为前面的文本提供了说话者正在谈论时间的线索。)此外,语言建模具有不需要标记的训练数据这一理想特性,且原始文本对于每一个可想象的领域都是丰富的。这两个特性使得语言建模成为学习可泛化的基本模型的理想选择。 然而,语言建模目标并不是使NLP模型微调的唯一必要条件。使用 代替典型的复现模型(LSTM)也发挥了重要作用。在“通过生成性预训练提高语言理解力”中看到,微调迁移模型的性能与微调复现(LSTM)模型之间存在显着差异。LSTM不再是序列建模的标准——非循环模型已经在各类任务中表现出强有力的竞争性。 John Miller的博客文章中写道,“ ”,暗示LSTM理论上的无限记忆可能实际上并不存在。此外,固定的上下文窗口存储器可能足以解决诸如语言建模之类的任务,并且迁移模型的残余块结构似乎很适合迁移学习应用程序。简而言之,迁移模型的理论缺点被其优势所抵消,例如更快的训练和预测时间。鉴于最近的进展,让我们重新看看微调模型如何满足之前的要求:
虽然它有一定的局限性,但NLP任务的模型微调具有很大的前景,并且已经显示出优于当前使用预训练的文字和文档嵌入层这一最佳实践的明显优势。
Sebastian Ruder总结到:“在NLP领域中实践迁移学习的时机已经成熟。鉴于ELMo、ULMFiT和OpenAI取得的令人印象深刻的实证结果,这似乎只是时间问题,最终直到预训练的单词嵌入层将被淘汰,这可能会促进在标签数据量有限的NLP领域中开发出许多新的应用程序。王者已逝,新的王者也诞生!“
我们早期的基准测试证实,对使用预先训练的表示进行微调模型有一个通用的好处。下面是使用我们的迁移学习基准测试工具获得的最近基准测试的输出示例 。
图中的每个点表示来自完整数据集的随机子集上的5次试验的平均值+ 95%置信区间。X轴表示可用的标记训练数据点数量,Y轴分别是平均ROC AUC和精度。在拟合之前对训练数据集进行过采样,这些结果是拟合约2500个模型的集合。 微调模型是OpenAI的迁移语言模型的实现,基线模型是在手套词嵌入上训练的交叉验证逻辑回归。尽管存在更强的基线用于比较,但是在该训练数据量下,手套嵌入的平均值对于大多数分类任务来说是比较好的基线了。后续希望在未来的基准测试中发布与其他方法的比较,但仍然令人惊讶的是,在只有100个标记的训练样例下,模型微调取得的效果仍优于简单的基线。有关23种不同分类任务的完整基准测试可在 下载 。鉴于这一最近的发展,Indico开源了一个,用于OpenAI在迁移模型微调方面的工作。 我们尝试通过将其打包成易于使用的,使Radford的研究应用更加广泛,后续会讲述如何使用一些简短的代码使用微调来实现对自己任务的改进敬请期待。
Madison May 数据解决方案首席技术官
本文由阿里云云栖社区组织翻译。文章原标题《More Effective Transfer Learning for NLP》,译者:海棠,审校:Uncle_LLD。文章为简译,更为详细的内容,请。转载地址:http://negol.baihongyu.com/