Natural Language Processing (NLP) is one of the most important fields in Artificial Intelligence (AI). It has become very crucial in the information age because most of the information is in the form of unstructured text. NLP technologies are applied everywhere as people communicate mostly in language: language translation, web search, customer support, emails, forums, advertisement, radiology reports, to name a few.
There are a number of core NLP tasks and machine learning models behind NLP applications. Deep learning, a sub-field of machine learning, has recently brought a paradigm shift from traditional task-specific feature engineering to end-to-end systems and has obtained high performance across many different NLP tasks and downstream applications. Tech companies like Google, Baidu, Alibaba, Apple, Amazon, Facebook, Tencent, and Microsoft are now actively working on deep learning methods to improve their products. For example, Google recently replaced its traditional statistical machine translation and speech-recognition systems with systems based on deep learning methods.
Optional Textbooks
In this course, students will learn state-of-the-art deep learning methods for NLP. Through lectures and practical assignments, students will learn the necessary tricks for making their models work on practical problems. They will learn to implement, and possibly to invent their own deep learning models using available deep learning libraries like Pytorch.
Our Approach
Thorough and Detailed: How to write from scratch, debug and train deep neural models
State of the art: Most lecture materials are new from research world in the past 1-5 years.
Practical: Focus on practical techniques for training the models, and on GPUs.
Fun: Cover exciting new advancements in NLP (e.g., Transformer, BERT).
Weekly Workload
5%
marks for class participation.Assignments (individually graded)
3 * 15% = 45%
of the total assessment.Assignments will be posted on NTU-Learn (see the schedule).
Late day policy
10%
off per day lateStudents will be graded individually on the assignments. They will be allowed to discuss with each other on the homework assignments, but they are required to submit individual write-ups and coding exercises.
Final Project (Group work but individually graded)
There will be a final project contributing to the remaining 50% of the total course-work assessment.
1–3
people per group5%
, presentation: 10%
, report: 35%
Instructions for project proposal and final report will be posted on NTU-Learn (see the schedule).
The project will be a group or individual work depending on the student’s preference. Students will be graded individually. The final project presentation will ensure the student’s understanding of the project
Project final report guidelines
Assignment 3
in
Invited talk
on Unsupervised MT by Xuan Phi
Slides on adverarial attacks (prepared by Samson@Amazon)
Slides on deep generative models
Invited talk
on Text Generation by Lin Xiang
Lecture Content
Adversarial attacks in NLP
Defense:
Variational inference
Auto encoders
Variational auto encoders
Conditional VAEs
Vector Quantized VAEs
Variational Generative adversarial nets
Suggested Readings
Assignment 2
in
Assignment 3
out
Project final report guidelines
Lecture Content
Pre-training and fine-tuning paradigm
Evaluation benchmarks
TA: Mathieu
Suggested Readings
Project Proposal due
Lecture Content
Seq2Seq Variants (Pointer nets, Pointer Generator Nets)
Transformer architecture
Practical exercise with Pytorch
TA: Bosheng Ding
Suggested Readings
Project Proposal due
Lecture Content
Practical exercise with Pytorch
Practical exercise with Pytorch
Suggested Readings
Lecture Content
Machine translation
Neural machine translation or NMT (2014 - )
Encoder-decoder model for NMT
Advantages and disadvantages of NMT
Greedy vs. beam-search decoding
MT evaluation
Other applications of Seq2Seq
Suggested Readings
Assignment 1
in
Assignment 2
out (in NTU-Learn)
Lecture Content
TA: Saiful Bari
Practical exercise with Pytorch
Suggested Readings
Lecture Content
Practical exercise with Pytorch
Suggested Readings
**Assignment 1
out (in NTU-Learn) **
Lecture Content
Evaluating word vectors
Cross-lingual word vectors
TA: Mathieu
Practical exercise with Pytorch
Visualization
Suggested Readings
Improving Distributional Similarity with Lessons Learned from Word Embeddings
Linear Algebraic Structure of Word Senses, with Applications to Polysemy
Lecture Content
Why Deep Learning for NLP?
From Logistic Regression to Feed-forward NN
SGD with Backpropagation
Adaptive SGD (Adagrad, adam, RMSProp)
Regularization (Weight Decay, Dropout, Batch normalization, Gradient clipping)
Introduction to Word Vectors
TA: Mathieu
Practical exercise with Pytorch
Suggested Readings
Lecture Content
TA: Mathieu
Practical exercise with Pytorch
[Supplementary]
Lecture Content
Python & PyTorch Basics
Programming in Python
[Supplementary]
Policy-based Deep RL
Deep Q-Learning
Applications of Deep RL in NLP