欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python與人工神經(jīng)網(wǎng)絡(luò):使用神經(jīng)網(wǎng)絡(luò)識(shí)別手寫圖像介紹

 更新時(shí)間:2017年12月19日 09:21:40   投稿:mengwei  
文章主要介紹什么是神經(jīng)網(wǎng)絡(luò),感知機(jī)的概念和模型,以及新一代的S曲線神經(jīng)元系統(tǒng)等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。

人體的視覺系統(tǒng)是一個(gè)相當(dāng)神奇的存在,對于下面的一串手寫圖像,可以毫不費(fèi)力的識(shí)別出他們是504192,輕松到讓人都忘記了其實(shí)這是一個(gè)復(fù)雜的工作。

實(shí)際上在我們的大腦的左腦和右腦的皮層都有一個(gè)第一視覺區(qū)域,叫做V1,里面有14億視覺神經(jīng)元。而且,在我們識(shí)別上面的圖像的時(shí)候,工作的不止有V1,還有V2、V3、V4、V5,所以這么一看,我們確實(shí)威武。

但是讓計(jì)算機(jī)進(jìn)行模式識(shí)別,就比較復(fù)雜了,主要困難在于我們?nèi)绾谓o計(jì)算機(jī)描述一個(gè)數(shù)字9在圖像上應(yīng)該是怎樣的,比如我們跟計(jì)算機(jī)說,9的上面是一個(gè)圈,下右邊是1豎。然而有的人寫9會(huì)帶勾,有的人還會(huì)在圈周圍多出點(diǎn)什么,總的來說,這種描述法太容易出現(xiàn)其他狀況。況且,我們這里討論的還只是數(shù)字,涉及到字母、漢字、符號(hào)就回更復(fù)雜。

于是人們就有了另外一種途徑,那就是我們不用告訴計(jì)算機(jī)什么是9,我們可以把他當(dāng)作一個(gè)小孩子,讓他見很多9的圖片,對他說,這是9,記得哈。慢慢的他就形成了自己的評判標(biāo)準(zhǔn),等他長大了,自然就知道以后遇到的圖片是不是9了。讓我們?nèi)藢W(xué)習(xí)的方式是見聞,讓計(jì)算機(jī)學(xué)習(xí)的就是給他數(shù)據(jù),這個(gè)數(shù)據(jù)通常被叫做訓(xùn)練樣本(如圖),而這套學(xué)習(xí)的方法,就是神經(jīng)網(wǎng)絡(luò)了。

感知機(jī)(Perceptrons)

在說人工神經(jīng)網(wǎng)絡(luò)之前,我們先說另外一個(gè)人工神經(jīng)元系統(tǒng),叫感知機(jī)(Perceptrons)。感知機(jī)模型是這樣的:

其中x1,x2,x3是二進(jìn)制的輸入值,output是二進(jìn)制的輸出值。在每個(gè)輸入端,還會(huì)有一個(gè)權(quán)重,w1,w2,w3。output取決于x1*w1+x2*w2+x3*w3,如果他小于等于一個(gè)臨界值的時(shí)候,output就輸出0,大于等于那個(gè)臨界值的時(shí)候,output就輸出1。當(dāng)然輸入值可以是任意多個(gè),用公式表示就是:

output={01if ∑jwjxj≤ thresholdif ∑jwjxj> threshold

感知機(jī)模型就這么簡單,他是一個(gè)相當(dāng)好的決策系統(tǒng),用來解決是或者不是,去或者不去,熟悉我的朋友可能知道我從古代儒家修身的功過格受啟發(fā),自己制定的一套決策系統(tǒng),也是用因素*權(quán)重然后匯總,看得到的正面因素占優(yōu)還是負(fù)面的因素占優(yōu),最后做決策,真是相當(dāng)好用,只不過那時(shí)候還不知道感知機(jī)模型。

我們把Σwjxj用w·x表示,把臨界值提到等號(hào)右邊,用-b表示,那么上面的等式就如下所示:

b一般稱作偏差。

既然有一層的感知機(jī)模型,多層的就很好理解了,如圖:

這個(gè)多層(從左到右)的感知機(jī)里面,第一層的感知機(jī)比較簡單,只根據(jù)輸入的值和權(quán)重就可以得出結(jié)果,第二層的結(jié)果就得根據(jù)第一層的結(jié)果和相應(yīng)的的權(quán)重了,與復(fù)雜度相對應(yīng),他也就可以用來做更加復(fù)雜和抽象的決定,第三層就更復(fù)雜了。

這種上世紀(jì)五十年代就出來的神經(jīng)元系統(tǒng)功能強(qiáng)大,但是對于機(jī)器學(xué)習(xí)有一個(gè)重大的缺陷。我們教小孩子的時(shí)候,小孩子進(jìn)步一點(diǎn)點(diǎn),我們就鼓勵(lì)他一下,小孩子退步一點(diǎn)點(diǎn),我們就批評一下,他從我們的批評和鼓勵(lì)中自動(dòng)的去調(diào)整自己的認(rèn)知,慢慢的成長。但是這個(gè)感知機(jī)就不同了,他的輸入值只有0和1,他的成長沒有一點(diǎn)點(diǎn)的說法,所以壓根就不知道怎么調(diào)整,可能內(nèi)部參數(shù)調(diào)整的亂七八糟,輸出的結(jié)果還是不變的。要實(shí)現(xiàn)學(xué)習(xí)和進(jìn)步,就得有這么一點(diǎn)點(diǎn)一點(diǎn)點(diǎn)進(jìn)步的概念,也就是說,w或者b變了一點(diǎn)點(diǎn),那么輸出值就得變一點(diǎn)點(diǎn),總的來說,就是要實(shí)現(xiàn)下圖所示的效果:

于是新一代的神經(jīng)元系統(tǒng)就出世了,他叫S曲線神經(jīng)元系統(tǒng)(Sigmoid neurons)。

S曲線神經(jīng)元系統(tǒng)(Sigmoid neurons)

簡單來說,S曲線神經(jīng)元系統(tǒng)和感知機(jī)系統(tǒng)的區(qū)別在于我們的輸入值x1,x2,x3和輸出值output都不是0和1了,改為從0到1之間的任何實(shí)數(shù)。而且規(guī)定,對我輸出值output,由于是與w·x和b相關(guān)的,我們可以用σ(w·x,b)表示,他滿足函數(shù):

把w·x和b帶進(jìn)去,就是:

試著看下,如果當(dāng)w·x + b→+∞的時(shí)候,e^-(w·x+b)→0,σ(w·x,b)→1。相反,當(dāng)w·x + b→-∞的時(shí)候,σ(w·x,b)→0,所以,感知機(jī)系統(tǒng)也是一個(gè)特殊的S曲線神經(jīng)元系統(tǒng)。

至于為什么σ(w·x,b)必須滿足上述的函數(shù)呢。請看σ(z)的圖形:

他的定義域是(-∞,+∞),值域是(0,1),也就是說,不管w·x和b怎么折騰,總能保證輸出值在0到1之間。特別的,當(dāng)我們對一個(gè)事情做決定時(shí),比如我們讓計(jì)算機(jī)決定看到的一個(gè)圖形是不是9,0到1之間的一個(gè)數(shù),可以在物理意義上對應(yīng)他是9的概率。(我后來才意識(shí)道,這個(gè)說法是錯(cuò)誤的)

我們說,我們拋棄感知器,采用S曲線神經(jīng)元系統(tǒng),是為了讓輸出結(jié)果的變動(dòng)和我們采取權(quán)重w和偏離b的變動(dòng)對應(yīng)起來。那么對于方程output = σ(w·x,b),由于輸入值x是已知的常數(shù),根據(jù)全微分的定義,有:

輸出值的變動(dòng)和我們選用的參數(shù)變動(dòng)就對應(yīng)起來了。

構(gòu)造我們的神經(jīng)網(wǎng)絡(luò)

在我們構(gòu)建神經(jīng)網(wǎng)絡(luò)的過程中,一般也會(huì)把輸入的數(shù)據(jù)當(dāng)作神經(jīng)元,輸入的那層叫做輸入層,中間可能有多層,通常被叫做隱藏層,輸出的那一層就叫做輸出層。如圖:

在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)時(shí),一般會(huì)采取簡單粗暴的方式,比如我們要讓計(jì)算機(jī)識(shí)別手寫稿的掃描件圖像,其中的一個(gè)字的圖像像素個(gè)數(shù)是64*64=4096個(gè),那么我們設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的時(shí)候,輸入層神經(jīng)元個(gè)數(shù)就是4096個(gè),其中每個(gè)神經(jīng)元的輸入數(shù)據(jù)就是該像素的灰度值(參照文章的第一幅圖)歸一化成0到1之間的數(shù)值。而我們要識(shí)別出的結(jié)果,可能包括數(shù)字0-9加26個(gè)大大小寫字母再加六千常用漢字,那我們設(shè)計(jì)的輸出層神經(jīng)元個(gè)數(shù)就用過是10+26*2+6000=6062個(gè),其中每個(gè)神經(jīng)元對應(yīng)一個(gè)我們要識(shí)別的結(jié)果。

具體到本實(shí)例中,訓(xùn)練樣本和識(shí)別測試數(shù)據(jù)是28*28像素的,輸出結(jié)果只有10個(gè)數(shù)字,那么輸入層就應(yīng)該是786個(gè)神經(jīng)元,輸出層是10個(gè)神經(jīng)元。至于中間隱藏層的神經(jīng)元,作者選了15個(gè),說是經(jīng)過了多次實(shí)驗(yàn),15個(gè)的效果比較好。就我的理解,應(yīng)該是越多約好的(不一定正確),不過越多也意味著運(yùn)算量越大,所以作者最后選了15個(gè)。最終設(shè)計(jì)的結(jié)果如圖:

最后還有一個(gè)問題,如果是連續(xù)的書寫手稿,怎么把他分割成一個(gè)個(gè)的。作者說實(shí)際上這個(gè)問題可以在我們完成通過神經(jīng)網(wǎng)絡(luò)進(jìn)行識(shí)別之后再說,因?yàn)樽R(shí)別出來誰都不像的,就說明應(yīng)該要分割了,那我們也就跟著作者的思路,暫時(shí)先不管。

總結(jié)

以上就是本文關(guān)于Python與人工神經(jīng)網(wǎng)絡(luò):使用神經(jīng)網(wǎng)絡(luò)識(shí)別手寫圖像介紹的全部內(nèi)容嗎,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

神經(jīng)網(wǎng)絡(luò)理論基礎(chǔ)及Python實(shí)現(xiàn)詳解

神經(jīng)網(wǎng)絡(luò)python源碼分享

70行Java代碼實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)算法分享

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • PyTorch中的squeeze()和unsqueeze()解析與應(yīng)用案例

    PyTorch中的squeeze()和unsqueeze()解析與應(yīng)用案例

    這篇文章主要介紹了PyTorch中的squeeze()和unsqueeze()解析與應(yīng)用案例,文章內(nèi)容介紹詳細(xì),需要的小伙伴可以參考一下,希望對你有所幫助
    2022-03-03
  • python?Tkinter模塊使用方法詳解

    python?Tkinter模塊使用方法詳解

    Python的GUI庫非常多,之所以選擇 Tkinter,一是最為簡單,二是自帶庫,不需下載安裝,隨時(shí)使用,跨平臺(tái)兼容性非常好,下面這篇文章主要給大家介紹了關(guān)于python?Tkinter模塊使用方法的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • python holidays獲取中國節(jié)日的示例

    python holidays獲取中國節(jié)日的示例

    在Python中,holidays庫是一個(gè)流行的庫,用于處理各種國家和地區(qū)的公共假期,這篇文章主要介紹了python holidays獲取中國節(jié)日,需要的朋友可以參考下
    2024-06-06
  • python實(shí)現(xiàn)水印圖片功能

    python實(shí)現(xiàn)水印圖片功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)水印圖片功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python中Parsel的兩種數(shù)據(jù)提取方式詳解

    Python中Parsel的兩種數(shù)據(jù)提取方式詳解

    在網(wǎng)絡(luò)爬蟲的世界中,數(shù)據(jù)提取是至關(guān)重要的一環(huán),Python 提供了許多強(qiáng)大的工具,其中之一就是 parsel 庫,下面我們就來深入學(xué)習(xí)一下Parsel的兩種數(shù)據(jù)提取方式吧
    2023-12-12
  • Python多線程編程(六):可重入鎖RLock

    Python多線程編程(六):可重入鎖RLock

    這篇文章主要介紹了Python多線程編程(六):可重入鎖RLock,本文直接給出使用實(shí)例,然后講解如何使用RLock避免死鎖,需要的朋友可以參考下
    2015-04-04
  • Pyqt5實(shí)戰(zhàn)小案例之界面與邏輯分離的小計(jì)算器程序

    Pyqt5實(shí)戰(zhàn)小案例之界面與邏輯分離的小計(jì)算器程序

    網(wǎng)上很多PyQt5信號(hào)槽與界面分離的例子,但是真正開發(fā)起來很不方便,下面這篇文章主要給大家介紹了關(guān)于Pyqt5實(shí)戰(zhàn)小案例之界面與邏輯分離的小計(jì)算器程序,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • python 安全地刪除列表元素的方法

    python 安全地刪除列表元素的方法

    這篇文章主要介紹了python 安全地刪除列表元素的方法,分享的方法有 創(chuàng)建新列表,過濾元素和列表副本上迭代,下面相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • Python之列表推導(dǎo)式最全匯總(上篇)

    Python之列表推導(dǎo)式最全匯總(上篇)

    這篇文章主要介紹了Python之列表推導(dǎo)式最全匯總(上篇),本文章內(nèi)容詳細(xì),通過案例可以更好的理解列表推導(dǎo)式的相關(guān)知識(shí),本模塊分為了三部分,本次為上篇,需要的朋友可以參考下
    2023-01-01
  • 利用python將xml文件解析成html文件的實(shí)現(xiàn)方法

    利用python將xml文件解析成html文件的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇利用python將xml文件解析成html文件的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12

最新評論