近年來,深度學(xué)習(xí)可謂是機器學(xué)習(xí)方向的明星概念,不同的深度學(xué)習(xí)模型分別在圖像處理與自然語言處理等任務(wù)中取得了前所未有的好成績。
在許多場合都有這樣的需求“如何對感興趣的領(lǐng)域快速理解和使用深度學(xué)習(xí)技術(shù)?”答案涉及復(fù)雜的數(shù)學(xué)、編程語言(如C、C++和Java)。但隨著R的興起,現(xiàn)在使用深度學(xué)習(xí)技術(shù)比以往更容易。因為R易學(xué)易用,不要求很扎實的編程基礎(chǔ),它被廣泛地應(yīng)用于機器學(xué)習(xí)實踐和教學(xué)中。即使對R語言不是很了解的用戶也可以通過一些包來搭建深度學(xué)習(xí)網(wǎng)絡(luò)。
全書11章,分為原理篇(第1~8章)和應(yīng)用篇(第9~11章)。原理篇按照深度學(xué)習(xí)的發(fā)展過程,主要討論了淺層神經(jīng)網(wǎng)絡(luò)、深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、自編碼網(wǎng)絡(luò)、受限玻耳茲曼機和深度置信網(wǎng)。應(yīng)用篇討論R環(huán)境部署深度學(xué)習(xí)環(huán)境的一些策略,包括:MXNetR、H2O和其他深度學(xué)習(xí)R包以及一些典型的應(yīng)用。
本書可用作本科高年級機器學(xué)習(xí)課程參考書或數(shù)據(jù)科學(xué)課程教材,也可供對人工智能、機器學(xué)習(xí)感興趣的讀者參考閱讀。
如果您是大學(xué)教師,那就趕快加入深度學(xué)習(xí)行列,成為數(shù)據(jù)科學(xué)專業(yè)帶頭人。
如果您是企業(yè)IT工程師,這是你技術(shù)轉(zhuǎn)型的良好時機,迅速邁入大數(shù)據(jù)時代。
如果您是剛畢業(yè)的大學(xué)生,本書為您成為數(shù)據(jù)分析師奠定基礎(chǔ)。
如果您是在校學(xué)生,想盡快了解智能時代的核心技術(shù),本書是您的一個選擇。
深度學(xué)習(xí)是機器學(xué)習(xí)領(lǐng)域一個新的研究方向,近年來在語音識別、計算機視覺等多類應(yīng)用中取得突破性的進展,其動機在于建立模型模擬人類大腦的神經(jīng)連接結(jié)構(gòu),進而給出數(shù)據(jù)的解釋。
深度學(xué)習(xí)之所以被稱為“深度”,是相對支持向量機(Support Vector Machine, SVM)、提升方法(Boosting)、最大熵方法等“淺層學(xué)習(xí)”方法而言的。淺層學(xué)習(xí)依靠人工經(jīng)驗抽取樣本特征,網(wǎng)絡(luò)模型學(xué)習(xí)后獲得的是沒有層次結(jié)構(gòu)的單層特征;而深度學(xué)習(xí)通過對原始信號進行逐層特征變換,將樣本在原空間的特征表示變換到新的特征空間,自動地學(xué)習(xí)得到層次化的特征表示,從而更有利于分類或特征的可視化。
本書的目的是把強大的深度學(xué)習(xí)技術(shù)傳遞到想實踐深度學(xué)習(xí)的讀者手中,而不是讓讀者理解深度學(xué)習(xí)的理論細節(jié)。因此,內(nèi)容重點是數(shù)據(jù)分析和建模,注意力完全集中在能有效工作的深度學(xué)習(xí)技術(shù)、理念和策略上,這樣可以用最少的時間快速消化和部署深度學(xué)習(xí)應(yīng)用。
本書具有以下特點:
1)讓讀者清楚如何在R中使用深度學(xué)習(xí)。書中給出了大量的深度學(xué)習(xí)應(yīng)用案例,這些例子可以直接輸入到R環(huán)境中運行,指導(dǎo)讀者一步一步構(gòu)建和部署深度學(xué)習(xí)模型。
2)深度學(xué)習(xí)不需要很深的數(shù)學(xué)基礎(chǔ)作為前提。無論你是誰?無論你來自哪里?無論你的受教育背景如何?都有能力使用這本書中論述的方法。
3)每一章都提供了進一步學(xué)習(xí)的詳細參考資料,并且大部分是免費的。
圖的上半部分給出了本書的學(xué)習(xí)路線,第1、5、7章相對獨立,是學(xué)習(xí)深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),虛線表示分類,實線表示支持,核心是第3、4、8章,每一章下面的英文表示依賴的R包。圖的下半部分是深度學(xué)習(xí)R包與各章的關(guān)系。
圖深度學(xué)習(xí)R包與各章的關(guān)系本書主要參考了N.D.Lewis所著的《Deep Learning Made Easy with R——A Gentle Introduction for Data Science》,在此表示感謝。感謝研究生謝璐、胡海濤、周春瑜、姚澤峰和沈佳杰在材料整理方面所做的工作。感謝胡彬、陳曉勇、李躍華老師對本書提出的寶貴意見。
本書的出版得到南通大學(xué)-南通智能信息技術(shù)聯(lián)合研究中心開放課題項目的資助和南通大學(xué)學(xué)術(shù)著作出版基金資助。
深度學(xué)習(xí)領(lǐng)域發(fā)展迅猛,對許多問題作者并未做深入研究,一些有價值的新內(nèi)容也來不及收入本書。加上作者知識水平和實踐經(jīng)驗有限,書中難免存在不足之處,敬請讀者批評指正。
前言
第1章引言
1.1關(guān)于深度學(xué)習(xí)
1.1.1深度學(xué)習(xí)興起的淵源
1.1.2深度學(xué)習(xí)總體框架
1.1.3深度學(xué)習(xí)本質(zhì)
1.1.4深度學(xué)習(xí)應(yīng)用
1.2前向反饋神經(jīng)網(wǎng)絡(luò)FNN
1.2.1多層感知器
1.2.2神經(jīng)元的作用
1.2.3激活函數(shù)
1.2.4學(xué)習(xí)算法
1.3R語言基礎(chǔ)
1.3.1入門
1.3.2基本語法
1.3.3數(shù)據(jù)
1.3.4繪圖
1.3.5數(shù)據(jù)準備
1.3.6基本運算
1.4FNN的R實現(xiàn)
1.5學(xué)習(xí)指南
第2章深度神經(jīng)網(wǎng)絡(luò)DNN
2.1DNN原理
2.2DNN應(yīng)用
2.2.1提高霧天視覺能見度
2.2.2打擊黑客和網(wǎng)絡(luò)犯罪
2.2.3圖像壓縮
2.2.4函數(shù)逼近
2.3DNN應(yīng)用需要注意的一些問題
2.3.1神經(jīng)元數(shù)量
2.3.2最佳層數(shù)的選擇
2.3.3訓(xùn)練時間過長
2.3.4過擬合
2.4DNN應(yīng)用技巧
2.5單響應(yīng)變量DNN的R實現(xiàn)
2.6多響應(yīng)變量DNN的R實現(xiàn)
2.7學(xué)習(xí)指南
第3章卷積神經(jīng)網(wǎng)絡(luò)CNN
3.1CNN原理
3.1.1局部感知
3.1.2權(quán)值共享
3.1.3多卷積核
3.1.4池化
3.2多層卷積
3.2.1ImageNet-2010網(wǎng)絡(luò)結(jié)構(gòu)
3.2.2DeepID網(wǎng)絡(luò)結(jié)構(gòu)
3.3CNN的R實現(xiàn)
3.4學(xué)習(xí)指南
第4章遞歸神經(jīng)網(wǎng)絡(luò)RNN
4.1RNN原理
4.2Elman網(wǎng)絡(luò)
4.2.1承接層神經(jīng)元的作用
4.2.2信息流動
4.2.3Elman網(wǎng)絡(luò)應(yīng)用
4.3Jordan網(wǎng)絡(luò)
4.3.1Jordan網(wǎng)絡(luò)結(jié)構(gòu)
4.3.2Jordan網(wǎng)絡(luò)應(yīng)用
4.4RNN的R實現(xiàn)
4.5學(xué)習(xí)指南
第5章自編碼網(wǎng)絡(luò)AE
5.1無監(jiān)督學(xué)習(xí)過程
5.2AE基本結(jié)構(gòu)
5.2.1降維問題
5.2.2特征抽取
5.3稀疏自動編碼網(wǎng)絡(luò)SAE
5.3.1Kullback-Leibler散度
5.3.2使用SAE注意事項
5.4SAE的R實現(xiàn)
5.5學(xué)習(xí)指南
第6章堆棧自編碼網(wǎng)絡(luò)SA
6.1SA原理
6.2SA的R實現(xiàn)
6.3降噪自編碼網(wǎng)絡(luò)DAE
6.3.1隨機掩蔽的椒鹽噪聲
6.3.2DAE基本任務(wù)
6.3.3標(biāo)準化堆棧降噪自編碼網(wǎng)絡(luò)
6.4DAE的R實現(xiàn)
6.5學(xué)習(xí)指南
第7章受限玻耳茲曼機RBM
7.1RBM原理
7.1.1玻耳茲曼機的四類知識
7.1.2能量和概率的作用
7.1.3聯(lián)合概率分布表示的自編碼網(wǎng)絡(luò)
7.1.4模型學(xué)習(xí)的目標(biāo)
7.2訓(xùn)練技巧
7.2.1技巧1:Gibbs采樣
7.2.2技巧2: 最小化KL距離
7.2.3技巧3:使用RLU激活函數(shù)
7.2.4技巧4:模擬退火
7.3對深度學(xué)習(xí)的質(zhì)疑
7.4RBM應(yīng)用
7.4.1肝癌分類的RBM
7.4.2麻醉鎮(zhèn)定作用預(yù)測的RBM
7.5RBM的R實現(xiàn)
7.6學(xué)習(xí)指南
第8章深度置信網(wǎng)絡(luò)DBN
8.1DBN原理
8.2應(yīng)用案例
8.3DBN的R實現(xiàn)
8.4學(xué)習(xí)指南
第9章MXNetR
9.1MXNet技術(shù)特性
9.2MXNetR安裝
9.2.1安裝MXNet基本需求
9.2.2MXNet云設(shè)置
9.2.3MXNet安裝方法
9.2.4MXNetR安裝方法
9.2.5常見的安裝問題
9.3MXNetR在深度學(xué)習(xí)中的應(yīng)用
9.3.1二分類模型
9.3.2回歸模型與自定義神經(jīng)網(wǎng)絡(luò)
9.3.3手寫數(shù)字競賽
9.3.4圖像識別應(yīng)用
9.4學(xué)習(xí)指南
第10章word2vec的R語言實現(xiàn)
10.1word2vec詞向量由來
10.1.1統(tǒng)計語言模型
10.1.2神經(jīng)網(wǎng)絡(luò)概率語言模型
10.2word2vec——詞向量特征提取模型
10.2.1詞向量
10.2.2CBOW的分層網(wǎng)絡(luò)結(jié)構(gòu)——HCBOW
10.2.3word2vec流程
10.3word2vec 的R實現(xiàn)
10.3.1tmcn.word2vec包
10.3.2word2vec自編譯函數(shù)
10.3.3使用tmcn.word2vec和word2vec注意的問題
10.4學(xué)習(xí)指南
第11章R語言其他深度學(xué)習(xí)包
11.1darch包
11.2Rdbn包
11.2.1Rdbn原理
11.2.2Rdbn安裝
11.2.3Rdbn應(yīng)用
11.3H2O 包
11.3.1H2O原理
11.3.2H2O應(yīng)用
11.4deepnet包
11.5mbench包
11.6AMORE包
11.7學(xué)習(xí)指南
附錄
附錄A深度學(xué)習(xí)發(fā)展史
附錄B深度學(xué)習(xí)的未來——GAN
附錄CR包分類
參考文獻
后記