iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0

RNN,名稱叫做循環神經網路,而為什麼叫做循環,意思就是能不斷的輸出之後再輸入。
出現RNN的原因是為針對序列概念的東西,像是文字(一個字出現以後它的下一個將會出現什麼字,取決於機率)、影片(可以說是很多張圖片所連續構成的)、聲音(也是每一個音或音節,它的下一個會接什麼音也取決於機率)。
了解上面的序列概念後,舉例來說:輸入一串字串(nice),因為我們知道要出現這個詞,因此在n這個字母出現後要讓出現i的這個機率變大,所以如果訓練所獲得的結果和預期的不同,就要調整讓出現i的這個機率增大。
既然叫做循環了那前面的出現時序較早的人是可以影響後面的序列的,那想當然輸出的序列也能影響到前面時序較早的輸入囉。

RNN的缺點是出現在前面的資料對於決定後面資料的影響程度就很小,也就是所謂的短期記憶,對於時間過久的資料會無法知道彼此間的關係,和人一樣,記憶不長久。這時候就需要長短記憶(Long Short Term Memory,縮寫LSTM)彌補對於長期記憶上的缺失。
舉例來說循環神經網路:小學安親班每天都要接送學童放學到安親班,然後安親班都會準備點心給孩童吃,因此小孩熟悉安親班之後就會開始去猜明天吃什麼而期待。像是今天吃布丁,明天吃綠豆湯,後天吃麵包。然而假設安親班要維護食品安全以及方便性,因此基本上點心都是一週一週的循環,日子一久小孩自己也會發現規律,但如果剛好生病是不是就不能推測明天的餐點了?答案是可以的,我們能透過更之前的資料去推測。
因此將這些點心資料(布丁、綠豆湯、麵包)轉換為向量的表示方式,將輸入和輸出的東西都轉換成向量資料,收集成三組向量(預測今天吃什麼、今天結果吃甚麼、預測明天吃甚麼),但是現實生活的長期記憶連人都不好了,機器要怎麼做長期記憶呢?
因此發展出了
LTSM: 可以分為Input Gate、Output Gate、Memory Cell以及Forget Gate,這四個組成。****
他可以運用像是閘門開關的方式決定哪些資訊要留下,哪些要忘記,像是上述的例子,因為突然小朋友過生日因此他媽媽特定準備蛋糕當大家的點心,如此一來這筆資料就是特別的一筆,留下這筆資料可能影響日後的預測,因此可以選擇遺忘掉這筆資料。
參考資料:
https://medium.com/@baubibi/%E9%80%9F%E8%A8%98ai%E8%AA%B2%E7%A8%8B-%E6%B7%B1%E5%BA%A6%E5%AD%B8%E7%BF%92%E5%85%A5%E9%96%80-%E4%BA%8C-954b0e473d7f
https://kknews.cc/zh-tw/news/6jnmq3.html
https://medium.com/@tengyuanchang/%E6%B7%BA%E8%AB%87%E9%81%9E%E6%AD%B8%E7%A5%9E%E7%B6%93%E7%B6%B2%E8%B7%AF-rnn-%E8%88%87%E9%95%B7%E7%9F%AD%E6%9C%9F%E8%A8%98%E6%86%B6%E6%A8%A1%E5%9E%8B-lstm-300cbe5efcc3
https://medium.com/data-scientists-playground/lstm-%E6%B7%B1%E5%BA%A6%E5%AD%B8%E7%BF%92-%E8%82%A1%E5%83%B9%E9%A0%90%E6%B8%AC-cd72af64413a


上一篇
<Day13>Talking about Deep Learning-CNN
下一篇
<Day15> CNN or RNN using on?
系列文
了解Ai相關技術並展望其發展30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言