日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > 循环神经网络 >内容正文

循环神经网络

深度学习小白专场之循环神经网络和递归神经网络

發(fā)布時(shí)間:2024/3/26 循环神经网络 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习小白专场之循环神经网络和递归神经网络 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

深度學(xué)習(xí)小白專場(chǎng)之循環(huán)神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)

全連接神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)?網(wǎng)絡(luò),都只能單獨(dú)的去處理單個(gè)的輸入,且前后的輸入之間毫無(wú)關(guān)系。但是在一些任務(wù)中,我們需要更好的去處理序列的信息,即前后的輸?之間存在關(guān)系。比如,在理解一整句話的過(guò)程中,孤立理解組成這句話的詞是不夠的,我們需要整體的處理由這些詞連接起來(lái)的整個(gè)序列;當(dāng)我們處理視頻時(shí),我們也不能單獨(dú)地僅僅分析每一幀,?要分析這些幀連接起來(lái)的整個(gè)序列。這就引出了了深度學(xué)習(xí)領(lǐng)域中另?類非常重要的神經(jīng)網(wǎng)絡(luò):循環(huán)神經(jīng)?網(wǎng)絡(luò)(Recurrent Neural Network)。

1.循環(huán)神經(jīng)網(wǎng)絡(luò)

我們首先來(lái)看一下一個(gè)簡(jiǎn)單的循環(huán)神經(jīng)?絡(luò)圖,它由輸?層、一個(gè)隱藏層和?個(gè)輸出層組成。我們可以看到,循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏層的值s不僅僅取決于當(dāng)前這次的輸入x,還取決于上一次隱藏層的值s,權(quán)重矩陣W就是隱藏層上一次的值作為這一次的輸入的權(quán)重。

從上?可以看出,循環(huán)神經(jīng)?網(wǎng)絡(luò)的輸出值ot,是受前?歷次輸?入值xt、xt?1、xt?2. . . 的影響的, 這就是為什么循環(huán)神經(jīng)網(wǎng)絡(luò)可以往前看任意多個(gè)輸入值的原因。
對(duì)比與卷積神經(jīng)網(wǎng)絡(luò)CNN一般用于處理網(wǎng)格化數(shù)據(jù)如一個(gè)圖像的神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)RNN是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。

  • 循環(huán)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練:
    循環(huán)神經(jīng)網(wǎng)絡(luò)訓(xùn)練的算法和卷積神經(jīng)網(wǎng)絡(luò),前饋神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法-BP算法的原理是一樣的,也包括3個(gè)步驟:
    (1)前向計(jì)算每一個(gè)神經(jīng)元的輸出值
    (2)反向計(jì)算每一個(gè)神經(jīng)元的誤差項(xiàng),即誤差對(duì)加權(quán)輸入(加法器)的偏導(dǎo)數(shù)。這里的加法器就是wx+b
    (3)計(jì)算每一個(gè)權(quán)重的梯度
    注: 應(yīng)用于展開(kāi)圖且代價(jià)為O(tao)的反向傳播算法稱為通過(guò)時(shí)間反向傳播(BPTT)。
  • CNN和RNN參數(shù)共享的區(qū)別:卷積的輸出是一個(gè)序列,其中輸出的每一項(xiàng)是相鄰幾項(xiàng)輸入的函數(shù),共享的概念體現(xiàn)在每個(gè)時(shí)間步中使用的相同的卷積核;而RNN是輸出的每一項(xiàng)是前一項(xiàng)的函數(shù)。輸出的每一項(xiàng)是對(duì)先前輸出應(yīng)用相同的更新規(guī)則而產(chǎn)生。
  • RNN的幾種設(shè)計(jì)模式:
    (1)每個(gè)時(shí)間步都有輸出,并且隱藏單元和隱藏單元之間有循環(huán)連接的循環(huán)網(wǎng)絡(luò)
    (2)每個(gè)時(shí)間步都有輸出,只有當(dāng)前時(shí)刻的輸出到下一時(shí)刻的隱藏單元之間有循環(huán)連接的網(wǎng)絡(luò)
    (3)隱藏單元之間存在循環(huán)連接,但是讀取整個(gè)序列后產(chǎn)生單個(gè)輸出的循環(huán)網(wǎng)絡(luò)

隱藏單元之間存在循環(huán)的網(wǎng)絡(luò)非常強(qiáng)大但是訓(xùn)練代價(jià)也非常大。

  • 由輸出反饋到模型而后產(chǎn)生循環(huán)連接的模型可使用導(dǎo)師驅(qū)動(dòng)過(guò)程進(jìn)行訓(xùn)練。訓(xùn)練模型時(shí),導(dǎo)師驅(qū)動(dòng)過(guò)程不再使用最大似然準(zhǔn)則。 導(dǎo)師驅(qū)動(dòng)過(guò)程是一種訓(xùn)練技術(shù),適用于輸出與下一時(shí)間步的隱藏狀態(tài)存在連接的RNN。

我們通常希望將RNN的輸出解釋為一個(gè)概率分布,并且通常使用與分布相關(guān)聯(lián)的交叉熵來(lái)定義損失。例如均方誤差是與單位高斯分布的輸出相關(guān)聯(lián)的交叉熵?fù)p失,例如前饋網(wǎng)絡(luò)中所使用的。

  • 循環(huán)網(wǎng)絡(luò)為減少的參數(shù)數(shù)目付出的代價(jià)是優(yōu)化參數(shù)可能變得困難。
  • 我們可以將t=1,2,3···的向量x^(t)序列作為輸入的RNN。另一種選擇我們可以使用單個(gè)向量x作為輸入。當(dāng)x是一個(gè)固定大小的向量時(shí),我們可以簡(jiǎn)單的將其看做產(chǎn)生y序列RNN的額外輸入。
    將額外的輸入提供到RNN的一些常見(jiàn)方法是:
    (1)在每個(gè)時(shí)刻作為一個(gè)額外輸入
    (2)作為初始狀態(tài)h^(0)
    (3)結(jié)合兩種方式

將固定長(zhǎng)度的向量x映射到Y(jié)序列上分布的RNN。這類RNN適應(yīng)于很多任務(wù),如圖注,可以將單個(gè)對(duì)象作為模型的輸入,然后產(chǎn)生描述圖像的詞序列。

2.雙向RNN

對(duì)于語(yǔ)?模型來(lái)說(shuō),很多時(shí)候光看前面的詞是不夠的,我們需要看到一個(gè)詞前后的詞,這時(shí)候就要用到雙向RNN了。下圖為雙向RNN示例:

我們可以看出一般的規(guī)律:正向計(jì)算時(shí),隱藏層的值st與st?1有關(guān);反向計(jì)算時(shí),隱藏層的值s ′t與s ′ t+1有關(guān);最終的輸出取決于正向和反向計(jì)算的加和。

  • 雙向RNN允許輸出單元同時(shí)依賴過(guò)去和未來(lái)且對(duì)時(shí)刻t的輸入值最敏感的表示,而不必指定t周圍固定大小的窗口。這是前饋網(wǎng)絡(luò)、卷積網(wǎng)絡(luò)或具有固定帶下的線性緩存器的常規(guī)RNN所必須要做的。
  • 在雙向RNN中,循環(huán)h在時(shí)間上向前(向右)傳播信息,循環(huán)g在時(shí)間上向后(向左)傳播信息。
    但是實(shí)踐中,上面介紹的這兩種RNN并不能處理較長(zhǎng)的序列,主要是由于梯度消失和梯度爆炸的問(wèn)題。使用其他結(jié)構(gòu)的RNNs可以避免梯度消失問(wèn)題,?如長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LTSM)和Gated Recurrenr Unit(GRU),這是最流行的做法。同時(shí)避免使用飽和性激活函數(shù)比如sigmoid和tanh函數(shù)而采用ReLu函數(shù)也可以避免梯度消失問(wèn)題。對(duì)于梯度爆炸問(wèn)題我們可以通過(guò)設(shè)置梯度閾值來(lái)避免。

3.基于編碼-解碼的序列到序列架構(gòu)

  • 我們還可以訓(xùn)練RNN使得輸入序列可以變?yōu)椴灰欢ǖ乳L(zhǎng)的輸出序列。在這很多場(chǎng)景中都有應(yīng)用,如語(yǔ)音識(shí)別、機(jī)器識(shí)別、或者問(wèn)答,其中訓(xùn)練集的輸入和輸出序列的長(zhǎng)度通常不相同。我們通常稱為將這樣的輸入稱為“上下文”。

4.遞歸神經(jīng)網(wǎng)絡(luò)

  • 遞歸神經(jīng)網(wǎng)絡(luò)代表循環(huán)網(wǎng)絡(luò)的另一個(gè)擴(kuò)展,它被構(gòu)造為深的樹(shù)狀結(jié)構(gòu)而不是RNN的鏈狀結(jié)構(gòu)。因此是不同的計(jì)算圖。
  • 遞歸神經(jīng)網(wǎng)絡(luò)的一個(gè)明顯優(yōu)勢(shì)是,對(duì)于具有相同長(zhǎng)度tao的序列,深度可以急劇地從tao減小到log(tao),這可能有助于解決長(zhǎng)期依賴。

總結(jié)

以上是生活随笔為你收集整理的深度学习小白专场之循环神经网络和递归神经网络的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。