斯坦福經典自然語言處理課程CS224N《自然語言處理未來與深度學習》,包括:大型語言模型如GPT3,組合表示與泛化、NLP模型評估、擴展到其他模態、與深度學習交叉研究。
斯坦福大學 CS224N 深度學習自然語言處理 2021 冬季課程即將開課!
自然語言處理(NLP)或者計算語言學是信息時代最重要的技術之一。從網絡搜索、廣告、電子郵件到客戶服務、語言翻譯、虛擬代理、醫療報告等,NLP 的應用幾乎無處不在。近年來,深度學習(或神經網絡)在許多 NLP 任務上達到了非常高的性能,使用單個端到端神經模型就能完成許多任務,不再需要特定于任務的特征工程。
而提及入門自然語言處理,想必大家都非常熟悉斯坦福大學的公開課 CS224N,它與計算機視覺方面的課程 CS231n 堪稱絕配。CS224N 是一門關于自然語言處理的專項課程,非常系統地介紹自然語言處理任務等相關知識。
機器之心介紹過 CS224N 2019 冬季課程,重點講解了 Transformer 和預訓練表征。今日,斯坦福 NLP Group 宣布 CS224N 深度學習自然語言處理 2021 冬季課程將于當地時間 1 月 12 日開課,授課講師為斯坦福大學教授 Christopher Manning 以及他的三年級博士生 John Hewitt。
課程鏈接://web.stanford.edu/class/cs224n/
該課程全面介紹了 NLP 深度學習的前沿研究。通過講座、作業和結課項目,學生將學到設計、實現和理解各自的神經網絡模型等必要技能。本年度的 CS224n 課程依然使用 PyTorch 授課。
不過遺憾的是,CS224N 2021 冬季課程視頻只對注冊學生開放,課程 PPT 和作業會在網上實時更新。
以ELMO (Peters et al., 2018)、GPT (Radford et al., 2018)和BERT (Devlin et al., 2019)為代表的預訓練語言模型受到了廣泛關注,并提出了大量的變體模型。在這些研究中,一些研究人員致力于將知識引入語言模型(Levine et al., 2019; Lauscher et al., 2019; Liu et al., 2019; Zhang et al., 2019b)。ERNIE-Baidu (Sun et al., 2019)引入新的掩蔽單元,如短語和實體,在這些掩蔽單元中學習知識信息。作為獎勵,來自短語和實體的語法和語義信息被隱式地集成到語言模型中。此外,ERNIE-Tsinghua (Zhang et al., 2019a)探索了一種不同的知識信息,將知識圖譜整合到BERT中,同時學習詞匯、句法和知識信息。Xiong et al. (2019) 將實體替換檢查任務引入到預先訓練的語言模型中,并改進若干與實體相關的下游任務,如問答和實體類型。Wang et al.(2020)提出了一種將知識注入語言模型的插件方式,他們的方法將不同種類的知識保存在不同的適配器中。這些方法所引入的知識信息并沒有很重視KG中圖表化的知識。
問答(QA)是自然語言處理中最早的核心問題之一,并且在許多現實世界的應用(例如搜索引擎和個人助理)中發揮了重要作用。開放域問答在最近幾年重獲關注,它通常基于大量非結構化文檔的收集,旨在自動回答人類以自然語言形式提出的問題。
//web.stanford.edu/class/cs224n/index.html#schedule
注意力(Attention)機制[2]由Bengio團隊與2014年提出并在近年廣泛的應用在深度學習中的各個領域,例如在計算機視覺方向用于捕捉圖像上的感受野,或者NLP中用于定位關鍵token或者特征。谷歌團隊近期提出的用于生成詞向量的BERT[3]算法在NLP的11項任務中取得了效果的大幅提升,堪稱2018年深度學習領域最振奮人心的消息。而BERT算法的最重要的部分便是本文中提出的Transformer的概念。
正如論文的題目所說的,Transformer中拋棄了傳統的CNN和RNN,整個網絡結構完全是由Attention機制組成。更準確地講,Transformer由且僅由self-Attenion和Feed Forward Neural Network組成。一個基于Transformer的可訓練的神經網絡可以通過堆疊Transformer的形式進行搭建,作者的實驗是通過搭建編碼器和解碼器各6層,總共12層的Encoder-Decoder,并在機器翻譯中取得了BLEU值得新高。
【導讀】本文為大家帶來了一份斯坦福大學的最新課程CS224n——自然語言處理與深度學習,主講人是斯坦福大學Chris Manning,他是斯坦福大學機器學習教授,語言學和計算機科學教授,斯坦福人工智能實驗室(SAIL)主任,以人為本的人工智能研究所副所長。
近年來,深度學習方法在許多不同的NLP任務中獲得了非常高的性能,使用不需要傳統的、特定于任務的特征工程的單個端到端神經模型。在本課程中,學生將深入了解NLP深度學習的前沿研究。通過講座、作業和期末專題,學生將學習設計、實施和理解自己的神經網絡模型所需的必要技能。本課程使用Pytorch 進行教學。
1. 課程介紹(Description)
自然語言處理(NLP)是信息時代最重要的技術之一,也是人工智能的重要組成部分。NLP的應用無處不在,因為人們幾乎用語言交流一切:網絡搜索、廣告、電子郵件、客戶服務、語言翻譯、虛擬代理、醫療報告等。近年來,深度學習方法在許多不同的NLP任務中獲得了非常高的性能,使用不需要傳統的、特定于任務的特征工程的單個端到端神經模型。在本課程中,學生將深入了解NLP深度學習的前沿研究。通過講座、作業和期末專題,學生將學習設計、實施和理解自己的神經網絡模型所需的必要技能。作為去年的試點,CS224n將在今年使用Pytorch進行教學。
課程鏈接://web.stanford.edu/class/cs224n/
2. 之前的課程(Previous offerings)
本課程于2017年由早期的CS224n(自然語言處理)和CS224d(自然語言處理與深度學習)課程合并而成。下面你可以找到存檔的網站和學生項目報告。
CS224n Websites: Winter 2019 / Winter 2018 / Winter 2017 / Autumn 2015 / Autumn 2014 / Autumn 2013 / Autumn 2012 / Autumn 2011 / Winter 2011 / Spring 2010 / Spring 2009 / Spring 2008 / Spring 2007 / Spring 2006 / Spring 2005 / Spring 2004 / Spring 2003 / Spring 2002 / Spring 2000
CS224n Lecture Videos: Winter 2019 / Winter 2017 CS224n Reports: Winter 2019 / Winter 2018 / Winter 2017 / Autumn 2015 and earlier
CS224d Reports: Spring 2016 / Spring 2015
3. 預備知識(Prerequisites)
1)精通Python
所有的課堂作業都將使用Python(使用NumPy和PyTorch)。如果您需要提醒自己使用Python,或者您對NumPy不是很熟悉,則可以參加第1周的Python復習(在時間表中列出)。如果你有豐富的編程經驗,但使用不同的語言(如C/ c++ /Matlab/Java/Javascript),你可能會很好。
2)大學微積分,線性代數(如MATH 51, CME 100)
你應該能夠熟練地進行(多變量)求導,理解矩陣/向量符號和運算。
3)基本概率及統計(例如CS 109 或同等課程)
你應該了解基本的概率,高斯分布,均值,標準差等。
4)機器學習的基礎(例如CS 221或CS 229)
我們將闡述成本函數,求導數,用梯度下降法進行優化。如果你已經有了基本的機器學習和/或深度學習的知識,課程將會更容易;但是,沒有它也可以使用CS224n。在網頁、書籍和視頻形式中,有很多關于ML的介紹。哈爾·道姆(Hal Daume)正在開設的機器學習課程是一種很好的入門方式。閱讀那本書的前5章將是很好的背景知識。知道前7章會更好!
4. 參考書籍(Reference Texts)
所有這些都可以在網上免費閱讀:
Dan Jurafsky and James H. Martin. Speech and Language Processing (3rd ed. draft)
Jacob Eisenstein. Natural Language Processing
Yoav Goldberg. A Primer on Neural Network Models for Natural Language Processing
Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning
Delip Rao and Brian McMahan. Natural Language Processing with PyTorch. (requires Stanford login)
如果你沒有神經網絡方面的背景知識,但無論如何還是想要學習這門課程,你可能會發現這些書中的一本對你提供更多的背景知識很有幫助:
Michael A. Nielsen. Neural Networks and Deep Learning
Eugene Charniak. Introduction to Deep Learning
5. 主講:Christopher Manning
克里斯托弗·曼寧(Christopher Manning)是斯坦福大學(Stanford University)計算機科學和語言學系機器學習教授,斯坦福大學人工智能實驗室(SAIL)主任。他的研究目標是能夠智能處理、理解和生成人類語言材料的計算機。曼寧是將深度學習應用于自然語言處理領域的領軍人物,在樹遞歸神經網絡、詞向量手套模型、情感分析、神經網絡依賴分析、神經機器翻譯、問答和深度語言理解等領域都有著名的研究成果。他還專注于解析、自然語言推理和多語言處理的計算語言方法,包括斯坦福依賴關系和通用依賴關系的主要開發者。曼寧與人合著了《自然語言處理的統計方法》(Manning and Schütze 1999)和《信息檢索》(Manning,Raghavan and Schütze,2008)兩本領先的教科書,還合著了關于能性和復雜謂詞的語言學專著。他是ACM Fellow,AAAI Fellow,ACL Fellow,也是前ACL主席(2015)。他的研究曾獲得ACL、Coling、EMNLP和CHI最佳論文獎。1994年,他在澳大利亞國立大學獲得學士學位,在斯坦福大學獲得博士學位。在回到斯坦福大學之前,他曾在卡內基梅隆大學和悉尼大學擔任教職。他是斯坦福NLP小組的創始人,負責斯坦福大學CoreNLP軟件的開發。
個人主頁:
6. 課程安排
01: 介紹和詞向量(Introduction and Word Vectors)
Gensim字矢量示例(Gensim word vectors example)
02:單詞向量2和單詞意義(Word Vectors 2 and Word Senses)
03:Python復習課(Python review session)
04:詞窗口分類、神經網絡和矩陣演算(Word Window Classification, Neural Networks, and Matrix Calculus)
05:反向傳播和計算圖(Backpropagation and Computation Graphs)
06:語言結構:依存分析(Linguistic Structure: Dependency Parsing)
07:一個句子的概率?遞歸神經網絡和語言模型(The probability of a sentence? Recurrent Neural Networks and Language Models)
08:消失的梯度和花哨的RNNs (Vanishing Gradients and Fancy RNNs)
09:機器翻譯,Seq2Seq and Attention (Machine Translation, Seq2Seq and Attention)
10:最終項目的實用技巧(Practical Tips for Final Projects)
11:問答和默認的最終項目(Question Answering and the Default Final Project)
12:NLP的ConvNets(ConvNets for NLP)
13:部分單詞(子單詞模型)和轉換器結構的信息(部分單詞(子單詞模型)和轉換器結構的信息)
14:上下文單詞表示(Contextual Word Representations)
15:使用的建模上下文:上下文表示和預訓練(Modeling contexts of use: Contextual Representations and Pretraining)
16:自然語言生成(Natural Language Generation)
17:語言參考和共指解析(Reference in Language and Coreference Resolution)
18:AI中的公平和包容(Fairness and Inclusion in AI)
19:選區解析和樹遞歸神經網絡(Constituency Parsing and Tree Recursive Neural Networks)
20:NLP以及深度學習的未來(NLP+深度學習的未來)
PPT下載鏈接: 提取碼:re2l