Stanford Machine Learning and Deep Learning Lecture and Others

by allenlu2007


Stanford 可說是 machine learning 的大本營。

原因是 (1) 幾大公司急需相關 knowlege or expertise 都在附近, 如 Google, Facebook, Apple, Microsoft (research center). 學生老師開公司, 找工作, 或 consulting 都容易。(2) 對於新領域,特別是有具大商業價值的 area.  Stanford 一向都敢為天下先。


CS229  Machine Learning by Andrew Ng 不錯的基本課程,適合初接觸 ML.

Andrew Ng (CMU->MIT->Berkeley).  之前和 Google 合作 Google Brain.  目前在百度,是 Baidu Brain 掌門人。

Cover learning 的三個領域: supervised learning, unsupervised learning, reinforcement learning 以及相關的方法。


CS228/228T  Probabilistic Graph Models (PGM) by Daphne Koller.  

PGM 的進階課程。我並不是那麼喜歡 Koller 的上課方式。Koller no doubt 是 graph 的 master, 但常常沒有給一個明確目標 why to do this 或解釋可能的應用 (如 variable elimination lecture), 很容易讓聽者陷在 tedious 的公式推導中,有點像是 textbook 的 replay.  後來發現她的確寫了一本 PGM textbook and on-line readable.太重 details.  缺乏比較直覺的說明。

相較之下,我比較推薦先看 MLSS 的 Prof. Sam Roweis 在台北的 tutorial lecture about factor graph model.

Roweis 四個 lectures (MLSS in Taipei) 是我聽過最好的 PGM lectures.


Lecture1: introduction of PGM; conditional independent == factorization


Lecture3: latent variables, clustering

Lecture4: inference, belief propagation, junction tree: 非常棒,除非你已經精通 PGM, 應該會有豁然開朗 的感覺。  p(x|e) 就是用 query node as root (x, single variable), evident node (e, multiple variables) as leaves, trim out other leave nodes (sum to 1 for non-evident leaves).  Then use message passing to from leaf to root and root to leaf.   For multiple queries (again with single variable), do the messaging passing for every node back and forth (x2) obtains the entire tree CDP.

Roweis 是 1999 Caltech PhD, 待過 MIT and University of Toronto, then NYU professor.  I am so surprised to know he passed away in 2010.  What a pity to such a brilliant person!

Lecun 和 Roweis 都是 NYU 的 machine learning professors and collaborators. 


Neural Network and Deep Learning

Ng and Koller 的課程對 Neural network and deep learning 都沒有著墨。Ng 之後的 CS229 似乎加入了 neural network and deep learning 的介紹。不過新的課程還沒有放在 youtube.  Koller 主要 focus on graph model, 對 neural network 或 deep learning 似乎沒有興趣。

Deep learning (DL) 其實是 neural network 的更新版, 是 machine learning 的一個 branch, 也是近年的當紅炸子雞。在 (automatic) speech recognition (ASR/SR), computer vision (CV), nature language processing (NLP) 都有不錯 or 突破性 (?) 的進展。配合 Internet 公司在這方面的需求。Neural network 可說是鹹魚翻身,又變成顯學。不過之前 neural network 的 reputation 太差 (眼高手低)。現在只稱為 deep learning 表示和之前 neural network 不同。

Neural network 可分為三階段 (每階段約 20 年)

Gen1 1960 Cornell:  Perceptron, no hidden layer, hard-decision.  Feature by hand.  Learning for weight.

Perceptron 之後改良為 Logistic regression. 差別是 soft-decision instead of hard-decision.

In general, kernel function y = x -> linear regression.   y = sgn(x) -> perceptron.   y = sigmoid(x) -> logistic regression.   其實不同的 kernel function 對應不同的 cost function.   Ng CS229 note 的 machine learning 有提到可以 generalize to exponential family distribution.   What’s the relationship between deterministic classifier function with pdf distribution?   linear regression, perceptron, logistic regression,  softmax/multinomial regression (generalized logistic regression, multi-label classification).


Gen2 1980:  Shallow learning neural network.  Back-propagation learning on weight and feature?


Gen3 2005:  Deep learning neural network.  Both feature!! and weight by learning.  因為之前 neural network 的 reputation 太差 (眼高手低)。大家多半只稱為 deep learning 和之前 neural network 區別。

不知道 Gen3 是否能突破性的解決之前無法解決的問題。不然可能又要等 Gen4 的突破。   

Deep learning 主要 contributors 包括 Geoffrey Hinton, Yann Lecun, and a Japanese (Fukushima?).


Coursera:  Neural Network for Machine Learning by Geoffrey Hinton (Google Brain 掌門人)

Hinton (U. of Toronto) 本身就是 Gen3 deep learning 的主要 contributor.  他的 coursera lecture 說實在我沒有很深的印像。可能是太循序漸近,還沒到 DL 我就失了耐心。等我全部看完再給 comment.  另外 MLSS 也有很多 DL tutorial.  之後再 comment.


NYU Deep Learning Lecture by Yann Lecun link (Facebook AI 掌門人)

Yann Lecun 也是 Gen3 deep learning 的主要 contributor.  他的 NYU lecture 以及 techtalks 聽起來比較有趣也比較快。Lecun 和 Roweis 都是 NYU 的 machine learning professors and collaborators.  不過 Lecun 的 lecture assume 你熟悉 machine learning 的基本技 (regression, classification, kernel method, K-mean).  最好已經聽過 CS229 再聽 Lecun lecture 會收穫更多。



CVPR 2013 “Large Scale Visual Recognition With Deep Learning” by Marc Ranzato

Lecture link.   另外 Youtube 也有其他的 video lecture.

Google Deep Learning, Marc Ranzato, NYU (PhD with LeCun) 和 Toronto (postdoc with Hinton) 都待過,目前在 Google。他是義大利人,不過英文通暢。他的 slide 最合我胃口,由淺入深。E.g. CVPR 2013 slide,不像有一些 deep learning or machine learning 學者,一下就跳的很深。同時他對 probabilistic (graph model) 也非常熟,和 deep learning 可以做深入比較。


Google (NYU -> U. Toronto)  Marc Ranzato

Youtube lecture 2012

and other video?

Ranzato 的 slide 非常清楚,明白易懂。之後看完再 post.

 CVPR 2013 slide,不像有一些 deep learning or machine learning 學者,一下就跳的很深。同時他對 probabilistic (graph model) 也非常熟,和 deep learning 可以做深入比較。另外他談到很多 practical 問題,非常有用!   非常推薦 watch his video.


關於 why deep, difference between PGF and neural



CS231n: Convolutional Neural Network for Visual Recognition by ??

CNN for visual recognition or computer vision 是近來很熱的 topic, 可以用於無人車和無人機的駕駛。可惜 Stanford 這門課沒有 video broadcasting.  我又太懶沒去看 lecture note.  雖然是我非常有興趣的題目,只好之後再說。


CS224d: Deep Learning for Natural Language Processing by Richard Socher

我聽了 lecture 1, 應該很有趣。Richard 的講課也很生動。不過因為 NLP 和我目前想看的應用無關。先 skip.


Nvidia Deep Learning Tutorial