LSTM演算法原理理解

2022-09-06 05:15:07 字數 1200 閱讀 7486

神經網路

模擬人類大腦神經網路結構,每個神經元和其他的神經元相互連線,當它興奮的時候會向相連的神經元傳送化學物質,從而改變神經元的電位,當神經元的電位超過閾值,它會被啟用,向其他神經元傳送化學物質。其實神經網路的本質就是學習從輸入到輸出的函式對映,因為遇到乙個未知的問題,無法對問題進行函式建模,利用神經網路學習出函式模型,這個學習的結果最終其實是每一層神經元的權重。

因為啟用函式就是乙個非線性函式,當如果每一層神經元後不新增啟用函式,那麼輸出其實就是輸入的線性組合,不管網路有多少層,輸出就是輸入的線性組合。常見的啟用函式有tanh(-1,1),sigmod(0,1),relu[0,1)。

rnn

普通的神經網路假設輸入和輸入之間是相互獨立的,但是很多時候人類理解事物都是基於上下文的。rnn和普通的神經網路的區別在於,不僅僅每層之間的神經元存在連線,同一層之間的神經元也存在連線,上乙個時刻的狀態能作用與下乙個時刻的狀態。但是當網路層數過深的時候,rnn不好訓練,可能會造成梯度消失或是梯度**的問題。rnn採用基於時間的反向傳播法(bptt)進行訓練,這種訓練方法也是一種梯度下降法。當網路結構太深,造成網路結構太深,網路權重不穩定,本質來說是因為梯度反向傳播中的連乘效應。

當梯度消失時,會造成神經網路引數無法更新,停止了學習。梯度**則是更新速率太快,大幅度更新網路權重,可能無法學習到權重最佳值,也可能造成權重值為nan而無法更新權重。

rnn圖示結構:

rnn無法解決長期依賴問題,輸出和前面很長一段序列有關。lstm則設計用來解決這種問題,lstm相比rnn來說,就是新增了三個門:遺忘門,輸入門,輸出門。

遺忘門:決定從細胞狀態中丟棄什麼資訊

輸入門:決定讓多少新的資訊加入細胞狀態,這一步將輸出細胞狀態

輸出門:確定輸出值,該輸出值基於細胞狀態 

CSS 原理理解

網頁製作最初,html規定了 normal document stream 標準文件流 來規範元素在網頁中的顯示法則 標準文件流中元素分兩種 塊內元素,行內元素。行內元素的特點 span標籤 豎直margin中的塌陷現象,上下緊密排列的元素的外邊距並不是兩個元素外邊距之和,而是選取那個最大的外邊距作...

Spring IOC原理理解

ioc,inversion of control,控制倒轉。這是spring的核心,貫穿始終。所謂ioc,對於spring框架來說,就是由spring來負責控制物件的生命週期和物件間的關係。di,dependency injection,依賴注入。在系統執行中,動態的向某個物件提供它所需要的其他物件...

ROI Align 原理理解

對背景問題的理解 之前一直在想乙個問題 乙個label在原圖上標記出乙個包含目標的區域。這個框在特徵提取後,大小被縮小到了什麼程度?如果這個label框本身就不大,那麼經過幾層池化之後,是不是在最後的feature map上都沒有乙個位置,能夠對應到這個區域?目標在特徵提取過程中,由於這種深度結構導...