TensorFlow 理論與進階機器學習

在開始學習以下資料之前,請務必

  1. 完成我們的課程 TensorFlow 機器學習基礎知識,或具備同等知識

  2. 具備軟體開發經驗,尤其是在 Python 方面

本課程是為希望以下人士提供的起點

  1. 增進他們對機器學習的理解

  2. 開始理解並使用 TensorFlow 實作論文

在繼續之前,您應該已經具備機器學習運作方式的背景知識,或已完成初學者課程「TensorFlow 機器學習基礎知識」中的學習資料。以下內容旨在引導學習者學習更理論化和進階的機器學習內容。您會看到許多資源使用 TensorFlow,但是,這些知識可以轉移到其他機器學習框架。

為了進一步瞭解機器學習,您應該具備 Python 程式設計經驗,以及微積分、線性代數、機率和統計學的背景知識。為了幫助您加深機器學習知識,我們列出了許多大學推薦的資源和課程,以及幾本教科書。

步驟 1:複習您的數學概念理解

機器學習是一門數學密集的學科。如果您計劃修改機器學習模型,或從頭開始建立新模型,熟悉底層數學概念非常重要。您不必預先學習所有數學知識,而是可以在遇到不熟悉的概念時查閱。如果您已經有一段時間沒有上數學課了,請嘗試觀看 3blue1brown 的「線性代數的本質」和「微積分的本質」播放清單以複習一下。我們建議您繼續修讀大學課程,或觀看 MIT 的開放式課程講座,例如 線性代數單變數微積分

線性代數的本質
作者:3Blue1Brown

3blue1brown 製作的一系列簡短視覺化影片,解釋了矩陣、行列式、特徵值等的幾何理解。

微積分的本質
作者:3Blue1Brown

3blue1brown 製作的一系列簡短視覺化影片,以一種讓您深入理解基本定理的方式解釋了微積分的基礎知識,而不僅僅是如何使用方程式。

MIT 18.06:線性代數

這門 MIT 的入門課程涵蓋矩陣理論和線性代數。重點放在其他學科有用的主題上,包括方程式系統、向量空間、行列式、特徵值、相似性和正定矩陣。

MIT 18.01:單變數微積分

這門 MIT 的入門微積分課程涵蓋單變數函數的微分和積分,以及應用。

步驟 2:透過這些課程和書籍加深您對深度學習的理解

沒有任何單一課程可以教您關於深度學習的所有知識。一個可能有幫助的方法是同時修讀幾門課程。雖然教材內容會有重疊,但讓多位講師以不同的方式解釋概念可能會有所幫助,尤其對於複雜的主題而言。以下是我們推薦的幾門課程,可幫助您入門。您可以一起探索所有課程,或僅選擇對您來說最相關的課程。

請記住,您學得越多,並透過實踐來強化這些概念,您就越能熟練地建立和評估自己的機器學習模型。

修讀這些課程

MIT 課程 6.S191:「深度學習導論」是 MIT 開設的使用 TensorFlow 的深度學習入門課程,也是一個很棒的資源。

吳恩達在 Coursera 上的「深度學習專業化課程」也教授深度學習的基礎知識,包括卷積網路、RNN、LSTM 等。此專業化課程旨在幫助您將深度學習應用於工作中,並在人工智慧領域發展事業。

MIT 6.S191:「深度學習導論」

在這門 MIT 的課程中,您將獲得深度學習演算法的基礎知識,並獲得使用 TensorFlow 建立神經網路的實務經驗。

深度學習專業化課程

在五門課程中,您將學習深度學習的基礎知識、了解如何建立神經網路,並學習如何領導成功的機器學習專案並在人工智慧領域發展事業。您不僅將掌握理論,還將了解它如何在產業中應用。

⬆ 和 ⬇ 閱讀這些書籍

為了補充您在上面列出的課程中學到的知識,我們建議您透過閱讀以下書籍來深入了解。每本書籍都可以在線上取得,並提供補充資料來幫助您練習。

您可以從閱讀 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合著的《Deep Learning: An MIT Press Book》開始。《Deep Learning》教科書是一本進階資源,旨在幫助學生加深理解。本書附帶一個網站,其中提供了各種補充資料,包括練習、講座投影片、錯誤更正和其他資源,讓您親身練習這些概念。

您也可以探索 Michael Nielsen 的線上書籍《Neural Networks and Deep Learning》。本書提供了關於神經網路的理論背景知識。它沒有使用 TensorFlow,但對於有興趣學習更多知識的學生來說,是一個很好的參考資料。

深度學習
作者:Ian Goodfellow、Yoshua Bengio 和 Aaron Courville

這本《深度學習》教科書是一本資源,旨在幫助學生和從業人員進入廣義的機器學習領域,尤其是深度學習領域。

神經網路與深度學習
作者:Michael Nielsen

本書提供了關於神經網路的理論背景知識。它沒有使用 TensorFlow,但對於有興趣學習更多知識的學生來說,是一個很好的參考資料。

步驟 3:閱讀並使用 TensorFlow 實作論文

在這個階段,我們建議閱讀論文並嘗試我們網站上的進階教學課程,其中包含一些著名出版物的實作。學習進階應用程式(如機器翻譯圖像標註)的最佳方法是閱讀教學課程中連結的論文。當您逐步學習時,找到程式碼的相關部分,並使用它們來幫助鞏固您的理解。