摘要:為了使機(jī)器學(xué)習(xí)更加接近最初的對(duì)象,我們將一種新的研究方向——深度學(xué)習(xí),引入到機(jī)器學(xué)習(xí)當(dāng)中,這個(gè)過(guò)程即為人工智能。深度學(xué)習(xí)可以了解樣本數(shù)據(jù)的內(nèi)部規(guī)律和層次,是一種復(fù)雜的機(jī)器學(xué)習(xí)算法,它可以通過(guò)進(jìn)一步學(xué)習(xí)來(lái)幫助解釋所獲得的信息,如文字、圖像和聲音,其最終目標(biāo)是讓機(jī)器人像人類一樣具有分析和研究的能力。而與Ai的另一個(gè)方向不同,深度學(xué)習(xí)的概念始于人工神經(jīng)網(wǎng)絡(luò)的研究,前者是由if-then規(guī)則去定義的,而后者的基本特征是模仿人體中神經(jīng)元傳遞和傳導(dǎo)的方式。由于深度學(xué)習(xí)的快速發(fā)展,特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN)的發(fā)展,計(jì)算機(jī)視覺(jué)取得了巨大進(jìn)展,CNN已經(jīng)成為了大多數(shù)計(jì)算機(jī)視覺(jué)任務(wù)的中流砥柱。本文旨在通過(guò)講述機(jī)器學(xué)習(xí)背景下的深度學(xué)習(xí)的定義,引入卷積神經(jīng)網(wǎng)絡(luò)這一概念,描述其中的算法,如何工作,結(jié)構(gòu)以及其在現(xiàn)代工程中的應(yīng)用。
關(guān)鍵詞:深度學(xué)習(xí) ;卷積神經(jīng)網(wǎng)絡(luò); 神經(jīng)元
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是入門深度學(xué)習(xí)的基礎(chǔ),它的靈感來(lái)自于大腦。在CNN中,它可以對(duì)未知圖像和標(biāo)準(zhǔn)圖像之間的部分進(jìn)行比較,比較的周期稱為卷積。因此,如果圖像有簡(jiǎn)單的傳輸,CNN也可以識(shí)別圖像。對(duì)于CNN來(lái)說(shuō),這是一個(gè)逐漸比較圖像的情況。這個(gè)被用來(lái)比較的東西叫做特征。每個(gè)特征都是一幅小圖像,可以被看作是二維數(shù)組。在每個(gè)特征中,卷積可以將特征中的每個(gè)元素相乘并相加。例如,這里有3×3元素的原始數(shù)據(jù)和3×3元素的濾波器。通過(guò)對(duì)相應(yīng)位置的卷積,得到新的輸出數(shù)據(jù)。具體來(lái)說(shuō),原始數(shù)據(jù)是輸入的圖像,而濾波器是由一組權(quán)重固定的神經(jīng)元組成的。如果使用不同的濾波器,如陰影和輪廓,研究人員可以得到不同的輸出數(shù)據(jù)。在CNN中,通過(guò)濾波器計(jì)算出當(dāng)前數(shù)據(jù)窗口中的數(shù)據(jù)后,數(shù)據(jù)窗口會(huì)滑動(dòng),直到計(jì)算結(jié)束。由此可見濾波器是局部一個(gè)窗口地在進(jìn)行卷積操作,和人的眼睛一樣,只能一次性看見世界的一部分并從中去提取自己想要的信息,這便是卷積神經(jīng)網(wǎng)絡(luò)的局部感知。在此期間,深度表示神經(jīng)元和過(guò)濾器的數(shù)量。步長(zhǎng)決定窗口可以向邊緣滑動(dòng)多少步。例如, 這里有輸入數(shù)據(jù)5×5×3 ( 5×5代表像素/長(zhǎng)度和寬度, 而3代表R, G, B三種顏色通道 )和兩種不同的濾波器 ( 濾波器w0和濾波器w1 )。隨著窗口的平移滑動(dòng), 濾波器w0和w1對(duì)不同的局部數(shù)據(jù)來(lái)進(jìn)行卷積計(jì)算。最后,通過(guò)w0和w1可以得到不同的輸出數(shù)據(jù),就好比人腦一樣,同樣的信息被不同的人接受,他們所形成的反饋是不同的。通過(guò)以上的例子,我們可以大概了解到卷積層的計(jì)算原理。其中分為三部分,輸入矩陣(四個(gè)維度依次為樣本數(shù)。圖像高度,圖像寬度,圖像通道數(shù)),輸出矩陣(和輸入矩陣一樣也是同樣的四個(gè)維度,但是通常情況下后三個(gè)的尺寸均會(huì)發(fā)生變化),權(quán)重矩陣(也叫卷積核,四個(gè)維度依次是卷積核高度,卷積核寬度,輸入通道數(shù),輸出通道數(shù))。以下是它們之間的計(jì)算公式:
由此可見,輸入矩陣,卷積核和掃描方式一起決定著輸出矩陣的寬度和高度,公式中的填充值是為了數(shù)據(jù)窗口可以在最后滑動(dòng)到最末端,在邊緣補(bǔ)充若干個(gè)0,通俗來(lái)講,填充值的目的在于可以讓總長(zhǎng)完整除以步長(zhǎng)。
在研究CNN如何進(jìn)行增量學(xué)習(xí)時(shí),采用了微調(diào)的方法。在數(shù)據(jù)量較小的情況下,為了避免過(guò)度重合問(wèn)題,該方法能快速將模型收斂到理想狀態(tài)。首先,研究者應(yīng)該準(zhǔn)備和預(yù)處理訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),然后再次用同一層的參數(shù),并對(duì)新層參數(shù)應(yīng)用隨機(jī)初始值。后來(lái)通過(guò)調(diào)整學(xué)習(xí)率和步長(zhǎng)的參數(shù),提高新層的學(xué)習(xí)率,降低重用層的學(xué)習(xí)率。最后,通過(guò)對(duì)最后幾層的參數(shù)進(jìn)行改進(jìn),提高了學(xué)習(xí)率。本質(zhì)上,CNN是一種從輸入到輸出的映射。它可以學(xué)習(xí)大量的輸入和輸出之間的映射關(guān)系,而不是任何輸入和輸出之間的精確數(shù)學(xué)表達(dá)式。因此,如果按照已知的模式訓(xùn)練卷積網(wǎng)絡(luò),網(wǎng)絡(luò)就能具有映射輸入輸出的能力,從而實(shí)現(xiàn)增量學(xué)習(xí)。
卷積神經(jīng)網(wǎng)絡(luò)中有卷積計(jì)算層(主要作用為進(jìn)行特征提?。?,激勵(lì)層,池化層和全連接層。CNN的關(guān)鍵操作如下。首先研究人員應(yīng)該先輸入圖像,然后CNN將實(shí)現(xiàn)卷積運(yùn)算并使用激活函數(shù)。之后,CNN將進(jìn)行池化操作 ( 平均值池化或最大值池化 )。在池化過(guò)程中,一般取特定區(qū)域的平均值或最大值。經(jīng)過(guò)以上步驟,可以得到具有特定特征的圖像。在激活函數(shù)中,Sigmoid函數(shù)是最基本的。它可以使一個(gè)實(shí)數(shù)減少成為0到1之間的值。例如,如果自變量是一個(gè)非常大的正數(shù),函數(shù)的值將趨向于1。為了增加增量學(xué)習(xí),研究者可以應(yīng)用另一種激活函數(shù)ReLU。Sigmoid的缺點(diǎn)是易于飽和和停止梯度轉(zhuǎn)移,而ReLU的優(yōu)點(diǎn)是收斂快、梯度簡(jiǎn)單。
CNN可以應(yīng)用于圖像分類和識(shí)別。在2012年ImageNet競(jìng)賽中,網(wǎng)絡(luò)模型AlexNet因使用改進(jìn)后的CNN,從而獲得冠軍。為了實(shí)現(xiàn)圖像識(shí)別,CNN可能會(huì)用到大量的特征映射,每個(gè)特征映射代表局部感知場(chǎng)的權(quán)值,反映空間結(jié)構(gòu)。因此,CNN可以研究一些關(guān)于空間結(jié)構(gòu)的信息來(lái)識(shí)別圖像。為了提高準(zhǔn)確率,研究者可以增加卷積層、池化層或連接層。此外,研究人員還應(yīng)用了其他激活功能,使用了更多的訓(xùn)練數(shù)據(jù)。CNN的另一個(gè)例子是AlphaGo贏了人類棋手。在AlphaGo中,利用19×19大小的圖像傳遞棋盤位置,訓(xùn)練兩種深度神經(jīng)網(wǎng)絡(luò) ( 策略網(wǎng)絡(luò)和價(jià)值網(wǎng)絡(luò) )。它可以選擇有希望的走法,放棄明顯不好的走法,從而控制所需要的計(jì)算量。從本質(zhì)上講,這與人類玩家所做的是一樣的。同樣,在對(duì)自然災(zāi)害的檢測(cè)和預(yù)報(bào)方面,CNN也發(fā)揮著至關(guān)重要的作用。根據(jù)高分辨率的衛(wèi)星信息中得到的數(shù)據(jù)仍然在估計(jì)降水方面受到限制,而CNN這種先進(jìn)的深度學(xué)習(xí)算法可以適用于此。在2012和2013年夏季,在0.08的空間分辨率和小時(shí)時(shí)間的標(biāo)準(zhǔn)下評(píng)估了該模型的性能。結(jié)果表明,CNN在CSI指數(shù)中高出PERSIANN-CCS和PERSIANN-SADE高出了54%和23%,由此說(shuō)明了它的檢測(cè)性能。此外,根據(jù)國(guó)家環(huán)境預(yù)報(bào)中心第四階段的雷達(dá)數(shù)據(jù),CNN所估計(jì)的降雨量平均方差均小于其他方法,說(shuō)明其超高的估計(jì)精度。
參考文獻(xiàn)
[1]Hou, Xianxu, 2018. An investigation of deep learning for image processing applications? PhD thesis, University of Nottingham.
[2]Sadeghi, M. et al, 2019. PERSIANN-CNN: Precipitation Estimation from Remotely Sensed Information Using Artificial Neural Networks–Convolutional Neural Networks. Journal of hydrometeorology, 20(12), pp.2273–2289.
[3]Pang, Y. et al, 2018. Convolution in Convolution for Network in Network. IEEE transaction on neural networks and learning systems, 29(5), pp.1587–1597.
作者簡(jiǎn)介:張軼涵,生于2001年8月,男,漢族,天津人,本科學(xué)歷,專業(yè)電子電氣工程及其自動(dòng)化(研究方向)