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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RNN相关模型研究

發布時間:2025/4/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RNN相关模型研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • RNN
    • RNN經典算法
    • N to M
    • Attention機制
      • RNN 改進版 LSTM
    • 參考文獻

RNN

RNN有很多種。
從輸入輸出的角度有:

  • one to one
  • one to n

  • n to n

  • n to one

  • n to m
  • RNN經典算法

    RNN最經典的版本是,N個輸入,對N的輸出。
    中間的是隱藏層。

    h1=f(Ux1+Wh0+b)h1 = f(Ux1 + Wh0 + b)h1=f(Ux1+Wh0+b)

    • 同一次迭代,需要記住的是,h0,h1,h2…這些迭代的時候用的U,W,b都是一樣的。

    對于輸出部分:

    y1=Softmax(Vh1+c)y1 = Softmax(Vh1 + c)y1=Softmax(Vh1+c)

    • 類似的,輸出用的V還有c對于y1,y2…來說都是一樣的。

    序列等長, 這就是經典的RNN模型

    • 對于序列數據,RNN提出了一個隱藏數據H。H為提取出來的特征向量。
    • 對于每個序列節點x,都有一個對應的隱藏數據H。
    • 每個H都是有X和前一個節點的H生成的。

    hi=f(Uxi+Whi?1+b)h_i = f(Ux_i+Wh_{i-1}+b)hi?=f(Uxi?+Whi?1?+b)

    • U, W, b 為共享的參數
    • f 為激活函數,一般為tanh

    目前還沒有輸出,輸出是直接通過H來計算出來的。

    yi=Softmax(Vhi+c)y_i = Softmax(Vh_{i}+c)yi?=Softmax(Vhi?+c)

    N to M

    N to M需要被單獨拿出來講。這個就是Encoder-Decoder模型。

    • 這個只是一個框架,中間的生成步驟,其實把RNN換成LSTM也是可以的。

    • 局限性:

      • 編碼和解碼的唯一聯系就是固定的語義向量c。
      • 壓縮過程必然帶來的信息損失
      • RNN本身機制導致,先輸入的信息被后輸入的信息給稀釋掉。

    Attention機制

  • Encoder的過程輸入的c有多個,分別作為decoder過程中的輸入。
  • 同時對不同的c,不同的隱藏層的映射權重不一致。
  • A這個矩陣的生成:

    RNN 改進版 LSTM

    LSTM(long short term memory, 長短期記憶網絡)

    • 經典的RNN,由于是復合函數帶進去求導,導致反向傳播求梯度時,會將所有的梯度連乘起來,引起梯度爆炸或者是梯度消失。

    • LSTM由于添加了常量C(15年之前都是C對于每個cell都是hi一個常數)
    • 在15年之后,認為它不是一個常數而是可以往后求導的。

    除了經典RNN中的隱藏狀態H之外,LSTM還提出了新的隱藏狀態C。

    每次輸入的有兩個隱藏狀態,同時也有兩個隱藏狀態輸出

    • 遺忘門

    ft=σ(Wf?[ht?1,xt]+bf)f_t = \sigma(W_f·[h_{t-1}, x_t] + b_f) ft?=σ(Wf??[ht?1?,xt?]+bf?)

    • 記憶門

    it=σ(Wi?[ht?1,xt]+bi)i_t = \sigma(W_i·[h_{t-1}, x_t] + b_i) it?=σ(Wi??[ht?1?,xt?]+bi?)

    C~t=tanh(WC?[ht?1,xt]+bC)\widetilde C_t = tanh(W_C·[h_{t-1}, x_t] + b_C)Ct?=tanh(WC??[ht?1?,xt?]+bC?)

    • 用于遠程傳播的C的更新

    Ct=ft?Ct?1+C~t?itC_t =f_t * C_{t-1} + \widetilde C_t * i_tCt?=ft??Ct?1?+Ct??it?

    • 輸出門(用于輸出H,而H控制輸出)

    ot=σ(Wo?[ht?1,xt]+bo)o_t = \sigma(W_o·[h_{t-1}, x_t] + b_o)ot?=σ(Wo??[ht?1?,xt?]+bo?)

    ht=ot?tanh(Ct)h_t = o_t * tanh(C_t)ht?=ot??tanh(Ct?)

    參考文獻

  • https://www.jiqizhixin.com/articles/2018-12-14-4
  • https://easyai.tech/ai-definition/rnn/
  • 總結

    以上是生活随笔為你收集整理的RNN相关模型研究的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。