手把手教你数据不足时如何做深度学习NLP

作为数据科学家,你最重要的技能之一应该是为你的问题选择正确的建模技术和算法。几个月前,我试图解决文本分类问题,即分类哪些新闻文章与我的客户相关。

我只有几千个标记的例子,所以我开始使用简单的经典机器学习建模方法,如TF-IDF上的Logistic回归,但这个模型通常适用于长文档的文本分类。

在发现了我的模型错误之后,我发现仅仅是理解词对于这个任务是不够的,我需要一个模型,它将使用对文档的更深层次的语义理解。

深度学习模型在复杂任务上有非常好的表现,这些任务通常需要深入理解翻译、问答、摘要、自然语言推理等文本。所以这似乎是一种很好的方法,但深度学习通常需要数十万甚至数百万的训练标记的数据点,几千的数据量显然是不够的。

通常,大数据集进行深度学习以避免过度拟合。深度神经网络具有许多参数,因此通常如果它们没有足够的数据,它们往往会记住训练集并且在测试集上表现不佳。为了避免没有大数据出现这种现象,我们需要使用特殊技术。

在这篇文章中,我将展示我在文章、博客、论坛、Kaggle上发现的一些方法,以便在没有大数据的情况下更好地完成目标。其中许多方法都基于计算机视觉中广泛使用的最佳实践。

则化

正则化方法是在机器学习模型内部以不同方式使用的方法,以避免过度拟合,这个方法具有强大的理论背景并且可以以通用的方式解决大多数问题。

L1和L2正则化

这个方法可能是最古老的,它在许多机器学习模型中使用多年。在这个方法中,我们将权重大小添加到我们试图最小化的模型的损失函数中。这样,模型将尝试使权重变小,并且对模型没有帮助的权重将显着减小到零,并且不会影响模型。这样,我们可以使用更少数量的权重来模拟训练集。有关更多说明,你可以阅读这篇文章。

Dropout

Dropout是另一种较新的正则化方法,训练期间神经网络中的每个节点(神经元)都将被丢弃(权重将被设置为零),这种方式下,网络不能依赖于特定的神经元或神经元的相互作用,必须学习网络不同部分的每个模式。这使得模型专注于推广到新数据的重要模式。

提早停止

提早停止是一种简单的正则化方法,只需监控验证集性能,如果你发现验证性能不断提高,请停止训练。这种方法在没有大数据的情况下非常重要,因为模型往往在5-10个时期之后甚至更早的时候开始过度拟合。

参数数量少

如果你没有大型数据集,则应该非常小心设置每层中的参数和神经元数量。此外,像卷积层这样的特殊图层比完全连接的图层具有更少的参数,因此在它们适合你的问题时使用它们非常有用。

数据增强

数据增强是一种通过以标签不变的方式更改训练数据来创建更多训练数据的方法。在计算机视觉中,许多图像变换用于增强数据集,如翻转、裁剪、缩放、旋转等。

这些转换对于图像数据很有用,但不适用于文本,例如翻转像“狗爱我”这样的句子不是一个有效的句子,使用它会使模型学习垃圾。以下是一些文本数据增强方法:

同义词替换

在这种方法中,我们用他们的同义词替换我们文本中的随机单词,例如,我们将句子“我非常喜欢这部电影”更改为“我非常爱这部电影”,它仍具有相同的含义,可能相同标签。这种方法对我来说不起作用,因为同义词具有非常相似的单词向量,因此模型将两个句子看作几乎相同的句子而不是扩充。

方向翻译

在这种方法中,我们采用我们的文本,将其翻译成具有机器翻译的中间语言,然后将其翻译成其他语言。该方法在Kaggle毒性评论挑战中成功使用。例如,如果我们将“我非常喜欢这部电影”翻译成俄语,我们会得到“Мнеоченьнравитсяэтотфильм”,当我们翻译成英文时,我们得到“I really like this movie”。反向翻译方法为我们提供了同义词替换,就像第一种方法一样,但它也可以添加或删除单词并解释句子,同时保留相同的含义。

文件裁剪

新闻文章很长,在查看数据时,有时不需要所有文章来分类文档。这让我想到将文章裁剪为几个子文档作为数据扩充,这样我将获得更多的数据。首先,我尝试从文档中抽取几个句子并创建10个新文档。这就创建了没有句子之间逻辑关系的文档,但我得到了一个糟糕的分类器。我的第二次尝试是将每篇文章分成5个连续句子。这种方法运行得非常好,给了我很好的性能提升。

生成对抗性网络

GAN是数据科学中最令人兴奋的最新进展之一,它们通常用作图像创建的生成模型。这篇博客文章解释了如何使用GAN进行图像数据的数据增强,但它也可能用于文本。

迁移学习

迁移学习是指使用来自网络的权重,这些网络是针对你的问题通过另一个问题(通常是大数据集)进行训练的。迁移学习有时被用作某些层的权重初始化,有时也被用作我们不再训练的特征提取器。在计算机视觉中,从预先训练的Imagenet模型开始是解决问题的一种非常常见的做法,但是NLP没有像Imagenet那样可以用于迁移学习的非常大的数据集。

预先训练的词向量

NLP深度学习架构通常以嵌入层开始,该嵌入层将一个热编码字转换为数字矢量表示。我们可以从头开始训练嵌入层,但我们也可以使用预训练的单词向量,如Word2Vec,FastText或Glove,这些词向量使用无监督学习方法训练大量数据或训练我们域中的数据。预训练的词向量非常有效,因为它们为基于大量数据的单词提供模型上下文,并减少模型的参数数量,从而显着降低过度拟合的可能性。你可以在此处阅读有关词嵌入的更多信息。

预先训练的句子向量

我们可以将模型的输入从单词更改为句子,这样我们可以使用较少的模型,其中参数数量较少,仍然具有足够的表达能力。为了做到这一点,我们可以使用预先训练好的句子编码器,如Facebook的InferSent或谷歌的通用句子编码器。我们还可以使用跳过思维向量或语言模型等方法训练未标记数据的句子编码器。你可以从我之前的博文中了解有关无监督句子向量的更多信息。

预先训练的语言模型

最近的论文如ULMFIT、Open-AI变换器和BERT通过在非常大的语料库中预训练语言模型,为许多NLP任务获得了惊人的结果。语言模型是使用前面的单词预测句子中的下一个单词的任务。对我来说,这种预训练并没有真正帮助获得更好的结果,但文章已经展示了一些方法来帮助我更好地微调,我还没有尝试过。这是一个关于预训练语言模型的好博客。

无人监督或自我监督学习的预训练

如果我们有一个来自未标记数据的大型数据集,我们可以使用无监督的方法,如自动编码器或掩码语言模型,仅使用文本本身预训我们的模型。对我来说更好的另一个选择是使用自我监督。自我监督模型是在没有人类注释的情况下自动提取标签的模型。一个很好的例子是Deepmoji项目,在Deepmoji中,作者训练了一个模型,用于从推文中预测表情符号,在表情符号预测中获得良好结果之后,他们使用他们的网络预先训练了一个获得最新结果的高音扬声器情绪分析模型。表情符号预测和情绪分析显然非常相关,因此它作为预训练任务表现得非常好。新闻数据的自我监督任务可以预测标题、报纸、评论数量、转推的数量等等。自我监督可以是一种非常好的预训方法,但通常很难分辨出哪个代理标签将与你的真实标签相关联。

特征工程

我知道深度学习“杀死”了特征工程,这样做有点过时了。但是,当你没有大数据集时,让网络通过特征工程学习复杂模式可以大大提高性能。例如,在我对新闻文章的分类中,作者、报纸、评论、标签和更多功能的数量可以帮助预测我们的标签。

多模式架构

我们可以使用多模式架构将文档级特征组合到我们的模型中。在multimodal中,我们构建了两个不同的网络,一个用于文本、一个用于特征,合并它们的输出层并添加更多层。这些模型很难训练,因为这些特征通常比文本具有更强的信号,因此网络主要学习特征效果。这是关于多模式网络的伟大的Keras教程。这种方法使我的性能表现提高了不到1%。

字级(word level)特征

另一种类型的特征工程是词级特征,如词性标注、语义角色标记、实体提取等。我们可以将一个热编码表示或词级特征的嵌入与词的嵌入相结合,并将其用作模型的输入。我们也可以在这个方法中使用其他单词特征,例如在情感分析任务中我们可以采用情感字典并为嵌入添加另一个维度,其中1表示我们在字典中的单词,0表示其他单词,这样模型可以很容易地学习它需要关注的一些词。在我的任务中,我添加了某些重要实体的维度,这给了我一个很好的性能提升。

预处理作为特征工程

最后一种特征工程方法是以一种模型更容易学习的方式预处理输入文本。一个例子是特殊的“阻止”,如果体育对我们的标签不重要,我们可以改变足球,棒球和网球这个词运动,这将有助于网络了解体育之间的差异并不重要,可以减少数量网络中的参数。另一个例子是使用自动摘要,正如我之前所说的,神经网络在长文本上表现不佳,因此我们可以在文本上运行自动汇总算法,如“文本排名”,并仅向网络提供重要句子。

我的模型

我使用预先训练过的词向量来完成我公司为同一数据为该客户所做的另一项任务。作为特征工程,我在词嵌入中添加了实体字级特征。基本模型的这些变化使我的精确度提高了近10%,这使得我的模型从随机性稍微好一点到具有重要业务影响的模型。


阿里云双十一1折拼团活动:满6人,就是最低折扣了!
【满6人】1核2G云服务器99.5元一年298.5元三年 2核4G云服务器545元一年 1227元三年
【满6人】1核1G MySQL数据库 119.5元一年
【满6人】3000条国内短信包 60元每6月
参团地址:http://click.aliyun.com/m/1000020293/


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样判断一个网站是不是前后端分离的?

1.页面右击选择【检查】或者打开谷歌开发者模式 2.选择【NetWork】,重新刷新页面 3. 选择XHR 全称(xmlhttprequest),后,下面会有地址列表;查看页面的数据是从页面渲染的数据还是通过后端api接口获取的 4.左侧点击第一个链接&…

五年,时间告诉我只有自己强大才是真的强大!

曾经以为,阿里可能只是自己经过的一个小小驿站。 却没想到,一来就是五年。 当我们问起那些来了五年的阿里人:过去的这五年里,最“值得”的是什么? 他们这样说—— 回忆起和主管一起坐摩托车去拜访客户的兴奋&#x…

AI:为你写诗,为你做不可能的事

戳蓝字“CSDN云计算”关注我们哦! 最近,一档全程高能的神仙节目,高调地杀入了我们的视野:没错,就是撒贝宁主持,董卿、康辉等央视名嘴作为评审嘉宾,同时集齐央视“三大名嘴”同台的央视《主持人大…

工程师如何“神还原”用户问题?闲鱼回放技术揭秘

我们透过系统底层来捕获ui事件流和业务数据的流动,并利用捕获到的这些数据通过事件回放机制来复现线上的问题。本文先介绍录制和回放的整体框架,接着介绍里面涉及到的3个关键技术点,也是这里最复杂的技术(模拟触摸事件&#xff0c…

英特尔推出世界最大 FPGA 芯片;任正非表示华为尚未直接和美国公司商谈5G技术授权;OpenTitan开源……...

戳蓝字“CSDN云计算”关注我们哦! 嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

前端传递json,后端应该怎样接收呢?

Content-Type: application/json#后端接收方式 RestController RequestMapping("/user") Slf4j public class UserController {/*** param userForm*/PostMapping("/register")public ResponseVo register(RequestBody UserForm userForm) {log.info("…

网络数据隐私保护,阿里工程师怎么做?

个人数据挖掘和个人隐私保护,并非鱼与熊掌,可视分析的技术手段能够帮助我们保护个人隐私数据,避免后续的数据挖掘暴露隐私的同时,平衡数据质量发生的变化,减少对后续数据挖掘的影响。针对网络数据中的隐私保护问题&…

刷爆了!这份被程序员疯传的Python神作牛在哪?

随着AI的兴起,Python彻底火了。除了谷歌爬虫、Google广告等项目在大量使用Python开发。包括豆瓣、知乎在内的很多互联网公司都将 Python 作为了主要编程语言开发。对于程序员来说,Python应用前景广,市场需求大,随之而来的是薪资非…

阿里云李刚:下一代低延时的直播CDN

在上周落幕帷幕的多媒体领域技术盛会——LiveVideoStackCon音视频技术大会上,阿里云的高级技术专家李刚进行了《下一代低延时的直播CDN》技术分享。主讲人李刚,多年关注在CDN这个领域,早期主要研究和cache服务器缓存以及流媒体相关的技术, 专…

教你用一条SQL搞定跨数据库查询难题

导读 日前,某电商用户由于业务发展迅猛,访问量极速增长,导致数据库容量及性能遭遇瓶颈。为降低数据库大小,提升性能,用户决定对架构进行垂直拆分。根据不同的表来进行拆分,对应用程序的影响也更小&#xf…

漫画:什么是公有云、私有云和混合云?

戳蓝字“CSDN云计算”关注我们哦!作者 | 漫话编程 责编 | 阿秃为了方便大家理解,我们尽量用通俗的语言和举例子的方式讲解,并且文中还配备了漫画供大家参考学习。随着最近几年的云计算技术的主键发展和普及,越来越多的企业通过采用…

PTS + ARMS打造性能和应用诊断利器

服务端的性能测试,尤其是业务性能测试,是用来评估性能容量、诊断性能瓶颈和应用错误,或是验证高可用的能力,以此达到降低成本、提升用户体验的目的。但是,当需要有进一步的定位和刨析时,这类性能测试就会显…

Envoy源码分析之Dispatcher

Dispatcher 在Envoy的代码中Dispatcher是随处可见的,可以说在Envoy中有着举足轻重的地位,一个Dispatcher就是一个EventLoop,其承担了任务队列、网络事件处理、定时器、信号处理等核心功能。在Envoy threading model这篇文章所提到的EventLoo…

这项技术厉害了!让旅行者 2 号从星际空间发首批数据!

限时8.3折,立即购票:https://dwz.cn/z1jHouwE物联网作为信息系统向物理世界的延伸,极大地拓展了人类认知和控制物理世界的能力,被称为继计算机和互联网之后的世界信息产业的第三次浪潮,正在深刻地改变着人类的生存环境…

修改文件 华为交换机_华为交换机系统文件管理配置命令大全(二)

11、解压文件&#xff08;unzip&#xff09;<Huawei>dirDirectory of flash:/Idx Attr Size(Byte) Date Time FileName0 drw- - Aug 07 2015 13:51:14 src1 drw- - Apr 02 2016 11:29:41 pmdata2 drw- - Apr 02 2016 11:29:52 dhcp3 -rw- 28 Apr 02 2016 11:29:53 privat…

从阿里云数据库入选Gartner谈数据库的演化

根据全球权威的IT咨询公司Gartner的最新研究报告&#xff0c;在2018年度数据库系统的魔力象限中&#xff0c;阿里云数据库被列入“远见者”象限&#xff0c;这是国产数据库首次进入Gartner魔力象限。Gartner的魔力四象限&#xff0c;描述了数据库厂商的产品能力和市场规模。四个…

申请美国计算机科学,美国计算机科学的申请特点

计算机科学官方定义&#xff1a;计算机科学是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究&#xff0c;计算机科学专业的申请特点如下&#xff1a;申请难度中等学校…

云计算软件生态圈:摸到一把大牌

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 老姜责编 | 阿秃出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;“我觉得我摸着了一把大牌。”软件领域的新锐企业——有赞公司创始人兼CEO白鸦在转向SaaS领域的一个细分市场时&#xff0c;曾对天使投资人…

一体台式计算机名称,【一体台式电脑】一体台式电脑品牌推荐,台式一体机电脑哪款好_什么值得买...

1. Apple 苹果 MXWT2CH/A iMac(2019)27英寸一体机 8GB 2666MHZ DDR4 内存商品简介&#xff1a;Apple 苹果 iMac(2019)27英寸一体机保留了前代产品的27英寸5K屏幕(分辨率5120 x 2880&#xff0c;DCI-P3色域)对比上代Retina视网膜屏幕电脑&#xff0c;外观没有变化&#xff0c;主…

SLS机器学习介绍(02):时序聚类建模

文章系列链接 SLS机器学习介绍&#xff08;01&#xff09;&#xff1a;时序统计建模SLS机器学习介绍&#xff08;02&#xff09;&#xff1a;时序聚类建模SLS机器学习介绍&#xff08;03&#xff09;&#xff1a;时序异常检测建模SLS机器学习介绍&#xff08;04&#xff09;&a…