1. 程式人生 > >從第一本書開始,如何成為深度學習工程師(上篇)

從第一本書開始,如何成為深度學習工程師(上篇)

在這裡,小編理解的初階選手,是具備了一定的計算機基礎,但是對於深度學習理論和動手實操方面沒接觸過的筒子。通過系統學習後能夠快速入門,並升級中階。

如下是建議初階少俠的修仙路徑,需要走好這四步,即:

讀理論書→看視訊課→實操訓練→社群交流

具體怎麼操作呢?彆著急,逐一來看~

要看的第一本書

基礎理論習得的最直接來源就是書本。按機器學習理論、深度學習理論、程式語言三個方面劃分,做如下書籍閱讀推薦:

機器學習理論

深度學習是機器學習中的一個分支,兩者內在的理論基礎存在很強關聯。就像一個孩子在學會走路前需要學會爬,同理在掌握深度學習理論前,需要先掌握機器學習理論。

機器學習理論的書籍教材也非常多樣,這裡推薦一本易懂易學的書籍,可以重點關注神經網路部分。

書名:周志華《機器學習》,清華大學出版社


深度學習理論

打好機器學習的理論功底後,可以開始鑽研深度學習的理論了。通常深度學習理論會給人留下抽象難懂的印象,且和數學結合緊密。為了讓大家能夠開心入門not放棄,在此推薦一份超級容易讀懂的教材,無論深度學習理論還是數學理論都能一本搞定~

書名: 《深度學習》,Goodfellow, Bengio, Courville合著,趙申劍、黎彧君、符天凡和李凱合譯

偶爾發現的pdf連結:https://github.com/exacity/deeplearningbook-chinese


程式語言

1)Python方向

看到主推語言是Python,大家可能會好奇,為啥它中選?

一方面,各大主流深度學習框架所使用的程式語言均為Python


另一方面,對比其他語言,Python也是相當簡單易學的!

Python的教材也非常多樣,這裡推薦一本實操和理論性都兼顧的教材,只要完成書中52個習題,跑程式碼然後發現問題解決,就能逐步上手

書名:《“笨辦法”學Python》,作者Zed Shaw 王巍巍譯,人民郵電出版社201411月版


2)C++方向

C++語言在底層框架中使用較多,在逐步掌握開源框架的基本操作後,在更高階的框架應用中會用到這個技能點。

同前面提到的Python一樣,學習C++時需要多上手操作。這裡推薦迅速上手C++的書籍,不但能夠學習功能和結構,還提供瞭解決方案的示例

書名:《Essential C++》【美】李普曼(Lippman, S. B.)著,侯捷譯,電子工業出版社2013年8月版


需要看的視訊公開課

在學習一門新技術的同時,除了看書,如果有老師面對面教授,可以更快更好的學會知識。線下授課一般會固定時間和地點,且需要交學費才能聽。而視訊公開課能夠在省錢省力的同時達到同樣的面授效果~

通過學習視訊公開課,大家可以更輕鬆的理解深度學習中的抽象理論,並且也能在實操方面不繞彎路。且目前深度學習的課程多是公開免費的。

小編縱覽很多課程網的深度學習公開課之後,綜合課程生動性、可操作性、緊湊性、連續性這些特點,推薦如下課程,並將它們的網址一併附上,便於大家查詢學習~

1)百度推出的“AI核心技術掌握“課程,每節課在20-30分鐘左右,從AI技術到深度學習進行全面細緻的解讀。

https://ai.baidu.com/paddlepaddle/player?id=13

2)臺灣李巨集毅教授的線上課程,其中是英文課程,會結合國外的科研成果,但也適合新手入門和理解深度學習

http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html

3)Python操作課程,從基礎到進階操作都提供詳細說明,每節課在20分鐘左右

https://ai.baidu.com/paddlepaddle/openCourses 

初步訓練

做好如此充足的知識儲備和程式設計操作,當然不能紙上談兵,這就帶大家衝進深度學習的世界操練起來!

不過,先不要急起飛,就像王者農藥初期要有角色對戰教學一樣,我們也需要簡單的實操,檢測自己的學習成果。

一般遵循的路徑是:選取案例→使用框架跑模型→擴大範圍實踐

選取案例

做好前面的兩步鋪墊,接下來進入實訓階段,那麼可以到哪裡找到適合初階少俠操作的案例呢?

縱觀各類文章,業內人士高頻推薦如下兩種深度學習模型

  1. 房價預測:藉助人工神經元和人工神經網路,深度學習模型可以藉助多種特徵預測出結果。一套房子的價格也受到很多因素影響,對應著深度學習模型中的多種特徵。且目前房價的價格資料有成熟的資料庫,不同的深度學習框架也都有房價模型。這就相當於烹飪,食材工具都已具備,火候也已經調好,遵循這些操作就可以成功啦。

  2. 鳶尾花分類:這個是影象分類中的經典模型。深度學習模型同樣可以進行影象識別和分類,而影象分類操作上手難度相對較低。且鳶尾花有穩定的官方資料集——鳶尾花iris.csv,配合不同深度學習框架模型,以及其中給出的分類模型程式碼,就可以成功的讓深度學習幫你區分鳶尾花啦!

問題來了:模型都需要配合深度學習框架使用,那麼深度學習框架都有哪些,上哪兒找呢?

目前主流的國際化開源框架中,適合新手操作的有三種,其主要特徵如下:

Tensorflow:Google出品,定位於工業級應用,跟緊技術前沿

Pytorch:定位於做研究使用,具備一定的靈活性

PaddlePaddle:百度出品,定位是成為最適合中國使用者的框架,易學易用,有詳細中文文件、視訊課程和API。

框架安裝

出於容易學習,以及小編工資誰發的因素,本篇文章中,小編就以深度學習框架PaddlePaddle為例介紹~

安裝部分,建議使用linux系統,如果是windows系統需要安裝虛擬機器docker後再進行安裝,具體的安裝攻略可以參見小編之前的推送:

安裝成功後,在PaddlePaddle官網首頁,就有房價預測模型,下載資料並複製程式碼後,就盡情的跑起來吧!詳解連結在此請收好:

http://www.paddlepaddle.org/

擴大範圍實踐

恭喜少俠,經歷初階磨練,相信你已經有了足夠的信心,有想要接觸更多模型訓練的衝動,享受一步步成功的快感!

如果你安裝的深度學習框架是PaddlePaddle,如下連結可直達Paddle官方在Github上的模型庫:

https://github.com/PaddlePaddle/models

PaddlePaddle的主站中也有部分模型可以關注

https://github.com/PaddlePaddle/Paddle

交流社群

完成上述三步,少俠已經初長成,可以向深度學習的更深度進發啦!

相信你一定迫不及待想要找到隊友,在使用期間遇到安裝、操作、呼叫文件等多方面的問題也需要解決。

可以去哪裡找人聊聊呢?

如果你使用的是PaddlePaddle,恭喜你!有隊伍!

可以移步到中文交流社群,發帖尋找八方支援,或分享你的成功經驗,直達連結如下:

http://ai.baidu.com/forum/topic/list/168

ps目前中文社群提問,24小時內回得到有效回覆哦!

如果你使用的是Tensorflow,目前也有中文社群。不過近期小編嘗試數次沒能開啟成功,為了避免影響大家的心情,大家也可以去如下兩個中文社群論壇蹲點:

CSDN:包含行業資訊和部落格文章  https://www.csdn.net/

開源中國:包含部落格文章和軟體產品動態資訊 https://www.oschina.net/

經歷 閱讀理論書——觀看公開課視訊——初階實操——應用實戰, 踏實做好每一步,深度學習工程師的初階修煉就完成啦!接下來請期待下一篇:深度學習工程師中階修煉指南

歡迎在下方評論區留言交流~

PaddlePaddle是百度開發的開源深度學習框架,致力於打造最符合中國工程師需求的深度學習生態

*為了方便大家使用PaddlePaddle,遇到問題可在中文社群提問,值班同學將在24小時內響應!更有精品案例、課程提供,讓大家學習使用框架,輕鬆無憂!直達連結:

https://ai.baidu.com/forum/topic/list/168


相關推薦

第一本書開始如何成為深度學習工程師

在這裡,小編理解的初階選手,是具備了一定的計算機基礎,但是對於深度學習理論和動手實操方面沒接觸過的筒子。通過系統學習後能夠快速入門,並升級中階。如下是建議初階少俠的修仙路徑,需要走好這四步,即:讀理論書→看視訊課→實操訓練→社群交流具體怎麼操作呢?彆著急,逐一來看~要看的第一

深度學習筆記基礎——線性單元和梯度下降

        在上一篇文章中,我們已經學會了編寫一個簡單的感知器,並用它來實現一個線性分類器。你應該還記得用來訓練感知器的『感知器規則』。然而,我們並沒有關心這個規則是怎麼得到的。本文通過介紹另外一種『感知器』,也就是『線性單元

深度學習筆記基礎——機器學習深度學習簡介

  機器學習是最基礎的(當下初創公司和研究實驗室的熱點領域之一)。深度學習是非常嶄新和有影響力的前沿領域。 一、定義 1、機器學習    從樣本中學習的智慧程式。是資料驅動的。90年代初提出。強調的是給計算機程式(或者機器)輸入一些資料後,它學習這些資料,而

SRCNN到EDSR總結深度學習端到端超解析度方法發展歷程

原文地址:https://blog.csdn.net/abluemouse/article/details/78710553一篇綜述性質的文章,寫的很好。超解析度技術(Super-Resolution, SR)是指從觀測到的低解析度影象重建出相應的高解析度影象,在監控裝置、衛

SRCNN到EDSR總結深度學習端到端超解析度方法發展歷程

超解析度技術(Super-Resolution, SR)是指從觀測到的低解析度影象重建出相應的高解析度影象,在監控裝置、衛星影象和醫學影像等領域都有重要的應用價值。本文針對端到端的基於深度學習的單張影象超解析度方法(Single Image Super-Resolutio

開始學Swift》學習筆記Day 55——使用try?和try!差別

移動設計 ani ecb pcl mva fde 成了 lms 官方 原創文章。歡迎轉載。轉載請註明:關東升的博客 在使用try進行錯誤處理的時候,常常會看到try後面跟有問號(?)或感嘆號(!),他們有什麽差別呢?1.使用try? try?會將錯誤轉換為可選值,當調

開始學Swift》學習筆記Day 57——Swift編碼規範之凝視規範:文件凝視、文檔凝視、代碼凝視、使用地標凝視

精品 -type mil 顯示 clas ber ansi tex text 原創文章。歡迎轉載。轉載請註明:關東升的博客 前面說到Swift凝視的語法有兩種:單行凝視(//)和多行凝視(/*...*/)。這裏來介紹一下他們的使用規範。 1、文件凝視文件凝視就在每個文

自主系統開始蘋果要在無人駕駛重走手機之路

(圖片來源:TechCrunch)   文 | 魏啟揚 來源 | 智慧相對論(ID:aixdlun)   在最近的資本市場上,蘋果頗為不順。   截止上週五(11月23日),蘋果以172.29美元報收,此價距離今年8月2日233.47美

深度學習入門-第一章 必備基礎知識點

1.深度學習與人工智慧簡介 大資料時代造就了人工智慧的發展,人工智慧的時代已經來臨。資料規模越大,深度學習演算法越好。深度學習有諸多應用,如訴說圖片故事,自動駕駛等等。 2.CV面臨的挑戰與常規

開始學Swift》學習筆記Day 19——函式引數傳遞

原創文章,歡迎轉載。轉載請註明:關東昇的部落格函式的語法格式如下:func 函式名(引數列表) -> 返回值型別 {語句組return 返回值}關鍵字是func。多個引數列表之間可以用逗號(,

開始學Swift》學習筆記Day 44——重寫屬性

原創文章,歡迎轉載。轉載請註明:關東昇的部落格重寫例項屬性我們可以在子類中重寫從父類繼承來的屬性,屬性有例項屬性和靜態屬性之分,他們在具體實現也是不同的。例項屬性的重寫一方面可以重寫getter和set

吳恩達深度學習筆記deeplearning.ai之循環神經網絡RNN

不同的 圖片 存在 最終 一個 har end markdown 輸入 1. RNN 首先思考這樣一個問題:在處理序列學習問題時,為什麽不使用標準的神經網絡(建立多個隱藏層得到最終的輸出)解決,而是提出了RNN這一新概念? 標準神經網絡如下圖所示: 標準神經網絡在解決序列

吳恩達深度學習筆記deeplearning.ai之循環神經網絡RNN

blog 如何 這一 累加 soft 學習 測試 接下來 數據 導讀 本節內容介紹如何使用RNN訓練語言模型,並生成新的文本序列。 語言模型(Language model) 通過語言模型,我們可以計算某個特定句子出現的概率是多少,或者說該句子屬於真實句子的概率是多少。正式點

吳恩達深度學習筆記deeplearning.ai之循環神經網絡RNN

崩潰 body 很難 mark 因此 梯度 處理方法 弊端 原理 1. 導讀 本節內容介紹普通RNN的弊端,從而引入各種變體RNN,主要講述GRU與LSTM的工作原理。 2. 普通RNN的弊端 在NLP中,句子內部以及句子之間可能存在很長的依賴關系(long-term d

Win10深度學習環境配置:python3 + curl + pip + Jupyter notebook

好記性不如爛筆頭,純粹為自己的學習生活記錄點什麼! 本次記錄win10下安裝python3+curl+pip+jupyter,以及修改右鍵快捷開啟cmd 對於大多數的學習者,還是習慣選擇在ubuntu系統上學習深度學習,主要還是因為絕大多數演算法實現都是ubunt

吳恩達深度學習筆記deeplearning.ai之卷積神經網路CNN

1. Padding 在卷積操作中,過濾器(又稱核)的大小通常為奇數,如3x3,5x5。這樣的好處有兩點: 在特徵圖(二維卷積)中就會存在一箇中心畫素點。有一箇中心畫素點會十分方便,便於指出過濾器的位置。 在沒有padding的情況下,經過卷積操作,輸出的資

技術學習零基礎到精通的Python學習路線附教程

首先,我們先普及一下程式語言的基礎知識。其實無論用任何程式語言來開發程式,都是為了讓計算機幹活,比如編寫一篇文章,下載一首MP3等,而計算機幹活的CPU只認識機器的指令,所以,儘管不同的程式語言差異極大,最後都得“翻譯”成CPU可以執行的機器指令。理論上任何語言幹任何事情幾乎都可以, 但是主要幹什麼

臺大李巨集毅--深度學習tip模型優化

訓練結果不好,並不總是因為過擬合 訓練結果不好,並不總是因為過擬合。有可能是你的training data都沒有訓練好,那最終結果一定不好 深度學習的層數越多,網路越複雜,並不一定模型會越複雜。有時會使得模型變簡單,變成欠擬合。 在機器學習中,要想

詳解深度學習的可解釋性研究

作者 | 王小賤來源 | BIGSCity知乎專欄摘要:《深度學習的可解釋性研究》系列文章希望能

《深入分散式快取:原理到實踐》學習筆記最終

第十四章 典型電商應用與快取 及時響應性的使用者需求 資料準確行需求 平臺海量請求的訴求 高可用訴求 14.1 電商類一個你用的挑戰及特點 穩定性決定服務能力 高併發場景(Scale Out 加機器、Scale Up 提