fbpx

使用 Python 學習最新的深度學習技術

運用最新潮的程式庫如 Tensorflow、Theano、Keras、PyTorch、CNTK、MXNet 建構深度學習系統。 在 AWS 上使用 GPU 更快速地訓練。

简体中文课程介绍

從這 9 小時的課程,你會學到

  • 應用動量反向傳遞做神經網路的訓練
  • 應用 AdaGrad、RMSprop 和 Adam 等自適應學習速率程續來反向傳遞做神經網路的訓練
  • 了解 Theano 的基本建構區塊 ( building blocks )
  • 在 Theano 建一個神經網路
  • 了解 TensorFlow 的基本建構區塊 ( building blocks )
  • 使用  TensorFlow 建一個神經網路
  • 建構一個在 MNIST 資料集上表現良好的神經網路
  • 了解完全梯度下降、分批梯度下降和隨機梯度下降之間的差異
  • 了解並實施 Theano 和 TensorFlow 中的輟學正規化 ( dropout regularization)
  • 理解並實現 Theano 和 Tensorflow 的批量標準化 ( batch normalization )
  • 用 Keras 寫一個神經網路
  • 用 PyTorch 寫一個神經網路
  • 用 CNTK 寫一個神經網路
  • 用 MXNet 寫一個神經網路

要求

  • 已用過 Python、Numpy 和 Matplotlib 。 需安裝 Theano 和TensorFlow。
  • 如果你還不知道梯度下降 ( gradient descent )、反向傳遞 ( backprop ) 和 softmax,請參閱我以前的課程,使用 Python 實作深度學習,然後返回到此課程。

課程說明

這門課程接續我的第一門課程 使用 Python 實作深度學習。 在這門課你已經知道如何在 Python中建構人工神經網路,且你有一個可以用於 TensorFlow 的即插即用腳本。 神經網絡是機器學習的重要組成部分之一,它們始終是 Kaggle 大賽的最大競爭者。 如果你想提高你在神經網路和深度學習的技能,這是為你設計的課程。

你已經了解了反向傳遞,但是還有很多未解的問題。 像如何修改它以提高訓練速度? 在本課程中,你將學習批量處理和隨機梯度下降,這是兩種常用的技術,可以讓你在每次迭代時僅對一小部分資料進行訓練,大大加快了訓練時間。

你還將了解到動量(momentum),這可能有助於帶你越過當地最低標準,防止你太過保守而阻礙了學習速度。 你還將學習 AdaGrad、RMSprop 和 Adam 等自適應學習速率技術,這些技術也可以幫助加快你的訓練速度。

因為你已經了解了神經網路的基礎知識,所以我們將討論更多的現代技術,比如輟學正規化 (dropout regularization ) 和批量正常化 ( batch normalization ),我們將在 TensorFlow 和 Theano 中實現這些技術。 課程會不斷更新,更高級的正規化技術將在近期推出。

在我上個課程中,我只是想給你搶先看看 TensorFlow。 在本課程中,我們將從基礎知識入手,以便你真正了解發生了什麼事情 – 什麼是 TensorFlow 變數和表達式,以及如何使用這些建構區塊創建神經網路? 我們也要去看一個更久前就已存在的一個程式庫,因深度學習而非常受歡迎 – Theano。 借助這個程式庫,我們還將檢查基本的建構區塊 – 變數、表達式和函數 – 以便你可以放心地在 Theano 建構神經網路。

Theano 是當今所有現代深度學習程式庫 ( libraries ) 的前身。 今天,我們有幾乎太多的選擇。 Keras、PyTorch、CNTK(微軟)、MXNet(亞馬遜/ Apache)等。在這個課程中,我們涵蓋了所有這些! 選擇你最喜歡的那個。

由於 TensorFlow 和 Theano 的主要優勢之一就是能夠使用 GPU 加速訓練,因此我將向你展示如何在 AWS 上設置 GPU 實例,並比較 CPU 與 GPU 的速度,以訓練深度神經網路。

所有這些額外的速度,我們將看看一個真正的資料集 – 著名 MNIST 資料集( 手寫數字圖像),並與各種基准進行比較。 這是資料集研究人員首先想問的問題,“這個東西有用嗎?

這些圖像是深度學習歷史的重要組成部分,今天仍然用於測試。 每個深度學習專家都應該好好地了解他們。

本課程著重於 “如何建立和理解”,而不僅僅是“如何使用”。任何人都可以在讀完一些文件後15分鐘內學會使用API。 這不是 “記住事實”,而是通過實驗 “親眼見證”。 它會教你如何視覺化模型內部發生的事情。 如果你不僅僅是想膚淺地懂點機器學習模型,這個課程是給你的。

📣註:

本課程的所有程式碼可以從我的 github下載:/ lazyprogrammer / machine_learning_examples

在目錄:ann_class2

確保你總用 “ git pull”,這樣你才會拿到最新的版本!

📣硬性先決條件/假定你有的知識:

  • 微積分
  • 線性代數
  • 機率
  • Python 程式設計:if / else、loops、lists、dicts、sets
  • Numpy 程式設計:矩陣和向量操作、載入一個CSV檔
  • 神經網路和反向傳遞

📣提示 ( 幫助你完成此課程 ):

  • 以 2x 速度看本課程 ( 如果你的英文夠好的話 )
  • 請手寫做筆記。 這會大大增加你吸收知識的能力。
  • 寫下方程式。如果你沒有這麼做,我保證你會覺得課程都在胡言亂語。
  • 在討論版儘量問問題。越多越好!
  • 意識到大多數的練習會花你幾天或幾星期完成。
  • 請自己寫程式,千萬部要只看我寫程式什麼都沒做。

📣有用的課程順序

目標受眾

  • 希望深化機器學習知識的學生和專業人員
  • 希望了解更多深度學習的資料科學家
  • 已經知道反向傳遞和梯度下降,並希望通過隨機批量訓練、動量和自適應學習速率程續(如RMSprop) 更進一步的資料科學家
  • 如果你還不知道什麼是反向傳遞或 softmax ,請先學習 使用 Python 實作深度學習,然後返回到此課程。

講師簡介

Lazy Programmer Inc. 資料科學家和大數據工程師

我是一名資料科學家,大數據工程師和全端軟體工程師。

關於我的碩士論文,我使用機器學習的 brain-computer 介面。這些幫助語言障礙和行動不變的人與他/她們的家人和照顧者溝通。

我曾在網路廣告和數位媒體作為資料科學家和大數據工程師,圍繞所述的數據構建各種高流量的 web服務。我曾經使用Hadoop / Pig / MapReduce 建立了新的大數據管道。我建立了機器學習模型來預測點擊率,使用線性回歸建立新聞推薦系統,Bayesian Bandits和collaborative filtering,並使用A / B測試驗證結果。

我教過資料科學,統計學,機器學習,演算法,微積分,電腦圖學和哥倫比亞大學,紐約大學,亨伯學院和新學校的學生的物理學。

多個企業已經從我的 Web 程式設計專業知識中受益。我做所有的後端(伺服器),前端(HTML / JS / CSS)和操作/部署工作。我使用的一些技術是:Python,Ruby / Rails,PHP,Bootstrap,jQuery(Javascript),Backbone和Angular。對於儲存/資料庫,我使用MySQL,Postgres,Redis,MongoDB等。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

優惠資訊

如何購買這門課程比較划算?可以參考課程合購優惠方案


報名參加課程 

Sponsored by Udemy

也許你會有興趣

 歡迎使用 e-mail 訂閱 Soft & Share 

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: