迁移学习在自然语言处理中的应用

迁移学习近年来在图形领域中得到了快速的发展,主要在于某些特定的领域不具备足够的数据,不能让深度模型学习的很好,需要从其它领域训练好的模型迁移过来,再使用该模型进行微调,使得该模型能很好地拟合少量数据的同时又具备较好的泛化能力(不过拟合)。

在迁移学习任务中,需要事先定义一组源数据集合,使用该集合训练得到预训练好的模型,该模型具备了源数据集合中的一些知识,在目标数据集合上微调该预训练的模型,使得模型能够很好地完成目标数据集合定义的任务,即完成了迁移学习。

由于深度学习模型结构复杂,在NLP领域中迁移学习不够成熟,不知道如何进行迁移、迁移模型的哪个结构部分、源数据集合与目标数据集合之间需要满足怎样的关系。本文以CNN文本分类任务为例进行描述,总结一下迁移学习在NLP领域文本分类任务中的一些经验。

CNN文本分类模型框架

如上图为CNN文本分类的模型结构图,总的模型结构来说可以分为四层:Embedding层、卷积层(含池化层)、全连接隐层、输出层。Embedding层主要将词语映射为词向量表示、卷积层主要对词语矩阵进行卷积操作得到句子的抽象表示、全连接隐层一般是进行维度压缩、输出层是进行分类(对应类别的数量)。

在文本分类任务中的迁移学习,例如源数据集合为新闻文本的分类(数据量大),目标数据集合为短视频标题分类(标注的数据少),通过预先训练的新闻分类模型,在短视频标题分类任务上进行模型(Embedding层、卷积层、全连接隐层、输出层)的微调,使得模型既能完成对少量有监督数据的拟合,又具备相应的泛化能力。下边将针对CNN文本分类任务进行经验总结。

经验与建议

经验

(1)目标数据集合与源数据集合在语义上太相似,反而会影响迁移学习的效果,部分相似效果最好;

(2)源数据集合的词典大小越大、OOV比例越小,迁移效果越好;

(3)对于Embedding层的迁移,无论是固定不变、还是微调效果都挺好;

(4)对于卷积层和隐层,若模型参数固定不变,很难提高迁移学习的效果,除非目标数据集合与源数据集合语义上非常相似、很少的OOV、具备很大的词典;

(5)输出层参数的迁移效果很差;

(6)源数据集合上训练的模型最好不加非线性激活函数,目标数据集上再添加

(7)dropout rate设置在0.5-0.7之间比较好

建议

(1)选择源数据集合时,尽量保证数据量大、OOV少、词典大,语义上与目标数据集合部分相似就行(不要太像);

(2)最好迁移Embedding层;

(3)如果考虑迁移卷积层和隐层,尽量考虑微调,不要使用固定参数。

(4)如果分类类别数量不相同,尽可能不要迁移隐层;

(5)不要试图迁移输出层,除非是在线学习,使用少量数据进行微调(源数据与目标数据基本一致)

参考文献

[1]Semwal

T, Mathur G, Yenigalla P, et al. A Practitioners‘ Guide to Transfer

Learning for Text Classification using Convolutional Neural Networks[J].2018.

转载至
链接:https://www.jianshu.com/p/e56277e2a0f8

原文地址:https://www.cnblogs.com/demo-deng/p/10712298.html

时间: 2024-08-30 09:44:29

迁移学习在自然语言处理中的应用的相关文章

迁移学习全面概述:从基本概念到相关研究

目录: 1.什么是迁移学习? 2.为什么现在需要迁移学习? 3.迁移学习的定义 4.迁移学习的场景 5.迁移学习的应用 从模拟中学习 适应到新的域 跨语言迁移知识 6.迁移学习的方法 使用预训练的 CNN 特征 学习域不变的表征 让表征更加相似 混淆域 7.相关的研究领域 半监督学习 更有效地使用可用的数据 提高模型的泛化能力 让模型更加稳健 多任务学习 持续学习 zero-shot 学习 8.总结 ------------------------------------------------

自然语言处理中CNN模型几种常见的Max Pooling操作

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 CNN是目前自然语言处理中和RNN并驾齐驱的两种最常见的深度学习模型.图1展示了在NLP任务中使用CNN模型的典型网络结构.一般而言,输入的字或者词用Word Embedding的方式表达,这样本来一维的文本信息输入就转换成了二维的输入结构,假设输入X包含m个字符,而每个字符的Word Embedding的长度为d,那么输入就是m*d的二维向量. 图1 自然语言处理中CNN模型典型网络结构 这里可以

(zhuan) 自然语言处理中的Attention Model:是什么及为什么

自然语言处理中的Attention Model:是什么及为什么 2017-07-13 张俊林 待字闺中 要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词.AM模型应该说是过去一年来NLP领域中的重要进展之一,在很多场景被证明有效.听起来AM很高大上,其实它的基本思想是相当直观简洁的.本文作者可以对灯发誓:在你读完这篇啰里啰嗦的文章及其后续文章后,一定可以透彻了解AM到底是什么,以及轻易看懂任何有关论文看上去复杂的数学公

迁移学习(Transfer Learning)(转载)

原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我 们看到机器学习算法在当前的Web挖掘研究中存在着一个关键的问题:一些新出现的领域中的大量训练数据非常难得到.我们看到Web应用领域的发展非常快速.大量新的领域不断涌现,从传统的新闻,到网页,到图片,再到博客.播客等等.传统的机器学习需要

『TensorFlow』迁移学习_他山之石,可以攻玉

目的: 使用google已经训练好的模型,将最后的全连接层修改为我们自己的全连接层,将原有的1000分类分类器修改为我们自己的5分类分类器,利用原有模型的特征提取能力实现我们自己数据对应模型的快速训练.实际中对于一个陌生的数据集,原有模型经过不高的迭代次数即可获得很好的准确率. 实战: 实机文件夹如下,两个压缩文件可以忽略: 花朵图片数据下载: 1 curl -O http://download.tensorflow.org/example_images/flower_photos.tgz 已经

迁移学习( Transfer Learning )

在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关键的问题:一些新出现的领域中的大量训练数据非常难得到.我们看到Web应用领域的发展非常快速.大量新的领域不断涌现,从传统的新闻,到网页,到图片,再到博客.播客等等.传统的机器学习需要对每个领域都标定大量训练数据,这将会耗费大量的人力与物力.而没有大量的标注数据,会使得很多与学习相关研究与应用无法开展

深度学习、自然语言处理和表征方法

简介 过去几年,深度神经网络在模式识别中占绝对主流.它们在许多计算机视觉任务中完爆之前的顶尖算法.在语音识别上也有这个趋势了. 虽然结果好,我们也必须思考……它们为什么这么好使? 在这篇文章里,我综述一下在自然语言处理(NLP)上应用深度神经网络得到的一些效果极其显著的成果.我希望能提供一个能解释为何深度神经网络好用的理由.我认为这是个非常简练而优美的视角. 单隐层神经网络 单隐层神经网络有一个普适性(universality):给予足够的隐结点,它可以估算任何函数.这是一个经常被引用的理论,它

增强学习、增量学习、迁移学习——概念性认知

一.增强学习/强化学习(Reinforcement Learning ) 我们总是给定一个样本x,然后给或者不给label y.之后对样本进行拟合.分类.聚类或者降维等操作.然而对于很多序列决策或者控制问题,很难有这么规则的样本.比如,四足机器人的控制问题,刚开始都不知道应该让其动那条腿,在移动过程中,也不知道怎么让机器人自动找到合适的前进方向.另外如要设计一个下象棋的AI,每走一步实际上也是一个决策过程,虽然对于简单的棋有A*的启发式方法,但在局势复杂时,仍然要让机器向后面多考虑几步后才能决定

自然语言处理中N-Gram模型的Smoothing算法

在之前的文章<自然语言处理中的N-Gram模型详解>里,我们介绍了NLP中的模型.最后谈到,为了解决使用N-Gram模型时可能引入的稀疏数据问题,人们设计了多种平滑算法,本文将讨论其中最为重要的几种. Add-one (Laplace) Smoothing Add-k Smoothing(Lidstone's law) Backoff Interpolation Absolute Discounting Kneser-Ney Smoothing 欢迎关注白马负金羁的博客 http://blog