本文轉載自微信公眾號「活在資訊時代」,作者活在資訊時代。轉載本文請聯絡活在資訊時代公眾號。
循環神經網路(Recurrent Neural Network,RNN)主要是用來解決序列資料問題。它之所以成為循環神經網絡,是因為一個序列的當前輸出與前面的輸出也是有關的。 RNN網路對先前時刻的資訊進行記憶,並運用到當前輸出計算中,與卷積神經網路不同,循環神經網路隱藏層之間的神經元是相互連接的,隱藏層中神經元的輸入是由輸入層的輸出和上一刻隱藏神經元的輸出共同構成。雖然RNN網路取得了一些顯著成果,但是有一些缺點和局限,如:訓練難度大、準確度低、效率低、時間長等,故基於RNN之上的一些改進的網絡模型逐漸被研發出來,如:長短時間記憶網(Long Short-Term Memory,LSTM),雙向RNN,雙向LSTM、GRU等。這些改進的RNN模型在影像辨識領域中展現了顯出的效果,並被廣泛應用。以LSTM網路為例,介紹下其主要網路結構。
長短時間記憶網路(Long Short-Term Memory,LSTM)解決了RNN存在著梯度消失或梯度爆炸等問題,可以學習長期依賴問題。其結構如下。
LSTM有三個閘門來讓資訊選擇式通過:遺忘閘、輸入閘、輸出閘。其中遺忘門決定著哪些訊息可以通過這個cell。它透過一個sigmoid神經層來實現。它的輸入是,輸出是一個數值在(0,1)之間的向量,表示著讓的各部分資訊通過的比重。 0表示“不讓任何資訊通過”,1表示“讓所有資訊通過”。
輸入閘決定著讓多少新的資訊加入cell狀態中來,一個tanh層產生一個向量,也就是備選的用來更新的內容。
更新cell狀態:
輸出閘決定中的哪部分資訊被輸出:
GRU網路模型也同樣解決了RNN存在著梯度消失或梯度爆炸等問題,能夠學習長期依賴關係,是LSTM的變形,結構比LSTM簡單,具有較少的參數,訓練時間也較LSTM縮短。也廣泛應用於語音辨識、影像描述、自然語言處理等場景。
以上是聊聊影像辨識:循環神經網絡的詳細內容。更多資訊請關注PHP中文網其他相關文章!