1. 程式人生 > >Review of Stanford Course on Deep Learning for Natural Language Processing

Review of Stanford Course on Deep Learning for Natural Language Processing

Natural Language Processing, or NLP, is a subfield of machine learning concerned with understanding speech and text data.

Statistical methods and statistical machine learning dominate the field and more recently deep learning methods have proven very effective in challenging NLP problems like speech recognition and text translation.

In this post, you will discover the Stanford course on the topic of Natural Language Processing with Deep Learning methods.

This course is free and I encourage you to make use of this excellent resource.

After completing this post, you will know:

  • The goal and prerequisites of this course.
  • A breakdown of the course lectures and how to access the slides, notes, and videos.
  • How to make best use of this material.

Let’s get started.

Overview

This post is divided into 5 parts; they are:

  1. Course Summary
  2. Prerequisites
  3. Lectures
  4. Projects
  5. How to Best Use This Material

Course Summary

The course is taught by Chris Manning and Richard Socher.

Chris Manning is an author of at least two top textbooks on Natural Language Processing:

Richard Socher is the guy behind MetaMind and is the Chief Scientist at Salesforce.

Natural Language Processing is the study of computational methods for working with voice and text data.

Goal: for computers to process or “understand” natural language in order to perform tasks that are useful

Since the 1990s, the field has been focused on statistical methods. More recently, the field is switching to deep learning methods given the demonstrably improved capabilities they offer.

This course is focused on teaching statistical natural language processing with deep learning methods. From the course description on the website:

Recently, deep learning approaches have obtained very high performance across many different NLP tasks. These models can often be trained with a single end-to-end model and do not require traditional, task-specific feature engineering.

Reasons for Exploring Deep Learning, from the Stanford Deep Learning for NLP course

Reasons for Exploring Deep Learning, from the Stanford Deep Learning for NLP course

Goals of the Course

  • An understanding of and ability to use the effective modern methods for deep learning
  • Some big picture understanding of human languages and the difficulties in understanding and producing them
  • An understanding of and ability to build systems for some of the major problems in NLP
Goals of the Stanford Deep Learning for NLP Course

Goals of the Stanford Deep Learning for NLP Course

This course is taught at Stanford, although the lectures used in the course have been recorded and made public, and we will focus on these freely available materials.

Need help with Deep Learning for Text Data?

Take my free 7-day email crash course now (with code).

Click to sign-up and also get a free PDF Ebook version of the course.

Prerequisites

The course assumes some mathematical and programming skill.

Nevertheless, refresher materials are provided in case the requisite skills are rusty.

Specifically:

Code examples are in Python and make use of the NumPy and TensorFlow Python libraries.

Lectures

The lectures and material seem to change a little each time the course is taught. This is not unsurprising given the speed that things are changing the field.

Here, we will look at the CS224n Winter 2017 syllabus and lectures that are publicly available.

I recommend watching the YouTube videos of the lectures, and access the slides, papers, and further reading on the syllabus only if needed.

The course is broken down into the following 18 lectures and one review:

  • Lecture 1: Natural Language Processing with Deep Learning
  • Lecture 2: Word Vector Representations: word2vec
  • Lecture 3: GloVe: Global Vectors for Word Representation
  • Lecture 4: Word Window Classification and Neural Networks
  • Lecture 5: Backpropagation and Project Advice
  • Lecture 6: Dependency Parsing
  • Lecture 7: Introduction to TensorFlow
  • Lecture 8: Recurrent Neural Networks and Language Models
  • Lecture 9: Machine Translation and Advanced Recurrent LSTMs and GRUs
  • Review Session: Midterm Review
  • Lecture 10: Neural Machine Translation and Models with Attention
  • Lecture 11: Gated Recurrent Units and Further Topics in NMT
  • Lecture 12: End-to-End Models for Speech Processing
  • Lecture 13: Convolutional Neural Networks
  • Lecture 14: Tree Recursive Neural Networks and Constituency Parsing
  • Lecture 15: Coreference Resolution
  • Lecture 16: Dynamic Neural Networks for Question Answering
  • Lecture 17: Issues in NLP and Possible Architectures for NLP
  • Lecture 18: Tackling the Limits of Deep Learning for NLP

I watched them all on YouTube at double playback speed with the slides open while taking notes.

Projects

Students of the course are expected to complete assignments.

You may want to complete the assessments yourself to test your knowledge from working through the lectures.

You can see the assignments here: CS224n Assignments

Importantly, students must submit a final project report using deep learning on a natural language processing problem.

These projects can be fun to read if you are looking for ideas for how to test out your new found skills.

Directories of submitted student reports are available here:

If you find some great reports, please post your discoveries in the comments.

How to Best Use This Material

This course is designed for students and the goal is to teach enough NLP and Deep Learning theory for the students to start developing their own methods.

This may not be your goal.

You may be a developer. You may be only interested in using the tools of deep learning on NLP problems to get a result on a current project.

In fact, this is the situation of most of my readers. If this sounds like you, I would caution you to be very careful in the way you work through the material.

  • Skip the Math. Do not focus on why the methods work. Instead, focus on a summary for how the methods work and skip the large sections on equations. You can always come back later to deepen your understanding in order to achieve better results.
  • Focus on Process. Take your learnings from the lectures and put together processes that you can use on your own projects. The methods are taught piecewise, and there is little information on how to actually tie it all together.
  • Tool Invariant. I do not recommend coding the methods yourself or even in using TensorFlow as demonstrated in the lectures. Learn the principles and use productive tools like Keras to actually implement the methods on your project.

There is a lot of gold in this material for practitioners, but you must keep your wits and not fall into the “I must understand everything” trap. As a practitioner, your goals are very different and you must ruthlessly stay on target.

Further Reading

This section provides more resources on the topic if you are looking go deeper.

Older Related Material

Summary

In this post, you discovered the Stanford course on Deep Learning for Natural Language Processing.

Specifically, you learned:

  • The goal and prerequisites of this course.
  • A breakdown of the course lectures and how to access the slides, notes, and videos.
  • How to make best use of this material.

Did you work through some or all of this course material?
Let me know in the comments below.


Develop Deep Learning models for Text Data Today!

Deep Learning for Natural Language Processing

Develop Your Own Text models in Minutes

…with just a few lines of python code

It provides self-study tutorials on topics like:
Bag-of-Words, Word Embedding, Language Models, Caption Generation, Text Translation and much more…

Finally Bring Deep Learning to your Natural Language Processing Projects

Skip the Academics. Just Results.


相關推薦

Review of Stanford Course on Deep Learning for Natural Language Processing

Tweet Share Share Google Plus Natural Language Processing, or NLP, is a subfield of machine lear

Deep Learning for Natural Language Processing Archives

Machine translation is the challenging task of converting text from a source language into coherent and matching text in a target language. Neural machine

How to Get Started with Deep Learning for Natural Language Processing (7

Tweet Share Share Google Plus Deep Learning for NLP Crash Course. Bring Deep Learning methods to

Recent Trends in Deep Learning Based Natural Language Processing(arXiv)筆記

深度學習方法採用多個處理層來學習資料的層次表示,並在許多領域中產生了最先進的結果。最近,在自然語言處理(NLP)的背景下,各種模型設計和方法蓬勃發展。本文總結了已經用於大量NLP任務的重要深度學習相關模型和方法,及回顧其演變過程。我們還對各種模型進行了總結、比較

「Computer Vision」Notes on Deep Learning for Generic Object Detection

QQ Group: 428014259 Sina Weibo:小鋒子Shawn Tencent E-mail:[email protected] http://blog.csdn.net/dgyuanshaofeng/article/details/83834249 [1]

論文:Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey翻譯工作

**關於對抗性攻擊對深度學習威脅的研究** Naveed Akhtar and Ajmal Mian ACKNOWLEDGEMENTS: The authors thank Nicholas Carlini (UC Berkeley) and Dimit

論文閱讀:A Primer on Neural Network Models for Natural Language Processing(1)

選擇 works embed 負責 距離 feature 結構 tran put 前言 2017.10.2博客園的第一篇文章,Mark。 由於實驗室做的是NLP和醫療相關的內容,因此開始啃NLP這個硬骨頭,希望能學有所成。後續將關註知識圖譜,深度強化學習等內

Case Study: Machine Learning vs. Natural Language Processing

Use of cookies: We our own and third-party cookies to personalise our services and collect statistical information. If you continue browsing the site, you

Competitive Advantages of Deep Learning for Your Business

What do you think of when you hear about AI? Do you picture your favourite sci-fi movie or a book that you read when you were younger? In that favourite bo

A Review on Deep Learning Techniques Applied to Semantic Segmentation 論文閱讀

為了以後的學習方便,把幾篇計算機視覺的論文放上來,僅為自己的學習方便。期間有參考了很多部落格和文獻,但是我寫的仍然很粗糙,存在很多的疑問。這篇文章是第一篇有關語義分割的總結,可能大學畢設會用到,暫時先簡單總結一下自己的所得。 大學快要畢業了,開始準備畢設,分割方向逃不了了。提示:排版對手機端

綜述論文翻譯:A Review on Deep Learning Techniques Applied to Semantic Segmentation

應用於語義分割問題的深度學習技術綜述 摘要 計算機視覺與機器學習研究者對影象語義分割問題越來越感興趣。越來越多的應用場景需要精確且高效的分割技術,如自動駕駛、室內導航、甚至虛擬現實與增強現實等。這個需求與視覺相關的各個領域及應用場景下的深度學習技術的發展相符合,包括語義分割及場景理解等。這篇論文回

Deep Learning for Robotics 資源匯總

theano .text tor tro org () -c 四軸 parent 1 前言 在最新Nature的Machine Intelligence 中Lecun。Hinton和Bengio三位大牛的Review文章Deep Learning中。最

最實用的深度學習教程 Practical Deep Learning For Coders (Kaggle 冠軍 Jeremy Howard 親授)

ted del src learning over attention wid multi 美國 Jeremy Howard 在業界可謂大名鼎鼎。他是大數據競賽平臺 Kaggle 的前主席和首席科學家。他本人還是 Kaggle 的冠軍選手。他是美國奇點大學(Singular

論文筆記-Wide & Deep Learning for Recommender Systems

wiki body pos ear recommend sys con 損失函數 wrapper 本文提出的W&D是針對rank環節的模型。 網絡結構: 本文提出的W&D是針對rank環節的模型。 網絡結構: wide是簡單的線性模型,但

Python計算機視覺深度學習三合一Deep learning for computer vision with Python高清pdf

Deep Learning for Computer Vision with Python Starter Bundle pdf Deep Learning for Computer Vision with Python Practitioner Bundle pdf Deep Learning for

基於深度學習的影象檢索 image retrieval based on deep learning (code ,程式碼)

本次程式碼分享主要是用的caffe框架,至於caffe框架的安裝過程不再說明。程式碼修改自“cross weights”的一篇2016年的文章,但是名字忘記了,誰記得,提醒我下。 一、環境要求         1、python &nb

On Deep Learning-Based Channel Decoding 論文筆記

摘要 我們重新考慮使用深度神經網路對隨機和結構化碼字(例如極性碼字)進行一次性解碼。 雖然可以為碼字族和短碼字長度實現最大後驗(MAP)誤位元速率(BER)效能,但我們觀察到(i)結構化碼字更容易學習和(ii)神經網路能夠生成在結構化訓練期間從未見過的碼字,而不是隨機碼字。 這些結果提供了一些證據,表明神經

Deep Learning for Generic Object Detection: A Survey

Abstract 通用物件檢測,旨在從自然影象中的大量預定義類別定位物件物體,是計算機視覺中最基本和最具挑戰性的問題之一。 近幾年來,深度學習技術成為了直接從資料中學習特徵表示的有力方法,並在通用物件檢測領域取得了顯著的突破。 鑑於這個快速發展的時代,本文的目標是對深度學習

《Transform- and multi-domain deep learning for single-frame rapid autofocusing》筆記

作者的快速聚焦方法是使用卷積網路從單個成像圖片中預測圖片的離焦距。之前的聚焦方法大多需要測量多張成像圖片的聚焦值來預測聚焦鏡頭的移動方向和移動距離,但是論文的方法可以直接預測出聚焦位置的方向和距離。 作者使用不同的圖片特徵,包括圖片的空間域特徵、頻域特徵、自相

Deep Learning for Recommender Systems資料

基於深度學習的推薦系統的論文(包括論文 程式碼 PPT) https://handong1587.github.io/deep_learning/2015/10/09/recommendation-system.html  https://github.com/robi56/Deep-