Author:louwill
From:深度學習筆記
很多朋友在學習了神經(jīng)網(wǎng)絡(luò)和深度學習之后,早已迫不及待要開始動手實戰(zhàn)了。第一個遇到的問題通常就是數(shù)據(jù)。作為個人學習和實驗來說,很難獲得像工業(yè)界那樣較高質(zhì)量的貼近實際應(yīng)用的大量數(shù)據(jù)集,這時候一些公開數(shù)據(jù)集往往就成了大家通往AI路上的反復摩擦的對象。
計算機視覺(CV)方向的經(jīng)典數(shù)據(jù)集包括MNIST手寫數(shù)字數(shù)據(jù)集、Fashion MNIST數(shù)據(jù)集、CIFAR-10和CIFAR-100數(shù)據(jù)集、ILSVRC競賽的ImageNet數(shù)據(jù)集、用于檢測和分割的PASCAL VOC和COCO數(shù)據(jù)集等。而自然語言處理(NLP)方向的經(jīng)典數(shù)據(jù)集包括IMDB電影評論數(shù)據(jù)集、Wikitext維基百科數(shù)據(jù)集、Amazon reviews(亞馬遜評論)數(shù)據(jù)集和Sogou news(搜狗新聞)數(shù)據(jù)等。本講就分別對這些經(jīng)典數(shù)據(jù)集和使用進行一個概述。CV經(jīng)典數(shù)據(jù)集
MNIST(Mixed National Institute of Standards andTechnology database)數(shù)據(jù)集大家可以說是耳熟能詳。可以說是每個入門深度學習的人都會使用MNIST進行實驗。作為領(lǐng)域內(nèi)最早的一個大型數(shù)據(jù)集,MNIST于1998年由Yann LeCun等人設(shè)計構(gòu)建。MNIST數(shù)據(jù)集包括60000個示例的訓練集以及10000個示例的測試集,每個手寫數(shù)字的大小均為28*28。在本書的前面一些章節(jié),我們曾多次使用到了MNIST數(shù)據(jù)集。MNIST數(shù)據(jù)集官網(wǎng)地址為http://yann.lecun.com/exdb/mnist/。MNIST在TensorFlow中可以直接導入使用。在TensorFlow 2.0中使用示例如代碼1所示。from tensorflow.keras.datasets import mnist(x_train,y_train), (x_test, y_test) = mnist.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
(60000, 28, 28) (60000,) (10000, 28, 28)(10000,)
可視化展示MNIST 0-9十個數(shù)字,如代碼2所示,繪制結(jié)果如圖1。# 導入相關(guān)模塊import matplotlib.pyplot as pltimport numpy as np# 指定繪圖尺寸plt.figure(figsize=(12,8))# 繪制10個數(shù)字fori in range(10): plt.subplot(2,5,i+1) plt.xticks([]) plt.yticks([]) img = x_train[y_train == i][0].reshape(28,28) plt.imshow(img, cmap=plt.cm.binary)

?? ? ? ? ? ? ? ? 圖1 MNIST數(shù)據(jù)示例可能是見MNIST太爛大街了,德國的一家名為Zalando的時尚科技公司提供了Fashion-MNIST來作為MNIST數(shù)據(jù)集的替代數(shù)據(jù)集。Fashion MNIST包含了10種類別70000個不同時尚穿戴品的圖像,整體數(shù)據(jù)結(jié)構(gòu)上跟MNIST完全一致。每張圖像的尺寸同樣是28*28。Fashion MNIST數(shù)據(jù)集地址為:https://research.zalando.com/welcome/mission/research-projects/fashion-mnist/。Fashion MNIST同樣也可以在TensorFlow中直接導入。如代碼3所示。from tensorflow.keras.datasets import fashion_mnist(x_train,y_train), (x_test, y_test) = fashion_mnist.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
(60000, 28, 28) (60000,) (10000, 28, 28)(10000,)
可視化展示Fashion MNIST 10種類別,如代碼4所示。繪制結(jié)果如2所示。
# 繪圖尺寸plt.figure(figsize=(12,8))# 繪制10個示例fori in range(10): plt.subplot(2,5,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) img = x_train[y_train == i][0].reshape(28,28) plt.imshow(x_train[i], cmap=plt.cm.binary)

圖2 Fashion MNIST數(shù)據(jù)示例展示
相較于MNIST和Fashion MNIST的灰度圖像,CIFAR-10數(shù)據(jù)集由10個類的60000個32*32彩色圖像組成,每個類有6000個圖像。有50000個訓練圖像和10000個測試圖像。CIFAR-10是由Hinton的學生Alex Krizhevsky(AlexNet的作者)和Ilya Sutskever 整理的一個用于識別普適物體的彩色圖像數(shù)據(jù)集。一共包含10個類別的RGB彩色圖片:飛機(airplane)、汽車(automobile)、鳥類(bird)、貓(cat)、鹿(deer)、狗(dog)、蛙類(frog)、馬(horse)、船(ship)和卡車(truck)。CIFAR-10的官方地址為https://www.cs.toronto.edu/~kriz/cifar.html。CIFAR-10在TensorFlow中導入方式如代碼5所示。from tensorflow.keras.datasets import cifar10(x_train,y_train), (x_test, y_test) = cifar10.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)?
(50000,32, 32, 3) (50000, 1) (10000, 32, 32, 3) (10000, 1)
CIFAR-10的可視化展示如代碼6所示。圖像示例如圖3所示。
plt.figure(figsize=(12,8))fori in range(10): plt.subplot(2,5,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(x_train[i], cmap=plt.cm.binary)

CIFAR-100可以看作是CIFAR-10的擴大版,CIFAR-100將類別擴大到100個類,每個類包含了600張圖像,分別有500張訓練圖像和100張測試圖像。CIFAR-100的100個類被分為20個大類,每個大類又有一定數(shù)量的小類,大類和大類之間區(qū)分度較高,但小類之間有些圖像具有較高的相似度,這對于分類模型來說會更具挑戰(zhàn)性。CIFAR-100數(shù)據(jù)集地址為https://www.cs.toronto.edu/~kriz/cifar.html。CIFAR-10在TensorFlow中導入方式如代碼7所示。from tensorflow.keras.datasets import cifar100(x_train,y_train), (x_test, y_test) = cifar100.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
(50000,32, 32, 3) (50000, 1) (10000, 32, 32, 3) (10000, 1)
CIFAR-100的可視化展示如代碼8所示,示例結(jié)果如圖4所示。
plt.figure(figsize=(12,8))fori in range(100): plt.subplot(10,10,i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(x_train[i], cmap=plt.cm.binary)

ImageNet圖像數(shù)據(jù)集是在2009年由斯坦福的李飛飛主導的一個項目形成的一個數(shù)據(jù)集。李飛飛在CVPR2009上發(fā)表了一篇名為《ImageNet: A Large-Scale Hierarchical Image Database》的論文,之后從2010年開始基于ImageNet數(shù)據(jù)集的7屆ILSVRC大賽,這使得ImageNet極大的推動了深度學習和計算機視覺的發(fā)展。ILSVRC大賽歷屆經(jīng)典網(wǎng)絡(luò)如表1所示。 | | | |
| | | ImageNet Classification with Deep Convolutional Neural Networks |
| | | Visualizing and understanding convolutional networks |
| | | Going Deeper with Convolutions |
| | | Very deep convolutional networks for large-scale image recognition |
| | | Deep Residual Learning for Image Recognition |
| | | Aggregated Residual Transformations for Deep Neural Networks |
| | | Squeeze-and-Excitation Networks |
目前ImageNet中總共有14197122張圖像,分為21841個類別,數(shù)據(jù)官網(wǎng)地址為:http://www.image-net.org/ImageNet數(shù)據(jù)集示例如圖5所示。
PASCAL VOC挑戰(zhàn)賽(The PASCAL Visual Object Classes)是一個世界級的計算機視覺挑戰(zhàn)賽, 其全稱為Pattern Analysis, Statical Modeling andComputational Learning,從2005年開始到2012年結(jié)束,PASCAL VOC最初主要用于目標檢測,很多經(jīng)典的目標檢測網(wǎng)絡(luò)都是在PASCAL VOC上訓練出來的,例如,F(xiàn)ast R-CNN系列的各種網(wǎng)絡(luò)。后來逐漸增加了分類、分割、動作識別和人體布局等五類比賽。目前PASCAL VOC主要分為VOC2007和VOC2012兩個版本的數(shù)據(jù)集。PASCAL VOC數(shù)據(jù)示例如圖6所示。
圖6 PASCAL VOC數(shù)據(jù)示例
COCO數(shù)據(jù)集是微軟在ImageNet和PASCAL VOC數(shù)據(jù)集標注上的基礎(chǔ)上產(chǎn)生的,主要是用于圖像分類、檢測和分割等任務(wù)。COCO全稱為Common Objects in Context,2014年微軟在ECCV Workshops里發(fā)表了Microsoft COCO: Common Objects in Context。文章中說明了COCO數(shù)據(jù)集以場景理解為目標,主要從復雜的日常場景中截取,圖像中的目標通過精確的分割進行位置的標定。COCO包括91個類別目標,其中有82個類別的數(shù)據(jù)量都超過了5000張。COCO數(shù)據(jù)集主頁地址為http://cocodataset.org/#home。
除了以上這些公開的經(jīng)典數(shù)據(jù)集以外,我們也可以通過數(shù)據(jù)采集和圖像標注工具制作數(shù)據(jù)集。常用的圖像標注工具包括Labelme、LabelImg、Vatic、Sloth、ImageJ、CVAT、Yolo_mark、RectLabel和Labelbox等。圖8所示是Labelme圖像標注示例。
NLP經(jīng)典數(shù)據(jù)集
IMDB本身是一家在線收集各種電影信息的網(wǎng)站,跟國內(nèi)的豆瓣較為類似,用戶可以在上面發(fā)表對電影的影評。IMDB數(shù)據(jù)集是斯坦福整理的一套用于情感分析的IMDB電影評論二分類數(shù)據(jù)集,包含了25000個訓練樣本和25000個測試樣本,所有影評被標記為正面和負面兩種評價。IMDB數(shù)據(jù)集的一個示例如圖9所示。
IMDB數(shù)據(jù)集在TensorFlow中讀取方法跟MNIST等數(shù)據(jù)集較為類似,如代碼9所示。from tensorflow.keras.datasets import imdb(x_train,y_train), (x_test, y_test) = imdb.load_data()print(x_train.shape,y_train.shape, x_test.shape, y_test.shape)
Downloadingdata fromhttps:17465344/17464789[==============================] - 2s 0us/step(25000,)(25000,) (25000,) (25000,)
IMDB數(shù)據(jù)集地址為https://www.imdb.com/interfaces/。WikiText 英語詞庫數(shù)據(jù)(The WikiText Long Term Dependency Language ModelingDataset)是由Salesforce MetaMind 策劃的包含1億個詞匯的大型語言建模語料庫。這些詞匯都是從維基百科一些經(jīng)典文章中提取得到,包括WikiText-103和WikiText-2兩個版本,其中WikiText-2是WikiText-103的一個子集,常用于測試小型數(shù)據(jù)集的語言模型訓練效果。值得一提的是,WikiText保持了產(chǎn)生每個詞匯的原始文章,非常適用于長時依賴的大文本建模問題。WikiText數(shù)據(jù)集地址為https://metamind.io/research/the-wikitext-long-term-dependency-language-modeling-dataset。Amazon Reviews數(shù)據(jù)集是2013年由康奈爾大學[1]發(fā)布的、從斯坦福網(wǎng)絡(luò)分析項目(SNAP)中構(gòu)建的Amazon評論數(shù)據(jù)集,分為Full和Polarity兩個版本。Full版本每個類別包含600000個訓練樣本和130000個測試樣本,Polarity版本每個類別則包含1800000個訓練樣本和200000個測試樣本。評論的商品包括書籍、電子產(chǎn)品、電影、日常家用產(chǎn)品、衣服、手機、玩具等各類常用物品。Amazon Reviews數(shù)據(jù)集地址為http://jmcauley.ucsd.edu/data/amazon/。Amazon Reviews數(shù)據(jù)集的一個樣本示例如圖10所示。
圖10 Amazon Reviews數(shù)據(jù)示例
Sogou news 數(shù)據(jù)集是來自SogouCA和SogouCS新聞?wù)Z料庫總共包含運動、金融、娛樂、汽車和技術(shù)5個類別2909551篇新聞文章構(gòu)成的數(shù)據(jù)集。每個類別分別包含90000個訓練樣本和12000個測試樣本。Sogou news 數(shù)據(jù)集地址為:http://academictorrents.com/details/b2b847b5e1946b0479baa838a0b0547178e5ebe8。NLP領(lǐng)域還有一些像Ag News、Yelp等經(jīng)典數(shù)據(jù)集,這里限于篇幅就不再進行更多的介紹,感興趣的讀者可以自行查閱。往期精彩:
【原創(chuàng)首發(fā)】機器學習公式推導與代碼實現(xiàn)30講.pdf
【原創(chuàng)首發(fā)】深度學習語義分割理論與實戰(zhàn)指南.pdf

喜歡您就點個在看!