您的位置:首頁>正文

蒙特利爾大學開放2017夏季深度學習與強化學習課程視頻

機器之心整理

參與:黃小天、蔣思源

2016 年, Aaron Courville 和 Yoshua Bengio 組織的 MILA 深度學習夏季課程獲得了極大的關注(參見:重磅 | Yoshua Bengio 深度學習暑期班學習總結, 35 個授課視頻全部開放 (附觀看地址))。 今年, 新一屆的 MILA 深度學習與強化學習夏季課程開放了 PPT 和教學視頻。 機器之心摘選了 Bengio、GoodFellow 和 Sutton 的部分亮點並簡要介紹了該課程。

課程首頁:https://mila.umontreal.ca/en/cours/deep-learning-summer-school-2017/

課程視頻位址:http://videolectures.net/deeplearning2017_montreal/

PDF 下載地址:https://mila.umontreal.ca/en/cours/deep-learning-summer-school-2017/slides/

課程介紹

本屆 MILA 2017 夏季課程包括深度學習夏季課程(DLSS)和強化學習夏季課程(RLSS), 以下是對這兩個課程的官方介紹:

深度學習夏季課程

深度神經網路學習在多層抽象網路中呈現資料, 這極大地提升了語音辨識、目標識別、目標檢測、預測藥物分子活動和其他多項任務的水準。

深度學習通過監督學習、無監督學習和強化學習構建分散式表徵(distributed representation), 在大型資料集中構建複雜的結構。

深度學習夏季課程(DLSS)面向已具備機器學習(也可以是深度學習,

但不是必須)領域基礎知識並想瞭解更多的碩士研究生、工程師和研究者。 今年的 DLSS 課程由 Graham Taylor、Aaron Courville 和 Yoshua Bengio 共同組織。

強化學習夏季課程

我們將要舉辦第一屆蒙特利爾強化學習夏季課程(RLSS)。 RLSS 將會覆蓋強化學習的基礎知識, 並且展示其最前沿的研究方向和新發現, 還會提供與研究生和業內高級研究人員進行交流的機會。

本課程主要面向機器學習及其相關領域的研究生。 參加者應該有過電腦科學和數學方面的進階預訓練的經驗, 來自機器和大腦學習 CIFAR 專案的附屬研究實驗室的學生將會被優先考慮。 我們也強烈歡迎非以上典型小組的代表來申請此次課程。

近日, 該課程的眾多 PDF 已經開放, 感興趣的讀者可從以下網址下載。

課程亮點

MILA 2017 夏季課程結束之後, 機器之心結合公開的課程資料對這些課程進行了介紹, 希望能輔助大家學習。

1.Yoshua Bengio:迴圈神經網路

Bengio 在課程中主要介紹的就是迴圈, 包括了迴圈神經網路定義、變體、存在的問題、訓練技巧、最先進的注意力機制、RNN 架構的設計和一些非常前沿的概率圖模型。

迴圈神經網路

首先 Bengio 當然還是先介紹了迴圈神經網路的結構, 如下圖所示, 我們可以將迴圈神經網路展開到詳細的連接。 RNN 每一隱藏層的值都不僅取決於當前的輸入,同時還取決於還取決於上一次隱藏層的值。其中 x 代表輸入、s 代表隱藏值、O 代表輸出值。我們可以看到,第 t 個隱藏值 x_t 不僅依賴於第 t 個輸入 x_t,還依賴於前一次的隱藏值 s_t-1 才能得出第 t 個觀察值 O_t。

梯度消失和爆炸問題

梯度消失和爆炸問題一直是迴圈神經網路所面臨的巨大挑戰。因為當權值過大,前面層比後面層梯度變化更快,會引起梯度爆炸問題,但是如果前面的層比後面的層梯度變化更小,故變化更慢,從而會引起梯度消失問題。我們可以看到,如果雅可比矩陣的譜半徑小於 1,那麼所傳播的梯度就會消失。

從下圖我們可以看到十分實用的 RNN 訓練技巧,包括使用梯度截斷(Clipping gradients)防止梯度爆炸問題,使用滲漏集成(Leaky integration)以傳播長期依賴性,採用動量(Momentum)加速梯度下降的效率,在大概近似的區域內初始化神經網路以避免陷入局部解或出現梯度消失和爆炸問題。同時,我們還可以使用係數梯度以打破對稱性而是訓練更加高效,在執行梯度下降時還可以使用正則化器和門控自迴圈(Gated self-loops,如 LSTM 和 GRU)以避免或降低梯度消失問題。

注意力機制

注意力機制近來在 NLP 領域起到十分重要的作用,它可以減少編碼器-解碼器模型的缺陷,尤其是在長序列問題上有極其出色的表現。注意力機制可以用於迴圈神經網路,大大提高了其處理標注問題的能力。注意力機制如下所示通過在低層序列和高層序列間加入隱藏的注意力分配向量而大大加強了性能。

迴圈神經網路的架構

如下展示了 RNN 架構的基本概念,迴圈深度表示由序列長度切分的最大路徑長度,前饋深度表示從輸入到最近輸出的最大深度,而跳過係數則表示由序列長度切分的最短路徑長度。這些概念都是設計 RNN 架構所必須瞭解的,Bengio 也在課程中做了進一步詳細說明。

2.Ian Goodfellow:Generative Models I

Ian Goodfellow 在此次夏季課程的演講主題是 Generative Models I,Generative Models II 則由 Aaron Courville 接著講授。Ian Goodfellow 這次講授的內容主要分為兩部分:生成模型的分類(Taxonomy of Generative Models)與應用(What can you do with generative models?)。下面首先介紹第一部分,生成模型的分類。

有監督機器學習方法可以分為生成方法和判別方法,生成方法學習出的是生成模型,判別方法學習出的是判別模型。生成模型的本質是密度估計(Density Estimation),其基本思想是首先建立樣本的概率密度模型,再利用模型進行推理預測。生成模型的處理過程會告訴你關於資料的一些統計資訊(p(x|y) 的分佈等),更接近於統計學。這種方法一般建立在統計學和 Bayes 理論的基礎之上。

生成方法由資料學習聯合概率分佈,然後求出條件概率分佈作為預測模型;生成模型是根據已知的樣本用基於統計方法來估計整個樣本空間的真實分佈,它表示了給定輸入 X(訓練樣本)產生輸出 Y(模型樣本)的生成關係。

機器學習中,生成模型可以用來直接對資料建模(例如根據某個變數的概率密度函數進行資料採樣)。如果觀測資料是由生成模型中採樣的,那麼最大化資料似然概率是一個常見的方法。最大似然估計最早是由羅奈爾得·費雪在 1912 年至 1922 年間推薦、分析並大範圍推廣的。在統計學中,最大似然估計是用來估計一個概率模型的參數的一種方法。Ian Goodfellow 據此對生成模型做了一個分類,如下:

一般來講,典型的生成模型有:樸素貝葉斯法、隱瑪律科夫模型、高斯混合模型、AODE、隱狄利克雷分配模型(Latent Dirichlet allocation)、受限波爾茲曼機(Restricted Boltzmann Machine)。Ian Goodfellow 在這次講授中根據最大似然估計(可再分為顯性密度和隱性密度)給出了生成模型的五個分類:GAN、生成隨機網路(GSN)、玻爾茲曼機、變分自編碼器(VAE)、全可見信念網路(Fully visible belief nets)。

顯性密度可再分為馴服密度(Tractable density)和近似密度(Approximate density)。根據馴服密度,生成模型可分為全可見信念網路。

全可見信念網路是基於鏈式規則(Frey et al, 1996)的顯性公式。它有一些自身的缺陷:O(n) 非平行樣本生成執行時間;生成不受隱藏代碼控制。

近似密度可再劃分為可變分(Variational)與瑪律可夫鏈(Markov Chain);根據前者生成模型可分為變分自編碼器(VAE),根據後者可分為玻爾茲曼機。

變分自編碼器是一類重要的生成模型,它於 2013 年由 Diederik P.Kingma 和 Max Welling 提出,是一種基於變分貝葉斯推斷的生成網路。2016 年 Carl Doersch 寫了一篇 VAE 的 tutorial,對 VAE 做了更易懂的詳細介紹。

根據隱性密度的瑪律可夫鏈,生成模型可劃分為生成隨機網路(GSN),它最早由 Bengio 於 2013 年提出。

在這次課程的後半部分,Ian Goodfellow 講述了生成模型的實際應用,分為以下幾個方面:

類比化環境與訓練資料

丟失性資料

多正確答案

逼真化生成任務

基於預測的模擬

學習有用性嵌入

關於生成模型的後續內容,可參見 Aaron Courville 講授的 Generative Models II。

3.Rich Sutton:Temporal-Difference Learning

Richard S. Sutton 教授被認為是現代計算的強化學習創立者之一。他為該領域做出了許多重大貢獻,包括:時間差分學習(temporal difference learning)、策略梯度方法(policy gradient methods)等。本次課程上,Sutton 教授講解的就是 TD-learning。

在 Sutton 最開始的課程中,他表明隨著計算力的增長,可擴展的能力也需要增長,這樣才是人工智慧的未來。Sutton 表明,即使是弱一些的一般方法也要比強大的特定方法好。因為監督學習和免模型的強化學習方法在泛化性能上十分欠缺。但是預測學習(Prediction Learning)是可泛化的,因為它是一種無監督學習。雖然預測學習也需要目標,但這些目標並不需要人工標注。因此預測學習才是可擴展的免模型學習。

時間差分學習(Temporal-difference learning)是一種學習預測的方法,它廣泛應用於強化學習來預測未來的獎勵(Reward)或價值函數。時間差分學習是 Q 學習、深度 Q 網路、TD-Gammon、actor-critic 等方法的關鍵,它還能用於預測任何信號而不只是獎勵。TD 學習主要從其他的已學習的預測學習一個新的預測。

正如上圖所示,TD 學習首先從一個隨機網路開始,並且通過自我博弈數百萬次而從模擬的經驗中學習到價值函數。

但是我們一定需要使用 TD 學習嗎,我們是不是可以使用其他強大的監督學習方法?如下所示,很多 AlphaGo 和其他 Atari 遊戲都是使用的強化學習和深度學習。

TD 學習只和多步預測問題相關,也就是我們預測的東西在未來會經過多個步驟。而模型會揭示每一步驟的可能包含的資訊。這種多步預測十分常見,比如說預測遊戲的結果、股票市場一段時間後的走勢等等。Sutton 表示我們不能將這些多步預測轉換為單步預測而使用強的機器學習方法處理,因為任何一個多步預測都需要由多次類比,並且只有在完成一步之後才能預測下一步的狀態和觀察值。

下面 Sutton 詳細介紹了時間差分學習(Temporal difference learning)。

除此之外,Sutton 還對比了監督學習蒙特卡羅(MC)方法、最簡單的時間差分(TD)方法和動態規劃方法。

對於會涉及到估計而更新的 Bootstrapping 而言,MC 方法並不適用 Bootstrap,而動態規劃和 TD 方法都會使用 Bootstrap。對於不涉及期望而更新的採樣,動態規劃並不會使用採樣,而 MC 方法和 TD 方法都會使用。

下面對比了 MC 方法和 TD 方法的更新策略:

從上圖可以看出,策略評估或者預測問題的更新過程,即給定一個策略π,我們需要計算狀態值函數 v_π。在更新狀態值函數中,我們可以看到蒙特卡羅方法使用的是時間 t 上的真實回饋目標,即人工標注的目標。而在 TD 方法中,我們更新使用的目標是一個概率估計,所以這種無監督的方法才有更好的擴展能力。

Sutton 在前面介紹了單步扁平(tabular)免模型 TD 方法,並且 TD 方法結合了動態規劃和 MC 方法的優點。TD 方法還是一種節約計算資源的演算法,它比 MC 方法更快。並且 MC 方法雖然在過去的資料中誤差很低,但在未來的資料中誤差較高,它遠沒有 TD 方法的擴展性能。

最後 Sutton 總結道:

RNN 每一隱藏層的值都不僅取決於當前的輸入,同時還取決於還取決於上一次隱藏層的值。其中 x 代表輸入、s 代表隱藏值、O 代表輸出值。我們可以看到,第 t 個隱藏值 x_t 不僅依賴於第 t 個輸入 x_t,還依賴於前一次的隱藏值 s_t-1 才能得出第 t 個觀察值 O_t。

梯度消失和爆炸問題

梯度消失和爆炸問題一直是迴圈神經網路所面臨的巨大挑戰。因為當權值過大,前面層比後面層梯度變化更快,會引起梯度爆炸問題,但是如果前面的層比後面的層梯度變化更小,故變化更慢,從而會引起梯度消失問題。我們可以看到,如果雅可比矩陣的譜半徑小於 1,那麼所傳播的梯度就會消失。

從下圖我們可以看到十分實用的 RNN 訓練技巧,包括使用梯度截斷(Clipping gradients)防止梯度爆炸問題,使用滲漏集成(Leaky integration)以傳播長期依賴性,採用動量(Momentum)加速梯度下降的效率,在大概近似的區域內初始化神經網路以避免陷入局部解或出現梯度消失和爆炸問題。同時,我們還可以使用係數梯度以打破對稱性而是訓練更加高效,在執行梯度下降時還可以使用正則化器和門控自迴圈(Gated self-loops,如 LSTM 和 GRU)以避免或降低梯度消失問題。

注意力機制

注意力機制近來在 NLP 領域起到十分重要的作用,它可以減少編碼器-解碼器模型的缺陷,尤其是在長序列問題上有極其出色的表現。注意力機制可以用於迴圈神經網路,大大提高了其處理標注問題的能力。注意力機制如下所示通過在低層序列和高層序列間加入隱藏的注意力分配向量而大大加強了性能。

迴圈神經網路的架構

如下展示了 RNN 架構的基本概念,迴圈深度表示由序列長度切分的最大路徑長度,前饋深度表示從輸入到最近輸出的最大深度,而跳過係數則表示由序列長度切分的最短路徑長度。這些概念都是設計 RNN 架構所必須瞭解的,Bengio 也在課程中做了進一步詳細說明。

2.Ian Goodfellow:Generative Models I

Ian Goodfellow 在此次夏季課程的演講主題是 Generative Models I,Generative Models II 則由 Aaron Courville 接著講授。Ian Goodfellow 這次講授的內容主要分為兩部分:生成模型的分類(Taxonomy of Generative Models)與應用(What can you do with generative models?)。下面首先介紹第一部分,生成模型的分類。

有監督機器學習方法可以分為生成方法和判別方法,生成方法學習出的是生成模型,判別方法學習出的是判別模型。生成模型的本質是密度估計(Density Estimation),其基本思想是首先建立樣本的概率密度模型,再利用模型進行推理預測。生成模型的處理過程會告訴你關於資料的一些統計資訊(p(x|y) 的分佈等),更接近於統計學。這種方法一般建立在統計學和 Bayes 理論的基礎之上。

生成方法由資料學習聯合概率分佈,然後求出條件概率分佈作為預測模型;生成模型是根據已知的樣本用基於統計方法來估計整個樣本空間的真實分佈,它表示了給定輸入 X(訓練樣本)產生輸出 Y(模型樣本)的生成關係。

機器學習中,生成模型可以用來直接對資料建模(例如根據某個變數的概率密度函數進行資料採樣)。如果觀測資料是由生成模型中採樣的,那麼最大化資料似然概率是一個常見的方法。最大似然估計最早是由羅奈爾得·費雪在 1912 年至 1922 年間推薦、分析並大範圍推廣的。在統計學中,最大似然估計是用來估計一個概率模型的參數的一種方法。Ian Goodfellow 據此對生成模型做了一個分類,如下:

一般來講,典型的生成模型有:樸素貝葉斯法、隱瑪律科夫模型、高斯混合模型、AODE、隱狄利克雷分配模型(Latent Dirichlet allocation)、受限波爾茲曼機(Restricted Boltzmann Machine)。Ian Goodfellow 在這次講授中根據最大似然估計(可再分為顯性密度和隱性密度)給出了生成模型的五個分類:GAN、生成隨機網路(GSN)、玻爾茲曼機、變分自編碼器(VAE)、全可見信念網路(Fully visible belief nets)。

顯性密度可再分為馴服密度(Tractable density)和近似密度(Approximate density)。根據馴服密度,生成模型可分為全可見信念網路。

全可見信念網路是基於鏈式規則(Frey et al, 1996)的顯性公式。它有一些自身的缺陷:O(n) 非平行樣本生成執行時間;生成不受隱藏代碼控制。

近似密度可再劃分為可變分(Variational)與瑪律可夫鏈(Markov Chain);根據前者生成模型可分為變分自編碼器(VAE),根據後者可分為玻爾茲曼機。

變分自編碼器是一類重要的生成模型,它於 2013 年由 Diederik P.Kingma 和 Max Welling 提出,是一種基於變分貝葉斯推斷的生成網路。2016 年 Carl Doersch 寫了一篇 VAE 的 tutorial,對 VAE 做了更易懂的詳細介紹。

根據隱性密度的瑪律可夫鏈,生成模型可劃分為生成隨機網路(GSN),它最早由 Bengio 於 2013 年提出。

在這次課程的後半部分,Ian Goodfellow 講述了生成模型的實際應用,分為以下幾個方面:

類比化環境與訓練資料

丟失性資料

多正確答案

逼真化生成任務

基於預測的模擬

學習有用性嵌入

關於生成模型的後續內容,可參見 Aaron Courville 講授的 Generative Models II。

3.Rich Sutton:Temporal-Difference Learning

Richard S. Sutton 教授被認為是現代計算的強化學習創立者之一。他為該領域做出了許多重大貢獻,包括:時間差分學習(temporal difference learning)、策略梯度方法(policy gradient methods)等。本次課程上,Sutton 教授講解的就是 TD-learning。

在 Sutton 最開始的課程中,他表明隨著計算力的增長,可擴展的能力也需要增長,這樣才是人工智慧的未來。Sutton 表明,即使是弱一些的一般方法也要比強大的特定方法好。因為監督學習和免模型的強化學習方法在泛化性能上十分欠缺。但是預測學習(Prediction Learning)是可泛化的,因為它是一種無監督學習。雖然預測學習也需要目標,但這些目標並不需要人工標注。因此預測學習才是可擴展的免模型學習。

時間差分學習(Temporal-difference learning)是一種學習預測的方法,它廣泛應用於強化學習來預測未來的獎勵(Reward)或價值函數。時間差分學習是 Q 學習、深度 Q 網路、TD-Gammon、actor-critic 等方法的關鍵,它還能用於預測任何信號而不只是獎勵。TD 學習主要從其他的已學習的預測學習一個新的預測。

正如上圖所示,TD 學習首先從一個隨機網路開始,並且通過自我博弈數百萬次而從模擬的經驗中學習到價值函數。

但是我們一定需要使用 TD 學習嗎,我們是不是可以使用其他強大的監督學習方法?如下所示,很多 AlphaGo 和其他 Atari 遊戲都是使用的強化學習和深度學習。

TD 學習只和多步預測問題相關,也就是我們預測的東西在未來會經過多個步驟。而模型會揭示每一步驟的可能包含的資訊。這種多步預測十分常見,比如說預測遊戲的結果、股票市場一段時間後的走勢等等。Sutton 表示我們不能將這些多步預測轉換為單步預測而使用強的機器學習方法處理,因為任何一個多步預測都需要由多次類比,並且只有在完成一步之後才能預測下一步的狀態和觀察值。

下面 Sutton 詳細介紹了時間差分學習(Temporal difference learning)。

除此之外,Sutton 還對比了監督學習蒙特卡羅(MC)方法、最簡單的時間差分(TD)方法和動態規劃方法。

對於會涉及到估計而更新的 Bootstrapping 而言,MC 方法並不適用 Bootstrap,而動態規劃和 TD 方法都會使用 Bootstrap。對於不涉及期望而更新的採樣,動態規劃並不會使用採樣,而 MC 方法和 TD 方法都會使用。

下面對比了 MC 方法和 TD 方法的更新策略:

從上圖可以看出,策略評估或者預測問題的更新過程,即給定一個策略π,我們需要計算狀態值函數 v_π。在更新狀態值函數中,我們可以看到蒙特卡羅方法使用的是時間 t 上的真實回饋目標,即人工標注的目標。而在 TD 方法中,我們更新使用的目標是一個概率估計,所以這種無監督的方法才有更好的擴展能力。

Sutton 在前面介紹了單步扁平(tabular)免模型 TD 方法,並且 TD 方法結合了動態規劃和 MC 方法的優點。TD 方法還是一種節約計算資源的演算法,它比 MC 方法更快。並且 MC 方法雖然在過去的資料中誤差很低,但在未來的資料中誤差較高,它遠沒有 TD 方法的擴展性能。

最後 Sutton 總結道:

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示