RNN/LSTM/GRU/Transformer

RNN的局限1:長期依賴(Long-TermDependencies)問題

但是同樣會有一些更加復雜的場景。比如我們試著去預測“I grew up in France...I speak fluent French”最后的詞“French”。當前的信息建議下一個詞可能是一種語言的名字,但是如果我們需要弄清楚是什么語言,我們是需要先前提到的離當前位置很遠的“France”的上下文。這說明相關信息和當前預測位置之間的間隔就肯定變得相當的大。

不幸的是,在這個間隔不斷增大時,RNN會喪失學習到連接如此遠的信息的能力。

RNN的局限2:梯度消失和梯度爆炸問題

如果你正在嘗試處理一段文本進行預測,RNN 可能從一開始就會遺漏重要信息。在反向傳播期間(反向傳播是一個很重要的核心議題,本質是通過不斷縮小誤差去更新權值,從而不斷去修正擬合的函數),RNN 會面臨梯度消失的問題。

因為梯度是用于更新神經網絡的權重值(新的權值 = 舊權值 - 學習率*梯度),梯度會隨著時間的推移不斷下降減少,而當梯度值變得非常小時,就不會繼續學習。

換言之,在遞歸神經網絡中,獲得小梯度更新的層會停止學習—— 那些通常是較早的層。 由于這些層不學習,RNN會忘記它在較長序列中以前看到的內容,因此RNN只具有短時記憶。

而梯度爆炸則是因為計算的難度越來越復雜導致。

然而,幸運的是,有個RNN的變體——LSTM,可以在一定程度上解決梯度消失和梯度爆炸這兩個問題!

二、LSTM網絡

三.?GRU

  • LSTM:功能更強,能更精細地控制記憶(但慢)。

  • GRU:簡化版,更快、更省資源,在很多任務上效果相當,甚至更好。

  • 在工業界,如果資源有限,GRU 往往更受歡迎;而學術研究/復雜任務里,LSTM 更常用。

Transformer和RNN(原始 or LSTM or GRU)的區別:

1.RNN采用一種類似于遞歸的方式運行,無法執行并行化操作,也就無法利用GPU強大的并行化能力,而Transfomer基于Attention機制,使得模型可以并行化操作,而且能夠擁有全局的信息。

2.Transformer本身是不能利用單詞之間的位置信息的,所以需要在輸入中添加一個位置embedding信息,否則Transformer就類似于詞袋模型了。

3.RNN利用循環順序結構,對于長句需要的訓練步驟很多,加大了訓練的難度和時間。而Transfomer不需要循環,并行地處理單詞,而且其多頭注意力機制可以將很遠的詞聯系起來,大大提高了訓練速度和預測準確度。

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

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

相關文章

瀏覽器開發CEFSharp+X86 (十六)網頁讀取電子秤數據——仙盟創夢IDE

一、東方仙盟智能瀏覽器:跨平臺,暢連百種硬件,速啟現場編譯東方仙盟 VOS 智能瀏覽器在網頁調用硬件 SDK 領域堪稱卓越典范。它全面兼容多平臺,無論是電腦、手機還是各類移動終端,都能完美適配,無縫對接。令…

騰訊云EdgeOne免費套餐:零成本開啟網站加速與安全防護

騰訊云EdgeOne免費套餐:零成本開啟網站加速與安全防護 ?一鍵解鎖全球3200節點,讓網站速度提升53%,同時獲得企業級安全防護作為一名站長或個人開發者,你是否曾為網站加載速度緩慢而苦惱?是否擔心網站遭遇DDoS攻擊或惡意…

服務器數據恢復—Raid6陣列崩潰導致上層分區無法訪問的數據恢復案例

服務器存儲數據恢復環境: 一臺infortrend某型號存儲,存儲設備上有12塊硬盤,組建一組raid6磁盤陣列。陣列上層有一個lun,映射到WINDOWS系統上使用。WINDOWS系統劃分了一個GUID Partition Table分區。服務器存儲故障: 存…

【生產故事會】Kafka 生產環境參數優化實戰案例

Kafka 3.9.1 生產環境參數優化實戰案例(8核32G HDD場景) 一、背景與硬件/業務配置 某企業級全鏈路日志采集平臺需構建高穩定Kafka集群,承擔核心業務日志流轉(涵蓋用戶行為、系統監控、交易鏈路日志),單集群3節點部署,硬件與業務特征如下: 維度 具體配置 硬件配置 C…

推薦 Eclipse Temurin 的 OpenJDK

推薦 Eclipse Temurin 的 OpenJDK 發行版 https://adoptium.net/zh-CN/temurin/releases,是基于其在技術可靠性、生態中立性、許可友好性和社區支持等多個維度的綜合優勢。 以下是詳細的原因,解釋了為什么 Eclipse Temurin 通常是基于 OpenJDK 構建的 J…

分布式3PC理論

目錄 為什么需要 3PC? 核心結論 3PC的優缺點 3PC與 Paxos / Raft 對比 本篇文章內容的前置知識為 分布式2PC理論,如果不了解,可點擊鏈接學習 分布式2PC理論-CSDN博客 為什么需要 3PC? 1) 2PC 的根本問題:阻塞 不…

Web 前端可視化開發工具對比 低代碼平臺、可視化搭建工具、前端可視化編輯器與在線可視化開發環境的實戰分析

在前端開發領域,“可視化”已經成為提升效率和降低門檻的重要方向。從 低代碼平臺 到 前端可視化編輯器,再到 在線可視化開發環境,這些工具都在改變前端的開發方式。 本文將結合真實項目,分析常見的 Web 前端可視化開發工具&#…

單例模式(C++)(錯誤日志實現)

單例模式一、核心原理二、常見的單例模式實現方式1. 懶漢式(Lazy Initialization)2. 餓漢式(Eager Initialization)三、關鍵實現細節解析四、單例模式的適用場景與特點使用場景日志工具(確保日志寫入的唯一性&#xff…

stm32 鏈接腳本沒有 .gcc_except_table 段也能支持 C++ 異常

stm32 使用 cubemx 生成的 gnu ld 鏈接腳本沒有 .gcc_except_table 段。如下所示 /* ****************************************************************************** ** ** file : LinkerScript.ld ** ** author : Auto-generated by STM32CubeIDE ** ** Abst…

SpringBoot改造MCP服務器(StreamableHTTP)

項目地址: https://gitee.com/kylewka/smart-ai 1 項目說明 MCP(Model Context Protocol)協議是一個用于 AI 模型和工具之間通信的標準協議。隨著 AI 應用變得越來越復雜并被廣泛部署,原有的通信機制面臨著一系列挑戰。 近期 MCP …

【數學建模】煙幕干擾彈投放策略優化:模型與算法整合框架

煙幕干擾彈投放策略優化:模型與算法整合框架 基于文獻研究和問題需求分析,我們構建了完整的模型與算法整合框架。 一、整體建模框架 1. 核心問題分解 物理層:煙幕彈道運動與擴散特性建模博弈層:導彈識別與決策機制建模優化層&…

結合大數據知識體系對倉庫建模方法總結

傳統的倉庫建模理論(如維度建模)仍然是基石,但大數據的“4V”特性(Volume, Velocity, Variety, Value)要求我們對這些方法進行演進和補充。 以下是結合大數據知識體系對倉庫建模方法的總結:一、核心目標&am…

C 語言第一課:hello word c

C 語言第一課&#xff1a;hello word c開發工具創建項目快速學習平臺開發工具 個人推薦使用 jetBrains 公司的 CLion 開發工具下載地址 https://www.jetbrains.com/clion/ 創建項目 編寫代碼 //頭文件 #include <stdio.h>//程序入口 int main(){printf("hello w…

基于Java Spring Boot的云原生TodoList Demo 項目,驗證云原生核心特性

以下是一個基于 Java Spring Boot 的云原生 TodoList Demo 項目&#xff0c;涵蓋 容器化、Kubernetes 編排、CI/CD、可觀測性、彈性擴縮容 等核心云原生特性&#xff0c;代碼簡潔且附詳細操作指南&#xff0c;適合入門學習。項目概覽 目標&#xff1a;實現一個支持增刪改查&…

開源一個輕量級 Go 工具庫:go-commons

項目背景 在日常 Go 開發中&#xff0c;我們經常需要處理字符串操作和系統監控相關的功能。雖然 Go 標準庫提供了基礎的字符串處理能力&#xff0c;但在實際項目中&#xff0c;我們往往需要一些更便捷的工具函數來提高開發效率。 基于"盡可能不使用第三方依賴"的原…

clang(clangd)與arm-linux-gcc、ARMGCC、ICCARM(IAR)、C51編譯器的兼容性

環境&#xff1a;vscodeclangdEIDE開發開發單片機&#xff08;C51 keilMDK IAR&#xff09;。 vscode遠程clangdarm-linux-gcc(交叉編譯工具鏈)。 &#xff08;1&#xff09;首先clang&#xff08;clangd&#xff09;是兼容gcc的&#xff0c;也就是兼容arm-linux-gcc&#xff…

Docker 部署 Rancher2.4.4

獲取2.4.4鏡像包docker pull rancher/rancher:v2.4.4創建目錄并賦予權限mkdir -p /home/rancher/{data,log} && chmod -R 777 /home/rancher啟動容器docker run -d \ --privileged \ --name rancher \ --restartunless-stopped \ -p 80:80 -p 443:443 \ -v /home/ranc…

無root使用adb模式下的scene 用shizuku激活scene教程

本次教程是用shizuku和ShizukuRunner激活scene的adb模式&#xff0c;實現大部分功能&#xff0c;比較簡單&#xff0c;如果手機已經root直接使用root模式即可。 工具 scene(點我下載) Shizuku(點我下載) ShizukuRunner(點我下載) 教程 1.首先要有一臺支持無線調試的手機(安…

《UE5_C++多人TPS完整教程》學習筆記50 ——《P51 多人游戲中的俯仰角(Pitch in Multiplayer)》

本文為B站系列教學視頻 《UE5_C多人TPS完整教程》 —— 《P51 多人游戲中的俯仰角&#xff08;Pitch in Multiplayer&#xff09;》 的學習筆記&#xff0c;該系列教學視頻為計算機工程師、程序員、游戲開發者、作家&#xff08;Engineer, Programmer, Game Developer, Author&…

樹莓派 Ubuntu 24.04 開機換源總結

1. 圖形界面 (桌面版) 如果你刷的是 Ubuntu Desktop 24.04&#xff1a;打開 Software & Updates&#xff08;軟件和更新&#xff09;。在 Ubuntu Software 標簽里找到 Download from 下拉菜單。默認只有 Main server 和 Server for China&#xff0c;如果想要更多選擇&…