馬澤宇,盧小平
(1.河南理工大學(xué) 測(cè)繪與國(guó)土信息工程學(xué)院,河南 焦作 454003)
多層感知器分類(lèi)技術(shù)能夠滿(mǎn)足各行業(yè)不斷增長(zhǎng)的遙感服務(wù)需求,適用于需要即時(shí)性的居民區(qū)違規(guī)建筑監(jiān)測(cè)、裸土施工暴露監(jiān)測(cè)、洪淹范圍監(jiān)測(cè),農(nóng)作物耕地面積、棄耕面積監(jiān)測(cè)、大型軍事目標(biāo)識(shí)別監(jiān)測(cè)等任務(wù)[1-11]。本文擬采用Sklearn[12]機(jī)器學(xué)習(xí)包中的多層感知器分類(lèi)算法,構(gòu)建多于3 層的多層感知器,對(duì)焦作Landsat/TM影像的標(biāo)注數(shù)據(jù)進(jìn)行學(xué)習(xí)和分類(lèi)。
多層感知器的網(wǎng)絡(luò)結(jié)構(gòu)具有如下3 個(gè)基本特征:①網(wǎng)絡(luò)中每個(gè)神經(jīng)元模型包含一個(gè)非線(xiàn)性激活函數(shù);②網(wǎng)絡(luò)中包含一個(gè)或多個(gè)隱藏在輸入神經(jīng)節(jié)點(diǎn)之間的層(隱藏層);③網(wǎng)絡(luò)展示出高度的連續(xù)性,其強(qiáng)度是由網(wǎng)絡(luò)的突觸權(quán)值決定的。
圖1 表示一個(gè)具有2 個(gè)隱藏層,一個(gè)輸出層的全連接多層感知器的拓?fù)浣Y(jié)構(gòu)圖。其中輸入層具為4 維變量,共3 個(gè)隱藏層,每層有4 個(gè)神經(jīng)元。輸出層具有3 個(gè)神經(jīng)元。每一層的每個(gè)神經(jīng)元接受來(lái)自前一層神經(jīng)元傳遞過(guò)來(lái)的輸入信號(hào),通過(guò)帶權(quán)值的連接進(jìn)行傳遞。神經(jīng)元接收到的加總值將與神經(jīng)元的閾值進(jìn)行比較,然后通過(guò)激活函數(shù)的處理以產(chǎn)生神經(jīng)元的輸出。
圖1 具有③個(gè)隱藏層的全連接多層感知器網(wǎng)絡(luò)結(jié)構(gòu)圖
正向傳播算法:設(shè)神經(jīng)網(wǎng)絡(luò)有nl層,第l層第j個(gè)神經(jīng)元的數(shù)學(xué)模型為:
式中,x(l-1)為前一層(第l-1 層)的輸出向量,也是本層接收的輸入向量;W(l)為本層神經(jīng)元和上一層神經(jīng)元的連接權(quán)重矩陣。設(shè)sl、sl-1 分別是本層、前一層神經(jīng)元數(shù)量,W(l)的每行為本層一個(gè)神經(jīng)元與上一層所有神經(jīng)元的權(quán)重向量;b(l)為本層的閾值(也稱(chēng)偏置向量);f為激活函數(shù),分別作用于輸入向量的每一個(gè)分量,產(chǎn)生輸出。常用的激活函數(shù)有對(duì)稱(chēng)型sigmoid函數(shù)、雙曲正切tanh函數(shù)、冪函數(shù)、修正線(xiàn)性單元ReLU等。
修正線(xiàn)性單元由于具有線(xiàn)性、非飽和性質(zhì),能夠節(jié)約計(jì)算成本,避免梯度爆炸、梯度消失問(wèn)題。對(duì)于隨機(jī)梯度下降算法的收斂有巨大的加速作用,近年來(lái)深層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中普遍采用ReLU作為激活函數(shù)[12]。
以3層網(wǎng)絡(luò)為例,神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的映射如下形式:
反向傳播算法由Rumel[3]等在1986 年提出,假設(shè)有m個(gè)訓(xùn)練樣本(xi,yi),xi為輸入向量,yi為標(biāo)簽向量。訓(xùn)練的目的是最小化樣本標(biāo)簽值與神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值之間的誤差,讓損失函數(shù)的值達(dá)到最小。
損失函數(shù):定義神經(jīng)網(wǎng)絡(luò)的優(yōu)化目標(biāo)。全連接神經(jīng)網(wǎng)絡(luò)一般使用的損失函數(shù)有歐氏距離(二次損失函數(shù)):
以及交叉熵函數(shù)(以二分類(lèi)為例):
損失函數(shù)近十幾年來(lái)相關(guān)的技術(shù)更新有擬合精度的度量新增交叉熵函數(shù),為避免網(wǎng)絡(luò)過(guò)度出現(xiàn)擬合現(xiàn)象,新增正則項(xiàng)以控制懲罰力度。優(yōu)化損失函數(shù)方法引入adam(隨機(jī)梯度優(yōu)化算法)。
網(wǎng)絡(luò)訓(xùn)練:神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí)需要初始化權(quán)重參數(shù),作為梯度下降算法的起始值。學(xué)習(xí)率是梯度下降算法中梯度的系數(shù),它決定著參數(shù)的更新速度。多層感知器首先正向從左向右輸入,逼近函數(shù)的因變量正向傳播,然后優(yōu)化損失函數(shù),誤差反向傳播,反復(fù)迭代。迭代停止條件一般設(shè)置為損失函數(shù)不再下降或達(dá)到最大迭代次數(shù)。圖2 顯示以7 通道影像為例,多層感知器影像分類(lèi)器(MLP)的分類(lèi)流程。
圖2 多層感知器7通道影像分類(lèi)流程示意圖
超參數(shù)調(diào)參:將各個(gè)超參數(shù)取值范圍離散化,組成超參數(shù)網(wǎng)格點(diǎn)集。對(duì)隱藏層層數(shù)的細(xì)分格點(diǎn)集單獨(dú)搜索調(diào)參;或者將MLP隱藏層層數(shù)的細(xì)分格點(diǎn)集,與可能敏感超參數(shù)的粗分格點(diǎn)集組合在一起調(diào)參,確定MLP分類(lèi)器的隱藏層層數(shù),及MLP分類(lèi)器的敏感超參數(shù)。隨后給出敏感超參數(shù)的備選空間,采用半隨機(jī)超參數(shù)優(yōu)化模型搜索方法調(diào)參。
全網(wǎng)格超參數(shù)搜索策略為對(duì)超參數(shù)空間進(jìn)行分割,計(jì)算每一網(wǎng)格點(diǎn)超參數(shù)組合對(duì)應(yīng)的模型精度,擇優(yōu)錄用;半網(wǎng)格超優(yōu)化搜索策略為:初始搜索時(shí),在較小的配對(duì)訓(xùn)練樣本集上,對(duì)所選超參數(shù)的每一格點(diǎn)組合上進(jìn)行模型訓(xùn)練。選擇較優(yōu)超參數(shù)組合后,依次成倍增加訓(xùn)練用的配對(duì)樣本點(diǎn),并進(jìn)一步選擇最優(yōu)模型的超參數(shù)組合直至樣本點(diǎn)增大至極限。調(diào)參的速度較全網(wǎng)格搜索大為增加,精度幾乎不降。
當(dāng)超參數(shù)較多、或者超參數(shù)空間分割較細(xì),模型訓(xùn)練緩慢時(shí),會(huì)導(dǎo)致計(jì)算崩潰。針對(duì)此種情況可以采用半隨機(jī)網(wǎng)格優(yōu)化超參數(shù)組合搜索方法:每個(gè)超參數(shù)組合,對(duì)應(yīng)一個(gè)分類(lèi)器。第一輪迭代,采用較少的訓(xùn)練樣本,全部估計(jì)器參與性能評(píng)估。第二輪迭代,在超參數(shù)的半網(wǎng)格空間中隨機(jī)選取指定數(shù)量的性能最估計(jì)器,并將訓(xùn)練樣本數(shù)量加倍。依次迭代下去,直至全部訓(xùn)練樣本用來(lái)訓(xùn)練估計(jì)器。評(píng)估性能最優(yōu)估計(jì)器,得到超參數(shù)最優(yōu)組合[13-15]。
集成學(xué)習(xí)(ensemble learning)通過(guò)組合多個(gè)學(xué)習(xí)器來(lái)完成學(xué)習(xí)任務(wù),有時(shí)也被稱(chēng)為多分類(lèi)器系統(tǒng)(multi-classifier system)、基于委員會(huì)的學(xué)習(xí)(committee-based learning)等。集成方法通常優(yōu)于最佳的單一模型。特別是當(dāng)單一模型會(huì)產(chǎn)生嚴(yán)重的不同類(lèi)型的錯(cuò)誤時(shí)更是如此。投票分類(lèi)器是一種常用的集成方法,聚合每個(gè)分類(lèi)器的預(yù)測(cè),將得票最多的結(jié)果作為預(yù)測(cè)類(lèi)別[16]。
實(shí)驗(yàn)區(qū)焦作市區(qū)的北面為山脈(青龍峽景區(qū))余三面皆為農(nóng)田,武陟縣位于焦作的東南方向,修武縣則位于焦作市的正東方向,獲嘉縣毗鄰修武縣也位于焦作市的東方,博愛(ài)縣在焦作市的正西方向。實(shí)驗(yàn)采用ENVI 5.3作為數(shù)據(jù)預(yù)處理和后處理軟件。在Python環(huán)境下,利用scikit-kearn建立MLP分類(lèi)器,對(duì)2020-03-19焦作地區(qū)Landsat8影像在進(jìn)行了快速大氣校正后進(jìn)行土地資源利用情況進(jìn)行土地資源分類(lèi),研究少量興趣區(qū)訓(xùn)練得出的MLP分類(lèi)器的精度和訓(xùn)練速度等特性。
Landsat8 一共有10 個(gè)波段,具體參數(shù)見(jiàn)表1??紤]到全色波段與3個(gè)以上波段融合時(shí)效果較差,B9波段不適合用于土地分類(lèi),B10、B11 波段空間分辨率過(guò)低,因此選取表1 中B1-B7 共7 個(gè)波段波段作為研究對(duì)象。
表1 Landsat8影像波段表
興趣區(qū)選取water,crop,bare,forest,mountain, factory,residential road,8 個(gè)種類(lèi),共9 508 個(gè)。除mountain,forest受到地形的限制,選取固定區(qū)域內(nèi)的相應(yīng)點(diǎn),其余五類(lèi)均在保證隨機(jī)性原則的前提下盡量從影像多個(gè)不同的區(qū)域中選取。
所選興趣區(qū)一部分用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練,另一部分用于驗(yàn)證模型學(xué)習(xí)效果,其余部分用于測(cè)試優(yōu)化模型的預(yù)測(cè)精度。
以上為數(shù)據(jù)的預(yù)處理步驟,以下4 個(gè)實(shí)驗(yàn)所建立的神經(jīng)網(wǎng)絡(luò)分類(lèi)器均為多層感知器(MLP)。
將興趣區(qū)在表1 中的前7 個(gè)波段數(shù)據(jù)作為多層感知器的7 維輸入變量,類(lèi)別作為多層感知器的輸出變量。將導(dǎo)入的9 058個(gè)興趣區(qū)數(shù)據(jù)點(diǎn)隨機(jī)拆分,訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)和測(cè)試數(shù)據(jù)的比例為0.7∶0.15∶0.15。
建立多層感知器,對(duì)隱藏層大小,容忍度,學(xué)習(xí)率等超參數(shù)的初始值進(jìn)行定義。導(dǎo)入興趣區(qū)數(shù)據(jù)集,利用網(wǎng)格搜索法搜索MLP 分類(lèi)器合適的隱藏層層數(shù);半網(wǎng)格搜索法搜索敏感超參數(shù)(容忍度,學(xué)習(xí)率的初始值,一階指數(shù)衰減率等);半隨機(jī)網(wǎng)格搜索法搜索優(yōu)化的超參數(shù)組合。得到的最優(yōu)超參數(shù)組合為:隱藏層層數(shù)為7,隨機(jī)種子為5,最優(yōu)求解器為adam方法,訓(xùn)練集,驗(yàn)證集,測(cè)試集的最優(yōu)分割比為0.7∶0.15∶0.15,adam 一階矩向量的指數(shù)衰減率為0.81,初始學(xué)習(xí)率為6.95e-4,容忍度為1e-7。為節(jié)約建模時(shí)間,后面3 個(gè)實(shí)驗(yàn)均使用此超參數(shù)組合。得到精度為94.39%的MLP 分類(lèi)器。該MLP 分類(lèi)器的總訓(xùn)練時(shí)間為3.7 s,最終分類(lèi)結(jié)果如圖3所示。
圖3 實(shí)驗(yàn)I分類(lèi)結(jié)果前后對(duì)比圖
為提高分類(lèi)器的精度,嘗試將地物點(diǎn)的地理方位信息加入到輸入變量中一同訓(xùn)練。
ENVI中可以利用ROI工具保存選取的興趣區(qū)的地理信息,實(shí)驗(yàn)將各點(diǎn)在其像片中的位置和實(shí)際地理位置及經(jīng)緯度加入到輸入數(shù)據(jù)一同訓(xùn)練時(shí),得到精度為100%的分類(lèi)器,該MLP分類(lèi)器的總訓(xùn)練時(shí)間為4.6 s,分類(lèi)結(jié)果如圖4所示。
圖4 實(shí)驗(yàn)II分類(lèi)結(jié)果前后對(duì)比圖
為提高分類(lèi)器對(duì)居民地和道路2 種地物類(lèi)別的區(qū)分能力,嘗試增加道路類(lèi)、居民區(qū)類(lèi)訓(xùn)練樣本并單獨(dú)訓(xùn)練二分類(lèi)MLP分類(lèi)器,區(qū)分道路和居民區(qū)的子分類(lèi)器2種方法以提高的相應(yīng)性能。
訓(xùn)練兩步分類(lèi)器時(shí),先將居民區(qū)(residential)、道路(road)歸為一類(lèi),訓(xùn)練第一個(gè)MLP 分類(lèi)器。居民區(qū),道路在該分類(lèi)器內(nèi)統(tǒng)一歸為其他類(lèi)。
使用新增的居民區(qū)的興趣區(qū)樣本(新增2 626個(gè))和道路的樣本(新增775 個(gè),從圖像中的各個(gè)地區(qū)隨機(jī)選?。﹩为?dú)訓(xùn)練第二個(gè)分類(lèi)器。然后將2 個(gè)分類(lèi)器的結(jié)果組合出最終結(jié)果。結(jié)果顯示兩步分類(lèi)器識(shí)別出的城區(qū)、道路兩類(lèi)的地物點(diǎn)總量明顯增加,兩步分類(lèi)器精度有所上升。
實(shí)驗(yàn)結(jié)果中第一個(gè)分類(lèi)器的預(yù)測(cè)精度達(dá)到98.12%,第二個(gè)分類(lèi)器細(xì)化調(diào)參前的預(yù)測(cè)精度為82.36%,細(xì)化調(diào)參后的預(yù)測(cè)精度達(dá)到86.95%。兩步MLP 分類(lèi)器的總訓(xùn)練時(shí)間為3.56 s。將分類(lèi)結(jié)果導(dǎo)入的ENVI中顯示,結(jié)果如圖5所示。
圖5 實(shí)驗(yàn)III分類(lèi)結(jié)果前后對(duì)比圖
嘗試設(shè)計(jì)一種將道路敏感分類(lèi)器,居民區(qū)敏感分類(lèi)器和道路居民區(qū)相似敏感分類(lèi)器進(jìn)行統(tǒng)籌決策的投票器,以得到更精確的分類(lèi)結(jié)果。
將新選取的興趣區(qū)分批次加入輸入數(shù)據(jù)集:?jiǎn)为?dú)將實(shí)驗(yàn)III新增的道路類(lèi)興趣區(qū)加入到輸入數(shù)據(jù)集進(jìn)行訓(xùn)練,得到道路類(lèi)地物敏感的MLP分類(lèi)器。單獨(dú)將實(shí)驗(yàn)III新增的居民區(qū)類(lèi)興趣區(qū)加入到輸入數(shù)據(jù)集進(jìn)行訓(xùn)練,得到道路分類(lèi)敏感的MLP 分類(lèi)器。將實(shí)驗(yàn)III 中全部的新增興趣區(qū)加入到輸入變量進(jìn)項(xiàng)訓(xùn)練,得到兩者兼顧的MLP分類(lèi)器。
三者同時(shí)對(duì)圖像進(jìn)行分類(lèi)后,建立硬投票策略(少數(shù)服從多數(shù))的投票決策器,對(duì)3個(gè)分類(lèi)器的結(jié)果綜合考慮,得出最終分類(lèi)結(jié)果。
訓(xùn)練后得到的道路敏感的分類(lèi)器分類(lèi)精度為96.90%,居民區(qū)敏感的分類(lèi)器的分類(lèi)精度為96.44%,道路居民區(qū)敏感度相似的分類(lèi)器分類(lèi)精度為96.61%。3個(gè)分類(lèi)器總訓(xùn)練時(shí)間為10.88 s,分類(lèi)結(jié)果如圖6所示。
圖6 實(shí)驗(yàn)IV分類(lèi)結(jié)果前后對(duì)比圖
選取精度檢驗(yàn)專(zhuān)用的興趣點(diǎn),計(jì)算各個(gè)分類(lèi)器的整體精度和kappa 系數(shù)。并使用其他常見(jiàn)監(jiān)督分類(lèi)算法,使用與實(shí)驗(yàn)相同的興趣點(diǎn)進(jìn)行訓(xùn)練和分類(lèi)。實(shí)驗(yàn)的分析階段對(duì)各個(gè)算法進(jìn)行比較。
各個(gè)分類(lèi)器與其他流行的算法得出的結(jié)果的整體精度和kappa系數(shù)如表2所示。
表2 各分類(lèi)器的精度與kappa系數(shù)
實(shí)驗(yàn)一得到的MLP分類(lèi)器具有較高的精度和較快的訓(xùn)練速度。分類(lèi)結(jié)果與原圖像對(duì)比,道路和居民區(qū)兩類(lèi)地物之間有較大混淆。農(nóng)村地區(qū)的鄉(xiāng)道多被識(shí)別為居民地或是耕地,一些地區(qū)的居民區(qū)區(qū)域被分為道路,盤(pán)山公路多被識(shí)別為居民區(qū)。
實(shí)驗(yàn)二得到的13 通道MLP 分類(lèi)器雖然在測(cè)試集上預(yù)測(cè)精度非常高,但對(duì)影像的分類(lèi)結(jié)果與原影像對(duì)比具有明顯的錯(cuò)誤。分析認(rèn)為這種現(xiàn)象是受到與地物類(lèi)別無(wú)關(guān)的地理位置信息的影響導(dǎo)致的。
實(shí)驗(yàn)三單獨(dú)訓(xùn)練子分類(lèi)器以便細(xì)分超參數(shù)搜索格點(diǎn),增大搜索范圍,有助于尋找更優(yōu)的超參數(shù)組合。實(shí)驗(yàn)得到的兩步MLP分類(lèi)器的分類(lèi)結(jié)果與實(shí)驗(yàn)一的結(jié)果相近,沒(méi)有明顯的提升。分析認(rèn)為分類(lèi)結(jié)果的質(zhì)量與投入的計(jì)算資源呈弱正相關(guān)。該兩步分類(lèi)器對(duì)居民區(qū)更為敏感,部分道路類(lèi)地物被誤分為居民區(qū)。
實(shí)驗(yàn)四得到的集成MLP分類(lèi)器通過(guò)簡(jiǎn)單的決策方式將3種地物識(shí)別敏感方向不同的MLP分類(lèi)器集成學(xué)習(xí),分類(lèi)結(jié)果明顯優(yōu)于實(shí)驗(yàn)一。焦作的居民區(qū)類(lèi)地物分辨良好,基本無(wú)誤分,市區(qū)內(nèi)南部主干道輪廓明顯,北部較寬街道可見(jiàn)輪廓,耕地地區(qū)的小路相較之前的分類(lèi)器清晰可見(jiàn)其輪廓,盤(pán)山公路識(shí)別效果有所提升但仍不理想。
最大似然和最小馬氏距離是較為成熟的分類(lèi)算法,其算法簡(jiǎn)單,易于實(shí)現(xiàn)。但高度依賴(lài)興趣區(qū)的選取,且精度較低,2種算法的分類(lèi)結(jié)果均有明顯誤差。
隨機(jī)森林的分類(lèi)方法有著快速,高精度的特點(diǎn)。實(shí)驗(yàn)結(jié)果表明,訓(xùn)練用興趣區(qū)附近的分類(lèi)效果較好,而其他地區(qū)的分類(lèi)效果較差。支持向量機(jī)的分類(lèi)方法具有較強(qiáng)的泛化能力,但是用SVM 解決多分類(lèi)問(wèn)題存在困難。從實(shí)驗(yàn)結(jié)果來(lái)看,支持向量機(jī)在分辨難度較高的居民區(qū)類(lèi)和道路類(lèi)地物的分辨中產(chǎn)生了較多的誤差。
綜上4 個(gè)實(shí)驗(yàn)可以得出結(jié)論:較高精度的分類(lèi)器會(huì)由于興趣區(qū)選擇的局限性而使其分類(lèi)結(jié)果與目視解譯結(jié)果具有較大差異。地物的地理信息與地物類(lèi)別無(wú)關(guān),興趣區(qū)的增加、提高超參數(shù)搜索網(wǎng)格的精度均可以提高分類(lèi)器的精度,集成學(xué)習(xí)則可以綜合敏感方向不同的分類(lèi)器的優(yōu)點(diǎn),得到較為理想的分類(lèi)結(jié)果。
多層感知器分類(lèi)器作為小型的深度神經(jīng)網(wǎng)絡(luò),具有快速、簡(jiǎn)單的特點(diǎn)。通過(guò)研究興趣區(qū)的數(shù)量、地物地理方位信息、集成學(xué)習(xí)對(duì)多層感知器分類(lèi)精度的影響,得到在犧牲一定計(jì)算速度的情況下,分類(lèi)效果良好,綜合道路敏感、居民區(qū)敏感和居民區(qū)道路相似敏感分類(lèi)器優(yōu)勢(shì)的集成多層感知器?,F(xiàn)階段的MLP分類(lèi)器具有需要人工選擇區(qū)域內(nèi)興趣區(qū)的局限性,需進(jìn)一步優(yōu)化。