Deep Learning for NLP#

📜 Course Description#

This course provides an in-depth introduction to deep learning techniques for natural language processing. The course will cover the latest advances in deep learning research for NLP, with a focus on pre-trained language models and fine-tuning. Students will gain hands-on experience in developing deep learning models for a variety of NLP tasks using PyTorch and Hugging Face’s Transformers library. The course will also cover reinforcement learning for NLP and its application in ChatGPT.

♾️ Learning Goals#

By the end of this course, students will be able to:

  • Understand the latest advances in deep learning research for NLP

  • Develop deep learning models for a variety of NLP tasks using PyTorch and Hugging Face’s Transformers library

  • Understand the concepts of pre-trained language models and fine-tuning

  • Understand reinforcement learning for NLP and its application in ChatGPT

🏆 Grading#

  • Participation: 10%

  • Midterm: 30%

  • Term Project: 60%

🧠 Term Project#

  • Students will be required to complete a term project as part of this course.

  • At the midterm, you need to submit a proposal for your project.

  • The proposal includes the data, and you have to perform the exploratory data analysis on this data.

  • The term project can take the form of either a research paper or a practical implementation.

  • For the term project, you need to submit a report and a codebase.

  • The report should be around 10 pages, and it should describe your methodology, results, and discussion.

  • The project will be graded on correctness, readability, and efficiency.

📒 Lecture Notes#

You can find the lecture notes of the course by clicking on the following link:

https://lecture.jeju.ai/lectures/nlp_deep

🎲 Whole Game of NLP#

In this course, we apply the concept of “teaching the whole game” to natural language processing (NLP). We believe that just like in baseball, students should be able to start playing with a general sense of NLP and gradually learn more rules and details as they progress.

Unlike many NLP courses that focus only on the technical aspects of the field, we take a practical approach to NLP. We show how to use fundamental concepts and techniques of NLP, including text pre-processing, morphology, syntax, semantics, text classification, topic modeling, and word embeddings, to solve real-world problems.

We begin by introducing students to a complete, working, and very usable NLP system that uses simple and expressive tools. Then, we gradually introduce more advanced concepts, showing students how to apply them to real-world datasets.

This approach has several advantages. It makes NLP more accessible and understandable to students, and it allows them to immediately start using NLP to solve their own problems. Furthermore, it helps students learn the whole game of NLP, not just individual concepts or techniques. By covering both the theory and practice of NLP, students will be well-prepared for further study or practical applications in the field.

Harvard Professor David Perkins’s book, Making Learning Whole, popularized the idea of “teaching the whole game.”

🗓️ Table of Contents#