- 深度學習:卷積神經網絡從入門到精通
- 李玉鑑
- 3360字
- 2019-01-05 05:43:32
1.7 本書的內容結構和案例數據
卷積神經網絡是目前應用最廣的深度學習模型。本書旨在介紹其中比較重要的模型,并通過演示案例說明有關模型的應用價值。下面簡述本書的內容結構及案例數據。
1.7.1 內容結構
本書共分為12章,有關應用案例的章節、框架和平臺匯總在表1.1中。
表1.1 應用案例的章節、框架和平臺

各章的內容結構描述如下:
第1章為概述,介紹深度學習的起源和發展,說明卷積神經網絡的形成和演變,分析卷積神經網絡的應用和影響,討論卷積神經網絡的缺陷和視圖,總結卷積神經網絡的平臺和工具。
第2章為預備知識,主要介紹卷積神經網絡模型有關的數學基礎。
第3章為卷積神經網絡的現代雛形LeNet。首先介紹LeNet的原始模型,然后描述LeNet的標準模型,接著給出LeNet的學習算法,說明LeNet的Caffe代碼,并分析LeNet的手寫數字識別案例、交通標志識別案例和交通路網提取案例。
第4章為卷積神經網絡的突破模型AlexNet。首先介紹AlexNet的模型結構,然后依次說明AlexNet的Caffe和TensorFlow代碼,并分析AlexNet的大規模圖像分類案例,最后簡介其改進模型ZFNet。
第5章為卷積神經網絡的應變模型。主要介紹SPPNet的模型結構,說明SPPNet的Caffe代碼,并分析SPPNet的大規模圖像分類案例。
第6章為卷積神經網絡的加深模型。主要介紹VGGNet和GoogLeNet的模型結構,說明它們的TensorFlow代碼,并分析VGGNet的物體圖像分類案例和GoogLeNet的鮮花圖像分類案例。
第7章為卷積神經網絡的跨連模型。主要介紹快道網絡、殘差網絡、密連網絡和拼接網絡。對于快道網絡,只描述了模型結構。對于其余3個網絡,還說明了核心模塊的Caffe代碼實現。此外,還分析了殘差網絡的大規模圖像分類案例、密連網絡的物體圖像分類案例,以及拼接網絡的人臉圖像性別分類案例。
第8章為卷積神經網絡的區域模型。主要介紹區域卷積神經網絡、快速區域卷積網絡、更快速區域卷積網絡、你只看一次網絡和單次檢測器。對于前兩個網絡,只描述了模型結構。對于另外3個網絡,還說明了它們的TensorFlow代碼,并分析了它們在VOC 2007數據集上的圖像目標檢測案例。
第9章為卷積神經網絡的分割模型。主要介紹全卷積網絡、金字塔場景分析網絡和掩膜區域卷積網絡的模型結構,說明它們的Caffe或TensorFlow代碼,并分析它們的圖像語義分割、圖像幾何分割或圖像實例分割等應用案例。
第10章為卷積神經網絡的特殊模型。主要介紹4種模型,包括孿生網絡、擠壓網絡、生成對抗網絡和網中網。不僅給出了它們的模型結構,說明了它們的Caffe或TensorFlow代碼,也分析了它們的手寫數字驗證、大規模圖像分類或人臉圖像生成等應用案例。
第11章為卷積神經網絡的強化模型。主要介紹深層強化學習的標準模型、學習算法和變種模型,并分析一個笨笨鳥Flappy Bird智能體的游戲應用案例。
第12章為卷積神經網絡的頂尖成就AlphaGo。主要介紹AlphaGo的設計原理和AlphaGo Zero的新思想,并分析一個仿效圍棋程序MuGo的游戲應用案例。
1.7.2 案例數據
各章在介紹卷積神經網絡的變種模型時,一般還給出了有關的應用案例。這些案例可能重復用到13個不同的數據集(大小信息和下載網址詳見表1.2),分別是:MNIST(Mixed National Institute of Standard and Technology)、GTSRB(German Traff ic Sign Recognition Benchmark)、RRSI(Road Remote Sensing Image)、ImageNet 2012、CIFAR-10、Oxford-17、AR、VOC 2007、SIFT Flow、ADE20K、COCO(Common Objects in Context)2014、CelebA和Gamerecords。
表1.2 案例數據的信息描述和下載網址

下面依次對每個數據集進行詳細介紹。
1)MNIST是一個著名的手寫數字數據集(如圖1.9所示),包括60000個訓練樣本,10000個測試樣本。其中,每個樣本圖像的大小為28×28像素,僅包含一個單一的手寫數字字符。像素的取值范圍是[0, 255],其中0表示黑,255表示白,中間值表示灰度級。本書在第3章和第10章使用了MNIST數據集。

圖1.9 MNIST的手寫數字圖像舉例
2)GTSRB是一個德國交通標志數據集(如圖1.10所示)。其中有兩套訓練集和測試集,都包含43類交通標志。一套有39209個訓練樣本和12630個測試樣本,另一套有26640個訓練樣本和12569個測試樣本。本書在第3章的交通標志識別案例中選用了前一套訓練集和測試集,但從中去掉了少量樣本,只用了39200個訓練樣本和12600個測試樣本。GTSRB的圖片格式是.ppm類型,大小在15×15到250×250之間不等,每個樣本的長寬、興趣區和標簽等注釋信息存放在相應的.csv文件中。為了便于處理,需要把它們的格式先轉換成.jpg圖像類型,并歸一化為32×32像素大小。

圖1.10 GTSRB的交通標志圖像舉例
3)RRSI是一個交通路網遙感圖像的數據集(如圖1.11所示)。交通路網是指公路、城市道路和單位管轄范圍允許社會機動車通行的地方,包括廣場、公共停車場等用于公眾通行的場所。RRSI實際上共有30幅大小不等的圖像和2種標注。本書在第3章選用了11幅來訓練,5幅來測試,進行路網自動提取。

圖1.11 RRSI的交通路網遙感圖像舉例
4)ImageNet是一個擁有超過1500萬幅圖像、約22000個類別的數據集(如圖1.12所示),可用于大規模圖像識別、定位和檢測的研究。本書在第4章、第5章、第7章和第10章使用了2012年大規模圖像視覺識別比賽(Large Scale Visual Recognition Competition, ILSVRC)的數據集ImageNet(即ImageNet 2012)設計圖像分類案例。ImageNet 2012包含1281 167幅訓練圖像和50000幅測試圖像,共有1000個類別。訓練集中各類圖像的數目可能不同,最少為732幅,最多為1300幅。而測試集中各類圖像的數目都是50幅。

圖1.12 ImageNet 2012的物體圖像舉例
5)CIFAR-10是一個常見物體圖像數據集(如圖1.13所示),分為10個類別,包含60000幅32×32的彩色圖像,50000幅用于訓練,10000幅用于測試。注意:根據表1.2中的網址下載的CIFAR-10是經過封裝的,有3個版本:Python、Matlab和Binary。本書在第6章和第7章選用了Binary版本。

圖1.13 CIFAR-10的物體圖像舉例
6)Oxford-17是一個鮮花圖像數據集(如圖1.14所示),其中包含1360幅圖像,分為17類,每類80幅圖像,大小不盡相同。本書在第6章隨機選了1088幅圖像作為訓練集,其余272幅圖像作為測試集,設計了GoogLeNet的鮮花圖像分類案例。

圖1.14 Oxford-17的鮮花圖像舉例
7)AR是一個人臉圖像數據集(如圖1.15所示),包含126個人在不同表情、光照和妝容條件下的4000多幅人臉圖像,但只能下載100個人的2600幅。本書在第7章的CatNet性別分類案例中從中選擇了40名男性和40名女性的2080幅圖像作為訓練集,其余的520幅圖像作為測試集。

圖1.15 AR的人臉圖像舉例
8)VOC 2007(即Pascal Voc 2007)是一個關于物體和場景的圖像數據集(如圖1.16所示),可以用于目標檢測和語義分割任務。Pascal VOC的全名是“Pattern Analysis, Statistical Modelling and Computational Learning Visual Object Classes”,指的是模式分析、統計建模、計算學習視覺物體分類。該數據集包含訓練驗證集文件夾trainval和測試集文件夾test,分別包含5011幅和4952幅大小不同的圖像。而且,這兩個文件夾各自又都包含5個子文件夾:JPEGImages、Annotations、ImageSets、SegmentationClass和SegmentationObject。其中,JPEGImages存放的是所有圖像,包含20個類別。Annotations存放的是xml格式的標簽文件,每一個xml文件都對應于JPEGImages下的一幅圖像。ImageSets存放的是具體的圖像信息,下設3個子文件夾Layout、Main和Segmentation,分別存放人體部位數據(比如head、hand、feet等)、20類圖像物體識別數據,以及可用于分割的數據。SegmentationClass和SegmentationObject用來存放分割后的圖像,前者標注每個像素的類別,后者標注每個像素屬于哪一個物體對象。本書在第8章的Faster R-CNN、YOLO和SSD的目標檢測案例中使用了VOC 2007。

圖1.16 VOC 2007的圖像舉例
9)SIFT Flow是一個關于不同場景的圖像數據集(如圖1.17所示),包含2688幅圖像,其中2488幅訓練圖像、200幅測試圖像。這些圖像的像素共有33個語義類別標記(橋、山、太陽等)和3個幾何類別標記(水平、豎直和天空)。本書在第9章的FCN圖像分割案例中使用了SIFT Flow。

圖1.17 SIFT Flow的圖像舉例
10)ADE20K是一個關于不同場景的圖像數據集(如圖1.18所示),包含20210幅訓練圖像和2000幅測試圖像。這些圖像的像素被標記為3148個不同的語義類別。本書在第9章的PSPNet圖像分割案例中使用了ADE20K。

圖1.18 ADE20K的場景圖像舉例
11)COCO 2014是微軟團隊制作的一個圖像數據集(如圖1.19所示),可以用于物體識別、目標檢測、語義分割和語義描述。其中,訓練集有82783幅圖像,驗證集和測試集分別有40504幅圖像。由于官方沒有給出測試集的真實標簽,所以本書在第9章的Mask R-CNN圖像分割案例中使用訓練集來學習,使用驗證集來測試。

圖1.19 COCO 2014的物體圖像舉例
12)CelebA是一個名人人臉圖像數據集(如圖1.20所示),共包含10177位名人的202599幅人臉圖像,其中訓練集有162770幅圖像,驗證集有19867幅圖像,測試集有18962幅圖像。每幅人臉圖像有40個不同的二值屬性標注,比如是否微笑、是否戴眼鏡、是否戴帽子等。本書在第10章的DCGAN人臉生成案例中使用了CelebA。

圖1.20 CelebA的人臉圖像舉例
13)Gamerecords是一個圍棋棋局文件數據集(如圖1.21所示),包含從2001年開始一直到2017年最新更新的棋局文件。本書在第12章AlphaGo的仿效圍棋程序MuGo案例中,使用了2017年4月及之前發布的部分棋局文件,約22959個。每個棋局文件大概包含200個著子位置,總共約有4591 800個著子位置,其中4491 800個著子位置被用來訓練,其余的100000個著子位置用來測試。

圖1.21 Gamerecords的棋局舉例