时隔两年,斯坦福NLP标准公开课CS224N将再次开放视频
课程地址:http://web.stanford.edu/class/cs224n/
CS224N 是一门关于自然语言处理的专项课程,虽然有很多公开课都会涉及循环神经网络或语言建模等内容,但很少如它那样会系统地介绍自然语言处理任务。包括词嵌入、依存关系解析、神经机器翻译、语音识别和语义消歧等。此外在 19 年的新课程中,它还会重点介绍最近非常流行的 Transformer 和预训练表征,这些系统化的新内容真的很令人期待。
在 17 年的课程中,CS224N 采用的是 TensorFlow,今年采用的是更加简洁的 PyTorch。不过今年并没有专门介绍 PyTorch 的课时,所以还需要读者预先学习 PyTorch。
此外在 CS224N 2019 的课程主页上,它表明一旦课程完成,那么斯坦福计划将这些视频放到 YouTube 上。不过在 3 月 14 号结束课程后,斯坦福还需要一段时间处理视频,所以读者可先看看 17 年的视频。而其它 PPT 和作业都会随着课程的进行而放出来,所以我们也可以先看看课程资料。
讲师阵容
课程视频地址(目前仅提供 2017 年春季课程):https://www.youtube.com/playlist?list=PL3FW7Lu3i5Jsnh1rnUwq_TcylNr7EkRe6
关于 CS224n
自然语言处理(NLP)是信息时代最重要的技术之一,也是人工智能的关键部分。NLP 的应用无处不在,因为人们几乎用语言进行交流:网络搜索、广告、电子邮件、客户服务、语言翻译、医学报告等。近年来,深度学习方法在许多不同的 NLP 任务中获得了非常高的性能,其只需要使用单个端到端神经模型,而不需要传统的、任务特定的特征工程。在本课程中,学生将深入了解 NLP 深度学习的前沿研究。通过讲座、作业和最终项目,学生将学习设计、实现和理解他们自己的神经网络模型所需的技能。今年,CS224n 将首次使用 PyTorch,而不是 TensorFlow。
预备知识
熟练使用 Python:所有课程都需要用到 Python(具体来说,使用 NumPy 和 PyTorch)。如果你有很多编程经验,但使用不同的语言(例如 C / C ++ / Matlab / Java / Javascript),可能问题不大。
这个教程可能对那些不熟悉 Python 和/或 NumPy 的人有用: http://cs231n.github.io/python-numpy-tutorial/
大学微积分和线性代数:需要熟悉使用(多变量)导数,并理解矩阵/向量符号和运算。
概率和统计基础:需要熟悉概率的基础知识、高斯分布、均值、标准差等。
机器学习基础:模型构建过程涉及设计损失函数、求导数并通过梯度下降进行优化。如果已经拥有基本的机器学习和/或深度学习知识,那么课程将会更容易,但是即使不知道这些也可以学习 CS224n。HalDaumé的机器学习课程(http://ciml.info/)提供了一个平易近人的介绍。阅读该书的前 5 章可以获得很好的背景知识,阅读前 7 章会更好。
参考资料
以下书籍对于本课程学习非常有用,但不是必要的。感兴趣的读者可自由选择,所有的书籍都能在线免费阅读。
- Dan Jurafsky and James H. Martin.《Speech and Language Processing (3rd ed. draft)》
- 地址:https://web.stanford.edu/~jurafsky/slp3/
- Jacob Eisenstein.《Natural Language Processing》
- 地址:https://github.com/jacobeisenstein/gt-nlp-class/blob/master/notes/eisenstein-nlp-notes.pdf
- Yoav Goldberg.《A Primer on Neural Network Models for Natural Language Processing》
- 地址:http://u.cs.biu.ac.il/~yogo/nnlp.pdf
- Ian Goodfellow, Yoshua Bengio, and Aaron Courville.《Deep Learning》
- 地址:http://www.deeplearningbook.org/
- Eugene Charniak.《Introduction to Deep Learning》
- 地址:https://mitpress.mit.edu/books/introduction-deep-learning