怎么理解 RNN 循环神经网络工作原理? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
James369
V2EX    机器学习

怎么理解 RNN 循环神经网络工作原理?

  •  
  •   James369 302 天前 2715 次点击
    这是一个创建于 302 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对于简单的网络(网络结构是固定不变的,静态的),比如全连接的我可以理解,是训练一个函数:
    y = f(x, θ)
    这里函数 f 的定义是固定的。那么,只要输入一组 x 和 y ,就可以训练出θ。


    但是对于 RNN ,我不大理解的是:
    1. 它的网络结构是不定的,多重的。假如循环了 n 次,相当于要训练 n 个函数: f1(x,θ), f2(x,θ),,, fn(x,θ).
    2. 对于这样多重的网络结构,它是怎么训练收敛的?
    3. 后面输入进来训练的 x ,是否会对前面已经训练好的θ产生影响(类似灾难性遗忘)
    12 条回复    2024-12-29 08:28:16 +08:00
    Int100
        1
    Int100  
       302 天前 via iPhone
    建议老老实实找份教材,系统学习一下
    James369
        2
    James369  
    OP
       302 天前
    @Int100 老老实实的系统学,估计得学一年多
    Sawyerhou
        3
    Sawyerhou  
       302 天前 via Android
    1 ,没有 n 个函数,只有一个函数,该函数被使用了 n 次
    2 ,并不一定收敛,有的数据用 rnn 就是跑不出来
    3 ,会,在这种情况下可以换用 lstm 或者 gru 之类的带记忆的门控模型
    lrigi
        4
    lrigi  
       302 天前 via iPhone
    建议 b 站找个视频看看
    Ericality
        5
    Ericality  
       302 天前   1
    (直接贴总结部分了)
    一下来源于 gpt:
    总结
    RNN 的网络结构是固定的,权重是共享的,所有时间步使用相同的参数 θ。
    通过时间的反向传播( BPTT ) 是 RNN 收敛的核心机制,优化整个序列的损失函数。
    后续输入会影响模型参数,但不会导致灾难性遗忘,LSTM/GRU 等机制可以进一步缓解序列过长导致的信息丢失问题。
    你这个问题 本身就是 rnn 基础结构可能都没搞清楚就问的 更多的是你就理解了个概念(当然可能是我理解的有问题) 就来提问 还不想系统学 那建议还是 gpt 问问吧 但是就算是 gpt 要解释这几个问题 也要牵扯到很多概念 比如反向传播 比如梯度爆炸/消失等 那其实为了理解他所说的 还是要先学习了才行
    所以建议如果想学的话 还是不要投机取巧 不然一个答案只会牵扯出更多问题.....
    JeffreyZhuang
        6
    JeffreyZhuang  
       302 天前
    业余人士回答下,

    1. 没有 n 个函数,他们的 θ 一致,举个简单的例子
    (y0, h1) = f(x1, θ, h0)
    (y1, h2) = f(x2, θ, h1)
    ...
    最后 y{0...N} 再经一 个 fc 网络得到最终的结果。其中 h 是 cell 输出的 hidden state; h0 是初始 hidden state 。
    2. 不保证
    3. 会。cell 之间传递的 h 会产生 vanishing gradient problem
    565656
        7
    565656  
       302 天前
    rnn 已经过时了,只能按照顺序执行,
    jimrok
        8
    jimrok  
       302 天前
    1. RNN 是一种简单的网络结构,他只能应对一些简单的序列,并不是训练 n 个函数,而是尽量记住你给的序列,找到可能最好的θ,来预测输出。但这种简单的网络,只能记住一些简单的序列特征,跟 LLM 相比,就是草履虫和人脑的差别。

    2. 不太可能收敛,对简单的序列数据应该收敛。比如发送的信息是 SOS ,SOS ,识别出来就报警。这个可能能收敛,再复杂的序列,你用来预测客户的问询,基本效果不好。

    3. 会,本身网络简单,记不住那么多内容,继续变换输入,基本前面的θ会被干废掉。
    balalaFairty
        9
    balalaFairty  
       302 天前
    @James369 一年多学会了,往后走基础更扎实岂不美哉。
    frayesshi1
        10
    frayesshi1  
    PRO
       301 天前
    rnn 已经过时了,用 LSTM ,LSTM 在 cnn 基础上加一层,或者直接使用 transform ,先"嵌入"把你输入的 token 转换成数组,再加"注意力",经过网络后算出下一个 token
    iambic
        11
    iambic  
       301 天前
    CNN 是在空间维度上复用参数,RNN 则是在时间维度上复用参数
    James369
        12
    James369  
    OP
       299 天前
    @iambic 有点意思,也就是说 CNN 和 RNN 都是在识别一个分布,只不过前者是空间上的分布,而后者是时间上的分布。虽然还不知道数学上是怎么推导的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5225 人在线   最高记录 6679      Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 07:44 PVG 15:44 LAX 00:44 JFK 03:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86