本書由一線博學技術專家撰寫,凝結了其自身多年的實踐經驗,闡述了深度學習的發展歷程、相關概念和工作原理,介紹了兩個當前流行的深度學習工具:Caffe 和TensorFlow ,并且初步探討了強化學習的基本原理和應用。為了幫助初學者快速上手,本書注重從總體框架和脈絡上把握深度學習技術,同時在闡述原理時配以簡單的實例供讀者印證。 本書語言生動風趣,以通俗的語言講述復雜的原理,循循善誘,深入淺出,適合有志于從事人工智能、深度學習相關研究的信息類專業的高年級本科生或研究生閱讀,也可供業界準備或正在從事深度學習、機器視覺等相關研發工作的工程技術人員參考。
一線博學技術專家撰寫,凝結其自身多年的實踐經驗,深入淺出闡述深度學習的發展歷程、相關概念和工作原理涉及當前流行的兩個深度學習工具:Caffe和TensorFlow,并且初步探討強化學習的基本原理和應用
龍飛,高級工程師,本科畢業于南京大學,博士畢業于清華大學,香港科技大學博士后。曾供職于中國電子科技集團公司第五十四研究所?,F任中國搜索創新研發部總監。負責公司互聯網創新產品和人工智能、大數據相關項目的研發。主持并參與了國搜識圖、國搜學術、國搜圖書等平臺和頻道的研發與上線。主要研究方向為網絡路由、無線網狀網絡,近年涉足深度學習、數據挖掘領域。在國內外發表學術論文20余篇,獲得軟件著作權5項,并著有中文專著2部,英文專著1部,譯著2部。
目錄
第1章緒論
1.1引
1.2基本概念
1.2.1回歸、分類、聚類
1.2.2監督學習、非監督學習、半監督學習、強化學習
1.2.3感知機、神經網絡
1.3發展歷程
1.4相關學者與會議或賽事
1.5本章小結
參考文獻
第2章回歸
2.1線性回歸
2.1.1問題描述
2.1.2問題求解
2.1.3工具實現
2.2邏輯回歸
2.2.1問題描述
2.2.2問題求解
2.2.3工具實現
2.3本章小結
參考文獻
第3章人工神經網絡
3.1Rosenblatt感知機
3.1.1訓練方法
3.1.2算法實例
3.1.3梯度下降
3.2人工神經網絡
3.2.1網絡架構
3.2.2訓練方法
3.2.3算法實例
3.3本章小結
參考文獻
深度學習:入門與實踐
目錄
第4章Caffe簡介
4.1CNN原理
4.1.1卷積
4.1.2池化
4.1.3LeNet5
4.2Caffe架構
4.2.1Blob類
4.2.2Layer類
4.2.3Net類
4.2.4Solver類
4.3Caffe應用實例
4.3.1車型識別
4.3.2目標檢測
4.4本章小結
參考文獻
第5章TensorFlow簡介
5.1TensorFlow架構
5.2TensorFlow簡單應用
5.2.1TensorFlow安裝
5.2.2線性回歸
5.3TensorFlow高級應用
5.3.1MNIST手寫數字識別
5.3.2車型識別
5.4本章小結
參考文獻
第6章強化學習簡介
6.1強化學習基本原理
6.2AlphaGo基本架構
6.3其他趣味應用
6.4本章小結
參考文獻
后記
第1章緒論
可見,Samuel給出了一個比較直觀的定義,機器學習就是研究如何讓計算機在不被明確地編程的情況下具有學習能力。這就不是機關術那么簡單,而是具有類人的智能了。Mitchell的定義比較正式,因而得到了廣泛引用。但這段英文實在是佶屈聱牙,有點像英文繞口令。其實不必擔心,這段定義里有三個重要的概念,分別是經驗E、任務T和性能指標P。如果一個計算機程序能夠通過經驗E改進其在任務T上的性能指標P,則稱其具有學習能力。這是一個非常重要的定義,定義了機器學習的一個通用模型。從后文中可以看到,經驗E、任務T和性能指標P貫穿機器學習的始終,在求解機器學習問題時都有著明確的數學表示。Mitchell的定義對于初學者來說依然比較難以理解。其實可以參考人類學習的過程,經驗E就是從大量歷史數據中總結出的規律,任務T一般為對新事物的識別和新形勢的預測,P當然指的就是識別和預測的率。古諺“老馬識途”比喻的是閱歷豐富的人對事物的走向把握得比較,也就是因為其“歷史數據”很多,從而能夠總結出比較客觀的規律而已。那么深度學習又是什么呢?關于深度學習的定義有很多,但有一點是肯定的,那就是深度學習是機器學習的一個子域(subfield)或分支(branch)。深度學習興起于2006年,也被稱為深度結構化學習(deep structured learning)、層次化學習(hierarchical learning)或深度機器學習(deep machine learning)[1,2]。雖然學術界尚無對深度學習的統一定義,在此可以提供幾個的定義供讀者參考。定義1深度學習方法是多層表示的表示學習方法,多層表示由一個從低到高的非線性簡單模塊網絡獲得,每個模塊將表示從一個層次(起始于原始輸入)轉化至另一個更高的、更抽象的層次[3]。定義2深度學習是機器學習的一個分支,基于一個嘗試使用多復雜結構處理層或多非線性變化來模型化高層次抽象的算法集[4]。定義3深度學習是一類機器學習算法:使用多層非線性處理單元級聯來進行特征抽取和轉換。每個后續層使用之前層的輸出作為輸入。算法可能是監督的或非監督的,應用包括模式分析(非監督)和分類(監督)。是基于多層數據特征或表示的(非監督)學習。高層特征來自低層特征以形成層級表示。是更廣的機器學習領域中的數據表示學習部分。學習對應于不同層抽象的多層表示,不同層組成了概念的不同層級。以上定義有兩個共同點:(1)多層非線性處理單元;(2)每層中的監督或非監督特征表示學習,各層組成從低層特征到高層特征的層次結構。定義4深度學習是機器學習中的一個算法集,在多個層次上進行學習,對應不同層次的抽象。通常使用人工神經網絡。學習的統計模型中不同的層次對應不同層次的概念,高層次的概念由低層次的概念定義,相同低層次的概念可幫助定義許多高層次的概念。及時個定義是機器學習界的大神Hinton在其發表于Nature上的文章“Deep learning”中給出的定義,第二和第三個定義是維基百科給出的定義,第四個定義出自Li Deng的Deep Learning Methods and Applications一書。這是四個足以令初學者失去繼續學習勇氣的定義。不過沒關系,隨著后面對例子的講解,讀者會對深度學習有一個直觀的認識,那時再回過頭來看看上述定義,就會有所理解。在此之前,只需要知道兩點就足夠了:(1)深度學習是機器學習的一種;(2)深度學習使用深度神經網絡為主要工具,這也是其得名的原因。1.2基本概念在有關深度學習的文獻閱讀中,經常會遇到一些術語和概念。對于初學者來說,快速入門的方法莫過于對其中某些關鍵概念的掌握。把握整個領域的知識架構,提綱挈領地學習,避免陷入只見樹木,不見森林的困境。本節意在以淺顯而非專業化的語言描述機器學習、深度學習中一些關鍵的概念,梳理整個領域的知識架構,為進一步了解深度學習的原理和應用做好鋪墊。首先從一些基本的概念說起。隨著人工智能領域在近些年的火爆,科技工作者的微信朋友圈經常被人工智能相關的新聞和技術帖刷屏。人工智能、機器學習、深度學習等名詞成了圈內的高頻詞匯。這些概念都是什么意思,又有什么關系呢?蒙特利爾大學深度學神Yoshua Bengio在其即將于MIT出版社出版的Deep learning[6]一書中對這些概念進行了闡述,借用其文氏圖表示這些概念的關系如圖1.1所示。
這本書非常好,深入淺出,非常適合初學者看,能夠迅速掌握人工智能的相關知識,是難得的一本好書。
非常不錯的書,深入淺出,特別適合小白作為熟悉深度學習的第一本書,也可以作為相關從業人員擴展眼界的書,推薦人手一本