0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

前沿高端技術(shù)之遞歸神經(jīng)網(wǎng)絡(luò)(RNN)

恬靜簡(jiǎn)樸1 ? 來(lái)源:恬靜簡(jiǎn)樸1 ? 作者:恬靜簡(jiǎn)樸1 ? 2022-07-20 10:17 ? 次閱讀

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

RNN是最強(qiáng)大的模型之一,它使我們能夠開(kāi)發(fā)如分類、序列數(shù)據(jù)標(biāo)注、生成文本序列(例如預(yù)測(cè)下一輸入詞的SwiftKey keyboard應(yīng)用程序),以及將一個(gè)序列轉(zhuǎn)換為另一個(gè)序列(比如從法語(yǔ)翻譯成英語(yǔ)的語(yǔ)言翻譯)等應(yīng)用程序。大多數(shù)模型架構(gòu)(如前饋神經(jīng)網(wǎng)絡(luò))都沒(méi)有利用數(shù)據(jù)的序列特性。例如,我們需要數(shù)據(jù)呈現(xiàn)出向量中每個(gè)樣例的特征,如表示句子、段落或文檔的所有token。前饋網(wǎng)絡(luò)的設(shè)計(jì)只是為了一次性地查看所有特征并將它們映射到輸出。讓我們看一個(gè)文本示例,它顯示了為什么順序或序列特性對(duì)文本很重要。I had cleaned my car和I had my car cleaned兩個(gè)英文句子,用同樣的單詞,但只有考慮單詞的順序時(shí),它們才意味著不同的含義。

人類通過(guò)從左到右閱讀詞序列來(lái)理解文本,并構(gòu)建了可以理解文本數(shù)據(jù)中所有不同內(nèi)容的強(qiáng)大模型。RNN的工作方式有些許類似,每次只查看文本中的一個(gè)詞。RNN也是一種包含某特殊層的神經(jīng)網(wǎng)絡(luò),它并不是一次處理所有數(shù)據(jù)而是通過(guò)循環(huán)來(lái)處理數(shù)據(jù)。由于RNN可以按順序處理數(shù)據(jù),因此可以使用不同長(zhǎng)度的向量并生成不同長(zhǎng)度的輸出。圖6.3提供了一些不同的表示形式。

pYYBAGLXZaCAdvgGAAEUWD-FqNE532.png

圖6.3來(lái)自關(guān)于RNN一個(gè)著名博客(http://karpathy.github.io/2015/05/21/rnn-effectiveness),其中作者Andrej Karpathy寫(xiě)明了如何使用Python從頭開(kāi)始構(gòu)建RNN并將其用作序列生成器。

6.4.1通過(guò)示例了解RNN如何使用

假設(shè)我們已經(jīng)構(gòu)建了一個(gè)RNN模型,并且嘗試了解它提供的功能。當(dāng)了解了RNN的作用后,就可以來(lái)探討一下RNN內(nèi)部發(fā)生了什么。

讓我們用Thor的評(píng)論作為RNN模型的輸入。我們正在看的示例文本是the action scenes were top notch in this movie... .首先將第一個(gè)單詞the傳遞給模型;該模型生成了狀態(tài)向量和輸出向量?jī)煞N不同的向量。狀態(tài)向量在處理評(píng)論中的下一個(gè)單詞時(shí)傳遞給模型,并生成新的狀態(tài)向量。我們只考慮在最后一個(gè)序列中生成的模型的輸出。圖6.4概括了這個(gè)過(guò)程。

poYBAGLXZaCAHZoUAABUjeo1fNI802.png

圖6.4演示了以下內(nèi)容:

· RNN如何通過(guò)展開(kāi)和圖像來(lái)工作;

· 狀態(tài)如何以遞歸方式傳遞給同一模型。

到現(xiàn)在為止,我們只是了解了RNN的功能,但并不知道它是如何工作的。在了解其工作原理之前來(lái)看一些代碼片段,它會(huì)更詳細(xì)地展示我們學(xué)到的東西。仍然將RNN視為黑盒:

在上述代碼中,hidden變量表示狀態(tài)向量,有時(shí)也稱為隱藏狀態(tài)。到現(xiàn)在為止,我們應(yīng)該知道了如何使用RNN?,F(xiàn)在來(lái)看一下實(shí)現(xiàn)RNN的代碼,并了解RNN內(nèi)部發(fā)生的情況。以下代碼包含RNN類:

除了上述代碼中的單詞RNN之外,其他一切聽(tīng)起來(lái)與在前面章節(jié)中使用的非常類似,因?yàn)镻yTorch隱藏了很多反向傳播的復(fù)雜度。讓我們通過(guò)init函數(shù)和forward函數(shù)來(lái)了解發(fā)生了什么。

__init__函數(shù)初始化了兩個(gè)線性層,一個(gè)用于計(jì)算輸出,另一個(gè)用于計(jì)算狀態(tài)或隱藏向量。

forward函數(shù)將input向量和hidden向量組合在一起,并將其傳入兩個(gè)線性層,從而生成輸出向量和隱藏狀態(tài)。對(duì)于output層,我們應(yīng)用log_softmax函數(shù)。

initHidden函數(shù)有助于創(chuàng)建隱藏向量,而無(wú)需在第一次時(shí)聲明調(diào)用RNN。讓我們通過(guò)圖6.5了解RNN類的作用。

pYYBAGLXZaCAG_4oAABGtsqyyso002.png

圖6.5說(shuō)明了RNN的工作原理。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    遞歸神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)

    遞歸神經(jīng)網(wǎng)絡(luò)是一種旨在處理分層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),使其特別適合涉及樹(shù)狀或嵌套數(shù)據(jù)的任務(wù)。這些網(wǎng)絡(luò)明確地模擬了層次結(jié)構(gòu)中的關(guān)系和依賴關(guān)系,例如語(yǔ)言中的句法結(jié)構(gòu)或圖像中的層次表示。它使用
    的頭像 發(fā)表于 07-10 17:21 ?495次閱讀
    <b class='flag-5'>遞歸</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>和循環(huán)<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的模型結(jié)構(gòu)

    遞歸神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)方法

    遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,簡(jiǎn)稱RNN)是一種特殊類型的神經(jīng)網(wǎng)絡(luò),其特點(diǎn)在于能夠處理具有層次或樹(shù)狀結(jié)構(gòu)的數(shù)據(jù),并通過(guò)
    的頭像 發(fā)表于 07-10 17:02 ?261次閱讀

    rnn遞歸神經(jīng)網(wǎng)絡(luò)還是循環(huán)神經(jīng)網(wǎng)絡(luò)

    RNN(Recurrent Neural Network)是循環(huán)神經(jīng)網(wǎng)絡(luò),而非遞歸神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有時(shí)間序列特性的
    的頭像 發(fā)表于 07-05 09:52 ?463次閱讀

    rnn是什么神經(jīng)網(wǎng)絡(luò)模型

    RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,它能夠處理序列數(shù)據(jù),并對(duì)序列中的元素進(jìn)行建模。RNN在自然語(yǔ)言處理、語(yǔ)音識(shí)別、
    的頭像 發(fā)表于 07-05 09:50 ?494次閱讀

    rnn是什么神經(jīng)網(wǎng)絡(luò)

    RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))是一種具有循環(huán)連接的神經(jīng)網(wǎng)絡(luò),它能夠處理序列數(shù)據(jù),并且具有記憶能力。與傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)(Feedforward
    的頭像 發(fā)表于 07-05 09:49 ?530次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)形式主要分為

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,簡(jiǎn)稱RNN)是一種具有時(shí)間序列處理能力的神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)形式多樣,可以根據(jù)不同的需求進(jìn)行選擇和設(shè)計(jì)。本文將介紹
    的頭像 發(fā)表于 07-05 09:32 ?435次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)一樣嗎

    遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RvNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是兩種不同類型的
    的頭像 發(fā)表于 07-05 09:28 ?626次閱讀

    rnn神經(jīng)網(wǎng)絡(luò)模型原理

    RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),它能夠處理序列數(shù)據(jù),具有記憶功能。RNN在自然語(yǔ)言處理、語(yǔ)音識(shí)別、時(shí)間序列預(yù)測(cè)等領(lǐng)
    的頭像 發(fā)表于 07-04 15:40 ?464次閱讀

    RNN神經(jīng)網(wǎng)絡(luò)適用于什么

    RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),它可以處理序列數(shù)據(jù),具有記憶功能。RNN在許多領(lǐng)域都有廣泛的應(yīng)用,以下是一些
    的頭像 發(fā)表于 07-04 15:04 ?750次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)主要應(yīng)用于哪種類型數(shù)據(jù)

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱RNN)是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),能夠處理序列數(shù)據(jù)。它在許多領(lǐng)域都有廣泛的應(yīng)用,以下是對(duì)
    的頭像 發(fā)表于 07-04 14:58 ?494次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱RNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱R
    的頭像 發(fā)表于 07-04 14:54 ?596次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)、特點(diǎn)、優(yōu)缺點(diǎn)及適用場(chǎng)景

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,簡(jiǎn)稱RNN)是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),其核心特點(diǎn)是能夠處理序列數(shù)據(jù),并對(duì)序列中的信息進(jìn)行記憶和傳遞。
    的頭像 發(fā)表于 07-04 14:52 ?992次閱讀

    循環(huán)神經(jīng)網(wǎng)絡(luò)遞歸神經(jīng)網(wǎng)絡(luò)的區(qū)別

    循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱RNN)和遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,簡(jiǎn)稱RvNN)是深度學(xué)習(xí)中兩種重要的
    的頭像 發(fā)表于 07-04 14:19 ?706次閱讀

    什么是RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))?RNN的基本原理和優(yōu)缺點(diǎn)

    RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))是一種專門用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它能夠在序列的演進(jìn)方向上進(jìn)行遞歸,并通過(guò)所有節(jié)點(diǎn)(循環(huán)單元)的鏈?zhǔn)竭B接
    的頭像 發(fā)表于 07-04 11:48 ?2547次閱讀

    什么是RNN (循環(huán)神經(jīng)網(wǎng)絡(luò))?

    循環(huán)神經(jīng)網(wǎng)絡(luò) (RNN) 是一種深度學(xué)習(xí)結(jié)構(gòu),它使用過(guò)去的信息來(lái)提高網(wǎng)絡(luò)處理當(dāng)前和將來(lái)輸入的性能。RNN 的獨(dú)特之處在于該網(wǎng)絡(luò)包含隱藏狀態(tài)和
    發(fā)表于 02-29 14:56 ?3802次閱讀
    什么是<b class='flag-5'>RNN</b> (循環(huán)<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>)?