卷積神經網絡如何進行圖像識別?
可以看出,這是一個比較有資深互聯網技術的問題!需要對一些專業知識做出特別的解釋。
首先,我們要了解什么是卷積神經網絡?下面是我在網上搜索整理的一些粗淺的知識!
卷積神經網絡(Convolutional Neural Networks, CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡(Feedforward Neural Networks),是深度學習(deep learning)的代表算法之一。卷積神經網絡具有表征學習(representation learning)能力,能夠按其階層結構對輸入信息進行平移不變分類(shift-invariant classification),因此也被稱為“平移不變人工神經網絡。具體解釋可自行搜索。
那么卷積神經網絡又是怎么實現圖像識別的呢?他有幾個步奏。
1、圖像識別數據收集
MNIST手寫體識別數據集解決是一個相對簡單的問題,而對于更加復雜的類別,可以用到CIFAR數據集。比如CIFAR10數據集收集了來自10個不同種類的6萬張圖片,每張圖片像素為32x32,如下圖CIFAR10數據集與MNIST相似之處在于,其每張圖片大小都是一定的,每張圖片中都只包含一個類別。區別在于CIFAR10中的圖片都是彩色的,而且分類難度也比MNIST高,人工標注的正確率約為94%。
在現實生活中,圖片的格式不一定都是恒定的,類別也遠超出10種,每張圖片也會包含多個元素,因此需要有更強大的數據集。由斯坦福大學的李飛飛開發的ImageNet,有近1500萬張圖片,關聯了大概20000個類別。
ImageNet每年都會舉辦圖像識別競賽ILSVRC(現已停辦),每年的比賽都提供不同的數據集。下圖給出不同算法在ImageNet圖像分類上的top-5正確率,ton-N表示算法給出的前N個答案中有一個是正確的,2013年之后基本上所有的研究都集中在卷積神經網絡上。
2、卷積神經網絡介入
深度神經網絡有多種,主要有全連接層神經網絡,卷積神經網絡和循環神經網絡。其中全連接層神經網絡之前已有介紹,其相鄰層的節點之間都會相連。循環神經網絡將會在后續的章節介紹,以下簡單說一下卷積神經網絡。上圖是卷積神經網絡的架構圖,輸入的圖片一般會經過多個卷積層和池化層后,再接上數個全連接層后,通過softmax輸出結果。
以上大概就是卷積神經網絡識別圖像的大概流程,希望有所幫助!