1. 程式人生 > >深度學習哪家強?吳恩達、Udacity和Fast.ai的課程我們替你分析好了

深度學習哪家強?吳恩達、Udacity和Fast.ai的課程我們替你分析好了

引言

過去2年,我一直積極專注於深度學習領域。我對深度學習的興趣始於2015年初,那個時候Google剛剛開源Tensorflow。我根據Tensorflow的文件快速地嘗試了幾個例程,當時的感覺是深度學習並不簡單。部分原因是因為深度學習的框架很新,也需要更好的硬體支援和耐心來摸索。

時間快進到2017年,我已經在深度學習的專案上花費了幾百個小時。並且由於軟體(易用性,例如Keras,PyTorch)、硬體(對於我這樣在印度工作的人來說,儘管仍然不便宜,但GPU已經發展成了商業產品)、資料可用性、優質書籍以及MOOC的發展,這項技術正在變得越來越觸手可及。

在完成了Fast.ai,deeplearning.ai /Coursera (不完全釋出)和Udacity這三個深度學習領域最受歡迎的MOOC之後,相信寫這樣一篇部落格,告訴你們能期望自己從這3門課程中學到什麼,對以後的深度學習愛好者一定很有用。

Fast.ai:http://www.fast.ai/

deeplearning.ai /Coursera https://www.deeplearning.ai/

Udacity:https://in.udacity.com/

在這篇文章中,我將從5個方面介紹每門課程,這將有助於你做出決定。

  1. 關於指導老師:每門課程都是由具有不同背景的人教授的。我相信這些經歷對教學風格有很大的影響,所以我們將瞭解一下課程指導老師的背景。

  2. 關於課程:課程的高階概述。

  3. 亮點:課程中最精彩的部分。

  4. 侷限:我對這個詞非常苛刻。因為我知道所有這些課程都為了讓學習內容變得更容易,付出過巨大而真誠的努力。我想把這一部分解釋為,我們在課程中錯過了什麼。某些侷限性可能是因為課程的設計帶來的。

  5. 費用:參加課程產生的費用。

Fast.ai

我是在kddnudgets的一篇文章中發現的這門課程。當時是我第一次聽說Jeremy Howard,於是我在維基百科搜尋了他,印象非常深刻。於是我購買了這門由Jeremy和Rachel Thomas教授的MOOC。看完第一堂課,我就被他們的教學風格深深震撼了。

您將在幾個小時內學到如何構建頂尖水準的影象分類器,這甚至連幾美元的價格都不到。

Jeremy Howard:

https://medium.com/@jeremyphoward

https://en.wikipedia.org/wiki/Jeremy_Howard_%28entrepreneur%29

關於指導老師:

Jeremy的背景與通常的教授非常不同,他不是任何頂尖大學的博士生導師,也未曾就職於谷歌,百度,微軟等頂級公司。他自學成才,是kaggle競賽高手,企業家和Fast.ai的CEO,目前唯一的目標就是讓深度學習不再神祕。 他的獨特背景讓這門課程變得與眾不同,因為他教會了不同背景的人如何使用深度學習,而無需大量資料或計算能力。

關於課程:

課程分為2部分,每7周學完一個部分。

課程的第一部分講授如何在計算機視覺和自然語言處理(NLP)領域使用深度學習。

第二部分講授生成網路,GAN,序列模型等前沿研究工作,如何閱讀研究論文,以及如何在深入學習領域保持領先的實用技巧。這些技巧正在以驚人的速度發展。

本課程教學風格獨特。課程作者習慣於這種獨特的方法。

我們不會讓您在先了解有關速度,動量,分析等方面的資訊之後,再去學習打板球(或任何遊戲),最後在18點進場。相反,我們先帶您先去現場,握著球或棒球棒,然後在實戰中學習其他知識。

通過這種獨特的方法,您將首先學習如何在雲上部署工作站,安裝軟體,並使用深度學習快速構建解決方案。每週Jeremy會挑選一個新的問題,然後他教授你如何使用技術來提高模型的效能。他教的東西很實用,比如使用預卷積特徵,偽標記和許多非常有用的技巧。到第一部分結束,您將能夠使用深度學習在您工作的領域構建實用的應用程式。

課程的第二部分介紹了前沿研究,幫助您閱讀,理解和實施生成式模型,影象分割和序列到序列模型的各種研究論文。您將學習構建一些有趣的專案,如風格轉移,低解析度影象到高解析度影象,GAN,影象分割,翻譯以及如何將深度學習應用於結構化資料。第二部分最重要的部分是建立自己的工作站。如果您對深度學習充滿激情,並希望構建各種深度學習應用程式,這將非常有用。

亮點:

  1. 構建一流的計算機視覺或NLP系統的能力。

  2. 瞭解和使用為深度學習應用程式提供支援的現代主流架構。

  3. 當您的資料和計算能力有限時,如何快速應用DL的實用技巧。

  4. 一個龐大的社群,支援您在不同階段學習和實施您的解決方案。

  5. 輕鬆使用3種流行的DL框架:Keras,TensorFlow,PyTorch。

  6. 在課程結束之後,您將不再為閱讀研究論文,構建新專案而頭痛。Fast.ai的部落格以及整個社群都將為您提供支援。

侷限:

  1. 由於本課程遵循自上而下的方法,您將非常依賴一個框架來對基礎數學有一定的理解。如果您正在籌備一項工作或計劃在該領域進行更多的研究,那麼提高你理解DL中的數學知識的能力將很有幫助。

  2. 有些機構對證書很看重,他們認為這是你完成課程的證明。但我猜Jeremy認為我們都是成熟的孩子,所以沒有提供任何形式的證書。 Jeremy和Rachel鼓勵撰寫部落格,構建專案,在會議中進行討論等活動,以實力來代替傳統證書的證明作用。 我個人認為這是非常有用的。

費用:

MOOC本身沒有相關費用。但是要上手實踐這些專案,您最終需要在AWS上產生支出,或許您會選擇自己配置機器,但這樣做很貴。當然在家裡有一個強大的工作站是非常有幫助的。

Deeplearning.ai 

最近, Andrew Ng 在Twitter上釋出了關於這門課程的訊息。 從2014年初開始,我就一直在關注他,我正在參加他在Coursera上的一門課程,學習和機器學習有關的數學知識。 從工程背景出發,他的第一門課程非常有趣,同時也有點難度。2016年底的時候,吳先生從百度離職,不再擔任百度的首席科學家,並於今年8月8日推出了一個新的深度學習專業化的課程。 我在今年晚些時候才想起來,因為我的時間之前一直被一些其他的專案所佔據。 然後我從Fast.ai上 Arvind N的學生那裡讀到了一篇關於他如何在4天內完成所有3節課的部落格以及他對fast.ai和deeplearning.ai的看法。

4天內完成所有3節課的部落格

https://medium.com/towards-data-science/thoughts-after-taking-the-deeplearning-ai-courses-8568f132153

我想挑戰自己,看是否我可以在不到4天內完成相同的事情。並且我成功了,在3天內完成了3門課程。

關於指導老師:

Andrew Ng是斯坦福大學教授,共同創辦了Coursera,成立並領導了Google Brain的深度學習專案,並曾任百度首席科學家。課程反映了他在各種大規模問題上學習到的知識。

該課程幫助您瞭解深度學習所需的數學知識,並在課程2結束之後,學習如何從頭開始構建深度學習演算法的幾個關鍵元件。

關於課程:

課程分為5節。截止到這篇部落格釋出(8月19日),已經發布了前3節課。 Andrew Ng在本門課中採用了自下而上的教學安排。在他早期的課程中,他選擇octave進行程式設計作業,但這個課程他選擇了python。

1. 在課程1中,他詳細地介紹了深度學習中許多概念所需的數學和直觀認識。他小心地對課程內容進行平衡,並教授數學知識,這是瞭解深度學習的基礎所必需的。指定會話對通過程式設計的方式實踐數學知識非常有幫助。所有的公式都已經提供好了,所以哪怕沒有太多的數學知識,你也可以專注於實現它們。

2. 課程2涵蓋了正則化,動量,批量歸一化和dropout等許多技術,來提高DL模型的效能。這個課程的最好的部分就是使用python和numpy來實現所有的技術。

3. 在第3節課中,他介紹了他從多年的經驗中學到的很多技巧和竅門。在第三部分課程結束時,他介紹了DL框架。課程3的作業是學習怎樣使用TensorFlow。作業設計的非常明確。

4. 課程4是關於CNN的。課程釋出後,我將更新此部分。

5. 課程5是關於RNN或序列資料的。一旦課程釋出,我將更新該部分。

亮點:

1. 當你學完前3節課後,你的基礎知識將非常強大。

2. 前3個課程採取了框架獨立的方法。這能讓你輕鬆使用任何框架。

3. 課程中包含了關於如何設計評估指標、如何分割資料集進行訓練以及避免方差和偏差問題的實用技巧。

4. 當然,最好的一部分是案例研究,您可以在這裡找到一個機會,來驗證你已經理解了如何成功執行深度學習專案。

5. 所有的作業都是以jupyter notebook的形式提供的,並在Coursera伺服器上執行,因此無需擔心基礎的框架。

6. 學完3節精彩的課後,仍有2節課值得期待。

7. 每週都有一個名為“深度學習英雄”的演講。這是一個很好的來源,讓我們瞭解深度學習背後的歷史和靈感。

侷限:

1. 對於一些全新的深度學習或機器學習專案,從頭開始構建每一部分並瞭解其背後的數學原理,可能非常具有挑戰性。

2. 由於課程遵循自下而上的方法,所以即使在第三節課結束後,您仍然很難在您的領域中使用DL來構建解決方案。

3. 由於提供了基礎框架,所以您將不再學習如何管理自己的工作站。而且如果要使用很多技術,有能力在雲端或家庭/辦公室配置機器這一點非常重要。

4. 課程提供了許多示例程式碼,使得完成作業變的更容易。但是要真正掌握一個技能,還得不使用示例程式碼,將整個作業復現一遍,這是非常重要的。這可能談不上是課程的侷限性,但如果您想要充分利用它,這是非常重要的。

費用:

所有課程內容都是免費提供。但是我不知道這些作業是否也免費提供。如果你正在參加付費版本的課程,那麼你最終每月花費大約367元或55 $。

Udacity上Siraj Raval深度學習納米學位

我是Udacity的粉絲。他們在很多主題上都有非常好的課程。所以當今年初讀到深度學習課程的公告時,我非常開心,並在第一批就進行了註冊。

關於指導老師:

一部分課程來自Siraj Raval的視訊,其餘部分則來自Udacity。 我瞭解Siraj Raval是源於他在YouTube上的一些非常有趣的視訊。他是一個多才多藝的人,通過將音樂和視訊混合在一起,以充滿趣味性的方式巧妙地提供教育視訊。課程中還有一部分是由Andrew W.Trask和Ian Goodfellow教授。

Siraj Raval

https://medium.com/@siraj_raval

關於課程:

與其他2門課程不同,本課程不會採取非常明確的自下而上或自上而下的方式。課程分為5個部分,並附贈100美元的亞馬遜Credit。它涵蓋了很多深度學習技術,如CNN,RNN,GAN,自編碼器。

亮點:

1. 在本課程的頭幾個星期,您將學習如何使用python構建神經網路,課程其餘部分將集中使用TensorFlow。

2. 作為課程的一部分,對你提交的所有專案,Udacity都將提供個性化的專案批改。

3. 到課程結束的時候,您可以在所有專案中輕鬆使用TensorFlow。

4. 高質量的社群和論壇指導,他們隨時準備為您提供幫助。

侷限:

1. 課程提供了一些操作技巧,來告訴你如何最佳地部署深度學習 /獲得出色的表現,但這沒有作為課程的重點。

2. 一些專案太簡單以至於難以在現實世界中應用。這些專案的資料集非常小。

3. 課程提供了示例,對複雜的DL應用程式構建過程進行簡化。但是,如果您的學習目的是在現實世界進行實際使用,建議您自行構建專案,而不使用示例程式碼。

費用:

課程費用較高。沒有提供免費版本。我參加課程的時候,有一個限量優惠,所以當時的成本約為2335元或350 $。

建議:

如果有人想從今天就開始[自學]深度學習,我會建議你先完成fast.ai,因為它的先決條件最低。接下來可以按順序或並行地參加Coursera 深度學習專業化課程的學習。感謝所有為了深度學習的普及真誠的付出過努力的人。

作者簡介:Vishnu Subramanian,終身學習者,熱衷於深度學習,分散式計算。目前正在積極尋找AI /深度學習的機會。

如果你想學習深度學習,你會選擇哪家的課程呢?