丁 應(yīng),李 琳
(武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430065)
早期的惡意代碼由于沒(méi)有采用復(fù)雜的加密算法對(duì)其進(jìn)行加密,因此可以通過(guò)交叉匹配部分代碼的方式來(lái)檢測(cè)惡意代碼。但是隨著多態(tài)和變態(tài)(混淆)等現(xiàn)象的出現(xiàn),惡意代碼每經(jīng)過(guò)一輪迭代就進(jìn)行一次相同密鑰的加密算法進(jìn)行加密(多態(tài)),有的甚至使用不同密鑰的加密算法進(jìn)行加密(變態(tài)),使惡意代碼變得極難檢測(cè),惡意代碼分析師往往需要花費(fèi)至少一周甚至更久的時(shí)間才能分析一個(gè)新出現(xiàn)的病毒屬于哪個(gè)家族。最近的一份安全報(bào)告顯示,雖然攻擊者對(duì)開(kāi)發(fā)移動(dòng)端的惡意代碼的興趣越來(lái)越高,但是Windows系統(tǒng)依然是黑客攻擊的首要目標(biāo)。2019年至今,幾乎每周都有重大網(wǎng)絡(luò)事件發(fā)生,給受害者造成了巨大的經(jīng)濟(jì)損失,更嚴(yán)重的甚至?xí):κ芎φ叩纳踩?/p>
傳統(tǒng)的惡意代碼檢測(cè)技術(shù)可以分為靜態(tài)分析和動(dòng)態(tài)分析兩種方法。靜態(tài)分析[1]的優(yōu)勢(shì)是可以在代碼執(zhí)行之前對(duì)其進(jìn)行分析[2],并且可以在確切的位置挖掘出代碼的敏感信息,通過(guò)這些信息可以判斷該代碼屬于哪種類(lèi)型的惡意代碼(木馬,蠕蟲(chóng),后門(mén)),動(dòng)態(tài)分析方法很難做到這些;而在動(dòng)態(tài)分析[3]中,代碼在執(zhí)行階段會(huì)被實(shí)時(shí)監(jiān)控[4](虛擬機(jī),沙箱技術(shù)等),可以輕易地找到軟件受感染的位置,但在靜態(tài)分析中這是不可能的。
靜態(tài)檢測(cè)技術(shù)在對(duì)惡意代碼進(jìn)行分析時(shí),需要借助惡意數(shù)據(jù)特征庫(kù)。由于惡意數(shù)據(jù)特征庫(kù)存在一段時(shí)間的更新周期,如果檢測(cè)不及時(shí),會(huì)存在漏檢、誤報(bào)等問(wèn)題;并且靜態(tài)檢測(cè)技術(shù)對(duì)新型病毒也會(huì)顯得心有余而力不足。
動(dòng)態(tài)檢測(cè)技術(shù)在對(duì)惡意代碼進(jìn)行分析時(shí),需要借助虛擬機(jī)、虛擬鏡像、沙箱等技術(shù),這不僅會(huì)造成資源的浪費(fèi),而且一些病毒甚至能判斷自身所處的環(huán)境,在虛擬環(huán)境下并不表現(xiàn)出自身的特點(diǎn),導(dǎo)致動(dòng)態(tài)檢測(cè)誤報(bào)。
無(wú)論是動(dòng)態(tài)檢測(cè)技術(shù)還是靜態(tài)檢測(cè)技術(shù),在進(jìn)行檢測(cè)時(shí)還存在著其他的局限性,比如只能用于某些安全公司的“自產(chǎn)自銷(xiāo)”。如今,互聯(lián)網(wǎng)高度集成發(fā)達(dá),如果不能將自身資源分享出去,也是一種資源的浪費(fèi)。
針對(duì)上述傳統(tǒng)的惡意代碼檢測(cè)技術(shù)的不足,深度學(xué)習(xí)算法憑借其強(qiáng)大的特征提取能力自然而然地被研究者用來(lái)對(duì)惡意代碼進(jìn)行檢測(cè)和分類(lèi)。T.Kim等人[5]將RGB編碼技術(shù)和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合起來(lái)對(duì)異常網(wǎng)絡(luò)進(jìn)行檢測(cè),通過(guò)將數(shù)據(jù)特征編碼成彩色圖像,然后使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)生成的彩色圖像進(jìn)行分類(lèi),在三個(gè)不同的數(shù)據(jù)集上都取得了不錯(cuò)的準(zhǔn)確率。韓曉光等人[6]通過(guò)把惡意代碼映射為無(wú)壓縮的灰度圖片,然后對(duì)圖片進(jìn)行相應(yīng)的處理,最后使用深度學(xué)習(xí)算法對(duì)其進(jìn)行分類(lèi),準(zhǔn)確率不高,而且過(guò)程過(guò)于復(fù)雜,單給研究者提供了思路。Baptista I[7]通過(guò)將惡意樣本轉(zhuǎn)換為灰度圖像后,與無(wú)監(jiān)督學(xué)習(xí)方法結(jié)合,對(duì)各種惡意文檔或軟件(pdf,txt,exe,doc等)的分類(lèi)都能達(dá)到較高的準(zhǔn)確率。
由此可以看出,將深度學(xué)習(xí)算法與其他方法結(jié)合起來(lái),然后應(yīng)用于對(duì)惡意代碼的檢測(cè)和分類(lèi),其性能遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的惡意代碼檢測(cè)技術(shù)。但是上述文獻(xiàn)中大多沒(méi)有引入良性數(shù)據(jù)集,嚴(yán)格意義來(lái)講,它們并不能算是對(duì)惡意代碼的檢測(cè)。因此,該文采用的數(shù)據(jù)集包含良性樣本和惡意樣本,然后將數(shù)據(jù)集上待檢測(cè)的PE文件的特征進(jìn)行雙字節(jié)編碼,轉(zhuǎn)換為8×8的灰度圖像,最后通過(guò)卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征并對(duì)測(cè)試集進(jìn)行檢測(cè)。實(shí)驗(yàn)結(jié)果表明,提出的雙字節(jié)特征編碼方法在Ember數(shù)據(jù)集上的準(zhǔn)確率為92.82%,與傳統(tǒng)的灰度編碼技術(shù)相比,提高了11.42%。
隨著深度學(xué)習(xí)算法的不斷發(fā)展,它們已經(jīng)被廣泛地應(yīng)用于惡意代碼的檢測(cè)和分類(lèi)當(dāng)中。蔣晨等人[8]通過(guò)將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于不同平臺(tái)下惡意代碼的分類(lèi),其結(jié)果表明該方法在Windows平臺(tái)上的分類(lèi)效果遠(yuǎn)高于安卓平臺(tái)。A. I. Elkhawas等[9]通過(guò)將待檢測(cè)的PE文件的特征轉(zhuǎn)換成三元組的形式,然后通過(guò)SVM算法對(duì)其進(jìn)行分類(lèi),在PE文件的分類(lèi)上具有非常好的表現(xiàn)。A. Utku 等[10]采用的決策樹(shù)算法在移動(dòng)端惡意代碼的分類(lèi)上的準(zhǔn)確率可以達(dá)到95%以上。其他的深度學(xué)習(xí)算法[11-15],在檢測(cè)其他的惡意事件中也具有良好的表現(xiàn)。有趣的是,當(dāng)生成對(duì)抗網(wǎng)絡(luò)技術(shù)出現(xiàn)時(shí),研究者發(fā)現(xiàn)可以通過(guò)生成技術(shù)在惡意代碼某些特定的部分填充一些字節(jié),在不改變?cè)摯a功能的前提下來(lái)逃避深度學(xué)習(xí)方法對(duì)可執(zhí)行軟件的檢測(cè),進(jìn)而把惡意樣本誤判為良性樣本。而Vineeth S. Bhaskara等人[16]通過(guò)生成技術(shù)在已知惡意軟件行為的可逆分布RGB圖像表示上訓(xùn)練GAN,編碼API調(diào)用n-gram的序列和相應(yīng)的項(xiàng)頻率,生成的圖像表示可以重新解碼為底層API,通過(guò)調(diào)用序列信息可以合成惡意軟件。Z. Li等人[17]提出了一種灰度編碼方法,通過(guò)將入侵檢測(cè)數(shù)據(jù)集的單個(gè)特征編碼為10位二進(jìn)制數(shù)(0b0000000000-0b1111111111),然后轉(zhuǎn)換為灰度圖像,并用深度學(xué)習(xí)算法對(duì)其進(jìn)行分類(lèi),最終的準(zhǔn)確率為82%。由此可知,將各種特征處理方法與深度學(xué)習(xí)算法相結(jié)合,在惡意代碼的檢測(cè)和分類(lèi)上的表現(xiàn)都優(yōu)于傳統(tǒng)方法。
EMBER數(shù)據(jù)集是Endgame公司在2018年四月份發(fā)布的一個(gè)大型開(kāi)源數(shù)據(jù)集。該數(shù)據(jù)集可以用于訓(xùn)練機(jī)器學(xué)習(xí)模型來(lái)檢測(cè)靜態(tài)Windows便攜式可執(zhí)行文件。它總共有110萬(wàn)條數(shù)據(jù),其中訓(xùn)練集有90萬(wàn)條,惡意樣本、良性樣本以及未標(biāo)注樣本各30萬(wàn)條;測(cè)試集有20萬(wàn)條,惡意樣本和良性樣本各10萬(wàn)條。該數(shù)據(jù)集用jsonlines格式保存,并詳細(xì)解釋了各數(shù)據(jù)的含義。其父特征有8類(lèi),部分父特征又可以分解成子類(lèi)特征,總共構(gòu)成了56個(gè)特征(父特征和子類(lèi)特征的集合);這些特征又可以分成數(shù)值特征和非數(shù)值特征。
在使用深度學(xué)習(xí)算法對(duì)惡意代碼進(jìn)行檢測(cè)之前,首先需要將非數(shù)值特征轉(zhuǎn)化為數(shù)值特征,然后將數(shù)值特征轉(zhuǎn)換成二進(jìn)制數(shù),接著通過(guò)雙字節(jié)特征編碼技術(shù)將其轉(zhuǎn)成灰度圖片,最后使用深度學(xué)習(xí)算法對(duì)其進(jìn)行檢測(cè)。本章主要介紹了該文使用的EMBER數(shù)據(jù)集的特征、提出的雙字節(jié)特征編碼技術(shù)以及所使用的深度學(xué)習(xí)算法。
根據(jù)EndGame公司對(duì)EMBER數(shù)據(jù)集特征的描述篩選出如圖1中的特征用來(lái)編碼,包含4個(gè)父特征和35個(gè)子類(lèi)特征。具體描述如下:
label:標(biāo)簽,值為1代表惡意樣本,0為良性樣本,-1表示未標(biāo)記,可用作半監(jiān)督學(xué)習(xí)。
general:常規(guī)文件信息,主要包括的特征有文件大小、從PE頭獲得的基本信息、文件的虛擬大小、導(dǎo)入函數(shù)和導(dǎo)出函數(shù)、文件是否具有調(diào)試部分、線(xiàn)程本地存儲(chǔ)、資源、重定位、簽名以及符號(hào)數(shù)。
header:在coff標(biāo)頭中,主要包括目標(biāo)主機(jī)(字符串)和圖像特征列表(字符串列表);在optional標(biāo)頭中,特征有目標(biāo)子系統(tǒng)(字符串)、DLL特性(字符串列表)、magic字符串(例如“PE32”)、主要和次要映像版本、鏈接器版本、系統(tǒng)版本和子系統(tǒng)版本、代碼、標(biāo)頭以及提交大小。
strings:字符串中的特征包括簡(jiǎn)單的統(tǒng)計(jì)信息,至少五個(gè)可打印字符長(zhǎng)度的可打印字符串(由0x20到0x7f范圍內(nèi)的字符組成)、字符串的數(shù)量、字符串的平均長(zhǎng)度、所有可打印字符串中字符的熵;此外,字符串特征還包括以C:(不區(qū)分大小寫(xiě))開(kāi)頭的可能表示路徑的字符串?dāng)?shù),以及http://或https://(不區(qū)分大小寫(xiě))的出現(xiàn)次數(shù)、它們表示路徑URL、還有表示注冊(cè)表項(xiàng)的HKEY_的出現(xiàn)次數(shù)以及可能提供Windows PE刪除程序或捆綁的可執(zhí)行文件的短字符串MZ的出現(xiàn)次數(shù)。該數(shù)據(jù)集提供的是字符串的簡(jiǎn)單統(tǒng)計(jì)摘要而不是原始字符串的列表,可以盡量不泄露某些良性文件可能存在的隱私問(wèn)題。
圖1 單個(gè)PE文件的部分原始特征
圖1和2.1節(jié)詳細(xì)地描述了單個(gè)PE文件的部分原始特征以及特征的含義。
本節(jié)主要介紹該文對(duì)數(shù)值特征采用的數(shù)據(jù)預(yù)處理技術(shù)以及提出的雙字節(jié)特征編碼方法,并將該方法相較于傳統(tǒng)灰度編碼方法的優(yōu)點(diǎn)進(jìn)行了簡(jiǎn)單的描述。
2.2.1 數(shù)據(jù)預(yù)處理
由圖1可知數(shù)據(jù)集的子類(lèi)特征包含兩種,一種是非數(shù)值特征,比如subsystem和dll_characteristics等特征;另一種是數(shù)值特征,比如numstrings和entropy等特征。對(duì)于非數(shù)值特征,如果該特征中的子類(lèi)特征的數(shù)目不超過(guò)16,那么就可以使用獨(dú)熱編碼的方式對(duì)其進(jìn)行編碼,例如subsystem的子類(lèi)特征數(shù)目為12,所以其編碼方式為(0b000000000001,0b100000000000),即12個(gè)位置上每一個(gè)位置只有一位為1,其余為0。對(duì)于子類(lèi)特征數(shù)目超過(guò)16的情況(如圖1中的dll_characteristics),直接對(duì)其進(jìn)行類(lèi)別編碼并轉(zhuǎn)換為數(shù)值特征。
對(duì)于數(shù)值特征,使用MIN-MAX歸一化的方法對(duì)其進(jìn)行處理,轉(zhuǎn)換成[0,1]范圍的值,公式如下:
(1)
其中,xnorm為歸一化后的數(shù)字,x為原始數(shù)字,xmin和xmax分別為該特征的最小值和最大值。
2.2.2 雙字節(jié)特征編碼方法
該文提出了一種雙字節(jié)特征編碼方法,是將單個(gè)的數(shù)值特征都編碼為相等數(shù)量的字節(jié)(每個(gè)數(shù)值特征編碼為兩個(gè)字節(jié)),非數(shù)值特征根據(jù)子類(lèi)特征數(shù)目分別進(jìn)行獨(dú)熱編碼或類(lèi)別編碼。而數(shù)值特征的編碼規(guī)則如式(2):
(2)
由式(2)可知,對(duì)于數(shù)值特征的子類(lèi)特征,如果該值為0.0或1.0,就將其編碼為0x0000(值為“0”)或0xffff(值為“1”);如果該值在0.0到1.0之間,那么就將十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)并取前十六位,即每個(gè)特征代表兩個(gè)字節(jié)。非數(shù)值特征的處理方式在2.2.1節(jié)中已作詳細(xì)介紹。
將待檢測(cè)的PE文件特征通過(guò)該文提出的雙字節(jié)特征編碼方法進(jìn)行編碼后,得到的字節(jié)的數(shù)量是確定的。假設(shè)N為數(shù)值特征,M為非數(shù)值特征中子特征數(shù)大于16的特征,K為非數(shù)值特征中子特征數(shù)小于16的所有特征經(jīng)過(guò)獨(dú)熱編碼后相加的數(shù)量。則該文提出的編碼方法的字節(jié)數(shù)量為((M+N)×16+K)/8,最后得到的字節(jié)數(shù)目是64,剛好可以轉(zhuǎn)換為8×8的灰度圖像。而傳統(tǒng)的灰度編碼方法經(jīng)過(guò)相同處理后,最終得到的大小為42.5的字節(jié),需要填充6.5個(gè)都為0的字節(jié)才能轉(zhuǎn)換為7×7的灰度圖像。圖2為任意四個(gè)待檢測(cè)的PE文件的特征值經(jīng)過(guò)雙字節(jié)特征編碼后生成的圖片(經(jīng)過(guò)1 228%放大后)。
圖2 待檢測(cè)PE文件的特征編碼圖片
該文提出的特征編碼與灰度編碼相比,有以下優(yōu)點(diǎn):
在編碼時(shí)將每個(gè)數(shù)值特征以及子類(lèi)特征中類(lèi)別超過(guò)16的都編碼為2個(gè)字節(jié),而灰度編碼只是將特征編碼為1.25個(gè)字節(jié)。灰度編碼在轉(zhuǎn)換為圖像的時(shí)候會(huì)造成特征分裂,降低準(zhǔn)確率。
在精度方面,灰度編碼的損失遠(yuǎn)遠(yuǎn)大于特征編碼。比如灰度編碼將特征值0.400 1和0.499 9都編碼為0b0001000000,損失值為0.098。而雙字節(jié)特征編碼則分別將其編碼為0b0110011001101100和0b0111111111111001,是完全兩個(gè)不同的值, 且損失值
小于2-16,與灰度編碼方法相比,損失值可以忽略不計(jì)。
CNN(convolutional neural network)模型的靈感來(lái)源于動(dòng)物視覺(jué)皮層組織,該組織負(fù)責(zé)小范圍內(nèi)的光檢測(cè)[18]。通常,CNN由兩種類(lèi)型的層組成,分別稱(chēng)為提取特征的卷積層和用于特征映射的池化層,可以很好地提取特征,通過(guò)該特征可以輕易地識(shí)別出圖像之間的區(qū)別,因此CNN在圖像分類(lèi)上具有卓越效果。在2014年,ImageNet大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽(ILSVRC)競(jìng)賽的獲勝者也是以CNN模型為架構(gòu)的[19],在比賽中,它的錯(cuò)誤率僅為6.67%,與人類(lèi)水平的性能幾乎相同。由2.1節(jié)可知,該文的輸入是8×8大小的灰度圖片,而輸出分別為0(良性)或者1(惡意),屬于二分類(lèi)問(wèn)題。因此,適合用CNN模型來(lái)對(duì)待檢測(cè)的PE文件進(jìn)行檢測(cè)。
在TensorFlow框架的基礎(chǔ)上,把輸入大小為8×8的灰度圖片,經(jīng)過(guò)一次3×3的卷積之后,得到6×6大小的灰度圖片,通過(guò)使用ReLU激活函數(shù)可以有效防止梯度消失問(wèn)題,并且計(jì)算量也比較小,然后使用2×2的最大池化層來(lái)減少參數(shù)誤差造成的均值偏移,最后輸出的圖片大小為5×5。由于此時(shí)的分類(lèi)效果并不理想,因此在此基礎(chǔ)上重復(fù)做了一次3×3的卷積和2×2的最大池化,得到輸出為2×2大小的灰度圖片。為了避免出現(xiàn)梯度消失和過(guò)擬合等問(wèn)題,分別使用帶有ReLU激活函數(shù)和dropout的全連層,最后使用softmax對(duì)數(shù)據(jù)集進(jìn)行分類(lèi)。圖3為該文采用的CNN網(wǎng)絡(luò)架構(gòu)。
圖3 CNN網(wǎng)絡(luò)架構(gòu)
由于大部分開(kāi)源數(shù)據(jù)集都只有惡性樣本而沒(méi)有良性樣本(例如:BigData2015),因此該文選擇EndGame公司在2018年四月份公布的包含兩種樣本的EMBER數(shù)據(jù)集;并通過(guò)準(zhǔn)確率、查全率、查準(zhǔn)率三種具有代表性的度量性能比較該文提出的雙字節(jié)特征編碼以及傳統(tǒng)的灰度編碼技術(shù)。
本節(jié)主要介紹了實(shí)驗(yàn)過(guò)程中使用到的數(shù)據(jù)集以及對(duì)實(shí)驗(yàn)結(jié)果的具體分析。
在EMBER數(shù)據(jù)集的基礎(chǔ)上分別隨機(jī)選取30萬(wàn)條良性樣本和惡意樣本,以形成60萬(wàn)條樣本的新數(shù)據(jù)集。然后將該數(shù)據(jù)集以9∶1的大小隨機(jī)劃分為訓(xùn)練集和測(cè)試集,表1詳細(xì)描述了該數(shù)據(jù)集訓(xùn)練集和測(cè)試集的大小。
表1 數(shù)據(jù)集分布
通過(guò)采用如圖3所示的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),對(duì)3.1節(jié)中劃分的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),并且采用準(zhǔn)確率(accuracy)、查全率(precision)、查準(zhǔn)率(recall)和F1值度量?jī)煞N方法的性能,以比較雙字節(jié)特征編碼方法與灰度編碼方法的優(yōu)劣性。其中查準(zhǔn)率P、查全率R和F1值分別定義為:
(3)
(4)
(5)
其中,TP表示真正例,F(xiàn)P表示假正例,F(xiàn)N表示假反例。圖4為雙字節(jié)特征編碼和灰度編碼在CNN上的準(zhǔn)確率曲線(xiàn)。
由圖4可以看出,在同等情況下,當(dāng)經(jīng)過(guò)100個(gè)epoch之后,灰度編碼方法的準(zhǔn)確率僅為81.4%,而該文提出的雙字節(jié)特征編碼方法的準(zhǔn)確率達(dá)到92.82%,比灰度編碼提高了11.42%。
圖4 特征編碼和灰度編碼的準(zhǔn)確率曲線(xiàn)
由表2可知,特征編碼方法在查準(zhǔn)率P、查全率R和F1值上的表現(xiàn)都優(yōu)于灰度編碼;雙字節(jié)特征編碼在正常樣本和惡意樣本上的查全率分別為93.14%和93.16%,而灰度編碼分別為81.39%和81.41%;雙字節(jié)特征編碼在正常樣本和惡意樣本上的查準(zhǔn)率分別為93.17%和93.14%,而灰度編碼分別為81.42%和81.38%;雙字節(jié)特征編碼在正常樣本和惡意樣本上的F1值為93.15%,而灰度編碼分別為81.4%和81.39%。由此可知,該文提出的雙字節(jié)特征編碼的性能遠(yuǎn)優(yōu)于傳統(tǒng)的灰度編碼方法。
表2 度量性能
針對(duì)傳統(tǒng)的惡意代碼檢測(cè)技術(shù)存在漏報(bào)、誤報(bào)以及資源浪費(fèi)等的不足,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)技術(shù)在圖像分類(lèi)上的優(yōu)異表現(xiàn),提出了一種新的雙字節(jié)特征編碼方法。該方法通過(guò)將待檢測(cè)的PE文件的單個(gè)數(shù)值特征和非數(shù)值特征中子特征數(shù)目超過(guò)16的編碼為2個(gè)字節(jié),并將編碼后的所有字節(jié)轉(zhuǎn)換為灰度圖像,然后使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行特征提取并檢測(cè)。在帶有標(biāo)簽的EMBER數(shù)據(jù)集中的數(shù)據(jù)上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)為60萬(wàn)條,其中良性樣本和惡意樣本數(shù)各30萬(wàn)條。實(shí)驗(yàn)結(jié)果表明,提出的雙字節(jié)特征編碼方法通過(guò)與卷積神經(jīng)網(wǎng)絡(luò)算法結(jié)合,在6萬(wàn)條測(cè)試集上的準(zhǔn)確率accuracy、查全率P、查準(zhǔn)率R和F1值的表現(xiàn)都優(yōu)于傳統(tǒng)的灰度編碼方法。由此可知,提出的雙字節(jié)特征編碼方法比灰度編碼方法更加有效。
提出的雙字節(jié)特征編碼與傳統(tǒng)的灰度編碼相比具有以下兩個(gè)優(yōu)點(diǎn):
(1)由于提出的雙字節(jié)編碼是將特征編碼為兩個(gè)字節(jié),因此在生成灰度圖像時(shí),不會(huì)造成特征分裂,保存了特征的完整性。
(2)在精度方面,提出的雙字節(jié)編碼方法的損失值僅為2-16,遠(yuǎn)低于灰度編碼的2-10,因此在分類(lèi)性能上大大提升。
提出的雙字節(jié)特征編碼方法存在三點(diǎn)不足:
(1)在對(duì)一些非數(shù)值特征里面的相關(guān)子類(lèi)特征進(jìn)行處理時(shí),并沒(méi)有根據(jù)該特征的特點(diǎn)進(jìn)行對(duì)應(yīng)編碼。
(2)沒(méi)有考慮父特征和子類(lèi)特征的關(guān)聯(lián)性,沒(méi)有將父特征與其對(duì)應(yīng)的子類(lèi)特征進(jìn)行結(jié)合編碼。
(3)在深度學(xué)習(xí)算法方面,CNN網(wǎng)絡(luò)結(jié)構(gòu)上的優(yōu)化也存在不足,并且只使用了一種網(wǎng)絡(luò)架構(gòu)。
未來(lái)的工作可能會(huì)采用新的編碼方法對(duì)非數(shù)值特征里的子類(lèi)特征進(jìn)行編碼,根據(jù)其特點(diǎn)進(jìn)行對(duì)應(yīng)編碼;并且將父特征和子類(lèi)特征進(jìn)行結(jié)合編碼,體現(xiàn)其關(guān)聯(lián)性;并使用更加成熟的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練(例如:VGG-16,Inception-v4等)。