TensorFlow 機器學習理論與進階知識
開始使用下方的學習教材之前,請確認你符合下列條件:
-
完成我們的 TensorFlow 機器學習基本知識課程,或是具備同等知識
-
具備軟體開發經驗,特別是 Python 開發經驗
如果你想達成下列目標,就很適合從本課程著手:
-
增進對機器學習的理解
-
著手瞭解論文資料並使用 TensorFlow 實作相關程式碼
繼續之前,您應該已經具備機器學習運作方式的背景知識,或已完成新手課程 TensorFlow 機器學習基本知識中的學習內容。以下內容旨在引導學員認識更多理論和進階機器學習內容。您會發現許多資源都使用 TensorFlow,但這項知識也可以應用在其他機器學習架構上。
為了更深入瞭解機器學習,您應該具備 Python 程式設計經驗,以及微積分、線性代數、機率和統計方面的背景知識。為協助您加深您的機器學習知識,我們特別整理了一些推薦資源、大學課程和幾本教科書。
步驟 1:複習數學概念
機器學習是一門大量運用數學的學科,如果你打算修改機器學習模型或從頭建構全新模型,熟悉基礎數學概念非常重要。但這並不表示你必須先成為數學全才;其實只要在遇到不熟悉的地方時查詢相關知識即可。如果你已經很久沒上數學課了,可以考慮觀看 3blue1brown 的 Essence of linear algebra 和 Essence of calculus 播放清單,複習一下相關概念。想更進階的話,建議修習大學課程,或觀看 MIT 的開放式講座,例如 Linear Algebra 或 Single Variable Calculus。
3blue1brown 提供的一系列視覺化短片,以精彩明瞭的方式講解微積分的基本原理,讓觀眾深刻理解基本定理,而不只是簡單說明運算方式而已。
MIT 的這堂入門課程介紹了矩陣理論和線性代數。課程主軸著重於在其他學科中也很實用的主題,包括聯立方程式、向量空間、行列式、特徵值、相似性和正定矩陣。
步驟 2:透過這些課程和書籍,加深你對深度學習的理解
關於深度學習這個領域,無法光用ㄧ堂課學到所有知識,因此同時修習幾門課程可能較有助益。雖然教材會出現重疊,但多位講師以不同方式詮釋概念卻可讓學生從中受惠,尤其是針對較為複雜的主題而言。以下是我們推薦的新手入門課程。你可以逐一探索所有主題,也可以只選擇與自身最相關的主題。 \切記,學得越多,並藉由練習來強化這些概念,你就能越熟練地建構、評估自己的機器學習模型。
參加以下課程:
MIT course 6.S191: Introduction to Deep Learning 是麻省理工學院 (MIT) 提供的 TensorFlow 深度學習入門課程,也是很棒的資源。
Andrew Ng 在 Coursera 提供的 Deep Learning Specialization 也教授深度學習的基礎,包括卷積網路、循環類神經網路 (RNN)、長短期記憶網路 (LSTM) 等等。上述專項課程旨在協助您將深度學習應用於工作,並開創 AI 領域職涯。
在這門 MIT 課程中,你可以從中獲得深度學習演算法基礎知識,以及使用 TensorFlow 打造類神經網路的實務經驗。
DeepLearning.AI
Deep Learning Specialization在這五門課程中,你將學到深度學習的基礎、瞭解如何打造類神經網路,並學習如何成功帶領機器學習專案,以及開創 AI 事業。不僅可以掌握理論,還能一窺業界的應用情形。
⬆ 和 ⬇ 閱讀這些書籍:
為補充在上述課程中學到的內容,建議閱讀以下書籍,學習更深入的知識。每本書均可在線上取得,並附有補充教材可幫助練習。
建議先閱讀 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合著的《Deep Learning: An MIT Press Book》。本深度學習教科書是幫助學生加深理解的進階資源。本書有一個搭配的網站,提供了各種補充教材,包括練習題、講義投影片、錯誤更正,以及其他資源,讓你動手實作這些概念。
你也可以參閱 Michael Nielsen 的線上書籍《Neural Networks and Deep Learning》。本書提供了有關類神經網路的理論背景。書中未使用到 TensorFlow,但對有興趣瞭解詳情的學生來說是很棒的參考資料。
本書提供了有關類神經網路的理論背景。書中未使用到 TensorFlow,但對有興趣瞭解詳情的學生來說是很棒的參考資料。