开始,4条有用小主张,送给初入NLP范畴的你(附链接),沉舟

4条有用小建议,送给初入NLP范畴的你(附链接)

来历:知乎

作者:李纪为

本文约5000字建议阅览10分钟

本文为你介绍了刚跨进NLP范畴需求把握的一些小技巧。


4条有用小建议,送给初入NLP范畴的你(附链接)


ACL2019投稿刚刚闭幕,投稿数超过了2800篇,能够说是前史以来最隆重的一届ACL。在深度学习李怀松的推进下,自然言语处理这个子范畴也逐步被推上人工智能大舞台的最前列。

最近在跟同学的邮件、或许知乎留言中的沟通中,不少同学尤其是刚入(jin)门(keng)的同学,提到了深度学习布景下做NLP科研的许多苍茫。根本能够概括为如下几点:现在一个模型,几十行TensorFlow或许PyTorch就能够处理掉,咱们诲人不倦地刷数据集的benchmark,可是由于现在完成模型的门槛低一些,SOTA很难再刷的上去;就算十分困难刷上去了,由于模型千人一面无非修修补补,文章投出去了由于novelty 受限,文章中不中看天;即便是文章中了,好像并无太大新意,灌水中已然苍茫。

深度算法的风行会让研讨者过度关怀这些算法自身收视率,而层出不穷模型结构的调整和改善又让咱们眼花撩乱。当侃侃而谈深度学习网络结构变成一个很越战cool的作业的时分,人们的虚荣心会使得不谋而合地疏忽了几个重关键。根据我自己多年来从前走过的弯路,踩过的坑,这篇文章做一点点小的总结。期望会对刚刚进入NLP范畴的同学有所协助。


1、了解NLP的最根本常识

Jurafsky和Martin的Speech and Language Processing是范畴内的经典教材,里边包含了NLP的根底常识、言语学扫盲常识、根本使命以及处理思路。阅览此书会接触到许多NLP的最根本使命和常识,比方tagging, 各种parsing,coreference, se开端,4条有用小建议,送给初入NLP范畴的你(附链接),沉舟mantic role labeling等等等等。这关于全局地了解NLP范畴有着极其重要的含义。书里边的常识并不需求纯熟于心,可是刷上一两遍,最少关于NLP使命有根本知道,下次遇到了知道去哪里找仍是十分有含义的。别的 Chris Manning 的 introduction to information retr吸血鬼骑士ieval 也是一本能够扫一下盲的书,当然我认为仍然不需求记住一切细节,但概括需求了解。IR里边的许多根本算法跟NLP有不少的重合。说说我自己从前走过的弯路。Stanford NLP的qualification考试的一部分便是选一些jurafsky 和 manning书里边的一些chapter来读,然后教师来问相关问题。

开端我一直对里边的东西懒得看,所以qualification考试一拖再拖。但博士最终一年没办法拖的时分,才发现假如早知道这些东西,博士早年能够少走许多弯路。

为什么了解NLP根底常识的重要,我给咱们举几个比方。开端,4条有用小建议,送给初入NLP范畴的你(附链接),沉舟

最近跟同学一同做言语模型 language modeling相关的作业,许多同学用LSTM或许transformers做language model顺手就能完成,可是完成一个 bigram 或许 trigram的langu开端,4条有用小建议,送给初入NLP范畴的你(附链接),沉舟age m狐惩淫odel(LM)却由于里边的OOV的滑润问题卡了大半天(了解的同学或许知道,需求拉普拉斯滑润或许更sophisticated的Kneser-Ney滑润)。为什么bigram 或许 trigram的LM很重要呢?去做一个言语模型的问题,完成深度模型之前,第一步其实就要去写一个 bigram 或许 trigram的LM。为什么呢? 由于这些N-gram模型完成简略,而且robust。经过这样简略的完成,能够通知你这个数据集的LM模型的下限。这样咱们心里会稀有,开端,4条有用小建议,送给初入NLP范畴的你(附链接),沉舟神经网络模型至少不应该比这个模型差的。神经网络模型由于其超参数、梯度爆破等问题,有时分咱们不太简略决定是真的模型不可、参数没调好仍是代码有bug。那么经过N-gram LM的给出的下限,咱们就能够直观地知道神经网络是有bug仍是没调好参数。

第二个比方便是触及发文章了,不知道有没有同学想过,BERT里边练习LM的随机开端,4条有用小建议,送给初入NLP范畴的你(附链接),沉舟替换为什么就使成果变好,随机替换是什么鬼,怎样成果就好了。其实在BERT之前,斯坦福的吴恩达组的Ziang Xie的 Data Noising as Smoothing in Neural Networ一女三夫k Language Models ICLR2017(arxiv.org/pdf/1703.0257) 就初次提出了此办法,而且给出了理论解说。这种random替换其实实质上归于language m七绪果帆odeling里边根据interpolation的滑润方法, 而根据interpolation的LM滑润,就躺在jurafsky那本书的第3.4.3节。

http://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1703.02573.pdf


2、了解早年经典的NLP模型以及论文

比较简略粗犷的神经网络模型,早年的NLP算法的确比较繁琐杂乱,但里边的确有许多早年学者在硬件条件艰苦状况下的智慧结晶。了解了这些模型,能够在现在神经网络里边融会贯通。去年在人民大学做seminar。Seminar有大约30-40位同学参与。

Seminar中,我问了一个问题,有谁知道机器翻译中的IBM模型大约是干嘛的,举手的同学大约有五分之一。我再问,谁能来手写(或许大约手写)一下IBM model1,一个人都没有。仅仅从根据IBM模型的Hierarchical Phrase-based MT, 近几年就有许多篇引用量很高的文章是根据里边的思维的。比方不计其数:

  • chris dyer 组的Incorporating structural alignment biases into an attentional neural translation model (NAACL16) 提出用双向attention做neural机器翻译的束缚项,意思是假如在英语翻译法语生成的target中的一个法语词attend到了一个source中的英语词,那么反过来,法语翻译英文 target中相同这个英语词应该也attend到source中的这个英语词。其实这个思维便是完完全全相似 Percy Liang 从前的成名作之一,早在NAACL06年 Alignment by Agreement,咱们经过标题的意思就能够猜到文章的内容,正向翻译与反向翻译中的 对齐(alignment) 要 共同(agree)。如池城今做neural MT的同学,有多少同学读过Percy的梦见自己拉大便这篇高文呢 (咱们知道Percy最多的应该是Squad吧)。
  • 处理对话体系的无聊回复,用反向概率p(source|我国中铁target)做reranking现在应该已经是标配。再比方Rico Sennrich的成名作之一将Monolingual data 跟seq2seq 模型结合。其实这连个思维在phrase-base MT 里边早就被广发的运用。Neural之前的MT,需求对一个大的N-best list用MERT做 reranking, 反向概率 p(source|target) 以及言语模型概率 p(target)是reranking中feature的标配。
  • Harvard NLP组, Sam Wiseman 和Alex 宣布的EMNLP16 best paper runner-up, Sequence-to-Sequence Learning as Beam-Search Optimization, 根本上传承了Daume III and Daniel Marcu张震岳 2005年的 LaSO模型,将其思维adapt到neural里边。


假如再准本溯源,诞生于neural MT的attention排列组合,不便是IBM模型的神经网络版别嘛。


3、了解机器学习的根本模型

神经网络的简略暴力而且有用。可是从科研的视点讲,了解根本的机器学习算法是必修课。比方吴恩达的 machine learning便是必要之选。记住前段时刻我面试一个小伙子,一看便是很聪明的同学,而且很短的时刻就有一篇NAACL在投。我就问小伙子,EM算法是什么,小伙子经典三级片说没有听说过EM,而且自己的科研也用不到EM。

我认为这其实是一个挺大的误区。当我想起我自己,从前就吃过许多相似的亏。由于前期数学根底偏弱,也没有决计恶补一下数学,所以早年每次看到跟variational inference相关的算法就头大,这种偏科继续了好久,约束了科研的广度。比较粗犷的神经网络,CRF等模型的inference的确相对杂乱(当年我自己也看了许屡次才完全搞理解)。但搞懂这些,是一个NLP researcher的根本素质。Pattern Recognition and Machine Learning那本书,尤其是某些末节的确比较难(又暴露了数学根底差的现实),即便是仅仅为了过一遍,也需求很强的耐力才干看完,更不必说完全看懂了。我自己也从前功败垂成许屡次,现在仍然有许多章节是不太懂的。可是其间的许多根底chapter,我认为仍是很值得一读的。其实能够组成那种两三个人的学习小组,不需求有太宏伟的方针,用个一年哪怕两年的时刻,把几个重要的chapter 过一遍。

NLP相对是应用科学,并不是特别的数学。可是咱们天天用的算法的根本数学逻辑我认为仍是需求搞懂,比方dropout, 比方天天用到的优化(SGD, momentum, adaboost, adagrad),比方各种 batch, layer normalizatio翼n。这样其实能够省去许多糟蹋的时刻,磨刀不误砍柴工。这些年来,在帮同学调bug的过程中,我至少遇见过3-5个同学 training 的时分开dropout, test 的时分没有对每个cell用 (1-dropout)去 scale (咱们不要笑,这是真的)。然后画出dropout曲线便是 dropout 值越大,成果越差。在评论的时分,同学一脸茫然而且不清楚test时分需求scale。其实实质便是并不了解dropout背面的数学原理。


4、多看NLP其他子范畴的论文

NLP有许多子范畴,MT,信息抽取,parsing我有一个隐秘,tagging,情感剖析,MRC等等。多多了解其他子范畴的发展是必要的。其实不同子范畴所运用的模型不会相差太大。可是最开端看不了解范畴的问题或许会有一点难,原因是对问题的formalization不是很了解。这或许就需求多花一些时刻,多找懂的同学去问。其实了解不同问题的formalization也是对范畴常识最好描绘夏天的成语的扩大。


5、了解 CV和data mining范畴的根本重大发展开端,4条有用小建议,送给初入NLP范畴的你(附链接),沉舟

当了解了上面所说的点之后(当然或许至少也需求一年的时刻)。了解CV范畴的根本使命、根本算法我认为关于翻开科研视界很重要。可是不可否认,由于范畴不必,写作风格、术语表达相差很大,又由于缺少布景常识(文章中会省掉一些根底常识,默许咱们都懂。可是跨范畴的人或许不明白),第一次想读懂跨范畴的文章其实并不简略。我就呈现过居然在评论班上直接把faster-RCNN讲错了的状况,认为自己看懂了,然后就讲错了(至今昱先天天还在由于这个作业戏弄我)。

不过重要的是,NLP范畴里边一些重要的文章其实或多或少学习了CV里边的思维,当汤圆煮多久然也相同呈现CV学习NLP的状况。NLP神经网络可视化、可解说性的研讨,时刻上仍是落后于CV里边对CNN的可视化。所以许多作业很多学习了CV里边的相似作业。NLP运用GAN其实也是学习CV的。其实两个范畴许多是很相通的。比方,假如不考虑question query, vision里边detection中的 region proposal(开端,4条有用小建议,送给初入NLP范畴的你(附链接),沉舟在一个大的图片布景下找一个特定区域), 咱们想是不是跟MRC里边的 spa绿植租借bjlymfn extraction (在一大堆文字里边找一个span)有异曲同工之妙。更不必说image caption generation与sequence-to-sequence模型了,实质上简直没什么太大的差异。强化学习在生成范畴generation,发完了MT(Ranzato et al., ICLR2016)再发 image caption generation, 再回到summarization. Actor-critic 模型也是相似的,仍是许多做generation diversity的文章。

由于跨范畴不好懂,所以第一次引荐看tutorial, 假如有 sudo code 的tutorial那就更好了。别的看看扫盲课的视频,比方Stanford CS231n也是个好办法。别的,一个NLP组里边有一个很懂CV的人也很重要(感谢昱先), and vise versa。

graph embedding近两年兴起于data mining范畴。目测会在(或许已经在)NLP的不少使命得到广泛应用。想到几年前,deep walk学习了word2vec, 开端在data mining范畴发迹,然后好像又要轮转回NLP了。

作为蛋糕然啦如何写论文也是极其重要的一环,但不是这篇文章的主题,强烈引荐清华大学刘知远教师的相关文章:zhuanlan.zhihu.com/p/58

修改:王菁

校正:林亦霖

— 完 —

重视清华-青岛数据科学研讨院官方微信大众渠道“THU数据派”及姊妹号“数据派THU”获取更多讲座福利及优质内容。

转载原创文章请注明,转载自188金宝搏下载ios_188金保博电脑网址_188金宝搏 ios下载,原文地址:http://www.slashchick.com/articles/26.html

上一篇:金山词霸,海口将新添一所公办校园,可增加幼儿园至高中3960个学位,人形何首乌

下一篇:建筑学,台胞在闽申领驾驶证更便当,不知火明乃