【導讀】本文為大家帶來了一份史丹福大學的最新課程CS224n——自然語言處理與深度學習,主講人是史丹福大學Chris Manning,他是史丹福大學機器學習教授,語言學和計算機科學教授,斯坦福人工智慧實驗室(SAIL)主任,以人為本的人工智慧研究所副所長。
近年來,深度學習方法在許多不同的NLP任務中獲得了非常高的性能,使用不需要傳統的、特定於任務的特徵工程的單個端到端神經模型。在本課程中,學生將深入了解NLP深度學習的前沿研究。通過講座、作業和期末專題,學生將學習設計、實施和理解自己的神經網絡模型所需的必要技能。本課程使用Pytorch 進行教學。
自然語言處理(NLP)是資訊時代最重要的技術之一,也是人工智慧的重要組成部分。NLP的應用無處不在,因為人們幾乎用語言交流一切:網絡搜索、廣告、電子郵件、客戶服務、語言翻譯、虛擬代理、醫療報告等。近年來,深度學習方法在許多不同的NLP任務中獲得了非常高的性能,使用不需要傳統的、特定於任務的特徵工程的單個端到端神經模型。在本課程中,學生將深入了解NLP深度學習的前沿研究。通過講座、作業和期末專題,學生將學習設計、實施和理解自己的神經網絡模型所需的必要技能。作為去年的試點,CS224n將在今年使用Pytorch進行教學。
課程連結:http://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
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章會更好!
所有這些都可以在網上免費閱讀:
•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軟體的開發。
個人主頁:https://nlp.stanford.edu/~manning/
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+深度學習的未來)