HOME 首頁(yè)
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

    發(fā)布時(shí)間:2023-04-13 19:45:15     稿源: 創(chuàng)意嶺    閱讀: 110        

    大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于神經(jīng)網(wǎng)絡(luò)多分類的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。

    開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

    一、圖神經(jīng)網(wǎng)絡(luò)和超圖神經(jīng)網(wǎng)絡(luò)在多標(biāo)簽分類中的優(yōu)勢(shì)對(duì)比

    在目前的基于圖結(jié)構(gòu)的多標(biāo)簽圖像分類方法中,圖神經(jīng)網(wǎng)絡(luò)和超圖神經(jīng)網(wǎng)絡(luò)都是用于學(xué)習(xí)多標(biāo)簽之間的標(biāo)簽依賴關(guān)系的方法。那么這兩種方法在學(xué)習(xí)標(biāo)簽之間的依賴關(guān)系上有什么對(duì)比優(yōu)勢(shì)?本文嘗試簡(jiǎn)要分析。

    首先需要簡(jiǎn)單介紹圖神經(jīng)網(wǎng)絡(luò)和超圖神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu):

    1.圖神經(jīng)網(wǎng)絡(luò)

    對(duì)于每個(gè)標(biāo)簽類別,首先通過(guò)外部知識(shí)(通常是通過(guò)詞向量模型)獲取初始的詞向量,每個(gè)標(biāo)簽類別作為圖中的一個(gè)結(jié)點(diǎn),結(jié)點(diǎn)的初始表示就是對(duì)應(yīng)的標(biāo)簽的詞向量。然后,通過(guò)公式:

    超圖神經(jīng)網(wǎng)絡(luò)與圖神經(jīng)網(wǎng)絡(luò)很不同的一點(diǎn)是他的結(jié)構(gòu)表示。超圖的矩陣表示和圖不一樣,不再是結(jié)點(diǎn)和結(jié)點(diǎn)的關(guān)系,而是邊和結(jié)點(diǎn)的關(guān)系。即每條邊有幾個(gè)結(jié)點(diǎn),或者說(shuō)當(dāng)前結(jié)點(diǎn)屬于哪幾條邊。而且,超圖神經(jīng)網(wǎng)絡(luò)的卷積過(guò)程相比圖神經(jīng)網(wǎng)絡(luò)的復(fù)雜:

    二、神經(jīng)網(wǎng)絡(luò):卷積神經(jīng)網(wǎng)絡(luò)(CNN)

    神經(jīng)網(wǎng)絡(luò) 最早是由心理學(xué)家和神經(jīng)學(xué)家提出的,旨在尋求開發(fā)和測(cè)試神經(jīng)的計(jì)算模擬。

    粗略地說(shuō), 神經(jīng)網(wǎng)絡(luò) 是一組連接的 輸入/輸出單元 ,其中每個(gè)連接都與一個(gè) 權(quán) 相關(guān)聯(lián)。在學(xué)習(xí)階段,通過(guò)調(diào)整權(quán)值,使得神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)準(zhǔn)確性逐步提高。由于單元之間的連接,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)又稱 連接者學(xué)習(xí)。

    神經(jīng)網(wǎng)絡(luò)是以模擬人腦神經(jīng)元的數(shù)學(xué)模型為基礎(chǔ)而建立的,它由一系列神經(jīng)元組成,單元之間彼此連接。從信息處理角度看,神經(jīng)元可以看作是一個(gè)多輸入單輸出的信息處理單元,根據(jù)神經(jīng)元的特性和功能,可以把神經(jīng)元抽象成一個(gè)簡(jiǎn)單的數(shù)學(xué)模型。

    神經(jīng)網(wǎng)絡(luò)有三個(gè)要素: 拓?fù)浣Y(jié)構(gòu)、連接方式、學(xué)習(xí)規(guī)則

    神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu) :神經(jīng)網(wǎng)絡(luò)的單元通常按照層次排列,根據(jù)網(wǎng)絡(luò)的層次數(shù),可以將神經(jīng)網(wǎng)絡(luò)分為單層神經(jīng)網(wǎng)絡(luò)、兩層神經(jīng)網(wǎng)絡(luò)、三層神經(jīng)網(wǎng)絡(luò)等。結(jié)構(gòu)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),在學(xué)習(xí)時(shí)收斂的速度快,但準(zhǔn)確度低。

    神經(jīng)網(wǎng)絡(luò)的層數(shù)和每層的單元數(shù)由問(wèn)題的復(fù)雜程度而定。問(wèn)題越復(fù)雜,神經(jīng)網(wǎng)絡(luò)的層數(shù)就越多。例如,兩層神經(jīng)網(wǎng)絡(luò)常用來(lái)解決線性問(wèn)題,而多層網(wǎng)絡(luò)就可以解決多元非線性問(wèn)題

    神經(jīng)網(wǎng)絡(luò)的連接 :包括層次之間的連接和每一層內(nèi)部的連接,連接的強(qiáng)度用權(quán)來(lái)表示。

    根據(jù)層次之間的連接方式,分為:

    1)前饋式網(wǎng)絡(luò):連接是單向的,上層單元的輸出是下層單元的輸入,如反向傳播網(wǎng)絡(luò),Kohonen網(wǎng)絡(luò)

    2)反饋式網(wǎng)絡(luò):除了單項(xiàng)的連接外,還把最后一層單元的輸出作為第一層單元的輸入,如Hopfield網(wǎng)絡(luò)

    根據(jù)連接的范圍,分為:

    1)全連接神經(jīng)網(wǎng)絡(luò):每個(gè)單元和相鄰層上的所有單元相連

    2)局部連接網(wǎng)絡(luò):每個(gè)單元只和相鄰層上的部分單元相連

    神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)

    根據(jù)學(xué)習(xí)方法分:

    感知器:有監(jiān)督的學(xué)習(xí)方法,訓(xùn)練樣本的類別是已知的,并在學(xué)習(xí)的過(guò)程中指導(dǎo)模型的訓(xùn)練

    認(rèn)知器:無(wú)監(jiān)督的學(xué)習(xí)方法,訓(xùn)練樣本類別未知,各單元通過(guò)競(jìng)爭(zhēng)學(xué)習(xí)。

    根據(jù)學(xué)習(xí)時(shí)間分:

    離線網(wǎng)絡(luò):學(xué)習(xí)過(guò)程和使用過(guò)程是獨(dú)立的

    在線網(wǎng)絡(luò):學(xué)習(xí)過(guò)程和使用過(guò)程是同時(shí)進(jìn)行的

    根據(jù)學(xué)習(xí)規(guī)則分:

    相關(guān)學(xué)習(xí)網(wǎng)絡(luò):根據(jù)連接間的激活水平改變權(quán)系數(shù)

    糾錯(cuò)學(xué)習(xí)網(wǎng)絡(luò):根據(jù)輸出單元的外部反饋改變權(quán)系數(shù)

    自組織學(xué)習(xí)網(wǎng)絡(luò):對(duì)輸入進(jìn)行自適應(yīng)地學(xué)習(xí)

    摘自《數(shù)學(xué)之美》對(duì)人工神經(jīng)網(wǎng)絡(luò)的通俗理解:

    神經(jīng)網(wǎng)絡(luò)種類很多,常用的有如下四種:

    1)Hopfield網(wǎng)絡(luò),典型的反饋網(wǎng)絡(luò),結(jié)構(gòu)單層,有相同的單元組成

    2)反向傳播網(wǎng)絡(luò),前饋網(wǎng)絡(luò),結(jié)構(gòu)多層,采用最小均方差的糾錯(cuò)學(xué)習(xí)規(guī)則,常用于語(yǔ)言識(shí)別和分類等問(wèn)題

    3)Kohonen網(wǎng)絡(luò):典型的自組織網(wǎng)絡(luò),由輸入層和輸出層構(gòu)成,全連接

    4)ART網(wǎng)絡(luò):自組織網(wǎng)絡(luò)

    深度神經(jīng)網(wǎng)絡(luò):

    Convolutional Neural Networks(CNN)卷積神經(jīng)網(wǎng)絡(luò)

    Recurrent neural Network(RNN)循環(huán)神經(jīng)網(wǎng)絡(luò)

    Deep Belief Networks(DBN)深度信念網(wǎng)絡(luò)

    深度學(xué)習(xí)是指多層神經(jīng)網(wǎng)絡(luò)上運(yùn)用各種機(jī)器學(xué)習(xí)算法解決圖像,文本等各種問(wèn)題的算法集合。深度學(xué)習(xí)從大類上可以歸入神經(jīng)網(wǎng)絡(luò),不過(guò)在具體實(shí)現(xiàn)上有許多變化。

    深度學(xué)習(xí)的核心是特征學(xué)習(xí),旨在通過(guò)分層網(wǎng)絡(luò)獲取分層次的特征信息,從而解決以往需要人工設(shè)計(jì)特征的重要難題。

    Machine Learning vs. Deep Learning 

    神經(jīng)網(wǎng)絡(luò)(主要是感知器)經(jīng)常用于 分類

    神經(jīng)網(wǎng)絡(luò)的分類知識(shí)體現(xiàn)在網(wǎng)絡(luò)連接上,被隱式地存儲(chǔ)在連接的權(quán)值中。

    神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)就是通過(guò)迭代算法,對(duì)權(quán)值逐步修改的優(yōu)化過(guò)程,學(xué)習(xí)的目標(biāo)就是通過(guò)改變權(quán)值使訓(xùn)練集的樣本都能被正確分類。

    神經(jīng)網(wǎng)絡(luò)特別適用于下列情況的分類問(wèn)題:

    1) 數(shù)據(jù)量比較小,缺少足夠的樣本建立模型

    2) 數(shù)據(jù)的結(jié)構(gòu)難以用傳統(tǒng)的統(tǒng)計(jì)方法來(lái)描述

    3) 分類模型難以表示為傳統(tǒng)的統(tǒng)計(jì)模型

    缺點(diǎn):

    1) 需要很長(zhǎng)的訓(xùn)練時(shí)間,因而對(duì)于有足夠長(zhǎng)訓(xùn)練時(shí)間的應(yīng)用更合適。

    2) 需要大量的參數(shù),這些通常主要靠經(jīng)驗(yàn)確定,如網(wǎng)絡(luò)拓?fù)浠颉敖Y(jié)構(gòu)”。

    3)  可解釋性差 。該特點(diǎn)使得神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)挖掘的初期并不看好。

    優(yōu)點(diǎn):

    1) 分類的準(zhǔn)確度高

    2)并行分布處理能力強(qiáng)

    3)分布存儲(chǔ)及學(xué)習(xí)能力高

    4)對(duì)噪音數(shù)據(jù)有很強(qiáng)的魯棒性和容錯(cuò)能力

    最流行的基于神經(jīng)網(wǎng)絡(luò)的分類算法是80年代提出的 后向傳播算法 。后向傳播算法在多路前饋神經(jīng)網(wǎng)絡(luò)上學(xué)習(xí)。 

    定義網(wǎng)絡(luò)拓?fù)?

    在開始訓(xùn)練之前,用戶必須說(shuō)明輸入層的單元數(shù)、隱藏層數(shù)(如果多于一層)、每一隱藏層的單元數(shù)和輸出層的單元數(shù),以確定網(wǎng)絡(luò)拓?fù)洹?

    對(duì)訓(xùn)練樣本中每個(gè)屬性的值進(jìn)行規(guī)格化將有助于加快學(xué)習(xí)過(guò)程。通常,對(duì)輸入值規(guī)格化,使得它們落入0.0和1.0之間。

    離散值屬性可以重新編碼,使得每個(gè)域值一個(gè)輸入單元。例如,如果屬性A的定義域?yàn)?a0,a1,a2),則可以分配三個(gè)輸入單元表示A。即,我們可以用I0 ,I1 ,I2作為輸入單元。每個(gè)單元初始化為0。如果A = a0,則I0置為1;如果A = a1,I1置1;如此下去。

    一個(gè)輸出單元可以用來(lái)表示兩個(gè)類(值1代表一個(gè)類,而值0代表另一個(gè))。如果多于兩個(gè)類,則每個(gè)類使用一個(gè)輸出單元。

    隱藏層單元數(shù)設(shè)多少個(gè)“最好” ,沒有明確的規(guī)則。

    網(wǎng)絡(luò)設(shè)計(jì)是一個(gè)實(shí)驗(yàn)過(guò)程,并可能影響準(zhǔn)確性。權(quán)的初值也可能影響準(zhǔn)確性。如果某個(gè)經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)的準(zhǔn)確率太低,則通常需要采用不同的網(wǎng)絡(luò)拓?fù)浠蚴褂貌煌某跏紮?quán)值,重復(fù)進(jìn)行訓(xùn)練。

    后向傳播算法學(xué)習(xí)過(guò)程:

    迭代地處理一組訓(xùn)練樣本,將每個(gè)樣本的網(wǎng)絡(luò)預(yù)測(cè)與實(shí)際的類標(biāo)號(hào)比較。

    每次迭代后,修改權(quán)值,使得網(wǎng)絡(luò)預(yù)測(cè)和實(shí)際類之間的均方差最小。

    這種修改“后向”進(jìn)行。即,由輸出層,經(jīng)由每個(gè)隱藏層,到第一個(gè)隱藏層(因此稱作后向傳播)。盡管不能保證,一般地,權(quán)將最終收斂,學(xué)習(xí)過(guò)程停止。

    算法終止條件:訓(xùn)練集中被正確分類的樣本達(dá)到一定的比例,或者權(quán)系數(shù)趨近穩(wěn)定。

    后向傳播算法分為如下幾步:

    1) 初始化權(quán)

    網(wǎng)絡(luò)的權(quán)通常被初始化為很小的隨機(jī)數(shù)(例如,范圍從-1.0到1.0,或從-0.5到0.5)。

    每個(gè)單元都設(shè)有一個(gè)偏置(bias),偏置也被初始化為小隨機(jī)數(shù)。

    2) 向前傳播輸入

    對(duì)于每一個(gè)樣本X,重復(fù)下面兩步:

    向前傳播輸入,向后傳播誤差

    計(jì)算各層每個(gè)單元的輸入和輸出。輸入層:輸出=輸入=樣本X的屬性;即,對(duì)于單元j,Oj = Ij = Xj。隱藏層和輸出層:輸入=前一層的輸出的線性組合,即,對(duì)于單元j, Ij =wij Oi + θj,輸出=

    3) 向后傳播誤差

    計(jì)算各層每個(gè)單元的誤差。

    輸出層單元j,誤差:

    Oj是單元j的實(shí)際輸出,而Tj是j的真正輸出。

    隱藏層單元j,誤差:

    wjk是由j到下一層中單元k的連接的權(quán),Errk是單元k的誤差

    更新 權(quán) 和 偏差 ,以反映傳播的誤差。

    權(quán)由下式更新:

     其中,△wij是權(quán)wij的改變。l是學(xué)習(xí)率,通常取0和1之間的值。

     偏置由下式更新:

      其中,△θj是偏置θj的改變。

    Example

    人類視覺原理:

    深度學(xué)習(xí)的許多研究成果,離不開對(duì)大腦認(rèn)知原理的研究,尤其是視覺原理的研究。1981 年的諾貝爾醫(yī)學(xué)獎(jiǎng),頒發(fā)給了 David Hubel(出生于加拿大的美國(guó)神經(jīng)生物學(xué)家) 和Torsten Wiesel,以及Roger Sperry。前兩位的主要貢獻(xiàn),是“發(fā)現(xiàn)了視覺系統(tǒng)的信息處理”, 可視皮層是分級(jí)的 。

    人類的視覺原理如下:從原始信號(hào)攝入開始(瞳孔攝入像素Pixels),接著做初步處理(大腦皮層某些細(xì)胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定,眼前的物體的形狀,是圓形的),然后進(jìn)一步抽象(大腦進(jìn)一步判定該物體是只氣球)。

    對(duì)于不同的物體,人類視覺也是通過(guò)這樣逐層分級(jí),來(lái)進(jìn)行認(rèn)知的:

    在最底層特征基本上是類似的,就是各種邊緣,越往上,越能提取出此類物體的一些特征(輪子、眼睛、軀干等),到最上層,不同的高級(jí)特征最終組合成相應(yīng)的圖像,從而能夠讓人類準(zhǔn)確的區(qū)分不同的物體。

    可以很自然的想到:可以不可以模仿人類大腦的這個(gè)特點(diǎn),構(gòu)造多層的神經(jīng)網(wǎng)絡(luò),較低層的識(shí)別初級(jí)的圖像特征,若干底層特征組成更上一層特征,最終通過(guò)多個(gè)層級(jí)的組合,最終在頂層做出分類呢?答案是肯定的,這也是許多深度學(xué)習(xí)算法(包括CNN)的靈感來(lái)源。

    卷積神經(jīng)網(wǎng)絡(luò)是一種多層神經(jīng)網(wǎng)絡(luò),擅長(zhǎng)處理圖像特別是大圖像的相關(guān)機(jī)器學(xué)習(xí)問(wèn)題。卷積網(wǎng)絡(luò)通過(guò)一系列方法,成功將數(shù)據(jù)量龐大的圖像識(shí)別問(wèn)題不斷降維,最終使其能夠被訓(xùn)練。

    CNN最早由Yann LeCun提出并應(yīng)用在手寫字體識(shí)別上。LeCun提出的網(wǎng)絡(luò)稱為L(zhǎng)eNet,其網(wǎng)絡(luò)結(jié)構(gòu)如下:

    這是一個(gè)最典型的卷積網(wǎng)絡(luò),由 卷積層、池化層、全連接層 組成。其中卷積層與池化層配合,組成多個(gè)卷積組,逐層提取特征,最終通過(guò)若干個(gè)全連接層完成分類。

    CNN通過(guò)卷積來(lái)模擬特征區(qū)分,并且通過(guò)卷積的權(quán)值共享及池化,來(lái)降低網(wǎng)絡(luò)參數(shù)的數(shù)量級(jí),最后通過(guò)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)完成分類等任務(wù)。

    降低參數(shù)量級(jí):如果使用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方式,對(duì)一張圖片進(jìn)行分類,那么,把圖片的每個(gè)像素都連接到隱藏層節(jié)點(diǎn)上,對(duì)于一張1000x1000像素的圖片,如果有1M隱藏層單元,一共有10^12個(gè)參數(shù),這顯然是不能接受的。

    但是在CNN里,可以大大減少參數(shù)個(gè)數(shù),基于以下兩個(gè)假設(shè):

    1)最底層特征都是局部性的,也就是說(shuō),用10x10這樣大小的過(guò)濾器就能表示邊緣等底層特征

    2)圖像上不同小片段,以及不同圖像上的小片段的特征是類似的,也就是說(shuō),能用同樣的一組分類器來(lái)描述各種各樣不同的圖像

    基于以上兩個(gè)假設(shè),就能把第一層網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)化

    用100個(gè)10x10的小過(guò)濾器,就能夠描述整幅圖片上的底層特征。

    卷積運(yùn)算的定義如下圖所示:

    如上圖所示,一個(gè)5x5的圖像,用一個(gè)3x3的 卷積核 :

       101

       010

       101

    來(lái)對(duì)圖像進(jìn)行卷積操作(可以理解為有一個(gè)滑動(dòng)窗口,把卷積核與對(duì)應(yīng)的圖像像素做乘積然后求和),得到了3x3的卷積結(jié)果。

    這個(gè)過(guò)程可以理解為使用一個(gè)過(guò)濾器(卷積核)來(lái)過(guò)濾圖像的各個(gè)小區(qū)域,從而得到這些小區(qū)域的特征值。在實(shí)際訓(xùn)練過(guò)程中, 卷積核的值是在學(xué)習(xí)過(guò)程中學(xué)到的。

    在具體應(yīng)用中,往往有多個(gè)卷積核,可以認(rèn)為, 每個(gè)卷積核代表了一種圖像模式 ,如果某個(gè)圖像塊與此卷積核卷積出的值大,則認(rèn)為此圖像塊十分接近于此卷積核。如果設(shè)計(jì)了6個(gè)卷積核,可以理解為這個(gè)圖像上有6種底層紋理模式,也就是用6種基礎(chǔ)模式就能描繪出一副圖像。以下就是24種不同的卷積核的示例:

    池化 的過(guò)程如下圖所示:

    可以看到,原始圖片是20x20的,對(duì)其進(jìn)行采樣,采樣窗口為10x10,最終將其采樣成為一個(gè)2x2大小的特征圖。

    之所以這么做,是因?yàn)榧词棺鐾炅司矸e,圖像仍然很大(因?yàn)榫矸e核比較?。?,所以為了降低數(shù)據(jù)維度,就進(jìn)行采樣。

    即使減少了許多數(shù)據(jù),特征的統(tǒng)計(jì)屬性仍能夠描述圖像,而且由于降低了數(shù)據(jù)維度,有效地避免了過(guò)擬合。

    在實(shí)際應(yīng)用中,分為最大值采樣(Max-Pooling)與平均值采樣(Mean-Pooling)。

    LeNet網(wǎng)絡(luò)結(jié)構(gòu):

    注意,上圖中S2與C3的連接方式并不是全連接,而是部分連接。最后,通過(guò)全連接層C5、F6得到10個(gè)輸出,對(duì)應(yīng)10個(gè)數(shù)字的概率。

    卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)類似,也是參照了反向傳播算法

    第一階段,向前傳播階段:

    a)從樣本集中取一個(gè)樣本(X,Yp),將X輸入網(wǎng)絡(luò);

    b)計(jì)算相應(yīng)的實(shí)際輸出Op

    第二階段,向后傳播階段

    a)計(jì)算實(shí)際輸出Op與相應(yīng)的理想輸出Yp的差;

    b)按極小化誤差的方法反向傳播調(diào)整權(quán)矩陣。

    三、幾種常見的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)RNN、LSTM、GRU

    傳統(tǒng)文本處理任務(wù)的方法中一般將TF-IDF向量作為特征輸入。顯而易見,這樣的表示實(shí)際上丟失了輸入的文本序列中每個(gè)單詞的順序。在神經(jīng)網(wǎng)絡(luò)的建模過(guò)程中,一般的前饋神經(jīng)網(wǎng)絡(luò),如卷積神經(jīng)網(wǎng)絡(luò),通常接受一個(gè)定長(zhǎng)的向量作為輸入。卷積神經(jīng)網(wǎng)絡(luò)對(duì)文本數(shù)據(jù)建模時(shí),輸入變長(zhǎng)的字符串或者單詞串,然后通過(guò)滑動(dòng)窗口加池化的方式將原先的輸入轉(zhuǎn)換成一個(gè)固定長(zhǎng)度的向量表示,這樣做可以捕捉到原文本中的一些局部特征,但是兩個(gè)單詞之間的長(zhǎng)距離依賴關(guān)系還是很難被學(xué)習(xí)到。

    循環(huán)神經(jīng)網(wǎng)絡(luò)卻能很好地處理文本數(shù)據(jù)變長(zhǎng)并且有序的輸入序列。它模擬了人閱讀一篇文章的順序,從前到后閱讀文章中的每一個(gè)單詞,將前面閱讀到的有用信息編碼到狀態(tài)變量中去,從而擁有了一定的記憶能力,可以更好地理解之后的文本。

    其網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:

    由圖可見,t是時(shí)刻,x是輸入層,s是隱藏層,o是輸出層,矩陣W就是隱藏層上一次的值作為這一次的輸入的權(quán)重。

    如果反復(fù)把式 2 帶入到式 1,將得到:

    其中f和g為激活函數(shù),U為輸入層到隱含層的權(quán)重矩陣,W為隱含層從上一時(shí)刻到下一時(shí)刻狀態(tài)轉(zhuǎn)移的權(quán)重矩陣。在文本分類任務(wù)中,f可以選取Tanh函數(shù)或者ReLU函數(shù),g可以采用Softmax函數(shù)。

    通過(guò)最小化損失誤差(即輸出的y與真實(shí)類別之間的距離),我們可以不斷訓(xùn)練網(wǎng)絡(luò),使得得到的循環(huán)神經(jīng)網(wǎng)絡(luò)可以準(zhǔn)確地預(yù)測(cè)文本所屬的類別,達(dá)到分類目的。相比于卷積神經(jīng)網(wǎng)絡(luò)等前饋神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)由于具備對(duì)序列順序信息的刻畫能力,往往能得到更準(zhǔn)確的結(jié)果。

    RNN的訓(xùn)練算法為:BPTT

    BPTT的基本原理和BP算法是一樣的,同樣是三步:

    1.前向計(jì)算每個(gè)神經(jīng)元的輸出值;

    2.反向計(jì)算每個(gè)神經(jīng)元的誤差項(xiàng)值,它是誤差函數(shù)E對(duì)神經(jīng)元j的加權(quán)輸入的偏導(dǎo)數(shù);

    3.計(jì)算每個(gè)權(quán)重的梯度。

    最后再用隨機(jī)梯度下降算法更新權(quán)重。

    具體參考: https://www.jianshu.com/p/39a99c88a565

    最后由鏈?zhǔn)椒▌t得到下面以雅可比矩陣來(lái)表達(dá)的每個(gè)權(quán)重的梯度:

    由于預(yù)測(cè)的誤差是沿著神經(jīng)網(wǎng)絡(luò)的每一層反向傳播的,因此當(dāng)雅克比矩陣的最大特征值大于1時(shí),隨著離輸出越來(lái)越遠(yuǎn),每層的梯度大小會(huì)呈指數(shù)增長(zhǎng),導(dǎo)致梯度爆炸;反之,若雅克比矩陣的最大特征值小于1,梯度的大小會(huì)呈指數(shù)縮小,產(chǎn)生梯度消失。對(duì)于普通的前饋網(wǎng)絡(luò)來(lái)說(shuō),梯度消失意味著無(wú)法通過(guò)加深網(wǎng)絡(luò)層次來(lái)改善神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果,因?yàn)闊o(wú)論如何加深網(wǎng)絡(luò),只有靠近輸出的若干層才真正起到學(xué)習(xí)的作用。 這使得循環(huán)神經(jīng)網(wǎng)絡(luò)模型很難學(xué)習(xí)到輸入序列中的長(zhǎng)距離依賴關(guān)系 。

    關(guān)于RNN梯度下降的詳細(xì)推導(dǎo)可以參考: https://zhuanlan.zhihu.com/p/44163528

    梯度爆炸的問(wèn)題可以通過(guò)梯度裁剪來(lái)緩解,即當(dāng)梯度的范式大于某個(gè)給定值時(shí),對(duì)梯度進(jìn)行等比收縮。而梯度消失問(wèn)題相對(duì)比較棘手,需要對(duì)模型本身進(jìn)行改進(jìn)。深度殘差網(wǎng)絡(luò)是對(duì)前饋神經(jīng)網(wǎng)絡(luò)的改進(jìn),通過(guò)殘差學(xué)習(xí)的方式緩解了梯度消失的現(xiàn)象,從而使得我們能夠?qū)W習(xí)到更深層的網(wǎng)絡(luò)表示;而對(duì)于循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),長(zhǎng)短時(shí)記憶模型及其變種門控循環(huán)單元等模型通過(guò)加入門控機(jī)制,很大程度上彌補(bǔ)了梯度消失所帶來(lái)的損失。

    LSTM的網(wǎng)絡(luò)機(jī)構(gòu)圖如下所示:

    與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)相比,LSTM仍然是基于xt和ht−1來(lái)計(jì)算ht,只不過(guò)對(duì)內(nèi)部的結(jié)構(gòu)進(jìn)行了更加精心的設(shè)計(jì),加入了輸入門it 、遺忘門ft以及輸出門ot三個(gè)門和一個(gè)內(nèi)部記憶單元ct。輸入門控制當(dāng)前計(jì)算的新狀態(tài)以多大程度更新到記憶單元中;遺忘門控制前一步記憶單元中的信息有多大程度被遺忘掉;輸出門控制當(dāng)前的輸出有多大程度上取決于當(dāng)前的記憶單元。

    在經(jīng)典的LSTM模型中,第t層的更新計(jì)算公式為

    其中it是通過(guò)輸入xt和上一步的隱含層輸出ht−1進(jìn)行線性變換,再經(jīng)過(guò)激活函數(shù)σ得到的。輸入門it的結(jié)果是向量,其中每個(gè)元素是0到1之間的實(shí)數(shù),用于控制各維度流過(guò)閥門的信息量;Wi 、Ui兩個(gè)矩陣和向量bi為輸入門的參數(shù),是在訓(xùn)練過(guò)程中需要學(xué)習(xí)得到的。遺忘門ft和輸出門ot的計(jì)算方式與輸入門類似,它們有各自的參數(shù)W、U和b。與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)不同的是,從上一個(gè)記憶單元的狀態(tài)ct−1到當(dāng)前的狀態(tài)ct的轉(zhuǎn)移不一定完全取決于激活函數(shù)計(jì)算得到的狀態(tài),還由輸入門和遺忘門來(lái)共同控制。

    在一個(gè)訓(xùn)練好的網(wǎng)絡(luò)中,當(dāng)輸入的序列中沒有重要信息時(shí),LSTM的遺忘門的值接近于1,輸入門的值接近于0,此時(shí)過(guò)去的記憶會(huì)被保存,從而實(shí)現(xiàn)了長(zhǎng)期記憶功能;當(dāng)輸入的序列中出現(xiàn)了重要的信息時(shí),LSTM應(yīng)當(dāng)把其存入記憶中,此時(shí)其輸入門的值會(huì)接近于1;當(dāng)輸入的序列中出現(xiàn)了重要信息,且該信息意味著之前的記憶不再重要時(shí),輸入門的值接近1,而遺忘門的值接近于0,這樣舊的記憶被遺忘,新的重要信息被記憶。經(jīng)過(guò)這樣的設(shè)計(jì),整個(gè)網(wǎng)絡(luò)更容易學(xué)習(xí)到序列之間的長(zhǎng)期依賴。

    GRU是在LSTM上進(jìn)行簡(jiǎn)化而得到的,GRU的網(wǎng)絡(luò)結(jié)構(gòu)如下所示:

    Zt代表更新門,更新門的作用類似于LSTM中的遺忘門和輸入門,它能決定要丟棄哪些信息和要添加哪些新信息。

    Rt代表重置門,重置門用于決定丟棄先前信息的程度。

    要注意的是,h只是一個(gè)變量,因此在每個(gè)時(shí)刻,包括最后的線性組合,h都是在用以前的自己和當(dāng)前的備選答案更新自己。舉例來(lái)說(shuō),這一個(gè)變量好比一杯酒,每次我們要把一部分酒倒出去,并把倒出去的酒和新加入的原料混合,然后在倒回來(lái),這里的reset控制的就是要倒出去的,并且混合好之后再倒回來(lái)的酒的比例,而update控制的則是用多大的比例混合新原料和倒出來(lái)的之前調(diào)制好的酒。同理,也可以以此理解LSTM,LSTM的遺忘門功能上和reset相似,而輸入門與update相似,不同之處在于LSTM還控制了當(dāng)前狀態(tài)的exposure,也就是輸出門的功能,這是GRU所沒有的。

    1.百面機(jī)器學(xué)習(xí)

    2. https://zhuanlan.zhihu.com/p/45649187

    3. https://www.jianshu.com/p/39a99c88a565

    四、二分類和多分類的區(qū)別

    二分類、多分類與多標(biāo)簽的基本概念

    二分類:表示分類任務(wù)中有兩個(gè)類別,比如我們想識(shí)別一幅圖片是不是貓。也就是說(shuō),訓(xùn)練一個(gè)分類器,輸入一幅圖片,用特征向量x表示,輸出是不是貓,用y=0或1表示。二類分類是假設(shè)每個(gè)樣本都被設(shè)置了一個(gè)且僅有一個(gè)標(biāo)簽 0 或者 1。

    多類分類(Multiclass classification): 表示分類任務(wù)中有多個(gè)類別, 比如對(duì)一堆水果圖片分類, 它們可能是橘子、蘋果、梨等. 多類分類是假設(shè)每個(gè)樣本都被設(shè)置了一個(gè)且僅有一個(gè)標(biāo)簽: 一個(gè)水果可以是蘋果或者梨, 但是同時(shí)不可能是兩者。

    多標(biāo)簽分類(Multilabel classification): 給每個(gè)樣本一系列的目標(biāo)標(biāo)簽. 可以想象成一個(gè)數(shù)據(jù)點(diǎn)的各屬性不是相互排斥的(一個(gè)水果既是蘋果又是梨就是相互排斥的), 比如一個(gè)文檔相關(guān)的話題. 一個(gè)文本可能被同時(shí)認(rèn)為是宗教、政治、金融或者教育相關(guān)話題。

    多分類問(wèn)題與二分類問(wèn)題關(guān)系

    首先,兩類問(wèn)題是分類問(wèn)題中最簡(jiǎn)單的一種。其次,很多多類問(wèn)題可以被分解為多個(gè)兩類問(wèn)題進(jìn)行求解(請(qǐng)看下文分解)。所以,歷史上有很多算法都是針對(duì)兩類問(wèn)題提出的。下面我們來(lái)分析如何處理多分類問(wèn)題:

    直接分成多類

    神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

    一對(duì)一的策略

    給定數(shù)據(jù)集D這里有N個(gè)類別,這種情況下就是將這些類別兩兩配對(duì),從而產(chǎn)生N(N−1)2個(gè)二分類任務(wù),在測(cè)試的時(shí)候把樣本交給這些分類器,然后進(jìn)行投票。

    一對(duì)其余策略

    將每一次的一個(gè)類作為正例,其余作為反例,總共訓(xùn)練N個(gè)分類器。測(cè)試的時(shí)候若僅有一個(gè)分類器預(yù)測(cè)為正的類別則對(duì)應(yīng)的類別標(biāo)記作為最終分類結(jié)果,若有多個(gè)分類器預(yù)測(cè)為正類,則選擇置信度最大的類別作為最終分類結(jié)果。

    多標(biāo)簽問(wèn)題與二分類問(wèn)題關(guān)系

    面臨的問(wèn)題: 圖片的標(biāo)簽數(shù)目不是固定的,有的有一個(gè)標(biāo)簽,有的有兩個(gè)標(biāo)簽,但標(biāo)簽的種類總數(shù)是固定的,比如為5類。

    解決該問(wèn)題: 采用了標(biāo)簽補(bǔ)齊的方法,即缺失的標(biāo)簽全部使用0標(biāo)記,這意味著,不再使用one-hot編碼。例如:標(biāo)簽為:-1,1,1,-1,1 ;-1表示該類標(biāo)簽沒有,1表示該類標(biāo)簽存在,則這張圖片的標(biāo)簽編碼為:

    0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1

    2.如何衡量損失?

    計(jì)算出一張圖片各個(gè)標(biāo)簽的損失,然后取平均值。

    3.如何計(jì)算精度

    計(jì)算出一張圖片各個(gè)標(biāo)簽的精度,然后取平均值。

    該處理方法的本質(zhì):把一個(gè)多標(biāo)簽問(wèn)題,轉(zhuǎn)化為了在每個(gè)標(biāo)簽上的二分類問(wèn)題。

    損失函數(shù)的選擇問(wèn)題

    基于邏輯回歸的二分類問(wèn)題

    對(duì)于logistic回歸,有:

    神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

    邏輯回歸有以下優(yōu)點(diǎn):

    • 它的輸入范圍是 神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題),而之于剛好為(0,1),正好滿足概率分布為(0,1)的要求。我們用概率去描述分類器,自然比單純的某個(gè)閾值要方便很多;

      請(qǐng)點(diǎn)擊輸入圖片描述

    • 它是一個(gè)單調(diào)上升的函數(shù),具有良好的連續(xù)性,不存在不連續(xù)點(diǎn)。

    • 對(duì)數(shù)損失函數(shù)(logarithmic loss function) 或?qū)?shù)似然損失函數(shù)(log-likehood loss function) 。

      邏輯回歸中,采用的則是對(duì)數(shù)損失函數(shù)。根據(jù)上面的內(nèi)容,我們可以得到邏輯回歸的對(duì)數(shù)似然損失函數(shù)cost function:

      將以上兩個(gè)表達(dá)式合并為一個(gè),則單個(gè)樣本的損失函數(shù)可以描述為:

      這就是邏輯回歸最終的損失函數(shù)表達(dá)式。

      基于 Softmax 的多分類問(wèn)題

      softmax層中的softmax 函數(shù)是logistic函數(shù)在多分類問(wèn)題上的推廣,它將一個(gè)N維的實(shí)數(shù)向量壓縮成一個(gè)滿足特定條件的N維實(shí)數(shù)向。壓縮后的向量滿足兩個(gè)條件:

    • 向量中的每個(gè)元素的大小都在[0,1]

    • 向量所有元素的和為 1

    • 因此,softmax適用于多分類問(wèn)題中對(duì)每一個(gè)類別的概率判斷,softmax的函數(shù)公式如下:

      神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

      請(qǐng)點(diǎn)擊輸入圖片描述

      基于 Softmax 的多分類問(wèn)題采用的是 log似然代價(jià)函數(shù)(log-likelihood cost function)來(lái)解決。

      單個(gè)樣本的 log似然代價(jià)函數(shù)的公式為:

      其中, 神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題) 表示標(biāo)簽向量的第 i個(gè)分量。因?yàn)橥挥幸粋€(gè)分量為 1 其余的分量都為 0,所以可以去掉損失函數(shù)中的求和符號(hào),化簡(jiǎn)為,

      請(qǐng)點(diǎn)擊輸入圖片描述

      神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

      請(qǐng)點(diǎn)擊輸入圖片描述

      其中, 神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題) 是向量 y 中取值為 1 對(duì)應(yīng)的第 j個(gè)分量的值。

      請(qǐng)點(diǎn)擊輸入圖片描述

      交叉熵?fù)p失函數(shù)與 log 似然代價(jià)函數(shù)關(guān)系 本質(zhì)一樣

      有的文獻(xiàn)中也稱 log 似然代價(jià)函數(shù)為交叉熵?fù)p失函數(shù),這兩個(gè)都是交叉熵?fù)p失函數(shù),但是看起來(lái)長(zhǎng)的卻有天壤之別。為什么同是交叉熵?fù)p失函數(shù),長(zhǎng)的卻不一樣呢?

      神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

      請(qǐng)點(diǎn)擊輸入圖片描述

      因?yàn)檫@兩個(gè)交叉熵?fù)p失函數(shù)對(duì)應(yīng)不同的最后一層的輸出。第一個(gè)對(duì)應(yīng)的最后一層是 sigmoid,用于二分類問(wèn)題,第二個(gè)對(duì)應(yīng)的最后一層是 softmax,用于多分類問(wèn)題。但是它們的本質(zhì)是一樣的,請(qǐng)看下面的分析。

      首先來(lái)看信息論中交叉熵的定義:

      神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

      請(qǐng)點(diǎn)擊輸入圖片描述

      交叉熵是用來(lái)描述兩個(gè)分布的距離的,神經(jīng)網(wǎng)絡(luò)訓(xùn)練的目的就是使 g(x) 逼近 p(x)。

      sigmoid + 交叉熵

      先看看 sigmoid 作為神經(jīng)網(wǎng)絡(luò)最后一層的情況。sigmoid 作為最后一層輸出的話,那就不能吧最后一層的輸出看作成一個(gè)分布了,因?yàn)榧悠饋?lái)不為 1。現(xiàn)在應(yīng)該將最后一層的每個(gè)神經(jīng)元看作一個(gè)分布,對(duì)應(yīng)的 target 屬于二項(xiàng)分布(target的值代表是這個(gè)類的概率),那么第 i 個(gè)神經(jīng)元交叉熵為

      其實(shí)這個(gè)式子可以用求和符號(hào)改寫,

      其中,

      神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

      請(qǐng)點(diǎn)擊輸入圖片描述

      Softmax + 對(duì)數(shù)似然

      現(xiàn)在來(lái)看 softmax 作為神經(jīng)網(wǎng)絡(luò)最后一層的情況。g(x)是什么呢?就是最后一層的輸出 y 。p(x)是什么呢?就是我們的one-hot標(biāo)簽。我們帶入交叉熵的定義中算一下,就會(huì)得到:

      神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

      請(qǐng)點(diǎn)擊輸入圖片描述

      交叉熵?fù)p失函數(shù)與 log 似然損失函數(shù)的總結(jié)

      注意到不管是交叉熵?fù)p失函數(shù)與 log 似然損失函數(shù),交叉熵?fù)p失函數(shù)用于二分類問(wèn)題, log 似然損失函數(shù)用于多分類,但是對(duì)于某一個(gè)樣本只屬于一個(gè)類別,只有一個(gè)標(biāo)簽。如果用 one-hot 編碼樣本的標(biāo)簽?zāi)敲?,?duì)于標(biāo)簽向量只有一個(gè)分量的值為 1 其余的值都為 0。

      所以不管是交叉熵?fù)p失函數(shù)與 log 似然損失函數(shù),都可以化簡(jiǎn)為,

      神經(jīng)網(wǎng)絡(luò)多分類(神經(jīng)網(wǎng)絡(luò)多分類問(wèn)題)

      請(qǐng)點(diǎn)擊輸入圖片描述

      其中,  是向量 y 中取值為 1 對(duì)應(yīng)的第 j 個(gè)分量的值。這兩個(gè)長(zhǎng)的不一樣的損失函數(shù)實(shí)際上是對(duì)應(yīng)的不同的輸出層。本質(zhì)上是一樣的。

      我的建議是,采用 Kears 中的命名方法,對(duì)于二分類的交叉熵?fù)p失函數(shù)稱之為 “二分類交叉熵?fù)p失函數(shù)(binary_crossentropy)” ,對(duì)于多分類的交叉熵?fù)p失函數(shù)稱之為 “多類別交叉熵?fù)p失函數(shù)(categorical_crossentropy)”。

      在 Kears 中也有提示(注意: 當(dāng)使用categorical_crossentropy損失時(shí),你的目標(biāo)值應(yīng)該是分類格式 (即,如果你有10個(gè)類,每個(gè)樣本的目標(biāo)值應(yīng)該是一個(gè)10維的向量,這個(gè)向量除了表示類別的那個(gè)索引為1,其他均為0)。 為了將 整數(shù)目標(biāo)值 轉(zhuǎn)換為 分類目標(biāo)值,你可以使用Keras實(shí)用函數(shù)to_categorical:)

      多標(biāo)簽分類 + 二分類交叉熵?fù)p失函數(shù)

      多標(biāo)簽問(wèn)題與二分類問(wèn)題關(guān)系在上文已經(jīng)討論過(guò)了,方法是計(jì)算一個(gè)樣本各個(gè)標(biāo)簽的損失(輸出層采用sigmoid函數(shù)),然后取平均值。把一個(gè)多標(biāo)簽問(wèn)題,轉(zhuǎn)化為了在每個(gè)標(biāo)簽上的二分類問(wèn)題。

    以上就是關(guān)于神經(jīng)網(wǎng)絡(luò)多分類相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    上海神經(jīng)科醫(yī)院排行榜(上海神經(jīng)科科醫(yī)院排名前十)

    圖神經(jīng)網(wǎng)絡(luò)論文推薦

    全國(guó)神經(jīng)科醫(yī)院排行榜(全國(guó)神經(jīng)科醫(yī)院排行榜最新)

    抖s的特征(抖s具體表現(xiàn))

    聚合直播寶盒1.1.3(聚合直播寶盒都有哪些)