Course Information
Course Overview
A Beginner Friendly Introduction to Deep Learning and Artificial Intelligence with Python: Word Embedding from Scratch
In this course motivated beginners will learn the fundamentals of natural language processing and deep learning. Students will code their own word embedding vectors from scratch, using just Numpy and a little bit of calculus. For students who don't have the required background, a crash course in the required mathematics is included. We'll cover the fundamentals of differential calculus and linear algebra in a succinct overview, so students can easily follow all mathematical derivations.
Rather than simply be presented with results, each step of the mathematical derivations is included. This is to help students foster a deeper understanding of natural language processing and artificial intelligence in general.
Far from being a course where students are simply spoon fed the instructors' interpretation, students will learn to gather information directly from the source. I will show you a repeatable and easy to remember framework to read, understand, and implement deep learning research papers. You will get insight into how the verbiage in research papers maps to real world code. This is an essential skill set for all practitioners of artificial intelligence and data science, and will help you stand out from the crowd.
Throughout the course, good coding practices will be stressed. Students will learn the fundamentals of writing pythonic and extensible code from the very beginning, so that they can easily transition into writing more complex code for production.
By the end of the course, students will be able to answer the following questions:
What is the difference between the skip-gram and continuous bag of words models?
What is distributional semantics?
How can we use vectors to teach computers about language?
How do we derive the word2vec gradients?
Why is the softmax function so slow in natural language processing?
How can we deal with small datasets for natural language processing?
How can we improve word embedding using negative sampling?
What is the best way to to deal with proper nouns in natural language processing?
What were some of the historical approaches to natural language processing?
What can word plots teach us about how computers understand language?
There is zero fluff in this course. It is taught at a brisk pace, and is intended for motivated beginners who want deeper insights into natural language processing. Those that complete this course will learn how to implement research papers on there own; you'll never have to rely on Medium blog posts again.
Course Content
- 4 section(s)
- 25 lecture(s)
- Section 1 Introduction
- Section 2 Overview of Natural Language Processing
- Section 3 Teaching Computers to Understanding Language with the Word2Vec Algorithm
- Section 4 Reading the Word2Vec Paper
What You’ll Learn
- How to code word embeddings from scratch
- How to perform stochastic gradient descent
- How to augment data for natural language processing
- How to perform negative sampling
- How to perform sub-sampling
Reviews
-
VVineet
Excellent course
-
SSaket Deshmukh
mathematically vague, most important topic word2vec is just 14 min video with lot of fillers of useless information. not clear explanation, few useless slides and lot of useless coding. it's not supposed to be a course on programming but on clear and detail explanation of Word2vec maths. the Stanford free video freely available is 1000 times better. Waste of my Money,
-
AAndreas
mathematically explicit and correct: a bonus. The overuse of the biological metaphors is avoided. I like the bone dry probability distribution approach. Great work
-
UUnnikrishnan C S
Just started course. Voice of instructor is monotonous and not engaging. Write about the course by the instructor was nice , so enrolled. I will have to see the remaining portions and see if I gain from the course