劉子巍,駱 曦,李 克,陳富強
(北京聯合大學智慧城市學院,北京 100101)
隨著深度學習技術的快速發展,其在人臉識別、機器翻譯、自然語言理解、業務管理等領域得到了廣泛的應用[1-3]。以卷積神經網 絡(Convolutional Neural Network,CNN)為代表的深度學習模型主要面向圖像[4-5]、視頻[6]、語音[7]等數據類型,數據樣本的基本特征是均勻致密采樣、各屬性項性質相同的歐氏域數據,此處稱之為均勻同質歐氏數據。
卷積神經網絡在圖像識別等領域得到有效應用,其中一個重要原因在于其能從輸入數據中學習出數據的空間結構特征,即如果一個輸入變量與其相鄰的輸入變量之間的關系比與距其較遠的輸入變量之間的關系更密切,則可認為這樣的數據具有空間結構特征。例如在圖像識別中,構成圖像某個局部要素(如眼睛)的臨近像素點之間的相關性比間隔較遠的像素之間相關性更大。因此,可以借助CNN卷積窗的迭代訓練來提取這種特征。
除了上述數據之外,在實際應用中還有一大類數據并不具備上述特征,如氣象監測數據、用戶購物記錄以及各類工業企業經營過程中大量產生并留存的業務數據。這類數據通常以二維表的形式存儲,表頭為各樣本的屬性項,通常稱之為結構化數據。此類數據各屬性項的含義、數據類型、取值范圍通常有很大區別,具有異質特性,且各樣本是在整個高維屬性空間中通過非均勻、稀疏采樣獲得的,但在多數應用中仍可以用歐氏距離來描述樣本間的相似性特征,此處稱之為非均勻異質歐氏空間數據。在深度學習興起之前,對這類數據的分析預測通常采用以k近鄰(k-Nearest Neighbor,kNN)、決策樹、支持向量機(Support Vector Machine,SVM)等為代表的傳統機器學習算法。
由于深度學習具有上述優良性質和性能,探索如何將深度學習技術應用于非均勻異質歐氏空間數據和相關場景中的任務是一個具有挑戰性且有意義的問題,有助于擴展深度學習的應用領域。目前,已有研究者開展了這方面的嘗試,提出了雷達圖[8-9]、應用不規則卷積核或可變性卷積核[10-12]、將分類不平衡的數據應用在卷積神經網絡[13-15]等方法。
面向異質、非均勻稀疏采樣結構化數據集的預測任務,本文提出一種基于k 近鄰的超球卷積神經網絡學習方法。給出一個樸素的假設,即2 個樣本在屬性空間中的距離與其標記的相似性高度相關。在此基礎上,利用kNN 算法預處理實現異質數據的同質化改造以及鄰域樣本標記的空間分布特征構造,同時設計多尺度的超球卷積核,從而有效提取目標樣本的鄰域標記空間分布特征。
在各個領域中,最常見的數據是圖片、視頻等均勻采樣的歐氏空間數據。在均勻歐氏空間數據集中,樣本間可以通過一組相同維度屬性,由歐氏距離表示樣本間和樣本內各采樣點間的相似性,樣本各個維度的屬性具有同質特性。在非均勻歐氏空間數據集中,同樣是根據樣本間一組相同維度屬性構成的歐氏距離表示樣本間的相關性,但樣本內部屬性與屬性之間卻通常是異質的。
由圖1 可以看出,在屬性空間中,可以用歐氏距離來衡量樣本間的相似性,但樣本的空間分布為稀疏、非均勻采樣的,這樣的數據集通常不能滿足kNN 算法所要求的密采樣假設。圖2 所示的圖像是典型的均勻歐氏空間數據,樣本中各像素采樣點之間具有等距、致密的空間結構特征,更便于利用卷積操作和神經網絡迭代提取局部特征。

圖1 非均勻歐氏空間數據特性Fig.1 Characteristics of non-uniform Euclidean domain data

圖2 均勻歐氏空間數據示例Fig.2 Example of uniform Euclidean domain data
對于非均勻異質歐氏空間數據,多采用傳統的機器學習方法進行處理。基于局部不變性先驗和密采樣假設的kNN 算法對多數數據集簡單有效。為了將kNN 擴展到可處理多標記問題,文獻[16]提出了ML-kNN 算法。與kNN 核心思想一致,該算法也是通過尋找一定數量的相似樣本來判斷測試樣本標記,但與kNN 不同的是,ML-kNN 通過最大化后驗概率的方式推理待測樣本的標記項,在處理二分類問題時取得了不錯的效果。然而,kNN 算法在復雜分類邊界情況下對于邊界附近標記高度混淆樣本的分類能力較差,尤其對高度不平衡數據,因為其簡單的鄰域投票機制無法捕捉稀疏正例樣本的鄰域空間分布特征,而由文獻[17]提出的SVM 算法在解決線性可分的二分類問題時獲得了較好的效果。
深度學習在均勻歐氏空間數據集的應用中相對于傳統機器學習具有明顯優勢。卷積神經網絡由于其特有的平移不變性,在圖像識別、語義分割等領域得到廣泛應用。文獻[18]提出的GoogLeNet 摒棄了傳統單純依靠層數堆積來增加模型深度的方法,而是利用inception 模塊在增加模型深度與寬度的同時盡可能減少計算量。在此之后,文獻[19]提出的inception-v4 架構將GoogLeNet 中 的inception-v1 架構與殘差連接結合,進一步提升了inception 架構的穩定性。
鑒于以CNN 為代表的深度學習在同質均勻采樣數據上的優異表現,研究者也圍繞如何將這類方法應用于異質數據集展開了研究,這其中最直接的思路是先將異質屬性數據進行同質化改造,以適應深度神經網絡各層的處理。對此,一種方法是先利用全連接操作將異質屬性值轉化為同質化的神經元輸入,再對神經元進行卷積池化等操作,最后利用Softmax 分類器進行分類預測[20],稱之為全連接CNN(Fully Connected CNN,FC-CNN)。FC-CNN 適用領域較廣,并且能夠得到較好的分類預測效果。文獻[8]提出一種基于雷達圖表示數值型數據的卷積神經網絡分類方法,利用CNN 在圖像數據處理領域的優勢,先對數值型數據樣本進行標準化操作,再將標準化后的N維屬性映射到N邊形雷達圖中,實現異質結構數據向同質結構數據的轉化,最后將雷達圖數據作為圖像數據輸入到常規的CNN 模型中進行分類預測。該方法在化工過程數據集中取得了較好的故障分類結果。文獻[4]利用CNN 算法進行心臟病預測,先通過詞嵌入方法將非結構化數據轉換成向量,再輸入CNN 模型中進行訓練和預測,取得了較好的效果。
在CNN 模型中,卷積核的設計和網絡模型的構造是影響分類預測效果的關鍵部分,其中卷積核的設計尤為重要。為了完成特定的學習任務,可以采用不同的卷積核以及卷積方式來提取感受野的數據特征。以圖像識別為例,卷積層的卷積核具有良好的平移不變性,即卷積核僅對特定的特征才會有較大激活值。無論上層特征圖中的某一特征平移到何處,卷積核都會在該特征處呈現較大的激活值,目前最常用的方法是矩形卷積窗。為了在擴大感受野的同時減少參數降低計算量,文獻[21]提出了空洞卷積,使深層的卷積神經網絡在擴大感受野的同時減少了參數數量,以這一方法代替傳統增加感受野進行降采樣而導致丟失分辨率的方法。文獻[22]提出轉置卷積這一概念,通過轉置卷積使網絡模型最優化地進行上采樣,并且還可用于可視化卷積的過程。該方法在GAN 等領域中得到大量應用。
卷積神經網絡對于輸入信息有嚴格要求,多是規則的矩形排列。文獻[10]提出不規則卷積神經網絡,將形狀與參數與卷積核參數融合,一同在反向傳播的過程中更新參數,以此更好地提取貼合待測目標形狀的特征信息。該方法在語義分割數據集上獲得了較好的效果。
在面向異質非均勻數據的分類預測任務中采用卷積神經網絡方法時,一個重要的問題是如何合理設計卷積核以有效提取樣本在高維屬性空間中鄰域樣本標記的空間分布特征,本文將對此進行研究。
異質非均勻數據中各個屬性往往具有不同的衡量標準,為了消除各個指標之間的量綱影響,需要先進行數據標準化解決數據指標之間的可比性問題。本文利用min-max 標準化方法對所有屬性維度進行歸一化處理,如式(1)所示:

其中:x*為標準化后的屬性值;x為原屬性值;xmin和xmax分別為該屬性的最小值和最大值。通過歸一化過程,可確保后續鄰域標記特征提取與鄰域標記樣本集構建的準確性。
鄰域標記項特征提取的核心思想是利用kNN 的近鄰搜索尋找鄰域樣本標記,即對待測樣本在訓練集特征空間中根據歐氏距離尋找一定數量的鄰域樣本,構成鄰域樣本集,其中,待測樣本的標記取為鄰域樣本集中占比最大的標記值。kNN 算法簡單有效,在處理很多分類問題上性能優異,且對噪聲不敏感,但是kNN 算法在一些特定條件下效果并不好,如在鄰域數據集標記項分布較均衡時預測效果就很不理想。為了定量描述近鄰樣本標記的混淆程度,定義混淆系數為:

其中:n為待測樣本的同標記近鄰數;k為總近鄰數;Cf∈[ 0,1] 。當近鄰中正負例樣本數相同時,Cf=0,表示完全混淆;當近鄰全部為正例或負例時,Cf=1,表示無混淆。以北京市空氣質量監測采樣數據集[16]為例,采用kNN 算法進行預測(取k=15),kNN 對于同標記數相同近鄰數不同的待測樣本的預測準確率如圖3所示。可以看出,當混淆系數小于0.3 時,kNN 預測性能明顯變差,將此類樣本定義為重度混淆樣本,對于這類樣本,很難利用kNN 實現準確預測。類似地,將混淆系數在0.3~0.6 之間的樣本定義為中度混淆樣本,而將混淆系數大于0.6的定義為輕度混淆樣本,對于輕度混淆樣本,可以利用kNN 實現準確預測。

圖3 不同近鄰混淆條件下的kNN 性能差異Fig.3 Performance difference of kNN under different neighbor confusion conditions
然而,kNN 僅利用了鄰域樣本標記的統計特征而忽略了其空間結構特征。因此,本文利用鄰域樣本標記項構成的鄰域標記樣本集所包含的空間結構信息,并且將數據集的屬性描述由異質轉變為同質,從而更好地利用CNN 在處理數據的空間平移不變性特征上的優勢。首先定義鄰域標記樣本如下:
定義1鄰域標記樣本
已知d維樣本集D={(xi,yi)|1 ≤i≤m},yi∈Y={1,-1},設Dik={(xik,yik,dik)| 1 ≤k≤K}為中心樣本xi在屬性空間中前k個鄰域樣本的屬性、標記及其到該中心樣本的距離信息集合,各樣本按距離排序即dik≤dil(1 ≤k<l≤K)。定義K維鄰域標記樣本集D*={(xi,yi|1≤i≤m},其中鄰域標記樣本為Xi=(yi1,yi2,…,yiK),dik≤dil(1≤k<l≤K)。
本文將鄰域標記樣本集所包含的豐富的標記空間結構特征信息輸入卷積神經網絡模型進行分類預測,利用鄰域標記樣本集增加后續卷積操作的特征輸入信息。圖4 為鄰域標記樣本集D*示例,其中第1 列為中心樣本的標記yi,第2 列為距中心樣本最近的鄰域樣本的標記yi1(1 ≤i≤m),第2列至最后一列根據歐氏距離升序排列,依次類推,顏色越深表示距中心樣本越近。

圖4 鄰域標記樣本集示例Fig.4 Example of neighborhood label sample set
由于鄰域樣本對待測樣本的影響通常隨距離增大而減小,為了盡可能捕捉不同感受野范圍內的鄰域標記空間分布特征,本文對鄰域標記樣本集進行劃分,使用不同尺度的鄰域標記樣本數作為CNN 模型的訓練輸入樣本,在彌補kNN 對單一k值選擇局限性的同時,增加CNN 模型輸入樣本規模和魯棒性。圖5 為鄰域標記樣本的鄰域尺度示例(彩色效果見《計算機工程》官網HTML 版)。可以看出,在原始高維屬性空間中,所有鄰域樣本根據與中心樣本間的歐氏距離進行排列并且分布在中心樣本附近,圖中給出了2 個不同鄰域尺度(4 和9)下鄰域樣本在原始屬性空間的分布和標記值,分別對應圖中的黑色和藍色球形區域。依此類推,可以提取更多尺度的鄰域樣本信息,構造出對應的鄰域標記樣本集作為CNN 模型的輸入數據。

圖5 鄰域標記樣本的鄰域尺度Fig.5 Neighborhood scale of neighborhood label samples
給出超球卷積定義如下:
定義2超球卷積
對于樣本集D及其鄰域標記樣本集D*∈RK,定義一個尺度為k(1 <k≤K) 的1D 卷積核W(k)=作為對樣本特征空間中各中心樣本xi的一個超球卷積,即:

超球卷積是在d維特征空間中對中心樣本xi的k個鄰域樣本的標記值進行的卷積操作,具有模型簡單、計算量小的優勢,具體實現上可通過簡單的1D 卷積實現,但與常規的1D 卷積具有不同的物理意義:超球卷積是在原始高維屬性空間中提取待測樣本與其鄰域樣本在標記上的統計特征與空間結構特征,其前提是必須先利用kNN 近鄰搜索構造出鄰域標記樣本集作為CNN的輸入數據,而不是直接對原始樣本進行卷積,其通過選取不同的尺度值k進行卷積,實現對不同范圍內鄰域樣本的標記與空間特征的提取。
超球卷積在原始數據樣本的特征空間中采用CNN 而不是利用貝葉斯原理從概率的角度去估計中心(未知)樣本的類標記,其通過卷積核的迭代訓練來提取局部特征,從而利用CNN 卷積的平移不變性來提取中心樣本與鄰域樣本標記值的相關性特征。超球卷積中的平移不變性提取與CNN 圖像識別的處理不同,超球卷積是對整個屬性空間進行局部采樣構成鄰域標記樣本集,通過對每個鄰域標記樣本利用多個尺度卷積核進行一次性的多副本卷積,實現在整個屬性空間中的特征提取。
基于傳統CNN 模型,本文引入超球卷積設計超球卷積神經網絡(Hypersphere CNN,HCNN)模型。HCNN 將多種不同尺度的鄰域標記樣本集作為輸入,對每條樣本的鄰域按升序排列并分別提取距中心樣本最近的前22,32,…,n2個鄰域標記樣本構成n-1 種尺度的輸入數據。圖6 為提取4 種尺度(即k=4,9,16,25)鄰域標記樣本的示意圖(彩色效果見《計算機工程》官網HTML 版)。

圖6 多尺度鄰域標記樣本提取Fig.6 Extraction of multi-scale neighborhood label samples
1)超球卷積層。超球卷積層用于提取各種不同尺度的鄰域標記的空間特征,可以用1D 全連接來實現,操作流程如圖7 所示,圖中采用了4 種尺度,每種尺度均按照式(3)進行400 個副本的超球卷積,形成(n-1)×400 的輸出矩陣,并將其轉變為每層尺寸為(20,20)深度為n-1 層的張量。

圖7 超球卷積層操作流程Fig.7 Operation procedure of hypersphere convolution layer
2)卷積層。由于各層張量代表不同尺度的鄰域標記樣本,為了使各種尺度提取的特征具有不同的意義以及權重,卷積方式采用深度可分離卷積。深度可分離卷積層與傳統卷積層不同之處在于一個卷積核只提取一個通道(層)的特征提取,將各個尺度的鄰域分別進行超球卷積以此來對各種尺度的鄰域標記進行特征提取。卷積層由依次利用3×3、3×3 和5×5 的卷積核且步長均為1 的3 個深度可分離卷積層所構成,3 次深度可分離卷積具體操作如圖8 所示,在每層深度可分離卷積后加入一層Batch Normalization 來加快學習收斂速度,同時避免梯度消失。

圖8 3 次深度可分離卷積Fig.8 Cubic depth separable convolution
3)全連接層。全連接層的目的是利用提取出的特征進行有效分類。該層由普通的多層普通神經網絡組成,激活函數采用SELU 函數,并且利用Dropout防止過擬合現象。
4)輸出層。輸出層利用全連接層實現,用于輸出模型判斷出的該樣本的正例概率,激活函數采用Sigmoid 函數。
5)損失函數。損失函數用于衡量預測值和真實值之間的差距,并用于更新全連接層和卷積層參數,由于本文是針對二分類問題,因此采用二元交叉熵作為損失函數。
以4、9、16、25 這4 種尺度為例,HCNN 模型整體架構如圖9 所示。

圖9 HCNN 模型整體架構Fig.9 Overall architecture of HCNN model
HCNN 模型中主要分為三步:構建鄰域標記樣本集,HCNN 模型訓練和利用HCNN 模型進行分類預測。具體算法描述如下:
算法1HCNN


本文實驗所使用的數據為北京市昌平氣象監測站2013 年3 月1 日—2017 年2 月28 日每小 時的空氣污染物監測采樣數據[23]。數據集總共包含32 681 條樣本,數據樣例如表1 所示。數據樣本屬性包括年、月、日、時、SO2濃度、NO2濃度、CO 濃度、O3濃度、溫度、壓強、露點溫度、降水量和風速。

表1 北京市空氣污染物監測數據樣例Table 1 Samples of air pollutant monitoring data in Beijing
取PM2.5 濃度為標記項。圖10 為PM2.5 的概率密度分布,可見出現PM2.5 濃度小于200 的出現天數占絕大部分,因此,將PM2.5 濃度大于200(對應中重度污染)設為正例,共2 116 條樣本,在數據集中占6.47%,屬于典型的不平衡數據集。作為對照實驗,同時取門限50 μg/m3(設PM2.5 濃度小于50 為正例)得到一套平衡數據集,其中正例共17 221 條樣本(占比52.69%)。

圖10 PM2.5 濃度的概率密度分布Fig.10 Probability density distribution of PM2.5 concentration
圖11 為各屬性與標記項之間相關系數的統計分布,可見SO2、NO2、CO 濃度這三個屬性與標記項之間以及這三個屬性間均有較高的相關性。

圖11 屬性及標記項間的相關系數統計分布Fig.11 Statistical distribution of correlation coefficients among attributes and label items
由于本文研究的問題屬于分類問題,因此評價指標采用準確率、精度、召回率和F1 測度。以下實驗均使用Python 語言在PyCharm 平臺上完成。
本文將HCNN算法與kNN、FC-CNN,Radar-CNN等算法進行對比,并對算法各關鍵參數的選取進行實驗對比。此外,為了對比HCNN 在不采用kNN 預處理時的性能變化,采用普通CNN 模型進行消融實驗,其神經網絡網絡模型與HCNN 基本相同,區別在于對原始的異質數據不經過異質化,而是直接進行卷積處理,下文中稱為CNN 算法。將訓練集與測試集比例設定為8∶2,采用5折交叉驗證的方法得到最終的性能評價結果。
4.3.1 HCNN 實驗結果
HCNN模型的訓練過程以及收斂曲線如圖12所示,其中,圖12(a)和圖12(b)為訓練集的殘差與準確率收斂曲線,可見訓練集loss 值和準確率在迭代50 次左右時即快速收斂,圖12(c)和圖12(d)為驗證集的殘差與準確率收斂曲線,同樣在迭代50 次左右逐漸收斂趨于平滑。由此可見HCNN 模型并沒有產生明顯的過擬合現象,可有效地對未知樣本進行預測。

圖12 HCNN 模型訓練的殘差與準確率收斂曲線Fig.12 Convergence curve of loss and accuracy of HCNN model training
4.3.2 超球卷積核最大尺度的選取
鄰域樣本與中心樣本的距離關系如圖13 所示(彩色效果見《計算機工程》官網HTML 版),其中,圖13(a)是從全部訓練數據集中隨機抽取200 個樣本(不同顏色的曲線代表不同樣本與其鄰域樣本間的歐式距離曲線),取最大鄰域尺度為200,分別計算各樣本與其鄰域樣本的歐氏距離并按升序排列繪制的曲線。可以明顯看出,當鄰域尺度k取到25 以后,中心樣本與鄰域樣本的距離差逐漸趨于平緩。為了評估訓練樣本規模的影響,從訓練集中隨機抽取5 000 個樣本作為新的訓練集進行近鄰搜索,結果如圖13(b)所示。可以看出,在減小訓練集規模后,中心樣本與鄰域樣本間的距離依舊在尺度為25 左右開始趨于平緩。因此,本文實驗中取最大尺度數為25。選取更大范圍的鄰域樣本參與訓練不僅會導致計算量過大,而且可能因為領域樣本的區分度降低而引入不必要的干擾。對于不同的應用數據集,仍建議將最大尺度數作為一個重要的超參數,通過上述分析找到最優值。

圖13 鄰域樣本與中心樣本的距離關系Fig.13 Distance relationship between neighbor sample and center sample
圖14 是鄰域樣本不同尺度數下的預測準確率對比。實驗采取的鄰域尺度分別為k=22,32,…,n2。尺度數為1 就選鄰域尺度為k=22尺度的鄰域標記樣本作為輸入,尺度數為2 就選k=22、32這2 個尺度的鄰域標記樣本作為輸入,依此類推。可以看出,當模型輸入取鄰域尺度數為4 時,HCNN 模型分類預測準確率最高。

圖14 不同鄰域尺度下的準確率對比Fig.14 Comparison of accuracy under different neighbor scales
4.3.3 軟硬鄰域標記的實驗對比
在鄰域標記樣本集中,各屬性項是每個鄰域樣本的標記值(即PM2.5 濃度是否超標,需要將實際的數值通過門限判決轉為硬標記,即±1),這樣輸入到HCNN 模型的數據中就損失了PM2.5 濃度的細節信息,因此,也可以考慮保留各鄰域樣本的PM2.5 濃度原始值,即軟標記值。
圖15 為HCNN 算法在鄰域標記樣本集分別采用軟硬標記值的各項指標對比。可以看出,軟標記輸入所得的各項指標略好于硬標記輸入,因此,本文使用鄰域樣本的軟標記值作為模型訓練的輸入。

圖15 鄰域樣本軟硬標記值的HCNN 性能對比Fig.15 Comparison of HCNN performance with soft and hard labels of neighbor sample
4.3.4 HCNN 算法在混淆樣本中的性能分析
由于kNN 算法依靠鄰域投票機制進行分類預測,因此往往無法解決混淆樣本的分類問題(如圖3所示)。在高度不平衡樣本集中,這種情況更為突出。為此,分別針對平衡樣本集和不平衡樣本集對比HCNN 和kNN 算法在不同的混淆條件下的性能,實驗結果如圖16 所示。

圖16 HCNN 與kNN 在不同混淆條件下的預測性能對比Fig.16 Comparison of prediction performance between HCNN and kNN under different confusion conditions
由圖16 可以看出,HCNN 對混淆樣本的預測效果要遠好于kNN 算法,體現了超球卷積在提取復雜鄰域標記空間結構特征上的優異能力。
4.3.5 HCNN 與其他算法的性能對比
將HCNN 與kNN、Radar-CNN、FC-CNN、CNN這4 種算法進行性能對比,實驗結果如圖17 所示。可以看出,HCNN 的預測準確率略高于其他3 種算法,預測精度kNN 最高、HCNN 算法排列第二。由于在不平衡數據集中準確率失真,因此主要對比召回率等指標,可以看出,HCNN 算法顯著優于其他算法,體現出HCNN 在不平衡樣本集上的性能優勢。

圖17 不同算法的性能指標對比Fig.17 Performance comparison of different algorithms
通過與CNN 算法的消融實驗對比可以發現,利用kNN 預處理進行近鄰結構信息的提取后能夠顯著提升模型性能,由此可見,對于異質數據集,利用kNN 進行樣本同質化是一種有效的手段。
本文提出一種結合kNN 和CNN 的深度學習模型。利用kNN 的近鄰搜索,將僅攜帶多維屬性信息的異質數據樣本集轉化為攜帶鄰域樣本標記信息和屬性空間結構特征的同質化數據集。在此基礎上,通過對鄰域樣本標記進行超球卷積的方式提取未知樣本的鄰域標記特征,進而對該樣本的標記進行預測。實驗結果表明,該模型能夠有效提取未知樣本的鄰域樣本標記特征并對該樣本的標記進行準確預測,與kNN、CNN、FC-CNN、Radar-CNN 等算法相比預測性能更優。下一步將分析HCNN 在多種數據噪聲環境、尺度變換(平移/旋轉等)條件下的性能,并驗證其在處理多標簽分類和回歸問題時的預測性能。