《動手學(xué)深度學(xué)習(xí)》TensorFlow 2.0/PyTorch實現(xiàn)

向AI轉(zhuǎn)型的程序員都關(guān)注了這個號??????
機器學(xué)習(xí)AI算法工程?? 公眾號:datayx
由 MXNet 創(chuàng)始人李沐大神、Aston Zhang 等人所著的交互式書籍《動手學(xué)深度學(xué)習(xí)》推出了在線預(yù)覽版,面向在校學(xué)生、工程師和研究人員,旨在幫助讀者從入門到深入、動手學(xué)習(xí)深度學(xué)習(xí),即使是零基礎(chǔ)的讀者也完全適用。
當時我們需要向用戶解釋Apache MXNet在那時的新接口Gluon。不幸的是,我們并沒有找到任何一個資源可以同時滿足以下幾點需求:
包含較新的方法和應(yīng)用,并不斷更新;
廣泛覆蓋現(xiàn)代深度學(xué)習(xí)技術(shù)并具有一定的技術(shù)深度;
既是嚴謹?shù)慕炭茣质前蛇\行代碼的生動的教程。
那時,我們在博客和GitHub上找到了大量的演示特定深度學(xué)習(xí)框架(例如用TensorFlow進行數(shù)值計算)或?qū)崿F(xiàn)特定模型(例如AlexNet、ResNet等)的示例代碼。這些示例代碼的一大價值在于提供了教科書或論文往往省略的實現(xiàn)細節(jié),比如數(shù)據(jù)的處理和運算的高效率實現(xiàn)。如果不了解這些,即使能將算法倒背如流,也難以將算法應(yīng)用到自己的項目中去。此外,這些示例代碼還使得用戶能通過觀察修改代碼所導(dǎo)致的結(jié)果變化而快速驗證想法、積累經(jīng)驗。因此,我們堅信動手實踐對于學(xué)習(xí)深度學(xué)習(xí)的重要性。然而可惜的是,這些示例代碼通常側(cè)重于如何實現(xiàn)給定的方法,卻忽略了有關(guān)算法設(shè)計的探究或者實現(xiàn)細節(jié)的解釋。雖然在像Distill這樣的網(wǎng)站和某些博客上出現(xiàn)了一些有關(guān)算法設(shè)計和實現(xiàn)細節(jié)的討論,但它們常常缺少示例代碼,并通常僅覆蓋深度學(xué)習(xí)的一小部分。
另外,我們欣喜地看到了一些有關(guān)深度學(xué)習(xí)的教科書不斷問世,其中最著名的要數(shù)Goodfellow、Bengio和Courville的《深度學(xué)習(xí)》。該書梳理了深度學(xué)習(xí)背后的眾多概念與方法,是一本極為優(yōu)秀的教材。然而,這類資源并沒有將概念描述與實際代碼相結(jié)合,以至于有時會令讀者對如何實現(xiàn)它們感到毫無頭緒。除了這些以外,商業(yè)課程提供者們雖然制作了眾多的優(yōu)質(zhì)資源,但它們的付費門檻依然令不少用戶望而生畏。
正因為這樣,深度學(xué)習(xí)用戶,尤其是初學(xué)者,往往不得不參考來源不同的多種資料。例如,通過教科書或者論文來掌握算法及其相關(guān)數(shù)學(xué)知識,閱讀線上文檔學(xué)習(xí)深度學(xué)習(xí)框架的使用方法,然后尋找感興趣的算法在這個框架上的實現(xiàn)并摸索如何將它應(yīng)用到自己的項目中去。如果你正親身經(jīng)歷這一過程,你可能會感到痛苦:不同來源的資料有時難以相互一一對應(yīng),即便能夠?qū)?yīng)也可能需要花費大量的精力。例如,我們需要將某篇論文公式中的數(shù)學(xué)變量與某段網(wǎng)上實現(xiàn)中的程序變量一一對應(yīng),并在代碼中找到論文可能沒交代清楚的實現(xiàn)細節(jié),甚至要為運行不同的代碼安裝不同的運行環(huán)境。
針對以上存在的痛點,我們正在著手創(chuàng)建一個為實現(xiàn)以下目標的統(tǒng)一資源:
所有人均可在網(wǎng)上免費獲取;
提供足夠的技術(shù)深度,從而幫助讀者實際成為深度學(xué)習(xí)應(yīng)用科學(xué)家:既理解數(shù)學(xué)原理,又能夠?qū)崿F(xiàn)并不斷改進方法;
包含可運行代碼,為讀者展示如何在實際中解決問題。這樣不僅直接將數(shù)學(xué)公式對應(yīng)成實際代碼,而且可以通過修改代碼、觀察結(jié)果而及時獲取經(jīng)驗;
允許我們和整個社區(qū)不斷快速迭代內(nèi)容,從而緊跟仍在高速發(fā)展的深度學(xué)習(xí)領(lǐng)域;
由包含有關(guān)技術(shù)細節(jié)問答的論壇作為補充,使大家可以相互答疑并交換經(jīng)驗。
這些目標往往互有沖突:公式、定理和引用最容易通過LaTeX進行管理和展示,代碼自然應(yīng)該用簡單易懂的Python描述,而網(wǎng)頁本身應(yīng)該是一堆HTML及配套的CSS和JavaScript。此外,我們希望這個資源可以作為可執(zhí)行代碼、實體書以及網(wǎng)站。然而,目前并沒有任何工具可以完美地滿足以上所有需求。
因此,我們不得不自己來集成這樣的一個工作流。我們決定在GitHub上分享源代碼并允許提交編輯,通過Jupyter記事本來整合代碼、公式、文本、圖片等,使用Sphinx作為渲染引擎來生成不同格式的輸出,并使用Discourse作為論壇。雖然我們的系統(tǒng)尚未完善,但這些選擇在互有沖突的目標之間取得了較好的折中。這很可能是使用這種集成工作流發(fā)布的第一本書。
書中所有的代碼執(zhí)行結(jié)果都是自動生成的,任何改動都會觸發(fā)對書中每一段代碼的測試,以保證讀者在動手實踐時能復(fù)現(xiàn)結(jié)果。

包含code和docs兩個文件夾(外加一些數(shù)據(jù)存放在data中)。其中code文件夾就是每章相關(guān)jupyter notebook代碼(基于TensorFlow2);docs文件夾就是markdown格式的《動手學(xué)深度學(xué)習(xí)》書中的相關(guān)內(nèi)容。
相關(guān)代碼,獲取方式:
關(guān)注微信公眾號 datayx ?然后回復(fù)?動手深度學(xué)習(xí)?即可獲取。
目錄
簡介
閱讀指南
1. 深度學(xué)習(xí)簡介
2. 預(yù)備知識
2.1 環(huán)境配置
2.2 數(shù)據(jù)操作
2.3 自動求梯度
3. 深度學(xué)習(xí)基礎(chǔ)
3.1 線性回歸
3.2 線性回歸的從零開始實現(xiàn)
3.3 線性回歸的簡潔實現(xiàn)
3.4 softmax回歸
3.5 圖像分類數(shù)據(jù)集(Fashion-MNIST)
3.6 softmax回歸的從零開始實現(xiàn)
3.7 softmax回歸的簡潔實現(xiàn)
3.8 多層感知機
3.9 多層感知機的從零開始實現(xiàn)
3.10 多層感知機的簡潔實現(xiàn)
3.11 模型選擇、欠擬合和過擬合
3.12 權(quán)重衰減
3.13 丟棄法
3.14 正向傳播、反向傳播和計算圖
3.15 數(shù)值穩(wěn)定性和模型初始化
3.16 實戰(zhàn)Kaggle比賽:房價預(yù)測
4. 深度學(xué)習(xí)計算
4.1 模型構(gòu)造
4.2 模型參數(shù)的訪問、初始化和共享
4.3 模型參數(shù)的延后初始化
4.4 自定義層
4.5 讀取和存儲
4.6 GPU計算
5. 卷積神經(jīng)網(wǎng)絡(luò)
5.1 二維卷積層
5.2 填充和步幅
5.3 多輸入通道和多輸出通道
5.4 池化層
5.5 卷積神經(jīng)網(wǎng)絡(luò)(LeNet)
5.6 深度卷積神經(jīng)網(wǎng)絡(luò)(AlexNet)
5.7 使用重復(fù)元素的網(wǎng)絡(luò)(VGG)
5.8 網(wǎng)絡(luò)中的網(wǎng)絡(luò)(NiN)
5.9 含并行連結(jié)的網(wǎng)絡(luò)(GoogLeNet)
5.10 批量歸一化
5.11 殘差網(wǎng)絡(luò)(ResNet)
5.12 稠密連接網(wǎng)絡(luò)(DenseNet)
6. 循環(huán)神經(jīng)網(wǎng)絡(luò)
6.1 語言模型
6.2 循環(huán)神經(jīng)網(wǎng)絡(luò)
6.3 語言模型數(shù)據(jù)集(周杰倫專輯歌詞)
6.4 循環(huán)神經(jīng)網(wǎng)絡(luò)的從零開始實現(xiàn)
6.5 循環(huán)神經(jīng)網(wǎng)絡(luò)的簡潔實現(xiàn)
6.6 通過時間反向傳播
6.7 門控循環(huán)單元(GRU)
6.8 長短期記憶(LSTM)
6.9 深度循環(huán)神經(jīng)網(wǎng)絡(luò)
6.10 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)
7. 優(yōu)化算法
7.1 優(yōu)化與深度學(xué)習(xí)
7.2 梯度下降和隨機梯度下降
7.3 小批量隨機梯度下降
7.4 動量法
7.5 AdaGrad算法
7.6 RMSProp算法
7.7 AdaDelta算法
7.8 Adam算法
8. 計算性能
8.1 命令式和符號式混合編程
8.2 異步計算
8.3 自動并行計算
8.4 多GPU計算
9. 計算機視覺
?9.12 實戰(zhàn)Kaggle比賽:圖像分類(CIFAR-10)
?9.13 實戰(zhàn)Kaggle比賽:狗的品種識別(ImageNet Dogs)
9.11 樣式遷移
?9.10 全卷積網(wǎng)絡(luò)(FCN)
9.8 區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)系列
9.9 語義分割和數(shù)據(jù)集
?9.7 單發(fā)多框檢測(SSD)
9.1 圖像增廣
9.2 微調(diào)
9.3 目標檢測和邊界框
9.4 錨框
9.5 多尺度目標檢測
9.6 目標檢測數(shù)據(jù)集(皮卡丘)
10. 自然語言處理
10.1 詞嵌入(word2vec)
10.2 近似訓(xùn)練
10.3 word2vec的實現(xiàn)
10.4 子詞嵌入(fastText)
10.5 全局向量的詞嵌入(GloVe)
10.6 求近義詞和類比詞
10.7 文本情感分類:使用循環(huán)神經(jīng)網(wǎng)絡(luò)
10.8 文本情感分類:使用卷積神經(jīng)網(wǎng)絡(luò)(textCNN)
10.9 編碼器—解碼器(seq2seq)
10.10 束搜索
10.11 注意力機制
10.12 機器翻譯
機器學(xué)習(xí)算法AI大數(shù)據(jù)技術(shù)
?搜索公眾號添加:?datanlp
長按圖片,識別二維碼
閱讀過本文的人還看了以下文章:
TensorFlow 2.0深度學(xué)習(xí)案例實戰(zhàn)
基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測
《基于深度學(xué)習(xí)的自然語言處理》中/英PDF
《美團機器學(xué)習(xí)實踐》_美團算法團隊.pdf
《深度學(xué)習(xí)入門:基于Python的理論與實現(xiàn)》高清中文PDF+源碼
《深度學(xué)習(xí):基于Keras的Python實踐》PDF和代碼
python就業(yè)班學(xué)習(xí)視頻,從入門到實戰(zhàn)項目
2019最新《PyTorch自然語言處理》英、中文版PDF+源碼
《21個項目玩轉(zhuǎn)深度學(xué)習(xí):基于TensorFlow的實踐詳解》完整版PDF+附書代碼
《深度學(xué)習(xí)之pytorch》pdf+附書源碼
PyTorch深度學(xué)習(xí)快速實戰(zhàn)入門《pytorch-handbook》
【下載】豆瓣評分8.1,《機器學(xué)習(xí)實戰(zhàn):基于Scikit-Learn和TensorFlow》
《Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》PDF+完整源碼
汽車行業(yè)完整知識圖譜項目實戰(zhàn)視頻(全23課)
李沐大神開源《動手學(xué)深度學(xué)習(xí)》,加州伯克利深度學(xué)習(xí)(2019春)教材
筆記、代碼清晰易懂!李航《統(tǒng)計學(xué)習(xí)方法》最新資源全套!
《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》最新2018版中英PDF+源碼
重要開源!CNN-RNN-CTC 實現(xiàn)手寫漢字識別
同樣是機器學(xué)習(xí)算法工程師,你的面試為什么過不了?
前海征信大數(shù)據(jù)算法:風(fēng)險概率預(yù)測
【Keras】完整實現(xiàn)‘交通標志’分類、‘票據(jù)’分類兩個項目,讓你掌握深度學(xué)習(xí)圖像分類
VGG16遷移學(xué)習(xí),實現(xiàn)醫(yī)學(xué)圖像識別分類工程項目
特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊
如何利用全新的決策樹集成級聯(lián)結(jié)構(gòu)gcForest做特征工程并打分?
Machine Learning Yearning 中文翻譯稿
斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
python+flask搭建CNN在線識別手寫中文網(wǎng)站
中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學(xué)習(xí)與特征工程
不斷更新資源
深度學(xué)習(xí)、機器學(xué)習(xí)、數(shù)據(jù)分析、python
?搜索公眾號添加:?datayx??
