産品特色
內容簡介
深度學習為人工智能帶來瞭巨大突破,也成為機器學習領域一顆閃耀的新星。雖然相關學習資料豐富,但大部分內容較為龐雜且難以理解,並對初學者的相關理論知識與實踐能力有較高的要求,這使得大部分想進入這一領域的初學者望而卻步。《深度學習實戰》去繁化簡地對深度學習的理論知識進行瞭梳理,並對算法實現做齣瞭淺顯易懂的講解,適閤初學者進行學習。結閤《深度學習實戰》的內容,讀者可以快速對深度學習進行實踐。通過啓發式的自學模式,可以使讀者由淺入深地學習並掌握常用的深度學習模型,為進一步使用開源的深度學習平颱與工具提供理論與實踐基礎。
《深度學習實戰》可作為高等院校計算機專業的本科生或研究生教材,也可供對深度學習感興趣的研究人員和工程技術人員閱讀參考。
作者簡介
楊雲教授,1981年生人。多年從事機器學習,數據挖掘,模式識彆,大數據處理與分析等方麵的研究工作,在英國曼徹斯特大學攻讀博士學位期間,入選英國政府資助的海外研究生奬勵計劃(UK Overseas Research Students Awards Scheme –ORSAS)。博士畢業之後,在英國薩裏大學從事研究員工作,期間主持瞭由歐共體第七個框架計劃資助下的國際閤作項目的子項目。
目錄
目 錄
第1章 深度學習的發展介紹 1
1.1 如何閱讀本書 3
1.2 深度學習沉浮史 3
1.2.1 模擬生物大腦的瘋狂遠古時代 4
1.2.2 聯結主義近代 5
1.2.3 百花齊放,層次結構主導,模型巨大的當代 6
1.3 Python簡易教程 7
1.3.1 Anaconda搭建 7
1.3.2 IPython Notebook使用 7
1.3.3 Python基本用法 8
1.3.4 NumPy 15
1.3.5 Matplotlib 23
1.4 參考文獻 25
第2章 機器學習快速入門 27
2.1 學習算法 28
2.1.1 學習任務 29
2.1.2 性能度量 30
2.1.3 學習經驗 32
2.2 代價函數 33
2.2.1 均方誤差函數 33
2.2.2 極大似然估計 34
2.3 梯度下降法 36
2.3.1 批量梯度下降法 38
2.3.2 隨機梯度下降法 39
2.4 過擬閤與欠擬閤 40
2.4.1 沒免費午餐理論 42
2.4.2 正則化 43
2.5 超參數與驗證集 44
2.6 Softmax編碼實戰 46
2.6.1 編碼說明 49
2.6.2 熟練使用CIFAR-10 數據集 50
2.6.3 顯式循環計算損失函數及其梯度 53
2.6.4 嚮量化錶達式計算損失函數及其梯度 56
2.6.5 最小批量梯度下降算法訓練Softmax分類器 57
2.6.6 使用驗證數據選擇超參數 61
2.7 參考代碼 68
2.8 參考文獻 70
第3章 前饋神經網絡 72
3.1 神經元 73
3.1.1 Sigmoid神經元 74
3.1.2 Tanh神經元 75
3.1.3 ReLU神經元 76
3.2 前饋神經網絡 80
3.2.1 輸齣層單元 80
3.2.2 隱藏層單元 80
3.2.3 網絡結構設計 81
3.3 BP算法 82
3.4 深度學習編碼實戰上 86
3.4.1 實現仿射傳播 88
3.4.2 實現ReLU傳播 91
3.4.3 組閤單層神經元 93
3.4.4 實現淺層神經網絡 96
3.4.5 實現深層全連接網絡 101
3.5 參考代碼 109
3.6 參考文獻 113
第4章 深度學習正則化 115
4.1 參數範數懲罰 116
4.1.1 L2參數正則化 118
4.1.2 L1正則化 119
4.2 參數綁定與參數共享 120
4.3 噪聲注入與數據擴充 120
4.4 稀疏錶徵 122
4.5 早停 123
4.6 Dropout 126
4.6.1 個體與集成 126
4.6.2 Dropout 127
4.7 深度學習編碼實戰中 129
4.7.1 Dropout傳播 131
4.7.2 組閤Dropout傳播層 134
4.7.3 Dropout神經網絡 136
4.7.4 解耦訓練器trainer 138
4.7.5 解耦更新器updater 143
4.7.6 正則化實驗 145
4.8 參考代碼 148
4.9 參考文獻 150
第5章 深度學習優化 152
5.1 神經網絡優化睏難 153
5.1.1 局部最優 153
5.1.2 鞍點 154
5.1.3 梯度懸崖 154
5.1.4 梯度消失或梯度爆炸 155
5.1.5 梯度不精確 156
5.1.6 優化理論的局限性 156
5.2 隨機梯度下降 156
5.3 動量學習法 158
5.4 AdaGrad和RMSProp 159
5.5 Adam 160
5.6 參數初始化策略 161
5.7 批量歸一化 163
5.7.1 BN算法詳解 163
5.7.2 BN傳播詳解 165
5.8 深度學習編碼實戰下 166
5.8.1 Momentum 167
5.8.2 RMSProp 171
5.8.3 Adam 172
5.8.4 更新規則比較 174
5.8.5 BN前嚮傳播 176
5.8.6 BN反嚮傳播 180
5.8.7 使用BN的全連接網絡 182
5.8.8 BN算法與權重標準差比較 188
5.9 參考代碼 191
5.10 參考文獻 195
第6章 捲積神經網絡 196
6.1 捲積操作 197
6.2 捲積的意義 198
6.2.1 稀疏連接 199
6.2.2 參數共享 200
6.3 池化操作 201
6.4 設計捲積神經網絡 204
6.4.1 跨步捲積 204
6.4.2 零填充 205
6.4.3 非共享捲積 206
6.4.4 平鋪捲積 207
6.5 捲積網絡編碼練習 208
6.5.1 捲積前嚮傳播 209
6.5.2 捲積反嚮傳播 212
6.5.3 最大池化前嚮傳播 215
6.5.4 最大池化反嚮傳播 218
6.5.5 嚮量化執行 220
6.5.6 組閤完整捲積層 223
6.5.7 淺層捲積網絡 224
6.5.8 空間批量歸一化 229
6.6 參考代碼 233
6.7 參考文獻 237
第7章 循環神經網絡 238
7.1 循環神經網絡 239
7.1.1 循環神經元展開 239
7.1.2 循環網絡訓練 240
7.2 循環神經網絡設計 242
7.2.1 雙嚮循環網絡結構 242
7.2.2 編碼-解碼網絡結構 243
7.2.3 深度循環網絡結構 244
7.3 門控循環神經網絡 245
7.3.1 LSTM 246
7.3.2 門控循環單元 249
7.4 RNN編程練習 250
7.4.1 RNN單步傳播 252
7.4.2 RNN時序傳播 255
7.4.3 詞嵌入 258
7.4.4 RNN輸齣層 261
7.4.5 時序Softmax損失 262
7.4.6 RNN圖片說明任務 264
7.5 LSTM編程練習 269
7.5.1 LSTM單步傳播 269
7.5.2 LSTM時序傳播 273
7.5.3 LSTM實現圖片說明任務 276
7.6 參考代碼 278
7.6.1 RNN參考代碼 278
7.6.2 LSTM參考代碼 282
7.7 參考文獻 285
第8章 TensorFlow快速入門 287
8.1 TensorFlow介紹 288
8.2 TensorFlow 1.0安裝指南 289
8.2.1 雙版本切換Anaconda 289
8.2.2 安裝CUDA 8.0 291
8.2.3 安裝cuDNN 292
8.2.4 安裝TensorFlow 293
8.2.5 驗證安裝 294
8.3 TensorFlow基礎 295
8.3.1 Tensor 295
8.3.2 TensorFlow核心API教程 296
8.3.3 tf.train API 299
8.3.4 tf.contrib.learn 301
8.4 TensorFlow構造CNN 305
8.4.1 構建Softmax模型 305
8.4.2 使用TensorFlow訓練模型 307
8.4.3 使用TensorFlow評估模型 308
8.4.4 使用TensorFlow構建捲積神經網絡 308
8.5 TensorBoard快速入門 311
8.5.1 TensorBoard可視化學習 312
8.5.2 計算圖可視化 316
前言/序言
前 言
隨著榖歌的AlphaGo,IBM的watson以及百度的智能機器人百小度的問世,人工智能成為瞭大眾熱烈討論的焦點,而作為這些智能産品的核心技術,深度學習受到瞭學界與産業界的廣泛關注。深度學習憑藉其優良的性能,被廣泛應用於計算機視覺、圖像分析、語音識彆和自然語言處理等諸多領域中。但深度學習的算法與模型較為復雜,對於初學者來說較難理解與掌握,需要其有一定的理論與實踐應用基礎。本書作者通過把理論知識與大量實踐例子相結閤,運用易懂與詼諧的語言為初學者呈現瞭一部指導深度學習實戰的首選之作。本書的麵嚮對象為計算機及相關專業的本科生、研究生,以及相關領域的初級研究人員。與同類著作不同的是本書更強調讀者的親身實踐,分為模塊設計與代碼實踐兩部分,當讀者學習完模塊設計部分的理論知識後,還可以在實踐代碼的關鍵位置添加自己的代碼,並測試實現的深度學習模型的每一個關鍵環節,以此進一步理解與掌握所學的算法與模型。
本書共分為8章,第1章為深度學習的發展介紹,其他7章對深度學習的理論知識和應用進行瞭深入淺齣的講解,分彆為第2章 機器學習快速入門,第3章 前饋神經網絡,第4章 深度學習正則化,第5章 深度學習優化,第6章 捲積神經網絡,第7章 循環神經網絡,第8章 TensorFlow快速入門。每一個章節在其結尾部分都會提齣深度學習算法與模型的實踐學習,按照作者的設計步驟,讀者可以逐步完成代碼的編寫,並對其進行測試,最終完成整個算法與模型代碼的實踐。本書不同於傳統理論介紹+代碼演示書籍之處在於,理論知識與實踐學習部分可以分開閱讀,其每一章節的實踐學習部分更加強調與讀者的互動性。本書還精心設計瞭許多子模塊,給予大量的編程提示,並引導讀者通過自學的方式完成各個子模塊的實現,進而強化讀者對不同模塊編碼實現的學習與理解,在每章末尾都會給齣相應的參考代碼。
本書的作者特彆感謝相關科研項目與人纔計劃的支持,其中包括:國傢自然科學基金項目(61402397,61663046),雲南省科技廳應用基礎研究計劃麵上項目(2016FB104),雲南省軟件工程重點實驗室開放基金麵上項目(2015SE201),雲南大學數據驅動的軟件工程省科技創新團隊(2017HC012),雲南省中青年學術和技術帶頭人後備人纔計劃(2017HB005),雲南省百名海外高層次人纔引進計劃。
深度學習相關研究領域的發展日新月異,本書作者自認纔疏學淺,隻略知其中一二,書中內容的設計與撰寫是作者對深度學習的個人認識與理解,由於水平有限,如有不妥之處請廣大讀者不吝賜教。
本書免費提供瞭雲盤下載文件,內容包括書中所有綜閤案例的素材文件,下載地址為:https://pan.baidu.com/s/1nvacrYL(注意區分英文字母大小寫),如果下載有問題,請發送電子郵件至booksaga@126.com,郵件主題設置為“深度學習實戰”。
楊雲
2017年8月29日於雲南大學
探索人工智能的邊界:一本關於計算機視覺的深度解析 本書將帶領讀者踏上一段激動人心的旅程,深入探索人工智能領域中最具活力和前景的分支之一——計算機視覺。我們不僅僅停留在理論的錶述,而是著重於實際應用與技術實現,旨在為有誌於投身計算機視覺領域的開發者、研究者以及愛好者提供一套全麵而深入的學習指南。 為何選擇計算機視覺? 在當今這個數據爆炸的時代,圖像和視頻作為信息傳遞的重要載體,其價值日益凸顯。計算機視覺,作為賦予機器“看”的能力的學科,正以前所未有的速度滲透到我們生活的方方麵麵:從智能手機的麵部解鎖、自動駕駛汽車的障礙物識彆,到醫療影像的輔助診斷、安防監控的異常檢測,再到虛擬現實、增強現實的場景理解,計算機視覺的應用場景幾乎無處不在,並且仍在不斷拓展。理解並掌握計算機視覺的核心技術,意味著能夠站在技術的最前沿,參與到改變世界的創新浪潮中。 本書將帶你學到什麼? 本書的內容編排嚴謹,邏輯清晰,從基礎概念齣發,逐步深入到前沿技術。我們將首先為你構建堅實的理論基礎,然後通過大量的實例和代碼演示,讓你掌握將理論轉化為實踐的能力。 第一部分:計算機視覺基礎與傳統方法 在深入到復雜的深度學習模型之前,瞭解計算機視覺的發展曆程和傳統的技術方法是至關重要的。這一部分將為你打下堅實的基礎: 圖像的數學錶示與處理: 我們將探討圖像是如何在計算機中被錶示的(像素、灰度、顔色空間),以及常見的圖像預處理技術,如濾波(高斯濾波、中值濾波)、邊緣檢測(Sobel、Canny)、直方圖均衡化等。這些基礎操作是後續更復雜分析的前提。 特徵提取與描述: 在深度學習興起之前,手動設計特徵是計算機視覺的支柱。我們將介紹SIFT、SURF、ORB等經典的局部特徵提取器,以及HOG等全局特徵描述符,並講解它們在圖像匹配、物體識彆等任務中的應用。 圖像分割與識彆基礎: 學習圖像分割的基本原理,包括閾值分割、區域生長等方法。同時,介紹傳統分類器(如SVM、Adaboost)在圖像識彆中的應用,讓你理解機器學習在早期計算機視覺中的作用。 相機模型與幾何: 理解相機的成像原理、相機標定、以及立體視覺中的多視圖幾何。這些內容對於理解三維重建、深度估計等高級應用至關重要。 第二部分:深度學習在計算機視覺中的革命 深度學習的齣現徹底改變瞭計算機視覺的麵貌。本書將詳細解析深度學習的核心模型及其在計算機視覺領域的突破性進展: 捲積神經網絡(CNN)的原理與演進: 核心概念: 深入剖析捲積層、池化層、激活函數(ReLU、Sigmoid、Tanh)、全連接層的構成與作用。理解它們如何有效地從原始圖像中提取層次化的特徵。 經典網絡結構: 從LeNet、AlexNet開始,迴顧瞭CNN發展曆程中的裏程碑式網絡。詳細講解VGG、GoogLeNet(Inception)、ResNet等主流網絡架構的設計理念、創新點以及它們如何剋服梯度消失、提升性能。 網絡優化與正則化: 學習Dropout、Batch Normalization等技術如何有效防止過擬閤,提升模型的泛化能力。 目標檢測: 兩階段檢測器: 詳細講解R-CNN係列(R-CNN, Fast R-CNN, Faster R-CNN)的工作原理,包括區域提議網絡(RPN)的引入如何大幅提升檢測效率。 單階段檢測器: 深入分析YOLO(You Only Look Once)係列和SSD(Single Shot MultiBox Detector)的設計思想,理解它們如何實現端到端的實時目標檢測。 Anchor Boxes與NMS: 掌握Anchor Boxes的設置與解碼,以及非極大值抑製(NMS)在去除冗餘檢測框中的關鍵作用。 圖像分割: 語義分割: 學習全捲積網絡(FCN)的概念,以及U-Net、DeepLab等網絡在像素級分類中的齣色錶現。理解編碼器-解碼器結構的原理。 實例分割: 探索Mask R-CNN等模型如何結閤目標檢測與語義分割,實現對圖像中每個實例的精細分割。 人臉識彆與檢測: 人臉檢測算法: 介紹MTCNN、HOG+SVM等經典人臉檢測方法,以及基於深度學習的檢測器。 人臉識彆技術: 講解人臉特徵提取(如ArcFace, CosFace, FaceNet),以及如何利用這些特徵進行人臉比對與身份識彆。 圖像生成: 生成對抗網絡(GAN): 深入理解GAN的生成器和判彆器的工作機製,以及DCGAN、StyleGAN等變體的創新。學習如何利用GAN生成逼真圖像、進行風格遷移等。 變分自編碼器(VAE): 講解VAE的潛在空間錶示與重構過程,理解其在數據生成和特徵學習中的作用。 Transformer在視覺領域的應用: Vision Transformer (ViT): 介紹如何將Transformer架構應用於圖像任務,理解其在處理長距離依賴方麵的優勢。 Swin Transformer: 學習Swin Transformer的滑動窗口機製如何解決ViT的計算復雜度問題,並使其更適用於密集預測任務。 第三部分:實戰項目與應用進階 理論知識的學習最終需要通過實踐來鞏固和深化。本書將提供一係列精心設計的實戰項目,讓你親手構建和部署計算機視覺應用: 從零開始構建一個簡單的圖像分類器: 使用PyTorch或TensorFlow/Keras,從數據加載、模型定義到訓練和評估,一步步完成一個完整的圖像分類流程。 人臉檢測與識彆係統的實現: 利用現有的深度學習庫,構建一個可以實時檢測人臉、並進行身份識彆的應用程序。 自動化物體檢測應用: 開發一個能夠自動識彆視頻流中特定物體的係統,例如安防監控中的入侵檢測或工業生産綫中的缺陷檢測。 圖像風格遷移的實踐: 利用GAN或Neural Style Transfer技術,實現將一張圖片的風格應用到另一張圖片上。 數據增強技術詳解與應用: 學習各種數據增強技術(鏇轉、翻轉、裁剪、顔色抖動等)如何擴充數據集、提升模型魯棒性。 本書的目標讀者: 計算機科學、軟件工程等相關專業的學生: 為你在學習人工智能課程時提供更深入的實踐指導。 有一定編程基礎(Python優先)的開發者: 想要將計算機視覺技術融入到你的應用程序或産品中。 希望轉行或深入研究人工智能的工程師: 為你提供一條清晰的學習路徑,掌握核心的計算機視覺技術。 對人工智能和機器學習充滿好奇的研究者和愛好者: 循序漸進地引導你理解和掌握前沿技術。 本書的特色: 注重實戰: 大量代碼示例,讓你邊學邊練。 由淺入深: 從基礎理論到前沿技術,循序漸進,零基礎也能上手。 原理透徹: 深入解析算法背後的數學原理和設計思想。 緊跟前沿: 涵蓋瞭計算機視覺領域的最新技術和發展趨勢。 配套資源: 提供完善的代碼倉庫和學習資料,助你高效學習。 通過本書的學習,你將不僅能理解計算機視覺的強大之處,更能掌握構建智能視覺係統的核心能力,為開啓人工智能領域的新篇章做好充分準備。讓我們一起,用代碼點亮機器的“眼睛”,探索無限可能!
最近我拿到一本名為《深度學習實戰》的書,雖然我還沒有全部讀完,但從其章節的編排和內容概述來看,這本書為我打開瞭一個新的視角。我一直對人工智能的奇妙之處感到好奇,尤其是深度學習在近年來取得的驚人成就,讓我渴望能夠一探究竟。 這本書似乎非常注重從基礎入手,係統地介紹深度學習的核心概念。我非常期待書中能夠清晰地解釋神經網絡的構成,以及不同層級(如輸入層、隱藏層、輸齣層)的作用。更重要的是,我希望能夠理解反嚮傳播算法的工作原理,它是如何驅動模型不斷學習和優化的。 在算法層麵,我對書中關於捲積神經網絡(CNN)和循環神經網絡(RNN)的介紹非常感興趣。這兩種網絡在處理圖像和序列數據方麵錶現齣色,是我一直想要深入瞭解的技術。我希望書中能夠詳細講解這些網絡結構的特點、優勢,以及它們在不同應用場景下的具體實現。 除瞭理論知識,我也非常期待書中能夠提供一些關於模型訓練和調優的實用技巧。深度學習模型的性能往往受到許多因素的影響,比如數據集的處理、模型的選擇、超參數的設置等等。我希望這本書能夠分享一些經驗性的指導,幫助我更好地進行模型開發和優化。 總的來說,《深度學習實戰》這本書給瞭我一個非常好的開端,去係統地學習和掌握深度學習的理論與實踐。它似乎能夠滿足我對於深度學習知識體係構建的期望,並為我未來在這個領域的探索和應用打下堅實的基礎。這本書的內容深度和廣度,是我對其抱有高度期待的重要原因。