Contents
在 Theano 和 TensorFlow 中將電腦視覺和資料科學與機器學習相結合!
從這 7.5 小時的課程,你會學到
- 理解卷積( convolution )
- 理解卷積如何應用於音效( audio effects )
- 理解卷積如何應用於圖像效果( image effects )
- 寫程式實現高斯( Gaussian )模糊和邊緣檢測
- 寫程式實現簡單的迴聲效果( echo effect )
- 理解卷積如何幫助圖像分類
- 理解並解釋卷積神經網路(CNN)的體系結構
- 在 Theano 中實現卷積神經網路( convolutional neural network )
- 在 TensorFlow 中實現卷積神經網路( convolutional neural network )
要求
- 安裝 Python、Numpy、Scipy、Matplotlib、Scikit Learn、Theano 和 TensorFlow
- 了解 Python 中實踐深度學習的反向傳播第 1 部分
- 從 Deep Learning 第 2 部分了解神經網路的 Theano 和 TensorFlow 實踐
課程說明
這是我關於 Python 深度學習的資料科學和機器學習系列的第三部分。此時,你已經了解了許多關於神經網路和深度學習的知識,包括不僅僅是反向傳播等基礎知識,還包括如何使用動量和自適應學習率等現代技術來改進它。你已經在 Theano 和 TensorFlow 中編寫了深度神經網路,並且你知道如何使用 GPU 運行程式碼。
本課程全部是關於如何使用卷積神經網路( Convolutional Neural Networks,CNN )對電腦視覺進行深度學習。當涉及圖像分類時,這些都是最先進的技術,並且他們擊敗了像 MNIST 這樣的任務的簡單深度網路。
在本課程中,我們將討論賭注並觀察 StreetView House Number(SVHN)資料集 – 該資料集以各種角度使用較大的彩色圖像 – 因此計算和分類任務的難度都會變得更加嚴峻。但是我們會證明卷積神經網路 ( CNN ) 能夠應對挑戰!
因為卷積是這類神經網路的核心部分,所以我們將深入討論這個話題。它具有比你想像的更多的應用,比如模擬人造器官如胰腺和心臟。我將向你展示如何建構可應用於音頻的捲積濾波器,如迴聲效果,並且我將向你展示如何為圖像效果構建濾波器,如高斯模糊和邊緣檢測。
我們也會做一些生物學,並討論卷積神經網路是如何被動物視覺皮層啟發。
在描述卷積神經網路的體系結構之後,我們將直接跳入程式碼,並且展示如何擴展我們上一次建構的深層神經網路(在第2部分中),只需一些新功能將它們轉化為 CNN。然後我們將測試他們的表現,並展示在 Theano 和 TensorFlow 中編寫的捲積神經網路如何能夠勝過 StreetView House Number 資料集上的簡單神經網路的準確性。
本課程的所有材料都是免費的。 你可以使用之前課程中顯示的簡單命令下載並安裝 Python、Numpy、Scipy、Theano 和 TensorFlow。
本課程著重於 “如何建構和理解”,而不僅僅是 “如何使用”。 讀完一些文件後,任何人都可以在 15 分鐘內學會使用 API。 這不是關於 “記住事實”,而是關於通過實驗 “親眼看到”。 它會教你如何視覺化模型內部發生的事情。 如果你不僅僅想膚淺地了解機器學習模型,本課程很適合你
注意:
所有的課程中的程式碼都可以從我的github下載:
/lazyprogrammer/machine_learning_examples
在目錄中:cnn_class
確保你總是用“ git pull ”,如此你總是拿到最新版本!
必要條件 / 假設你已具備以下知識 :
- 微積分
- 線性代數
- 機率
- Python 程式設計 : if/else, loops, lists, dicts, sets
- Numpy 程式設計:矩陣和向量操作,載入一個 CSV 檔
- 可以在 Theano 和 TensorFlow 中編寫前饋神經網路( feedforward neural network )
提示(通過課程):
- 以 2x 觀看。
- 拿手寫筆記。 這將大大增加你記住訊息的能力。
- 寫下方程。 如果你不這樣做,我保證它看起來像亂碼。
- 在討論板上提出許多問題。 越多越好!
- 意識到大多數練習將需要幾天或幾週才能完成。
- 自己編寫程式碼,不要只是坐在那裡看我寫程式。
修課順序
- 查看講座 “ What order should I take your courses in?” (可在我的任何課程的附錄中找到,或請參考先修課)
目標受眾
- 學生和專業計算機科學家
- 軟體工程師
- 從事計算機視覺任務的資料科學家
- 那些想要將深度學習應用於圖像的人
- 那些想運用過去學到的簡單( vanilla=raw )深度網路( deep networks )拓展深度學習知識的人
- 不清楚反向傳播是什麼或者它是如何工作的人不應該參加這個課程,而應該參考第1部分和第2部分。
- 對 Theano 和 TensorFlow 基礎知識不清楚的人在參加本課程前應參加第2部分。
講師簡介
Lazy Programmer Inc 資料科學家和大數據工程師
我是一名資料科學家、大數據工程師和全端軟體工程師。
我有電腦工程的碩士,專長為機器學習和模式辨識。
我曾在網路廣告和數位媒體企業擔任過資料科學家和大數據工程師,圍繞所謂的資料建構各種高流量的 web 服務。我曾經使用 Hadoop / Pig / MapReduce 創建新的大數據管道,也曾建立機器學習模型來預測點擊率,使用線性迴歸、Bayesian Bandits 和協同過濾 ( collaborative filtering )建立新聞推薦系統,並使用A / B測試驗證結果。
我曾在大學部與研究所教授資料科學、統計學、機器學習、演算法、微積分、電腦圖學和物理學,任職的學校如哥倫比亞大學、紐約大學、Hunter 學院和 The New School。
有多家企業已從我的 Web 程式設計專業知識中受益。我做所有的後端(伺服器)、前端(HTML / JS / CSS)和運營/佈署工作。 我使用的技術包含:Python、Ruby / Rails、PHP、Bootstrap、jQuery(Javascript)、Backbone 和 Angular。至於儲存/資料庫,我採用 MySQL、Postgres、Redis、MongoDB等。
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
報名參加課程


也許你會有興趣
- 機器學習與資料科學相關線上課程
- Python 程式設計學習地圖
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
你必須登入才能發表留言。