前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇卷積神經(jīng)網(wǎng)絡(luò)總結(jié)范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞:機(jī)器學(xué)習(xí);深度學(xué)習(xí);推薦算法;遠(yuǎn)程教育
深度學(xué)習(xí)(DeepLearning),也叫階層學(xué)習(xí),是機(jī)器學(xué)習(xí)領(lǐng)域研究的分支,它是學(xué)習(xí)樣本數(shù)據(jù)的表示層次和內(nèi)在規(guī)律,在學(xué)習(xí)的過程中獲取某些信息,對于數(shù)據(jù)的解釋有巨大幫助。比如對文字?jǐn)?shù)據(jù)的學(xué)習(xí),在網(wǎng)絡(luò)上獲取關(guān)鍵字,對圖像數(shù)據(jù)的學(xué)習(xí),進(jìn)行人臉識別等等。
一、深度學(xué)習(xí)發(fā)展概述
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域里一種對數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。一句話總結(jié)三者之間的關(guān)系就是:“機(jī)器學(xué)習(xí),實(shí)現(xiàn)人工智能的方法;深度學(xué)習(xí),實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)。深度學(xué)習(xí)目前是機(jī)器學(xué)習(xí)和人工智能領(lǐng)域研究的主要方向,為計算機(jī)圖形學(xué)、計算機(jī)視覺等領(lǐng)域帶來了革命性的進(jìn)步。機(jī)器學(xué)習(xí)最早在1980年被提出,1984年分類與回歸樹出現(xiàn),直到1986年,Rumelhart等人反向傳播(BackPropaga-tion,BP)算法的提出,解決了感知模型只能處理線性分類的問題,1989年出現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNet-works,CNN)也因此得到了一定的發(fā)展。在1990年至2012年,機(jī)器學(xué)習(xí)逐漸成熟并施以應(yīng)用,GeoffreyHinton在2006年設(shè)計出了深度信念網(wǎng)絡(luò),解決了反向傳播算法神經(jīng)網(wǎng)絡(luò)中梯度消失的問題,正式提出了深度學(xué)習(xí)的概念,逐漸走向深度學(xué)習(xí)飛速發(fā)展的時期。隨后,各種具有獨(dú)特神經(jīng)處理單元和復(fù)雜層次結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)不斷涌現(xiàn),深度學(xué)習(xí)技術(shù)不斷提高人工智能領(lǐng)域應(yīng)用方面的極限。
二、深度學(xué)習(xí)主要模型
1、卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetworks,CNN)是指有著深度結(jié)構(gòu)又包含著卷積計算的前饋神經(jīng)網(wǎng)絡(luò)。卷積物理上理解為系統(tǒng)某一時刻的輸出是有多個輸入共同疊加的結(jié)果,就是相當(dāng)于對一個原圖像的二次轉(zhuǎn)化,提取特點(diǎn)的過程。卷積神經(jīng)網(wǎng)絡(luò)實(shí)際上就是一個不斷提取特征,進(jìn)行特征選擇,然后進(jìn)行分類的過程,卷積在CNN里,首先對原始圖像進(jìn)行特征提取。所以卷積神經(jīng)網(wǎng)絡(luò)能夠得到數(shù)據(jù)的特征,在模式識別、圖像處理等方面應(yīng)用廣泛。一個卷積神經(jīng)網(wǎng)絡(luò)主要由三層組成,即卷積層(convolutionlayer)、池化層(poolinglayer)、全連接層(fullyconnectedlayer)。卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心部分,通過一系列對圖像像素值進(jìn)行的卷積運(yùn)算,得到圖像的特征信息,同時不斷地加深節(jié)點(diǎn)矩陣的深度,從而獲得圖像的深層特征;池化層的本質(zhì)是對特征圖像進(jìn)行采樣,除去冗雜信息,增加運(yùn)算效率,不改變特征矩陣的深度;全連接將層間所有神經(jīng)元兩兩連接在一起,對之前兩層的數(shù)據(jù)進(jìn)行分類處理。CNN的訓(xùn)練過程是有監(jiān)督的,各種參數(shù)在訓(xùn)練的過程中不斷優(yōu)化,直到得到最好的結(jié)果。目前,卷積神經(jīng)網(wǎng)絡(luò)的改進(jìn)模型也被廣泛研究,如全卷積神經(jīng)網(wǎng)絡(luò)(FullyConvolutionalNeuralNetworks,F(xiàn)CN)和深度卷積神經(jīng)網(wǎng)絡(luò)(DeepConvolutionalNeuralNetworks,DCNN)等等。2、循環(huán)神經(jīng)網(wǎng)絡(luò)區(qū)別于卷積神經(jīng)網(wǎng)絡(luò)在圖片處理領(lǐng)域的應(yīng)用,循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)主要應(yīng)用在自然語言處理領(lǐng)域。RNN最大的特點(diǎn)就是神經(jīng)元的輸出可以繼續(xù)作為輸入,再次利用到神經(jīng)元中循環(huán)使用。RNN是以序列的方式對數(shù)據(jù)進(jìn)行讀取,這也是RNN最為獨(dú)特的特征。RNN的串聯(lián)式結(jié)構(gòu)適用于時間序列的數(shù)據(jù),可以完好保持?jǐn)?shù)據(jù)中的依賴關(guān)系。循環(huán)神經(jīng)網(wǎng)絡(luò)主要有三層結(jié)構(gòu),輸入層,隱藏層和輸出層。隱藏層的作用是對輸入層傳遞進(jìn)來的數(shù)據(jù)進(jìn)行一系列的運(yùn)算,并將結(jié)果傳遞給輸出層進(jìn)行輸出。RNN可用于許多不同的地方。下面是RNN應(yīng)用最多的領(lǐng)域:1.語言建模和文本生成,給出一個詞語序列,試著預(yù)測下一個詞語的可能性。這在翻譯任務(wù)中是很有用的,因?yàn)樽钣锌赡艿木渥訉⑹强赡苄宰罡叩膯卧~組成的句子;2.語音識別;3.生成圖像描述,RNN一個非常廣泛的應(yīng)用是理解圖像中發(fā)生了什么,從而做出合理的描述。這是CNN和RNN相結(jié)合的作用。CNN做圖像分割,RNN用分割后的數(shù)據(jù)重建描述。這種應(yīng)用雖然基本,但可能性是無窮的;4.視頻標(biāo)記,可以通過一幀一幀地標(biāo)記視頻進(jìn)行視頻搜索。3、深度神經(jīng)網(wǎng)絡(luò)深度神經(jīng)網(wǎng)絡(luò)(deepneuralnetworks,DNN)可以理解為有很多隱藏層的神經(jīng)網(wǎng)絡(luò)。多層神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)DNN其實(shí)也是指的一個東西,DNN有時也叫做多層感知機(jī)(Mul-ti-Layerperceptron,MLP)。DNN內(nèi)部的神經(jīng)網(wǎng)絡(luò)層也是分為三類,輸入層,隱藏層和輸出層,一般來說第一層是輸入層,最后一層是輸出層,而中間的層數(shù)都是隱藏層。深度神經(jīng)網(wǎng)絡(luò)(DNN)目前作為許多人工智能應(yīng)用的基礎(chǔ),并且在語音識別和圖像識別上有突破性應(yīng)用。DNN的發(fā)展也非常迅猛,被應(yīng)用到工業(yè)自動駕駛汽車、醫(yī)療癌癥檢測等領(lǐng)域。在這許多領(lǐng)域中,深度神經(jīng)網(wǎng)絡(luò)技術(shù)能夠超越人類的準(zhǔn)確率,但同時也存在著計算復(fù)雜度高的問題。因此,那些能夠解決深度神經(jīng)網(wǎng)絡(luò)表現(xiàn)準(zhǔn)確度或不會增加硬件成本高效處理的同時,又能提升效率和吞吐量的技術(shù)是現(xiàn)在人工智能領(lǐng)域能夠廣泛應(yīng)用DNN技術(shù)的關(guān)鍵。
三、深度學(xué)習(xí)在教育領(lǐng)域的影響
1、學(xué)生學(xué)習(xí)方面通過網(wǎng)上學(xué)習(xí)的實(shí)時反饋數(shù)據(jù)對學(xué)生的學(xué)習(xí)模式進(jìn)行研究,并修正現(xiàn)有教學(xué)模式存在的不足。分析網(wǎng)絡(luò)大數(shù)據(jù),相對于傳統(tǒng)在線學(xué)習(xí)本質(zhì)區(qū)別在于捕捉學(xué)生學(xué)習(xí)過程,有針對性,實(shí)現(xiàn)學(xué)生個性化學(xué)習(xí)。舉個例子,在學(xué)習(xí)過程中,可以通過學(xué)習(xí)平臺對學(xué)生學(xué)習(xí)課程所花費(fèi)的時間,參與的程度,知識的偏好等等數(shù)據(jù)加以分析。也可以通過學(xué)生學(xué)習(xí)某門課程的次數(shù),鼠標(biāo)點(diǎn)擊次數(shù)、停留的時間等,來推斷學(xué)生學(xué)習(xí)情況。通過以上或類似數(shù)據(jù)匯總分析,可以正向引導(dǎo)學(xué)生學(xué)習(xí),并給予積極的學(xué)習(xí)評價。這種利用計算機(jī)收集分析出來的客觀數(shù)據(jù),很好展示了學(xué)生學(xué)習(xí)行為的結(jié)果,總結(jié)學(xué)習(xí)規(guī)律,而不需要教師多年的教學(xué)經(jīng)驗(yàn)來判斷。對于教育研究者而言,利用深度學(xué)習(xí)技術(shù)可以更客觀準(zhǔn)確地了解學(xué)生,使教學(xué)工作良好發(fā)展更進(jìn)一步。2、教學(xué)方面學(xué)習(xí)平臺的數(shù)據(jù)能夠?qū)虒W(xué)模式的適應(yīng)度進(jìn)行預(yù)測,通過學(xué)生的考試成績和對教師的線上評價等加以分析,能夠預(yù)測出某一階段的教學(xué)方式發(fā)發(fā)是否可行,影響如何。通過學(xué)生與教師的在線互動,學(xué)生測驗(yàn)時完成的時間與完成的結(jié)果,都會產(chǎn)生大量的有效的數(shù)據(jù),都可以為教師教學(xué)支持服務(wù)的更好開展提供幫助,從而避免低效率的教學(xué)模式造成教學(xué)資源的浪費(fèi)。
四、成人遠(yuǎn)程教育中深度學(xué)習(xí)技術(shù)的可應(yīng)用性
深度學(xué)習(xí)方面的應(yīng)用在眾多領(lǐng)域都取得了成功,比如電商商品推薦、圖像識別、自然語言處理、棋類博弈等等。在遠(yuǎn)程教育方面,深度學(xué)習(xí)的技術(shù)還有很大的發(fā)揮空間,智能網(wǎng)絡(luò)教育的實(shí)現(xiàn)是人們的眾望所盼。若要將深度學(xué)習(xí)技術(shù)應(yīng)用到遠(yuǎn)程教育平臺,首先要清楚學(xué)生的需求和教學(xué)資源如何分配。1、針對學(xué)生的學(xué)習(xí)需求與學(xué)習(xí)特征進(jìn)行分析美國斯坦福大學(xué)克里斯皮希研究團(tuán)隊的研究成果顯示,通過對學(xué)生知識學(xué)習(xí)進(jìn)行時間建模,可以精確預(yù)測出學(xué)生對知識點(diǎn)的掌握情況,以及學(xué)生在下一次學(xué)習(xí)中的表現(xiàn)。深度學(xué)習(xí)的應(yīng)用可以幫助教師推測出學(xué)生的學(xué)習(xí)能力發(fā)展水平。通過學(xué)生與教學(xué)環(huán)境的交互行為,分析其學(xué)習(xí)風(fēng)格,避免教師用經(jīng)驗(yàn)進(jìn)行推斷而產(chǎn)生的誤差。2、教學(xué)資源的利用與分配深度學(xué)習(xí)技術(shù)能夠形成智能的分析結(jié)論。計算機(jī)實(shí)時采集數(shù)據(jù)集,對學(xué)生的學(xué)習(xí)情況加以分析,使教師對學(xué)生的學(xué)習(xí)狀態(tài)、情緒狀態(tài)等有更加清晰、準(zhǔn)確的了解。有了上面良好的教學(xué)模式,教師對學(xué)生的學(xué)習(xí)狀態(tài)有了更準(zhǔn)確的掌握,對學(xué)生的學(xué)習(xí)結(jié)果就有了更科學(xué)的教學(xué)評價。基于深度學(xué)習(xí)的人工智能技術(shù),還可以輔助教師實(shí)現(xiàn)智能閱卷,通過智能閱卷自動總結(jié)出學(xué)習(xí)中出現(xiàn)的問題,幫助教師減少重復(fù)性勞動,減輕教師負(fù)擔(dān)。作為成人高校,遠(yuǎn)程教育是我們的主要教學(xué)手段,也是核心教學(xué)方式,學(xué)校的教學(xué)必定是在學(xué)生方便學(xué)習(xí)的同時,以學(xué)生的學(xué)習(xí)效果為重。通過深度學(xué)習(xí)技術(shù),可以科學(xué)地分析出學(xué)生的學(xué)習(xí)效果,對后續(xù)教與學(xué)給予科學(xué)、可靠的數(shù)據(jù)支撐。我們可以在平臺上為每位同學(xué)建立學(xué)習(xí)模型,根據(jù)學(xué)生的學(xué)習(xí)習(xí)慣為其定制個性化方案,按他們的興趣進(jìn)行培養(yǎng),發(fā)揮他們專業(yè)的潛能。同時,可以將學(xué)生正式在線參加學(xué)習(xí)和考試的學(xué)習(xí)行為和非學(xué)習(xí)時間瀏覽網(wǎng)站的行為結(jié)合到一起,更加科學(xué)地分析出學(xué)生在學(xué)習(xí)網(wǎng)站上感興趣的地方。采用深度學(xué)習(xí)算法,根據(jù)學(xué)生學(xué)習(xí)行為產(chǎn)生的海量數(shù)據(jù)推算出學(xué)生當(dāng)前狀態(tài)與目標(biāo)狀態(tài)之間的差距,做到精準(zhǔn)及時的學(xué)習(xí)需求反饋。有助于幫助學(xué)生明確學(xué)習(xí)目標(biāo),教師確立教學(xué)目標(biāo),真正做好因材施教?;谏疃葘W(xué)習(xí)各種智能識別技術(shù),可以為教師的線上教學(xué)活動增光添彩,在反饋學(xué)生學(xué)習(xí)狀態(tài)的同時,采用多種形式的教學(xué)方法吸引學(xué)生的注意力,增強(qiáng)教學(xué)活動的互動性,達(dá)到良好的教學(xué)效果。
Abstract:the mechanical transmission system is widely used in national defense, aerospace, production and other fields of industry. Among them, the gear transmission system is the most frequently used mechanical transmission mechanism. However, because of long time of mechanical work, gear wear and tear parts easily happened, and lead to the occurrence of a variety of mechanical failure. In this paper, the author analyzes the gear transmission process, the system fault diagnosis methods and solutions.
關(guān)鍵詞:機(jī)械傳動系統(tǒng);故障診斷及解決
Keywords: mechanical transmission system; Troubleshooting and solutions
1. 引言
機(jī)械傳動系統(tǒng)廣泛運(yùn)用于國防、航天航空、生產(chǎn)等各個領(lǐng)域及行業(yè)中,因此,確保其安全性和可靠性具有非常重要的意義。齒輪傳動系統(tǒng),作為當(dāng)今世界上運(yùn)用頻率最高的機(jī)械傳動系統(tǒng)之一,對其故障的早期、及時診斷和解決,不僅有利于經(jīng)濟(jì)合理地安排設(shè)備維修的時間,更能有效避免重大人身或設(shè)備傷亡事故的發(fā)生。
2. 齒輪傳動系統(tǒng)故障的診斷方法
2.1 常見齒輪傳動系統(tǒng)故障
根據(jù)經(jīng)驗(yàn)總結(jié),常見的齒輪傳動故障一般可分為兩種:一種是分布在一個齒輪的各個輪齒上的分布式故障;另一種則是只集中于一個齒輪的某一個或者某幾個輪齒上的局部故障。以下就具體的系統(tǒng)故障做診斷方法分析。
2.2 齒輪故障的診斷方法
2.2.1 小波分析方法
小波變換是一種多分辨率的時頻分析方法。目前,齒輪傳動故障分析中使用最廣泛的小波分析方法是二進(jìn)離散小波變換法。而隨著小波分析技術(shù)的不斷發(fā)展,和計算機(jī)容量、運(yùn)算能力的飛速提高,連續(xù)小波變換也開始逐步應(yīng)用于齒輪傳動故障的診斷分析。而且,與二進(jìn)離散小波變換相比,連續(xù)小波具有時間和尺度網(wǎng)格劃分更細(xì)致、小波基無需正交和具有“時(移)不變”特性等多方面優(yōu)勢,更適合機(jī)械動態(tài)信號的檢測和故障診斷。
2.2.2 神經(jīng)網(wǎng)絡(luò)分析方法
神經(jīng)網(wǎng)絡(luò),在充分學(xué)習(xí)經(jīng)驗(yàn)樣本的基礎(chǔ)上,將知識轉(zhuǎn)換成為神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,并將其存儲在整個神經(jīng)網(wǎng)絡(luò)中。雖然神經(jīng)網(wǎng)絡(luò)模型可以映射出故障征兆的特征空間和模式空間,但是它不能解釋故障診斷的技術(shù)內(nèi)容和實(shí)質(zhì),因此又相當(dāng)于知識表達(dá)的“黑箱結(jié)構(gòu)”。人工神經(jīng)元網(wǎng)絡(luò),是基于對人大腦中神經(jīng)元結(jié)構(gòu)特性的模仿,而建立起來的一種簡單的非線性動力學(xué)互聯(lián)網(wǎng)絡(luò)。人工神經(jīng)元網(wǎng)絡(luò)的優(yōu)點(diǎn)很多,例如:具有大規(guī)模并行處理能力、適應(yīng)性學(xué)習(xí)和處理復(fù)雜多模式。BP網(wǎng)絡(luò)、Hopfield網(wǎng)絡(luò)和BAM網(wǎng)絡(luò)是齒輪傳動系統(tǒng)故障診斷領(lǐng)域常用的3種神經(jīng)網(wǎng)絡(luò)。其中,BP網(wǎng)絡(luò)可以看作是一個靜態(tài)的系統(tǒng),具有模式分類能力。
2.2.3 獨(dú)立變量分解法
之所以使用獨(dú)立變量分別是存在兩方面原因的。一方面,由于齒輪箱體表面測量到的振動信號是齒輪傳動系統(tǒng)的振源信號與系統(tǒng)結(jié)構(gòu)的脈沖響應(yīng)函數(shù)的卷積,直接對齒輪傳動的振源信號進(jìn)行故障診斷非常困難;另一方面,獨(dú)立分量分析法(ICA)是具有盲源分離和盲反卷積功能的新型多變量數(shù)據(jù)統(tǒng)計方法。因此,獨(dú)立分量分析法在齒輪傳動系統(tǒng)故障的診斷中具有非常重要的作用。根據(jù)ICA盲源分離原理進(jìn)行齒輪傳動故障診斷的方法主要可分為3類:①振動信號的盲源分離;②振動信號的單向分解;③利用部分已知信息進(jìn)行盲源分離。ICA反卷積運(yùn)算方法也是多種多樣,例如:窄帶信號卷積模型法。
3. 齒輪故障的解決方法
3.1 正確安裝和使用齒輪傳動系統(tǒng),是預(yù)防系統(tǒng)故障發(fā)生的重要環(huán)節(jié)
只有嚴(yán)格遵守相應(yīng)的安裝程序和操作技能要求,對齒輪傳動系統(tǒng)進(jìn)行正確的安裝和使用,才能確保機(jī)械設(shè)備的正常運(yùn)行。首先,要注意齒輪安裝的精度要求。齒輪安置精度的肯定,要在連系傳動齒輪的承載本領(lǐng)和使用壽命的基礎(chǔ)上舉行肯定。其次,不管是新安置、改換齒輪,仍是檢驗(yàn)安置齒輪,都應(yīng)該嚴(yán)格依照技術(shù)標(biāo)準(zhǔn)請求執(zhí)行。最后,為了防止過度損壞齒輪的軸承或出現(xiàn)斷輪,安裝時切忌用鐵錐敲打。
3.2 正確使用和管理劑,是延長機(jī)械傳動齒輪使用壽命,減少故障發(fā)生的關(guān)鍵環(huán)節(jié)
劑的正確使用和管理,對避免齒輪傳動系統(tǒng)故障的發(fā)生,延長其使用壽命具有至關(guān)重要的作用。一方面,為了防止齒輪的加速老化磨損和使用壽命的不正??s短,應(yīng)該結(jié)合齒輪的運(yùn)轉(zhuǎn)情況、工作條件和環(huán)境等因素,正確使用劑。首先要科學(xué)記錄傳動齒輪的工作情況、每個部位使用的劑型號、使用時間等。然后根據(jù)出廠標(biāo)準(zhǔn)制定維修計劃,并結(jié)合實(shí)際工作環(huán)境和季節(jié)的變化,及時、適當(dāng)?shù)馗鼡Q和加裝劑,保證機(jī)械傳動齒輪的正常工作。另一方面,還應(yīng)該嚴(yán)格以科學(xué)的技術(shù)標(biāo)準(zhǔn)為指導(dǎo),對劑的選擇、使用和更換過程進(jìn)行嚴(yán)格把關(guān)。
3.3 完善生產(chǎn)技術(shù)和管理,對避免機(jī)械傳動齒輪故障也有重要意義
雖然機(jī)械傳動齒輪只是一個生產(chǎn)部件,但它與機(jī)械的軸和軸承都是相互聯(lián)系、相互作用的,每個部件的精度對生產(chǎn)都有重要影響作用。因此,必須嚴(yán)格按照出廠標(biāo)準(zhǔn),對每一個部件進(jìn)行安裝調(diào)試,以保證傳動齒輪和相關(guān)設(shè)備的精度,從而確保生產(chǎn)。日常生產(chǎn)管理過程中,也要在嚴(yán)格按照技術(shù)要求進(jìn)行的基礎(chǔ)上,對其進(jìn)行綜合的科學(xué)化管理,避免超負(fù)荷、故障生產(chǎn)。
4. 結(jié)論
齒輪傳動系統(tǒng)在國防、農(nóng)業(yè)、工業(yè)和生產(chǎn)等領(lǐng)域的機(jī)械設(shè)備中都有廣泛的運(yùn)用。因此,及時、早期的診斷和解決齒輪傳動系統(tǒng)中的故障,確保其安全性和可靠性具有非常重要的意義。首先,本文以小波分析方法、神經(jīng)網(wǎng)絡(luò)分析方法和獨(dú)立變量分解法為例,詳細(xì)分析了齒輪故障的的診斷方法,并對故障的解決提出了3點(diǎn)建議:①正確安裝和使用齒輪傳動系統(tǒng);②正確使用和管理劑;③完善生產(chǎn)技術(shù)和管理。
參考文獻(xiàn):
[1]李濤.探析機(jī)械傳動系統(tǒng)關(guān)鍵零部件故障預(yù)測技術(shù)[J].中小企業(yè)管理與科技,2014(8).
[2]閆慧.關(guān)于采煤機(jī)械傳動齒輪失效問題的探討[J].科技創(chuàng)新與應(yīng)用,2011(19).
關(guān)鍵詞:視覺注視;移動端;數(shù)據(jù)集;行為推測
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)01-0254-03
Abstract: With the development of computer vision application technology, the behavior prediction of eye gaze has been widely concerned by many scholars at home and abroad, and also has important research significance in the field of biological information recognition. In the era of smart phone tablet popularity to improve human-computer interaction and accurate prediction of the mobile side of the user gaze behavior becomes particularly important. Based on the existing research on visual technology, this paper proposes a scheme to solve the gaze behavior of mobile users by using large data combined with machine learning and convolution neural network knowledge, and analyzes the importance of large-scale data sets in visual application.
Key words: visual gaze; mobile end; data set; behavior conjecture
1 概述
伴S著計算機(jī)軟硬件性能和互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,大規(guī)模的并行計算技術(shù)突飛猛進(jìn),不斷地發(fā)展使各種現(xiàn)有技術(shù)變得越來越成熟,同時機(jī)器學(xué)習(xí)和計算機(jī)視覺領(lǐng)域也都得到了飛速發(fā)展。視覺技術(shù)的發(fā)展變得越來越重要,并且可以應(yīng)用到實(shí)際生活中的很多方面。人類大量的視覺信息現(xiàn)在可以利用計算機(jī)來輔助處理,并完成相關(guān)的一些工作。相對于生物信息識別技術(shù)這一計算機(jī)視覺領(lǐng)域的熱點(diǎn)技術(shù)來說,也已廣泛應(yīng)用于日常生活中[1]。比如指紋識別器,人臉考勤器等平時在許多地方可以經(jīng)常見到,還有居民家用的攝像頭智能報警系統(tǒng)以及近期炒得火熱的運(yùn)用支付寶進(jìn)行刷臉而完成的支付技術(shù)等,這些都是運(yùn)用了生物信息識別技術(shù)?,F(xiàn)實(shí)中的種種跡象已經(jīng)表明運(yùn)用生物信息識別的計算機(jī)技術(shù)已漸漸的滲透到人們的日常生活中并成為不可或缺的組成部分。時下發(fā)展較快也比較常見的生物特征有視網(wǎng)膜、指紋、人臉和人眼等。這些生物信息比如人臉具有個體差異性和自身穩(wěn)定性特點(diǎn),從用戶的角度來看該特征具有便攜和低侵入等一些優(yōu)點(diǎn)。而人眼作為人臉中最顯著的特征,又是人們獲取外界信息最直接最方便的途徑。都說眼是心靈的窗戶,因?yàn)檠劬χ刑N(yùn)含著表情、意圖等多種信息。因此,眼睛注視的行為預(yù)測受到了國內(nèi)外眾多學(xué)者的廣泛關(guān)注,同時在生物信息識別領(lǐng)域中也具有重要的研究意義[2]。
2 注視預(yù)測問題
2.1 問題的背景
在心理、認(rèn)知和用戶交互研究中的注視跟蹤最近已朝向移動解決方案發(fā)展,因?yàn)樗鼈兪沟每梢灾苯釉u估用戶在自然環(huán)境中的視覺注意。 除了注意,注視還可以提供關(guān)于用戶的動作和意圖的信息:用戶正在做什么以及接下來將做什么。然而,在自然狀態(tài)下非結(jié)構(gòu)化的任務(wù)中注視行為是相當(dāng)復(fù)雜的,并且不能使用在受控的實(shí)驗(yàn)室環(huán)境中創(chuàng)建的模型來得到令人滿意的解釋。自然條件下和實(shí)驗(yàn)室環(huán)境有著很大的不同。為了演化在自然環(huán)境中對注視行為的推斷,需要一種更加整體的方法,將從認(rèn)知科學(xué)到機(jī)器學(xué)習(xí)的許多學(xué)科結(jié)合在一起[3]。
從人機(jī)交互技術(shù)到醫(yī)學(xué)診斷到心理學(xué)研究再到計算機(jī)視覺,眼睛注視跟蹤在許多領(lǐng)域都有應(yīng)用。注視是外部可觀察的人類視覺注意的指標(biāo),許多人試圖記錄它。對于眼睛視線方面的研究可以追溯到十八世紀(jì)后期。而現(xiàn)如今已經(jīng)存在各種解決方案(其中許多是商業(yè)化的),但是所有的解決方案都具有以下一個或多個方面的問題:高成本(例如,Tobii X2-60),定制或侵入性硬件(例如,Eye Tribe,Tobii EyeX)。然而在現(xiàn)實(shí)中的自然條件下,這些因素對實(shí)際的應(yīng)用會造成一些障礙影響,使得眼睛注視跟蹤不能成為任何具有合理的相機(jī)(例如,智能手機(jī)或網(wǎng)絡(luò)攝像頭)的人應(yīng)該可以使用的普及技術(shù)。如何才能使得這種技術(shù)普及并且得到應(yīng)用,提出了一種解決方案。
2.2問題的提出
研究中首先要解決的就是用戶的約束問題,也就是自然條件下使用過程中所受到的各種限制問題。到目前為止,基于注視數(shù)據(jù)推斷用戶動作的研究受到許多的限制,特別是在自然環(huán)境中。限制因素可能包括可用的商業(yè)解決方案的昂貴性,其專有性和封閉性以及缺乏實(shí)時交互能力等方面。目前的注視跟蹤系統(tǒng),只是盡量在移動設(shè)置中設(shè)置各種條件進(jìn)行補(bǔ)救。商業(yè)化定制化的解決方案都有其獨(dú)自的閉合性質(zhì),因此阻礙了注視跟蹤算法的發(fā)展,并且使得不同方法之間的客觀比較變得不可能[4]。此外,注視是一種復(fù)雜的現(xiàn)象,涉及認(rèn)知過程的相互作用。這些過程在設(shè)置計算上的建模是非常困難的,尤其是涉及一些未知因素,使得構(gòu)建實(shí)驗(yàn)設(shè)置成為一個很大的挑戰(zhàn)。此外,來自跟蹤實(shí)驗(yàn)的數(shù)據(jù)因?yàn)槠渖虡I(yè)化的原因很少共享,即使共享數(shù)據(jù)很大部分也是有其獨(dú)立的實(shí)驗(yàn)條件。這些方面的問題都阻礙了跨學(xué)科方法在分析和利用注視數(shù)據(jù)和實(shí)驗(yàn)的相關(guān)研究與發(fā)展。
2.3 解決問題的研究方向
對基于注視的推斷的個體貢獻(xiàn)通常保持孤立,不能形成更大的整體以促進(jìn)對注視動作行為的研究。隨著這方面的技術(shù)發(fā)展和應(yīng)用,最近出現(xiàn)了一些開源的解決方案。雖然在不同的應(yīng)用和用戶界面中使用注視已經(jīng)相當(dāng)有限,但是移動注視跟蹤的新穎應(yīng)用開始出現(xiàn)并得到了很快的發(fā)展。然而使用移動注視跟蹤來推斷用戶動作的問題是高度多學(xué)科的,需要深入理解各個研究領(lǐng)域,包括人眼的功能,數(shù)學(xué)建模,計算機(jī)視覺,機(jī)器學(xué)習(xí),信息技術(shù),認(rèn)知過程,用戶交互以及心理學(xué)。任何一個研究員或甚至任何研究小組都不可能擁有所有研究領(lǐng)域的專家,因此需要相互的協(xié)作共同推進(jìn)技術(shù)的發(fā)展[5]。
目前的研究主要是從以下幾個方面進(jìn)行:
1)研究移動注視跟蹤的認(rèn)知方面,例如增強(qiáng)對任務(wù)中的注視行為的理解或識別不同任務(wù)的特征和階段;
2)開發(fā)用于從注視數(shù)據(jù)推斷用戶動作的計算方法,諸如應(yīng)用機(jī)器學(xué)習(xí)用于行為推斷,優(yōu)選地實(shí)時地;
3)增強(qiáng)用于改善移動注視跟蹤方法和性能的技術(shù)軟件/硬件解決方案,并使得設(shè)備更容易訪問;
4)發(fā)現(xiàn)注視數(shù)據(jù)在自然環(huán)境和虛擬和增強(qiáng)現(xiàn)實(shí)應(yīng)用中的潛在用途,以及定義任務(wù),其中注視可以是用戶動作的有用的預(yù)測器。
3 解決方案
首先選擇移動端進(jìn)行研究,因?yàn)槟壳氨容^普遍的移動設(shè)備比如智能手機(jī)、平板電腦都有自己可靠的工作系統(tǒng),且不需要外部附件。移動設(shè)備相對于其他平臺具有以下優(yōu)勢:
1)使用的廣泛性。據(jù)估計,到2019年,世界上超過三分之一的人口擁有智能手機(jī),遠(yuǎn)遠(yuǎn)超過臺式機(jī)/筆記本電腦用戶;
2)軟硬件技術(shù)升級的采用率較高。大部分的移動設(shè)備具有允許使用擁有計算復(fù)雜數(shù)據(jù)方法的實(shí)時的最新軟硬件;
3)移動設(shè)備上相機(jī)的大量使用已經(jīng)導(dǎo)致相機(jī)技術(shù)的快速開發(fā)和部署;
4)相機(jī)相對于屏幕的固定位置減少了未知參數(shù)的數(shù)量,潛在地允許開發(fā)高精度的校準(zhǔn)跟蹤應(yīng)用。
3.1 注視類型分析
注視估計方法可以分為基于模型或基于外觀[6]。基于模型的方法使用眼睛的幾何模型,并且可以被細(xì)分為基于角膜反射和基于形狀的方法。另一方面,基于形狀的方法從觀察到的眼睛形狀觀察注視方向。這些方法傾向于具有低的圖像質(zhì)量和可變的照明條件?;谕庥^的方法直接使用眼睛作為輸入,并可能在低分辨率圖像上工作。相比基于模型的方法,基于外觀的方法被認(rèn)為需要更大量的用戶特定的訓(xùn)練數(shù)據(jù)。通過使用深度學(xué)習(xí)和大規(guī)模數(shù)據(jù)不必依賴于視覺,以實(shí)現(xiàn)準(zhǔn)確的無校準(zhǔn)注視估計。這種方案提出建立一個基于外觀的數(shù)據(jù)模型,而不使用任何手工設(shè)計的功能,例如頭部姿勢或眼球中心位置。
3.2 技術(shù)方案
深度學(xué)習(xí)的最近成功在計算機(jī)視覺的各種領(lǐng)域中是顯而易見的,但是它對改善眼睛跟蹤性能的影響還是相當(dāng)有限。因?yàn)樯疃葘W(xué)習(xí)是需要大量的數(shù)據(jù)作為支持,而視線追蹤這方面的數(shù)據(jù)集還比較少,普通的研究所得到的稻菁比較有限,最大的數(shù)據(jù)集通常只是具有50個受試者左右,由于缺乏大規(guī)模數(shù)據(jù)的可用性,因此發(fā)展比較緩慢。因而提出了使用深度學(xué)習(xí)進(jìn)行研究的一套方案,就是構(gòu)造大規(guī)模的數(shù)據(jù)集。利用網(wǎng)絡(luò)資源構(gòu)造一個大規(guī)模的基于移動的眼動跟蹤數(shù)據(jù)集,它包含來自各種背景的大量的受試者,在可變照明條件和不受限制的頭部運(yùn)動下記錄[7]。運(yùn)用現(xiàn)有的智能算法得到一個可以進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)端到端的注視預(yù)測的后臺決策網(wǎng)絡(luò)。不依賴任何預(yù)先存在的系統(tǒng),不需要頭部姿態(tài)估計或其他手動設(shè)計的特征用于預(yù)測。使用只有雙眼和臉部的特征訓(xùn)練網(wǎng)絡(luò),在這個領(lǐng)域的性能優(yōu)于現(xiàn)有的眼睛跟蹤方法。雖然現(xiàn)在的決策網(wǎng)絡(luò)在精度方面實(shí)現(xiàn)了很先進(jìn)的性能,但是數(shù)據(jù)輸入的大小和參數(shù)的數(shù)量使得難以在移動設(shè)備上實(shí)時使用。 為了解決這個問題,需要培養(yǎng)學(xué)習(xí)得到一個更小更快的網(wǎng)絡(luò),在移動設(shè)備上實(shí)現(xiàn)實(shí)時性能,使得精度損失進(jìn)一步降低。
3.3 大規(guī)模數(shù)據(jù)集
為了達(dá)到這一方案的預(yù)測效果,首先要進(jìn)行的是數(shù)據(jù)集的建立。網(wǎng)絡(luò)上相關(guān)的研究中有許多公開的注視數(shù)據(jù)集[8]??偨Y(jié)對比這些相關(guān)的數(shù)據(jù)集,分析出有些早期的數(shù)據(jù)集不包含顯著性的頭部姿勢變化或具有粗略的注視點(diǎn)采樣密度。需要對這些數(shù)據(jù)進(jìn)行篩選,使得到的數(shù)據(jù)具有隨機(jī)分布特點(diǎn)。雖然一些現(xiàn)代數(shù)據(jù)集遵循類似的方法,但它們的規(guī)模(尤其是參與者的數(shù)量)相當(dāng)有限。大多數(shù)現(xiàn)有的眼動追蹤數(shù)據(jù)集已經(jīng)由邀請實(shí)驗(yàn)室參與者的研究人員收集,這一過程導(dǎo)致數(shù)據(jù)缺乏變化,并且成本高且效率不高。因此需要大量的進(jìn)行數(shù)據(jù)收集和篩選分析。大規(guī)模數(shù)據(jù)可以通過卷積神經(jīng)網(wǎng)絡(luò)有效地識別人臉(他們的眼睛)上的細(xì)粒度差異,從而做出準(zhǔn)確的預(yù)測。
收集眼動跟蹤數(shù)據(jù)應(yīng)該注意的方面:
1)可擴(kuò)展性。數(shù)據(jù)應(yīng)該是自然條件下的使得用戶具有靈活性;
2)可靠性。運(yùn)用現(xiàn)有的智能移動設(shè)備真實(shí)的應(yīng)用圖像而非設(shè)計處理過的圖像;
3)變異性。盡量使數(shù)據(jù)具有較大的變異性,使得模型更加穩(wěn)健,適應(yīng)各種環(huán)境下的操作。
4 結(jié)束語
文章介紹了一種針對移動設(shè)備的用戶注視行為推測解決方案。首先建立一個大規(guī)模眼動跟蹤數(shù)據(jù)集,收集大量的注視數(shù)據(jù)。大型數(shù)據(jù)集的重要性,以及具有大量各種數(shù)據(jù)以能夠訓(xùn)練用于眼睛跟蹤的魯棒模型。然后,訓(xùn)練得到一個深層卷積神經(jīng)網(wǎng)絡(luò),用于預(yù)測注視。通過仔細(xì)的評估,利用深度學(xué)習(xí)可以魯棒地預(yù)測注視,達(dá)到一個較好的水平。此外,雖然眼睛跟蹤已經(jīng)存在了幾個世紀(jì),相信這種新方案的策略可以作為下一代眼動跟蹤解決方案的關(guān)鍵基準(zhǔn)。希望能通過這方面的研究,使人機(jī)交互得到更好的發(fā)展。
參考文獻(xiàn):
[1] 崔耀 視控人機(jī)交互系統(tǒng)技術(shù)研究與實(shí)現(xiàn)[D].西安,西安電子科技大學(xué),2013.
[2] 遲健男, 王志良, 張闖.視線追蹤[M].北京: 機(jī)械工業(yè)出版社, 2011.
[3] Alireza Fathi, Yin Li, and James M Rehg 2012 Learning to recognize daily actions using gaze In Computer VisionCECCV 2012. Springer, 314-327.
[4] Makeroni Labs 2016 Eye of Horus. https://hackaday.io/project/
6638-eye-of-horus-open-source-eye-tracking-assistance (2016) Accessed: 2016-02-26.
[5] Francisco J Parada, Dean Wyatte, Chen Yu, Brandi Emerick, and Thomas Busey,2015.Expert Eyes: Open-source, high-definition eyetracking Behavior research methods ,2015.
[6] 楊彩霞.基于近紅外光源的非接觸式視線跟蹤技術(shù)研究 [D].山東:山東大學(xué),2012.
關(guān)鍵詞:堆疊去噪自編碼器;垃圾郵件;分類;支持向量機(jī);貝葉斯方法
中圖分類號: TP393.098
文獻(xiàn)標(biāo)志碼:A
0引言
電子郵件因?yàn)橐子谑褂?、速度快、溝通方便等原因,已?jīng)成為人們重要的聯(lián)系方式,但與此同時,垃圾郵件的數(shù)量卻急劇地增加:卡巴斯基實(shí)驗(yàn)室的研究發(fā)現(xiàn),2014年第1季度的垃圾郵件數(shù)目占總郵件的66.34%;McAfee實(shí)驗(yàn)室2015年2月的威脅報告表明,2014年,垃圾郵件數(shù)量大概為31.2萬億,占該年郵件總量的69.02%。其中大部分垃圾郵件帶有商業(yè)性質(zhì),但有些郵件可能會包含病毒和其他具有危害性質(zhì)的內(nèi)容,給用戶帶來精力的損耗和財力上的損失,文獻(xiàn)[1]表明,由于垃圾郵件的原因,美國接近360萬用戶的損失高達(dá)32億美元。大量的垃圾郵件同時造成帶寬浪費(fèi)和郵件系統(tǒng)超載。
垃圾郵件過濾方法用來解決上述問題。垃圾郵件過濾的目的是為了隔離垃圾郵件和合法郵件。一般的過濾方式包括:郵件客戶端擴(kuò)展和郵件服務(wù)終端過濾過程,簡單郵件傳送協(xié)議(Simple Mail Transfer Protocol,SMTP)和基于機(jī)器學(xué)習(xí)算法的方法是最常用的垃圾郵件過濾方法。一般來說,基于SMTP的過濾方法通常是指SMTP流量的檢測、電子郵件交換路由驗(yàn)證和經(jīng)過身份驗(yàn)證的SMTP會話。基于啟發(fā)式規(guī)則的方法、黑名單/白名單的方法、協(xié)同垃圾郵件過濾也可以用來過濾垃圾郵件。機(jī)器學(xué)習(xí)方法包括郵件的分析和分類算法的部署。
文獻(xiàn)[2]表明在諸多過濾方法中,機(jī)器學(xué)習(xí)算法獲得更多的應(yīng)用和更好的性能。貝葉斯過濾器因?yàn)橛嬎阈矢?、過濾性能良好得到了廣泛的應(yīng)用,文獻(xiàn)[3]比較了7個版本的貝葉斯過濾器,得出布爾樸素貝葉斯(Boolean Naive Bayes)、多項(xiàng)式布爾樸素貝葉斯(Multinomial Boolean Naive Bayes)、基本樸素貝葉斯(Basic Naive Bayes)具有較好的性能;文獻(xiàn)[4]提出了一些方法用來改進(jìn)樸素貝葉斯過濾器,提高了過濾器的準(zhǔn)確率; 文獻(xiàn)[5]將不同種類核函數(shù)和數(shù)據(jù)表示的支持向量機(jī)應(yīng)用到垃圾郵件過濾中;文獻(xiàn)[6]提出了混合Taguchi方法、Staelin方法來優(yōu)化支持向量機(jī)參數(shù)的選擇過程,并且提高了準(zhǔn)確率。其他的諸如隨機(jī)隨林、人工神經(jīng)網(wǎng)絡(luò)、提升方法(boosting)和裝袋(bagging)等方法也被應(yīng)用到了垃圾郵件過濾。近年來隨著社交網(wǎng)絡(luò)、云計算、網(wǎng)格計算、語義網(wǎng)絡(luò)等技術(shù)的發(fā)展,出現(xiàn)了許多基于上述技術(shù)的垃圾郵件分類器;隨著垃圾郵件中圖像的增加,出現(xiàn)了基于圖像的垃圾郵件分類器,文獻(xiàn)[7]對新技術(shù)和圖像分類應(yīng)用進(jìn)行了介紹。文獻(xiàn)[8]比較了不同的特征選擇和降維技術(shù)對垃圾郵件過濾的影響。文獻(xiàn)[9]研究表明:相對支持向量機(jī)(Support Vector Machine, SVM)、提升方法(boosting)、最大熵方法等“淺層學(xué)習(xí)”方法而言,深度學(xué)習(xí)所學(xué)得的模型中,非線性操作的層級數(shù)更多。 淺層學(xué)習(xí)依靠人工經(jīng)驗(yàn)抽取樣本特征,網(wǎng)絡(luò)模型學(xué)習(xí)后獲得的是沒有層次結(jié)構(gòu)的單層特征;而深度學(xué)習(xí)通過對原始信號進(jìn)行逐層特征變換,將樣本在原空間的特征表示變換到新的特征空間,自動地學(xué)習(xí)得到層次化的特征表示。
去噪自編碼器(Denoising Autoencoder, DA)是深度學(xué)習(xí)中的變形結(jié)構(gòu),和受限玻爾茲曼機(jī)、自編碼器[9](Autoencoder)一樣作為深度學(xué)習(xí)架構(gòu)中的訓(xùn)練模塊,具有良好的學(xué)習(xí)數(shù)據(jù)集特征的能力。通過多個DA的堆疊可形成堆疊去噪自編碼器(Stacked Denoising Autoencoder,SDA) [10]。SDA訓(xùn)練過程中的無監(jiān)督學(xué)習(xí)過程和對數(shù)據(jù)的破壞過程,能進(jìn)一步學(xué)習(xí)到數(shù)據(jù)集中的特征和數(shù)據(jù)結(jié)構(gòu),同時學(xué)習(xí)得到的隱含表示更適用于有監(jiān)督分類。文獻(xiàn)[11]的研究表明,在大部分情況下,SDA要優(yōu)于深度置信網(wǎng)絡(luò)[9](Deep Belief Network, DBN),并且因?yàn)镾DA不需要吉布斯采樣,所以訓(xùn)練更加容易。
本文將一個5層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的堆疊去噪自編碼器應(yīng)用到垃圾郵件過濾,在6個公開數(shù)據(jù)集上進(jìn)行測試,使用準(zhǔn)確率、召回率和馬修斯相關(guān)系數(shù)作為測量標(biāo)準(zhǔn),與在垃圾郵件過濾中應(yīng)用最為廣泛的支持向量機(jī)算法、3種貝葉斯算法和DBN進(jìn)行比較。結(jié)果表明,相對于其他幾種算法:堆疊去噪自編碼具有最好的平均性能和較好的預(yù)測能力。
1堆疊去噪自編碼器
1.1去噪自編碼器
自編碼器 (Autoencoder) [9]的學(xué)習(xí)只是簡單地保留原始輸入數(shù)據(jù)的信息,并不能確保獲得一種有用的特征表示。因?yàn)樽跃幋a器可能僅僅簡單地拷貝原始輸入,或者簡單地選取能夠稍微改變重構(gòu)誤差,卻不包含特別有用信息的特征。為了避免上述情況,并且能夠?qū)W習(xí)更好的特征表示,需要給數(shù)據(jù)表示一定的約束。去噪自編碼器可以通過重構(gòu)含有噪聲的輸入數(shù)據(jù)來解決該問題。
去噪自編碼器所要實(shí)現(xiàn)的功能就是學(xué)習(xí)疊加噪聲的原始數(shù)據(jù),而它學(xué)習(xí)到的特征與從未疊加噪聲的數(shù)據(jù)學(xué)到的特征幾乎一樣, 但去噪自編碼器從疊加噪聲的輸入中學(xué)習(xí)得到的特征更具魯棒性,并且可以避免自編碼器遇到的上述問題,簡單地學(xué)習(xí)相同的特征值。
去噪自編碼器通過一個隨機(jī)的映射變換x~qD(x′|x),對原始輸入數(shù)據(jù)x進(jìn)行“破壞”,從而得到一個有部分損壞的數(shù)據(jù)x′, 其中D表示數(shù)據(jù)集。
去噪自編碼器由編碼器(encoder)、解碼器(decoder)和隱含層組成。編碼器是輸入x∈[0,1]d 的”破壞”版本x′到隱含表示 y∈[0,1]d′的映射,表示為:
y=fθ(x)=s(Wx′+b)(1
這個映射的參數(shù)集合是θ={W,b},s是一個非線性的函數(shù),例如sigmoid,W是一個的d×d′權(quán)值矩陣, b是一個偏置向量。
解碼器函數(shù)gθ′(y)將隱含表示映射回重構(gòu)表示z∈[0,1]d,表示為:
z=gθ′(y)=s(W′y+b′)(2
這個映射的參數(shù)集合是θ′={W′,b′},逆映射的權(quán)值矩陣W′可被約束為權(quán)值矩陣W的轉(zhuǎn)置:即W′=WT,被稱為去噪自編碼器捆綁權(quán)重。b′是一個偏置向量。
這樣每個訓(xùn)練樣例x(i)被映射成一個y(i)和一個重構(gòu)表示z(i),然后通過不斷地調(diào)準(zhǔn)優(yōu)化這個模型的所有參數(shù),從而獲得最小平均重構(gòu)誤差:
L(x,z)=x-z2(3)
使z盡可能地接近初始輸入x,并且z是x′的函數(shù)。 定義聯(lián)合分布函數(shù)為:
q0(X,X′,Y)=q0(X)qD(X′X)δfθ(X′)(Y)(4)
其中:X,X′,Y是隨機(jī)變量,Y是X′的映射函數(shù), q0(X,X′,Y)以θ為參數(shù)。這時就可以通過梯度下降算法最小化目標(biāo)函數(shù):
arg minθ,θ′ Eq0(X,X′)[L(X,gθ′(fθ(X′)))](5
去噪自編碼器的結(jié)構(gòu)圖如圖1所示。
圖片
圖1去噪自編碼器結(jié)構(gòu)
1.2堆疊去噪自編碼器
深度神經(jīng)網(wǎng)絡(luò)可以分為3類:1)生成性深度結(jié)構(gòu),描述數(shù)據(jù)和相應(yīng)類別的聯(lián)合概率分布,如DBN; 2)區(qū)分性深度結(jié)構(gòu),提供對模式分類的區(qū)分性能力,通常描述數(shù)據(jù)的后驗(yàn)分布,如卷積網(wǎng)絡(luò)和堆疊去噪自編碼器; 3)混合型結(jié)構(gòu),目標(biāo)是區(qū)分性的,但通常利用生成型結(jié)構(gòu)的輸出會更易優(yōu)化。
通常情況下,由于網(wǎng)絡(luò)權(quán)值的隨機(jī)初始化,基于梯度的優(yōu)化容易陷入局部最小值。文獻(xiàn)[12]提出了一種新的貪婪逐層非監(jiān)督算法來初始化深度學(xué)習(xí)網(wǎng)絡(luò),文獻(xiàn)[10]使用此算法來初始化基于降噪自編碼器的堆疊去噪自編碼器。訓(xùn)練整個網(wǎng)絡(luò)的參數(shù)后,在使用基于梯度的算法如梯度下降法來微調(diào)網(wǎng)絡(luò)參數(shù)。SDA初始化方法的有效性[13]在多個數(shù)據(jù)集中得到驗(yàn)證。正如受限玻爾茲曼機(jī)的堆疊形成深度置信網(wǎng)絡(luò),去噪自編碼器的堆疊可形成堆疊去噪自編碼器。用疊加噪聲輸入訓(xùn)練每層網(wǎng)絡(luò)的去噪能力,這樣訓(xùn)練出來的每層編碼器可作為一個具有容錯性能的特征提取器,同時學(xué)習(xí)得到的特征表示具有更好的健壯性。
SDA 的網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。通過圖1中的步驟首先破壞原始數(shù)據(jù),然后最小化重構(gòu)誤差,訓(xùn)練第1層去噪自編碼器,從而學(xué)習(xí)得到了編碼器函數(shù)fθ。接下來使用此函數(shù)學(xué)習(xí)原始的數(shù)據(jù)(如圖2(a)所示),得到的結(jié)果作為第2層去噪自編碼器的輸入,用來訓(xùn)練第2層的去噪自編碼器(如圖2(b)所示),從而學(xué)習(xí)到第2層的編碼器函數(shù)f(2)θ。然后重復(fù)這一過程(如圖2(c)所示),直至所有的去噪編碼器層都已經(jīng)訓(xùn)練完成為止。
圖片
圖2堆疊去噪自編碼器的結(jié)構(gòu)
為了讓堆疊去噪編碼器具有分類識別的功能,需要在堆疊自編碼器神經(jīng)網(wǎng)絡(luò)的最后一個隱藏層之后加個sigmoid分類器,將整個神經(jīng)網(wǎng)絡(luò)訓(xùn)練成能完成分層特征提取和數(shù)據(jù)分類任務(wù)的多重感知器。然后利用有監(jiān)督學(xué)習(xí)規(guī)則,在監(jiān)督學(xué)習(xí)損失函數(shù)上使用梯度下降算法,實(shí)施微調(diào),最小化預(yù)測目標(biāo)的誤差,不斷調(diào)整整個網(wǎng)絡(luò)的參數(shù)。微調(diào)結(jié)構(gòu)如圖3所示。
圖片
圖3分類深度網(wǎng)絡(luò)的微調(diào)結(jié)構(gòu)
2堆疊去噪自編碼器實(shí)現(xiàn)
2.1堆疊去噪自編碼器的參數(shù)更新
去噪自編碼器的最終目的是找出模型最合適的參數(shù),可以按照如下步驟更新參數(shù)。
初始化模型參數(shù):輸入數(shù)據(jù)、可視節(jié)點(diǎn)個數(shù)、隱層節(jié)點(diǎn)個數(shù)、輸入數(shù)據(jù)破壞比例和更新的學(xué)習(xí)率(learning rate),權(quán)值矩陣和偏置向量;根據(jù)數(shù)據(jù)破壞比例,隨機(jī)選取原始數(shù)據(jù),將其值設(shè)置為0,達(dá)到破壞數(shù)據(jù)的目的;使用sigmoid函數(shù)計算輸入數(shù)據(jù)的隱藏表示和重構(gòu)表示;計算輸入數(shù)據(jù)的重構(gòu)誤差;對重構(gòu)誤差使用梯度下降算法,更新參數(shù)。具體過程如算法1。
算法1Denoising AutoEncoder。
程序前
輸入: X, n_vis, n_hid, c_r, l_r;
輸出: W, b, b′。
X′=get_corrupted_input(X, c_r)
1
for iter from 1 to iteration
2)
Y=get_hidden_units(X′, W, b)
3)
Z=get_reconstruction_units(Y, W, b′)
4)
cost=get_cost(X, Z)
5)
for param in parameters(W, b, b′)
6)
gparam=get_gradient(cost, param)
7)
param=param-l_r * gparam
8)
end for
9)
end for
程序后
2.2堆疊去噪自編碼器的預(yù)訓(xùn)練
在堆疊去噪自編碼器的預(yù)訓(xùn)練步驟中,首先應(yīng)該確定隱藏層的數(shù)目,一般情況下,使用3層的去噪自編碼器構(gòu)成深度學(xué)習(xí)網(wǎng)絡(luò)來訓(xùn)練堆疊去噪自編碼器;每一層都訓(xùn)練成去噪自編碼器,并且通過最小化重構(gòu)誤差,更新參數(shù)10次以上。第i-1層的輸出即為第i層的輸入,這樣通過自底向上的方式訓(xùn)練堆疊去噪自編碼器。每一層的數(shù)據(jù)破壞比例和隱藏節(jié)點(diǎn)個數(shù)可以互不相同;最后獲取整個網(wǎng)絡(luò)的參數(shù)。訓(xùn)練步驟如算法2。
算法2Pretrain Step。
程序前
輸入:X,n_layers, n_vis, n_hid[n_layers],c_r[n_layers], l_r[n_layers];
輸出:dA_layers[n_layers], Y_out=X。
1
for i from 1 to n_layers
2)
X′=get_corrupted_input(Y_out,c_r[i])
3)
for iter from 1 to iteration
4)
Y=get_hidden_units(X′,W[i],b[i])
5)
Z=get_reconstruction_units(Y,W[i], b′[i])
6)
cost=get_cost(Y_out, Z)
7)
for param in parameters(W[i], b[i], b′[i])
8)
gparam=get_gradient(cost,param)
9)
param=param-l_r[i] * gparam
10)
end for
11)
end for
12)
Y_out=Y
13)
end for
程序后
2.3堆疊去噪自編碼器的微調(diào)
在堆疊去噪自編碼器的微調(diào)過程中,使用有監(jiān)督學(xué)習(xí)方法優(yōu)化從預(yù)訓(xùn)練步驟中獲得的模型參數(shù)。由于最后一個隱含層只能輸出原始數(shù)據(jù)的重構(gòu),因而不具有分類識別功能。為了讓堆疊去噪編碼器具有分類識別的功能,需要在完成微調(diào)的神經(jīng)網(wǎng)絡(luò)的輸出層之后加入sigmoid分類器,將整個神經(jīng)網(wǎng)絡(luò)訓(xùn)練成能完成分層特征提取和數(shù)據(jù)分類任務(wù)的多重感知器。多重感知器的sigmoid層的參數(shù)和預(yù)訓(xùn)練步驟中去噪自編碼器的sigmoid函數(shù)具有相同的參數(shù),因此可以通過最小化多重感知器的預(yù)測錯誤來不斷微調(diào)模型的參數(shù)。微調(diào)步驟作用在整個堆疊去噪自編碼器過程。微調(diào)的過程如算法3。
算法3Fine Tuning Step。
程序前
input: train_batches, test_batches, iteration, l_r
1
while iter < iteration do
2)
for batch in train_batches
3)
cost=get_finetuning_cost(X)
4)
for i from 1 to n_layers
5)
for param in parameters(W[i], b[i], b′[i])
6)
gparam=get_gradient(cost, param)
7)
param=param-l_r[i]*gparam
8)
end for
9)
end for
10)
valid_error=get_valid_error(batch)
11)
if valid_error
12)
update best_valid_error
13)
test_error=get_test_error(test_batches)
14)
if test_error
15)
update best_test_error
16)
end if
17)
end if
18)
end for
19)
end while
程序后
3實(shí)驗(yàn)與分析
3.1數(shù)據(jù)集
3.1.1數(shù)據(jù)集描述
實(shí)驗(yàn)中使用了6個著名的、數(shù)據(jù)量比較大的、公開的數(shù)據(jù)集Enron[14]。其中Enron1、Enron2和Enron3的合法郵件占多數(shù),而Enron4、Enron5和Enron6的垃圾郵件占多數(shù)。Enron數(shù)據(jù)集中正常郵件是從Enron公司的前員工的郵箱中收集的,垃圾郵件則有不同的來源。6個數(shù)據(jù)集的具體組成如表1。
3.1.2數(shù)據(jù)集預(yù)處理
1)分別從垃圾郵件文件夾和合法郵件文件夾,按照30%的比例隨機(jī)選取文件,然后合起來作為測試集,剩余的70%合起來作為訓(xùn)練集。
2)分別對訓(xùn)練集和測試集進(jìn)行分詞處理,字母小寫化和去除停用詞。
3)將訓(xùn)練集和測試集表示為詞頻逆文檔(Term FrequencyInverse Document Frequency, TFIDF)的向量形式。
4)使用特征值提取技術(shù)對特征值進(jìn)行提取,選取3000個特征值作為實(shí)驗(yàn)特征。
3.2實(shí)驗(yàn)性能測量標(biāo)準(zhǔn)
比較出名的性能指標(biāo)有垃圾郵件準(zhǔn)確率(Spamming precision, Spr),垃圾郵件召回率(Spamming recall, Sre),合法郵件準(zhǔn)確率(Legitimate email precision, Lpr),合法郵件召回率(Legitimate email recall, Lre),準(zhǔn)確率(Accuracy, Acc)。在分類時,垃圾郵件的類標(biāo)設(shè)置為1(正例),合法郵件的類標(biāo)設(shè)置為0(負(fù)例)。其中分類的混淆矩陣(confusion matrix)如表2所示,真正例(True Positive, TP),假負(fù)例(False Negtive, FN),假正例(False Positive, FP),真負(fù)例(True Negtive, TN)。
表格(有表名)
文獻(xiàn)[15]的研究表明,在機(jī)器學(xué)習(xí)的分類問題中,馬修斯相關(guān)系數(shù)(Matthews Correlation Coefficient,MCC)是最好的性能測試指標(biāo)之一。相比其他的指標(biāo),MCC對于準(zhǔn)確率提供了更為平衡的測量。MCC值的返回值介于-1和+1之間:+1,表明是完美的預(yù)測;0,表明是隨機(jī)的預(yù)測;-1,則表明是一個相反的預(yù)測。MCC的計算式如下:
MCC=TP*TN-FP*FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)(6
MCC同時提供了相對合理的評價:現(xiàn)實(shí)情況下,垃圾郵件的數(shù)目要比合法郵件的數(shù)目更高,因此MCC可以自動調(diào)整一個假正例(即合法郵件分類為垃圾郵件)錯誤相對于一個假負(fù)例錯誤的嚴(yán)重程度,隨著垃圾郵件相對于合法郵件的比例的上升,一個假正例錯誤會比一個假負(fù)例錯誤更加嚴(yán)重,即MCC值會降低。
3.3實(shí)驗(yàn)結(jié)果與分析
3.3.1隱藏層節(jié)點(diǎn)數(shù)目選擇對實(shí)驗(yàn)的影響
由文獻(xiàn)[10-11]中一系列的參數(shù)實(shí)驗(yàn)可以總結(jié)出,在大部分?jǐn)?shù)據(jù)集上,SDA一般使用三層隱藏層就可以達(dá)到較優(yōu)的效果,因此本文中使用三層的隱藏層。
首先指出,圖4和圖5中的最低點(diǎn)Acc值是0.7101。這種情況是SDA把所有的郵件都分類為垃圾郵件。圖4中,350,650,950是第一層隱藏層的節(jié)點(diǎn)數(shù)目,30表示第三層隱藏層的節(jié)點(diǎn)數(shù)目;圖5中,350,650,950是第一層隱藏層的節(jié)點(diǎn)數(shù)目,500表示第二層隱藏層的節(jié)點(diǎn)數(shù)目。
圖4中,固定第一、三隱藏層的節(jié)點(diǎn)數(shù)目,SDA在數(shù)據(jù)集Enron 5上的Acc值隨著第二層隱藏層節(jié)點(diǎn)數(shù)目的改變而變化。從圖4中可看出,固定第一、三隱藏層節(jié)點(diǎn)數(shù)目時,當(dāng)?shù)诙庸?jié)點(diǎn)個數(shù)過小或者過大時,Acc值會達(dá)到最低點(diǎn)0.7101,而第二層節(jié)點(diǎn)個數(shù)處于兩者之間時,Acc值正常波動。第二、三隱藏層節(jié)點(diǎn)固定時,可以看出,當(dāng)?shù)谝粚拥墓?jié)點(diǎn)數(shù)目越大時,第二層隱藏層節(jié)點(diǎn)的數(shù)目受到的限制更大。
對于圖4中出現(xiàn)的隨著第二層隱藏層節(jié)點(diǎn)數(shù)目的增加,Acc值會降至最低,可以通過改變第三層隱藏層節(jié)點(diǎn)數(shù)目來改變。圖5中,固定第一、二隱藏層節(jié)點(diǎn)的數(shù)目,SDA在數(shù)據(jù)集Enron 5上的Acc值隨著第三層節(jié)點(diǎn)數(shù)目的改變而變化??梢钥闯觯瑸榱巳〉幂^優(yōu)的結(jié)果,第一層隱藏層的節(jié)點(diǎn)數(shù)越多,第三隱藏層需要的節(jié)點(diǎn)數(shù)也越多。
3.3.2在6個數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
為了書寫方便,下面描述中,Basic表示基本樸素貝葉斯方法、Bool表示布爾樸素貝葉斯方法、MN Bool表示多項(xiàng)式布爾樸素貝葉斯方法。
在6個Enron 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表3~8所示,其中加下劃線的數(shù)據(jù)表示該實(shí)驗(yàn)中最大的MCC值。
表格(有表名)
表3Enron1上各個分類器的實(shí)驗(yàn)結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic91.3385.0993.4896.3692.860.831
Bool96.0051.6163.3297.4972.780.540
MN Bool82.6762.0079.3591.8280.310.578
SVM83.3387.4195.1193.7091.700.796
DBN91.5690.7596.1996.5494.850.875
SDA90.2292.9197.1896.0595.160.882
表格(有表名)
表4Enron2上各個分類器的實(shí)驗(yàn)結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic80.0097.5799.3193.5394.380.850
Bool95.3381.2592.4598.3093.190.836
MN Bool74.0098.2399.5491.7793.020.814
SVM90.6790.6796.8096.8095.230.875
DBN95.9891.6897.0298.6096.750.916
SDA95.9895.5698.4798.6297.830.943
表格(有表名)
表5Enron3上各個分類器的實(shí)驗(yàn)結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic57.33100.00100.0086.2788.410.703
Bool99.3399.3399.7599.7599.640.991
MN Bool62.00100.00100.0087.5889.670.737
SVM91.3396.4898.7696.8396.740.917
DBN96.4489.6795.8498.6396.000.903
SDA92.6799.2999.7597.3297.820.945
表格(有表名)
表6Enron4上各個分類器的實(shí)驗(yàn)結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic94.67100.00100.0086.2196.000.903
Bool98.00100.00100.0094.3498.500.962
MN Bool96.89100.00100.0091.4697.670.941
SVM98.89100.00100.0096.7799.170.978
DBN96.9697.9894.0091.1696.220.901
SDA99.9397.2691.5699.7697.840.942
表格(有表名)
表7Enron5上各個分類器的實(shí)驗(yàn)結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic89.6798.8097.3379.3591.890.825
Bool87.23100.00100.0076.1490.930.815
MN Bool94.29100.00100.0087.7295.950.909
SVM89.4099.7099.3379.2692.280.837
DBN96.3799.4498.6791.7497.040.931
SDA98.7399.4598.6796.9498.710.969
表格(有表名)
表8Enron6上各個分類器的實(shí)驗(yàn)結(jié)果
分類器Sre/%Spr/%Lre/%Lpr/%Acc/%MCC
Basic86.0098.9897.3369.8688.330.757
Bool66.8999.6799.3350.0075.000.574
MN Bool92.8997.2192.0081.1892.670.816
SVM89.7895.2886.6773.8690.050.727
DBN96.3798.5695.7589.7996.210.902
SDA99.0498.4595.3397.0698.110.949
通過觀察6個數(shù)據(jù)集6種分類器的實(shí)驗(yàn)數(shù)據(jù)可以分析:在實(shí)驗(yàn)的大部分?jǐn)?shù)據(jù)集上,SDA垃圾郵件過濾器的性能超過了其他幾種分類器。同時在有些情況下SDA的過濾效果遠(yuǎn)遠(yuǎn)地優(yōu)于SVM和NB分類器:比如在Enron6數(shù)據(jù)集上的結(jié)果表明,SDA的垃圾郵件召回率達(dá)到了99.04%,而SVM卻只達(dá)到了89.78%。這意味著在Enron6數(shù)據(jù)集上,SDA要比SVM多識別9.26%的垃圾郵件,同時因?yàn)榫哂斜萐VM更好的合法郵件召回率,所以相對于SVM,SDA垃圾郵件過濾的總體性能提升要大于9%。在實(shí)際的應(yīng)用中,這些差異將會非常重要。這種對比現(xiàn)象在數(shù)據(jù)集Enron1、Enron2、Enron3和Enron5也可以得到。在數(shù)據(jù)集Enron4上,SDA過濾效果稍遜于SVM,但是相差不大。
對于實(shí)驗(yàn)中所有樸素貝葉斯過濾器,實(shí)驗(yàn)數(shù)據(jù)表明它們之間達(dá)到了相似的結(jié)果,并且不具有太大的差異性。相對堆疊去噪自編碼器過濾器和支持向量機(jī)過濾器在所有的數(shù)據(jù)集上的準(zhǔn)確率(Acc)達(dá)到90%以上,而基于樸素貝葉斯方法的過濾效果要差些。
實(shí)驗(yàn)中的DBN的分類效果,總體上要優(yōu)于其他4幾種分類器,但是SDA的分類效果要稍微優(yōu)于DBN。
表中的實(shí)驗(yàn)數(shù)據(jù)表明堆疊去噪自編碼器在垃圾郵件過濾中具有更好的效果:在實(shí)驗(yàn)的所有數(shù)據(jù)集上,堆疊去噪自編碼器的準(zhǔn)確率(Acc)都高于95%;在實(shí)驗(yàn)的所有數(shù)據(jù)集上,堆疊去噪自編碼器的MCC值都高于0.88,這表明堆疊去噪自編碼器應(yīng)用于垃圾郵件過濾中取得相對完美的預(yù)測。上述結(jié)果表明將堆疊去噪自編碼器應(yīng)用到垃圾郵件過濾中是可行的。
4結(jié)語
本文提出了一種新的基于堆疊去噪自編碼器的垃圾郵件分類器。在6個著名的、數(shù)據(jù)量較大的、公開的數(shù)據(jù)集上進(jìn)行測試,將實(shí)驗(yàn)結(jié)果同基于支持向量機(jī)和貝葉斯方法的垃圾郵件過濾器的結(jié)果進(jìn)行比較。對比分析表明,本文所提出的垃圾郵件過濾器表現(xiàn)出更好的性能。特別是基于堆疊去噪自編碼器的垃圾郵件分類器在6個數(shù)據(jù)集上具有最好的平均性能并且準(zhǔn)確率(Acc)都高于95%。這些表明將堆疊去噪自編碼器應(yīng)用到垃圾郵件過濾中是可行的。
未來的工作將會集中在以下3個方面:1)如何更好地選擇深度置信網(wǎng)絡(luò)隱藏層數(shù)以及每層的單元個數(shù),如何選擇學(xué)習(xí)率等參數(shù)來提高算法的性能。2)在諸如TRE05、TRE06、TRE07等更大的數(shù)據(jù)集上進(jìn)行更多的實(shí)驗(yàn)來驗(yàn)證實(shí)驗(yàn)結(jié)果,同時也希望同一些諸如Bogo filter、Spam Assassin等開源和商業(yè)垃圾郵件過濾器進(jìn)行比較。3)應(yīng)把垃圾郵件過濾看作是共同進(jìn)化問題,因?yàn)槔]件過濾器努力提高預(yù)測能力的同時,垃圾郵件遞送者也不斷地改變垃圾郵件內(nèi)容的表現(xiàn)形式以達(dá)到欺騙過濾器的目的,因此一個有效的垃圾郵件過濾器應(yīng)該能夠有效地檢測垃圾郵件特征的變化,從而不斷地調(diào)整自身的規(guī)則。
參考文獻(xiàn):
[1]GARTNER. Gartner survey shows phishing attacks escalated in 2007; more than $3 billion lost to these attacks[EB/OL].[20150220].http:///it/page.jsp?id=565125.
關(guān)鍵詞:句子相似度計算;Word2Vector;編輯距離;Edit Distance
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)05-0146-02
1 背景
句子的相似度計算在自然語言處理中有著十分廣泛的運(yùn)用。例如,機(jī)器翻譯中相似性文檔的判斷和提取,在問答系統(tǒng)中相似性問題的匹配或者問題與答案之間的匹配判斷等。對于這個相似度的刻畫,主要分為幾個不同的等級,具體為語法層面的相似度,語義層面的相似度,與語用層面的相似度。其計算難度也是層層遞進(jìn)。在具體的應(yīng)用中,只要能達(dá)到語義層面的判斷基本上就可以達(dá)到基本的需求了。目前對句子的語義層面的相似度計算方法主要有基于相同詞匯的方法,使用語義詞典的方法、使用編輯距離的方法,以及基于統(tǒng)計的方法等。其中,基于相同詞匯的方法比較簡單,但是其缺點(diǎn)也十分的明顯,就是對于句子中同義詞的判斷存在不足。相對于基于相同詞匯的方法,使用語義詞典可以很好的處理句子中同義詞的情形,但是語義詞典也存在著需要不斷地更新和維護(hù)詞典庫的缺點(diǎn),而且如果只是單一的使用語義詞典會缺乏對句子本身結(jié)構(gòu)的分析,對最后的計算結(jié)果也有較大的影響。編輯距離一般使用在對句子的快速模糊匹配上,由于其規(guī)定的編輯操作有限,而且對于同義詞的替換也缺乏判斷,因此最后的準(zhǔn)確率也不是很理想。本文基于編輯距離的方法,利用深度學(xué)習(xí)模型Word2Vector來增強(qiáng)其編輯操作的靈活程度,從而克服了單純使用編輯距離對句子的語義理解不足的缺點(diǎn)。本文的第一部分主要介紹了相關(guān)的算法和基礎(chǔ)知識。第二部分主要描述了基于Word2Vector與編輯距離的句子相似度計算方法,第三部分給出了測試結(jié)果以及對該方法的優(yōu)缺點(diǎn)討論,最后第四部分是結(jié)語。
編輯距離方法是指兩個句子間,由一個句子轉(zhuǎn)換到另一個句子所需的最少的編輯操作次數(shù)。這里的編輯操作共有“插入”、“刪除”和“替換”三種。例如:
我是中國人 -> 你是中國人 (把“我”替換為“你”)
我是中國人 -> 我愛中國人 (把“是”替換為“愛”)
我是中國人 -> 是中國人(把”我”刪除)
利用這種方法對兩個句子進(jìn)行相似度比較就像引言中分析的,其優(yōu)點(diǎn)是簡單,速度快。但是缺點(diǎn)也十分明顯,由于編輯操作缺乏一定的靈活性,使得其無法進(jìn)一步的判斷語義層面的含義,比如同義詞,同類、異類詞等,因此,該方法適合于句子間的模糊匹配。
2.2 Word2Vector
Word2Vector是一種將詞匯表示轉(zhuǎn)化為空間向量的技術(shù),主要利用了深度學(xué)習(xí)的思想對語料進(jìn)行訓(xùn)練,通過將句子進(jìn)行分詞,然后將每個詞匯映射成N維的向量,這樣可以將兩個詞匯的相似度比較轉(zhuǎn)化為對兩個向量的相似度比較,可以利用cosine 相似度、歐氏距離等數(shù)學(xué)工具對詞匯進(jìn)行語義分析,其采用了一個具有三層的神經(jīng)網(wǎng)絡(luò),并且根據(jù)詞頻用Huffman編碼技術(shù)將相似詞頻詞匯的隱藏層激活的內(nèi)容出于大致相同的位置,如果哪個詞匯出現(xiàn)的頻率很高,那么它激活的隱藏層的數(shù)目就很少,通過這樣處理可以使得計算的復(fù)雜度大幅度的降低。最后,通過Kmeans聚類方法,將相似的詞向量聚在一起,最后形成了Word2Vector的詞聚類模型。
Word2Vector的輸出結(jié)果可以利用在NLP的很多地方,比如聚類,查找一個詞的同義詞,或者進(jìn)行詞性的分析等。
3 基于Word2Vector與編輯距離的句子相似度計算方法
3.1 問題描述
3.3 按照Word2Vector的詞向量距離來定義編輯操作的系數(shù)
由Word2Vector訓(xùn)練好的模型會將各個詞匯生成一個與其相對應(yīng)的詞向量,計算兩個詞匯對應(yīng)的詞向量便可以知道這兩個詞匯的相似度。如果值為1,說明這兩個詞匯完全一致,如果為0,則表示完全沒有關(guān)系。
這里考慮一種情形,當(dāng)利用替換操作進(jìn)行兩個詞匯的替換時,如果兩個詞匯意思是相近的,那么它的替換代價會相應(yīng)的低一點(diǎn),反之,則會相應(yīng)的高。舉個例子:
我愛故宮
我愛天安門
我愛蘋果
這三個句子我們可以知道1,2兩句更加的接近,因?yàn)樗淼亩际蔷包c(diǎn)。因此待匹配的句子1應(yīng)該會匹配上句子2。為了將詞語的相似度考慮進(jìn)去,這里引入Word2Vector的詞向量來改進(jìn)替換操作的系數(shù)。
假設(shè)兩個詞匯的向量距離為k,k∈[0,1]??紤]到k的值的大小與編輯距離的大小是相反的,這里將更新后的替換操作的系數(shù)設(shè)定為1/(1+k)。這樣更新后的替換操作會根據(jù)不同詞匯之間的距離發(fā)生變化,變化范圍在[0.5,1]之間。而且這個值的范圍不會打破編輯操作里面的平衡,即替換=插入+刪除。更新后的編輯距離公式L=a+1/(1+k)*b + c。
4 實(shí)驗(yàn)及結(jié)果分析
為了驗(yàn)證改進(jìn)的編輯距離算法的有效性,本文自行構(gòu)造了實(shí)驗(yàn)所需的句子集合,本文所用的測試句子一共有400句。其中380句為來自各個不同領(lǐng)域類型的句子。比如,體育,娛樂,軍事,文化,科技,教育等。另外20句為沒有意義的干擾句。這里從380個句子中挑選100句作為參考句子,通過人工評價,比較測試結(jié)果。這里評價按照結(jié)果的質(zhì)量分為3類:1、準(zhǔn)確,2、相關(guān),3、不相關(guān)。其中查準(zhǔn)率P的定義如下所示:
通過實(shí)驗(yàn)可以發(fā)現(xiàn),經(jīng)過改進(jìn)的編輯距離句子相似度匹配算法在準(zhǔn)確度上有了一定的提高和改進(jìn),其中原因便是調(diào)整后的編輯距離算法將同義詞近義詞等通過詞向量給計算出來。但是在實(shí)驗(yàn)中也發(fā)現(xiàn)了一個現(xiàn)象,就是相對來說判斷準(zhǔn)確的句子都是一些短小句,即長度不是很長的句子,而判斷不相關(guān)的句子明顯長度要更長一些。事實(shí)也是如此,當(dāng)句子的長度較長時,通過分詞將一個句子分為一個個短的詞匯來利用詞向量來理解會破壞句子的整體含義。
5 結(jié)束語
本文通過利用Word2Vector模型將詞向量計算引入到編輯距離算法的編輯操作中,從而使得改進(jìn)后的編輯算法對句子具有一定的語義理解能力。通過實(shí)驗(yàn)也比較好的驗(yàn)證了此方法的有效性,尤其是對近義詞與同義詞的理解上有了很大的提升,而算法本身的時間復(fù)雜度相較于編輯距離算法則沒有改變多少。
另外,通過實(shí)驗(yàn)也發(fā)現(xiàn),此方法對短句子的效果非常的明顯,而對于一些長句則還是具有較大的誤差。從對句子本身的分析角度上看,還需要通過對句子進(jìn)行建模才可以達(dá)到比較好的理解匹配。
參考文獻(xiàn):
[1] 李彬, 劉挺, 秦兵, 等. 基于語義依存的漢語句子相似度計算[J]. 計算機(jī)應(yīng)用研究, 2003, 20(12): 15-17.
[2] 孔勝, 王宇. 基于句子相似度的文本主題句提取算法研究[J]. 情報學(xué)報, 2011, 30(6): 605-609.
[3] 賈明靜, 董日壯, 段良濤. 問句相似度計算綜述[J]. 電腦知識與技術(shù): 學(xué)術(shù)交流, 2014 (11): 7434-7437.
[4] 賈熹濱, 李寧, 靳亞. 用于文本情感極性分析的動態(tài)卷積神經(jīng)網(wǎng)絡(luò)超限學(xué)習(xí)算法[J]. 北京工業(yè)大學(xué)學(xué)報, 2017, 43(1): 28-35.
[5] Xu G, Cao Y, Zhang Y, et al. TRM: Computing Reputation Score by Mining Reviews[J]. 2015.
[6] 萬翔, 劉挺, 秦兵, 等. 基于改進(jìn)編輯距離的中文相似句子檢索[J]. 高技術(shù)通訊, 2004, 14(7): 15-19.
[7] 汪衛(wèi)明, 梁東鶯. 基于語義依存關(guān)系匹配的漢語句子相似度計算[J]. 深圳信息職業(yè)技術(shù)學(xué)院學(xué)報, 2014 (1): 56-61.
[8] 裴婧, 包宏. 漢語句子相似度計算在 FAQ 中的應(yīng)用[J]. 計算機(jī)工程, 2009, 35(17): 46-48.