Skip to content

由淺入深的深度學習資源 Collection of deep learning materials for everyone

License

Notifications You must be signed in to change notification settings

evecorkey/deep-learning-resources

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 

Repository files navigation


這裡紀錄了我在學習深度學習時蒐集的一些線上資源。內容由淺入深,而且會不斷更新,希望能幫助你順利地開始學習:)

本文章節

遊玩空間

這節列舉了一些透過瀏覽器就能馬上開始遊玩 / 體驗深度學習的應用。作為這些應用的使用者,你可以先高層次、直觀地了解深度學習能做些什麼。之後有興趣再進一步了解背後原理。

這小節最適合:

Deep Playground ConvNetJS
Magenta Google AI Experiments
  • 一個利用機器學習來協助人們進行音樂以及藝術創作的開源專案
  • 可以在網站上的 Demo 頁面嘗試各種由深度學習驅動的音樂 / 繪畫應用(如彈奏鋼琴、擊鼓)
  • 這邊展示了接近 40 個利用圖片、語言以及音樂來與使用者產生互動的機器學習 Apps,值得慢慢探索
  • 知名例子有 Quick Draw 以及 Teachable Machine,將在下方介紹
Quick Draw Teachable Machine
  • 由 Google 推出的知名手寫塗鴉辨識,使用的神經網路架構有常見的卷積神經網路 CNN 以及循環神經網路 RNN
  • 該深度學習模型會不斷將最新的筆觸當作輸入來預測使用者想畫的物件。你會驚嘆於她精準且即時的判斷
  • 利用電腦 / 手機上的相機來訓練能將影像對應到其他圖片、音訊的神經網路,饒富趣味
  • 透過這例子,你將暸解機器學習的神奇之處以及其侷限所在
Fast Neural Style TensorFlow.js
  • TensorFlow.js 頁面有多個利用 JavaScript 實現的深度學習應用,如上圖中的人類姿勢估計 Human Pose Estimation
  • 你可以在該應用裡頭打開自己的攝影機,看該應用能不能偵測到你與朋友的姿勢。

線上課程

看完遊玩空間的大量實際應用,相信你已經迫不及待地想要開始學習強大的深度學習技術了。

這節列舉了一些有用的線上課程以及學習教材,幫助你掌握深度學習的基本知識(沒有特別註明的話皆為免費存取)。

另外值得一提的是,大部分課程都要求一定程度的 Python 程式能力。

李宏毅教授的機器學習 / 深度學習課程 Deep Learning Specialization @ Coursera
  • 大概是全世界最好、最完整的 Deep Learning 中文學習資源。
  • 影片內容涵蓋基本理論(約 10 小時觀看時間)一直到進階的生成對抗網路 GAN 以及強化學習 RL
  • 你也可以從這邊看到教授的 Youtube 課程清單
  • 原 Google Brain 的吳恩達教授開授的整個深度學習專項課程共分五堂課,從神經網路的基礎到能夠進行機器翻譯、語音辨識的序列模型,每堂課預計 1 個月完成,收費採訂閱制
  • 程式作業會交互使用 NumpyKeras 以及 TensorFlow 來實作深度學習模型
Practical Deep Learning For Coders @ fast.ai Deep Learning @ Kaggle Learn
  • 7 週課程,一週約需安排 10 小時上課。該課程由傑里米·霍華德來講解深度學習,其在知名數據建模和數據分析競賽平台 Kaggle 維持兩年的世界第一
Elements of Artificial Intelligence MIT Deep Learning
  • 芬蘭最高學府赫爾辛基大學推出的 AI 課程。此課程目的在於讓所有人都能了解 AI,不需要任何程式經驗。這堂課非常適合完全沒有接觸過深度學習或是相關領域的人
  • 課程分 6 個部分,包含「何謂 AI ?」、「真實世界的 AI」、「機器學習」以及「神經網路」等章節
  • 麻省理工學院推出的深度學習課程,內容包含深度學習基礎、深度強化學習以及自動駕駛相關知識。Github Repo 包含了多個教學筆記本,值得參考
  • 上圖是 DeepTraffic,由 MIT 的研究科學家 Lex Fridman 推出的一個深度強化學習競賽。此競賽目標是建立一個可以在高速公路上駕駛汽車的神經網路。你可以在這裡看到線上 Demo 以及詳細說明

實用工具

這節列出一些在你的深度學習路上可以幫得上些忙的工具。

Colaboratory TensorBoard
  • 由 Google 提供的雲端 Jupyter 筆記本環境,讓你只要用瀏覽器就能馬上開始訓練深度學習模型。你甚至還可以使用一個免費的 Tesla K80 GPU 或 TPU 來加速訓練自己的模型
  • 該計算環境也能與自己的 Google Drive 做連結,讓運算雲端化的同時將筆記本 / 模型結果都同步到自己的筆電上
  • TensorBoard 是一個視覺化工具,方便我們了解、除錯並最佳化自己訓練的深度學習模型
  • 除了 TensorFlow 以外,其他基於 Python 的機器學習框架大多也可以透過 tensorboardX 來使用 TensorBoard
Embedding Projector Lucid
  • Lucid 是一個嘗試讓神經網路變得更容易解釋的開源專案,裡頭包含了很多視覺化神經網路的筆記本
  • 你可以直接在 Colab 上執行這些筆記本並了解如何視覺化神經網路

其他教材

除了線上課程以外,網路上還有無數的學習資源。

這邊列出一些推薦的深度學習教材,大多數皆以數據科學家常用的 Jupyter 筆記本的方式呈現。

你可以將感興趣的筆記本導入實用工具裡提到的 Colaboratory(Colab),馬上開始學習。

Seedbank Deep Learning with Python
  • 讓你可以一覽 Colab 上超過 100 個跟機器學習相關的筆記本,並以此為基礎建立各種深度學習應用
  • 熱門筆記本包含神經機器翻譯音樂生成以及 DeepDream
  • 因為是 Google 服務,筆記本大多使用 TensorFlow 與 Keras 來實現模型
Stanford CS230 Cheatsheets practicalAI
  • 在 Github 上超過 1 萬星的 Repo。除了深度學習,也有介紹 Python 基礎Pandas 的使用方式
  • 使用 Pytorch 框架來實現深度學習模型,且所有內容都是 Jupyter 筆記本,可以讓你在 Colab 或本地端執行
AllenNLP Demo To Be Updated
  • 清楚地展示了如機器理解命名實體識別等多個自然語言處理任務的情境。每個任務的情境包含了任務所需要的輸入、SOTA 模型的預測結果以及模型內部的注意力機制,對理解一個 NLP 任務的實際應用情境有很大幫助
  • AllenNLP 是一個由 AI2PyTorch 實現的自然語言處理函式庫

優質文章

這邊列舉了一些幫助我釐清重要概念的部落格以及網站,希望能加速你探索這個深度學習世界。

只要 Google 一下就能發現這些部落格裡頭很多文章都有中文翻譯。但為了尊重原作者,在這邊都列出原文連結。

經典論文

這邊依發表時間列出深度學習領域的經典 / 重要論文。

為了幫助你快速掌握論文內容以及歷年的研究趨勢,每篇論文下會有非常簡短的介紹(WIP)。

但我們推薦有興趣的人自行閱讀論文以深入了解。

自然語言處理 Natural Language Processing (NLP)

電腦視覺 Computer Vision (CV)

類神經網路架構 Neural Network Architecture

資料集 Dataset

物體偵測與切割 Object Detection and Segmentation

生成模型 Generative Models

待辦事項

還有不少內容正在整理,以下是目前我們打算增加的一些項目:

  • 深度學習中英術語對照表
  • 值得追蹤的業界 / 學界影響人物清單
  • 無圖的資源列表版本
  • 一些 Jupyter Notebook 範例

而我們也會持續將新資源加入如實用工具優質文章等列表裡頭。

如何貢獻

非常歡迎你一起加入改善這個 Repo,讓更多人有方向地學習 Deep Learning:)

如果你有

  • 其他值得推薦的深度學習資源
  • 針對此 Repo 內容的改善建議
  • 其他任何你想得到的東西

都歡迎你提出新的 Issue 來讓我們知道。

如果是想增加新資源的話,只附上連結也是沒有問題的,謝謝!

About

由淺入深的深度學習資源 Collection of deep learning materials for everyone

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published