為什麼RNN每個時間步要用相同的W?

時間 2021-06-09 20:16:25

1樓:

初衷:We need a neural architecture that can process any length input.(From CS224N)

從多層網路出發到迴圈網路,我們需要利用20世紀80年代機器學習和統計模型早期思想的優點:在模型的不同部分共享引數。引數共享使得模型能夠擴充套件到不同形式的樣本(這裡指不同長度的樣本)並進行泛化。

如果我們在每個時間點上都有乙個單獨的引數,不但不能泛化到訓練時沒有見過的序列長度,也不能在時間上共享不同序列長度和不同位置的統計強度。(From Goodfellow:序列建模)

這樣的好處還有:像CNN網路一樣可以減少參數量。

2樓:Pelhans

如果在每個時間點都有乙個單獨的引數,不但不能泛化到訓練時沒有見過的序列長度,也不能在時間上共享不同序列長度和不同位置的統計強度。當資訊的特定部分會在序列內多個位置出現時,共享引數就顯得特別重要。--摘自GoodFellow 的深度學習

3樓:迷途小書童

從優化角度:可以節省memory的使用,特別是用GPU的時候。比如說RNN在NLP中的使用,一般引數 的size是大概 .

那如果引數不相同,有100個位置的話,就會有100萬個引數。GPU是受不鳥的。

從模型角度看的話,如果每個位置的 不一樣的話,該定多少個 呢?比如句子最長100,你定100個 但是有乙個句子長度101的時候怎麼辦?

從上面那個實際運用的角度來看,用不一樣的 都不太合理。

4樓:劉洪斌

為了實現可變長度必須共享啊,如果每步乙個權重,不同長度的輸入權重的個數也不一樣,那沒法實現。 這是RNN跟FNN的根本區別。

5樓:silver bullet

乙個是和cnn一樣減少引數數量。因為乙個時間步的引數本身就不少,所以引數共享。

另外功能一樣,都是捕捉前乙個狀態並傳到下乙個時刻。

個人一點理解

為什麼每個面大小形狀都相同的規多面體只有五種?

所有正多面體的相關於頂點數 V 稜數 E 和面數 F 的性質都可以由每個面上的邊 稜 的數目 p 和每個頂點出發的稜的數目 q 給出。由於每條稜有兩個頂點又在兩個面上,我們有 另乙個關係是尤拉公式 這個不顯然的事實可以通過多種途徑證明。在幾何拓撲中,這是因為球面的尤拉示性數是 2。上面三個等式可以解...

為什麼說氣體流過翼形上下表面時間相同,從而判斷說是由此產生了公升力?為什麼上表面流速快於下表面?

卯錨 非常棒的問題,贊乙個 題主能夠有這樣的問題,其實已經意識到一件事,就是題主已經不相信憑藉日常生活經驗,加上對陌生領域並不全面的觀察,再加上似是而非的 科普式 理解,就能夠使題主滿意自然界的事物執行規律了。你需要更加深度的物理知識,以及相關數學模型的物理解釋。新世界的大門向你開啟 公升力是由機翼...

相同時間內,為什麼跑步比爬坡累,消耗的熱量卻沒爬坡多?

跑步小哥 所以跑步小哥認為要鍛鍊心肺功能要多做一些跑步類的有氧訓練,在有氧運動的同時交叉做一些腿部肌肉的力量訓練也是很有必要的,能夠較大的增強體能,打好健身基礎。作為乙個勇於去運動的人都應該多去嘗試不同的運動方式,讓運動從運動中能找到更多的樂趣。跑步小哥認為運動方式沒有最好的,通過不斷的去嘗試可以找...