●前言
章 深度學習簡介
1.1 深度學習的歷史
1.2 深度學習工具簡介
1.3 深度學習的未來趨勢
第2章 搭建你的Caffe武器庫
2.1 硬件選型
2.2 Caffe在Windows下的安裝
2.3 Caffe在Linux下的安裝
2.3.1 Linux安裝
2.3.2 Nvidia CUDA Toolkit的安裝(*.deb方法)
2.3.3 Caffe的安裝和測試
2.4 OpenCV的安裝和編譯
2.4.1 OpenCV的
2.4.2 配置環境變量
2.5 Boost庫的安裝和編譯
2.6 Python相關庫的安裝
2.7 MATLAB接口的配置
2.8 其他庫的安裝
2.8.1 LMDB的編譯與安裝
2.8.2 LevelDB的編譯與安裝
2.8.3 glog的編譯與安裝
2.8.4 安裝gflags
第3章 Caffe的簡單訓練
3.1 Caffe轉化數據工具的使用介紹
3.1.1 命令參數介紹
3.1.2 生成文件列表
3.1.3 使用的Linux命令簡介
3.1.4 生成文件結果
3.1.5 圖片參數組詳解
3.2 Caffe提取特征的工具使用說明
3.3 Caffe訓練需要的幾個部件
3.3.1 網絡proto文件的編寫
3.3.2 Solver配置
3.3.3 訓練腳本的編寫
3.3.4 訓練log解析
3.4 Caffe簡單訓練分類任務
3.5 測試訓練結果
3.6 使用訓練好的模型進行預測
第4章 認識深度學習網絡中的層
4.1 卷積層的作用與類別
4.1.1 卷積層的作用
4.1.2 卷積分類
4.2 激活層的作用與類別
4.2.1 激活函數的定義及相關概念
4.2.2 激活函數的類別
4.3 池化層的作用與類別
4.3.1 池化層的歷史
4.3.2 池化層的作用
4.3.3 池化層分類
4.4 全連接層的作用與類別
4.5 dropout層的作用
4.6 損失函數層
第5章 Caffe的框架設計
5.1 Caffe中CPU和GPU結構的融合
5.1.1 SyncedMemory函數及其功能
5.1.2 SyncedMemory類的作用
5.2 Caffe訓練時層的各個成員函數的調用順序
5.3 Caffe網絡構建函數的解析
5.4 Caffe層如何使用proto文件實現反射機制
5.4.1 工廠模式
5.4.2 層的創建
5.5 Caffe的調用流程圖及函數順序導視
5.6 Caffe框架使用的編碼思想
5.6.1 Caffe的總體結構
5.6.2 Caffe數據存儲設計
第6章 基礎數學知識
6.1 卷積層的數學公式及求導
6.2 激活層的數學公式圖像及求導
6.3 三種池化層的數學公式及反向計算
6.4 全連接層的數學公式及求導
6.4.1 全連接層的前向計算及公式推導
6.4.2 全連接層的反向傳播及公式推導
6.5 反卷積層的數學公式及求導
第7章 卷積層和池化層的使用
7.1 卷積層參數初始化介紹
7.2 池化層的物理意義
7.3 卷積層和池化層輸出計算及參數說明
7.4 實踐:在Caffe框架下用Prototxt定義卷積層和池化層
7.4.1 卷積層參數的編寫
7.4.2 必須設置的參數
7.4.3 其他可選的設置參數
7.4.4 卷積參數編寫具體示例
7.4.5 卷積參數編寫小建議
第8章 激活函數的介紹
8.1 用ReLU解決sigmoid的缺陷
8.2 ReLU及其變種的對比
8.3 實踐:在Caffe框架下用Prototxt定義激活函數
8.3.1 ReLU
8.3.2 PReLU
8.3.3 Sigmoid
第9章 損失函數
9.1 contrastive_loss函數和對應層的介紹和使用場景
9.2 multinomial_logistic_loss函數和對應層的介紹和使用說明
9.3 sigmoid_cross_entropy函數和對應層的介紹和使用說明
9.4 softmax_loss函數和對應層的介紹和使用說明
9.5 euclidean_loss函數和對應層的介紹和使用說明
9.6 hinge_loss函數和對應層的介紹和使用說明
9.7 infogain_loss函數和對應層的介紹和使用說明
9.8 TripletLoss的添加及其使用
9.8.1 TripletLoss的思想
9.8.2 TripletLoss梯度推導
9.8.3 新增加TripletLossLayer
9.9 Coupled Cluster Loss的添加及其使用
9.9.1 增加loss層
9.9.2 實現具體示例
0章 Batch Normalize層的使用
10.1 batch_normalize層的原理和作用
10.2 batch_normalize層的優勢
10.3 常見網絡結構batch_normalize層的位置
10.4 proto的具體寫法
10.5 其他歸一化層的介紹
1章 回歸網絡的構建
11.1 如何生成回歸網絡訓練數據
11.2 回歸任務和分類任務的異同點
11.3 回歸網絡收斂性的判斷
11.4 回歸任務與級聯模型
2章 多任務網絡的構建
12.1 多任務歷史
12.2 多任務網絡的數據生成
12.3 如何簡單建立多任務
12.4 近年的多任務深度學習網絡
12.5 多任務中通用指導性調參和網絡構建結論
12.5.1 如何避免出現多任務後性能下降的情況
12.5.2 怎樣構建性能提升的多任務網絡
3章 圖像檢索和人臉識別繫統實踐
13.1 深度學習如何構建成自動化服務,在內存中做測試
13.2 Poco庫構建服務器指南
13.3 深度學習服務和傳統服務的區別
13.4 深度學習服務如何與傳統後臺服務進行交互
13.5 人臉識別的數據準備和所使用的相關技術
13.6 圖像檢索任務的介紹
13.7 在Caffe中添加數據輸入層
13.7.1 具體示例
13.7.2 ImageDataParameter參數含義簡介
13.7.3 新增加參數的含義簡介
13.7.4 將新增加的參數加入LayerParameter
13.7.5 代碼的編寫之必寫函數
13.7.6 用戶自定義函數的編寫
13.7.7 用戶自定義數據的讀取
13.7.8 代碼的實現
4章 深度學習的調參技巧總結
14.1 不變數據的調參的基本原則
14.2 Caffe fine-tuning調參的原則和方法
14.3 綜合數據調參的指導性建議
14.4 2012年以後的經典網絡結構概述
14.4.1 Google的Inception結構
14.4.2 微軟的Residual Network結構
內容簡介
本書主要介紹Caffe的技術原理和一些不錯使用技巧,首先介紹深度學習的趨勢和業內動態,然後介紹Caffe的基礎知識。在理解了Caffe算法的基礎上,介紹Caffe的技術原理和特點,包括數學知識和設計知識。很後介紹Caffe深度學習多任務網絡。本書將實踐和現有繫統進行無縫對接,並詳述了各種調參技巧。