隨著AI的突破持續(xù)吸引公眾注意,人們開始不加區(qū)別地使用“人工智能”、“機器學習”、“深度學習”等術語。然而,了解這些術語的區(qū)別,有助于把握AI技術的發(fā)展趨勢。
人工智能同心圓
我們可以把這三個術語想象成三個同心圓,其中人工智能包含了機器學習,機器學習又包含了深度學習。
簡單來說,有一些任務,傳統(tǒng)上認為需要通過人類認知活動才能完成,開發(fā)執(zhí)行這些任務的計算機系統(tǒng),即為人工智能。
而機器學習則是創(chuàng)建從大規(guī)模數(shù)據(jù)集中學習模式,并提供洞見的系統(tǒng)。機器學習本身可以分為三大類:
監(jiān)督學習(supervised learning),理解一組數(shù)據(jù)點和標簽之間的關系,并在未標注的數(shù)據(jù)點上給出預測。例如,分類是否會出現(xiàn)不良貸款,預測未來股價。
無監(jiān)督學習(unsupervised learning)則直接基于數(shù)據(jù)集的相似特征識別有意義的模式。例如,根據(jù)購物行為的相似程度聚類消費者。
強化學習(reinforcement learning)讓智能體在定義良好的環(huán)境中選擇可能的行動,并最大化目標函數(shù)(獎勵)。我們可以把自動駕駛看成一個強化學習問題,在公路上(環(huán)境)自動行駛的汽車(智能體),最大化其目標——不要出事故(獎勵)。
最后,深度學習是一種機器學習技術,該技術利用大規(guī)模數(shù)據(jù)和多層神經(jīng)網(wǎng)絡以理解數(shù)據(jù)集的模式。最近在計算機視覺和語音識別等領域的AI突破都是由深度學習研究以及算力的日常商品化驅動的。
什么是卷積神經(jīng)網(wǎng)絡?
深度學習有眾多架構和技術,以適應不同的使用場景,其中一種主要的架構和技術是卷積神經(jīng)網(wǎng)絡。卷積神經(jīng)網(wǎng)絡,受到哺乳動物視覺腦皮層方面的研究的啟發(fā),參考了哺乳動物使用不同層次的神經(jīng)元感知世界的方式??梢詫⑦@一模型想象成視覺皮層的模型,專門設計的不同神經(jīng)元組識別不同的形狀。每個神經(jīng)元組看到相應目標后激活,并和其他神經(jīng)元組互相交流,以發(fā)展出感知目標的總體理解。
這一系統(tǒng)可以解釋為分層的神經(jīng)元組,檢測輸入刺激的低層特性,并互相交流,以發(fā)展對目標的高層檢測。
第一組神經(jīng)元結構識別低層特征(例如,臉部的輪廓)
第二組神經(jīng)元結構識別顏色和形狀(例如,膚色和頜骨轉角)
第三組神經(jīng)元結構識別細節(jié)(例如,耳朵、鼻子、眼睛)
第四組神經(jīng)元結構整體識別整個目標(例如,臉部和對應之人)
簡單來說,看到給定目標后,系統(tǒng)中的不同神經(jīng)元組因目標的不同方面而激活,并互相交流以形成整體圖景。
Yann Lecun從這一視覺腦皮層的層次模型中汲取了靈感,研發(fā)了卷積神經(jīng)網(wǎng)絡:
局部連接:每層共享一個連接,以互相傳遞所學特征。
層次結構:在不同網(wǎng)絡層之間有一個很明顯的層次結構——從低層特征(例如,鼻子,眼睛)到高層特征(臉部、具體的人)。
空間不變性:模型可以適應輸入的平移等變換,仍然能夠完成識別。(人類能夠識別顛倒或經(jīng)過其他變換的圖像。)
因此,卷積神經(jīng)網(wǎng)絡的架構如下圖所示:
典型的卷積神經(jīng)網(wǎng)絡架構
其中,輸入數(shù)據(jù)為四維矩陣(樣本數(shù)字,高,寬,頻道)。其中頻道對應色彩,彩圖有3個頻道(R、G、B),而灰度圖像只有1個頻道。
輸入數(shù)據(jù)將連接到一個隱藏層(卷積層),應用多個任意尺寸(通常為3x3或5x5)的過濾器至圖像。可以將過濾器想象為一個大小為3x3(或5x5)的小手電,照在輸入圖像上,嘗試提取特征映射?;谔卣饔成?,算法可以理解數(shù)據(jù)中的局部特征(眼、耳……),不管其位置如何(平移不變性)。如下圖所示:
池化是一個降采樣操作,通過應用任意尺寸(步長)的窗口,在窗口中根據(jù)用戶指定,提取和、最大值、平均值,以降低提取的特征映射的維度。在下面的示意圖中,我們使用的是最大池化,在特征映射的2x2窗口中提取最大值。這一技術有助于在保留信息的前提下降低維度。
最后是傳統(tǒng)的全連接層,對卷積習得的表示進行softmax操作,并輸出預測。簡單來說,全連接層包含觀察到特定模式后會“點亮”的節(jié)點。
從直覺上說,卷積神經(jīng)網(wǎng)絡將圖像作為輸入,嘗試使用一系列數(shù)學運算(卷積、池化)辨認不同的小特征(局部連接),不管其位置如何(空間不變性),以理解整個圖像的內(nèi)容。這些數(shù)學運算牽涉到建模圖像為一系列數(shù)字,其中每個數(shù)字表示像素亮度(假設輸入為灰度圖像)。
實例
我們的數(shù)據(jù)集是72x72網(wǎng)格中的一組幾何圖形(三角形、圓形、矩形)。由于這些是灰度圖像,因此它們只有一個頻道。下面是一些樣本:
我們將使用python的Keras包實現(xiàn)一個卷積神經(jīng)網(wǎng)絡,該網(wǎng)絡在分類這些形狀時可以達到98%精確度。
導入依賴:
import numpy as np
import keras
from keras importSequential, optimizers
from keras.layers importDense, Activation
from keras.callbacks importEarlyStopping
from sklearn.metrics import confusion_matrix, accuracy_score
from keras.layers importConv2D, MaxPooling2D, Flatten, Dropout
from keras.utils import np_utils
生成訓練數(shù)據(jù)集和測試數(shù)據(jù)集:
[X_train, Y_train] = generate_dataset_classification(1000, 20, True)
[X_test, Y_test] = generate_test_set_classification()
根據(jù)keras的要求轉換標簽至類別矩陣,并重整訓練集中圖像的形狀:
Y_train = keras.utils.to_categorical(Y_train, 3)
X_train = X_train.reshape(1000,72,72,1)
構建模型:
conv_model = Sequential()
conv_model.add(Conv2D(16, (5,5), activation = 'relu', input_shape = (72,72,1)))
conv_model.add(MaxPooling2D((2,2)))
conv_model.add(Conv2D(16, (5,5), activation = 'relu'))
conv_model.add(MaxPooling2D((2,2)))
conv_model.add(Conv2D(16, (5,5), activation = 'relu'))
conv_model.add(MaxPooling2D((2,2)))
conv_model.add(Flatten())
conv_model.add(Dense(3, activation = 'sigmoid'))
編譯、訓練模型:
conv_model.compile(optimizer = 'Adam', loss = 'categorical_crossentropy')
conv_model.fit(X_train, Y_train, validation_split = 0.3, epochs = 100, batch_size = 32)
重整測試集數(shù)據(jù)的形狀,在測試集上進行預測,并評估精確度:
X_test = X_test.reshape(300,72,72,1)
predictions = conv_model.predict_classes(X_test)
print("精確度評分為 {} %".format(accuracy_score(Y_test, predictions) * 100))
結果:
精確度評分為 97.33333333333334 %
結語
卷積神經(jīng)網(wǎng)絡代表了圖像識別中的重大突破。卷積神經(jīng)網(wǎng)絡在自動駕駛汽車,人臉識別系統(tǒng),醫(yī)學診斷等場景都有廣泛應用。然而,值得注意的是,卷積神經(jīng)網(wǎng)絡仍有提升的空間,而卷積網(wǎng)絡的適用領域也出現(xiàn)了一些新技術,比如膠囊網(wǎng)絡。
-
人工智能
+關注
關注
1806文章
49008瀏覽量
249306 -
卷積神經(jīng)網(wǎng)絡
關注
4文章
369瀏覽量
12298
原文標題:卷積網(wǎng)絡背后的直覺
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄

卷積神經(jīng)網(wǎng)絡如何監(jiān)測皮帶堵料情況 #人工智能
BP神經(jīng)網(wǎng)絡與卷積神經(jīng)網(wǎng)絡的比較
什么是BP神經(jīng)網(wǎng)絡的反向傳播算法
BP神經(jīng)網(wǎng)絡與深度學習的關系
人工神經(jīng)網(wǎng)絡的原理和多種神經(jīng)網(wǎng)絡架構方法

卷積神經(jīng)網(wǎng)絡的實現(xiàn)工具與框架
卷積神經(jīng)網(wǎng)絡的參數(shù)調(diào)整方法
卷積神經(jīng)網(wǎng)絡在自然語言處理中的應用
卷積神經(jīng)網(wǎng)絡與傳統(tǒng)神經(jīng)網(wǎng)絡的比較
深度學習中的卷積神經(jīng)網(wǎng)絡模型
卷積神經(jīng)網(wǎng)絡的基本原理與算法
RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡的區(qū)別
Moku人工神經(jīng)網(wǎng)絡101

評論