【我們為什麼挑選這篇文章】從了解機器學習(Machine Learning)的前置作業,我們可以從深度學習、強化學習的概念起步。不久前英國杜倫大學教授在 reddit 上架 2 套共 20 堂免費課程獲得廣大的回響,除了有精美的簡報檔和 YouTube 影片可搭配使用之外, 也有提供編碼的範例與操作細節。想一窺機器學習的朋友們,記得把這個資源先存下來!(責任編輯:孫敬)

本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請連繫出處

作者:量子位

告別「拼圖式」學習!

最近,一套深度學習和強化學習的免費課程在 reddit 上引起網友關注,獲讚 690+。

只因其不僅形式豐富,還綜合了基礎理論和具體應用,幫你將幾何學、統計學等相關理論串聯起來,解決複雜的問題。

對於初學者來說,稱得上是個學習大禮包了。

課程來自杜倫大學計算機系助理教授 Chris Willcocks,他表示:

相比於其他課程,我想這一套課程涉獵廣泛,並且足夠緊湊。

不妨一起來了解一下吧~

課程設置

課程分為深度學習和強化學習兩個板塊,各有 10 節課,總時長約為 20 小時。

除了視頻之外,還提供了 PPT、Colab 代碼範例以及一些相關論文

其中深度學習課程的第 1~5 課,側重於理論,包括:

第 1 課:簡介;
第 2 課:數學原理和反向傳播;
第 3 課:PyTorch 編程:編碼會話;
第 4 課:設計模型以進行概括;
第 5 課:生成模型;

第 6~10 課則以實務為主,包括:

第 6 課:對抗模型;
第 7 課:基於能量的模型;
第 8 課:順序模型;
第 9 課:Flow模型和隱式網絡;
第 10 課:元學習和流形學習。

強化學習的課程,來自對 David Silver 課程的改編。

為了更易於學習,每個影片縮短到 50 分鐘左右,略去了高級推導部分,但是增加了更多的範例和代碼。

課程設置是這樣的:

第 1 課:基礎;
第 2 課:馬爾可夫決策過程;
第 3 課:OpenAI gym 工具包;
第 4 課:動態編程;
第 5 課:蒙特卡洛方法;
第 6 課:時序差分方法;
第 7 課:函數逼近;
第 8 課:策略梯度法;
第 9 課:基於模型的方法;
第 10 課:擴展方法。

具體來看一下學習過程是怎樣的
以深度學習課程中的「第 5 課:生成模型」PPT 為例:

在一開始列出了章節目錄:課程劃分為定義、密度估算、散度與測度、生成對抗網絡四個部分,每一部分又劃分成不同小節。

以散度測試中的 KL 散度(相對熵)一節為例:首先說明了用相對熵來測量兩種分佈的差異,接著給出了相應的計算公式,並且還能一鍵直達圖形計算器。

PPT 圖文並茂而又不失簡潔,每一小節基本只佔 1~2 頁的篇幅。

類似地,在深度學習編碼器一節中,也可以一鍵查看 Colab 的代碼示例:

內容清晰明了,操作簡單方便,對初學者十分友好了~

網友關注

這份課程獲得了許多網友的肯定, 甚至有人直呼作者是「身披斗篷的英雄」。

一位從 PyTorch「逃離」到 Keras 的網友表示,作者讓他重新撿起了 PyTorch!

針對網友普遍關注的問題:

「這些課程主要關注代碼還是理論?」

「學習課程對於數學背景的要求是怎樣的?」

「對強化學習進行學習,是否要精通機器學習架構?」

……

作者在回覆中一一作出了說明:

課程對於代碼和理論都有涉及,課程前半部分偏向理論,後半部分側重於最新技術,兩套課程都是如此。

過程中提供了許多 Colab 代碼示例、方程式和算法,並且在第二課中對數學符號進行了介紹。

不需要很強的數學背景,並且所需的數學知識,在第二課中進行了介紹。

如果第二課實在太難,推薦用《機器學習數學基礎(Mathematics for Machine Learning)》這本書進行學習。

學習這份課程並沒有十分必要的先決條件,但是可能有必要看一下「深度學習」的第二課,以及《機器學習數學基礎》的第二章和第六章。

雖然不是針對強化學習基本算法的主要理論,不過在使用函數逼近器來擴展方法時,構建深度學習模型(特別是卷積神經網絡、循環神經網絡)上的一些實踐會很有用。

是不是也解答了你心中的疑問呢?

那麼,點選下方連結接開始學習吧~

課程列表

本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請連繫出處

作者:量子位

更多工程師小趣聞

你玩「小朋友下樓梯」最高紀錄是幾層?當年遊戲開發者現已是超強工程師!

【工程師專屬免費資料庫】Openbase 替你找出命定的開源軟體,寫程式從此不再苦惱

裝上這個外掛,不用寫 code 就能用 Python 做數據分析!