熊蜀峰,孫彤,劉亮亮,孫肖云
(河南農(nóng)業(yè)大學(xué) 信息與管理科學(xué)學(xué)院,河南 鄭州 450002)
機(jī)器學(xué)習(xí)作為人工智能技術(shù)的一個重要分支和基礎(chǔ)技術(shù)被越來越多的人所熟悉,機(jī)器學(xué)習(xí)研究計算機(jī)如何模擬人腦和人類的學(xué)習(xí)機(jī)制,組織現(xiàn)有知識以不斷提高自身性能,并使計算機(jī)智能化。特別是在數(shù)據(jù)科學(xué)和大數(shù)據(jù)領(lǐng)域,機(jī)器學(xué)習(xí)是最核心技術(shù)之一,熟練使用機(jī)器學(xué)習(xí)和其他知識挖掘技術(shù)是培養(yǎng)合格數(shù)據(jù)科學(xué)人才的基本要求[1]。因此,越來越多的高校在人工智能、計算機(jī)科學(xué)與技術(shù)、數(shù)據(jù)科學(xué)和大數(shù)據(jù)技術(shù)等本科專業(yè)(本文將這些專業(yè)稱為計算機(jī)大類專業(yè))開設(shè)機(jī)器學(xué)習(xí)課程。
由于該課程實踐性較強(qiáng),因此在安排機(jī)器學(xué)習(xí)理論知識的講授外,還同步進(jìn)行實踐教學(xué),使學(xué)生通過動手實踐加深對理論知識的理解[2]。以河南農(nóng)業(yè)大學(xué)為例,其開設(shè)的機(jī)器學(xué)習(xí)課程教學(xué)計劃總學(xué)時是48學(xué)時,其中理論與實踐比例為1∶1,即理論課24 學(xué)時,實驗課24學(xué)時,旨在夯實學(xué)生的理論知識,同時培養(yǎng)學(xué)生的動手實踐能力。
分類問題是機(jī)器學(xué)習(xí)應(yīng)用中最普遍的任務(wù),具體應(yīng)用場景包括新聞主題分類、文本情感分析、公文分類、虛假新聞識別[3-5]等。通過實際應(yīng)用場景任務(wù)訓(xùn)練,可以鍛煉學(xué)生解決實際問題的能力,同時也能激發(fā)學(xué)生對本課程的學(xué)習(xí)興趣[6]。因此本文引入了虛假新聞檢測設(shè)計實例,作為機(jī)器學(xué)習(xí)課程的項目教學(xué)案例進(jìn)行探討與研究。
本案例以社交媒體發(fā)布的圖文類新聞消息為分析對象,目的是通過應(yīng)用機(jī)器學(xué)習(xí)相關(guān)技術(shù),設(shè)計出多模態(tài)的虛假新聞檢測模型,用于對社交媒體消息進(jìn)行類別預(yù)測(是和否分別代表虛假新聞和真實新聞)。按照機(jī)器學(xué)習(xí)的流程,首先將數(shù)據(jù)集劃分為訓(xùn)練集、測試集和開發(fā)集。訓(xùn)練集主要用于機(jī)器學(xué)習(xí)模型的訓(xùn)練從而獲得最優(yōu)權(quán)重參數(shù),開發(fā)集主要用于模型超參數(shù)調(diào)優(yōu)和模型過程驗證,測試集用于評估模型的性能。
在這個實驗中,案例使用相關(guān)學(xué)術(shù)文獻(xiàn)公開的多模態(tài)社交媒體新聞信息數(shù)據(jù)集,這個數(shù)據(jù)集由9 527條記錄組成。這個數(shù)據(jù)集中的所有消息都已標(biāo)注了類別信息,其中虛假新聞被標(biāo)記為1 (4 748 條記錄),而真實新聞被標(biāo)記為0 (4 779 條記錄)。表1 為數(shù)據(jù)集的統(tǒng)計信息。
表1 數(shù)據(jù)集統(tǒng)計信息
本案例訓(xùn)練學(xué)生的多模態(tài)信息處理能力,因此模型的輸入是每條新聞的文本和圖像,分別利用BERT 與VGG19提取文本特征與圖像特征。第二階段是特征融合,主要分兩次進(jìn)行。第一次使用Co-Attention捕獲文本特征與圖像特征之間的關(guān)系,第二次則是將第一次融合之后的結(jié)果與文本特征進(jìn)行融合,最終經(jīng)由帶有全連接層的Bi-LSTM網(wǎng)絡(luò)得到預(yù)測結(jié)果,即新聞的標(biāo)簽(虛假的或真實的)。模型的整體結(jié)構(gòu)如圖1所示。
圖1 模型總體結(jié)構(gòu)
1.3.1 文本特征抽取
此案例第一部分是使用BERT預(yù)訓(xùn)練模型來提取文本特征。此模塊的目的是向?qū)W生演示如何采用最新的神經(jīng)網(wǎng)絡(luò)模型來對特征進(jìn)行分布式表示。讓學(xué)生直觀地學(xué)習(xí)傳統(tǒng)的稀疏表示與分布式表示之間的差異。BERT 模型是基于Transformer[7]的大規(guī)模預(yù)訓(xùn)練語言模型,可以獨立地在各個大型數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,然后在特定的任務(wù)中進(jìn)行微調(diào),使其適用于最終的目標(biāo)任務(wù)。BERT利用Transformer編碼器構(gòu)造了一個多層雙向的網(wǎng)絡(luò),由多層Transformer編碼器堆疊而成,每一層編碼器由一個多頭自注意力子層和一個前饋神經(jīng)網(wǎng)絡(luò)子層組成。提取文本特征的過程可以用公式表示為:
其中ti表示輸入的第i 個句子,ht i是其經(jīng)過BERT嵌入后的特征向量。
1.3.2 圖像特征抽取
此模塊的目的是引入經(jīng)典的圖像特征抽取模型,通過對VGG的模型用法演示,訓(xùn)練學(xué)生對圖像特征的處理能力。VGG 是代表性的CNN[8]網(wǎng)絡(luò)之一,VGG19源自VGG 架構(gòu),由不同的層組成,廣泛應(yīng)用于圖像分析。VGG19共有16個卷積層和3個全連接層,此外還有5個最大池化層分布在不同的卷積層之下。由于網(wǎng)絡(luò)結(jié)構(gòu)的深化,VGG19模型在進(jìn)行圖像特征提取時具有更強(qiáng)的學(xué)習(xí)能力。在VGG19網(wǎng)絡(luò)結(jié)構(gòu)中,卷積核的數(shù)量從第一層的64 個開始,逐漸增加到512 個,之后保持不變。此外,由于大量使用小型卷積核(Smallsized Convolutional Kernals) ,VGG19 模型在訓(xùn)練時通常只需要更少的迭代來收斂,從而提高了訓(xùn)練速度。
提取圖像特征的過程可以用公式表示為:
其中i表示輸入的原始圖像,ki是VGG19 提取的圖像特征向量。
1.3.3 多模態(tài)特征融合
本部分重點演示特征融合方法,特別是圖像與文本兩大主流特征信息間的融合。案例中的多模態(tài)特征融合主要是由Co-Attention層完成的,其包括兩個并行的Co-Attention塊,Co-Attention塊的結(jié)構(gòu)如圖2所示。
圖2 Co-Attention組件結(jié)構(gòu)
Co-Attention塊與傳統(tǒng)transformer相比,不同之處在于其多頭注意力的KEYS、VALUES 和QUERYS 來自不同的地方,即如果QUERYS來自文本,那么KEYS和VALUES則來自圖像,反之亦然。如公式所示:
通過將圖像特征與文本特征并行排列,組合成一個Co-Attention 層,Co-Attention 塊A 以文本特征作為Q,圖像特征作為K和V;Co-Attention塊B以圖像特征作為Q,文本特征作為K和V,這樣就實現(xiàn)了文本和圖像之間信息的交互學(xué)習(xí)。
1.3.4 分類模塊
此模塊是模型的最后一個部分,也是最關(guān)鍵的結(jié)果輸出層。主要展示目標(biāo)函數(shù)的選擇。案例中融合后的特征經(jīng)過BiLSTM 網(wǎng)絡(luò)和全連接層處理之后,最終通過Sigmoid 函數(shù)預(yù)測分類結(jié)果,采用二元交叉熵來定義目標(biāo)函數(shù),如公式所示:
其中,y是新聞的真實標(biāo)簽,y?是新聞的預(yù)測標(biāo)簽。
此案例模型的構(gòu)建、訓(xùn)練與測試采用PyTorch 框架進(jìn)行,仿真數(shù)據(jù)可視化采用TensorBoard 展示,主要目的是訓(xùn)練學(xué)生的仿真實驗操作與數(shù)據(jù)分析能力。PyTorch 是首個運行時定義深度學(xué)習(xí)框架,與Tensor-Flow 等靜態(tài)圖形框架的功能和性能相匹配,非常適合從標(biāo)準(zhǔn)卷積網(wǎng)絡(luò)到時間遞歸神經(jīng)網(wǎng)絡(luò)等所有網(wǎng)絡(luò)的構(gòu)建。TensorBoard是一個可視化工具,它可以用來展示網(wǎng)絡(luò)圖、張量的指標(biāo)變化、張量的分布情況等。特別是在訓(xùn)練網(wǎng)絡(luò)的時候,TensorBoard可以設(shè)置不同的參數(shù)(比如:權(quán)重W、偏置B、卷積層數(shù)、全連接層數(shù)等),并且很直觀地進(jìn)行參數(shù)的選擇。它通過運行一個本地服務(wù)器,來監(jiān)聽6006端口。在瀏覽器發(fā)出請求時,分析訓(xùn)練時記錄的數(shù)據(jù),繪制訓(xùn)練過程中的圖像。
為了驗證所提出的模型的有效性,案例選取分類問題常用的Precision、Recall、F1和Accuracy 四個量化指標(biāo)檢驗?zāi)P偷男阅?。圖3是繪制出的模型性能柱狀圖,結(jié)果表明模型在3個指標(biāo)均達(dá)到了90%以上。
圖3 模型性能柱狀圖
為了培養(yǎng)學(xué)生調(diào)試模型的能力,案例中采用可視化技術(shù)給出了模型訓(xùn)練過程中的Accuracy 變化圖與訓(xùn)練輪次-損失值(epoch-loss) 對比圖,如圖4。隨著訓(xùn)練輪次的增加,Accuracy 上升與Loss 下降逐漸平緩,因此在實際工程項目中需要考慮性能與時間耗費上的平衡點。
圖4 Accuracy與Loss變化圖
在調(diào)試模型的過程中,通常需要分析模型中的各個組成部分的重要性以及對性能提升的貢獻(xiàn)度,在機(jī)器學(xué)習(xí)理論中引過程被稱為消融實驗(Ablation study)。本案例在開發(fā)集上進(jìn)行了消融實驗,以研究兩次融合組件的有效性。圖5給出了完整的模型(藍(lán)線)、去除第一次融合后的模型(黃線)和去除第二次融合后的模型(綠線)在每一個輪次訓(xùn)練結(jié)束后的性能對比。如圖5所示,第二次融合組件去除后,模型性能有很大的下降,從而可知第二次融合組件的貢獻(xiàn)大于第一次融合,也反映出文本模態(tài)在虛假新聞檢測中的主導(dǎo)地位。
圖5 融合模塊效果對比(左子圖為Accuracy,右子圖為Loss)
機(jī)器學(xué)習(xí)課程在河南農(nóng)業(yè)大學(xué)開設(shè)了多年,教學(xué)團(tuán)隊積累了豐富的教學(xué)案例資源,根據(jù)每一批學(xué)生的實際情況和教學(xué)重點,設(shè)計了不同的教學(xué)資源。本文以一個多模態(tài)虛假新聞檢測任務(wù)為例,分別從數(shù)據(jù)集構(gòu)建、模型設(shè)計、算法實現(xiàn)及結(jié)果仿真等幾個方面進(jìn)行了詳細(xì)描述。通過完整的案例建設(shè)流程與仿真操作設(shè)計,提供了機(jī)器學(xué)習(xí)實踐教學(xué)案例構(gòu)建的全過程,為相關(guān)教學(xué)機(jī)構(gòu)組織機(jī)器學(xué)習(xí)實踐教學(xué)提供參考思路。