學習日誌 深度學習 李巨集毅 RNN 第二講

2021-10-17 04:24:28 字數 1011 閱讀 7296

首先要保證訓練集的順序是有意義的(比如語義訓練)

優化器也是用梯度下降,但是為了計算方便,發明了bp演算法的高階版本—bptt

但是這裡沒有細講,反正到時候都是直接呼叫的,大致和bp差不多

rnn的訓練和一般網路不太一樣,rnn的損失值對於引數的變化是非常陡峭的。

那麼在訓練時會有兩種情況發生:踩在平原上 or 踩在懸崖上

踩在平原上,梯度很小,只能盲目update,如果湊巧跨過懸崖的話loss會劇烈變化

踩在懸崖上,梯度很大,很可能步子太大扯到蛋

那麼要怎麼解決這個問題呢?—clipping 就是給梯度乙個上限,防止它步子太大

為什麼rnn會有這種特性呢?

上圖中可以看到,由於迴圈的特性導致引數對輸出的影響極大。

且在1左側梯度小,在1右側梯度大。(梯度**、梯度消失)

如何解決這個問題? — lstm可以解決梯度消失的問題

在樸素rnn中,記憶單元是擦除式記憶的,本次完全覆蓋上次

在lstm中,記憶單元有forgetgate存在,上次的結果會部分留存下來(有點類似於動量)

那麼如果本次結果為零的話,在樸素rnn中梯度就消失了,但是在lstm中上次的動量會被部分保留

這裡也不詳細講,大概和lstm的三門差不多。

gru的input門和forget門是聯動的

(舊的不去,新的不來,忘多少,學多少)

輸入和輸出都是sequence的(大概是有順序的),但是輸入和輸出的長短並不確定

包括同聲傳譯、閱讀理解、看圖理解

這裡又提到了hmm、crf、svm ,都還沒學過,跳過了。。。下課

學習日誌 深度學習 李巨集毅 網路壓縮

網路中有很多神經元的輸出總是0,或者有某些權重非常接近0,那麼這些划水的就可以被去掉了.修剪過程 評估 去除 再訓練 為什麼要修剪?而不是直接訓小的網路呢.1.大的網路的區域性最優比較少,容易收斂 2.大樂透假設 大的網路設定了乙個隨機權重 通過訓練和修剪之後,得到了小的網路.如果用乙個和該小網路相...

學習日誌 深度學習 李巨集毅 指標網路

需要解決的都是一些演算法問題,比如 在輸入點中選擇盡可能少的點,使這些點的連線能包住其他所有點 因為輸入和輸出都是序列,符合s2s的情景 但是有乙個問題 s2s在輸出的時候是在乙個範圍內做多道選擇題,也就是必須給出答案的範圍 當輸入的數量發生變化,超出訓練時的最大範圍之後,模型就失效了 拋棄了seq...

李巨集毅《深度學習》 深度學習簡介

深度學習分為三部分 定義一系列方程,計算方程的loss,然後選出最好的方程 深度學習神經網路類似於人類的大腦的神經網路,每個方程可以看做乙個神經元,不同神經元連線會產生不同結果,在這裡我們介紹一下fully connect feedforward network 每個神經元都與下一層全部的神經元連線...