版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
緒論研究背景機(jī)器學(xué)習(xí)的發(fā)展機(jī)器學(xué)習(xí)是人工智能的重要研究領(lǐng)域之一,在人工智能研究領(lǐng)域中占有非常重要的地位。如今,與機(jī)器學(xué)習(xí)相關(guān)的學(xué)術(shù)研究活動(dòng)正在以前所未有的方式活躍了起來。機(jī)器學(xué)習(xí)將在很長一段時(shí)間內(nèi)迅速發(fā)展并取得許多重要成果。2001年,美國宇航局噴氣推進(jìn)實(shí)驗(yàn)室的科學(xué)家Moistness和其他人在《科學(xué)》雜志上發(fā)表了一篇文章,指出:“科學(xué)的各個(gè)領(lǐng)域的科學(xué)過程都有其自身的特征,觀察,假設(shè)的創(chuàng)建,實(shí)驗(yàn)或批判性觀察可以檢驗(yàn)科學(xué)過程,模型和理論的清晰性是所有學(xué)科的共同點(diǎn),這個(gè)抽象的科學(xué)過程中的每一個(gè)環(huán)節(jié)和機(jī)器學(xué)習(xí)都有類似的發(fā)展?!碑?dāng)前的機(jī)器學(xué)習(xí)研究已經(jīng)在一些基礎(chǔ)性課題上取得了重大進(jìn)展,我們希望機(jī)器學(xué)習(xí)研究在未來幾年中將穩(wěn)步發(fā)展。在本世紀(jì)末,人們發(fā)現(xiàn)了神經(jīng)元之間的相互聯(lián)系。在上個(gè)世紀(jì)三十年代,A.Newell和H.simon認(rèn)為神經(jīng)元的工作模式是“激發(fā)”和“抑制”。在20世紀(jì)中葉,赫布(Hebb)發(fā)現(xiàn)了“學(xué)習(xí)法則”和“控制論”,阿什比(Ashby)的“大腦設(shè)計(jì)”,羅森布拉特(Rosenblatt)的“感知機(jī)”等。該基礎(chǔ)研究為早期機(jī)器學(xué)習(xí)奠定了理論基礎(chǔ)?;谝陨侠碚摚瑱C(jī)器學(xué)習(xí)的發(fā)展可以大致分為兩個(gè)重要線索。第一個(gè)線索基于巴洛提出的單細(xì)胞功能假設(shè)。Roseblatt在1965年提出了這種傳感器。在1980年代和1990年代中期,Samuek等人提出了“符號(hào)機(jī)器學(xué)習(xí)”方法。Vapnic等人于1991年提出了基于線性空間表示的有限樣本統(tǒng)計(jì)理論的支持向量機(jī)形成一致性假設(shè)問題。另外一個(gè)線索就是神經(jīng)裝配假說。Valiant于1984年提出了PAC(概率大致正確),而Schaef于1960年提出了弱學(xué)習(xí)定理。1995年,Schpire和Freund提出了AdaBoost算法并逐漸形成了泛化理論。直到21世紀(jì)初,Hiton,Bebgio和Yann.lecun提出了深度學(xué)習(xí)的實(shí)用框架。機(jī)器學(xué)習(xí)過程如下圖所示:圖1.1機(jī)器學(xué)習(xí)發(fā)展路線機(jī)器學(xué)習(xí)是人工智能研究的核心內(nèi)容,也是人工智能發(fā)展最快的分支之一,它與統(tǒng)計(jì)學(xué),控制論,信息論,生物學(xué)和其他學(xué)科有著非常復(fù)雜的關(guān)系。它被廣泛使用于包括專家系統(tǒng),自動(dòng)思考,自然語言理解,模式識(shí)別,計(jì)算機(jī)視覺,智能機(jī)器人等。最早的機(jī)器學(xué)習(xí)算法可以追溯到20世紀(jì)初,而1980年代是機(jī)器學(xué)習(xí)成為主題獨(dú)立學(xué)科領(lǐng)域并且是各種機(jī)器學(xué)習(xí)技術(shù)蓬勃發(fā)展的時(shí)期。產(chǎn)生了很多學(xué)習(xí)方法,例如監(jiān)督學(xué)習(xí),深度學(xué)習(xí)等。機(jī)器學(xué)習(xí)使人們可以“教”機(jī)器如何學(xué)習(xí),從而使人與機(jī)器之間的聯(lián)系更加緊密。機(jī)器通過處理適當(dāng)?shù)挠?xùn)練集來學(xué)習(xí),這其中包含改進(jìn)算法所需的特征。該算法使設(shè)備能夠執(zhí)行特定任務(wù),例如對(duì)電子郵件進(jìn)行分類,處理圖像,應(yīng)用程序等。圖像處理及應(yīng)用圖像是人類獲取和交換信息的主要來源,因此,圖像處理的應(yīng)用領(lǐng)域必然涉及到人類生活和工作的方方面面。隨著人類活動(dòng)范圍的不斷擴(kuò)大,圖像處理的應(yīng)用領(lǐng)域也將隨之不斷擴(kuò)大。圖像處理是指對(duì)圖像進(jìn)行分析和處理以滿足視覺、心理或其他要求的技術(shù)。圖像處理是信號(hào)處理在圖像領(lǐng)域的應(yīng)用。目前,大多數(shù)圖像是以數(shù)字形式存儲(chǔ)的,因此圖像處理在很多情況下是指數(shù)字圖像處理。此外,基于光學(xué)理論的加工方法仍占有重要地位。圖像處理是信號(hào)處理的一個(gè)子范疇,它與計(jì)算機(jī)科學(xué)、人工智能等領(lǐng)域密切相關(guān)。許多傳統(tǒng)的一維信號(hào)處理方法和概念仍然可以直接應(yīng)用于圖像處理,如降噪和量化。然而,圖像屬于二維信號(hào)。與一維信號(hào)相比,它有其特殊的方面,其處理方法和角度也不同。20世紀(jì),第一張數(shù)碼照片利用數(shù)字技術(shù)通過海底電纜從英國倫敦傳輸?shù)矫绹~約,圖像處理應(yīng)用開始發(fā)展。此后,由于圖像處理技術(shù)在遙感技術(shù)和人工智能領(lǐng)域的應(yīng)用,引起了越來越多的關(guān)注,并得到了迅速的發(fā)展。尤其是第三代計(jì)算機(jī)的發(fā)明使得圖像處理技術(shù)得到了廣泛的應(yīng)用。目前,該學(xué)科的發(fā)展已迅速成為許多領(lǐng)域的研究對(duì)象。幾十年前,大多數(shù)圖像處理都是由光學(xué)設(shè)備以模擬方式進(jìn)行的。由于這些光學(xué)方法的并行性,它們在許多應(yīng)用中仍占有核心地位,如全息照相。然而,由于計(jì)算機(jī)速度的大幅提高,這些技術(shù)正迅速被數(shù)字圖像處理方法所取代。在一般意義上,數(shù)字圖像處理技術(shù)更具有通用性、可靠性和準(zhǔn)確性。它們也比模擬方法更容易實(shí)現(xiàn)。數(shù)字圖像處理采用專用硬件。例如,基于管道的計(jì)算機(jī)體系結(jié)構(gòu)在這方面取得了巨大的商業(yè)成功。如今,視頻處理系統(tǒng)廣泛采用硬件解決方案,但商用圖像處理任務(wù)基本上仍以軟件的形式實(shí)現(xiàn),運(yùn)行在通用個(gè)人電腦上。機(jī)器學(xué)習(xí)和圖像識(shí)別是當(dāng)前非常熱門和充滿活力的研究領(lǐng)域。這方面的研究越來越多,發(fā)展速度也越來越快。應(yīng)用范圍也越來越廣,幾乎包括了生活的各個(gè)領(lǐng)域。隨著研究的不斷發(fā)展,新思想、新方法不斷涌現(xiàn),新成果層出不窮。機(jī)器學(xué)習(xí)在圖像識(shí)別問題中的應(yīng)用是非常有效的。因此,圖像識(shí)別的研究必將有助于機(jī)器學(xué)習(xí)方法的進(jìn)一步改進(jìn)和完善。同時(shí)也對(duì)圖像識(shí)別進(jìn)行了深入的研究,它必將促進(jìn)機(jī)器學(xué)習(xí)方法的發(fā)展。驗(yàn)證碼簡介驗(yàn)證碼它是一種通用自動(dòng)化程序,用于識(shí)別用戶是計(jì)算機(jī)還是人。它可以防止:惡意破解密碼,黃牛刷票等等,從而有效地防止特定注冊用戶使用特定程序強(qiáng)制執(zhí)行連續(xù)登錄嘗試。實(shí)際上,對(duì)于許多網(wǎng)站來說,使用驗(yàn)證碼是一種流行的方法。我們使用一種相對(duì)簡單的方法來實(shí)現(xiàn)此功能,這個(gè)問題可以由計(jì)算機(jī)產(chǎn)生和判斷,但是只有人類才能回答。由于計(jì)算機(jī)無法回答驗(yàn)證碼的問題,因此回答該問題的用戶可以被認(rèn)為是人類。雅虎是第一個(gè)要解決此問題的人,它是互聯(lián)網(wǎng)時(shí)代初期最重要的免費(fèi)電子郵件提供商。它的免費(fèi)郵箱是最常見的垃圾郵件之一,消耗大量資源,為了防止服務(wù)器上生成垃圾郵件,雅虎正在認(rèn)真考慮如何解決人機(jī)識(shí)別問題。他們找到了才21歲的天才路易斯·馮·安(LouisvonAhn)。路易斯·馮·安(LouisvonAnnAnn)的計(jì)劃是讓計(jì)算機(jī)很難破解驗(yàn)證碼。當(dāng)時(shí),計(jì)算機(jī)識(shí)別技術(shù)還很落后,無法識(shí)別扭曲和污染的文本但是人類可以很容易地識(shí)別出這些字符。這是一個(gè)簡單而智能的設(shè)計(jì)。計(jì)算機(jī)首先創(chuàng)建一個(gè)隨機(jī)字符串,然后使用程序隨機(jī)涂抹和扭曲這些字符,最后將其顯示在屏幕前的人或設(shè)備上,可以識(shí)別這些字符的任何人都是人類。文本驗(yàn)證碼是最古老和最常用的驗(yàn)證碼機(jī)制。它帶有許多字母,數(shù)字和其他變形字符的圖片,用戶需要正確識(shí)別圖像中的文本并輸入相應(yīng)的字符以通過測試。為了更好地防御網(wǎng)絡(luò)攻擊,許多網(wǎng)站都對(duì)其網(wǎng)站進(jìn)行了優(yōu)化,并且為了確保安全性,他們將設(shè)計(jì)其驗(yàn)證碼。如圖1.1所示,騰訊和新浪驗(yàn)證碼使用不同的驗(yàn)證碼。以相同的樣式,騰訊驗(yàn)證碼的背景由許多不規(guī)則的噪聲線組成,而新浪驗(yàn)證碼的背景為白色,但字母之間有一條嘈雜的線。這些復(fù)雜的背景和噪聲線的存在使計(jì)算機(jī)程序更難破解驗(yàn)證碼。(a)騰訊驗(yàn)證碼機(jī)制(b)新浪驗(yàn)證碼機(jī)制圖1.2文本驗(yàn)證碼樣例近年來,隨著驗(yàn)證碼破解技術(shù)的不斷完善,文本驗(yàn)證碼的格式也在不斷變化。通過添加更多的噪聲線或破壞性效果,驗(yàn)證碼很難破解。一些網(wǎng)站甚至取消了文本驗(yàn)證碼并使用了SMS驗(yàn)證碼,但是SMS驗(yàn)證碼的成本非常高,并且無法加載高流量的網(wǎng)站。因此,許多網(wǎng)站仍使用文本驗(yàn)證碼。驗(yàn)證碼的分類現(xiàn)有在驗(yàn)證碼機(jī)制中最常見的是大概三種驗(yàn)證碼:文本驗(yàn)證碼、滑塊驗(yàn)證碼和短信驗(yàn)證碼。文本驗(yàn)證碼文本驗(yàn)證碼是當(dāng)前使用最廣泛的驗(yàn)證碼機(jī)制。驗(yàn)證碼圖像通常包含幾個(gè)字母,大小寫英文字符或數(shù)字。通常,文本驗(yàn)證碼圖像較小,因此下載速度較快,暴力破解的復(fù)雜度較高,受到許多網(wǎng)站的青睞。首次出現(xiàn)的文本驗(yàn)證碼未經(jīng)任何處理,并以文本的原始形式直接放置在圖像中,以供用戶識(shí)別。后來,隨著諸如光學(xué)字符識(shí)別(OCR)之類的計(jì)算機(jī)程序的出現(xiàn),文本驗(yàn)證代碼的安全性受到了威脅。為了進(jìn)一步提高安全性,許多機(jī)制都使用諸如失真之類的算法來將字符進(jìn)行旋轉(zhuǎn)等降低識(shí)別的能力。同時(shí),為了使破解文本驗(yàn)證碼更加困難,將添加許多干擾元素,例如復(fù)雜的背景,噪聲線和各種字符顏色。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,許多文本驗(yàn)證碼已被完全破解。在這些機(jī)制中,有一些使字符字體多樣化,而有的則增加了更多的噪聲。其中,最流行的方法是縮短相鄰字母之間的間距,即使字母之間的粘合力更近。之所以使用這種方法,是因?yàn)樵缙谘芯勘砻饔?jì)算機(jī)在識(shí)別易分割驗(yàn)證碼具有很大的優(yōu)勢所以使其不易分割。因此,如果已知文本驗(yàn)證碼中的字符位置,那么破壞驗(yàn)證碼就是一個(gè)純粹的識(shí)別問題。當(dāng)分割效果較弱時(shí),許多識(shí)別技術(shù)對(duì)這種圖像的鑒別效果較弱,因此可以在一定程度上避免被分割,從而達(dá)到增加破解難度的目的?;瑝K驗(yàn)證碼滑塊驗(yàn)證碼是服務(wù)器隨機(jī)創(chuàng)建滾動(dòng)條和帶有滾動(dòng)條陰影的背景圖像,然后保存隨機(jī)滑塊位置坐標(biāo)。如圖1.3所示,前端實(shí)現(xiàn)了交互式交互,將滑塊放在圖像上可獲得相關(guān)的用戶行為值。然后服務(wù)器檢查相應(yīng)的值。其背后的邏輯是在機(jī)器學(xué)習(xí)中使用深度學(xué)習(xí),以基于多個(gè)維度(例如鼠標(biāo)芯片,位置協(xié)調(diào)以及計(jì)算拉動(dòng)速度和重試次數(shù))確定它是否是人為過程。通過傳遞驗(yàn)證碼來判斷設(shè)備不僅完成了謎題,而且前端用戶也看不到它。驗(yàn)證碼的后端根據(jù)用戶生成的行為路徑數(shù)據(jù),結(jié)合訪問頻率和地理位置模型等多個(gè)維度進(jìn)行機(jī)器學(xué)習(xí),因此機(jī)器識(shí)別不容易通過+模擬。滑動(dòng)驗(yàn)證代碼不是萬無一失的,但是模擬滑動(dòng)行為需要強(qiáng)大的破解能力。畢竟,進(jìn)攻成本已急劇增加,并且該技術(shù)在進(jìn)攻和防守轉(zhuǎn)移方面將繼續(xù)得到改善。圖1.3滑塊驗(yàn)證碼樣例滑動(dòng)驗(yàn)證碼的優(yōu)勢:1.用戶體驗(yàn)良好,無需識(shí)別復(fù)雜的驗(yàn)證碼,只需要輕輕一滑,秒速通過驗(yàn)證,更加便捷;2.安全性很高,基于強(qiáng)大的后臺(tái)分析,結(jié)合大量的維度行為值進(jìn)行比較;3.種類多種多樣,企業(yè)可以根據(jù)自身產(chǎn)品的風(fēng)格來靈活定制滑動(dòng)模塊。當(dāng)然,不同平臺(tái)的滑動(dòng)驗(yàn)證碼的樣式不同,后臺(tái)的原理策略也有所不同。網(wǎng)易易盾行為驗(yàn)證碼提供智能感知、滑動(dòng)拼圖、文字點(diǎn)選、圖標(biāo)點(diǎn)選、推理拼圖、短信上行驗(yàn)證等多種驗(yàn)證方式,智能切換驗(yàn)證難度,安全性高,極致用戶。短信驗(yàn)證碼SMS驗(yàn)證碼是一種通過向手機(jī)發(fā)送驗(yàn)證碼的高效驗(yàn)證碼系統(tǒng),一些驗(yàn)證碼訪問提供商通過SMS向手機(jī)提供驗(yàn)證碼服務(wù),每個(gè)網(wǎng)站都通過該接口向訪問提供商的服務(wù)器發(fā)送請求,服務(wù)器向手機(jī)發(fā)送隨機(jī)數(shù)字或字母,訪問提供商的服務(wù)器統(tǒng)一執(zhí)行驗(yàn)證碼驗(yàn)證。為了有效地防止黑客不斷嘗試登錄特定的注冊用戶并使用特定的程序進(jìn)行暴力攻擊,實(shí)際上,當(dāng)前許多網(wǎng)站(例如招商銀行個(gè)人在線)都使用驗(yàn)證碼。因此,此功能是通過平臺(tái)相對(duì)接收短信驗(yàn)證碼來實(shí)現(xiàn)的。移動(dòng)SMS驗(yàn)證碼服務(wù)已被廣泛使用,并且可以通過SMS手機(jī)進(jìn)行身份驗(yàn)證。短信驗(yàn)證碼接收平臺(tái)的特點(diǎn):如今,互聯(lián)網(wǎng)隱私對(duì)于人們而言變得越來越重要,但是在注冊帳戶或進(jìn)行驗(yàn)證時(shí),大多數(shù)網(wǎng)站都要求用戶輸入手機(jī)號(hào)碼以接收驗(yàn)證碼進(jìn)行驗(yàn)證,驗(yàn)證碼接收平臺(tái)是解決這個(gè)問題的平臺(tái)。用戶可以使用驗(yàn)證碼接收平臺(tái)的手機(jī)號(hào)碼通過短信接收驗(yàn)證碼進(jìn)行驗(yàn)證,以保護(hù)自己的隱私不受侵犯。驗(yàn)證碼接收平臺(tái)的功能:1.自動(dòng)快速地發(fā)送和接收手機(jī)驗(yàn)證碼;2.一個(gè)可以從任何合法的第三方網(wǎng)站獲取手機(jī)SMS驗(yàn)證的平臺(tái)。圖1.3短信驗(yàn)證碼樣例國內(nèi)外研究現(xiàn)狀隨著Internet的誕生,人與計(jì)算機(jī)之間的區(qū)別一直是一個(gè)熱門話題,一些研究人員提出了破解算法。2004年初,KumarChellapilla和PatriceYSimard以分割的思想基本上破解了Yahoo,Google和其他網(wǎng)站的驗(yàn)證碼,各個(gè)網(wǎng)站的驗(yàn)證碼識(shí)別率在4.9%-2%之間。識(shí)別驗(yàn)證碼算法以深度學(xué)習(xí)的興起為轉(zhuǎn)折點(diǎn),產(chǎn)生了兩種方法,一種是基于傳統(tǒng)機(jī)器學(xué)習(xí)的早期破解方法,另外一種是基于深度學(xué)習(xí)的破解方法。基于傳統(tǒng)機(jī)器學(xué)習(xí)的識(shí)別算法可以根據(jù)其框架分為兩類,一類是分割后的識(shí)別,另一類是直接的一般識(shí)別。在分割識(shí)別框架下創(chuàng)建的驗(yàn)證碼破解算法包括預(yù)處理,分割和識(shí)別。2008年,JeffYan和AhmedSalahAl-Ahmad入侵了Microsoft驗(yàn)證碼,首先使用弧去除算法來減少噪聲,然后使用垂直投影和顏色填充和拆分驗(yàn)證碼,最終識(shí)別率達(dá)到60%。ElieBursztein使用KNN和SVM來識(shí)別eBay,Google和Wikipedia等網(wǎng)站的驗(yàn)證碼。分割使用顏色填充算法,最終識(shí)別率在0%到93%之間。2010年,艾哈邁德·薩拉赫·艾哈邁德(AhmedSalahAl-Ahmad)等人使用顏色填充算法分割驗(yàn)證碼,然后使用機(jī)器學(xué)習(xí)算法確定驗(yàn)證碼。最終識(shí)別率是78%。2014年,高海昌等人使用了水平投影,參考線,顏色填充算法和垂直投影算法通過直線投影算法對(duì)驗(yàn)證碼進(jìn)行劃分,根據(jù)不同水平投影的字符位置和像素值確定驗(yàn)證碼,以識(shí)別不同的字符。近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展及其在工業(yè)中的廣泛應(yīng)用,越來越多的研究人員使用卷積神經(jīng)網(wǎng)絡(luò)來識(shí)別驗(yàn)證碼。Fan-Wang等人設(shè)計(jì)了一個(gè)多層次的卷積層提取包,分別確定了漢字驗(yàn)證碼、字母和數(shù)字驗(yàn)證碼,從而提高了模型的包容性;秦波等人在使用鐵票驗(yàn)證碼上使用了卷積層級(jí)聯(lián)和滯后差異已設(shè)計(jì)了一種基于主體網(wǎng)格的驗(yàn)證碼識(shí)別方法,大大減少了網(wǎng)絡(luò)參數(shù),同時(shí)確保準(zhǔn)確的識(shí)別;唐西蘭等人在反網(wǎng)絡(luò)中輸入了基于文本的驗(yàn)證碼,在分離過程中丟失信息造成的字符的問題已經(jīng)解決。劉大榮等人在逐步學(xué)習(xí)的基礎(chǔ)上,設(shè)計(jì)了一套端到端驗(yàn)證碼識(shí)別方法。2014年,elieborzin等人利用自動(dòng)學(xué)習(xí)方法解決了分割和識(shí)別問題。神經(jīng)網(wǎng)絡(luò)的啟蒙始于1860年代,經(jīng)過不斷的理論研究和實(shí)踐,直到1998年研究人員才取得令人矚目的進(jìn)展和成果。2012年是轉(zhuǎn)折點(diǎn),Hinton的研究團(tuán)隊(duì)參加了ImageNet圖像識(shí)別競賽,使用AlexNet將錯(cuò)誤率從26%降低到15%。從那時(shí)起,深度學(xué)習(xí)在各個(gè)領(lǐng)域開始廣泛興起。驗(yàn)證碼的最初目的是使機(jī)器的識(shí)別變得困難,但很容易被人識(shí)別。早期驗(yàn)證代碼的設(shè)計(jì)相對(duì)簡單。通過簡單的預(yù)處理過程,可以去除大部分噪聲,從而使分割和識(shí)別方法具有較高的鑒別率。隨著驗(yàn)證碼識(shí)別率的提高,設(shè)計(jì)驗(yàn)證碼的復(fù)雜度越來越高。整個(gè)驗(yàn)證碼圖像具有很強(qiáng)的隔行掃描,其中字符重疊,變形和扭曲。面對(duì)越來越復(fù)雜的驗(yàn)證碼類型,傳統(tǒng)的基于機(jī)器學(xué)習(xí)的方法很難取得突破。因此,驗(yàn)證碼識(shí)別領(lǐng)域傾向于使用深度學(xué)習(xí)方法來識(shí)別驗(yàn)證碼。深度學(xué)習(xí)開發(fā)為研究人員提供了一種新的方法來破解驗(yàn)證碼,該驗(yàn)證碼可以作為整體直接識(shí)別。多標(biāo)簽網(wǎng)絡(luò)利用卷積模型的自學(xué)習(xí)功能,并結(jié)合了多標(biāo)簽學(xué)習(xí)的方法。網(wǎng)絡(luò)創(chuàng)建與整個(gè)神經(jīng)網(wǎng)絡(luò)中字符的數(shù)量和類型相對(duì)應(yīng)的單個(gè)驗(yàn)證碼圖像,并直接識(shí)別驗(yàn)證碼。無需分割圖像。2012年,宋仁杰和劉娟使用模糊聚類算法提取字符的模糊數(shù)組,并將其用作徑向基函數(shù)的神經(jīng)網(wǎng)絡(luò)輸入。網(wǎng)絡(luò)根據(jù)識(shí)別的可信度來判斷結(jié)果。將該方法應(yīng)用于阿里巴巴,最終識(shí)別率為53.5%。2013年,Roy及其同事采用了基于二維長期重復(fù)神經(jīng)網(wǎng)絡(luò)(二維長期記憶的遞歸神經(jīng)網(wǎng)絡(luò))的非分段策略。不進(jìn)行分段,就破壞了粘合驗(yàn)證碼,測試組的識(shí)別率達(dá)到了55.2%。2017年,KeQing等人使用了多標(biāo)簽卷積神經(jīng)網(wǎng)絡(luò)來識(shí)別百度驗(yàn)證碼。網(wǎng)格是指人眼對(duì)驗(yàn)證符號(hào)的識(shí)別機(jī)制,它可以區(qū)分相鄰字母之間的相關(guān)性。最終識(shí)別率為43.05%,YuHu及其同事還使用了多標(biāo)簽卷積神經(jīng)網(wǎng)絡(luò)來識(shí)別驗(yàn)證碼,這與KeQing等人的方法有所不同。該網(wǎng)絡(luò)通過共享參數(shù)并行地訓(xùn)練多個(gè)回歸層:在不同位置表示不同的特征可以減少模型的數(shù)量并提高學(xué)習(xí)效率。簡而言之,當(dāng)前的大多數(shù)研究都集中在特定類型的驗(yàn)證碼上。一旦更改了驗(yàn)證碼的模式,識(shí)別率將大大降低,并且預(yù)處理算法需要重新設(shè)計(jì)。仍然沒有在驗(yàn)證碼中做得很好的標(biāo)準(zhǔn)化算法。深度學(xué)習(xí)的引入為驗(yàn)證碼識(shí)別創(chuàng)造了新的機(jī)會(huì),但當(dāng)前的研究尚未解決全局算法問題。研究目的及意義驗(yàn)證碼是一種區(qū)分用戶是計(jì)算機(jī)還是人的檢測方法。驗(yàn)證碼的創(chuàng)建極大地抑制了垃圾郵件的增長并為網(wǎng)絡(luò)信息安全做出了重大貢獻(xiàn)。在人工智能不斷發(fā)展的時(shí)代,生成驗(yàn)證碼和驗(yàn)證碼破解技術(shù)之間“矛盾”的問題是,破解驗(yàn)證碼并不意味著垃圾郵件在互聯(lián)網(wǎng)上的重新傳播,而是垃圾郵件的持續(xù)發(fā)展。人工智能它引入了重新設(shè)計(jì)新一代驗(yàn)證碼的新思路,該驗(yàn)證碼在人類安全和人工智能機(jī)制的未來發(fā)展中起著重要作用。對(duì)驗(yàn)證碼進(jìn)行識(shí)別研究不僅可以從驗(yàn)證碼反向識(shí)別的角度設(shè)計(jì)更安全,更易于使用的驗(yàn)證碼,而且可以及時(shí)發(fā)現(xiàn)驗(yàn)證碼安全漏洞,從而提高Web服務(wù)器的效率和用戶安全性互聯(lián)網(wǎng)性別訪問。此外,驗(yàn)證碼還包括多種先進(jìn)技術(shù),例如圖像處理,機(jī)器視覺,模式識(shí)別和人工智能,它在各個(gè)領(lǐng)域和學(xué)科中都扮演著積極的角色?;ヂ?lián)網(wǎng)的飛速發(fā)展為人們的生活帶來了極大的便利,但與此同時(shí),其安全問題也越來越嚴(yán)重。為了保護(hù)網(wǎng)絡(luò)信息的安全性,驗(yàn)證碼已經(jīng)被廣泛使用,并且在網(wǎng)絡(luò)安全性中起著重要的作用。驗(yàn)證碼可以在一定程度上防止惡意攻擊,但是對(duì)于一些對(duì)安全性有很高要求的用戶,例如銀行和股票交易賬戶,驗(yàn)證碼的設(shè)計(jì)并不完善,存在漏洞和隱患。直到今天,用于設(shè)計(jì)安全驗(yàn)證碼的方法還沒有得到足夠的普及??梢钥闯?,令牌安全性是一個(gè)值得研究的課題。驗(yàn)證碼設(shè)計(jì)者應(yīng)該自己玩游戲:如何設(shè)計(jì)計(jì)算機(jī)無法識(shí)別的驗(yàn)證碼,以及如何確定盡可能多的計(jì)算機(jī)生成的驗(yàn)證碼,以發(fā)現(xiàn)設(shè)計(jì)缺陷。在這個(gè)游戲中,促進(jìn)雙方的技術(shù)進(jìn)步。然后,將高識(shí)別技術(shù)與犯罪分子隔離,為網(wǎng)絡(luò)服務(wù)提供商提供高安全性生成技術(shù),從而提高網(wǎng)絡(luò)安全性。由于各種原因,研究驗(yàn)證碼識(shí)別技術(shù)是必不可少的。如今,深度學(xué)習(xí)理論和相關(guān)技術(shù)已廣泛用于科學(xué)研究。同時(shí),英偉達(dá)發(fā)布的一系列高性能計(jì)算圖形卡和并行計(jì)算架構(gòu)(例如CUDA)為大規(guī)模數(shù)據(jù)計(jì)算提供了硬件和技術(shù)支持。在眾多深度學(xué)習(xí)的理論框架中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在各個(gè)研究領(lǐng)域(尤其是圖像領(lǐng)域)取得了重要而有效的成果。在2012年,Alex在ImageNet圖片排名競賽中提出了AlexNet網(wǎng)絡(luò)體系結(jié)構(gòu)模型。幸運(yùn)的是,他在那年獲得了冠軍,這為卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用打開了一個(gè)突破口。Razavan等人也將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于人臉識(shí)別領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)在人臉識(shí)別領(lǐng)域的研究工作奠定了堅(jiān)實(shí)的基礎(chǔ)。因此,對(duì)理論和技術(shù)的深入研究,特別是產(chǎn)品的神經(jīng)網(wǎng)絡(luò)在驗(yàn)證碼識(shí)別領(lǐng)域的應(yīng)用,具有重要的意義。本文使用圖像處理和特征科學(xué)有關(guān)的理論,并總結(jié)和討論驗(yàn)證碼識(shí)別的一般方法。對(duì)不同識(shí)別技術(shù)的比較使本研究具有理論水平和一定的實(shí)用價(jià)值。所謂知己知彼才能百戰(zhàn)百勝。主要研究內(nèi)容本文主要研究支持向量機(jī)(SVM)算法及卷積神經(jīng)網(wǎng)絡(luò)的基本理論,介紹了統(tǒng)計(jì)學(xué)習(xí)理論和支持向量機(jī)的基本思想和內(nèi)容,重點(diǎn)研究了支持向量機(jī)、非線性分類算法的實(shí)現(xiàn);研究了圖像處理的一般方法、圖像識(shí)別的原理和過程;利用支持向量機(jī)實(shí)現(xiàn)驗(yàn)證碼識(shí)別算法;分析了支持向量機(jī)算法的性能和優(yōu)化方法,研究了核函數(shù)的選擇和參數(shù)的選擇對(duì)驗(yàn)證碼識(shí)別性能的影響。對(duì)比其和卷積神經(jīng)網(wǎng)絡(luò)在文本驗(yàn)證碼識(shí)別應(yīng)用下的效果并分析原因。支持向量機(jī)使用的識(shí)別方法是基于傳統(tǒng)的破解方法:預(yù)處理、分割、單個(gè)字符識(shí)別三個(gè)步驟。在傳統(tǒng)的破解方法中,對(duì)于分割的要求很高,要求分割出來的字符是一個(gè)比較完整的單一的字符。卷積神經(jīng)網(wǎng)絡(luò)(CNN)則抗噪能力較強(qiáng),因此對(duì)分割的要求降低,只需要的將一個(gè)字符分割出來,即便帶有其他字符的筆畫也沒有太大的干擾,所以極大地降低了分割的難度,但與此同時(shí)對(duì)卷積神經(jīng)網(wǎng)絡(luò)的要求提高,本文主要介紹了易分割文本驗(yàn)證碼的識(shí)別及不易分割驗(yàn)證碼用端到端方法識(shí)別
支持向量機(jī)(SVM)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的基本知識(shí)理論統(tǒng)計(jì)學(xué)習(xí)簡介統(tǒng)計(jì)學(xué)習(xí)是一門學(xué)科,是計(jì)算機(jī)基于大數(shù)據(jù)構(gòu)建統(tǒng)計(jì)概率和模型,并基于這些模型預(yù)測和分析數(shù)據(jù),也稱為統(tǒng)計(jì)機(jī)器學(xué)習(xí)。統(tǒng)計(jì)學(xué)習(xí)是一門基于數(shù)據(jù)的學(xué)科,是一門綜合性專業(yè),在許多領(lǐng)域,例如概率論,統(tǒng)計(jì)學(xué)和信息論,計(jì)算論,優(yōu)化論和計(jì)算機(jī)科學(xué)的交叉學(xué)科。統(tǒng)計(jì)學(xué)習(xí)的目標(biāo)是數(shù)據(jù),它從數(shù)據(jù)開始,提取數(shù)據(jù)的特征,總結(jié)數(shù)據(jù)模型,從數(shù)據(jù)中發(fā)現(xiàn)知識(shí),最后返回到分析和預(yù)測數(shù)據(jù)。數(shù)據(jù)統(tǒng)計(jì)學(xué)習(xí)的基本假設(shè)是相似數(shù)據(jù)具有一定的統(tǒng)計(jì)規(guī)律性,這是統(tǒng)計(jì)學(xué)習(xí)的基礎(chǔ)。統(tǒng)計(jì)學(xué)習(xí)的目的是考慮應(yīng)該學(xué)習(xí)哪種類型的模型以及應(yīng)該如何學(xué)習(xí)模型。統(tǒng)計(jì)學(xué)習(xí)方法包括模型假設(shè)空間,模型選擇標(biāo)準(zhǔn)和模型學(xué)習(xí)算法。實(shí)現(xiàn)統(tǒng)計(jì)學(xué)習(xí)的步驟如下:(1)獲取有限的訓(xùn)練數(shù)據(jù)集(2)確定包含所有可能模型的假設(shè)空間,即學(xué)習(xí)模型集(3)確定模型選擇的標(biāo)準(zhǔn),即學(xué)習(xí)策略;(4)實(shí)現(xiàn)求解最優(yōu)模型的算法,即學(xué)習(xí)算法;(5)通過學(xué)習(xí)方法選擇最優(yōu)模型;(6)使用最佳學(xué)習(xí)模型預(yù)測或分析新數(shù)據(jù)。線性SVM分類SVM原理簡單歸結(jié)于一句話就是最大化離超平面最近點(diǎn)(支持向量)到該平面的距離。如圖2.1所示。圖2.1線性分類實(shí)例SVM方法是通過一個(gè)非線性映射P,把樣本空間映射到一個(gè)高維乃至無窮維的特征空間中,使得原來樣本空間線性不可分問題轉(zhuǎn)化為在樣本空間在線性可分的問題,通俗來講就是升維和線性化。升維,就是把樣本向高維空間做映射的過程,一般這會(huì)增加計(jì)算的復(fù)雜性,甚至?xí)稹熬S數(shù)爆炸”,因而人們很少過問。但是就分類、回歸問題來說,在低維樣本空間無法線性處理的樣本集,很可能在高維特征空間卻可以通過一個(gè)線性超平面實(shí)現(xiàn)線性劃分。如上圖2.1所示,,即為分離超平面,雖然對(duì)于線性可分的數(shù)據(jù)集來說,這樣能用的超平面有無窮多個(gè),但是幾何間隔最大的分離超平面卻是唯一的。假設(shè)給定一個(gè)特征空間上的訓(xùn)練數(shù)據(jù)集,其中為第i個(gè)特征向量,為類標(biāo)記,當(dāng)它等于+1時(shí)為正例;為-1時(shí)為負(fù)例。再假設(shè)訓(xùn)練數(shù)據(jù)集是線性可分的。幾何間隔: (2.1)數(shù)據(jù)標(biāo)簽定義:由于決策方程為,令,則得到 (2.2)優(yōu)化的目標(biāo):找到一條線(滿足),使得離該線最近的點(diǎn)能夠最遠(yuǎn),點(diǎn)與直線距離(幾何間隔)根據(jù)公式2.2可以化簡為。由此可得優(yōu)化目標(biāo): (2.3)由于,得到新的目標(biāo)函數(shù)。由拉格朗日乘子法,得到 (2.4)約束條件:。分別對(duì)求偏導(dǎo),得到兩個(gè)條件(由于對(duì)偶性質(zhì)),對(duì)求偏導(dǎo)可得:;對(duì)b求偏導(dǎo)得:。可以得到相應(yīng)對(duì)偶式: (2.5)把代入到公式2.1原始拉格朗日函數(shù)可得: (2.6)由此可得決策函數(shù)為: (2.7)非線性SVMSVM要處理非線性問題,使無解問題變得有解,就是給線性目標(biāo)函數(shù)添加了一個(gè)正則項(xiàng),限制條件添加了一個(gè)松弛變量,即最小化: (2.8)限制條件:,是事先設(shè)定的參數(shù),是正則項(xiàng),不能太大。太大就不能達(dá)到優(yōu)化目的。在解決實(shí)際問題的時(shí)候,將原始空間中的樣本映射到高維特征空間中,使樣本在特征空間中可以線性分離。對(duì)于非線性關(guān)系,需要選擇合適的非線性特征集,并將數(shù)據(jù)作為新的表達(dá)式寫入。換句話說,需要應(yīng)用固定的非線性映射將數(shù)據(jù)映射到特征空間,并在該空間中使用線性學(xué)習(xí)器。因此,請考慮對(duì)假設(shè)集使用這種類型的函數(shù): (2.9)因此決策函數(shù)可以表示為: (2.10)核函數(shù)方法可以在特征空間直接計(jì)算。核函數(shù)方法我們將低維空間的內(nèi)積運(yùn)算定義為核函數(shù)。簡單來說,核函數(shù)就是低維空間的內(nèi)積的某個(gè)函數(shù),即核函數(shù)就是低維空間的內(nèi)積。因?yàn)樵跈C(jī)器學(xué)習(xí)中求解的過程需要用到內(nèi)積運(yùn)算,而變換后的高維空間的內(nèi)積不好求,所以定義了核函數(shù),換句話說有了核函數(shù)就不需要知道那個(gè)映射是什么,從而可以直接計(jì)算出高維空間中兩個(gè)數(shù)據(jù)點(diǎn)之間的距離和角度。推導(dǎo)如下: (2.11) (2.12)支持向量機(jī)利用核函數(shù)將輸入空間中線性不可分的數(shù)據(jù)映射為高維非線性。該空間實(shí)現(xiàn)了樣本在高維特征空間中的線性分類,即核函數(shù)在高維特征空間中隱式的表示原始低維空間中的數(shù)據(jù),并在其中訓(xùn)練線性分類器,訓(xùn)練過程不需要知道具體的非線性映射。因此,高維特征空間中所有向量的內(nèi)積運(yùn)算都是通過原空間的核函數(shù)來實(shí)現(xiàn)的,不需要在高維特征空間中進(jìn)行非常復(fù)雜的內(nèi)積運(yùn)算,算法的復(fù)雜度也不受維數(shù)的影響,在高維特征空間中的推廣能力也不受影響。核函數(shù)的選擇要構(gòu)造不同的支持向量機(jī),就需要滿足Mercer條件不同的核函數(shù)。核函數(shù)構(gòu)造是支持向量機(jī)的主要技術(shù),其選擇直接影響到泛化和學(xué)習(xí)機(jī)器學(xué)習(xí)的能力。不同的核函數(shù)定義了不同的特征空間和非線性變換,因此選擇不同的核函數(shù)來訓(xùn)練支持向量機(jī)將導(dǎo)致完全不同的分類效果。共有6種常見的核功能類型:線性核,多項(xiàng)式核,徑向基核,傅立葉核,樣條核和sigmoid核。通常,如果特征數(shù)量遠(yuǎn)大于樣本數(shù)量,則使用線性核。如果特征數(shù)量遠(yuǎn)小于樣本數(shù)量,則通常使用RBF。當(dāng)將Sigmoid函數(shù)用作內(nèi)核函數(shù)時(shí),支持向量機(jī)是多層感知神經(jīng)網(wǎng)絡(luò)。支持向量機(jī)方法用于在設(shè)計(jì)過程(訓(xùn)練)的數(shù)量(神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)的確定)和輸入節(jié)點(diǎn)中隱藏層節(jié)點(diǎn)的權(quán)重期間自動(dòng)定義隱藏層節(jié)點(diǎn)。另外,支持向量機(jī)的理論基礎(chǔ)決定了它最終獲得了全局最優(yōu)值,而不是局部最小值,并且還確保了它對(duì)未知樣本具有良好的泛化能力而不會(huì)過度學(xué)習(xí)。在選擇內(nèi)核函數(shù)解決實(shí)際問題時(shí),常用的方法有:一種是利用專家的先驗(yàn)知識(shí)預(yù)先定義內(nèi)核函數(shù)。另一種是使用交叉驗(yàn)證方法,即在選擇內(nèi)核功能時(shí)嘗試使用不同的內(nèi)核功能并總結(jié)出具有最小誤差的內(nèi)核功能是效果最佳的內(nèi)核功能。第三是采用Smits及其同事提出的混合核函數(shù)方法,與以前的兩種方法相比,該方法目前是選擇核函數(shù)的主要方法,也是構(gòu)建核函數(shù)的另一項(xiàng)開創(chuàng)性工作。將不同的內(nèi)核功能組合在一起具有更好的屬性。這是混合內(nèi)核函數(shù)方法的基本思想。內(nèi)核功能選擇在世界范圍內(nèi)還沒有形成標(biāo)準(zhǔn)化的模式,只能根據(jù)實(shí)際樣本的經(jīng)驗(yàn)和特征來確定。SVM多類分類SVM多類分類的實(shí)現(xiàn)依據(jù)大概有兩種:1.將多分類問題分解成一系列SVM可直接求解的兩類問題,依次得出最終的判決結(jié)果。2.通過對(duì)原始優(yōu)化問題的適當(dāng)修改,使之能同時(shí)計(jì)算出所有多類分類決策函數(shù),從而一次性實(shí)現(xiàn)多分類。原始問題修改如下: (2.13) (2.14)式中:k為類別數(shù)量;這樣就可以得到?jīng)Q策函數(shù):,判別結(jié)果為第i類。由于第二類方法最優(yōu)問題計(jì)算量太大,實(shí)現(xiàn)起來比較困難,因此未被廣泛應(yīng)用。大多采用第一種分類思想,而基于第一種思想的SVM分類方法主要有五種:(1)一對(duì)其余法:一對(duì)一(OVR)是目前應(yīng)用最早、最廣泛的方法之一。其步驟是構(gòu)造k個(gè)兩類分類器(假設(shè)共有多個(gè)類別),其中第i類分類器將第i類與其余類別分開。在訓(xùn)練過程中,第i個(gè)分類器將訓(xùn)練集中的第i個(gè)類別作為正類別,其余的類別點(diǎn)作為負(fù)類別進(jìn)行訓(xùn)練。在判別時(shí),輸入信號(hào)通過k個(gè)分類器獲得k個(gè)輸出值。如果只有一個(gè)+1出現(xiàn),則對(duì)應(yīng)的類別為輸入信號(hào)類別;實(shí)際情況中,決策函數(shù)總是存在誤差。如果輸出大于1個(gè)+1(多個(gè)類聲明它屬于自己),或者沒有輸出+1(即沒有類聲明它屬于自己),那么比較值的輸出,最大的對(duì)應(yīng)類別就是輸入類別。該方法的優(yōu)點(diǎn)是對(duì)于k類問題,只需訓(xùn)練k個(gè)二類分類支持向量機(jī),得到的分類函數(shù)個(gè)數(shù)(k)較小,分類速度較快。(2)一對(duì)一法:對(duì)于任何兩種分類,Kressel構(gòu)造一個(gè)分類器,并且只識(shí)別這兩種分類。為了完成這一過程,需要k(k-1)/2個(gè)分類器,計(jì)算量非常大。對(duì)于每個(gè)樣本,根據(jù)每個(gè)分類器的分類結(jié)果,看它更經(jīng)常屬于哪個(gè)類別,最后看它屬于哪個(gè)類別(將這兩類分類器結(jié)合起來,采用投票的方法,投票最多的類就是樣本點(diǎn)所屬的類)。(3)決策樹方法:決策樹的基本思想是從根節(jié)點(diǎn)開始,用某種方法將節(jié)點(diǎn)中包含的類別劃分為兩個(gè)子類別,然后再進(jìn)一步劃分這兩個(gè)子類別,以此類推,直到子類別只包含一個(gè)類別。這樣就得到了一個(gè)倒二叉樹。最后,在二叉樹的每個(gè)決策節(jié)點(diǎn)訓(xùn)練支持向量機(jī)分類器,實(shí)現(xiàn)對(duì)識(shí)別樣本的分類。決策樹支持向量機(jī)有多種分類方法。不同方法的主要區(qū)別在于樹形結(jié)構(gòu)的設(shè)計(jì)方法。(4)DAG方法:DAG-SvMS是由PIatt提出的決策導(dǎo)向的循環(huán)圖DAG導(dǎo)出的,是針對(duì)“一對(duì)一"SVM存在誤分,拒分現(xiàn)象提出的。這種方法的訓(xùn)練過程類似于“一對(duì)一”方法,類別問題需要求解個(gè)支持向量機(jī)分類器,這些分類器構(gòu)成一個(gè)有向無環(huán)圖。該有向無環(huán)圖中含有個(gè)內(nèi)部節(jié)點(diǎn)和個(gè)葉結(jié)點(diǎn),每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)二類分類器。(5)糾錯(cuò)輸出編碼法(ECOC):對(duì)于K類分類問題,可根據(jù)不同的方法構(gòu)造一系列的兩類分類問題,并為每個(gè)兩類分類問題建立一個(gè)決策函數(shù),得到了L個(gè)決策函數(shù)。如果這些判定函數(shù)是完全正確的,則K類中的每一類都對(duì)應(yīng)于長度為L的序列,其為-1或+1,根據(jù)K類中的第一類和第二類,…,第K類的順序。排列這些數(shù)字得到一個(gè)由K行和L列組成的編碼矩陣。為了確定測試輸入點(diǎn)的屬性,首先用得到的L決策函數(shù)得到一個(gè)元素-1或長度為L的數(shù)組,然后將該數(shù)組與前一個(gè)矩陣進(jìn)行比較,對(duì)應(yīng)于矩陣中的一行,只有一行與該數(shù)組相同,這個(gè)行數(shù)是輸入點(diǎn)的歸屬類;如果矩陣中沒有與數(shù)字列相同的行,則可以通過計(jì)算距離找到最近的行,更改行對(duì)應(yīng)的類別就是該點(diǎn)的類別。卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)簡介卷積神經(jīng)網(wǎng)絡(luò)是近年來發(fā)展起來的一種有效的識(shí)別方法,受到了廣泛的關(guān)注。在1960年代,Hubel和Wiesel研究貓的大腦皮層中的神經(jīng)元的局部敏感性和方向選擇時(shí),發(fā)現(xiàn)它們獨(dú)特的網(wǎng)絡(luò)結(jié)構(gòu)可以有效地降低循環(huán)神經(jīng)網(wǎng)絡(luò)的復(fù)雜性,于是他們提出了卷積神經(jīng)網(wǎng)絡(luò)(CNN)。如今,CNN已成為許多科學(xué)領(lǐng)域,尤其是模式分類領(lǐng)域中研究的熱點(diǎn)之一,由于該網(wǎng)絡(luò)避免了復(fù)雜的圖像預(yù)處理并且可以直接輸入原始圖像,因此已經(jīng)得到了廣泛的應(yīng)用。k.Fukushima提出的新識(shí)別機(jī)是1980年首次實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的機(jī)器。此后,越來越多的研究人員改進(jìn)了該網(wǎng)絡(luò)。其中,亞歷山大和泰勒(AlexanderandTaylor)提出的“增強(qiáng)型認(rèn)知機(jī)”的結(jié)合了各種增強(qiáng)方法的優(yōu)點(diǎn),避免了費(fèi)時(shí)的錯(cuò)誤反向傳播。圖3.1卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)具有三個(gè)重要特征:稀疏連接,權(quán)值共享和等效表達(dá)。這些功能使它在識(shí)別事物時(shí)獲得良好的結(jié)果。稀疏連接:傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)使用矩陣乘法來描述每個(gè)輸入單元和輸出單元之間的交互,因此每個(gè)輸出單元都需要與每個(gè)輸入單元交互。卷積神經(jīng)網(wǎng)絡(luò)使用一個(gè)比輸入大小稍小的卷積核來實(shí)現(xiàn)稀疏連接的效果。例如,輸入是一幅圖像,該圖像可能包含數(shù)百或數(shù)千個(gè)像素,但它只能說明一些小的有意義的特征(例如,邊緣)和卷積核,尺寸非常小,最多可以有幾個(gè)像素或幾十個(gè)像素。與原來的數(shù)百乃至數(shù)千像素相比,整個(gè)網(wǎng)絡(luò)的參數(shù)將比傳統(tǒng)網(wǎng)絡(luò)所需的參數(shù)小得多,相應(yīng)地減少了存儲(chǔ)空間,并相對(duì)提高了計(jì)算效率。權(quán)值共享:當(dāng)圖像分辨率較大時(shí),卷積神經(jīng)網(wǎng)絡(luò)權(quán)值共享功能可以有效地減小參數(shù)的大小。在常規(guī)網(wǎng)絡(luò)中,當(dāng)計(jì)算網(wǎng)絡(luò)層的輸出時(shí),參數(shù)的權(quán)重矩陣僅使用一次,然后乘以輸入單位,這是不必要的。在卷積神經(jīng)網(wǎng)絡(luò)中,為每個(gè)輸入位置(不包括邊緣像素)計(jì)算相同的卷積核心,這與常規(guī)網(wǎng)絡(luò)中每個(gè)站點(diǎn)的一組獨(dú)立參數(shù)不同;在卷積神經(jīng)網(wǎng)絡(luò)中,只有一組參數(shù)。這不會(huì)影響前向傳播的運(yùn)行時(shí)間,但是權(quán)重共享會(huì)將模型內(nèi)存減少到k參數(shù)。等效表達(dá):在卷積中權(quán)值分配具有一個(gè)重要特征:等效轉(zhuǎn)換。函數(shù)是否等效取決于輸入更改時(shí)輸出是否更改。在卷積中,如果函數(shù)是輸入數(shù)據(jù)轉(zhuǎn)換函數(shù)(例如:轉(zhuǎn)換輸入數(shù)據(jù)),則卷積函數(shù)將是等效的。例如,當(dāng)輸入是圖像時(shí),卷積神經(jīng)網(wǎng)絡(luò)將創(chuàng)建一個(gè)包含輸入特定特征的二維映射。在輸入平移對(duì)象時(shí),輸出也將平移相同的偏移量。通常,CNN的基本體系結(jié)構(gòu)包括兩層,其中一層是特征提取層,將每個(gè)神經(jīng)元的輸入連接到上一層的局部接受域,以提取本地特征。一旦提取了局部特征,就可以確定其與其他特征的局部關(guān)系。第二層是特征映射層,網(wǎng)絡(luò)中的每個(gè)計(jì)算層都由多個(gè)特征映射組成,每個(gè)特征映射是一個(gè)平面。在該級(jí)別上,所有神經(jīng)元的權(quán)重均相等。特征映射架構(gòu)采用具有小效應(yīng)函數(shù)核的x函數(shù)作為卷積網(wǎng)絡(luò)的激活函數(shù),因此特征映射具有位移不變性。另外,由于映射平面上存在的神經(jīng)元共享權(quán)重,因此減少了網(wǎng)絡(luò)的自由參數(shù)的數(shù)量。卷積神經(jīng)網(wǎng)絡(luò)中的每個(gè)卷積層都跟隨一個(gè)計(jì)算層,用于局部取平均和二次提取。這種獨(dú)特的雙重特征提取架構(gòu)降低了特征的分辨率。CNN主要用于以位移和縮放的形式定義不變的2D圖形。由于CNN的特征發(fā)現(xiàn)層是由訓(xùn)練數(shù)據(jù)識(shí)別的,因此在使用CNN時(shí),它避免了顯式的特征提取,而是從訓(xùn)練數(shù)據(jù)中隱式學(xué)習(xí)。另外,由于神經(jīng)元位于同一特征映射面上,權(quán)重相同,因此網(wǎng)絡(luò)可以并行學(xué)習(xí),這也是跨神經(jīng)元互連網(wǎng)絡(luò)的卷積網(wǎng)絡(luò)的主要特征。卷積神經(jīng)網(wǎng)絡(luò)具有獨(dú)特的局部加權(quán)結(jié)構(gòu),在語音識(shí)別和圖像處理方面具有獨(dú)特的優(yōu)勢。其設(shè)計(jì)類似于實(shí)際的生物神經(jīng)網(wǎng)絡(luò)。權(quán)重共享降低了網(wǎng)絡(luò)復(fù)雜度,尤其是多維特征的輸入矢量圖像可以直接插入網(wǎng)絡(luò),直接避免了特征提取和分類過程中由數(shù)據(jù)重構(gòu)導(dǎo)致的的復(fù)雜性。卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)卷積神經(jīng)網(wǎng)絡(luò)包括卷積層、激活函數(shù)、池化層、Dropout層、全連接層、優(yōu)化器。卷積層該層是卷積神經(jīng)網(wǎng)絡(luò)中最重要的層,也是“卷積神經(jīng)網(wǎng)絡(luò)”名稱的來源。與傳統(tǒng)的需要人工設(shè)計(jì)特征工程的算法不同,卷積神經(jīng)網(wǎng)絡(luò)通過諸如BP算法和梯度下降之類的優(yōu)化算法來學(xué)習(xí)特征,卷積層的功能是基于局部連接權(quán)重的共享使用不同的卷積核提取輸入信號(hào)的各種屬性。神經(jīng)網(wǎng)絡(luò)提取特征的能力也通過卷積層實(shí)現(xiàn)。為了提取更多特征,每個(gè)神經(jīng)元共享一個(gè)核,并且在卷積層中可以使用多個(gè)不同的卷積核,并且不同的卷積核提取不同的特征。如圖3.2所示,對(duì)卷積層的幾個(gè)術(shù)語進(jìn)行了解釋:圖3.2卷積層示例卷積的運(yùn)算它其實(shí)是一種簡單數(shù)學(xué)運(yùn)算,有兩個(gè)步驟:一是矩陣內(nèi)積乘法,另一個(gè)是將內(nèi)積乘法的結(jié)果進(jìn)行全加。(1)矩陣內(nèi)積乘法矩陣的內(nèi)積乘法非常簡單,就是把兩個(gè)相乘的矩陣,相同位置的元素進(jìn)行乘法運(yùn)算,這個(gè)時(shí)候會(huì)得到一個(gè)新的矩陣。(2)全加計(jì)算這個(gè)新矩陣的全部值會(huì)進(jìn)行相加,然后會(huì)得到一個(gè)值,這個(gè)值才是卷積運(yùn)算的結(jié)果。卷積計(jì)算過程如下圖所示:圖3.3卷積運(yùn)算激活函數(shù)所謂的激活函數(shù)是一種在人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元上運(yùn)行的函數(shù),負(fù)責(zé)將神經(jīng)元的輸入分配給輸出。在網(wǎng)絡(luò)計(jì)算中,節(jié)點(diǎn)的激活功能確定節(jié)點(diǎn)在特定輸入或一組輸入下的輸出,可以將標(biāo)準(zhǔn)計(jì)算機(jī)芯片電路視為數(shù)字電路的激活功能,該數(shù)字電路根據(jù)輸入獲得開(1)或關(guān)(0)輸出。這類似于神經(jīng)網(wǎng)絡(luò)中線性感知的行為。但是,只有非線性激活函數(shù)才允許此類網(wǎng)絡(luò)僅使用少量節(jié)點(diǎn)來解決非平凡的問題。在人工神經(jīng)網(wǎng)絡(luò)中,此函數(shù)也稱為傳遞函數(shù)。由于存在激活函數(shù)的原因,如果不使用激活函數(shù),則每一層的輸出都是上層輸入的線性函數(shù)。無論神經(jīng)網(wǎng)絡(luò)有多少層,輸出都是輸入的線性組合,這是最原始的感知器。沒有激活功能的每一層等效于乘以一個(gè)矩陣。即使您堆疊了幾層,也無非就是將矩陣相乘。如果使用激活函數(shù),則將非線性因素引入到神經(jīng)元中,從而使神經(jīng)網(wǎng)絡(luò)可以任意接近任何非線性函數(shù),從而可以將神經(jīng)網(wǎng)絡(luò)應(yīng)用于許多非線性模型。如果使用線性激活函數(shù),則輸入和輸出之間的關(guān)系是線性的,并且無論神經(jīng)網(wǎng)絡(luò)有多少層,它都是線性組合。激活函數(shù)通常是非線性函數(shù),非線性激活函數(shù)的使用是為了增加神經(jīng)網(wǎng)絡(luò)模型的非線性因子,從而使網(wǎng)絡(luò)更加厲害,容量更大,使學(xué)習(xí)復(fù)雜的事物,形成復(fù)雜的數(shù)據(jù),在非線性之間映射復(fù)雜的函數(shù)。輸出層可以使用線性激活函數(shù),而隱藏層使用非線性激活函數(shù)。簡而言之,激活功能是減少計(jì)算參數(shù)并防止過度擬合。常用的激活函數(shù):sigmoid,Tanh,ReLUsigmoid函數(shù)sigmoid函數(shù)又稱Logistic函數(shù),用于隱層神經(jīng)元輸出,取值范圍是(0,1),可以用做二分類。其函數(shù)表達(dá)式為: (3.1)其函數(shù)圖像如下圖:圖3.3sigmoid函數(shù)圖像從圖3.3可以看出Sigmoid函數(shù)的優(yōu)點(diǎn)是:1.可以將輸入的值域從轉(zhuǎn)換成范圍為的數(shù)值,輸出范圍有限,如果輸入較大的負(fù)數(shù)則輸出0,輸入較大的正數(shù)輸出則為1。2.是連續(xù)函數(shù),便于求導(dǎo)。缺點(diǎn)是:1.Sigmoid函數(shù)當(dāng)變量取非常大的正值或負(fù)值時(shí)將飽和,這就意味著函數(shù)將變得非常平坦,并且對(duì)輸入中的微小變化不敏感。在反向傳播的時(shí)候,梯度接近0時(shí),權(quán)值基本上不會(huì)更新,梯度很容易消失,無法完成深層網(wǎng)絡(luò)的訓(xùn)練。2.Sigmoid函數(shù)的輸出不是均值的,會(huì)導(dǎo)致后面層的神經(jīng)元輸入是非零均值信號(hào),容易過飽和,因此這會(huì)對(duì)梯度產(chǎn)生影響。3.Sigmoid的計(jì)算復(fù)雜度很高。tanh函數(shù)Tanh函數(shù)也稱為雙曲正切函數(shù),取值范圍為。其函數(shù)表達(dá)式為: (3.2)函數(shù)圖像為:圖3.4tanh函數(shù)由圖3.4可得出Tanh函數(shù)是sigmoid的變形: (3.3)Tanh函數(shù)是0均值的,因此實(shí)際應(yīng)用Tanh會(huì)比Sigmoid更好。但依然會(huì)存在梯度飽和與指數(shù)計(jì)算的問題。Relu函數(shù)Relu函數(shù)(Rectifiedlinearunit,ReLU),即整流線性單元,是現(xiàn)代神經(jīng)網(wǎng)絡(luò)中最經(jīng)常用的激活函數(shù)之一,是大多數(shù)前饋神經(jīng)網(wǎng)絡(luò)默認(rèn)使用的激活函數(shù)。此非線性的relu函數(shù)比飽和非線性的Sigmoid和Tanh函數(shù)收斂速度更快。在相同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)下,使用Relu函數(shù)訓(xùn)練要比使用tanh及Sigmoid函數(shù)快很多倍。其數(shù)學(xué)表達(dá)式為: (3.4)函數(shù)圖像為:圖3.5relu函數(shù)圖像由于Relu函數(shù)為線性函數(shù),只要一個(gè)閾值就可以得到激活值,計(jì)算復(fù)雜度將大大降低。Relu函數(shù)使得小于零輸入的輸出皆為0,而輸入大于零的輸出皆為本身數(shù)值。但Relu函數(shù)也有缺點(diǎn),例如:1.其輸出不是0均值。2.會(huì)出現(xiàn)神經(jīng)元壞死現(xiàn)象(relu在訓(xùn)練時(shí)容易出現(xiàn)梯度為零的狀況,不再對(duì)任何數(shù)據(jù)有所響應(yīng),這樣會(huì)使得相關(guān)的參數(shù)永遠(yuǎn)不會(huì)更新)池化層池化層(poolinglayer),簡單來說就是其目的就是減少了下一層待處理的數(shù)據(jù)量。例如當(dāng)卷積層輸出的大小為32*32時(shí),如果池化層過濾器的大小為2*2時(shí),那么經(jīng)過池化層處理后,輸出數(shù)據(jù)的大小就為16*16,也就是現(xiàn)有的數(shù)據(jù)量一下子減少到了池化前的1/4,這樣就減少了參數(shù)數(shù)量,從而可以防止網(wǎng)絡(luò)過擬合。常見的池化層有最大池化和平均池化,最大池化保留了紋理特征,平均池化保留整體的數(shù)據(jù)特征. 最大池化(maximumpooling):選取區(qū)域內(nèi)的最大值的神經(jīng)元作為該區(qū)域的概括。平均池化(meanpooling):取區(qū)域內(nèi)所有神經(jīng)元的均值作為該區(qū)域的概括。示例如下圖:圖3.6池化策略池化層不僅可以降低特征的維數(shù),而且具有平移不變性。如果圖片有輕微的平移,它的輸出特性也不會(huì)改變。當(dāng)你不需要知道特征出現(xiàn)在哪里,而只需要知道特征是否存在時(shí),平移不變性可以發(fā)揮很大的作用。比如,當(dāng)需要預(yù)測圖片是否包含人臉時(shí),不需要精確的眼睛位置。只需要知道人眼的位置,一個(gè)在臉的左側(cè),另一個(gè)在臉的右側(cè)。也就是說,更為重要的是獲取特征的局部信息Dropout層Dropout層是指在深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練過程中,神經(jīng)網(wǎng)絡(luò)單元按一定概率暫時(shí)退出網(wǎng)絡(luò)。對(duì)于隨機(jī)梯度下降,因?yàn)樗请S機(jī)丟棄的,所以每個(gè)小批量都在訓(xùn)練不同的網(wǎng)絡(luò)。Dropout層是CNN防止過擬合和提高效率的一個(gè)非常有效的工具。為了避免過度擬合,還可以使用另一種方法來降低測試集的錯(cuò)誤率,即訓(xùn)練大量不同的網(wǎng)絡(luò),最終的預(yù)測結(jié)果取這些網(wǎng)絡(luò)的平均值。如果你使用這種方法,就意味著你需要單獨(dú)訓(xùn)練大量不同的網(wǎng)絡(luò),并對(duì)測試集進(jìn)行預(yù)測,很明顯增加了訓(xùn)練和識(shí)別的工作量。然而使用Dropout層后,某些隱藏單元在每次迭代中都不會(huì)按照一定的概率進(jìn)行更新,這樣就減少了網(wǎng)絡(luò)訓(xùn)練的參數(shù),加快了訓(xùn)練速度,使得效率提高。簡單來說,Dropout之所以解決過擬合,是因?yàn)槠淙∑骄?、減少神經(jīng)元之間復(fù)雜的共適應(yīng)關(guān)系,降低權(quán)重以使得網(wǎng)絡(luò)對(duì)丟失特定神經(jīng)元連接的魯棒性提高。全連接層每個(gè)輸入層的節(jié)點(diǎn)之后連接到輸出層的節(jié)點(diǎn)即為全連接。全連接層在整個(gè)卷積神經(jīng)網(wǎng)絡(luò)相當(dāng)于分類器。如果說諸如卷積層、池化層和激活函數(shù)之類的操作將原始數(shù)據(jù)映射到隱藏層特征空間,則全連接的層充當(dāng)將被學(xué)習(xí)的“分布式特征表示”映射到樣本標(biāo)簽空間的效果。簡單來說就是就是通過特征提取實(shí)現(xiàn)分類。優(yōu)化器由于深度學(xué)習(xí)訓(xùn)練特別復(fù)雜且耗時(shí),可能需要在數(shù)百臺(tái)機(jī)器上花費(fèi)數(shù)十天,因此為了解決這個(gè)問題,人們提出了很多優(yōu)化方案,優(yōu)化器就是其中之一。本次實(shí)驗(yàn)采用了GradientDescent和Adam優(yōu)化器,對(duì)比之下Adam優(yōu)化器訓(xùn)練效果更好,因此主要介紹Adam優(yōu)化器,實(shí)證結(jié)果表明:在實(shí)踐中,Adam的工作效果良好,并優(yōu)于其他隨機(jī)優(yōu)化算法。當(dāng)還未收斂時(shí),設(shè)時(shí)長為t+1,并且在時(shí)長為t時(shí)目標(biāo)函數(shù)的梯度為:,然后更新梯度的一階矩估計(jì): (3.5)更新二階矩估計(jì): (3.6)計(jì)算一階矩估計(jì)的偏差矯正: (3.7)計(jì)算二階矩估計(jì)的偏差矯正: (3.8)更新參數(shù)得: (3.9)Adam可以根據(jù)不一樣的參數(shù)計(jì)算得到不一樣的自適應(yīng)學(xué)習(xí)率,不需要人為設(shè)定學(xué)習(xí)率的大小,此次試驗(yàn)使用的是默認(rèn)參數(shù)。
基于SVM和CNN的驗(yàn)證碼識(shí)別算法設(shè)計(jì)為什么采用深度學(xué)習(xí)機(jī)器學(xué)習(xí)提取特征需要手動(dòng)提取,過程很復(fù)雜,需要有扎實(shí)的專業(yè)知識(shí)并且提取特征效率不高,要花費(fèi)大量時(shí)間,所以目前驗(yàn)證碼識(shí)別一般不采用機(jī)器學(xué)習(xí)比如支持向量機(jī)識(shí)別而是采用深度學(xué)習(xí)識(shí)別比如CNN神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)通常由多個(gè)層組成,根據(jù)數(shù)據(jù)復(fù)雜程度及要求訓(xùn)練精度決定層數(shù),將上一層的數(shù)據(jù)傳遞到下一層去構(gòu)建模型,然后通過反向傳播等算法自動(dòng)訓(xùn)練出需要的模型,大大提高了代碼效率且效果更好。深度學(xué)習(xí)框架的介紹在深度學(xué)習(xí)的萌芽階段,任何一個(gè)深度學(xué)習(xí)研究者都要編寫很多的重復(fù)代碼。為了提高工作效率,這些研究人員將這些代碼集成一個(gè)系統(tǒng)框架,然后放到互聯(lián)網(wǎng)上供所有研究人員一起使用。隨著時(shí)間的推移,最好用的框架被大量的人使用并變得流行起來。目前世界上流行的深度學(xué)習(xí)框架大致有三個(gè),分別是TensorFlow、Caffe、PyTorch。本文主要使用的是TensorFlow框架,即主要對(duì)其展開說明:TensorFlow框架因?yàn)槭荊oogle框架出品,更新和維護(hù)頻率比較高,再加上它有著Python和C++接口,所以成為了全世界使用人數(shù)最多一個(gè)框架。TensorFlow使用數(shù)據(jù)流圖進(jìn)行計(jì)算。圖中的每一個(gè)節(jié)點(diǎn)表示數(shù)學(xué)運(yùn)算,行表示多維數(shù)據(jù)數(shù)組(張量op)之間的交互。TensorFlow的靈活體系結(jié)構(gòu)可以部署在帶有一個(gè)或多個(gè)CPU和GPU的臺(tái)式機(jī)服務(wù)器上,或者在使用單個(gè)API的移動(dòng)設(shè)備中,TensorFlow可用于語音或圖像識(shí)別等機(jī)器學(xué)習(xí)和深層神經(jīng)網(wǎng)絡(luò)中。TensorFlow框架大體流程包括構(gòu)建圖、圖傳遞、圖運(yùn)行。構(gòu)建圖:用戶定義數(shù)據(jù)和操作,基于TensorFlow的多語言編程窗口進(jìn)行添加算子,即完成計(jì)算圖的構(gòu)造。圖傳遞:用戶開啟Session(會(huì)話),通過其建立與master之間的連接。之后執(zhí)行session.run(),將構(gòu)造好的graph序列化為grapdef,然后以protobuf的格式傳遞給master.運(yùn)行圖:簡單來說就是將定義好的數(shù)據(jù)和操作運(yùn)行起來。在使用TensorFlow框架訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),中間的步驟可能非常復(fù)雜,為了使復(fù)雜的計(jì)算步驟更好理解,研究人員研發(fā)出了tensorboard可視化平臺(tái),模型訓(xùn)練過程中的數(shù)據(jù)和操作都可以直觀的通過圖形展現(xiàn)出來。Tensorboard隨著TensorFlow自動(dòng)安裝并不需要額外的安裝,其界面基于Web.在運(yùn)行TensorFlow程序期間,可以輸出匯總各種類型數(shù)據(jù)的日志文件。要可視化TensorFlow程序的運(yùn)行狀態(tài),需要使用TensorBoard讀取這些日志文件,解析數(shù)據(jù)并生成可視化的web界面。生成events文件代碼:f.summary.FileWriter(path,graph=sess.graph);啟用tensorboard:(TF1.12)C:\Users\feilongzaitian>tensorboard--logdir="D:\Users\feilongzaitian\Desktop\shengduxuexi\temp\summary"--host=127.0.0.1瀏覽器輸入:127.0.0.1:6006環(huán)境搭建第一次接觸深度學(xué)習(xí)的學(xué)習(xí)者,深度學(xué)習(xí)環(huán)境的搭建可謂是一座大山,本文采用在anaconda3下搭建TensorFlow-gpu-1.12,中間出現(xiàn)了很多問題,比如各個(gè)庫版本不匹配等等,耗時(shí)兩天才搭建完成。第一步就是去Anaconda官網(wǎng)下載Win10版本的Anaconda.第二步創(chuàng)建一個(gè)單獨(dú)的環(huán)境,在CMD命令行窗口或者Anacondaprompt環(huán)境下都可以,以第二種為例先創(chuàng)建一個(gè)python環(huán)境:輸入命令condacreate-ntensorflowpython=3.6.第三步激活anaconda的tensorflow環(huán)境第四步在激活的環(huán)境下安裝合適的TensorFlow版本即可。需要特別注意的是,如果電腦有GPU的話建議安裝Gpu版本,提前查看一下自己電腦的顯卡驅(qū)動(dòng)版本選擇適合的CUDn和TensorFlow版本。還有選擇相匹配版本的各種庫,假如版本不適應(yīng)是不能使用的。最后就是將所搭建的TensorFlow框架導(dǎo)入Pycharm即可,這里比較簡單就不做詳細(xì)描述了.驗(yàn)證碼的獲取及預(yù)處理驗(yàn)證碼的獲取及預(yù)處理是驗(yàn)證碼識(shí)別必須經(jīng)歷的步驟,本文主要介紹獲取易分割驗(yàn)證碼和其預(yù)處理。驗(yàn)證碼獲取在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中,往往都需要大量的數(shù)據(jù),如何獲取數(shù)據(jù)呢?一般采用網(wǎng)站爬蟲然后整理的方式。本文主要采用自動(dòng)生成的方式,有一些專門生成驗(yàn)證碼的第三方庫,例如python集成的captcha庫。自動(dòng)生成可以在短時(shí)間內(nèi)獲取大量驗(yàn)證碼,很容易就能滿足大樣本的需求。同時(shí)更加方便的是可以在生成的過程中對(duì)驗(yàn)證碼命名完成標(biāo)記。圖4.1驗(yàn)證碼示例1還能生成更加復(fù)雜的驗(yàn)證碼:圖4.2驗(yàn)證碼示例2網(wǎng)頁上抓取驗(yàn)證碼的話可以獲取各種各樣式的,但是這樣必須手動(dòng)對(duì)驗(yàn)證碼進(jìn)行標(biāo)記,由于訓(xùn)練的樣本數(shù)量一般比較大,這樣子的話就會(huì)給任務(wù)帶來很大的工作量灰度化處理灰度就是灰度圖像上每個(gè)像素的顏色值,也就是顏色深度,數(shù)值范圍一般在0到255之間,白色為255,黑色為0。灰度表示沒有顏色,RGB顏色分量都相等。如果是二值灰度圖像的話,它的像素值只能是0或1,我們說它的灰度級(jí)是2。由于現(xiàn)在大多數(shù)彩色圖像都使用RGB顏色模式。在處理圖像時(shí),必須對(duì)RGB的三個(gè)分量分別進(jìn)行處理,這樣極大的增加了要處理的數(shù)據(jù)量。但實(shí)際上,RGB并不能反映圖像的形態(tài)特征,只是根據(jù)光學(xué)原理對(duì)顏色進(jìn)行調(diào)整。圖像灰度處理可以作為圖像處理的預(yù)處理步驟,為后續(xù)的圖像分割、圖像識(shí)別、等訓(xùn)練操作做準(zhǔn)備。圖像灰度化處理有如下幾種方法:分量法:將彩色圖像中的中的三分量的亮度作為其灰度值,即: (4.1)最大值法:將彩色圖像中的三分量亮度最大值作為灰度圖的灰度值。即: (4.2)平均值法:將彩色圖像的亮度求平均得到想要的灰度值,即: (4.3)加權(quán)平均法:根據(jù)重要性等指標(biāo),對(duì)三個(gè)分量進(jìn)行加權(quán)平均,并賦予不同的權(quán)重。由于人眼對(duì)綠色最敏感,而對(duì)藍(lán)色最不敏感,因此可以通過如下加權(quán)RGB三個(gè)分量來獲得更合理的灰度圖像。即: (4.5)圖4.3灰度化圖片示例驗(yàn)證碼的二值化二值化即將非二值圖像經(jīng)過計(jì)算轉(zhuǎn)化為二值圖像,一般用它將感興趣的目標(biāo)和背景分離,能更好的分析物體的形狀和輪廓,可以看作聚類或者分類。二值圖像表示每個(gè)像素只有兩種可能的數(shù)字圖像,我們可以設(shè)定一個(gè)閾值,小于這個(gè)值的為灰度極小值,大于這個(gè)值的為灰度極大值,這樣就能實(shí)現(xiàn)二值化。根據(jù)閾值的選取,常用的方法可以分為全局閾值和局部閾值。全局閾值指的是整個(gè)圖像的像素點(diǎn)都使用相同的閾值。這一閾值可以選取經(jīng)驗(yàn)值也可以根據(jù)灰度的平均值或者灰度的分布情況來選取合適的閾值。目前最有名的就是日本工程師大津展之發(fā)明的OTSU大津算法,該方法也稱為最大類間差法。大津算法類似于一維離散化模擬,通過窮舉法找到一個(gè)閾值,然后把這些像素切成兩類,這就讓這兩類像素的類方差最小,類方差指的是兩類像素的加權(quán)和,權(quán)指的就是像素點(diǎn)在整個(gè)圖像像素點(diǎn)數(shù)量的比重。由于其計(jì)算簡單而且二值化效果良好,在很多二值化場景都能見到這個(gè)算法。局部閾值又稱自適應(yīng)閾值,局部閾值法假設(shè)圖像在某一區(qū)域的亮度相對(duì)較近。它用滑動(dòng)窗口掃描圖像,并將滑動(dòng)窗口中心點(diǎn)的亮度與滑動(dòng)窗口中其他區(qū)域(稱為鄰域區(qū)域)的亮度進(jìn)行比較。如果中心點(diǎn)的亮度高于鄰域的亮度,則中心點(diǎn)標(biāo)記為白色,否則標(biāo)記為黑色。這種方法對(duì)于背景比較復(fù)雜、光照不勻、對(duì)比度不同的圖片具有良好的處理效果,并且具有很強(qiáng)的抗干擾能力。圖4.4不同類型圖對(duì)比去噪處理2008年,Viren-Jain等人提出利用CNN來處理自然圖像的去噪問題[21],取得了與傳統(tǒng)方法相似或更好的結(jié)果。研究還表明,一種特定形式的CNN可以作為馬爾可夫模型推理結(jié)果的近似值用于圖像去噪,而神經(jīng)網(wǎng)絡(luò)模型可以避免馬爾可夫模型在概率學(xué)習(xí)和推理過程中的計(jì)算困難,從而降低計(jì)算復(fù)雜度。在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,為了更快、更準(zhǔn)確地收斂,采用了分層訓(xùn)練的方法。2012年,Xie等人使用棧式去噪自動(dòng)編碼器進(jìn)行圖像去噪和圖像修復(fù),使用的網(wǎng)絡(luò)結(jié)構(gòu)為多層全連通網(wǎng)絡(luò)。之后Burger等人提出使用多層感知機(jī)的方法實(shí)現(xiàn)網(wǎng)絡(luò)去噪。2016年Mao等人提出深度的卷積編解碼網(wǎng)絡(luò)應(yīng)用于圖像去噪,2017年Zhang等人提出較深層的CNN網(wǎng)絡(luò),即DnCNN實(shí)現(xiàn)去噪。由于本文章處理圖片較簡單不需要進(jìn)行去噪處理。圖像分割圖像分割是計(jì)算機(jī)視覺研究中的一個(gè)老問題,已成為圖像領(lǐng)域的熱點(diǎn)。圖像分割是指根據(jù)灰度、顏色、紋理、幾何特征等特征將圖像分割成不同區(qū)域,因此這些特征在同一區(qū)域表現(xiàn)出相似性,但在不同區(qū)域表現(xiàn)出不同的相關(guān)性。簡單地說,就是把圖像中的目標(biāo)和背景分開。對(duì)于灰度圖像,該區(qū)域的像素往往具有相似性,并且往往會(huì)對(duì)區(qū)域邊界產(chǎn)生無損影響。目前,國內(nèi)尚無通用的、完善的分割方法,但對(duì)圖像分割的一般規(guī)則有一個(gè)一般性的推薦,并且已經(jīng)開發(fā)出了大量的研究成果和模型。由于本文處理的驗(yàn)證碼不是粘連的驗(yàn)證碼,可以使用兩種方法對(duì)其分割為單個(gè)的字符:顏色填充分割的方法和平均分割。1.顏色填充分割:對(duì)于具有分離的驗(yàn)證碼,相鄰字符之間沒有連接,可以采用一種簡單的分割方法:顏色填充分割,從整個(gè)驗(yàn)證碼圖像中提取相同的符號(hào)。該算法的基本思想是捕獲所有相鄰像素,即捕獲圖像中的相鄰像素點(diǎn)。首先,捕捉前景像素。因?yàn)閳D像是二值化的,所以這里的前景像素是黑色像素。然后,遍歷每個(gè)相鄰像素點(diǎn),直到色塊遍歷結(jié)束。然后,該算法在另一個(gè)塊中定位黑色像素并繼續(xù)遍歷。此操作將繼續(xù)進(jìn)行直到所有顏色塊遍歷完。圖4.5顏色填充分割示例2.平均分割:簡單來說就是將圖片平均分割成N個(gè)寬度相同的圖片。但是當(dāng)字符是粘連到一塊的時(shí)候平均切分會(huì)導(dǎo)致有一部分字符的不完整和多余噪聲,也可能直接喪失需要識(shí)別的相關(guān)內(nèi)容。 圖4.6平均分割示例準(zhǔn)備及分析階段 原始數(shù)據(jù)和標(biāo)簽值及標(biāo)簽值處理分析本文使用的數(shù)據(jù)集一共有6000張驗(yàn)證碼圖片,標(biāo)簽值為驗(yàn)證碼圖片所包含的4個(gè)字母,然后以圖片文件名為索引存放在labels.csv文件中,如下圖所示: (a)label.csv文件內(nèi)容(b)驗(yàn)證碼圖片示例圖4.7數(shù)據(jù)集內(nèi)容示例由于每張圖片的標(biāo)簽值都是一個(gè)字符串,可以將其當(dāng)做一個(gè)個(gè)的字符串單獨(dú)處理。一張驗(yàn)證碼的圖片的目標(biāo)值由四個(gè)字母組成,可以將其轉(zhuǎn)換成對(duì)應(yīng)數(shù)字,例如“NZPP”轉(zhuǎn)換成“13,25,15,15”。然后對(duì)每個(gè)位置進(jìn)行one_hot編碼,例如“NZPP”的真實(shí)值就為“[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,0,0,0,0,0,0,1][0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0]”,即每個(gè)驗(yàn)證碼的目標(biāo)就有[4,26]這樣一個(gè)數(shù)組。至于如何衡量損失?我們考慮將目標(biāo)值拼接在一塊,形成一個(gè)[104]長度一階張量。如果計(jì)算預(yù)測概率值仍然使用SoftMax函數(shù),并對(duì)這兩個(gè)一階張量(真實(shí)值和預(yù)測值)計(jì)算交叉熵?fù)p失會(huì)存在損失值過大而且不能減小的問題。由于SoftMax針對(duì)所有104個(gè)輸出的logits計(jì)算輸出概率,和為1,最好的結(jié)果是真實(shí)值編碼為1的4個(gè)位置對(duì)應(yīng)的預(yù)測概率值為0.25。在迭代優(yōu)化過程中,如果要使其概率進(jìn)一步提供,勢必造成其他三個(gè)真實(shí)值編碼為1的位置對(duì)應(yīng)的概率值下降。SoftMax交叉熵適合于計(jì)算類別相互排斥的離散分類任務(wù)的損失值,每個(gè)輸出對(duì)應(yīng)一個(gè)類別。比如CIFAR-10圖像都標(biāo)有-一個(gè)且僅有一個(gè)標(biāo)簽,只能是10個(gè)類別中的--種。但如果遇到需要預(yù)測4個(gè)真實(shí)結(jié)果的情況,我們就需要使用sigmoid交叉熵計(jì)算損失。如果計(jì)算預(yù)測概率值時(shí)仍然使用SoftMax函數(shù),并對(duì)這兩個(gè)104個(gè)元素的--階張量計(jì)算交叉熵?fù)p失,會(huì)存在損失值過大并且無法減小的問題。由于SoftMax針對(duì)所有104個(gè)輸出的logits計(jì)算輸出概率,和為1,最好的結(jié)果是真實(shí)值編碼為1的4個(gè)位置對(duì)應(yīng)的預(yù)測概率值為0.25。在迭代優(yōu)化過程中,如果要使其概率進(jìn)一步提供,勢必造成其他三個(gè)真實(shí)值編碼為1的位置對(duì)應(yīng)的概率值下降。SoftMax交叉熵適合于計(jì)算類別相互排斥的離散分類任務(wù)的損失值,每個(gè)輸出對(duì)應(yīng)一個(gè)類別。.比如CIFAR-10圖像都標(biāo)有-一個(gè)且僅有一個(gè)標(biāo)簽,只能是10個(gè)類別中的--種。但如果遇到需要預(yù)測4個(gè)真實(shí)結(jié)果的情況,我們就需要使用sigmoid交叉熵計(jì)算損失。sigmoid交叉熵適合計(jì)算每個(gè)類別獨(dú)立且不互相排斥的離散分類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員證考試試題及答案
- 2025年關(guān)于《黨政機(jī)關(guān)厲行節(jié)約反對(duì)浪費(fèi)條例》知識(shí)題庫(附答案)
- 2025護(hù)士考點(diǎn)試題及答案
- 銀行入營考試題目及答案
- 等壓式焊炬試題及答案
- 大連莊河去年考試題及答案
- 未來五年ZTG燭式過濾機(jī)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 普外科引流管并發(fā)癥預(yù)防與處理
- 2026黑龍江齊齊哈爾市建華區(qū)消防大隊(duì)政府專職消防員招聘11人備考題庫必考題
- 中共自貢市貢井區(qū)委社會(huì)工作部2025年新興領(lǐng)域黨建工作專員招聘參考題庫必考題
- 河道采砂廠安全生產(chǎn)制度
- (2025年)電力交易員筆試題附答案
- 2026年婦聯(lián)崗位面試高頻考點(diǎn)對(duì)應(yīng)練習(xí)題及解析
- 北京通州產(chǎn)業(yè)服務(wù)有限公司招聘筆試備考題庫及答案解析
- 2026屆江蘇省揚(yáng)州市江都區(qū)大橋、丁溝、仙城中學(xué)生物高一上期末聯(lián)考模擬試題含解析
- 2026廣東廣州開發(fā)區(qū)統(tǒng)計(jì)局(廣州市黃埔區(qū)統(tǒng)計(jì)局)招聘市商業(yè)調(diào)查隊(duì)隊(duì)員1人參考題庫完美版
- 期末測試卷(試卷)2025-2026學(xué)年三年級(jí)數(shù)學(xué)上冊(人教版)
- 帶式輸送機(jī)運(yùn)輸巷作為進(jìn)風(fēng)巷專項(xiàng)安全技術(shù)措施
- 人教版(2024)八年級(jí)下冊英語:課文+翻譯
- 水空調(diào)安裝協(xié)議書
- 工程投資估算與審核編制操作規(guī)程
評(píng)論
0/150
提交評(píng)論