循環神經網絡RNN---LSTM

一、?RNN介紹

循環神經網絡(Recurrent Neural Network,簡稱 RNN)是一種專門用于處理序列數據的神經網絡,在自然語言處理、語音識別、時間序列預測等領域有廣泛應用。

傳統神經網絡

無法訓練出具有順序的數據。模型搭建時沒有考慮數據上下之間的關系。

提出一種新的神經網絡

RNNRecurrent Neural Network)在處理序列輸入時具有記憶性,可以保留之前輸入的信息并繼續作為后續輸入的一部分進行計算。

RNN的特點:引入了隱狀態hhidden state)的概念,隱狀態h可以對序列形的數據提取特征,接著再轉換為輸出。

(1)、在計算時,每一步使用的參數UWb都是一樣的,也就是說每個步驟的參數都是共享的,這是RNN的重要特點;

(2)下文的LSTMGRU中的權值則不共享。

RNN結構中輸入是x1, x2, .....xn,輸出為y1, y2, ...yn,也就是說,輸入和輸出序列必須要是等長的。

RNN的局限性:

????????當出現“我的職業是程序員,…,我最擅長的是電腦。當需要預測最后的詞“電腦。當前的信息建議下一個詞可能是一種技能,但是如果我們需要弄清楚是什么技能,需要先前提到的離當前位置很遠的“職業是程序員的上下文。這說明相關信息和當前預測位置之間的間隔就變得相當的大。

在理論上,RNN絕對可以處理這樣的長期依賴問題。人們可以仔細挑選參數來解決這類問題中的最初級形式,但在實踐中,RNN則沒法太好的學習到這些知識。

原因是:梯度會隨著時間的推移不斷下降減少,而當梯度值變得非常小時,就不會繼續學習。?

二、LSTM

長短期記憶網絡(Long Short - Term Memory,LSTM)是一種特殊的循環神經網絡(RNN),它在處理序列數據時,能有效解決傳統 RNN 存在的梯度消失和梯度爆炸問題,從而更好地捕捉序列中的長期依賴關系。

原理:

傳統 RNN 在處理長序列時,由于在反向傳播過程中梯度會不斷相乘,容易導致梯度消失(梯度趨近于 0)或梯度爆炸(梯度變得非常大),使得模型難以學習到序列中的長期依賴信息。LSTM 通過引入門控機制,能夠選擇性地記憶和遺忘信息,從而有效解決這一問題。

結構

LSTM 單元主要由三個門(輸入門、遺忘門、輸出門)和一個細胞狀態組成:

遺忘門(Forget Gate):

功能決定應丟棄哪些關鍵詞信息。

步驟:來自前一個隱藏狀態的信息和當前輸入的信息同時傳遞到 sigmoid 函數中去,輸出值介于 0 1 之間,越接近 0 意味著越應該丟棄,越接近 1 意味著越應該保留。

輸入門(Input Gate):

功能:用于更新細胞狀態。

步驟:1首先將前一層隱藏狀態的信息和當前輸入的信息傳遞到 sigmoid 函數中去。將值調整到 0~1 之間來決定要更新哪些信息。0 表示不重要,1 表示重要。2、將前一層隱藏狀態的信息和當前輸入的信息傳遞到 tanh 函數中去,創造一個新的侯選值向量。最后將 sigmoid 的輸出值與 tanh 的輸出值相乘,sigmoid 的輸出值將決定 tanh 的輸出值中哪些信息是重要且需要保留下來的。

細胞狀態(Cell State):它是 LSTM 的核心,用于保存序列中的長期信息。在每個時間步,細胞狀態會根據遺忘門和輸入門的輸出進行更新。

輸出門(Output Gate):

功能:用來確定下一個隱藏狀態的值。

步驟:1、將前一個隱藏狀態和當前輸入傳遞到 sigmoid 函數中,然后將新得到的細胞狀態傳遞給 tanh 函數。2、將 tanh 的輸出與 sigmoid 的輸出相乘,以確定隱藏狀態應攜帶的信息。再將隱藏狀態作為當前細胞的輸出,把新的細胞狀態和新的隱藏狀態傳遞到下一個時間步長中去。

sigmoid函數圖像:

tanh函數圖像:

三、總結

RNN:在每個時間步,接收當前輸入和上一時刻的隱藏狀態,通過激活函數計算當前隱藏狀態和輸出,信息傳遞較為直接,但容易出現梯度消失或爆炸問題,導致長序列信息難以有效傳遞和利用。
LSTM:在每個時間步,輸入門決定當前輸入信息有多少要存入細胞狀態,遺忘門控制細胞狀態中需要遺忘的信息,輸出門根據細胞狀態和當前隱藏狀態決定輸出內容。這種機制使得 LSTM 能夠選擇性地記憶和遺忘信息,更有效地處理長序列中的關鍵信息。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903198.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903198.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903198.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

優考試V4.20機構版【附百度網盤鏈接】

優考試局域網考試系統具有強大的統計分析功能。優考試通過對考試數據進行統計分析,諸如考試分數分布,考試用時分布,錯排行等,讓你從整體上了解你的學員(員工)狀態, 同時你也可以對學員&#xff…

【Amazing晶焱科技高速 CAN Bus 傳輸與 TVS/ESD/EOS 保護,將是車用電子的生死關鍵無標題】

臺北國際車用電子展是亞洲地區重量級的車用電子科技盛會,聚焦于 ADAS、電動車動力系統、智慧座艙、人機界面、車聯網等領域。各大車廠與 Tier 1 供應鏈無不摩拳擦掌,推出最新技術與創新解決方案。 而今年,“智慧座艙” 無疑將成為全場焦點&am…

面試:結構體默認是對齊的嘛?如何禁止對齊?

是的。 結構體默認是對齊的?。結構體對齊是為了優化內存訪問速度和減少CPU訪問內存時的延遲。結構體對齊的規則如下: 某數據類型的變量存放的地址需要按有效對齊字節剩下的字節數可以被該數據類型所占字節數整除,char可以放在任意位置,int存…

如何優雅地解決AI生成內容粘貼到Word排版混亂的問題?

隨著AI工具的廣泛應用,越來越多人開始使用AI輔助撰寫論文、報告或博客。然而,當我們直接將AI生成的文本復制到Word文檔中時,常常會遇到排版混亂、格式異常的問題。這是因為大部分AI輸出時默認使用了Markdown格式,而Word對Markdown…

Golang | HashMap實現原理

HashMap是一種基于哈希表實現的鍵值對存儲結構,它通過哈希函數將鍵映射到數組的索引位置,支持高效的插入、查找和刪除操作。其核心原理如下: 哈希函數:將鍵轉換為數組索引。理想情況下,不同鍵應映射到不同索引&#xf…

vue3學習之防抖和節流

? 在前端開發中,我們經常會遇到這樣的情況:某些事件(如滾動、輸入、點擊等)會頻繁觸發,如果不加以控制,可能會導致性能問題。Vue3 中的防抖(Debounce)和節流(Throttle&a…

4.2.2 MySQL索引原理以及SQL優化

文章目錄 4.2.2 MySQL索引原理以及SQL優化1. 索引與約束1. 索引是什么2. 索引的目的3. 幾種索引4. 約束1.外鍵2. 約束 vs 索引的區別 5. 索引實現1. 索引存儲2. 頁3. B樹4. B樹層高問題5. 自增id6. 聚集索引7. 輔助索引 8. innnodb體系結構1. buffer pool2. change buffer 9. 最…

【學習筆記】文件包含漏洞--本地遠程包含、偽協議、加密編碼

一、文件包含漏洞 和SQL等攻擊方式一樣,文件包含漏洞也是一種注入型漏洞,其本質就是輸入一段用戶能夠控制的腳本或者代碼,并讓服務端執行。 什么叫包含呢?以PHP為例,我們常常把可重復使用的函數寫入到單個文件中&…

藍橋杯 2021年模擬賽 掃雷問題

題目: 在一個 n 行 m 列的方格圖上有一些位置有地雷,另外一些位置為空。 請為每個空位置標一個整數,表示周圍八個相鄰的方格中有多少個地雷。 輸入描述 輸入的第一行包含兩個整數 n,m。 第 22行到第n1 行每行包含 m 個整數,相…

寫windows服務日志-.net4.5.2-定時修改數據庫中某些參數

環境: windows 11 Visual Studio 2015 .net 4.5.2 SQL Server 目的: 定時修改數據庫中某些參數的值 定時修改24小時內,SQL數據庫中,表JD_Reports 內,如果部門是‘體檢科,設置打印類型為 1 可以打印。步驟&a…

madvise MADV_FREE對文件頁統計的影響及原理

一、背景 madvise系統調用是一個與性能優化強相關的一個系統調用。madvise系統調用包括使用madvise函數,也包含使用posix_fadvise函數。如我們可以使用posix_fadvise傳入POSIX_FADV_DONTNEED來清除文件頁的page cache以減少內存壓力。 這篇博客里,我們…

于鍵值(KV)的表

基于鍵值(KV)的表 將行編碼為鍵值(KVs) 索引查詢:點查詢和范圍查詢 在關系型數據庫中,數據被建模為由行和列組成的二維表。用戶通過SQL表達他們的意圖,而數據庫則神奇地提供結果。不那么神奇的…

2025年邵陽市工程技術研究中心申報流程、條件、獎補

一、邵陽市工程技術研究中心申報條件 (一)工程技術研究中心主要依托科技型企業組建,依托單位應具有以下條件: 1.?具有較強技術創新意識的領導班子和技術水平高、工程化實踐經驗豐富的工程技術研發隊伍,其中固定人員…

Python+AI提示詞出租車出行軌跡預測:梯度提升GBR、KNN、LR回歸、隨機森林融合及貝葉斯概率異常檢測研究

原文鏈接:tecdat.cn/?p41693 在當今數字化浪潮席卷全球的時代,城市交通領域的海量數據如同蘊藏著無限價值的寶藏等待挖掘。作為數據科學家,我們肩負著從復雜數據中提取關鍵信息、構建有效模型以助力決策的使命(點擊文末“閱讀原文…

系統重裝——聯想sharkbay主板電腦

上周給一臺老電腦重裝系統系統,型號是lenovo sharkbay主板的電腦,趁著最近固態便宜,入手了兩塊長城的固態,裝上以后插上啟動U盤,死活進不去boot系統。提示 bootmgr 缺失,上網查了許久,終于解決了…

python連接Elasticsearch并完成增刪改查

python庫提供了elasticsearch模塊,可以通過以下命令進行快速安裝,但是有個細節需要注意一下,安裝的模塊版本要跟es軟件版本一致,此處舉例:7.8.1 pip install elasticsearch==7.8.1 首先連接elasticsearch,以下是免密示例 from elasticsearch import Elasticsearch# El…

PDF嵌入圖片

所需依賴 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源碼 /*** PDF工具*/ public class PdfUtils {/*** 嵌入圖…

目標檢測篇---faster R-CNN

目標檢測系列文章 第一章 R-CNN 第二篇 Fast R-CNN 目錄 目標檢測系列文章&#x1f4c4; 論文標題&#x1f9e0; 論文邏輯梳理1. 引言部分梳理 (動機與思想) &#x1f4dd; 三句話總結&#x1f50d; 方法邏輯梳理&#x1f680; 關鍵創新點&#x1f517; 方法流程圖關鍵疑問解答…

Seaborn模塊練習題

1.使用tips數據集&#xff0c;創建一個展示不同時間段(午餐/晚餐)賬單總額分布的箱線圖 import seaborn as sns import matplotlib.pyplot as plt import pandas as pdsns.set_style("darkgrid") plt.rcParams["axes.unicode_minus"] Falsetips pd.read…

計算機網絡 | 應用層(1)--應用層協議原理

&#x1f493;個人主頁&#xff1a;mooridy &#x1f493;專欄地址&#xff1a;《計算機網絡&#xff1a;自定向下方法》 大綱式閱讀筆記 關注我&#x1f339;&#xff0c;和我一起學習更多計算機的知識 &#x1f51d;&#x1f51d;&#x1f51d; 目錄 1. 應用層協議原理 1.1 …