翟高粵
摘要:誤差反向傳播算法是適合于深度學(xué)習(xí)中多層神經(jīng)元網(wǎng)絡(luò)的一種學(xué)習(xí)算法,它建立在梯度下降法的基礎(chǔ)上。反向傳播算法主要由兩個環(huán)節(jié)(激勵傳播、權(quán)重更新)反復(fù)循環(huán)迭代,直到網(wǎng)絡(luò)對輸入的響應(yīng)達到預(yù)定的目標(biāo)范圍為止。本論述首先介紹物體檢測和物體識別的概念,然后對圖像檢索系統(tǒng)所涉及的深度學(xué)習(xí)、卷積神經(jīng)網(wǎng)絡(luò)、反向傳播算法、梯度下降和激活函數(shù)等相關(guān)概念進行了介紹。最后在卷積神經(jīng)網(wǎng)絡(luò)中分別采用了ADAGRAD、ADADELTA、ADAM、ADAMAX、NADAM、SGD和RMSPROP等七種優(yōu)化方法對COIL100數(shù)據(jù)集中的72個對象進行訓(xùn)練并得出結(jié)果進行比較分析,結(jié)果表明,Adadel? ta優(yōu)化器在圖像數(shù)據(jù)集上提供了更好識別的結(jié)果。
關(guān)鍵詞:深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);物體識別;反向傳播;人工智能
中圖分類號:TP183文獻標(biāo)識碼:A
0引言
物體檢測是機器人、機器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)和人工智能等技術(shù)的融合。物體檢測人工智能技術(shù)能夠?qū)崿F(xiàn)識別各種形式的物體。通常情況下,由于物體變形、視點變化、光照條件、背景雜波和遮擋等原因,很難做到百分百準(zhǔn)確地識別物體。為了克服這些障礙,從圖像中提取特征并進行多層抽象處理?,F(xiàn)有的機器學(xué)習(xí)算法雖然性能很好,但缺乏對圖像中每個特征進行多層處理和深入分析,從而導(dǎo)致了深度學(xué)習(xí)算法的出現(xiàn)。深度學(xué)習(xí)是一種多層的神經(jīng)網(wǎng)絡(luò)架構(gòu),它根據(jù)數(shù)據(jù)集的特點和性質(zhì),結(jié)合不同的學(xué)習(xí)算法來訓(xùn)練網(wǎng)絡(luò)。
1圖像檢索系統(tǒng)簡介
圖像檢索系統(tǒng)是對圖像進行搜索、瀏覽、模式匹配和檢索的系統(tǒng)。這個系統(tǒng)有兩種工作方式,一種是基于文本,另一種是基于內(nèi)容。在基于文本的圖像檢索系統(tǒng)中,圖像有手工注釋的文本描述,但降低了檢索結(jié)果的準(zhǔn)確性。在基于內(nèi)容的圖像檢索系統(tǒng)中,圖像中的內(nèi)容,如顏色、紋理和形狀都被索引,并利用計算機視覺中的各種技術(shù)自動提取圖像的底層特征。
1.1深度學(xué)習(xí)
深度學(xué)習(xí)是機器學(xué)習(xí)的一個子領(lǐng)域,它在搜索技術(shù),數(shù)據(jù)挖掘,機器學(xué)習(xí),機器翻譯,自然語言處理,多媒體學(xué)習(xí),語音,推薦和個性化技術(shù),以及其他相關(guān)領(lǐng)域都取得了很多成果。深度學(xué)習(xí)使機器模仿視聽和思考等人類的活動,解決了很多復(fù)雜的模式識別難題,使得人工智能相關(guān)技術(shù)取得了很大進步[1]。與現(xiàn)有的機器學(xué)習(xí)算法不同,深度學(xué)習(xí)由一組算法和網(wǎng)絡(luò)架構(gòu)組成,它們在多個層次上協(xié)同工作,在不需要人工干預(yù)的情況下自動提取顯著特征。深度學(xué)習(xí)架構(gòu)還可以根據(jù)需要解決的問題,以監(jiān)督和非監(jiān)督的方式進行訓(xùn)練[2]。
1.2卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種監(jiān)督學(xué)習(xí)的深度學(xué)習(xí)神經(jīng)結(jié)構(gòu)。CNN優(yōu)于所有現(xiàn)有的圖像檢索算法。每個CNN由4層組成,(i)卷積層,(ii)最大池化層,(iii)扁平化層,(iv)全連接層[3]。進行預(yù)處理后的輸入圖像送入CNN神經(jīng)網(wǎng)絡(luò)進行計算后從而得到圖像識別的結(jié)果。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
卷積層:通常使用3*3的特征向量矩陣(filter)對輸入圖像進行卷積,去除最不重要的像素值,并將其余的重要像素存儲在一個特征圖中。這一層通過使用整流函數(shù)消除了圖像中的非線性。
最大池化層:進一步提取圖像中的特征,存儲在池化的特征圖中。
扁平化層:將經(jīng)過池化的特征映射轉(zhuǎn)換為一維向量。
全連接層:根據(jù)分類問題的性質(zhì)為每一層定義一個激活函數(shù)。
目前,卷積神經(jīng)網(wǎng)絡(luò)已被證明在使用反向傳播算法訓(xùn)練時表現(xiàn)良好。
1.3反向傳播
反向傳播需要結(jié)合一種優(yōu)化技術(shù)來進行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,它通常與梯度下降算法結(jié)合進行樣本訓(xùn)練[4]。反向傳播計算某一個點的梯度負(fù)值,經(jīng)過多次迭代優(yōu)化后找到全局最小值。但梯度下降的缺點是,如果數(shù)據(jù)不是均勻分布的,它不能找到全局最小值。為了克服這一問題,可采用隨機梯度下降法。在神經(jīng)網(wǎng)絡(luò)中,每個神經(jīng)元都被賦予隨機的權(quán)值來計算梯度。反向傳播更新這些權(quán)重,以做出最接近預(yù)期輸出的預(yù)測。樣本加權(quán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
反向傳播算法步驟:
(1)計算每個隱藏神經(jīng)元的凈輸入總值
(5)計算影響總誤差的每個權(quán)重的變化
(6)為了減少誤差,從當(dāng)前權(quán)值中減去步驟(5)中得到的值,并可選地乘以某個學(xué)習(xí)率(通常是μ= 0.05)
每次迭代都重復(fù)這些步驟,隨后更新神經(jīng)元的權(quán)重。
1.4梯度下降優(yōu)化技術(shù)
梯度下降優(yōu)化技術(shù)通常分為啟發(fā)式和數(shù)值優(yōu)化技術(shù)[5]。啟發(fā)式方法指人在解決問題時所采取的一種根據(jù)經(jīng)驗規(guī)則進行發(fā)現(xiàn)的方法。其特點是在解決問題時,利用過去的經(jīng)驗,選擇已經(jīng)行之有效的方法,而不是系統(tǒng)地、以確定的步驟去尋求答案。數(shù)值優(yōu)化方法比如一階或二階優(yōu)化算法。一般情況下,參數(shù)“學(xué)習(xí)率”是固定的,很難找到最優(yōu)值。當(dāng)使用啟發(fā)式優(yōu)化技術(shù)時,最優(yōu)學(xué)習(xí)率在訓(xùn)練過程中自適應(yīng)地改變,這提高了算法的性能。在數(shù)值優(yōu)化技術(shù)中,搜索是沿著共軛的方向進行的,這使得收斂速度比最陡下降算法更快。因此,數(shù)值技術(shù)優(yōu)于啟發(fā)式技術(shù)。反之亦然,這取決于數(shù)據(jù)點的分布。
1.5激活函數(shù)
激活函數(shù)的目標(biāo)是將給定的輸入轉(zhuǎn)換為神經(jīng)網(wǎng)絡(luò)定義的可接受的輸出。如果沒有激活函數(shù),神經(jīng)網(wǎng)絡(luò)只能解決線性問題,無法處理復(fù)雜非線性問題。因此,深度學(xué)習(xí),包括激活函數(shù)可以用來處理復(fù)雜的、非線性的、包含多個隱藏層的數(shù)據(jù)集,并有效提取特征。
根據(jù)對每個神經(jīng)元設(shè)置的約束條件,可以為每一層定義不同的激活函數(shù)。盡管有多個激活函數(shù)可以用于處理非線性問題,但使用ReLu和Softmax函數(shù)在圖像檢索系統(tǒng)中表現(xiàn)較好。因為與其他激活函數(shù)相比,Re? Lu具有更好的收斂性。它還較好解決了在深度學(xué)習(xí)多層網(wǎng)絡(luò)中出現(xiàn)的梯度消失和梯度爆炸的問題。另外,Softmax可以很好地處理多類分類問題,并且具有較高的精度。
2數(shù)據(jù)集
本論述用于訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集COIL100是由不同物體在360°旋轉(zhuǎn)中不同角度成像組成的數(shù)據(jù)集,其含有100個物體(每個具有72個姿勢)的128 * 128色彩圖像,以及49152個特征(紅色,綠色和藍色通道中128 * 128像素的值)。
該數(shù)據(jù)集由哥倫比亞大學(xué)圖像庫發(fā)布,通常用于物體識別實驗。部分物體名稱和類別索引見表1所列。
3實驗結(jié)果
在本論述實驗中,使用不同的優(yōu)化技術(shù)在COIL100數(shù)據(jù)集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。該數(shù)據(jù)集按70∶30的比例分為訓(xùn)練數(shù)據(jù)集和驗證數(shù)據(jù)集。該實驗的目的是預(yù)測給定圖像中的對象。輸入層使用的激活函數(shù)為ReLu,輸出層使用的激活函數(shù)為Softmax。Softmax可以對許多物體進行類別預(yù)測。隨著訓(xùn)練數(shù)據(jù)的迭代次數(shù)增加,從訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù)在準(zhǔn)確性上的差距逐漸變小,因此訓(xùn)練是有效的。對網(wǎng)絡(luò)訓(xùn)練完成后,給出一個查詢圖像作為網(wǎng)絡(luò)的輸入,輸出端以獨熱編碼的形式給出查詢結(jié)果。圖像按照輸入神經(jīng)網(wǎng)絡(luò)的順序被自動索引。
優(yōu)化后的神經(jīng)網(wǎng)絡(luò)在不同的背景和角度下能夠準(zhǔn)確地識別目標(biāo)[6]。在不同的學(xué)習(xí)率和不同的優(yōu)化器上重復(fù)實驗,各種優(yōu)化器實驗結(jié)果見表2所列。從表2看出,使用Adagrad優(yōu)化器時,更少的迭代,更快地獲得準(zhǔn)確的結(jié)果。另外,當(dāng)訓(xùn)練數(shù)據(jù)集的精確度和驗證數(shù)據(jù)集的精確度之間的差異降低時,整個網(wǎng)絡(luò)的性能就會提高。
4結(jié)論
數(shù)據(jù)的大量增長和對高效檢索技術(shù)的需要產(chǎn)生了大量的算法和優(yōu)化技術(shù)?;谏疃葘W(xué)習(xí)這一先進的架構(gòu),本論述主要研究了物體識別的深度學(xué)習(xí)技術(shù)。論述中的卷積神經(jīng)網(wǎng)絡(luò)采用反向傳播算法進行訓(xùn)練,并采用不同的啟發(fā)式技術(shù)進行優(yōu)化。結(jié)果證明Adadelta優(yōu)化器在圖像數(shù)據(jù)集上提供了更好識別的結(jié)果。
參考文獻:
[1]陳先昌.基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法與應(yīng)用研究[D].杭州:浙江工商大學(xué),2014.
[2]徐國慶,盧志遠,吳晨輝.基于誤差反向傳播算法的海上拖航風(fēng)險[J].中國海洋平臺,2020,35(4):44-48.
[3]閆濤.深度學(xué)習(xí)算法實踐[M].北京:電子工業(yè)出版社,2020.
[4]范志文,光翠娥,干建平.基于反向傳播人工神經(jīng)網(wǎng)絡(luò)的醬牛肉中金黃色葡萄球菌的生長模型[J].食品與生物技術(shù)學(xué)報,2020,39(7):83-90.
[5]鄧建梅,丁華.基于AHP和BP神經(jīng)網(wǎng)絡(luò)的本科師范生綜合素質(zhì)評價[J].無線互聯(lián)科技,2020,17(12):147-148.
[6]王曉華. TensorFlow 2.0卷積神經(jīng)網(wǎng)絡(luò)實戰(zhàn)[M].北京:清華大學(xué)出版社,2020.