歡迎來到NLP時事簡報第九期!全文較長,建議收藏
如果想讓自己有趣的研究/項目出現在NLP簡報中,歡迎在訂閱號後臺留言聯繫我們
來看看都有哪些內容,enjoy
1、Research and Publications 📙1.1 RONECRONEC[1]是羅馬尼亞語的命名實體語料庫,在約5000個帶注釋的句子中包含超過26000個實體,屬於16個不同的類。這些句子摘自無版權的報紙,內容涉及多種樣式。該語料庫是羅馬尼亞語言領域針對命名實體識別的第一個舉措。它具有BIO和CoNLL-U Plus格式,可以在此處免費使用和擴展[2]。
1.2 小樣本學習綜述機器學習在數據密集型應用中非常成功,但當數據集很小時,它常常受到阻礙。為了解決這一問題,近年來提出了小樣本學習(Few Shot Learning,FSL)。利用先驗知識,FSL可以快速地泛化到只包含少量有監督信息的樣本的新任務中。來自第四範式和香港科技大學習的研究學者發表了一篇綜述,Generalizing from a Few Examples: A Survey on Few-Shot Learning[3]以充分了解FSL。作者從三個角度對FSL方法進行了分類,如下圖,回顧和討論每個類別的優缺點,並對FSL問題的設置、技術、應用和理論方面也提出了有前景的方向,為未來的研究提供了見解。
1.3 Scaling Laws for Neural Language ModelsJohn Hopkins和OpenAI的研究人員進行了一項實驗性研究,Scaling Laws for Neural Language Models[4],以了解語言模型性能的scaling laws。這種類型的研究可以用作一種指導,以便就如何更有效地利用資源做出更好的決策。總體而言,研究發現較大的模型的樣本效率明顯更高;如果計算和數據有限,則最好通過幾步訓練來訓練大型模型,而不是訓練較小的模型直到收斂為止,見下圖中匯總的結果。作者為訓練大型語言模型(如Transformer)中的過擬合,最佳批大小,微調,架構等方面提供了更多建議。
1.4 預訓練Transformers校準隨著在實際中越來越多地使用經過預訓練的Transformer模型,尤其重要的是要了解其輸出的「可信賴性」。UT Austin最近的一項工作,Calibration of Pre-trained Transformers[5],研究顯示在三個任務(自然語言推理、釋義檢測、常識推理)的領域內以及領域外數據集上,BERT和RoBERTa的後驗概率上相對校準(即與經驗結果一致)。結果表明:(1)開箱即用時,預訓練的模型在域內校準;(2)temperature scaling有效地進一步減小了域內的校準誤差,而標籤平滑處理增加了經驗不確定性則有助於校準領域外後驗概率。
1.5 深度學習的統計學最近的一篇論文,Statistical Mechanics of Deep Learning[6],仔細研究了物理/數學與深度學習之間的聯繫。作者的目的是討論統計力學和機器學習相交的更深層次的主題,有助於理解深度神經網絡的理論及其成功原因的問題。
1.6 Speech-to-Text的ImageNet時刻在Gradient中發布的新文章,Towards an ImageNet Moment for Speech-to-Text[7]中,Alexander Veysov解釋了為什麼他們認為在俄語中語音轉文本(Speech-to-Text,STT)的ImageNet時刻已經到來。在最近幾年中,研究人員也對NLP領域提出了這一說法。但是,為了在STT中實現這一裡程碑,Alexander聲稱必須將許多部分放在一起,例如使模型廣泛可用,最小化計算要求並提高預訓練大型模型的可使用性。
2、Creativity, Ethics, and Society 🌎2.1 瀏覽和搜索COVID-19相關文章在上一期NLP簡報NLP簡報(Issue#8)中,我們介紹了一個名為CORD-19的公開數據集[8],其中包含與COVID相關的論文。Gabriele Sarti編寫了一個交互式工具[9],通過使用SciBERT精細調整的模型[10],可以讓你更有效地搜索和瀏覽這些文件。
reciTAL還發布了一個名為COVID-19 Smart Search Engine[11]的項目,以幫助改進對COVID-19相關文章的搜索和瀏覽,目的是幫助研究人員和醫療保健專業人員快速並有效地發現與COVID-19相關的信息。
2.2 SyferTextOpenMined發布了SyferText[12],這是一個新的隱私保護NLP庫,旨在實現安全和私有的NLP以及私有數據集的文本處理。它尚處於初期階段,但我們認為這是朝著更安全,更道德的AI系統邁出的重要一步。這是一些SyferText入門教程[13]。
2.3 David over Goliath: towards smaller models for cheaper, faster, and greener NLP模型總是越大越好嗎?當回顧過去幾年語言模型規模的演變時,人們可能會認為答案是肯定的。然而,訓練這種怪物的經濟和環境成本很高。同樣,在這種情況下,較大通常意味著速度較慢,但在大多數應用中速度至關重要。這激發了當前NLP趨勢,即在保持性能的同時推動更小,更快和更環保的模型。在此博客文章中,Manuel Tonneau[14]提出了這一新趨勢,該趨勢偏向於以較小的模型為重點,著重於三種近期流行的模型,Hugging Face[15]的DistilBERT、Google[16]的PD-BERT和Microsoft[17]的BERT-of-Theseus。
2.4 科學發現的深度學習綜述如今,許多致力於AI研究的大公司都認為深度學習可以用作科學發現的工具。最近的一篇論文,A Survey of Deep Learning for Scientific Discovery[18]提供了針對不同科學用例的常用深度學習模型的全面綜述。論文中還分享了實現技巧,教程,其他研究摘要和工具。
2.5 機器學習代碼完整性自查清單為了增強可重複性並使其他人更容易地基於已發表的作品,大型組織paperwithcode介紹了ML代碼完整性檢查表[19]。ML代碼完整性清單基於其中提供的腳本和人工製品來評估代碼開源庫。具體而言,它檢查代碼庫是否存在:
3、Tools and Datasets ⚙️3.1 TextVQA 和 TextCaps為了鼓勵建立可以更好地檢測和讀取圖像中文本的模型,並進一步說明其回答問題和生成標題的方式,Facebook AI舉辦了兩個獨立的競賽。這些競賽分別稱為TextVQA[20]挑戰賽和TextCaps[21]挑戰賽,分別針對視覺問題回答和字幕生成任務。
3.2 KeraStroke設計神經網絡時要克服的最大障礙之一是過擬合。當前的泛化改進技術(例如Dropout,Regularization和Early Stoping)在大多數用例中非常有效,但是,當使用大型模型或較小的數據集時,它們往往會略顯不足。為此,Charles Averill開發了KeraStroke[22],這是一種新穎的泛化改進技術套件,適用於大型模型或小型數據集。通過在訓練過程中的某些情況下更改權重值,模型可以動態地適應他們所輸入的訓練數據。
3.3 torchlayerstorchlayers[23]是在PyTorch之上構建的新工具,可自動推斷torch.nn模塊中可用層的形狀和尺寸,例如卷積,遞歸,transformer等等。這意味著你無需顯式定義必須在圖層中手動指定的輸入要素的形狀。這簡化了PyTorch中模型的定義。可以參考下面的用Torchlayers實現的基本分類器的示例:從代碼片段中我們可以看到,線性層僅需要輸出要素的大小,而不是輸出和輸入的大小。這是由torchlayers根據輸入大小來推斷的。
3.4 HaystackHaystack[24]允許你大規模使用transformer模型進行問答任務。它使用Retriever-Reader-Pipeline,其中Retriever是查找候選文檔的快速算法,而Reader是提取細粒度答案的Transformer。它基於Hugging Face的Transformers和Elasticsearch,它是開源的,高度模塊化的且易於擴展。
3.5 教AI總結新聞Curation Corp正在開源40,000個新聞報導的專業摘要。該篇文章,Teaching an AI to summarise news articles: A new dataset for abstractive summarisation[25]為文本摘要提供了很好的介紹 和這項特定任務所面臨的挑戰。此外,它介紹了數據集,以及可以解決的問題,包括圍繞微調方法和文本摘要評估指標的討論,並為將來的工作進行了總結。有關如何訪問數據集的說明,可以在此Github repo[26]中找到,以及使用數據集進行微調的案例[27]。
關於文本摘要,HuggingFace團隊為其Transformers庫[28]庫添加了BART[29]和T5[30]。這些附加功能可進行各種NLP任務,例如抽象摘要,翻譯和問題解答。
4、Articles and Blog posts ✍️4.1 圖神經網絡指南圖神經網絡最近已經被越來越多的任務採用,例如增強計算機視覺模型和預測由於藥物相互作用而產生的副作用等。在此文章中,An Illustrated Guide to Graph Neural Networks[31],Rish提出了有關GNN的直觀說明性指南。
4.2 使用JAX和Haiku微調transformer就在上個月DeepMind開源Haiku,即TensorFlow神經網絡庫Sonnet的JAX版本。這篇博客,finetuning-transformers-with-jax-and-haiku[32]講述了RoBERTa預訓練模型的埠到JAX + Haiku的完整信息,然後進行了演示,微調模型以解決下遊任務。它旨在作為使用Haiku公開的實用程序的實用指南,以允許在JAX的功能編程約束範圍內使用輕量級的面向對象的「模塊」。
4.3 德語NLP進展FlávioClésio寫了一篇非常詳細的文章,A small journey in the valley of Natural Language Processing and Text Pre-Processing for German language[33],介紹了德語自然語言處理方面的挑戰。他分享了許多經驗教訓,哪些是行之有效的,什麼是行不通的,討論了幾種最新方法,應避免的常見問題以及大量學習資源,論文和博客文章。
4.4 法語NLP進展在過去的幾個月中,出現了很多有趣的法語NLP資源。我們之前討論過的是CamemBERT,FlauBERT和PIAF(Pour une IA Francophone)。前兩個是經過預訓練的語言模型,最後一個是法語QA數據集。這篇博客,French language keeping pace with AI: FlauBERT, CamemBERT, PIAF[34]討論了這三個項目以及此過程中提出的一些挑戰。對於使用自己的語言開發不同模型的人們來說,這是一本不錯的閱讀指南。
4.5 在類BERT的語言模型之上自定義分類器Marcin撰寫了一份非常出色的指南,Custom classifier on top of BERT-like language model[35],展示了如何構建自己的分類器(例如情感分類器)接在類似BERT的語言模型上。這是一個很棒的教程,因為它還顯示了如何針對模型的不同部分使用其他代碼庫,例如HuggingFace Tokenizer和PyTorchLightning。在此處查看自己構建分類器的Colab notebook(https://colab.research.google.com/drive/1sajgpLTrTJDzRSlxycy8aE6ysxGqaT18)。
5、Education 🎓5.1 文本數據的探索性數據分析Yonathan Hadar通過各種代碼示例介紹了幾種探索性分析文本數據的方法[36],並提供了詳細的代碼實戰。在dair.ai上介紹了此教程,因為它是非常全面的教程,它使用標準方法來分析任何數據科學家都認為有用的數據。對於任何想要使用文本數據的人來說,這都是一個很好的開始。
5.2 NLP中的嵌入Mohammad Taher Pilehvar和Jose Camacho-Collados公開發布了即將出版的新書的初稿,稱為「Embeddings in Natural Language Processing[37]」。本書的想法是討論嵌入的概念,這些概念代表了NLP中使用最廣泛的技術。正如作者介紹[38],該書包括「向量空間模型和單詞嵌入的基礎知識,以及基於預訓練語言模型的最新句子和上下文嵌入技術。」
5.3 人工智慧簡要指南James V Stone博士最近發表了他的新書,「A Brief Guide to Artificial Intelligence[39]」,目的是全面概述 當前的AI系統及其完成一系列任務的成就。如摘要所述,該書「以非正式的風格編寫,具有全面的詞彙表和更多的閱讀材料清單,這使其成為快速發展的AI領域的理想介紹。」
5.4 ML和DL課程Sebastian Raschka發布了兩份課程Introduction to Deep Learning and Generative Models[40]視頻。你可以在此repo[41]中找到講義和其他材料。
這是關於「離散微分幾何[42]」主題的另一套極好的講座。
Peter Bloem已發布在VU University Amsterdam開設的機器學習入門課程[43]完整的教學大綱,包括視頻和演講幻燈片,主題範圍從線性模型和搜索到概率模型到序列數據模型。
5.5 CNN架構實現Dimitris Katsios提供了一組出色的教程,CNN Architectures - implementations | MLT[44],它們為如何從原始論文中實現卷積神經網絡(CNN)架構提供了指導。他提出了有關如何逐步實現這些目標的方法,其中包括圖表和代碼,並具有推斷模型結構的能力。從這些指南中可以學到很多,可以指導其他人更有效地復現論文。
6、Noteworthy Mentions ⭐️幾個月前,我們介紹了Luis Serrano關於Grokking Machine Learning的出色著作,聽Luis探討更多有關他的書以及他成為ML領域成功的教育者的故事,Grokking Machine Learning with Luis Serrano[45] 。
以下是一些可能會引起您注意的新聞簡報:Sebastian Ruder的NLP新聞簡報[46],Made With ML[47],SIGTYP的新聞簡報[48],MLT新聞簡報[49],Nathan的AI新聞通訊[50]等…
Jupyter現在帶有可視調試器[51],這將使這個流行的數據科學框架更易於用於廣泛用途。
Abhishek Thakur開放了一個很棒的YouTube頻道,Abhishek Thakur[52],他在其中演示了如何在機器學習和NLP中使用現代方法的代碼,一些視頻包括從微調BERT模型分類到建立機器學習框架。
著名的強化學習教授和研究員David Silver因其在計算機遊戲方面的突破性進展而被授予ACM計算獎[53],Silver帶領Al Go團隊擊敗了Lee Sedol。
對於那些有興趣了解NLP流行方法(例如BERT和word2vec)的差異和背後工作原理的人,Mohd提供了關於這些方法的極好易懂且詳細的概述,Demystifying BERT: A Comprehensive Guide to the Groundbreaking NLP Framework[54]。
TensorFlow 2.2.0-rc-1[55] 已經發布,它包括諸如Profiler之類的功能,可以幫助你發現ML模型中的瓶頸並指導對這些模型的優化。此外,Colab[56]現在也已經默認使用TensorFlow 2。
GabrielPeyré在ML優化課程[57]中提供了一組不錯的筆記,包括凸分析,SGD,autodiff,MLP等。
本文參考資料[1]RONEC: https://arxiv.org/abs/1909.01247
[2]免費使用和擴展: https://github.com/dumitrescustefan/ronec
[3]Generalizing from a Few Examples: A Survey on Few-Shot Learning: https://arxiv.org/abs/1904.05046
[4]Scaling Laws for Neural Language Models: https://arxiv.org/abs/2001.08361
[5]Calibration of Pre-trained Transformers: https://arxiv.org/abs/2003.07892
[6]Statistical Mechanics of Deep Learning: https://www.annualreviews.org/doi/abs/10.1146/annurev-conmatphys-031119-050745
[7]Towards an ImageNet Moment for Speech-to-Text: https://thegradient.pub/towards-an-imagenet-moment-for-speech-to-text/
[8]CORD-19的公開數據集: https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge
[9]交互式工具: https://github.com/gsarti/covid-papers-browser
[10]SciBERT精細調整的模型: https://huggingface.co/gsarti/scibert-nli
[11]COVID-19 Smart Search Engine: https://covidsmartsearch.recital.ai/
[12]SyferText: https://github.com/OpenMined/SyferText
[13]SyferText入門教程: https://github.com/OpenMined/SyferText/tree/master/tutorials
[14]Manuel Tonneau: https://www.linkedin.com/in/ACoAABs605YB_jMmGA0iLFongpVm1iKjFmKLSts/
[15]Hugging Face: https://www.linkedin.com/company/huggingface/
[16]Google: https://www.linkedin.com/company/google/
[17]Microsoft: https://www.linkedin.com/company/microsoft/
[18]A Survey of Deep Learning for Scientific Discovery: https://arxiv.org/abs/2003.11755
[19]ML代碼完整性檢查表: https://medium.com/paperswithcode/ml-code-completeness-checklist-e9127b168501
[20]TextVQA: https://textvqa.org/challenge
[21]TextCaps: https://textvqa.org/textcaps/challenge
[22]KeraStroke: https://pypi.org/project/kerastroke/#description
[23]torchlayers: https://github.com/szymonmaszke/torchlayers
[24]Haystack: https://github.com/deepset-ai/haystack/
[25]Teaching an AI to summarise news articles: A new dataset for abstractive summarisation: https://medium.com/curation-corporation/teaching-an-ai-to-abstract-a-new-dataset-for-abstractive-auto-summarisation-5227f546caa8
[26]Github repo: https://github.com/CurationCorp/curation-corpus
[27]使用數據集進行微調的案例: https://github.com/CurationCorp/curation-corpus/tree/master/examples
[28]Transformers庫: https://github.com/huggingface/transformers/releases
[29]BART: https://github.com/pytorch/fairseq/blob/master/examples/bart/README.md
[30]T5: https://github.com/dair-ai/nlp_paper_summaries/blob/master/Language%20Modeling/t5-text-to-text-transformer.md
[31]An Illustrated Guide to Graph Neural Networks: https://dair.ai/An_Illustrated_Guide_to_Graph_Neural_Networks/
[32]finetuning-transformers-with-jax-and-haiku: https://www.pragmatic.ml/finetuning-transformers-with-jax-and-haiku/
[33]A small journey in the valley of Natural Language Processing and Text Pre-Processing for German language: https://flavioclesio.com/2020/02/17/a-small-journey-in-the-valley-of-natural-language-processing-and-text-pre-processing-for-german-language/
[34]French language keeping pace with AI: FlauBERT, CamemBERT, PIAF: https://piaf.etalab.studio/francophonie-ia-english/
[35]Custom classifier on top of BERT-like language model: https://zablo.net/blog/post/custom-classifier-on-bert-model-guide-polemo2-sentiment-analysis/
[36]探索性分析文本數據的方法: https://dair.ai/Exploratory_Data_Analysis_for_Text_Data/
[37]Embeddings in Natural Language Processing: https://medium.com/r/?url=http%3A%2F%2Fjosecamachocollados.com%2Fbook_embNLP_draft.pdf
[38]介紹: https://medium.com/r/?url=https%3A%2F%2Ftwitter.com%2FCamachoCollados%2Fstatus%2F1246013768074747906%3Fs%3D20
[39]A Brief Guide to Artificial Intelligence: https://jim-stone.staff.shef.ac.uk/AIGuide/
[40]Introduction to Deep Learning and Generative Models: https://www.youtube.com/watch?time_continue=1&v=QQD9Y2FiotQ&feature=emb_logo
[41]repo: https://github.com/rasbt/stat453-deep-learning-ss20
[42]離散微分幾何: https://www.youtube.com/watch?v=e-erMrqBd1w&feature=youtu.be
[43]機器學習入門課程: https://mlvu.github.io/
[44]CNN Architectures - implementations | MLT: https://github.com/Machine-Learning-Tokyo/CNN-Architectures/tree/master/Implementations
[45]Grokking Machine Learning with Luis Serrano: https://content.alegion.com/podcast/grokking-machine-learning-with-luis-serrano
[46]Sebastian Ruder的NLP新聞簡報: http://newsletter.ruder.io/
[47]Made With ML: https://madewithml.com/blog/newsletter/2020-03-25/
[48]SIGTYP的新聞簡報: https://sigtyp.github.io/sigtyp-newsletter-Mar-2020.html
[49]MLT新聞簡報: https://mailchi.mp/c70ebcf424b2/mlt-newsletter-6
[50]Nathan的AI新聞通訊: http://newsletter.airstreet.com/issues/your-guide-to-ai-in-q1-2020-part-1-2-212335
[51]可視調試器: https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559
[52]Abhishek Thakur: https://www.youtube.com/channel/UCBPRJjIWfyNG4X-CRbnv78A
[53]授予ACM計算獎: https://awards.acm.org/about/2019-acm-prize
[54]Demystifying BERT: A Comprehensive Guide to the Groundbreaking NLP Framework: https://www.analyticsvidhya.com/blog/2019/09/demystifying-bert-groundbreaking-nlp-framework/
[55]TensorFlow 2.2.0-rc-1: https://github.com/tensorflow/tensorflow/releases/tag/v2.2.0-rc1?linkId=85073218
[56]Colab: https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/quickstart/advanced.ipynb?linkId=85251566
[57]優化課程: https://mathematical-tours.github.io/book-sources/optim-ml/OptimML.pdf