nlp经典模型复现之开宗明义(代码片段)

herosunly herosunly     2022-12-13     225

关键词:

1. 为什么要写这个专栏

  大家好,我是herosunly,从985院校硕士毕业,现担任算法研究员一职。CSDN博客专家,2020年博客之星TOP。曾获得阿里云天池比赛第一名等Top名次,拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。

  7月初写了一篇保姆级人工智能学习成长路径,得到了读者的广泛好评。但不少读者觉得意犹未尽,希望能出更加详尽的课程,比如如何能够真正入门某一细分领域,如NLP(自然语言处理)。为了帮助热爱学习的同学,在工作之余,特意编写NLP经典模型复现专栏。之所以写此专栏,是因为在我心中最快入门某个机器学习领域的方法是read the paper, and reproduce the code(阅读经典论文并复现其代码)。

  很多人可能觉得很诧异,因为在大多数人看来学习视频是入门的最好方式。而我却并不赞同,因为学习视频只能算是了解,而无法达到入门的效果。虽然教学的本质应当是传道受业解惑,但在教学的过程中知识层面上受益更大的是老师,而并非学生(费曼学习法的本质,感兴趣的同学可以深入了解该方法)。而入门的真正有效的方法唯有动手实践,那么就让我陪伴大家开启这次NLP经典模型复现之旅吧。

  为了减轻上手学习的难度,在本次学习中采用的深度学习框架是Pytorch。主要原因在于该框架方便调试。如果大家有强烈的需求,后续也会增加相应的Tensorflow版本。

2. 专栏的主要内容

  首先我会从NLP领域中最为基础性的工作即词向量。在第一部分中,要复现的经典词向量模型包括NNLMword2vecFastText等。那么简要说明一下它们之间的关系。在词向量中最为经典的模型当属word2vec,NNLM是word2vec的鼻祖,也是非常具有代表性的工作。然后在word2vec的基础上又发展了FastText和Glove。

  第二部分会深入讲解神经网络经典模型:卷积神经网络和循环神经网络在文本中的应用,即TextCNNTextRNNTextLSTMBi-LSTM(双向LSTM)。

  紧接着第三部分会讲解Seq2Seq模型及其应用(如机器翻译等任务),并引出Attention(注意力机制)是如何在原有模型基础上进行改进的。

  第四部分会讲解这两年大红大紫的TransformerBERT模型。

3. 阅读论文的正确姿势

  很多同学不注重学习方法,不思考问题的本质就盲目的阅读论文。表面上是勤奋,但实际上是战略上的懒惰。由于本次学习任务主要是复现模型,而不是把握论文中的每一个细节。所以我们学习的重点是模型的架构实现模型的一些重要技巧(包括一些重要参数的设置)。

  如果经过认真阅读某一篇经典论文后,也无法提取到上述信息。此时学习的正确姿势是寻找是否存在别的经典论文,并再进行研读。因为某些经典模型对应的paper往往不止一篇。如果再找不到,也可以寻找一些经典的博客进行学习。而不是本末倒置,一上来去学习博客,这是学习的大忌。

  可能对于部分同学来说,阅读并复现论文有些困难,可以先学习我的专栏:机器学习入门之工具篇

  最后再分享一个精心打磨的专栏: Al比赛教程。分享各类Al比赛(阿里云天池、科大讯飞等)前几名队伍的成功经验,包括NLP,CV、语音、时序预测、信息安全等方向。其中也包括自己取得的阿里云第一名的经验分享。也包括打比赛提分的一些实用tricks ,从而更好的帮助新手入门数据科学竞赛。

nlp经典案例transformer构建语言模型(代码片段)

Transformer构建语言模型引言1.导入必备的工具包2.导入wikiText-2数据集并作基本处理3.构建用于模型输入的批次化数据4.构建训练和评估函数5.进行训练和评估(包括验证以及测试)引言什么是语言模型:以一个符合语言规律的序列为输... 查看详情

nlp经典案例transformer构建语言模型(代码片段)

Transformer构建语言模型引言1.导入必备的工具包2.导入wikiText-2数据集并作基本处理3.构建用于模型输入的批次化数据4.构建训练和评估函数5.进行训练和评估(包括验证以及测试)引言什么是语言模型:以一个符合语言规律的序列为输... 查看详情

预训练模型代码深度剖析之开宗明义:新学常见误区和正确的学习姿势

  最近在给新徒弟讲授预训练模型的过程中,发现了初学者的几个误区,分别是:在整个学习过程中,重理论轻代码,忽略了将论文和代码进行对齐,而由于代码中往往包括了一些论文中不曾讲到的细节,所以也未曾达到全面... 查看详情

nlp带你认识经典的序列模型-hmm与crf(代码片段)

认识经典的序列模型HMM与CRF1.HMM模型1.1HMM模型的输入和输出1.2HMM模型的作用1.3HMM模型使用过程简述2.CRF模型2.1CRF模型的输入和输出2.2CRF模型的作用2.3CRF模型使用过程简述3.HMM与CRF模型之间差异4.HMM和CRF的发展现状5.总结1.HMM模型1.1HMM... 查看详情

nlp模型bert和经典数据集!(代码片段)

 Datawhale干货 作者:陈安东,中央民族大学,Datawhale成员对于刚入门NLP的伙伴来说,看到NLP任务很容易觉得眼花缭乱,找不到切入点。总的来说,NLP分为五大类无数小类,虽然种类繁多,却环环相... 查看详情

预训练模型代码深度剖析之开宗明义:新学常见误区和正确的学习姿势

  最近在给新徒弟讲授预训练模型的过程中,发现了初学者的几个误区,分别是:在整个学习过程中,重理论轻代码,忽略了将论文和代码进行对齐,而由于代码中往往包括了一些论文中不曾讲到的细节,所以也未曾达到全面... 查看详情

datawhale之nlp学习-打卡(代码片段)

...本分类赛题目标:入门自然语言处理,接触NLP的预处理、模型构建和模型训练等知识点赛题任务:对新闻文本进行分类2.学习目标理解赛题背景与赛题数据3.赛题数据报名比赛后即可下载相应数据:以匿名处理后的新闻数据为赛... 查看详情

[注意力机制]经典网络模型2——cbam详解与复现(代码片段)

...;深度学习篇:简单入门PyTorch🏆神经网络篇:经典网络模型💻算法篇:再忙也别忘了LeetCode[注意力机制]经典网络模型2——CBAM详解与复现🚀ConvolutionalBlockAttentionModule🚀CBAM详解🎨背景知识🎨论... 查看详情

nlp实战|整体设计之数据集/模型管理(代码片段)

...康度非常有用。关于这方面,Google测试博客上有三篇经典的文章,推荐阅读:HackableProjects-Pillar1:CodeHealthHackableProjects-Pillar2:DebuggabilityHackableProjects-Pillar3:Infrastructure“Hackable”就是要能在需要时自由地对一个系统的内部... 查看详情

[注意力机制]经典网络模型1——senet详解与复现(代码片段)

...;深度学习篇:简单入门PyTorch🏆神经网络篇:经典网络模型💻算法篇:再忙也别忘了LeetCode[注意力机制]经典网络模型1——SENet详解与复现🚀Squeeze-and-ExcitationNetworks🚀SENet详解🎨Squeeze-and-Excitationblo... 查看详情

2022搜狐校园nlp算法大赛情感分析第一名方案理解和复现(代码片段)

目录一、比赛和方案理解baseline的缺陷第一名的方案数据维度变化二、代码实现第一名代码swa——平均权重baseline代码三、效果展示第一名的方案:a、adamW+swab、sgd+swa baseline的方案    在知乎上看到2022搜狐校园NLP算法... 查看详情

线程同步之经典模型——生产者消费者模型(代码片段)

生产者-消费者模型1、条件变量条件变量是线程之间的一种通知机制,当某个共享数据达到某个条件时,唤醒等待这个条件的线程。通过线程间共享的全局变量进行同步一个线程等待“条件变量条件成立”而阻塞另一个线... 查看详情

nlp实战|整体设计之代码篇(代码片段)

...体性的构建。我们看到NLP的实战决不仅仅是单纯的算法或模型问题,立足于算法/模型,但整体性的工程构建工作也需要持续更新,同时模型和算法相关的实际开发也不仅仅是某个单一模型或者某个超大预训练模型就... 查看详情

nlp文本情感分类(代码片段)

...这里我们会完成一个文本情感分类的案例现在我们有一个经典的数据集IMDB数据集,地址:http://ai.stanford.edu/~amaas/ 查看详情

nlp(十八)利用albert提升模型预测速度的一次尝试(代码片段)

...度模型模型,在那篇文章中,笔者利用kashgari模块实现了经典的BERT+Bi-LSTM+CRF模型结构,在标注了时间的文本语料(大约2000多个训练句子)中也达到了很好的识别效果,但是也存在着不足之处,那就是模型的预测时间过长,平均... 查看详情

resnet(代码片段)

...部文章请参见:博客文章导航目录本文归属于:经典CNN复现系列前文:GoogLeN 查看详情

机器学习中的数学之开宗明义篇

  大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,科大讯飞比赛第三名,CCF比赛第四名。拥有多项发明专利。对机器学习和深度学习拥有自己... 查看详情

模型复现超简单复现轻量架构网络模型<shufflenet—v2>(代码片段)

【模型复现】超简单复现轻量架构网络模型《Shufflenet—v2》极链AI云关注极链AI云公众号,学习更多知识!文章目录【模型复现】超简单复现轻量架构网络模型《Shufflenet—v2》一、模型详情1.模型简介2.关键词3.应用场景4.... 查看详情