卷積神經(jīng)網(wǎng)絡(luò)的特征范文

時間:2024-04-02 18:03:21

導(dǎo)語:如何才能寫好一篇卷積神經(jīng)網(wǎng)絡(luò)的特征,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

卷積神經(jīng)網(wǎng)絡(luò)的特征

篇1

關(guān)鍵詞: 模式識別; 神經(jīng)網(wǎng)絡(luò); 卷積; 文字識別

中圖分類號: TN711?34; TP391.4 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)20?0019?03

Large pattern online handwriting character recognition based on multi?convolution neural network

GE Ming?tao1, WANG Xiao?li1, PAN Li?wu2

(1. SIAS International School, Zhengzhou University, Zhengzhou 451150, China;

2. Henan University of Animal Husbandry and Economy, Zhengzhou 450011, China)

Abstract: Online handwriting character recognition is an important field in the research of pattern recognition. The traditional recognition method is based on the common convolutional neural networks (CNNs) technology. It has an efficient recognition rate for the small pattern character set online handwriting characters, but has low recognition rate for the large pattern character set recognition. A recognition method based on multi?convolutional neural networks (MCNNs) is presented in this paper to overcome the situation that the previous methods have the low recognition rate for large pattern character set and improve the recognition rate for the large pattern handwriting character set recognition. The stochastic diagonal Levenbert?Marquardt method is used in the system for training optimization. The experimental results show that the proposed method has the recognition rate of 89% and has a good prospect for online handwriting character recognition for large scale pattern.

Keywords: pattern recognition; neural network; convolution; character recognition

0 引 言

隨著全球信息化的飛速發(fā)展和對自動化程度要求的不斷提高 ,手寫文字識別技術(shù)被廣泛地應(yīng)用到許多方面。特別是近幾年擁有手寫功能的手機(jī)、平板電腦等智能電子產(chǎn)品的普及,聯(lián)機(jī)手寫文字識別研究已經(jīng)成為一個備受關(guān)注的主題。聯(lián)機(jī)手寫字符識別要求實(shí)時性較高,識別過程中要求特征空間的維數(shù)比較高,在進(jìn)行特征樣本訓(xùn)練時要求訓(xùn)練的數(shù)目很大,要匹配的特征值或特征對象比較多 [1?2]。

卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNNs)的優(yōu)點(diǎn)在于圖像的識別過程中對視覺模式的獲得是直接從原始圖像中獲得的,所以在設(shè)計(jì)系統(tǒng)時圖像的預(yù)處理工作很少,與一般神經(jīng)網(wǎng)絡(luò)相比是一種高效的識別方法。卷積神經(jīng)網(wǎng)絡(luò)在模式識別的一些領(lǐng)域具有很好的魯棒性,如在識別有變化的模式和對幾何變形的識別方面。利用卷積神經(jīng)網(wǎng)絡(luò)的手寫識別方法具有如下一些優(yōu)點(diǎn):對于要檢測的圖像可以與事先制定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)之間有較高的匹配率;特征提取和模式分類同時進(jìn)行;訓(xùn)練參數(shù)往往是系統(tǒng)計(jì)算量的重要參數(shù),而卷積神經(jīng)網(wǎng)絡(luò)中利用權(quán)值共享技術(shù),這樣就可以大大降低該參數(shù),在設(shè)計(jì)系統(tǒng)結(jié)構(gòu)時使得結(jié)構(gòu)變得更簡單,從而使得整個系統(tǒng)具有更好的適應(yīng)性[3?5]。

目前,人機(jī)交互系統(tǒng)的手寫字符識別、汽車車牌號識別和信息安全中常用的人臉識別等領(lǐng)域都有卷積神經(jīng)網(wǎng)絡(luò)的成功應(yīng)用。文獻(xiàn)[6]用一個4層的卷積神經(jīng)網(wǎng)絡(luò)LeNet?5對Mnist庫進(jìn)行識別實(shí)驗(yàn),獲得了98.4%的識別率,用2層的BP網(wǎng)絡(luò)的識別率[4,6]是87%。許多學(xué)者對卷積神經(jīng)網(wǎng)絡(luò)在聯(lián)機(jī)手寫文字識別方面做了多方位的研究。 但是,這些成功的聯(lián)機(jī)手寫文字識別主要是針對小模式字符集,利用以往的這些方法對大規(guī)模模式分類的聯(lián)機(jī)手寫文字的識別依然有識別率不高的問題。本文介紹了卷積神經(jīng)網(wǎng)絡(luò)的基本概念和一種典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),給出了基于多重卷積神經(jīng)網(wǎng)絡(luò)的字符識別和詞語識別模型。通過使用大字符集的UNIPEN數(shù)據(jù)庫進(jìn)行訓(xùn)練和測試,本文提出的方法在大模式聯(lián)機(jī)手寫識別上,取得了較高的識別速度和滿意的識別率。

1 卷積神經(jīng)網(wǎng)絡(luò)

文獻(xiàn)[6?7]中詳細(xì)地描述了卷積神經(jīng)網(wǎng)絡(luò)如何保證圖像對位移、縮放、扭曲魯棒性能。典型的手寫字符卷積神經(jīng)網(wǎng)絡(luò)LeNET 5的結(jié)構(gòu)圖如圖1所示[6?7]。

圖1 典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

在圖1中,輸入層接收要識別32×32的手寫字符圖像,經(jīng)過簡單的大小歸一化和圖像灰度處理,之后的結(jié)果作為一個采樣層的圖像;然后用一個可學(xué)習(xí)核進(jìn)行卷積操作,卷積結(jié)果經(jīng)過激活函數(shù)的輸出形成這一層的神經(jīng)元,每個神經(jīng)元與輸入圖像的一個5×5的鄰域相連接,從而得到由6幅特征圖組成的第一個隱層(C1層)。每個特征圖有25個權(quán)值(如方向線段,端點(diǎn)、角點(diǎn)等),考慮到邊界效果,得到的特征圖的大小是28×28,小于輸入圖層[3?9]。卷積層的數(shù)學(xué)計(jì)算過程可表示為:

[xlj=fi∈Mjxl-1j*kernellij+blj] (1)

式中:[l] 代表層數(shù);kernel是卷積核;[Mj]代表輸入特征圖的一個選擇。每個輸出圖有一個偏置[b]。

每個卷積層的結(jié)果作為下一個次采樣層的輸入,次采樣層的作用是對輸入信息進(jìn)行抽樣操作。如果輸入的特征圖為n個,則經(jīng)過次采樣層后特征圖的個數(shù)仍然為n,但是輸出的特征圖要變?。ɡ?,各維變?yōu)樵瓉淼?0%)。因此隱層S2是由6個大小為14×14的特征圖組成的次采樣層。次采樣層計(jì)算公式可以用式(2)表示:

[xlj=fβl-1jdown(xl-1j)+blj] (2)

式中down(?) 表示次采樣函數(shù)。次采樣函數(shù)一般是對該層輸入圖像的一個n×n大小的區(qū)域求和,因此,輸出圖像的大小是輸入圖像大小的[1n]。每一個輸出的特征圖有自己的β和b。

類似的,C3層有16個10×10的特征圖組成的卷積層,特征圖的每個神經(jīng)元與S2網(wǎng)絡(luò)層的若干個特征圖的5×5的鄰域連接。網(wǎng)絡(luò)層S4是由16個大小為5×5的特征圖組成的次采樣層。特征圖的每個神經(jīng)元與C3層的一個2×2大小的鄰域相連接。網(wǎng)絡(luò)層C5是由120個特征圖組成的卷積層。每個神經(jīng)元與S4網(wǎng)絡(luò)層的所有特征圖的5×5大小的鄰域相連接。網(wǎng)絡(luò)層F6,包括84個神經(jīng)元,與網(wǎng)絡(luò)層C5進(jìn)行全連接。最后,輸出層有10個神經(jīng)元,是由徑向基函數(shù)單元(RBF)組成,輸出層的每個神經(jīng)元對應(yīng)一個字符類別。RBF單元的輸出yi的計(jì)算方法如式(3)所示:

[yi=j(xj-wij)2] (3)

很多研究人員通過對字符集作彈性訓(xùn)練,經(jīng)測試發(fā)現(xiàn)在MNIST字符集上的識別率可以高達(dá)99%以上[6?7] 。卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢主要是對小模式集上,如對數(shù)字或26個英文字母組成的集合都有著較高的識別率。然而,對大模式集的識別仍然是一個挑戰(zhàn),因?yàn)樵O(shè)計(jì)一個優(yōu)化的并足夠大的單一網(wǎng)絡(luò)是比較困難的,且訓(xùn)練時間也較長。因此,本文的目的旨在通過組合多個對某一字符集有高識別率的卷積神經(jīng)網(wǎng)絡(luò),從而構(gòu)成多重卷積神經(jīng)網(wǎng)絡(luò),進(jìn)而提高卷積神經(jīng)網(wǎng)絡(luò)對大模式集手寫字符的識別率。

2 多重卷積神經(jīng)網(wǎng)絡(luò)

2.1 多重卷積神經(jīng)網(wǎng)絡(luò)字符識別

根據(jù)傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)算過程以及其在處理大模式集手寫字符時存在的不足,本文提出一種多重卷積神經(jīng)網(wǎng)絡(luò)來改進(jìn)傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型,用多個擁有高識別率的小卷積神經(jīng)網(wǎng)絡(luò)組成一個多重卷積神經(jīng)網(wǎng)絡(luò)。每一重小卷積神經(jīng)網(wǎng)絡(luò)對某一具體字符集有較高的識別率,另外,單重卷積神經(jīng)網(wǎng)絡(luò)除了有一個正式的輸出集之外,還產(chǎn)生一個未知的輸出(即難以識別的字符),即如果一個輸入字符沒有被正確識別,它將被輸出為一個未知字符,然后輸入模式轉(zhuǎn)到下一重卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行識別。最后,通過一個拼寫檢查模塊進(jìn)行判斷,選擇最好的結(jié)果輸出。系統(tǒng)的流程如圖2所示。

其中CNN 1是識別手寫數(shù)字的卷積神經(jīng)網(wǎng)絡(luò),CNN 2是識別手寫小寫英文字母的卷積神經(jīng)網(wǎng)絡(luò),該模型具有極強(qiáng)的擴(kuò)展性,可以添加多任意模式的卷積神經(jīng)網(wǎng)絡(luò)(如中文,日文等)。

圖2 多重卷積神經(jīng)網(wǎng)絡(luò)字符識別示意圖

2.2 隨機(jī)對角Levenberg?Marquardt訓(xùn)練方法

傳統(tǒng)的結(jié)構(gòu)比較簡單、單一的卷積神經(jīng)網(wǎng)絡(luò)多采用基本的Back Propagation(BP)規(guī)則訓(xùn)練網(wǎng)絡(luò),往往需要幾百次迭代,網(wǎng)絡(luò)的收斂速度較慢。本文采用LeCun博士提出的隨機(jī)對角Levenberg?Marquardt 算法對網(wǎng)絡(luò)作訓(xùn)練,該算法需要的迭代次數(shù)明顯比基本的BP 算法少[4,9]。隨機(jī)對角Levenberg?Marquardt算法的公式為:

[ηki=ε?2E?w2ij+μ] (4)

式中[ε]是全局的學(xué)習(xí)率,一般取初始值0.01,太大會使網(wǎng)絡(luò)無法收斂,太小則會降低收斂速度,且使網(wǎng)絡(luò)更容易陷入局部極小值,訓(xùn)練過程中可以用啟發(fā)式規(guī)則改變[ε]的值,本文取最下值為5e-005; [?2E?w2ij]是一個估計(jì)值,根據(jù)訓(xùn)練集的大小可以調(diào)整樣本數(shù)量,文中隨機(jī)選取200個樣本估算它的值;[μ]用來避免[?2E?w2ij] 太小時[ηki]的變化過大 。

2.3 多重卷積神經(jīng)網(wǎng)絡(luò)詞句識別

本文提出的多重卷積神經(jīng)網(wǎng)絡(luò)對手寫詞語的識別方法可以簡單地描述為:首先對輸入的手寫圖像進(jìn)行預(yù)處理和分割,然后通過多重卷積神經(jīng)網(wǎng)絡(luò)模塊分別進(jìn)行識別,最后采用單詞識別模塊對識別結(jié)果進(jìn)行判斷,選擇最好的結(jié)果輸出。其過程如圖3所示。

圖3 多重卷積神經(jīng)網(wǎng)絡(luò)聯(lián)機(jī)手寫詞句識別過程

本文提出的多重卷積神經(jīng)網(wǎng)絡(luò)聯(lián)機(jī)手寫文字識別方法克服了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)文字識別的對字符集的限制,每一重卷積神經(jīng)網(wǎng)絡(luò)是一個針對小模式的卷積神經(jīng)網(wǎng)絡(luò),易于訓(xùn)練和優(yōu)化,更重要的是此方案的靈活性非常好易于調(diào)節(jié)參數(shù),可擴(kuò)展性強(qiáng)。每一重卷積神經(jīng)網(wǎng)絡(luò)都具有可重用能力,可以根據(jù)需要加載一個或多個網(wǎng)絡(luò),可以根據(jù)新的模式添加新的網(wǎng)絡(luò)而不需改變或重建原來的網(wǎng)絡(luò)。

3 訓(xùn)練和實(shí)驗(yàn)

為了評估多重卷積神經(jīng)網(wǎng)絡(luò)對基于大模式字符集的聯(lián)機(jī)手寫文字識別的性能,本系統(tǒng)采用MNIST和UNIPEN兩種不同的手寫字符訓(xùn)練集進(jìn)行測試。UNIPEN數(shù)據(jù)庫是在1992年舉行的IEEE IAPR會議上提出并建立的,其目的是創(chuàng)建一個大型的手寫體數(shù)據(jù)庫用于為在線手寫識別提供研究和開發(fā)的基礎(chǔ),得到了多個知名公司或研究所的支持并完成了UNIPEN的規(guī)范設(shè)計(jì)。在進(jìn)行數(shù)據(jù)比對實(shí)驗(yàn)中,本文采用許多研究使用的MNIST手寫數(shù)字?jǐn)?shù)據(jù)庫,該數(shù)據(jù)庫是NEC 研究中心設(shè)計(jì)的,是NIST(The National Institute of Standards and Technology)數(shù)據(jù)庫的一個子集,該訓(xùn)練集中有大量訓(xùn)練樣本和測試用例。本文默認(rèn)用以下定義:

[識別率=正確識別數(shù)樣本總數(shù)×100%]

[失誤率誤識率=錯誤識別數(shù)樣本總數(shù)×100%]

實(shí)驗(yàn)測試是在通用的臺式電腦上進(jìn)行的。整個識別原型系統(tǒng)采用C#編寫,運(yùn)行在.NetFrame 4.5平臺上。經(jīng)測試對MNIST訓(xùn)練集識別正確率可達(dá)[9]99%,對UNIPEN數(shù)字識別正確率可達(dá)97%,對UNIPEN數(shù)字和大寫字母識別正確率可達(dá)89%(1a,1b) ,對UNIPEN小寫字母識別正確率可達(dá)89%(1c) 。圖4是對UNIPEN小寫字母3次訓(xùn)練的均方誤差比較。

圖4 訓(xùn)練的誤差數(shù)據(jù)

從圖4中可以看出,在開始的幾個訓(xùn)練周期內(nèi),均方誤差(MSE)下降得很快,然后在第13個周期后神經(jīng)網(wǎng)絡(luò)達(dá)到一個穩(wěn)定的值,約為0.148 5。也就是說,網(wǎng)絡(luò)在第13個周期后,改善程度就很小。所以修改訓(xùn)練錯誤率的值為0.000 45后重新進(jìn)行18代的第二次訓(xùn)練,均方誤差有所降低。經(jīng)過第三次的訓(xùn)練后趨于穩(wěn)定,對UNIPEN小寫字母識別正確率可達(dá)89%。經(jīng)測試,通過使用隨機(jī)對角Levenberg?Marquardt方法,收斂速度比基本BP算法快了許多,經(jīng)過68代訓(xùn)練后識別正確率可達(dá)89%。

4 結(jié) 語

本文提出了基于多重卷積神經(jīng)網(wǎng)絡(luò)的聯(lián)機(jī)手寫字符的識別方法,通過使用多個識別率高的卷積神經(jīng)網(wǎng)絡(luò)和隨機(jī)對角 Levenberg? Marquardt方法,可以適用于大模式聯(lián)機(jī)手寫識別。經(jīng)過實(shí)驗(yàn)數(shù)據(jù)比較,該方法在大模式聯(lián)機(jī)手寫識別過程中具有很高的識別率,與此同時識別速度也很快,有很好的實(shí)時性,總體效果很好。在當(dāng)今觸摸屏應(yīng)用遍及生產(chǎn)生活的各個方面的趨勢下,該方法有著廣闊的應(yīng)用前景。同時此方法為今后多手寫漢字識別的研究提供了很好的借鑒。

注:本文通訊作者為潘立武。

參考文獻(xiàn)

[1] 吳鳴銳,張鈸.一種用于大規(guī)模模式識別問題的神經(jīng)網(wǎng)絡(luò)算法[J].軟件學(xué)報(bào),2001,12(6):851?855.

[2] 張輝.大規(guī)模聯(lián)機(jī)手寫漢字識別數(shù)據(jù)庫整理、統(tǒng)計(jì)與實(shí)驗(yàn)分析[D].廣州:華南理工大學(xué),2012.

[3] 徐姍姍,劉應(yīng)安,徐,等.基于卷積神經(jīng)網(wǎng)絡(luò)的木材缺陷識別[J].山東大學(xué)學(xué)報(bào):工學(xué)版,2013,43(2):23?28.

[4] 呂剛.基于卷積神經(jīng)網(wǎng)絡(luò)的多字體字符識別[J].浙江師范大學(xué)學(xué)報(bào):自然科學(xué)版,2011,34(4):425?428.

[5] PHAM D V. Online handwriting recognition using multi convolution neural networks [M]. Berlin Heidelberg: Springer, 2012: 310?319.

[6] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient?based learning applied to document recognition [C]// Proceeding of IEEE. USA: IEEE, 1998: 2278?2324.

[7] SIMARD P Y, STEINKRAUS Dave, PLATT John. Best practices for convolutional neural networks applied to visual document analysis [C]// International Conference on Document Analysis and Recognition (ICDAR). Los Alamitos: IEEE Computer Society, 2003: 958?962.

篇2

關(guān)鍵詞:手寫數(shù)字識別;卷積神經(jīng)網(wǎng)絡(luò);應(yīng)用

手寫體數(shù)字識別在郵政、金融等領(lǐng)域應(yīng)用廣泛。對于數(shù)字識別,人們往往要求識別器有很高的識別可靠性,數(shù)字識別的錯誤所帶來的影響比文字識別等其他識別所帶來的影響更大,特別是有關(guān)金融方面的數(shù)字識別錯誤所帶來的后果是無法想象的,識別錯一個數(shù)字,這其中的差距可能是幾的差距,也可能是幾十、幾百的差距,這些都還是小問題;但更有可能這一個數(shù)字代表的差距是幾萬、幾千萬甚至幾億乃至更多,那么這個錯誤造成的損失就無法估量了。因此,O計(jì)出有著高可靠性與高識別率的數(shù)字識別系統(tǒng)已經(jīng)成為了字符識別領(lǐng)域一個非常重要的環(huán)節(jié)。

1 網(wǎng)絡(luò)模型和數(shù)據(jù)庫及學(xué)習(xí)算法的選擇

1.1 關(guān)于Mnist數(shù)據(jù)庫的介紹

首先,Mnist是NIST數(shù)據(jù)庫的一個優(yōu)化子集。它是一個有著60000個訓(xùn)練樣本集與10000個測試樣本集的手寫體數(shù)字?jǐn)?shù)據(jù)庫。此數(shù)字庫一共有4個文件。

此數(shù)字庫的所有樣本集都有圖像文件以及標(biāo)簽文件。標(biāo)簽文件的作用是用來儲存樣本集中的每個樣本的數(shù)值標(biāo)簽,而每一個樣本的圖像數(shù)據(jù)信息則是由圖像文件存儲著。此數(shù)據(jù)庫的圖像數(shù)據(jù)均保存在二進(jìn)制文件之中,且每個樣本圖像的大小均為28*28。

1.2 數(shù)字識別的模型選擇

手寫體數(shù)字雖然只有0~9十個數(shù)字,但由于寫法因人而異,不同地域同樣一個數(shù)字有多種不同的寫法,每個人都有自己的書寫習(xí)慣。且一些紙質(zhì)差異、筆畫粗細(xì)、光線問題、位置、尺度大小等等多種因素都能對輸入產(chǎn)生影響??紤]到這些因素,為讓網(wǎng)絡(luò)有良好的識別能力,我們這里采用在圖像識別領(lǐng)域有著優(yōu)秀表現(xiàn)的卷積神經(jīng)網(wǎng)絡(luò)作為此數(shù)字識別系統(tǒng)的訓(xùn)練模型。

1.3 學(xué)習(xí)算法的選擇

一個優(yōu)秀的網(wǎng)絡(luò)模型必須具備良好的學(xué)習(xí)算法,每個學(xué)習(xí)網(wǎng)絡(luò)都有著相對來說較為合適自己的學(xué)習(xí)算法,而并不是說越高端的算法就越好。在此文中,我選擇的學(xué)習(xí)算法是較為成熟的BP算法。此算法在文字前面有些許介紹,此處不再多做說明。

2 基于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)字識別系統(tǒng)的設(shè)計(jì)

2.1 輸入層以及輸出層設(shè)定

根據(jù)樣本的特征與此網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu),可以大概判斷出輸入層與輸出層該如何設(shè)置。隱含層的個數(shù)可以是一個,也可以是多個,這與要分類的問題有關(guān)。

前文提及到在mnist數(shù)據(jù)庫中,所有的圖像都是28*28大小的,且以整個圖片的像素形式存儲在數(shù)據(jù)文件之中。每張圖像大小為28*28,故一個圖片像素點(diǎn)個數(shù)為784個。這里,卷積神經(jīng)網(wǎng)絡(luò)的輸入即為這784個像素點(diǎn)。

因?yàn)閿?shù)字識別需要識別的是0~9這十個數(shù)字,即需要識別十種字符類別,所以將這個神經(jīng)網(wǎng)絡(luò)輸出層的神經(jīng)元節(jié)點(diǎn)數(shù)設(shè)置為10。

2.2 網(wǎng)絡(luò)的中間層設(shè)置

卷積神經(jīng)網(wǎng)絡(luò)的中間層有兩個部分,即卷積層(特征提取層)與下采樣層(特征映射層),由第二章中圖2-1所示,C1、C3為卷積層,S2、S4為降采樣層。

1)激活函數(shù)選擇

激活函數(shù)選擇sigmoid函數(shù)。同樣,在第二章有所提及。Sigmoid函數(shù)是嚴(yán)格遞增函數(shù),能較好的平衡線性與非線性之間的行為,比較貼近生物神經(jīng)元的工作。相比于其他函數(shù),sigmoid函數(shù)還存在著許多優(yōu)勢,比如光滑性、魯棒性以及它的導(dǎo)數(shù)可以用它自身來表示。

sigmoid函數(shù)為:

(1)

其中,x為神經(jīng)元凈輸入。

激活函數(shù)導(dǎo)數(shù)為:

(2)

2)卷積層設(shè)計(jì)

圖像經(jīng)過卷積核對特征圖進(jìn)行卷積,之后再經(jīng)過sigmoid函數(shù)處理在卷積層得到特征映射圖。特征映射圖相比于原圖像,其特征更為明顯突出。

卷積運(yùn)算其實(shí)就是一個加權(quán)求和的過程。離散卷積是本文所選取的方法,規(guī)定卷積核在水平和豎直兩個方向每次都是移動一個像素,即卷積的步長為1。

3)下采樣層的設(shè)計(jì)

根據(jù)圖像局部相關(guān)性這一原理,為了降低網(wǎng)絡(luò)的學(xué)習(xí)維度、減少需要處理的數(shù)據(jù)量且保留圖像的有用信息,可以對卷積后的圖像進(jìn)行下采樣。這里,我們采取的是取卷積層4個像素點(diǎn)平均值為下采樣層的一個像素點(diǎn)的方法。這樣可以降低網(wǎng)絡(luò)規(guī)模。

2.3 網(wǎng)絡(luò)總體結(jié)構(gòu)CNN-0

根據(jù)LeNet-5結(jié)構(gòu),再結(jié)合上文中的對輸入層、輸出層、中間層的設(shè)計(jì),完成了如圖3-1所示的基本網(wǎng)絡(luò)結(jié)構(gòu):

相比于LeNet-5,CNN-0做了一些修改,并非完全按照LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)模型。Sigmoid函數(shù)是本網(wǎng)絡(luò)中的激活函數(shù),選擇這個函數(shù)的好處在于可以讓所有層得到的輸出都在區(qū)間[-1,1]之內(nèi)。網(wǎng)絡(luò)訓(xùn)練的學(xué)習(xí)率固定值為1或者是衰減的學(xué)習(xí)速率。經(jīng)過卷積后的一維向量與輸出層沒有沿用LeNet-5的徑向基函數(shù)網(wǎng)絡(luò),而是采取全連接方式,省去了F6層。

3.3 卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程

在模式識別中,學(xué)習(xí)網(wǎng)絡(luò)有無指導(dǎo)學(xué)習(xí)網(wǎng)絡(luò)與有指導(dǎo)學(xué)習(xí)網(wǎng)絡(luò)兩個類別。無指導(dǎo)學(xué)習(xí)網(wǎng)絡(luò)一般是用來進(jìn)行聚類分析,本文采取的是有指導(dǎo)學(xué)習(xí)網(wǎng)絡(luò)。

卷積神經(jīng)網(wǎng)絡(luò)其實(shí)就是從輸入到輸出的一種映射,它可以學(xué)量的映射關(guān)系,只需要用現(xiàn)有的模式對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,網(wǎng)絡(luò)就能具備映射能力。而不需要輸入與輸出之間的精確的關(guān)系。

訓(xùn)練算法與傳統(tǒng)的BP算法相差無幾(BP算法在第二章有做概述),主要可分為四個步驟,而這四個步驟可以歸為向前傳播階段與向后傳播階段:相前傳播:

1)隨機(jī)的從樣本集中獲取一個樣本(A, ),然后將A輸入至網(wǎng)絡(luò)中;

2)根據(jù)公式(3)計(jì)算出實(shí)際輸出:

(3)

向后傳播:

1)計(jì)算和理想輸出之間的差;

2)根據(jù)極小化誤差方法調(diào)整權(quán)值矩陣。

結(jié)語

在手寫數(shù)字識別這一塊,相對來說比較有難度的應(yīng)該就是脫機(jī)自由手寫字符識別了,不過本文所研究的并不是這一系統(tǒng),本設(shè)計(jì)是一個基于卷積神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別系統(tǒng),因卷積神經(jīng)網(wǎng)絡(luò)的局部感受野和降采樣以及權(quán)值共享、隱性特征提取等優(yōu)點(diǎn),它在圖像識別領(lǐng)域得到了非常廣泛的應(yīng)用。此程序是在Caffe這個框架上進(jìn)行運(yùn)行的,操作系統(tǒng)為Linux系統(tǒng)ubuntu14.04版本。Caffe是一個開源的深度學(xué)習(xí)框架,也可以說是一個編程框架或者模板框架,它提供一套編程機(jī)制。因此,本文所需要實(shí)際的卷積神經(jīng)網(wǎng)絡(luò)就可以根據(jù)這個框架來進(jìn)行構(gòu)建。

參考文獻(xiàn):

[1]張偉,王克儉,秦臻.基于神經(jīng)網(wǎng)絡(luò)的數(shù)字識別的研究[J].微電子學(xué)與計(jì)算,2006年第23卷第8期.

篇3

關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);點(diǎn)擊率預(yù)測;搜索廣告

中圖分類號:TP391.41 文獻(xiàn)標(biāo)識號:A 文章編號:2095-2163(2015)04-

Click-Through Rate Prediction for Search Advertising based on Convolution Neural Network

LI Siqin, LIN Lei, SUN Chengjie

(School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China)

Abstract: Click-Through Rate (CTR) prediction is the foundation of search advertising. Nowadays, lots of researches have been explored to predict CTR, and most of those researches either rely on liner model or employ method of recommendation system. However, the relations between different features in CTR predication have not been fully explored in previous works, and the relations between different features also cannot be fully embodied. In this paper, CTR prediction for search advertising based on convolution neural network is proposed, and process of convolution neural network simulating the process of human thought on feature learning is explained. Furthermore, the performance of different features have been analyzed in the task of predicting CTR. Experiments are conducted on the dataset of KDD Cup 2012 Track2 and the proposed method achieves 0.7925 in AUC, demonstrating the effectiveness of the proposed approach.

Keywords: Convolution Neural Network; Click-Through Rate Prediction; Search Advertising

0 引 言

隨著Web搜索技術(shù)的成熟,搜索廣告已經(jīng)成為互聯(lián)網(wǎng)行業(yè)的主要收入來源之一,其根據(jù)用戶輸入的查詢詞,在搜索的結(jié)果頁面呈現(xiàn)出相應(yīng)的廣告信息。廣告媒介的收益通過每次點(diǎn)擊費(fèi)用(CostPerClick,CPC)與廣告點(diǎn)擊率(Click-Through Rate,CTR)預(yù)測共同影響而得到,即CPC*CTR。由于用戶點(diǎn)擊廣告的概率隨著廣告位的排放順序呈遞減趨勢,因此對CTR進(jìn)行準(zhǔn)確高效的預(yù)測,并將CTR高的廣告投放在搜索結(jié)果頁面靠前的位置,不僅能增加廣告媒介的收益,還能提高用戶對搜索結(jié)果的滿意程度。

廣告點(diǎn)擊率預(yù)測是廣告算法中最核心的技術(shù),近年來被學(xué)術(shù)界廣泛關(guān)注。部分學(xué)者使用基于推薦方法的模型來解決CTR預(yù)測問題?;魰则E等人[1]采用協(xié)同過濾算法,為頁面找到與其相似的其他鄰居頁面,實(shí)現(xiàn)CTR的預(yù)測,以此作為基礎(chǔ)進(jìn)行廣告推薦,但當(dāng)相似頁面的數(shù)量增加時,該方法的結(jié)果質(zhì)量會嚴(yán)重下滑。Kanagal等人[2]提出了一種聚焦矩陣分解模型,針對用戶對具體的產(chǎn)品的喜好以及相關(guān)產(chǎn)品的信息進(jìn)行學(xué)習(xí),解決因用戶-產(chǎn)品交互活動少而造成的數(shù)據(jù)稀疏問題。在文獻(xiàn)[2]的基礎(chǔ)上,Shan等人[3]提出了一種立方矩陣分解模型,通過對用戶、廣告和網(wǎng)頁三者之間關(guān)系的立方矩陣進(jìn)行分解,利用擬合矩陣的值來預(yù)測CTR,雖然立方矩陣分解模型增加了一維交互關(guān)系,但所刻畫的交互關(guān)系仍然十分局限,不能在CTR預(yù)測中充分挖掘廣告所有特征之間的聯(lián)系。

作為典型的預(yù)測問題,很多研究中通過將CTR預(yù)測問題看作分類或者回歸問題來解決,其中最常見的是應(yīng)用線性模型來預(yù)測CTR。Chapelle等人[4]使用動態(tài)貝葉斯網(wǎng)絡(luò),通過對用戶產(chǎn)生的點(diǎn)擊過程建立模型,考慮級聯(lián)位置的信息模擬出特定位置與相近位置的相關(guān)性,以判斷該位置上的廣告是否滿足用戶搜索要求。Chakrabarti等人[5]利用點(diǎn)擊反饋的相關(guān)性,通過在網(wǎng)頁和廣告詞等特征上使用邏輯回歸模型提高廣告檢索和預(yù)測的效果。Wu等人[6]基于融合的思想,將不同線性模型的實(shí)驗(yàn)效果相結(jié)合,來提高搜索廣告CTR預(yù)測的結(jié)果。真實(shí)的場景中CTR的預(yù)測并非簡單的線性問題,因此,一些學(xué)者開始使用非線性模型來解決CTR的預(yù)測。Dave等人[7]在搜索廣告點(diǎn)擊信息以及廣告商賬戶信息上提取語義特征,使用基于投票思想的梯度提升決策樹模型,提高了CTR預(yù)測的效果。Zhang等人[8]利用神經(jīng)網(wǎng)絡(luò)模型對影響搜索廣告點(diǎn)擊率的因素進(jìn)行的探索,從特征因素方面提高CTR預(yù)測的結(jié)果,但是資源單一,數(shù)據(jù)交互的關(guān)系沒有獲得良好的利用。

本文對基于卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的CTR預(yù)測進(jìn)行研究,通過卷積與亞采樣操作的結(jié)合,能更好地學(xué)習(xí)出數(shù)據(jù)特征之間的關(guān)系,不僅解決了線性模型無法模擬真實(shí)廣告數(shù)據(jù)場景的問題,也解決了淺層學(xué)習(xí)模型無法深入挖掘特征間相互關(guān)系的問題,并且較之于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),CNN能更好地理解特征之間的關(guān)系。在真實(shí)的數(shù)據(jù)集上的實(shí)驗(yàn)驗(yàn)證了本文的方法能夠提高搜索廣告中CTR預(yù)測的AUC值。

1卷積神經(jīng)網(wǎng)絡(luò)模型

1.1 卷積神經(jīng)網(wǎng)絡(luò)基本模型

卷積神經(jīng)網(wǎng)絡(luò)作為人工神經(jīng)網(wǎng)絡(luò)之一,目前已成為深度學(xué)習(xí)領(lǐng)域中研究的熱點(diǎn),權(quán)值共享以及局部窗口滑動的特點(diǎn)使之能更好地模擬出生物神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)上有兩個重要的組成部分:卷積層和亞采樣層。如圖1所示。

圖1 卷積層與亞采樣層結(jié)構(gòu)

Fig.1 Convolution layer and sub-sampling layer structure

在卷積層中,原始特征通過卷積核進(jìn)行卷積得到輸出的特征,使用不同的卷積核就可以得到一系列不同的輸出特征。對卷積層的計(jì)算,有如下公式:

(1)

這里, 是sigmoid 函數(shù), , ; 代表輸入特征上選定的窗口,即在卷積過程中當(dāng)前卷積核在計(jì)算時所對應(yīng)在輸入特征上的位置; 和 分別是第 層輸入特征和第 層輸出特征上相應(yīng)的值; 是卷積核的權(quán)重值; 是特征的偏置,每一層對應(yīng)一個。

卷積過程,一個卷積核通過滑動會重復(fù)作用在整個輸入特征上,構(gòu)建出新的特征。同一個卷積核進(jìn)行卷積時,共享相同的參數(shù),包括同樣的權(quán)重和偏置,這也使要學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)數(shù)量大大降低了。而當(dāng)我們使用不同的卷積核進(jìn)行卷積時,可以得到相應(yīng)的不同的輸出特征,這些輸出特征組合到一起,構(gòu)成卷積層的輸出。

在亞采樣層,前一個卷積層的輸出將作為該層的輸入特征,首先設(shè)定大小的窗口,然后通過滑動,用窗口區(qū)域中最大(或平均)的特征值來表示該窗口中的特征值,最后組合這些特征值得到降維后的特征。亞采樣過程可表示如下:

(2)

這里,類似于卷積層, 和 分別是第 層輸入特征和第 層輸出特征上相應(yīng)的值, 是特征的偏置; 表示取最大值 或者平均值 的函數(shù)。

典型的卷積神經(jīng)網(wǎng)絡(luò)通常由n(n>=1)個卷積層和亞采樣層以及最末尾的m(m>=1)全連接層組合而成。一個亞采樣層跟隨在一個卷積層后出現(xiàn),通過這若干卷積層和亞采樣層后得到的特征,將經(jīng)過全連接層與輸出層相連。全連接層公式如下:

(3)

這里, 是sigmoid函數(shù), 是計(jì)算第 層到第 層時的權(quán)重值。

1.2基于卷積神經(jīng)網(wǎng)絡(luò)的CTR預(yù)測模型

研究中使用卷積神經(jīng)網(wǎng)絡(luò)對搜索廣告的CTR進(jìn)行預(yù)測,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

圖2 卷積神經(jīng)網(wǎng)絡(luò)在搜索廣告點(diǎn)擊率預(yù)估中的應(yīng)用

Fig.2 Convolution neural network in search ad click rate through prediction

實(shí)驗(yàn)中一共設(shè)置了兩個卷積層、兩個亞采樣層以及一個全連接層。首先從歷史日志中提取相應(yīng)的特征構(gòu)建出輸入(Feature_Input),設(shè)置好卷積的窗口大小后根據(jù)公式(1)對輸入特征進(jìn)行卷積,每一次卷積是對窗口內(nèi)所有值的組合,因此卷積過程相當(dāng)于特征融合過程。對卷積后得到的特征,設(shè)置亞采樣的窗口并根據(jù)公式(2)進(jìn)行最大值-采樣,選取出窗口中的最有表達(dá)能力的特征值(最大特征值)表示整個窗口的特征,因此亞采樣過程相當(dāng)于特征的萃取過程。整個卷積和亞采樣過程的結(jié)合,模擬出了人對事物的理解和總結(jié)的過程。最后將特征經(jīng)過一層全連接后連接到輸出,得到最終的預(yù)測結(jié)果。

在一次特定的卷積(或亞采樣)全過程中即訓(xùn)練的一次迭代過程中,權(quán)值并不會隨著窗口的滑動而改變,即在計(jì)算中,所有窗口滑過的特征享受同樣的權(quán)值。這也是CNN區(qū)別于其他神經(jīng)網(wǎng)絡(luò)的特點(diǎn)――權(quán)值共享。如此即使得CNN更方便訓(xùn)練,更能多角度地對特征進(jìn)行學(xué)習(xí)。

2特征構(gòu)建

本文所采用的實(shí)驗(yàn)數(shù)據(jù)集為KDD Cup 2012中Track 2提供的數(shù)據(jù)集。該數(shù)據(jù)由騰訊公司下的搜索品牌搜搜(SOSO)搜索引擎提供,因?yàn)樯婕肮旧虡I(yè)信息,數(shù)據(jù)經(jīng)過哈希處理。實(shí)驗(yàn)數(shù)據(jù)集中,每條記錄包含12個屬性,各屬性詳解如表1所示。

研究按照實(shí)際含義將這12個屬性構(gòu)造了四大類特征:歷史點(diǎn)擊率特征、相似度特征、位置特征和高影響力特征。

2.1基于卷積神經(jīng)網(wǎng)絡(luò)的CTR預(yù)測模型

歷史點(diǎn)擊率特征是不同類別ID在歷史數(shù)據(jù)中的點(diǎn)擊率,雖然比較簡單但十分有效,因?yàn)闅v史點(diǎn)擊率在一定程度上代表了類別ID對某個廣告感興趣程度的高低,當(dāng)一個ID對某個廣告的歷史點(diǎn)擊率高時,意味著其對這個廣告更感興趣,后續(xù)點(diǎn)擊的概率也更大。

歷史點(diǎn)擊率( )是點(diǎn)擊數(shù)( )與展示數(shù)( )之比,在統(tǒng)計(jì)計(jì)算過程發(fā)現(xiàn)有很多情況下有些類別信息沒有點(diǎn)擊實(shí)例,因此研究采用了平滑方法解決零值問題,根據(jù)公式(4)來計(jì)算平均點(diǎn)擊率。計(jì)算公式如下:

(4)

公式中的 和 是調(diào)節(jié)參數(shù),根據(jù)公式(4)計(jì)算出AdID,AdvertiserID,QueryID,KeywordID,TitleID,DescriptiomID,UserID的歷史點(diǎn)擊率。

2.2相似度特征

相似度特征用來刻畫屬性兩兩之間的相似程度,用戶搜索的內(nèi)容與被投放的廣告屬性相似度高時,廣告被點(diǎn)擊的概率更大。例如當(dāng)搜索內(nèi)容Query與廣告關(guān)鍵字屬性Keyword相似度高時,意味著網(wǎng)頁投放的廣告與用戶期望搜索的廣告結(jié)果相似度高,更符合用戶點(diǎn)擊廣告的動作。

通過對Query、Keyword、Title、Description的屬性描述文件構(gòu)造出相關(guān)的TF-IDF向量,Query為用戶搜索內(nèi)容,Keyword,Title,Description是廣告的相關(guān)屬性,數(shù)據(jù)集提供的屬性信息都是經(jīng)過哈希后的數(shù)字形式,但是屬性之間的相對含義不變,然后計(jì)算相互之間的余弦相似度作為特征。

2.3位置特征

該特征描述的是指定廣告在搜索結(jié)果頁面中的位置信息。用戶搜索時需求的多樣化要求在對廣告進(jìn)行排序和投放時,在結(jié)果頁面靠前的位置中盡可能地投放滿足用戶需求的廣告,從而最大化用戶的滿意度、提高用戶點(diǎn)擊的興趣[9]。因此,研究即用當(dāng)前預(yù)測廣告的相對位置Pos來刻畫該廣告在結(jié)果頁面中排序靠前的程度,其定義如下:

(5)

這里, 指頁面投放的廣告總數(shù), 指當(dāng)前所預(yù)測廣告的位置。

2.4位置特征

在預(yù)測模型中,ID屬性信息通常采用one-hot形式的特征編碼方式,在將不同的屬性經(jīng)過one-hot編碼后的特征向量組合在一起,這樣方式簡單直觀,卻使得特征的維度巨大并且非常稀疏。然而在這龐大且稀疏的特征中,絕大部分維度上的特征值對整個模型的預(yù)測結(jié)果貢獻(xiàn)非常小甚至為零,只有少數(shù)維度上的特征值對預(yù)測結(jié)果有較高的影響力。因此研究采用L1范數(shù)正則化的方式,在邏輯回歸模型的代價函數(shù)中加入L1范數(shù)[10],使得模型學(xué)習(xí)得到的結(jié)果滿足稀疏化,在學(xué)習(xí)參數(shù)中按大小順序取出前N維權(quán)重較大的,將這N維權(quán)重對應(yīng)位置上的特征值構(gòu)建新的特征,稱為高影響力特征,考慮到實(shí)驗(yàn)硬件,取N=180。

3 實(shí)驗(yàn)結(jié)果與結(jié)論分析

3.1數(shù)據(jù)準(zhǔn)備

實(shí)驗(yàn)?zāi)繕?biāo)是通過給定的信息預(yù)測搜索網(wǎng)頁的廣告點(diǎn)擊率,由于數(shù)據(jù)量過大并且正負(fù)樣本不平衡,實(shí)驗(yàn)中從訓(xùn)練集隨機(jī)采樣10%作為本文實(shí)驗(yàn)中模型訓(xùn)練的訓(xùn)練集,既縮小了樣本空間,同時隨機(jī)采樣也保持了原始數(shù)據(jù)的分布信息。實(shí)驗(yàn)中隨機(jī)抽取部分樣本作為驗(yàn)證集用于參數(shù)的調(diào)節(jié)。本文所用測試集為 KDD Cup 2012中track 2的全部測試數(shù)據(jù),因此本文的結(jié)果與KDD Cup 2012中track 2比賽的結(jié)果具有可比性。數(shù)據(jù)的統(tǒng)計(jì)信息如表2所示。

這里, 、 分別表示結(jié)果中預(yù)測對的正樣本數(shù)和負(fù)樣本數(shù), 、 分別表示結(jié)果中預(yù)測錯的正樣本數(shù)和負(fù)樣本數(shù)。對于廣告點(diǎn)擊率預(yù)測問題,較大的AUC值代表了較好的性能。

3.2實(shí)驗(yàn)設(shè)置和結(jié)果分析

實(shí)驗(yàn)的操作系統(tǒng)為Ubuntu 12.04 LTS OS,卷積神經(jīng)網(wǎng)絡(luò)在4G RAM 的NVIDIA GeForce GT 610 GPU條件下運(yùn)行。過程中選用了Dense Gaussian對卷積層、亞采樣層的邊和節(jié)點(diǎn)進(jìn)行初始化,用常數(shù)初始化輸出層,學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)各邊權(quán)值時的優(yōu)化函數(shù)使用梯度下降算法,其中學(xué)習(xí)率為0.01、動量項(xiàng)為0.9,訓(xùn)練步數(shù)為100,設(shè)置公式(4)中參數(shù)α=0.05,β=75。實(shí)驗(yàn)時使用邏輯回歸模型(LR)、支持向量回歸模型(SVR)和深度神經(jīng)網(wǎng)絡(luò)(DNN)作為對比方法,所有方法都使用相同的特征,其中DNN的層數(shù)以及每層的節(jié)點(diǎn)數(shù)與卷積神經(jīng)網(wǎng)絡(luò)相同。

具體地,首先探究了卷積神經(jīng)網(wǎng)絡(luò)中節(jié)點(diǎn)的設(shè)置,因?yàn)樵贑NN中后續(xù)層的節(jié)點(diǎn)數(shù)根據(jù)第一個卷積層和每層卷積(或亞采樣)滑動窗口的大小計(jì)算得到,并以第一個卷積層節(jié)點(diǎn)的設(shè)置為實(shí)驗(yàn)變量,同時控制DNN中每層的節(jié)點(diǎn)數(shù)均與CNN相同,在驗(yàn)證集上的實(shí)驗(yàn)結(jié)果如圖3所示。

從圖3可以看出,隨著節(jié)點(diǎn)的增加,AUC的值也在不斷增長,在一定范圍內(nèi),節(jié)點(diǎn)數(shù)越多,實(shí)驗(yàn)的結(jié)果越好。但隨著節(jié)點(diǎn)數(shù)的增大,模型的訓(xùn)練時間也在延長,對設(shè)備的開銷需求也在升高,綜合上述因素,最終將第一層的節(jié)點(diǎn)數(shù)設(shè)為9 216。

CNN與各對比實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果如表3所示,可以看出CNN的效果最佳,此外在表中還列出了KDD Cup 2012 track 2比賽中第一名的結(jié)果。DNN的AUC值優(yōu)于LR和SVR,驗(yàn)證了深度學(xué)習(xí)模型比淺層學(xué)習(xí)模型更適合解決CTR預(yù)估問題,同時CNN的結(jié)果高于DNN,說明CNN中卷積層的特征融合和亞采樣層的特征萃取過程是有效的。本文中CNN目前的實(shí)驗(yàn)結(jié)果略低于KDD Cup 2012 track 2中第一名的結(jié)果,原因是比賽隊(duì)伍使用了多模型融合并提取了龐大的(千萬維)輸入特征。

進(jìn)一步地,實(shí)驗(yàn)探索了每一類特征對搜索廣告點(diǎn)擊率預(yù)測的貢獻(xiàn)。在所有特征的情況下,去掉某一類特征來進(jìn)行預(yù)測,實(shí)驗(yàn)結(jié)果如表4所示。實(shí)驗(yàn)結(jié)果表明,去掉任意一類特征都將使得實(shí)驗(yàn)效果有所下降。其中去掉歷史點(diǎn)擊率特征效果下降得最明顯,說明用戶是否點(diǎn)擊廣告,與其之前的點(diǎn)擊行為非常相關(guān)。而去掉位置特征時,效果下降得最為不明顯,因?yàn)樵趯?shí)驗(yàn)使用的數(shù)據(jù)集中,每個頁面最多僅呈現(xiàn)三個廣告,頁面中的廣告數(shù)少時,位置對用戶點(diǎn)擊的影響小。

4 結(jié)束語

對搜索廣告點(diǎn)擊率的有效預(yù)測不但能夠更好的提高在線廣告投放的性能,增加廣告商的收益,還能增強(qiáng)用戶的體驗(yàn)。研究使用卷積神經(jīng)網(wǎng)絡(luò)CNN對搜索廣告點(diǎn)擊率進(jìn)行預(yù)測,對特征因素的分析之后,在真實(shí)數(shù)據(jù)的環(huán)境下對搜索廣告點(diǎn)擊率進(jìn)行預(yù)測的實(shí)驗(yàn)本文的方法的效果相對于其他方法有明顯的提高。本文的主要貢獻(xiàn)有:(1)本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)的搜索廣告點(diǎn)擊率預(yù)測的方法。(2)針對高維特征,提出了一種特征選擇策略,可以在計(jì)算能力受限的情況下使用CNN模型來解決廣告點(diǎn)擊預(yù)測問題,并取得較好效果。在未來的工作中,一方面要繼續(xù)研究更有效的特征來提高對點(diǎn)擊率的預(yù)測效果,另一方面也將嘗試對CNN模型的內(nèi)部細(xì)節(jié)進(jìn)行改進(jìn),使之更適合我們的預(yù)測場景。

參考文獻(xiàn):

[1] 霍曉駿,賀牛楊燕. 一種無位置偏見的廣告協(xié)同推薦算法[J]. 計(jì)算機(jī)工程, 2014, 40(12): 39-44.

[2] BHARGAV K, AHMED A, PANDEY S, et al. Focused matrix factorization for audience selection in display advertising[C]// Data Engineering (ICDE), 2013 IEEE 29th International Conference on, Brisbane , Australia: IEEE, 2013:386-397.

[3] SHAN Lili, LEI Lin, DI Shao, et al. CTR Prediction for DSP with Improved Cube Factorization Model from Historical Bidding Log[M]// C K Loo, et al(Eds.): Neural Information Processing. Switzerland:Springer,2014,8836:17-24.

[4] OLIVIER C, ZHANG Ya. A dynamic bayesian network click model for web search ranking[C]//Proceedings of the 18th international conference on World wide web. Madrid: ACM,2009:1-10.

[5] DEEPAYAN C, AGARWAL D, JOSIFOVSKI V. Contextual advertising by combining relevance with click feedback[C]//Proceedings of the 17th international conference on World Wide Web. Beijing: ACM,2008:417-426.

[6] WU Kuanwei, FERNG C S, HO C H, et al., A two-stage ensemble of diverse models for advertisement ranking in KDD Cup 2012[J]. KDDCup, 2012.

[7] DAVE K S, VARMA V. Learning the click-through rate for rare/new ads from similar ads[C]// Proceedings of the 33rd international ACM SIGIR conference on Research and development in information retrieval, Geneva, Switzerland:ACM,2010.

[8] ZHANG Ying, JANSEN B J , SPINK A. Identification of factors predicting clickthrough in Web searching using neural network analysis[J]. Journal of the American Society for Information Science and Technology, 2009, 60(3): 557-570.

[9] 林古立.互聯(lián)網(wǎng)信息檢索中的多樣化排序研究及應(yīng)用[D].華南理工大學(xué),2011.

篇4

關(guān)鍵詞:無人機(jī);STM32;道路檢測;神經(jīng)網(wǎng)絡(luò);模型訓(xùn)練

傳統(tǒng)的道路巡檢和保養(yǎng)主要由人工來完成,需要投入大量的人力物力來保證道路的相對安全,這種方式存在著低效率、高成本且難以保證道路的決定安全[1]。固定式交通檢測設(shè)備大量設(shè)置在道路的主干路上,也存在著一些缺陷:(1)監(jiān)控?cái)z像頭不能做到全覆蓋且具有一定的探測盲區(qū)。(2)監(jiān)控系統(tǒng)采用多屏幕方式,工作人員進(jìn)行道路故障判斷時受限。(3)不能靈活的通知有關(guān)部門對事故的快速應(yīng)急處理。為了克服上述的缺點(diǎn),本文設(shè)計(jì)了一種基于卷積神經(jīng)網(wǎng)絡(luò)的無人機(jī)道路巡檢系統(tǒng),對發(fā)生故障和需要保養(yǎng)的道路能快速響應(yīng),及時的通知有關(guān)部門,避免事故的發(fā)生。

1系統(tǒng)的總體設(shè)計(jì)

在無人機(jī)道路巡檢系統(tǒng)中,我們主要考慮了以下幾個要求[3]:(1)無人機(jī)系統(tǒng)能滿足正常的工作;(2)無人機(jī)系統(tǒng)能適應(yīng)各種天氣和氣候變化等;(3)無人機(jī)系統(tǒng)應(yīng)充分考慮控制的安全性;(4)視頻流的傳輸應(yīng)避免較長的延時。無人機(jī)道路巡檢系統(tǒng)主要由無人機(jī)系統(tǒng)設(shè)計(jì)、遠(yuǎn)程控制系統(tǒng)、PC端系統(tǒng)三大部分組成,系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。系統(tǒng)的具體工作原理為:無人機(jī)將道路環(huán)境檢測的結(jié)果,將處理后的視頻流通過遠(yuǎn)程傳輸?shù)姆绞剑l(fā)送到PC端進(jìn)行實(shí)時監(jiān)控道路狀況。遠(yuǎn)程控制系統(tǒng)以STM32作為主控芯片,主要包括在無人機(jī)端和遙控端兩個部分,遙控端將控制指令通過2.4G通信發(fā)送到無人機(jī)端,此時無人機(jī)的做出相應(yīng)的位姿變化,完成遙控端對無人機(jī)位姿的控制。無人機(jī)系統(tǒng)的圖像采集模塊芯片為樹莓派,完成圖像的采集并采用TCP通信實(shí)現(xiàn)遠(yuǎn)程視頻的傳輸,將獲取的視頻流傳輸?shù)絇C端。PC端上使用OpenCV對圖像進(jìn)行處理[4],利用深度學(xué)習(xí)模塊對設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)訓(xùn)練,從而得到檢測模型,最后在PC上接收處理過的數(shù)據(jù)并實(shí)時監(jiān)測道路狀況。上述工作原理可實(shí)現(xiàn)無人機(jī)道路巡檢系統(tǒng),下文將對其包括的三大模塊進(jìn)行說明介紹。

2無人機(jī)系統(tǒng)設(shè)計(jì)

本次使用的是RaspberryPi3(modelB+)作為無人機(jī)的主控制板[7],無人機(jī)的飛行控制算法和圖像采集模塊集成在樹莓派中。遠(yuǎn)程控制系統(tǒng)通過2.4G無線通信模塊連接,通過控制器實(shí)現(xiàn)對無人機(jī)飛行和圖像采集的控制。無人機(jī)系統(tǒng)總體結(jié)構(gòu)如圖2所示。

3PC端系統(tǒng)設(shè)計(jì)

在PC端系統(tǒng)設(shè)計(jì)主要分為圖像預(yù)處理、模型訓(xùn)練和視頻監(jiān)控三大部分,通過TCP通信協(xié)議進(jìn)行通信,TCP通信是一種面向連接的通信,可完成客戶端(樹莓派)和服務(wù)端(PC)的信息傳遞[9]。下面主要對前兩部分詳細(xì)介紹。

3.1圖像預(yù)處理

本系統(tǒng)對地面裂縫檢測的圖像預(yù)處理流程如圖3所示具體工作原理為:(1)采用加權(quán)平均灰度化對獲取的無人機(jī)影像進(jìn)行灰度化處理;(2)對灰度化處理后的影像進(jìn)行直方圖均衡化,使得影像具有高對比度和多元的灰度色調(diào)變化,為后續(xù)的濾波降噪奠定基礎(chǔ);(3)對處理后的影像進(jìn)行濾波降噪,消除孤立的噪聲點(diǎn),采用方法的是中值濾波降噪;(4)使用迭代二值化處理將影像的灰度值設(shè)置合適的閾值,使得圖像更簡單,目標(biāo)更突出,然后對圖像進(jìn)行分割,計(jì)算迭代的閾值,判斷迭代的閾值是否收斂到某一值或者達(dá)到限定的迭代次數(shù),如果是的話,將完成二值化處理和濾波,否則將初始二值化閾值;(5)最終完成道路故障的識別與標(biāo)記。

3.2模型檢測

3.2.1卷積神經(jīng)網(wǎng)絡(luò)原理使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行模型訓(xùn)練,首先使用卷積層實(shí)現(xiàn)特征的提取,原理如圖4所示。如圖5所示,卷積操作是模仿神經(jīng)元的機(jī)制。不同的輸入在權(quán)重的影響下會有不同的輸出,根據(jù)損失函數(shù)的計(jì)算來不斷的更新權(quán)重,直到獲得合理的權(quán)重參數(shù)。初始傳遞的信號為x,中間通過權(quán)重w,再經(jīng)過偏置b后連接在末端,最后輸出信號變成wx+b。fun(?)表示激活函數(shù),最終f(z為輸出的結(jié)果,如式(1)所示。3.2.2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程通過相機(jī)采集到的缺陷和問題圖像作為訓(xùn)練樣本,這部分是檢測道路安全的關(guān)鍵一步,(1)訓(xùn)練標(biāo)記數(shù)據(jù):首先使用圖像預(yù)處理中標(biāo)記好的道路故障提取出來,通過卷積神經(jīng)網(wǎng)絡(luò)對標(biāo)記框內(nèi)的目標(biāo)數(shù)據(jù)進(jìn)行訓(xùn)練;(2)提取特征數(shù)據(jù):將道路故障的類型統(tǒng)計(jì)并歸納;(3)誤差反饋學(xué)習(xí):對測試樣本進(jìn)行誤差反饋學(xué)習(xí),并進(jìn)行測試;(4)優(yōu)化訓(xùn)練數(shù)據(jù):根據(jù)實(shí)際應(yīng)用場景增加圖像的種類和數(shù)量,不斷訓(xùn)練模型。3.2.3故障的基本分類道路故障主要路面缺陷(例如裂縫、殘缺等)和路面增加(例如長時間靜止的車輛和路人),各自訓(xùn)練集數(shù)量為1000張。如表1所示。3.2.4實(shí)驗(yàn)測試為實(shí)現(xiàn)故障的檢測,測試數(shù)據(jù)集為100張,不同類型故障數(shù)據(jù)50張,均采集自新道路且與訓(xùn)練樣本一致,實(shí)驗(yàn)結(jié)果如表2所示。由表2可知,檢測路面增加(例如長時間靜止的車輛和路人)的準(zhǔn)確率高達(dá)96%,但是地面缺陷的準(zhǔn)確率相比較而言略低,可能造成的原因是:①硬件原因?qū)е虏杉膱D像清晰度比較低;②地面缺陷太小,無人機(jī)難以識別;③訓(xùn)練的數(shù)據(jù)集較少,特征學(xué)習(xí)誤差大;但是滿足了設(shè)計(jì)需求,還需進(jìn)一步改進(jìn)。

4總結(jié)與展望

篇5

關(guān)鍵詞:物聯(lián)網(wǎng);人臉識別;視頻網(wǎng)絡(luò)

1物聯(lián)網(wǎng)及人臉識別視頻網(wǎng)絡(luò)技術(shù)的發(fā)展

1.1物聯(lián)網(wǎng)視頻網(wǎng)絡(luò)技術(shù)的發(fā)展?fàn)顩r

最近幾年,隨著物聯(lián)網(wǎng)技術(shù)、圖像處理技術(shù)以及數(shù)據(jù)傳輸技術(shù)的快速發(fā)展,視頻網(wǎng)絡(luò)技術(shù)應(yīng)運(yùn)而生并取得了長足的發(fā)展。當(dāng)前,視頻網(wǎng)絡(luò)系統(tǒng)作為一種模擬數(shù)字控制系統(tǒng),其具有非常成熟和穩(wěn)定的性能,已廣泛應(yīng)用于實(shí)際工程中。雖然數(shù)字系統(tǒng)發(fā)展迅速,但尚未完全形成相應(yīng)的體系,因此,混合數(shù)字和模擬應(yīng)用程序逐漸遷移到數(shù)字系統(tǒng)將成為未來發(fā)展的主要趨勢之一。當(dāng)前,國內(nèi)外市場上主流的產(chǎn)品主要有兩種,即模擬視頻數(shù)字網(wǎng)絡(luò)系統(tǒng)、數(shù)字視頻網(wǎng)絡(luò)系統(tǒng)。前者技術(shù)先進(jìn),性能穩(wěn)定,被廣泛應(yīng)用于實(shí)際工程應(yīng)用中,特別是大中型視頻網(wǎng)絡(luò)項(xiàng)目。后者作為一種新興技術(shù),是一種通過以計(jì)算機(jī)技術(shù)和視頻壓縮為核心的新型視頻網(wǎng)絡(luò)系統(tǒng),其有效的避免了模擬系統(tǒng)所存在的一些弊端,但未來仍需要進(jìn)行不斷的改進(jìn)和發(fā)展。外部集成、視頻數(shù)字化、視頻網(wǎng)絡(luò)連接、系統(tǒng)集成是未來視頻網(wǎng)絡(luò)系統(tǒng)發(fā)展的重要研究方向。數(shù)字化是網(wǎng)絡(luò)的前提,而網(wǎng)絡(luò)是系統(tǒng)集成的基礎(chǔ)。因此,視頻網(wǎng)絡(luò)領(lǐng)域的兩個最大發(fā)展特征是:數(shù)字化和網(wǎng)絡(luò)化。

1.2人臉識別視頻網(wǎng)絡(luò)的發(fā)展?fàn)顩r

人臉識別技術(shù)作為模式識別領(lǐng)域中的一項(xiàng)前沿課題,截止目前,已有三十多年的研究歷史。人臉識別目前是模式識別和人工智能的研究熱點(diǎn),目前主要采用AdaBoost分類器進(jìn)行人臉區(qū)域的檢測,人臉識別研究的內(nèi)容大致分為以下內(nèi)容:(1)人臉檢測:其指的是在不同場景下的人臉檢測及其位置。人臉檢測是通過在整個輸入的圖像中找到一個合適的人臉區(qū)域?yàn)槟康?,并將該圖像分為人臉區(qū)域和非人臉區(qū)域兩部分。在實(shí)際的某些理想情況下,由于可以人為手動控制拍攝環(huán)境,因此,可以輕松確定人臉的位置;但是在大多數(shù)情況下,由于場景更加復(fù)雜,因此,人臉的位置是未知的。因而在實(shí)際的人臉識別視頻網(wǎng)絡(luò)過程中,首先必須確定識別場景中是否有人臉的存在,如果存在人臉,再進(jìn)一步確定圖像中人臉的具體區(qū)域。(2)人臉識別:將系統(tǒng)檢測到的人臉特征信息與系統(tǒng)數(shù)據(jù)庫中存在的已知人臉信息進(jìn)行充分識別與匹配,以此獲取相關(guān)信息,該過程的本質(zhì)是選擇正確的人臉模型和匹配策略。在實(shí)際生活的應(yīng)用當(dāng)中,由于成人的面部模型處于不斷變化當(dāng)中,且容易受到時間、光線、相機(jī)角度等方面的差異,因而很難用一張圖紙表達(dá)同一個人的面部圖像,這使得提取特征變得困難,由于大量的原始灰度圖像數(shù)據(jù),神經(jīng)元的數(shù)量通常很大并且訓(xùn)練時間很長。除此之外,完全依賴于神經(jīng)網(wǎng)絡(luò)的識別方法具有當(dāng)前計(jì)算機(jī)系統(tǒng)固有的局限性,盡管神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的感應(yīng)能力,但是隨著樣本數(shù)量的增加,其性能可能會大大降低。簡而言之,由于年齡,表情,傾斜度和其他表征對象的因素的多樣性,很難進(jìn)行人臉識別,因此,識別該對象的效果仍遠(yuǎn)未達(dá)到現(xiàn)實(shí)。目前,普遍采用AdaBoost算法來對出現(xiàn)在視頻中的人臉區(qū)域進(jìn)行檢測,以此達(dá)到實(shí)時獲取人臉圖像的目的,AdaBoost算法的原理是通過訓(xùn)練得到多個不同的弱分類器并將這些弱分類器通過疊加、級聯(lián)得到強(qiáng)分類器,AdaBoost算法流程如圖1所示。(3)表情分析:即對面部表情信息(幸福,悲傷,恐懼,驚奇等)進(jìn)行分析和分類。當(dāng)前,由于問題的復(fù)雜性,正在對面部表情的分析進(jìn)行研究,它仍處于起步階段。心理學(xué)表明,至少有六種與不同面部表情相關(guān)的情緒:幸福,悲傷,驚奇,恐懼,憤怒和惡心。即與沒有表情的面部特征相比,這六個表情的面部特征具有相對獨(dú)特的運(yùn)動規(guī)則。(4)生理分類:分析已知面孔的生理特征,并獲得相關(guān)信息,例如種族、年齡、性別和職業(yè)。顯然,此過程需要大量知識,通常非常困難和復(fù)雜。

2物聯(lián)網(wǎng)卷積神經(jīng)網(wǎng)絡(luò)人臉識別方法分析

卷積神經(jīng)網(wǎng)絡(luò)是專門設(shè)計(jì)用于識別二維形狀的多層感知器。通常,可以使用梯度下降和反向傳播算法來訓(xùn)練網(wǎng)絡(luò)。從結(jié)構(gòu)上講,卷積神經(jīng)網(wǎng)絡(luò)包含三個概念:局部感受野、權(quán)重共享和下采樣,使其在平移,縮放,傾斜或其他形式的變形中相當(dāng)穩(wěn)定。當(dāng)前,卷積神經(jīng)網(wǎng)絡(luò)被廣泛用于模式識別,圖像處理和其他領(lǐng)域。卷積神經(jīng)網(wǎng)絡(luò)(CNN)用于提取目標(biāo)人臉圖像的特征。訓(xùn)練網(wǎng)絡(luò)后,將先前測試的模型用作面部分類器,微調(diào)可以縮短網(wǎng)絡(luò)模型的訓(xùn)練時間。卷積神經(jīng)網(wǎng)絡(luò)的基本體系結(jié)構(gòu)是輸入層,卷積層(conv),歸約層(字符串),完全連接層和輸出層(分類器)。通常有多個卷積層+速記層,此程序?qū)崿F(xiàn)的CNN模型是LeNet5,并且有兩個“卷積+下采樣層”LeNetConvPoolLayer。完全連接的層等效于MLP(多層感知器)中的HiddenLayer。輸出層是一個分類器,通常使用softmax回歸(有些人稱為直接邏輯回歸,它實(shí)際上是多類邏輯回歸)。LogisticRegression也直接提供了該軟件。人臉圖像在視頻監(jiān)控中實(shí)時發(fā)送到計(jì)算機(jī),并且面部區(qū)域部分由AdaBoost算法確定。在預(yù)處理之后,將臉部圖像注入到新訓(xùn)練的預(yù)訓(xùn)練模型中進(jìn)行識別。該過程如圖2所示。

3物聯(lián)網(wǎng)人臉識別視頻網(wǎng)絡(luò)多目標(biāo)算法優(yōu)化

多目標(biāo)優(yōu)化問題的實(shí)質(zhì)是協(xié)調(diào)并在各個子目標(biāo)之間達(dá)成折衷,以便使不同的子目標(biāo)功能盡可能地最佳。工程優(yōu)化的大多數(shù)實(shí)際問題都是多用途優(yōu)化問題,目標(biāo)通常相互沖突。長期以來,多目標(biāo)優(yōu)化一直受到人們的廣泛關(guān)注,現(xiàn)在已經(jīng)開發(fā)出更多的方法來解決多目標(biāo)優(yōu)化問題。如果多標(biāo)準(zhǔn)優(yōu)化沒有最差的解決方案,那么通常會有無限多的解決方案,這并不是最差的解決方案。解決面部強(qiáng)調(diào)時,人們不能直接應(yīng)用許多次等解決方案。作為最后的決定,我們只能選擇質(zhì)量不是最低,最能滿足我們要求的解決方案。找到最終解決方案的方法主要有三種。因此,只有通過找到大量有缺陷的解決方案以形成有缺陷的解決方案的子集,然后根據(jù)我們的意圖找到最終的解決方案?;诖耍嗄繕?biāo)算法是通過將多準(zhǔn)則問題轉(zhuǎn)變?yōu)橐粋€關(guān)鍵問題,這種方法也可以視為輔助手段。這種方法的棘手部分是如何獲取實(shí)際體重信息,至于面部特征,我們將建議一種基于權(quán)重的多功能優(yōu)化算法,該算法可以更好地反映臉部的特征。我們將人臉的每個特征都視為多個目標(biāo),并且在提取面部特征時,面部特征會受到外界的強(qiáng)烈影響,例如位置,光照條件和強(qiáng)度的變化,并且所有部位和每個部位都會受到影響。因此,我們可以使用加權(quán)方法從每個受影響的分?jǐn)?shù)中提取不同的權(quán)重。通過開展試驗(yàn)測試,結(jié)果表明,在有多目標(biāo)優(yōu)化的算法的作用下,比在沒有多目標(biāo)優(yōu)化的算法作用下人臉識別效果有所提高,大約提高了5—10個百分點(diǎn)。

4結(jié)論

鑒于多準(zhǔn)則優(yōu)化算法在科學(xué)研究的各個領(lǐng)域中的廣泛使用,本文提出了一種多準(zhǔn)則優(yōu)化算法來對復(fù)雜的多準(zhǔn)則人臉圖像上的各種面部特征進(jìn)行特征提取的多準(zhǔn)則優(yōu)化,以達(dá)到提高人臉識別率的目標(biāo)、提高整個人臉識別視頻網(wǎng)絡(luò)系統(tǒng)的性能。

參考文獻(xiàn)

[1]江斌,桂冠.基于物聯(lián)網(wǎng)的人臉識別視頻網(wǎng)絡(luò)的優(yōu)化方法研究[C]//物聯(lián)網(wǎng)與無線通信-2018年全國物聯(lián)網(wǎng)技術(shù)與應(yīng)用大會論文集.2018.

[2]余雷.基于物聯(lián)網(wǎng)的遠(yuǎn)程視頻監(jiān)控優(yōu)化方法研究[J].科技通報(bào),2014(6).

[3]張勇.遠(yuǎn)程視頻監(jiān)控系統(tǒng)的傳輸技術(shù)的實(shí)現(xiàn)[D].電子科技大學(xué),2011(9)

篇6

在AlphaGo贏得第一局的比賽時,就激起了人們熱烈的討論,因?yàn)楹芏鄰氖氯斯ぶ悄苎芯康摹凹夹g(shù)派”也對電腦圍棋程序戰(zhàn)勝人類棋手沒有足夠的信心。但第一局的結(jié)果仍然讓人震驚,因?yàn)樵谖鍌€月前,AlphaGo的棋力水平也只是達(dá)到戰(zhàn)勝職業(yè)二段棋手的程度,人們吃驚的是它的棋藝水平提高的速度。

與20年前深藍(lán)在國際象棋人機(jī)大戰(zhàn)中戰(zhàn)勝世界冠軍卡斯帕羅夫不同,AlphaGo并非僅僅依賴強(qiáng)悍的計(jì)算能力和龐大的棋譜數(shù)據(jù)庫取勝,而是具有深度學(xué)習(xí)的能力,能在實(shí)戰(zhàn)和練習(xí)中不斷學(xué)習(xí)和積累經(jīng)驗(yàn),這已經(jīng)非常類似于人類棋手的成長過程了,不過它成長的速度非常之快。

普通大眾會認(rèn)為,機(jī)器人獲勝是因?yàn)樗鼉?nèi)部存儲有極為豐富的棋譜,以及很多一流棋手的經(jīng)驗(yàn),再配合它強(qiáng)大的邏輯判斷能力,是一群人對一個人的戰(zhàn)斗,是機(jī)器計(jì)算對人腦計(jì)算的碾軋,結(jié)果是必然的。這樣的歸納未免有些草率和簡單,完全無視機(jī)器學(xué)習(xí)在程序中的作用。

機(jī)器學(xué)習(xí)(Machine Learning,ML)是一種讓計(jì)算機(jī)在事先沒有明確的程序的情況下做出正確反應(yīng)的能力,是計(jì)算機(jī)模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身性能的一種方法,是人工智能的核心,也是使計(jì)算機(jī)具有智能的根本途徑。但是它仍然主要是使用歸納、綜合而不是演繹的方式來進(jìn)行學(xué)習(xí)。

早在1959年,塞繆爾的下棋程序就具有了學(xué)習(xí)能力,能在不斷對弈中改善自己的棋藝。這個程序已經(jīng)涉及到了關(guān)于學(xué)習(xí)的令人頭疼的哲學(xué)問題,此后就有各種各樣的棋類程序誕生,演繹出一個又一個電腦程序戰(zhàn)勝人類棋手的傳說,不斷刷新博弈難度的記錄。

而圍棋,因?yàn)槠灞P的復(fù)雜性(大約10的172次方種狀態(tài),是計(jì)算機(jī)不可能窮盡的天文數(shù)字),則被看作是“人類智力的最后防線”,是僅存的人類能夠擊敗電腦的完全信息博弈游戲。AlphaGo的獲勝,宣告了機(jī)器學(xué)習(xí)的重大突破。

AlphaGo是一套為圍棋優(yōu)化的深度學(xué)習(xí)引擎,它使用了神經(jīng)網(wǎng)絡(luò)和蒙特卡羅算法,可以讓機(jī)器充分學(xué)習(xí),并能在不斷自我對決中提升水平。

深度學(xué)習(xí)(Deep Learning)的概念在10年前就已提出,又叫深層神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks),是機(jī)器學(xué)習(xí)研究中的一個新領(lǐng)域,通過建立模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),模仿人腦機(jī)制來解釋數(shù)據(jù)。深度學(xué)習(xí)提出了一種讓計(jì)算機(jī)自動學(xué)習(xí)出模式特征的方法,有深度置信網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等不同的機(jī)器學(xué)習(xí)模型,但都需要大量的并行計(jì)算。非監(jiān)督貪心逐層訓(xùn)練算法可以解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題,卷積神經(jīng)網(wǎng)絡(luò)可以利用空間相對關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能,這些特點(diǎn)正適合用于復(fù)雜的博弈程序。

但是,在具有不確定性的對決中,即使深度學(xué)習(xí)也發(fā)揮不了作用,無法幫助程序來確定對手的狀態(tài)。

篇7

關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);Morlet小波;決策理論;Hilbert變換

中圖分類號:TP18文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)32-9050-02

Wireless Signal Simulation Algorithm for Automatic Identification

ZHANG Meng

(Purchasing, China Railway Communication Co., Ltd., Beijing 100140, China)

Abstract: We have firstly discussed the modulation distinguishing method based on rational budgeting theory through the method of comparing Tine-Frequency analysis of the analysis signals formed by Hibert Transform . And on the basic of analyzing the fault of this method ,we put forward the distinguishing method based on NN. When NN is distinguishing signals, it mainly depends on the different positions of peak. Wavelet Transform here equals a mathematic microscope .it reflects the inexorable links between the signal categories and the positions of peak. Taking advantage Wavelet Transform and the simple three-layer BP NN, the more accurate Time-Frequency characteristics of signals to be distinguishing can be drawn.

Keywords: BP ANN; Morlet Wavelet; BudgetingTheory; Hibert Transform

在軍事電子對抗等多方面的重要應(yīng)用,通信信號調(diào)制的自動識別分類問題也相繼發(fā)展起來。無線電信號調(diào)制實(shí)識別就是要判斷截獲信號的調(diào)制種類。為此,需要事先對其特征進(jìn)行選定,并確定它們與相應(yīng)調(diào)制種類相聯(lián)系的取值范圍,然后再對信號進(jìn)行特征測量,并根據(jù)測量結(jié)果對信號的調(diào)制進(jìn)行分類判決。

如果把無線電信號的調(diào)制識別與分類視為一種模式識別問題,那末,從模式識別理論來看,模式分類是模式識別的一個子系統(tǒng)。因此,在模式識別理論框架下,無線電信號的調(diào)制識別是一個總體概念。而調(diào)制分類則只是調(diào)制識別的一個分支[1]。

1 基于決策理論的模擬調(diào)制方式識別方法

此算法主要實(shí)現(xiàn)區(qū)分AM、FM、DSB、LSB、USB、VSB、AM-FM等七種調(diào)制樣式,所分析的對象序列s(n)是由接收機(jī)中頻輸出并經(jīng)過采樣得到的,這樣s(n)的采樣頻率和載頻都已知,分別記做Fs和Fc。算法分兩個步驟:

第一步,根據(jù)信號的包絡(luò)特征將AM、USB、LSB與FM區(qū)分開,因?yàn)榍叭N信號的包絡(luò)不為恒定值,而FM的包絡(luò)理論上是恒定值(實(shí)際中接近恒定)。因而可以從中提取一個特征參數(shù)R。參數(shù)R反映了零中心歸一化包絡(luò)的功率譜特征,FM的零中心歸一化包絡(luò)接近零,因其參數(shù)R應(yīng)遠(yuǎn)遠(yuǎn)小于前三種信號。實(shí)際中若R

第二步,根據(jù)信號頻譜的對稱性,將AM與USB與LSB區(qū)分開,因?yàn)锳M的單邊頻譜關(guān)于載頻是近似對稱的,USB和LSB的單邊頻譜對于載頻來說分別只有上邊頻和下邊頻。因而可以從中提取另一個特征參數(shù) 。理論上,由于AM的上下邊頻對稱,所以AM的P接近零,而LSB和USB的P分別接近1和-1。實(shí)際中若|P|< 0.5,判為AM信號,若P>0.5,判為LSB,P

第三步,零中心非弱信號段瞬時相位非線性分量絕對值的標(biāo)準(zhǔn)偏差:σap 。

σap由下式定義:

(1)

式中,at是判斷弱信號段的一個幅度判決門限電平,c是在全部取樣數(shù)據(jù)Ns中屬于非弱信號值的個數(shù),?準(zhǔn)NL(i)是經(jīng)零中心化處理后瞬時相位的非線性分量,在載波完全同步時,有:?準(zhǔn)NL(i)= φ(i)-φ0

式中:,φ(i)為瞬時相位。用σap來區(qū)分是DSB信號還是AM-FM信號。

第四步,零中心非弱信號段瞬時相位非線性分量的標(biāo)準(zhǔn)偏差:σdp。

σdp由下式定義:

(2)

σdp主要用來區(qū)別不含直接相位信息的AM、VSB信號類和含直接相位信息的DSB、LSB、USB、AM-FM信號類,其判決門限設(shè)為t(σdp) 。

2 決策論方法的改進(jìn)

前面介紹的基于決策理論的模擬調(diào)制方式識別方法存在缺陷針對上述問題,人們又提出了基于神經(jīng)網(wǎng)絡(luò)(NN)的識別方法。

2.1 BP網(wǎng)絡(luò)作為分類器的模擬調(diào)制方式識別方法

該算法用基于有監(jiān)督訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型BP網(wǎng)絡(luò)作為分類器,用BP模型多層感知網(wǎng)絡(luò)與反向傳播學(xué)習(xí)算法相結(jié)合,通過不斷比較網(wǎng)絡(luò)的實(shí)際輸出與指定期望輸出間的差異來不斷的調(diào)整權(quán)值,直到全局(或局部)輸出差異極小值,不難想象該神經(jīng)網(wǎng)絡(luò)對模型細(xì)節(jié)中的諸多問題均有良好效果。

基于NN的模擬信號調(diào)制識別框圖[2]如圖1所示,該NN采用三層結(jié)構(gòu)即,1個輸入層,1個輸出層,1個中間層。中間層可采用多層。但由于受到計(jì)算復(fù)雜性的限制,目前采用單層或雙層中間層的NN比較多見。本圖中間層采用單層25個節(jié)點(diǎn),輸入層和輸出層的節(jié)點(diǎn)數(shù)取決于信號特征參數(shù)的個數(shù)和信號的分類數(shù),因而分別為4和7。

神經(jīng)網(wǎng)絡(luò)具有信息分布式存儲、大規(guī)模自適應(yīng)并行處理和高度容錯特性,適用于模式識別的基礎(chǔ)。其學(xué)習(xí)能力和容錯特性對不確定性模式識別具有獨(dú)到之處[3]。通信信號在傳播過程中受到信道噪聲的污染,接受到的信號是時變的、非穩(wěn)定的,而小波變換特別適用于非穩(wěn)定信號的分析,其作為一種信息提取的工具已得到較廣泛的應(yīng)用。小波變換具有時頻局部性和變焦特性,而神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)、自適應(yīng)、魯棒性、容錯性和推廣能力,兩者優(yōu)勢的結(jié)合可以得到良好的信號模式自動識別特性,從而形成各種處理方法。

2.2 基于小波的特征提取和識別方法

小波特別適用于非穩(wěn)定信號的分析,作為一種特征提取的工具已得到較為廣泛的應(yīng)用。小波的重要特點(diǎn)是它能夠提供一個信號局部化的頻域信息。小波變換能夠?qū)⒏鞣N交織在一起的不同頻率組成的混合信號分解成不同頻率的塊信號,它對不同的時間和頻率有不同的解釋,因此,對調(diào)制信號進(jìn)行小波分解,得到不同水平下的細(xì)節(jié)信息,這些信息對于不同類別的調(diào)制信號來說是有差別的[4]。

在實(shí)際應(yīng)用中,小波變換常用的定義有下列兩種:

(3)

(4)

式中,星號*表示共軛。式(3)表示小波變換是輸入信號想x(t)和小波函數(shù)φα, τ(t)的相關(guān)積分;式(4)用卷積代替了相關(guān)積分。兩種定義在本質(zhì)上是一致的。本為采用后者。

將式(4)中的τ和t離散化,即令τ=kTs,及t=iTs,得連續(xù)小波變換公式(4)的離散形式,又稱小波系數(shù):

(5)

Morlet小波是一種單頻復(fù)正弦調(diào)制高斯波,也是最常用的復(fù)值小波。其實(shí)、頻兩域都具有很好的局部性,它的時域形式如下:

(6)

雖然信號特征有很多種,神經(jīng)網(wǎng)絡(luò)在進(jìn)行信號識別時,主要是依據(jù)譜峰位置的不同,因此提取信號特征主要任務(wù)就是尋找信號類別與譜峰位置間的必然聯(lián)系。而小波變換在這里則相當(dāng)于一個數(shù)學(xué)顯微鏡,通過它,可以詳細(xì)了解各類信號在不同低頻段上的頻譜構(gòu)成。

整個系統(tǒng)在PC機(jī)上進(jìn)行仿真,采用Windows2000操作系統(tǒng)和Matlab6.1和Cool Edit2.0進(jìn)行聲音錄制。

在仿真中,采用44K的采樣率,錄制了一段歌聲和一段笑聲,用Matlab生成22K的正弦載波,并根據(jù)第二章的各調(diào)制樣式的定義,生成了各個仿真的調(diào)制波形。并轉(zhuǎn)化成.wav文件錄在電腦中。

3 結(jié)束語

本文僅限于理論理論研究,用MatLab仿真實(shí)現(xiàn),沒有用DSP芯片等物理電路實(shí)現(xiàn),僅為實(shí)際實(shí)現(xiàn)提供理論指導(dǎo)。

參考文獻(xiàn):

[1] 羅利春.無線電偵察信號分析與處理[M].北京:國防工業(yè)出版社,2003.

[2] 楊小牛,樓才義,徐建良.軟件無線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,2001.

篇8

關(guān)鍵詞:安全帶檢測;深度學(xué)習(xí);支持向量機(jī);智能交通;特征提取

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)11-0240-03

Abstract:Seat belt detection in intelligent transportation systems is an important research area. A seat belt detection algorithm for complex road backgrounds based on deep learning is proposed. It first extracts features from labeled vehicle, windshield, and seat belt regions, and those features are used to train the detection models by deep learning. Then, it detects the locations of the vehicle, windshield, and seat belt regions, and uses the relative positions among these vehicle components and their detection scores to train a support vector machine classification model. Finally, it performs a fine mapping and identification process using this classification model on the seat belt region. This method performs well when applied to a database of images collected by road surveillance cameras.

Key words: Seat belt detection; deep learning; support vector machine; intelligent transportation; feature extraction

針對駕駛員未系安全帶的這種危險(xiǎn)駕駛行為,以及為了響應(yīng)公安部門的需求,目前出現(xiàn)了很多種安全帶檢測方法?,F(xiàn)有的安全帶檢測方法大多是基于邊緣檢測[1-2]和Hough變換[3]的方法進(jìn)行安全帶檢測。Guo等人[4]提出了安全帶檢測系統(tǒng),包括安全帶檢測和駕駛員區(qū)域定位兩個模塊。該算法利用線性濾波器在HSV顏色空間[5]通過水平方向和垂直方向投影來確定車牌的位置,然后利用邊緣檢測算子(Sobel[6],Canny[7]等)通過邊緣檢測得到車窗的上下邊緣,再通過幾何關(guān)系確定駕駛員區(qū)域的位置。該方法容易受到車身顏色影響,穩(wěn)定性較差。

為了解決安全帶檢測過程中的光照、車型、駕駛員著裝等因素對檢測結(jié)果的影響,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN[8])的安全帶檢測系統(tǒng)。當(dāng)采集到圖片后,首先粗定位車輛區(qū)域,并根據(jù)檢測算法得到車窗區(qū)域粗定位模塊,找到圖像上若干個車窗候選區(qū)域,最后通過安全帶檢測模型及支持向量機(jī)(SVM)分類器[9]處理得到安全帶檢測結(jié)果。

1 基于深度學(xué)習(xí)的安全帶檢測

1.1 CNN特征提取算法

深度學(xué)習(xí)[11-12]是通過大量的簡單神經(jīng)元組成,根據(jù)非線性關(guān)系將底層特征抽象表示為高層特征。卷積神經(jīng)網(wǎng)絡(luò)[13]是一個多層的神經(jīng)網(wǎng)絡(luò),每層由多個二維平面組成,而每個平面包括多個獨(dú)立神經(jīng)元。網(wǎng)絡(luò)中由一些簡單元和復(fù)雜元組成,分別記為S-元和C-元。

1.2 檢測模型的構(gòu)建

如圖1所示,我們構(gòu)建了由三個CNNs組成的多尺度的特征提取模型。每個CNN模型共有八層,其中有五個卷積層和三個全連接層。對于每一張圖片,都會自動的提取三個嵌套的越來越小的矩形窗口的特征,分別為車輛區(qū)域、車窗區(qū)域以及安全帶區(qū)域。這三個由CNNs提取的特征送到兩個全連接層,第二個全連接層的輸出被送到輸出層,最后用線性支持向量機(jī)分類器對所有子塊進(jìn)行分類。

2 實(shí)驗(yàn)結(jié)果

2.1 車輛及車窗檢測

本實(shí)驗(yàn)訓(xùn)練集包括戴安全帶和未戴安全帶各2000張的車輛圖像,測試集包括戴安全帶和未戴安全帶各100張的圖像。本文共完成車輛檢測、車窗檢測和安全帶檢測三個實(shí)驗(yàn)。其中,對于車輛和車窗檢測部分,使用檢測率(CIR)和漏檢率(MIR)來作為系統(tǒng)的評價指標(biāo),計(jì)算方式如下式所示:

對于車輛檢測實(shí)驗(yàn),選取6000車輛圖片用于訓(xùn)練模型。然后選取2000張車輛圖片作為測試圖片,并隨機(jī)分成10份。檢測結(jié)果示例如圖2(a)。平均檢測率為93.3%,平均漏檢率為6.7%。同時,對比了基于Adaboost算法[10]的車輛檢測模型,檢測結(jié)果示例如圖2(b),平均檢測率為90.6%,平均漏檢率為9.4%。

由此可以看出,本文算法在相同的數(shù)據(jù)庫上比Adaboost算法表現(xiàn)更好,具有更低的漏檢率和誤檢率。并且車輛檢測結(jié)果更適合用于后面的車窗檢測實(shí)驗(yàn)。

車窗檢測實(shí)驗(yàn)的示例如圖3所示。選取6000張車窗正面車窗圖片用于訓(xùn)練模型,選取2000張圖片作為測試集,并隨機(jī)分成10份。平均檢測率為93.6%,平均漏檢率為9.4%。

2.2 安全帶檢測

對于安全帶檢測部分,使用檢測率(CIR)、虛警率(WIR)和漏檢率(MIR)作為安全帶檢測系統(tǒng)的評價指標(biāo),計(jì)算方式如下式所示:

選取戴安全帶和未戴安全帶圖片各2000張圖片用于訓(xùn)練模型。選取2000安全帶區(qū)域圖片作為測試圖片,并隨機(jī)分成10份,每份包含戴安全帶圖片和未戴安全帶圖片各100張。通過基于深度學(xué)習(xí)的安全帶檢測算法,檢測結(jié)果示例如圖4所示,平均檢測率為92.1%,平均虛警率為6.4%,平均漏檢率為2.5%。

3 結(jié)論

安全帶檢測是智能交通系統(tǒng)中的一個重要研究課題。本文提出了一個高效的進(jìn)行安全帶檢測的系統(tǒng),對于檢測部分,我們采用深度神經(jīng)網(wǎng)絡(luò)的特征提取方法,該特征更加適用于訓(xùn)練檢測模型。同時,我們結(jié)合SVM的后處理,提高了安全帶檢測系統(tǒng)的魯棒性,并且很大程度上減低了虛警率和漏檢率。

參考文獻(xiàn):

[1] Ha D M, Lee J M, Kim, Y D. Neural-edge-based vehicle detection and traffic parameter extraction [J]. Image and vision computing, 2004, 22(11): 899-907.

[2] Song G Y, Lee K Y, Lee J W. Vehicle detection by edge-based candidate generation and appearance-based classification [C]//Intelligent Vehicles Symposium, IEEE, 2008: 428-433.

[3] Ballard D H. Generalizing the Hough transform to detect arbitrary shapes [J]. Pattern recognition, 1981, 13(2): 111-122.

[4] Guo H, Lin H, Zhang S. Image-based seat belt detection [C]//2011 IEEE International Conference on Vehicular Electronics and Safety (ICVES). IEEE, 2011: 161-164.

[5] 王運(yùn)瓊, 游志勝. 基于色差均值的快速車窗定位算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2004, 21(1): 78-79.

[6] 張建軍, 羅靜. 基于改進(jìn)Sobel算子的表面裂紋邊緣檢測算法[J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2011年06期.

[7] Ali M, Clausi D. Using the Canny edge detector for feature extraction and enhancement of remote sensing images [C]//IEEE 2001 International Geoscience and Remote Sensing Symposium. 2001:2298-2300.

[8] Li Guanbin, Yu Yizhou. Visual Saliency Based on Multiscale Deep Features [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2015: 5455-5463.

[9] 駱玉榮. 安全帶識別系統(tǒng)的研究與實(shí)現(xiàn)[D]. 北京:北京工業(yè)大學(xué), 2008.

[10] 吳法. 圖像處理與機(jī)器學(xué)習(xí)在未系安全帶駕車檢測中的應(yīng)用[D]. 杭州:浙江大學(xué), 2013.

[11] A. Krizhevsky, I. Sutskever, G. E. Hinton. Imagenet classification with deep convolutional neural networks [C]//Advances in neural information processing systems, 2012:1097-1105.

篇9

Abstract: Classifier selection is the key factor for data classification. K-mean classifier, ISODATA classifier and SOFM neural network classifier are compared in computational complexity and classification performance. The experiments show that three kinds of classifiers cost equal time on the same image, but the self organizing feature map neural network classifier is optimal in classification performance.

關(guān)鍵詞: K-均值分類器;ISODATA分類器;SOFM神經(jīng)網(wǎng)絡(luò)分類器

Key words: K-mean classifier;ISODATA classifier;SOFM neural network classifier

中圖分類號:TP7 文獻(xiàn)標(biāo)識碼:A 文章編號:1006-4311(2013)04-0182-02

0 引言

K-均值分類器、迭代自組織數(shù)據(jù)分類器和自組織特征映射神經(jīng)網(wǎng)絡(luò)分類器在遙感圖像分類方面應(yīng)用廣泛。王曉軍等人將非監(jiān)督K-均值分類用在合成孔徑雷達(dá)SAR圖像各極化通道上進(jìn)行參數(shù)估計(jì)[1]。包健等人將K-均值算法用于高光譜遙感影像的非監(jiān)督分類中,具有較強(qiáng)的實(shí)用性[2]。賈明明等人選取對氣候變化敏感的澳大利亞作為研究區(qū)。利用了ISODATA分類結(jié)果、NDVI閾值及其時間序列主成分分析特征量對研究區(qū)土地利用/覆被進(jìn)行分類[3]。李正金等人進(jìn)行了基于TM衛(wèi)星遙感技術(shù)和小麥估產(chǎn)模型的冬小麥產(chǎn)量監(jiān)測研究,采用優(yōu)化的ISODATA分類方法,結(jié)合人機(jī)交互式判讀解譯作物信息[4]。夏浩銘等提取地物在空間上的聯(lián)系,利用神經(jīng)網(wǎng)絡(luò)分類,獲得較好的地物分類精度[5]。文章闡述了三種分類器的工作原理,分析了三種分類器的計(jì)算復(fù)雜度和分類效果。

1 K-均值分類器

基本K-均值思想很簡單。首先,選擇k個初始聚類中心,其中k是目標(biāo)分類數(shù)目。每個樣本按照距離函數(shù)計(jì)算與所有聚類中心的距離,樣本加入到與之距離最短的聚類中心所在分組。新樣本加入后,更新該分組的聚類中心。重復(fù)訓(xùn)練和更新,直到每類的聚類中心不發(fā)生變化為止。當(dāng)分類數(shù)目已知時,利用K-均值分類方法能夠方便地計(jì)算出樣本聚類中心。但是在實(shí)際應(yīng)用中,分類數(shù)目可能無法估算,這在一定程度上限制了這種方法的應(yīng)用。

K-均值算法特點(diǎn)是每次調(diào)整樣本后,修改一次聚合中心和準(zhǔn)則值,當(dāng)考察完n個樣本后,一次迭代運(yùn)算完成,新的聚合中心和準(zhǔn)則值也計(jì)算出來。在迭代過程中,準(zhǔn)則值逐漸減小,直到它的最小值為止。如果在一次迭代前后,準(zhǔn)則值沒有變化,說明算法已經(jīng)收斂。

2 ISODATA分類器

ISODATA算法通過對樣本迭代來確定聚類的中心。每一次迭代時,首先是在不改變類別數(shù)目的情況下改變分類。然后將樣本平均矢量之差小于某一閾值的類別合并起來,根據(jù)樣本協(xié)方差矩陣來決定其分裂與否。主要環(huán)節(jié)是聚類、集群分裂和集群合并等處理。

ISODATA分類算法最優(yōu)迭代次數(shù)很難設(shè)定,一般遙感圖像的數(shù)據(jù)量大,若迭代誤差取值較小,分類也很難實(shí)現(xiàn)。沈照慶等人[6]以某次迭代中“合并”和“分裂”都為零為求最優(yōu)分類數(shù)的迭代條件,而不是預(yù)先設(shè)定迭代次數(shù);取最大和最小隸屬度取代每一個隸屬度為比對特征值,提高了分類速度和精度;利用等效轉(zhuǎn)換研究隸屬度矩陣的迭代誤差變化規(guī)律,得出變化速度趨于穩(wěn)定時為求解最優(yōu)隸屬度矩陣的智能迭代控制,減少人為事先干預(yù)。

3 SOFM神經(jīng)網(wǎng)絡(luò)分類器

神經(jīng)網(wǎng)絡(luò)由被稱作神經(jīng)元的相互連接處理單元組成。自組織特征映射(Self-Organizing Feature Map,簡稱SOFM)網(wǎng)絡(luò)模擬大腦的神經(jīng)系統(tǒng)自組織特征映射的功能,在學(xué)習(xí)過程中不需要指導(dǎo),進(jìn)行自組織學(xué)習(xí)。SOFM網(wǎng)絡(luò)可用于圖像壓縮、語言識別、機(jī)器學(xué)習(xí)和優(yōu)化問題等。

訓(xùn)練SOFM網(wǎng)絡(luò)時首先初始化連接權(quán)重為小的隨機(jī)數(shù),訓(xùn)練開始后,輸入向量送入網(wǎng)絡(luò)。每輸入一個樣本矢量,各神經(jīng)元的加權(quán)和中必然有一個最大值,經(jīng)過側(cè)反饋?zhàn)饔?,在最大值點(diǎn)周圍連接權(quán)重自適應(yīng)調(diào)節(jié)。SOFM網(wǎng)絡(luò)已經(jīng)證明,網(wǎng)絡(luò)通過反復(fù)學(xué)習(xí)輸入模式,可使連接加權(quán)矢量空間分布密度與輸入模式的概率分布趨于一致,也就是連接權(quán)矢量空間分布能反應(yīng)輸入模式的統(tǒng)計(jì)特征。訓(xùn)練好的網(wǎng)絡(luò)在競爭層產(chǎn)生了一個或幾個最大輸出,它們在競爭層中的位置反映了輸入向量在自身空間的特征。

4 實(shí)驗(yàn)結(jié)果分析

實(shí)驗(yàn)選取2003年青島市一景SPOT5圖像作為數(shù)據(jù)源,截取城鄉(xiāng)結(jié)合部某地作為實(shí)驗(yàn)區(qū)域,實(shí)驗(yàn)區(qū)域在紅波波段顯示為圖1(a)。對于實(shí)驗(yàn)區(qū)的遙感圖像分別采用上述分類器進(jìn)行地物分類實(shí)驗(yàn)。

用ENVI 4.3的分類功能根據(jù)K-均值算法分類。參數(shù)設(shè)置為:分類數(shù)量15(一般為最終輸出分類數(shù)的2-3倍),最大迭代次數(shù)為40(默認(rèn)是15),其它參數(shù)取默認(rèn)值。K-均值關(guān)注的是不同波段的灰度信息,系統(tǒng)自動分類時,得到的分類數(shù)目為八類,結(jié)果如圖1(b)所示。從分類結(jié)果上可以看出,K-均值分類算法對水體的分類效果較好,水體用紅色表示,不但能分出主河道而且顯示出在耕地中有一條灌溉溝渠。綠地在分類圖中用綠色表示,圖上中部的綠地分類正確,但在河道附近,部分耕地錯分為綠地了。耕地被分為藍(lán)色、黃色和暗綠色三類。反射系數(shù)高的南北方向道路和屋頂較亮的廠房被歸為一類,東西走向的道路兩邊毛刺現(xiàn)象嚴(yán)重。建筑物錯分率也較高。

在ENVI 4.3環(huán)境下,利用ISODATA算法分類。參數(shù)設(shè)置為:類別數(shù)范圍[5-15](一般最小數(shù)量不能小于最終分類數(shù),最大數(shù)量為最終分類數(shù)量的2-3倍),最大迭代次數(shù)為40(默認(rèn)是15),其它參數(shù)取默認(rèn)值,結(jié)果見圖1(c)。從分類結(jié)果上看,ISODATA分類算法對灰度值一致性好的水體分類效果較好,水體用紅色表示。能區(qū)分出主河道而且顯示出在耕地中有一條灌溉溝渠,但將圖像下方,靠近南北走向的道路的一間面積較大的廠房錯分為水體。綠地在分類圖中用綠色表示,圖上中部的綠地分類正確較好,但在河道附近,相當(dāng)一部分耕地錯分為綠地了。耕地分類效果表較好,但有部分錯分為綠地。東西走向的道路線條比較連貫,兩邊有點(diǎn)毛刺現(xiàn)象,但不嚴(yán)重。的空地用粉紅色表示,居民區(qū)是暗綠色,部分工廠廠房的屋頂錯分為水體。

SOFM網(wǎng)絡(luò)利用MATLAB中的神經(jīng)網(wǎng)絡(luò)工具箱實(shí)現(xiàn)。設(shè)定SOFM網(wǎng)絡(luò)的輸入矢量各維的數(shù)據(jù)范圍是像素灰度在[1,32]之間,鄰域像素卷積[25,800]之間,學(xué)習(xí)率為0.9,距離函數(shù)是歐氏距離函數(shù),訓(xùn)練步長是5000。輸入訓(xùn)練樣本,每類500個,5類共2500個樣本,距離為5類,每類表征一種地物類型。網(wǎng)絡(luò)對類型的定義儲存在訓(xùn)練網(wǎng)絡(luò)中。利用訓(xùn)練好的網(wǎng)絡(luò)對實(shí)驗(yàn)圖像所有像元進(jìn)行分類。分類結(jié)果用灰度圖像表示,像素的顏色代表分類的類型,像素的位置對于測試圖像同位置的地物,如圖1(d)所示。白色表示道路,淺灰表示建筑物,灰色表示綠地,深灰表示耕地,黑色表示水體。從分類結(jié)果圖上看,縱橫貫穿郊區(qū)的主干道和樓區(qū)內(nèi)的道路基本能夠正確分類。由于反射系數(shù)與道路相近,工廠廠房的屋頂也被錯分為道路。建筑物、耕地和綠地總體上分類正確。水體的分類結(jié)果令人滿意,主水道和灌溉的溝渠都能清楚地分出。分類器處理樣本圖像的時間接近,都是20分鐘左右。

5 總結(jié)

K-均值分類中耕地被分三類,道路兩邊毛刺現(xiàn)象嚴(yán)重,建筑物錯分率也較高,分類效果最差。SOFM網(wǎng)絡(luò)對道路、水體、耕地和綠地總體上分類正確,分類正確率最高。ISODATA分類對水體、耕地、道路分類基本正確,建筑物錯分較多。

參考文獻(xiàn):

[1]王曉軍,王鶴磊,李連華,孟藏珍,馬寧.基于C均值分類的極化SAR圖像白化斑點(diǎn)濾波方法[J].系統(tǒng)工程與電子技術(shù),

2008,30(12):2389-2392.

[2]包健,厲小潤.K均值算法實(shí)現(xiàn)遙感圖像的非監(jiān)督分類.機(jī)電工程,2008,25(3):77-80.

[3]賈明明,劉殿偉,宋開山,王宗明,姜廣甲,杜嘉,曾麗紅.基于MODIS時序數(shù)據(jù)的澳大利亞土地利用/覆被分類與驗(yàn)證.遙感

技術(shù)與應(yīng)用,2010,25(3):379-386.

[4]李正金,李衛(wèi)國,申雙.基于ISODATA法的冬小麥產(chǎn)量分級監(jiān)測預(yù)報(bào).遙感應(yīng)用,2009,8:30-32.

篇10

隨著時代的發(fā)展,構(gòu)建在互聯(lián)網(wǎng)生態(tài)模式之上的云計(jì)算、大數(shù)據(jù)、人工智能等新技術(shù),正滲透到每一個行業(yè),引發(fā)產(chǎn)業(yè)生產(chǎn)、服務(wù)模式的變革,并且已經(jīng)取得一系列重要成果。在此背景下,大學(xué)教學(xué)如何跟上時代步伐,是值得每一個高校教師深入思考的問題。程序設(shè)計(jì)作為計(jì)算機(jī)專業(yè)大學(xué)生的必修課程和必須掌握的基本技能,其教學(xué)改革在新時代下尤顯必要。

傳統(tǒng)的大學(xué)教學(xué)中,一直都以C/C++或Java作為教學(xué)語言。誠然,C/C++和Java是當(dāng)今使用人數(shù)最多的語言,但在“互聯(lián)網(wǎng)+”時代,面對大數(shù)據(jù)分析時,特別是面對數(shù)據(jù)采集、仿真建模、結(jié)果驗(yàn)證與數(shù)據(jù)可視化時,他們就不再是最佳選擇。

Python作為一種解釋型超高級語言,具備交互式、可移植、面向?qū)ο蟮奶攸c(diǎn)。它功能強(qiáng)大,適用于多種操作系統(tǒng),有完善豐富的工具包,正在得到越來越多的應(yīng)用,而且越來越被重視。2017年4月,北京理工大學(xué)計(jì)算機(jī)學(xué)院和高等教育出版社聯(lián)合承辦了“第一屆高等學(xué)校Python語言及計(jì)算生態(tài)教學(xué)研討會”,提出了計(jì)算生態(tài)的概念[1],大力推動了Python教學(xué)。在此背景下,根據(jù)我們在Python教學(xué)和科研中的應(yīng)用經(jīng)驗(yàn),對如何進(jìn)行基于Python計(jì)算生態(tài)的教學(xué)改革進(jìn)行探討。

1 Python語言的興起與優(yōu)勢

從20世紀(jì)中期到今天,短短的70年間,電子計(jì)算機(jī)經(jīng)歷了飛速的發(fā)展,出現(xiàn)了許多不同的程序設(shè)計(jì)語言,例如Pascal、Fortran、C、C++、Java、PHP、C#等,這些不同的語言,都體現(xiàn)了不同的設(shè)計(jì)哲學(xué),也反映了不同的時代特點(diǎn)。

然而,每種程序設(shè)計(jì)語言都有其局限性。Python的設(shè)計(jì)者Guido von Rossum希望有一種語言,既具有C方便地調(diào)用計(jì)算機(jī)功能接口的能力,又可以像一些腳本語言一樣輕松地編程。Python正是在這種背景下被創(chuàng)造出來。

同C/C++和Java等語言相比,Python有以下優(yōu)勢:

(1)簡單易學(xué)。Python是一種代表簡單主義思想的語言,語法簡單,學(xué)習(xí)起來容易上手。這使學(xué)生能夠?qū)W⒂诮鉀Q問題而不是學(xué)習(xí)語言本身。

(2)解釋性。Python寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。這使得Python更加簡單,更易于移植。

(3)面向?qū)ο?。Python既支持面向過程的編程,也支持面向?qū)ο蟮木幊獭?/p>

(4)可擴(kuò)展性。為了提升運(yùn)行效率,可以采用C/C++來編寫關(guān)鍵代碼,然后在Python程序中使用它們。

(5)混合編程。Python被稱為膠水語言,是由于可以很容易地將Python與其他語言進(jìn)行混合編程。這樣方便地利用已有的各種工具包,提高開發(fā)效率。

(6)豐富的庫。Python有強(qiáng)大的標(biāo)準(zhǔn)庫,并且Python的生態(tài)系統(tǒng)開始拓展到第三方包,例如用于Web框架的web.py ,用于科學(xué)計(jì)算的numpy,以及用于數(shù)據(jù)可視化的matplotlib等。

Python作為一種跨平臺編程語言,已經(jīng)被移植在以Linux、Windows、Mac、Android為代表的許多平臺上。由于Python的開放性,有豐富的來自開源社區(qū)的成熟庫支持,從而可以基于Python完成各種工作,例如數(shù)據(jù)采集(如網(wǎng)絡(luò)爬蟲)、圖像處理、機(jī)器學(xué)習(xí)、科學(xué)計(jì)算等。

2 針對Python的應(yīng)用支持與國內(nèi)外課程建設(shè)情況

正由于Python具有上述優(yōu)點(diǎn),它獲得了業(yè)界的廣泛支持。例如在Google公司,Python是繼C++和Java之后,使用率排名第三的編程語言,使用Python的開發(fā)團(tuán)隊(duì)也是Google的第三大研發(fā)部門。

(1)Tensorflow:TensorFlow是由Google Brain小組開發(fā)的用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)的工具。據(jù)統(tǒng)計(jì),Tensorflow是目前使用人數(shù)最多的開源深度學(xué)習(xí)框架[2]。TensorFlow本身是使用C++實(shí)現(xiàn)的,然后用Python封裝。Tensorflow可以根據(jù)用戶給出的所有指令創(chuàng)建一個計(jì)算圖,該圖被內(nèi)部優(yōu)化和編譯成可執(zhí)行的C++代碼。這樣Tensorflow就可以利用Python 帶來的開發(fā)速度和C++帶來的執(zhí)行速度。

(2)Google App Engine:Google App Engine(GAE),是谷歌推出的云平臺,它完全把CPU、內(nèi)存等硬件基礎(chǔ)設(shè)施抽象化,這樣只需要關(guān)注代碼的編寫,不需要關(guān)注硬件、操作系統(tǒng)或者物理位置。Python是GAE最早支持編程的語言之一,任何使用Python編寫的程序,都可以配合Google Python API,很方便地在GAE上創(chuàng)建、部署、運(yùn)行Python程序。

(3)Caffe(Convolutional Architecture for Fast Feature Embedding):Caffe是由Berkeley AI Research(BAIR)和Berkeley Vision and Learning Center (BVLC)社?^貢獻(xiàn)者開發(fā)的另一個深度學(xué)習(xí)框架。同Tensorflow一樣,Caffe也是采用C++進(jìn)行編寫,然后提供Python封裝,從而既可以利用C++的高執(zhí)行效率,也可享受Python的高開發(fā)效率。

(4)在好萊塢,工業(yè)光魔公司(Industrial Light) 采用Python制作商業(yè)動畫,在“阿貝斯(Abyss)”“星球之旅(Star Trek)”“Indiana Jones”等超級大片中驚艷登場。

(5)ERP和CRM軟件的開發(fā)也開始基于Python完成;Red Hat曾用Python和Tk一起成功開發(fā)配置和管理操作系統(tǒng)的可視界面,整個系統(tǒng)可以全面控制Linux操作系統(tǒng),并根據(jù)用戶選擇對配置文件作自動更新。

正由于Python是受到業(yè)界的歡迎,國外很多高校(如麻省理工學(xué)院、斯坦福大學(xué)、加州大學(xué)洛杉磯分校等)已經(jīng)用Python作為程序設(shè)計(jì)語言的教學(xué)對象。在Coursera等在線教育平臺上,可以發(fā)現(xiàn)有來自密歇根大學(xué)、萊斯大學(xué)、約翰霍普金斯大學(xué)等眾多高校的Python課程;國內(nèi)南京大學(xué)張莉老師的課程也在其中。然而國內(nèi)這方面的工作做得還遠(yuǎn)遠(yuǎn)不夠。截至2015年,我國開設(shè)Python語言教學(xué)的高校不超過10所[3]。目前在國內(nèi)大力推動Python教學(xué)改革的主要有北京理工大學(xué)嵩天老師等人,已編著并出版相應(yīng)的大學(xué)教材[4],受到廣泛歡迎。哈爾濱工業(yè)大學(xué)車萬翔老師等人分析了C語言作為入門語言的不足和Python作為入門語言的優(yōu)勢,闡述了計(jì)算機(jī)專業(yè)高級語言程序設(shè)計(jì)課程的改革方案和實(shí)施效果[5]。南京大學(xué)張莉老師發(fā)表了《基于MOOC的“用Python玩轉(zhuǎn)數(shù)據(jù)”翻轉(zhuǎn)課堂實(shí)踐與研究》,研究證明:采用Python教學(xué)可以較好地提高學(xué)生的主動學(xué)習(xí)能力、學(xué)習(xí)興趣和熱情以及問題求解能力[6]。

3 基于Python的教學(xué)科研應(yīng)用改革案例

3.1 輸入輸出

輸入輸出(I/O)是每個程序都必須具備的重要功能。常見的I/O可以分為3類:標(biāo)準(zhǔn)I/O(終端打印等)、文件I/O和網(wǎng)絡(luò)I/O。以?K端I/O為例:

/* Basic I/O in C */

#include

int main()

{

char name[20]; /* char數(shù)組,保存第一行輸入,作為名字輸出 */

scanf("%s", name); /*讀取第一行輸入 */

printf("Hello %s\n", name);

return 0;

}

以上用C語言編寫的有效代碼共計(jì)8行,輸入輸出都采用標(biāo)準(zhǔn)庫函數(shù)。由于C語言本身設(shè)計(jì)方面的缺陷(如果第一行輸入超出char數(shù)組大?。赡軐?dǎo)致嚴(yán)重的緩沖區(qū)溢出問題。針對這一問題,C++對數(shù)組越界進(jìn)行了保護(hù),從而提高系統(tǒng)安全性。

如果采用Java實(shí)現(xiàn),則有效代碼共10行。由于Java的面向?qū)ο缶幊趟枷耄旅孢@個示例程序中多了很多對象構(gòu)造的流程,引用的庫看起來也相對較多,如下所示。我們只需要對這段代碼進(jìn)行稍微修改,就可以實(shí)現(xiàn)網(wǎng)絡(luò)I/O和文件I/O。例如,替換“System.in”,就能夠?qū)崿F(xiàn)對文件或者網(wǎng)絡(luò)流讀取。將“Reader”和“InputStream”替換,就能夠?qū)崿F(xiàn)寫入。

/ * Basic I/O in Java */

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class HelloWorld {

public static void main(String[] args) throws Exception { /*所有Java程序的入口函數(shù) */

/* 新建輸入對象,用來讀取標(biāo)準(zhǔn)輸入。其中對象構(gòu)造有嵌套*/

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine(); /* 讀取第一行輸入 */

System.out.printf("Hello %s\n", name);

}

}

相比之下,基于Python的代碼則非常短小簡潔:

/* Basic I/O in Python */

import sys

name = sys.stdin.readline() /* 讀取第一行輸入 */

print("Hello " + name)

有效代碼僅僅只有3行!同樣,替換其中的“sys.stdin”可以實(shí)現(xiàn)對文件讀取。對于動態(tài)類型的Python來說,所有的變量都不需要繁復(fù)的聲明,直接用就可以,再加上解釋執(zhí)行的特點(diǎn),無需定義入口函數(shù)即可運(yùn)行。

以上是對C/C++、Java、Python在基本終端I/O操作上的比較,當(dāng)推廣到文件I/O和網(wǎng)絡(luò)I/O后,Python的優(yōu)勢會更突出,詳見表1。

3.2 數(shù)據(jù)操作

數(shù)據(jù)處理是大數(shù)據(jù)時代我們面臨的首要問題。然而,由于信息化系統(tǒng)建設(shè)過程中,數(shù)據(jù)可能以不同的結(jié)構(gòu)存在,可能是純文本文件、CSV格式,也可能是Excel格式,或者是各種不同廠商的數(shù)據(jù)庫格式。

當(dāng)然,可以采用C++或Java來讀取各種異構(gòu)數(shù)據(jù)源,但過程相當(dāng)繁瑣,需要利用各種底層驅(qū)動,甚至是一些商業(yè)化組件。以Excel文件讀取為例,為了處理Excel數(shù)據(jù),C/C++代碼需要用到libxl商業(yè)庫,而Java也需要用到Apache POI開源庫。而利用Python對Excel文件進(jìn)行讀取則需要利用Pandas開源數(shù)據(jù)處理分析庫,示例代碼如下:

/* Read Excel in Python */

import pandas

df = pandas.read_excel('sample.xls')

print df.columns /* 輸出列名 */

values = df['列名'].values /* 獲取某一列的所有數(shù)據(jù) */

FORMAT = ['列名1', '列名2', '列名3'] /* 獲取指定列組成的數(shù)據(jù)幀 */

df_selected = df[FORMAT]

總的來說,在數(shù)據(jù)庫操作方面,C++、Java和Python的支持都非常好。C++和Java都為SQL提供了標(biāo)準(zhǔn)的連接、驅(qū)動管理類,不同的數(shù)據(jù)庫只需要加載不同的驅(qū)動就可以。Java對數(shù)據(jù)庫有比較好的語言級別支持,相應(yīng)的驅(qū)動也比較豐富。Python也提供語言級別的支持,同時第三方庫十分豐富,甚至一種數(shù)據(jù)庫有多個不同的連接庫。另外值得一提的是, 盡管當(dāng)前很多流行的分布式大數(shù)據(jù)平臺及分布式數(shù)據(jù)庫使用Java編寫,但利用Python同樣能夠方便地基于第三方庫實(shí)現(xiàn)操作Hbase、Hive以及其他非關(guān)系數(shù)據(jù)庫,如Mongodb、Redis等,這種特點(diǎn)是C/C++不能比擬的。表2為Python與C++、Java在數(shù)據(jù)庫操作上的比較。

由于Python對各種文件和數(shù)據(jù)庫的支持都非常好,它十分適合編寫數(shù)據(jù)庫之間,數(shù)據(jù)庫與文件之間相互導(dǎo)入導(dǎo)出數(shù)據(jù)的腳本,是大數(shù)據(jù)處理的首選語言。

3.3 數(shù)據(jù)可視化

豐富的可視化數(shù)據(jù)圖形能夠更好地對數(shù)據(jù)進(jìn)行展示。利用數(shù)據(jù)可視化,可方便分析人員從宏觀上了解數(shù)據(jù)的形態(tài)和分布,或者進(jìn)行最后的結(jié)果展示。

Python提供了豐富的數(shù)據(jù)可視化工具,如pandas、Seaborn、Bokeh、matplotlib等。下面以matplotlib為例說明如何利用Python完成數(shù)據(jù)繪圖與可視化。

假定我們要展現(xiàn)的數(shù)據(jù)用CSV格式保存,內(nèi)容見表3。目標(biāo)是基于matplotlib進(jìn)行直觀的數(shù)據(jù)總體分布展示,例如利用直方圖統(tǒng)計(jì)年齡分布、利用箱體圖展示薪資水平、利用散點(diǎn)圖繪制年齡與收入的相關(guān)關(guān)系。完整代碼如下:

import matplotlib.pyplot as plt

import pandas as pd

df = pd.read_csv("example.csv") /* ?x取數(shù)據(jù) */

fig = plt.figure()

ax1 = fig.add_subplot(1,4,1) /* 定義展示布局 */

ax1.hist(df["Age"], bins = 5) /* 定義直方圖 */

plt.axis([20,45,0,5])

plt.title("Age distribution")

plt.xlabel("Age")

plt.ylabel("Employee")

plt.show()

ax2 = fig.add_subplot(1,4,2) /* 確定圖在畫布中的位置 */

ax2.boxplot(df["Age"]) /* 定義箱線圖 */

ax3 = fig.add_subplot(1,4,3)

ax3.bar(df["Age"],df["Income"]) /* 定義條形圖 */

ax3.set_title("Income distribution")

ax3.set_xlabel("Age")

ax3.set_ylabel("Income")

ax4 = fig.add_subplot(1,4,4)

ax4.scatter(df["Age"],df["Income"]) /* 定義散點(diǎn)圖 */

ax4.set_title("Income distribution")

ax4.set_xlabel("Age")

ax4.set_ylabel("Income")

plt.show()

得到的可視化效果如圖1所示。

Python的開放性還表現(xiàn)為利用支持庫,實(shí)現(xiàn)如圖1所示的各類統(tǒng)計(jì)效果和復(fù)雜的展示(如地圖、熱力圖以及復(fù)雜網(wǎng)絡(luò)等)。此外,除了構(gòu)建在Python之上的原生庫,還有大量其他的數(shù)據(jù)可視化工具包(如基于Javascript的Plot.ly、百度的Echart等),這些工具包同時也提供Python的調(diào)用封裝,豐富了基于Python的可視化效果,體現(xiàn)了強(qiáng)大的Python計(jì)算生態(tài)。

3.4 圖像處理與深度神經(jīng)網(wǎng)絡(luò)

深度學(xué)習(xí)的出現(xiàn)點(diǎn)燃了研究者對神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)的研究熱情,特別是基于Google Tensorflow的AlphaGo接連擊敗世界圍棋冠軍,更加吸引了人們對深度學(xué)習(xí)的關(guān)注。在深度學(xué)習(xí)領(lǐng)域,很多優(yōu)秀的開源平臺與框架(如Tensorflow、Caffe、Theano、MXNet等)都提供Python接口。這也從側(cè)面反映出Python計(jì)算生態(tài)已經(jīng)建立。下面以Tensorflow提供的Python接口為例,介紹Python在圖像處理與深度神經(jīng)網(wǎng)絡(luò)方面的應(yīng)用。

卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的一個重要模型。Tensorflow已經(jīng)屏蔽了關(guān)于卷積神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu),如神經(jīng)元函數(shù)、拓?fù)溥B接狀態(tài)等。程序員只需要通過參數(shù)指定,就能完成網(wǎng)絡(luò)模型的設(shè)計(jì),例如

conv1 = tf.layers.conv2d(inputs=input_layer,filters=32,kernel_size=[5, 5], padding="same",activation=tf.nn.relu)

pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[2, 2], strides=2)

通過設(shè)置輸入層ID、激活函數(shù)、padding方法、核大小等參數(shù),就可以唯一確定輸入層、卷積層、池化層,再通過調(diào)整參數(shù)并選擇一定的學(xué)習(xí)算法,結(jié)合pillow、scikit-image等基于Python的圖像處理工具包,從而可以利用深度網(wǎng)絡(luò)自動完成特征學(xué)習(xí),完成模式識別或圖像分類工作。