丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給skura
發(fā)送

0

初入NLP領(lǐng)域的一些小建議

本文作者: skura 2019-03-14 11:56
導(dǎo)語(yǔ):干貨滿滿

雷鋒網(wǎng) AI 科技評(píng)論按,本文作者是香儂科技的李紀(jì)為,原載于知乎,雷鋒網(wǎng)獲得授權(quán)轉(zhuǎn)載。

ACL2019 投稿剛剛落幕,投稿數(shù)超過(guò)了 2800 篇,可以說(shuō)是歷史以來(lái)最盛大的一屆 ACL。在深度學(xué)習(xí)的推動(dòng)下,自然語(yǔ)言處理這個(gè)子領(lǐng)域也逐漸被推上人工智能大舞臺(tái)的最前列。

最近在跟同學(xué)的郵件、或者知乎留言中的交流中,不少同學(xué)尤其是剛?cè)耄╦in)門(keng)的同學(xué),提到了深度學(xué)習(xí)背景下做 NLP 科研的很多迷茫?;究梢詺w納為如下幾點(diǎn):如今一個(gè)模型,幾十行 TensorFlow 或者 PyTorch 就可以解決掉,大家不厭其煩地刷數(shù)據(jù)集的 benchmark,但是因?yàn)槿缃駥?shí)現(xiàn)模型的門檻低一些,SOTA 很難再刷的上去;就算好不容易刷上去了,因?yàn)槟P颓宦蔁o(wú)非修修補(bǔ)補(bǔ),文章投出去了因?yàn)?novelty 受限,文章中不中看天;即便是文章中了,似乎并無(wú)太大新意,灌水中已然迷茫。

深度算法的風(fēng)靡會(huì)讓研究者過(guò)度關(guān)心這些算法本身,而層出不窮模型結(jié)構(gòu)的調(diào)整和改進(jìn)又讓我們眼花撩花。當(dāng)侃侃而談深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)變成一個(gè)很 cool 的事情的時(shí)候,人們的虛榮心會(huì)使得不約而同地忽略了幾個(gè)重要點(diǎn)?;谖易约憾嗄陙?lái)曾經(jīng)走過(guò)的彎路,踩過(guò)的坑,這篇文章做一點(diǎn)點(diǎn)小的總結(jié)。希望會(huì)對(duì)剛剛進(jìn)入 NLP 領(lǐng)域的同學(xué)有所幫助。

1.了解 NLP 的最基本知識(shí):Jurafsky 和 Martin 的 Speech and Language Processing 是領(lǐng)域內(nèi)的經(jīng)典教材,里面包含了 NLP 的基礎(chǔ)知識(shí)、語(yǔ)言學(xué)掃盲知識(shí)、基本任務(wù)以及解決思路。閱讀此書(shū)會(huì)接觸到很多 NLP 的最基本任務(wù)和知識(shí),比如 tagging, 各種 parsing,coreference, semantic role labeling 等等等等。這對(duì)于全局地了解 NLP 領(lǐng)域有著極其重要的意義。書(shū)里面的知識(shí)并不需要爛熟于心,但是刷上一兩遍,起碼對(duì)于 NLP 任務(wù)有基本認(rèn)識(shí),下次遇到了知道去哪里找還是非常有意義的。另外 Chris Manning 的 introduction to information retrieval 也是一本可以掃一下盲的書(shū),當(dāng)然我認(rèn)為依然不需要記住所有細(xì)節(jié),但輪廓需要了解。IR 里面的很多基本算法跟 NLP 有不少的重合。說(shuō)說(shuō)我自己曾經(jīng)走過(guò)的彎路。Stanford NLP 的 qualification 考試的一部分就是選一些 jurafsky 和 manning 書(shū)里面的一些 chapter 來(lái)讀,然后老師來(lái)問(wèn)相關(guān)問(wèn)題。開(kāi)始我一直對(duì)里面的東西懶得看,所以 qualification 考試一拖再拖。但博士最后一年沒(méi)辦法拖的時(shí)候,才發(fā)現(xiàn)如果早知道這些東西,博士早年可以少走很多彎路。

為什么了解 NLP 基礎(chǔ)知識(shí)的重要,我給大家舉幾個(gè)例子。

最近跟同學(xué)一起做語(yǔ)言模型 language modeling 相關(guān)的事情,很多同學(xué)用 LSTM 或者 transformers 做 language model 隨手就能實(shí)現(xiàn),但是實(shí)現(xiàn)一個(gè) bigram 或者 trigram 的 language model(LM)卻因?yàn)槔锩娴?OOV 的平滑問(wèn)題卡了大半天(熟悉的同學(xué)可能知道,需要拉普拉斯平滑或者更 sophisticated 的 Kneser-Ney 平滑)。為什么 bigram 或者 trigram 的 LM 很重要呢?去做一個(gè)語(yǔ)言模型的問(wèn)題,實(shí)現(xiàn)深度模型之前,第一步其實(shí)就要去寫(xiě)一個(gè) bigram 或者 trigram 的 LM。為什么呢?因?yàn)檫@些 N-gram 模型實(shí)現(xiàn)簡(jiǎn)單,并且 robust。通過(guò)這樣簡(jiǎn)單的實(shí)現(xiàn),可以告訴你這個(gè)數(shù)據(jù)集的 LM 模型的下限。這樣我們心里會(huì)有數(shù),神經(jīng)網(wǎng)絡(luò)模型至少不應(yīng)該比這個(gè)模型差的。神經(jīng)網(wǎng)絡(luò)模型因?yàn)槠涑瑓?shù)、梯度爆炸等問(wèn)題,有時(shí)候我們不太容易決定是真的模型不行、參數(shù)沒(méi)調(diào)好還是代碼有 bug。那么通過(guò) N-gram LM 的給出的下限,我們就可以直觀地知道神經(jīng)網(wǎng)絡(luò)是有 bug 還是沒(méi)調(diào)好參數(shù)。

第二個(gè)例子就是涉及發(fā)文章了,不知道有沒(méi)有同學(xué)想過(guò),BERT 里面訓(xùn)練 LM 的隨機(jī)替換為什么就使結(jié)果變好,隨機(jī)替換是什么鬼,怎么結(jié)果就好了。其實(shí)在 BERT 之前,斯坦福的吳恩達(dá)組的 Ziang Xie 的 Data Noising as Smoothing in Neural Network Language Models ICLR2017(https://arxiv.org/pdf/1703.02573.pdf)就首次提出了此方法,而且給出了理論解釋。這種 random 替換其實(shí)本質(zhì)上屬于 language modeling 里面基于 interpolation 的平滑方式,而基于 interpolation 的 LM 平滑,就躺在 jurafsky 那本書(shū)的第 3.4.3 節(jié)。

2.了解早年經(jīng)典的 NLP 模型以及論文:相比簡(jiǎn)單粗暴的神經(jīng)網(wǎng)絡(luò)模型,早年的 NLP 算法確實(shí)比較繁瑣復(fù)雜,但里面確實(shí)有很多早年學(xué)者在硬件條件艱苦情況下的智慧結(jié)晶。熟悉了這些模型,可以在現(xiàn)在神經(jīng)網(wǎng)絡(luò)里面融會(huì)貫通。去年在人民大學(xué)做 seminar。Seminar 有大概 30-40 位同學(xué)參加。Seminar 中,我問(wèn)了一個(gè)問(wèn)題,有誰(shuí)知道機(jī)器翻譯中的 IBM 模型大概是干嘛的,舉手的同學(xué)大概有五分之一。我再問(wèn),誰(shuí)能來(lái)手寫(xiě)(或者大概手寫(xiě))一下 IBM model1,一個(gè)人都沒(méi)有。僅僅從基于 IBM 模型的 Hierarchical Phrase-based MT, 近幾年就有很多篇引用量很高的文章是基于里面的思想的。例子數(shù)不勝數(shù):

  1. chris dyer 組的 Incorporating structural alignment biases into an attentional neural translation model (NAACL16) 提出用雙向 attention 做 neural 機(jī)器翻譯的約束項(xiàng),意思是如果在英語(yǔ)翻譯法語(yǔ)生成的 target 中的一個(gè)法語(yǔ)詞 attend 到了一個(gè) source 中的英語(yǔ)詞,那么反過(guò)來(lái),法語(yǔ)翻譯英文 target 中相同這個(gè)英語(yǔ)詞應(yīng)該也 attend 到 source 中的這個(gè)英語(yǔ)詞。其實(shí)這個(gè)思想就是完完全全相似 Percy Liang 曾經(jīng)的成名作之一,早在 NAACL06 年 Alignment by Agreement,大家通過(guò)題目的意思就可以猜到文章的內(nèi)容,正向翻譯與反向翻譯中的 對(duì)齊 (alignment) 要 一致 (agree)。如今做 neural MT 的同學(xué),有多少同學(xué)讀過(guò) Percy 的這篇大作呢(大家知道 Percy 最多的應(yīng)該是 Squad 吧)。

  2. 處理對(duì)話系統(tǒng)的無(wú)聊回復(fù),用 p(target|source) 做 reranking 現(xiàn)在應(yīng)該已經(jīng)是標(biāo)配。再比如 Rico Sennrich 的成名作之一將 Monolingual data 跟 seq2seq 模型結(jié)合。其實(shí)這連個(gè)思想在 phrase-base MT 里面早就被廣發(fā)的使用。Neural 之前的 MT,需要對(duì)一個(gè)大的 N-best list 用 MERT 做 reranking,反向概率 p(target|source) 以及語(yǔ)言模型概率 p(target) 是 reranking 中 feature 的標(biāo)配。

  3. Harvard NLP 組, Sam Wiseman 和 Alex 發(fā)表的 EMNLP16 best paper runner-up, Sequence-to-Sequence Learning as Beam-Search Optimization, 基本上傳承了 Daume′ III and Daniel Marcu 2005 年的 LaSO 模型,將其思想 adapt 到 neural 里面。

如果再準(zhǔn)本溯源,誕生于 neural MT 的 attention,不就是 IBM 模型的神經(jīng)網(wǎng)絡(luò)版本嘛。

3.了解機(jī)器學(xué)習(xí)的基本模型:神經(jīng)網(wǎng)絡(luò)的簡(jiǎn)單暴力并且有效。但是從科研的角度講,熟悉基本的機(jī)器學(xué)習(xí)算法是必修課。比如吳恩達(dá)的 machine learning 就是必要之選。記得前段時(shí)間我面試一個(gè)小伙子,一看就是很聰明的同學(xué),而且很短的時(shí)間就有一篇 NAACL 在投。我就問(wèn)小伙子,EM 算法是什么,小伙子說(shuō)沒(méi)有聽(tīng)說(shuō)過(guò) EM,而且自己的科研也用不到 EM。我認(rèn)為這其實(shí)是一個(gè)挺大的誤區(qū)。當(dāng)我想起我自己,曾經(jīng)就吃過(guò)很多類似的虧。因?yàn)樵缙跀?shù)學(xué)基礎(chǔ)偏弱,也沒(méi)有決心惡補(bǔ)一下數(shù)學(xué),所以早年每次看到跟 variational inference 相關(guān)的算法就頭大,這種偏科持續(xù)了很久,限制了科研的廣度。相比粗暴的神經(jīng)網(wǎng)絡(luò),CRF 等模型的 inference 確實(shí)相對(duì)復(fù)雜(當(dāng)年我自己也看了很多次才徹底搞明白)。但搞懂這些,是一個(gè) NLP researcher 的基本素養(yǎng)。Pattern Recognition and Machine Learning 那本書(shū),尤其是某些小節(jié)確實(shí)比較難(又暴露了數(shù)學(xué)基礎(chǔ)差的事實(shí)),即便是只是為了過(guò)一遍,也需要很強(qiáng)的耐力才能看完,更不用說(shuō)完全看懂了。我自己也曾經(jīng)半途而廢很多次,如今依然有很多章節(jié)是不太懂的。但是其中的很多基礎(chǔ) chapter,我認(rèn)為還是很值得一讀的。其實(shí)可以組成那種兩三個(gè)人的學(xué)習(xí)小組,不需要有太雄偉的目標(biāo),用個(gè)一年哪怕兩年的時(shí)間,把幾個(gè)重要的 chapter 過(guò)一遍。

NLP 相對(duì)是應(yīng)用科學(xué),并不是特別的數(shù)學(xué)。但是我們天天用的算法的基本數(shù)學(xué)邏輯我認(rèn)為還是需要搞懂,比如 dropout, 比如天天用到的優(yōu)化 (SGD, momentum, adaboost, adagrad),比如各種 batch, layer normalization。這樣其實(shí)可以省去很多浪費(fèi)的時(shí)間,磨刀不誤砍柴工。這些年來(lái),在幫同學(xué)調(diào) bug 的過(guò)程中,我至少遇見(jiàn)過(guò) 3-5 個(gè)同學(xué) training 的時(shí)候開(kāi) dropout, test 的時(shí)候沒(méi)有對(duì)每個(gè) cell 用 (1-dropout) 去 scale(大家不要笑,這是真的)。然后畫(huà)出 dropout 曲線就是 dropout 值越大,結(jié)果越差。在討論的時(shí)候,同學(xué)一臉茫然并且不清楚 test 時(shí)候需要 scale。其實(shí)本質(zhì)就是并不了解 dropout 背后的數(shù)學(xué)原理。

4.多看 NLP 其他子領(lǐng)域的論文:NLP 有很多子領(lǐng)域,MT,信息抽取,parsing,tagging,情感分析,MRC 等等。多多熟悉其他子領(lǐng)域的進(jìn)展是必要的。其實(shí)不同子領(lǐng)域所運(yùn)用的模型不會(huì)相差太大。但是最開(kāi)始看不熟悉領(lǐng)域的問(wèn)題可能會(huì)有一點(diǎn)難,原因是對(duì)問(wèn)題的 formalization 不是很了解。這可能就需要多花一些時(shí)間,多找懂的同學(xué)去問(wèn)。其實(shí)了解不同問(wèn)題的 formalization 也是對(duì)領(lǐng)域知識(shí)最好的擴(kuò)充。

5.了解 CV 和 data mining 領(lǐng)域的基本重大進(jìn)展:當(dāng)熟悉了上面所說(shuō)的點(diǎn)之后(當(dāng)然可能至少也需要一年的時(shí)間)。熟悉 CV 領(lǐng)域的基本任務(wù)、基本算法我認(rèn)為對(duì)于打開(kāi)科研視野很重要。但是不可否認(rèn),因?yàn)轭I(lǐng)域不用,寫(xiě)作風(fēng)格、術(shù)語(yǔ)表達(dá)相差很大,又因?yàn)槿狈Ρ尘爸R(shí)(文章中會(huì)省略一些基礎(chǔ)知識(shí),默認(rèn)大家都懂。但是跨領(lǐng)域的人可能不懂),第一次想讀懂跨領(lǐng)域的文章其實(shí)并不容易。我就出現(xiàn)過(guò)竟然在討論班上直接把 faster-RCNN 講錯(cuò)了的情況,以為自己看懂了,然后就講錯(cuò)了(至今昱先天天還在因?yàn)檫@個(gè)事情調(diào)侃我)。不過(guò)重要的是,NLP 領(lǐng)域里面一些重要的文章其實(shí)或多或少借鑒了 CV 里面的思想,當(dāng)然也同樣出現(xiàn) CV 借鑒 NLP 的情況。NLP 神經(jīng)網(wǎng)絡(luò)可視化、可解釋性的研究,時(shí)間上還是落后于 CV 里面對(duì) CNN 的可視化。所以很多工作大量借鑒了 CV 里面的類似工作。NLP 運(yùn)用 GAN 其實(shí)也是借鑒 CV 的。其實(shí)兩個(gè)領(lǐng)域很多是很相通的。比如,如果不考慮 question query, vision 里面 detection 中的 region proposal(在一個(gè)大的圖片背景下找一個(gè)特定區(qū)域), 大家想是不是跟 MRC 里面的 span extraction(在一大堆文字里面找一個(gè) span)有異曲同工之妙。更不用說(shuō) image caption generation 與 sequence-to-sequence 模型了,本質(zhì)上幾乎沒(méi)什么太大的區(qū)別。強(qiáng)化學(xué)習(xí)在生成領(lǐng)域 generation,發(fā)完了 MT(Ranzato et al., ICLR2016) 再發(fā) image caption generation, 再回到 summarization. Actor-critic 模型也是類似的,還是很多做 generation diversity 的文章。因?yàn)榭珙I(lǐng)域不好懂,所以第一次推薦看 tutorial, 如果有 sudo code 的 tutorial 那就更好了。另外看看掃盲課的視頻,比如 Stanford CS231n 也是個(gè)好辦法。另外,一個(gè) NLP 組里面有一個(gè)很懂 CV 的人也很重要(拜謝昱先),and vise versa。
graph embedding 近兩年崛起于 data mining 領(lǐng)域。目測(cè)會(huì)在(或者已經(jīng)在)NLP 的不少任務(wù)得到廣泛應(yīng)用。想到幾年前,deep walk 借鑒了 word2vec, 開(kāi)始在 data mining 領(lǐng)域發(fā)跡,然后似乎又要輪轉(zhuǎn)回 NLP 了。

當(dāng)然啦如何寫(xiě)論文也是極其重要的一環(huán),但不是這篇文章的主題,強(qiáng)烈推薦清華大學(xué)劉知遠(yuǎn)老師的相關(guān)文章:https://zhuanlan.zhihu.com/p/58752815

先寫(xiě)到這兒,歡迎大家補(bǔ)充拍磚。

香儂科技 李紀(jì)為 2019 年 3 月 11 日

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

初入NLP領(lǐng)域的一些小建議

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)