?

基于多項式特征生成的卷積神經網絡

2024-01-17 07:14肖志成于曉東
吉林大學學報(理學版) 2024年1期
關鍵詞:卷積神經網絡特征

劉 銘, 肖志成, 于曉東

(1. 長春工業大學 數學與統計學院, 長春 130012; 2. 上海杉達學院 信息科學與技術學院, 上海 201209)

數據是深度學習模型建立過程中不可或缺的因素, 在深度學習建模中對數據的質量和數量都有很高的要求. 決定一個深度學習模型最終實際效果的因素, 除模型的神經網絡結構及模型的超參數外, 最重要的就是模型的訓練數據. 隨著深度學習深入到不同領域中面臨不同的任務時, 通常情況下, 神經網絡模型需要足夠多的數據使模型擁有涵蓋業務場景任務的能力, 當數據的豐富度和廣泛度達到一定程度時, 可有效抑制訓練過程中產生的過擬合、 數據類別之間不平衡影響識別效果、 在驗證數據或新數據上欠擬合等問題. 但在很多場景任務中, 能收集的數據總量通常有限, 如在醫療場景中, 一些罕見病的可供研究病例樣本數量難以獲得足夠的病例樣本數據. 但在實際的深度學習模型建模過程中, 可通過一些合理的方式生成一些與原始數據類似但存在一定差異的數據, 將這些數據添加到訓練數據中, 可有效提升模型在處理有限數據時的性能.

在圖像分類領域, 較經典的圖像特征生成方式是采用圖像增強[1], 如翻轉、 裁剪、 幾何變換、 色域空間變換等. 這類圖像增強方式通過直觀地在訓練數據基礎上生成與訓練圖像相似但不相同的增強數據達到豐富數據的目的[2], 并且在實際訓練中通常還采用將若干種圖像增強方法組合的方式進一步豐富數據.

基于神經網絡的圖像生成模型可通過訓練學習已有圖像數據, 構建一個生成與訓練數據難以分辨的類似數據的圖像生成模型. 盡管需要額外的訓練學習已有的數據, 但由于其產生的數據與原始數據之間有較高相似性, 可以有效地豐富數據. 如基于生成對抗網絡的圖像增強模型[3].

多項式特征生成是機器學習領域中對數據進行特征工程時使用的一種基本數據增強方式. 在早期的建模中得到了廣泛應用[4]. 在不同任務、 不同場景下數據多種多樣, 數據域有時表現為線性結構, 有時表現為非線性結構, 在數據特征組成較復雜的情況下, 使用多項式特征生成可以在一些特征的基礎上, 由線性結構轉換為非線性結構[5], 即得到一些特征的高階項與低階項的組合. 多數情況下可以豐富模型, 使模型的效果及性能得到提升.

本文結合機器學習中經典的多項式數據增強和深度學習框架理論, 提出一種在深度學習訓練過程中, 在訓練數據集基礎上擴增輸入數據的數據增強算法. 對比實驗結果表明, 在多個數據集上利用本文算法的模型與未使用本文算法處理的模型相比, 添加本文數據擴增堆疊算法后的模型, 在多個數據集上準確率均有較大提升.

1 基于多項式特征生成的數據擴增

為將機器學習的多項式特征生成應用轉化到高維數據中, 本文在一維數據的多項式特征生成算法基礎上提出一種高維數據對應的多項式特征生成算法, 并以三維圖像數據為例進行介紹. 本文算法提出的圖像特征生成算法, 可作為一種用于卷積神經網絡訓練中利用數據增強生成特征[6]的算法.

1.1 冪次為二的多項式特征生成

一般情況下機器學習中的多項式特征生成常對應于1×n的n維數據, 如一個由兩個輸入x1,x2組成的線性模型:

y=a0+a1x1+a2x2,

(1)

利用多項式特征法所構造的冪次為二的二階多項式特征生成后變為

(2)

與式(1)相比, 構造的二階多項式增加了三項, 其中兩項為兩個特征的平方項, 一項為兩個輸入的乘積項.平方項只與相應的輸入特征對應, 而乘積項由兩個特征共同組成.因此, 也將該項稱為交叉特征或互相關項, 平方項的數量與輸入特征項對應, 而互相關項的數量隨輸入特征的數量變化[3].

1.2 卷積神經網絡的特征輸入形式

在卷積神經網絡中, 處理圖像輸入時對應由一個或多個通道組成的長寬固定的矩陣, 如一個通道數為3、 長寬均為3的矩陣fc表示為

(3)

其中c表示數據對應的通道.組成矩陣fc的各元素一般表示圖像數據對應的像素值, 這些像素值是圖像中信息對應的一種數值形式, 因此是卷積神經網絡接觸學習的主要目標.所以, 可以將對應的像素值視為可用于多項式特征生成對應的特征.

由于在實際應用中, 卷積神經網絡的輸入數據對應的維度大小除對應的數據數量可作為一個超參數浮動設定外, 輸入的通道數及數據長寬通常是固定的, 如將卷積神經網絡的輸入維度設為f對應的維度, 則每個輸入卷積神經網絡訓練的圖像數據類似fc的矩陣作為輸入.

1.3 圖像數據的多項式特征生成算法

為使多項式特征生成的新特征在可以輸入卷積神經網絡模型的同時, 考慮到執行拉伸產生的計算及信息損失, 本文通過在通道數據基礎上生成的方式生成多項式數據.采用計算原數據各通道對應矩陣元素的相應二階多項式的平方項及互相關項的方式生成若干新數據, 該運算可由Hadamard積完成[7], 用公式表示為

fg=fi°fj,

(4)

其中fi,fj為f的子矩陣,f∈c,h,w,i,j∈[0,c),i≥j,c為輸入數據的通道數,w為輸入數據的寬,h為輸入數據的高.

以生成的兩個平方項和互相關項為例.由fc生成各通道對應二階多項式的平方項為

(5)

由fc生成各通道對應輸入通道為3的二階多項式的互相關項以第i,j通道生成的其中一項為例, 可表示為

(6)

從形式上看, 新生成數據矩陣中的元素與n維特征數據生成的二階多項式中的項可以對應, 且數據矩陣的維度未發生改變, 可用于模型訓練.

這里對于數據的平方項和互相關項的處理可以與推薦系統領域網絡中使用特征嵌入時使用的元素尺度(Bit-wise)生成和向量尺度(Vector-wise)生成分別對應[7], 實際上可見二者具有很高的共通性. 本文同理給出一種圖像數據的顯式特征組合方式.

生成的數據圖像數據與作為生成材料的各通道圖像相比, 在保存基礎形態結構的基礎上, 存在明顯色度差異, 如圖1所示. 由圖1可見, 與現有的數據增強變換簡單地進行色值變換相比, 生成的圖像顯然與原始圖像之間通過其生成的非線性函數有極高的關聯性, 與原始圖像相比生成的特征數據由于使用的通道不同具有明顯的漸近層次感. 對于這樣一類數據相當于從數據的近鄰分布中取樣, 生成的數據可以很好控制模型的決策邊界, 從而減少損失值的震蕩達到更好的訓練效果[8].

圖1 原始圖像和由其分解出的各通道及生成的灰度圖像Fig.1 Original image and each channel decomposedfrom it and generated grayscale image

2 生成多項式特征堆疊

在深度學習的訓練中, 常采用隨機打亂原始數據以及通過數據增強生成數據的方式, 增強模型的泛化能力, 提高模型的訓練效果[9]. 通過多項式特征生成算法生成的數據同樣可利用這種方式進行模型訓練, 即僅作為一種簡便、 易用的數據增強方式生成圖像數據. 但由于數據是由一張圖片的各通道數據通過多項式的固定非線性關系生成的, 因此對于一張圖片各生成圖像之間具有很高的相關性, 在機器學習中也常將這些數據共同使用. 因此, 本文構建一種多項式特征的堆疊結構處理數據及生成數據.

對比式(1)和式(2)可見, 在機器學習中對于采用多項式特征生成的數據并沒有作為輸入特征數據, 而是將這些新生成的特征與原始特征一起共同作為模型的輸入數據. 因此針對這一特點, 本文采用在卷積神經網絡中處理特征圖生成傳遞時的一種堆疊結構[10], 構建類似的結構處理多項式特征生成的數據.

由于多項式特征輸入的數據生成由原始圖像的各通道數據組合而成, 同時生成的數據維度與卷積神經網絡數據輸入數據維度一致, 對于一張通道、 高、 寬為(c,h,w)的輸入圖像fc, 生成的數據為h,w與輸入圖像一致, 因此可將各生成圖像與原始圖像組合為數據維度為(c+c′,h,w)的組合數據, 其中c′為多項式特征生成算法生成數據的數量.

圖2為處理特征輸入時的常規方式與多項式特征生成特征輸入的特征輸入方式.由圖2可見, 將生成數據與原始數據按固定的結構在通道維度上組合后作為卷積神經網絡的輸入.對于卷積神經網絡, 處理多通道輸入圖像時需要配置多個卷積核組成卷積層, 可有效實現各通道數據之間的融合, 如對于一個輸入維度為(3,h,w)的原始圖像, 在卷積層利用一個(k,k,1)的卷積核通過卷積后可生成一個維度為(h-k+1,w-k+1)的輸出特征圖.從而實現類似式(1)中原始特征與多項式特征生成的特征之間組合的目的.

圖2 處理特征輸入時的常規方式(A)與多項式特征生成特征輸入的特征輸入方式(B)Fig.2 Conventional way (A) of processing feature input and polynomial feature generation feature input (B)

3 實驗分析

為驗證本文提出的圖像生成算法及多項式特征堆疊在卷積神經網絡中應用的有效性, 結合目前卷積神經網絡中流行的神經網絡結構及執行圖像增強相關的神經網絡結構[11-12], 構建一個由卷積層、 特征堆疊結構、 殘差結構組成的卷積神經網絡, 結構列于表1.網絡中采用的二階多項式特征生成算法可以生成輸入通道平方倍的生成特征, 如果將這些生成特征全部納入神經網絡中, 會使模型所需資源數量過多.因此, 在將生成特征與原始特征結合時, 通過一個參數控制決定生成特征所占通道數與原始輸入卷積輸出的通道數, 在表1構建的神經網絡結構中, 控制二者的數量之比為1∶1, 即兩者的通道數量均為16通道, 從生成特征中取多項式特征生成的前16通道特征, 用于特征堆疊結構中.

表1 卷積神經網絡結構

將神經網絡結構中特征堆疊放在一個卷積后的主要目的是充分利用由卷積獲取得到的原始信息, 同時盡量將特征堆疊結構前置以減少模型在靠后的層結構中生成多項式特征時產生的資源占用問題. 采用殘差結構作為后面幾層的主要目的是使模型具有足夠的能力擬合數據集.

數據集CIFAR[13]和Caltech[14]作為檢驗模型性能的數據集. 模型的檢驗指標采用圖像識別時的準確率. 為驗證模型識別效果的有效性, 設置不采用多項式特征生成算法的模型作為對比, 即在其他結構相同的情況下不附加生成特征, 直接將卷積后的特征圖向后傳遞, 從而保證兩個模型之間的差異僅體現在是否采用本文提出的算法上. 在模型的參數設置上參考使用這兩個數據集作為對照實驗數據集的相關研究[10-11]設置, 在優化器及損失函數的選擇上與其相同, 便于橫向比較. 不同的是微調了模型的學習率和每次訓練數據的數量大小, 并采用神經網絡結構, 同時為進一步減少干擾因素, 在執行模型訓練時不添加其他數據增強算法生成的圖像和基于其他數據集的預訓練模型進行訓練.

模型的訓練過程如圖3和圖4所示. 在模型迭代100次后從損失值和準確率變化曲線可見, 在兩個數據集上的模型都已經收斂. 表明模型已經充分得到了訓練, 模型的準確率可充分代表模型的性能. 且未添加生成特征的模型的損失值有上升趨勢, 即有過擬合的趨勢. 而應用本文算法的模型損失值變化較平緩, 模型的最優準確率列于表2.

表2 兩種模型的最優準確率

圖3 數據集CIFAR隨迭代次數的損失值和準確率變化曲線Fig.3 Variation curves of loss values and accuracy rates of CIFAR dataset with number of iterations

圖4 數據集Caltech隨迭代次數的損失值和準確率變化曲線Fig.4 Variation curves of loss values and accuracy rates of Caltech dataset with number of iterations

由表2可見, 在兩個數據集上利用本文提出的多項式特征堆疊的模型結構訓練的準確率均優于未使用本文算法的模型, 表明本文提出的多項式特征堆疊算法由原始特征生成對應特征并進行特征堆疊后對增強模型的性能有正向影響, 有效提升了模型的識別準確率.

綜上所述, 在經典多項式生成算法的基礎上, 本文結合卷積神經網絡的相關特點, 提出了一種更簡便的圖像特征生成算法, 并結合特征堆疊提出了一種用于卷積神經網絡的多項式特征生成堆疊算法. 該算法的主要思想是通過生成多項式這種非線性化的方法豐富數據域, 利用該方式可有效提升卷積神經網絡的性能. 算法在生成特征的利用上有所浪費, 需要根據模型的結構特點權衡設計. 但由于其對原始特征和生成特征的結構設計, 也給模型設計帶來了靈活性.

猜你喜歡
卷積神經網絡特征
基于3D-Winograd的快速卷積算法設計及FPGA實現
如何表達“特征”
神經網絡抑制無線通信干擾探究
從濾波器理解卷積
不忠誠的四個特征
基于傅里葉域卷積表示的目標跟蹤算法
抓住特征巧觀察
基于神經網絡的拉矯機控制模型建立
復數神經網絡在基于WiFi的室內LBS應用
基于支持向量機回歸和RBF神經網絡的PID整定
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合