Andrew Ng “Deep Learning Specialization” RNN (course 5) 感想

RNN 是 Deep Learning Specialization 學程的最後一門課,可以處理序列相關的問題,例如自然語言處理、語音辨識等等。官方 YouTube 頻道目前只更新了 Week 3 的影片,可能要再看看之後會不會補上 Week 1 & 2

課程大綱主要分三部份:RNN 基本元素、word embedding、以及用 encoder-decoder-attention 來做翻譯

循序漸進,從公式出發

我很喜歡這門課的循序漸進引出概念,以及從公式出發介紹 GRU 與LSTM。我覺得這課程很適合對 LSTM 不懂的人來看。

提出了 vanishing gradient 的問題,從而引出 gate 的概念;把 gate 介紹成 bits (0 或 1),引出了簡化過的 GRU。然後介紹了原版的 GRU 後,最後再拿 LSTM 做比對。並不是因為 LSTM 先發明而先介紹之,而是為了教學易懂是當地調整順序。

此外在介紹 GRU / LSTM 時也不是直接畫圖,而是用公式來解釋,反而消弭了圖示的不確定和模糊感 — 很多圖其實是給懂的人看的,除非是像有名的 colah 介紹文把式子拆解和圖一起分析。因為講解循序漸進,所以數學式子並不會有壓迫感,反而會覺得很有道理。

之前自學的時候是直接看 colah’s blogNeural Machine Translation 學習,回過頭上這門課以後感覺講解得很清楚。以前自學曾經痛過的,Andrew 在這門課都剛好有把要點提出來

程式作業

這次的程式作業相較之下比較好玩些。和 Course 4 一樣大量了使用 Keras,也算是個學 Keras 的好機會。雖然解決的問題不像 Course 4 一樣炫麗,不過由於 model 性質,雖然還是填空,但填空感沒那麼重,比較有在 build model 的感覺一些。強烈建議就算是旁聽也值得一做

消除偏見

除了基本知識,課程還介紹了一個有趣的研究。word embedding 的例子都已經耳熟能詳了:man 之於 king 相當於 woman 之於 queen 。但沒有想到由於人類長久的偏見,這樣的歷史早已刻寫、反映在我們產生的文本上,所以沒有感情的機器反而會學到這樣的關係:

father is to doctor as mother is to nurse

也就是護士會被認為是女性的這種偏見,或者像「男性是工程師、女性是家管」,這種從統計上、從人類過往文字上所學到,但並不代表「因果」或「定數」的知識。

這堂課簡單介紹了一些人的研究,用 word embedding 既有的特性來修正自身,矯正這樣的偏見,讓後續的應用也能夠消除這種歧視。我自己覺得介紹這個應用很能突顯 word2vec 的特性,讓 man-woman = king-queen 這種式子更增深度

Source: Deep Learning on Medium