Gated Recurrent Unit (GRU)

前言

由於存在vanishing gradient的問題,讓兩個距離很遠sequence data(ex. 文字),很難建立相連的關係,所以提出了GRU來解決這樣的問題。

內容

  • RNN unit

  • 2個input。
    • xt,當前的input。
    • at-1,之前所生成output。
  • 進行線性組合(tanh),產生at。
  • 將at分成兩條路送出。
    • 送到下個unit,當input。
    • 經過sigmoid或softmax,產生y^。
  • GRU (simplified)

  • ct(memory cell) = at
  • 與上面傳統的RNN unit有兩個差異的部分。

    • Tu(用sigmoid),會介於0~1,大部分的值都會接近於0或接近於1。
    • Tu跟C~t(就是RNN unit中的at)的合併,利用Tu來當開關,來決定Ct是否要更新。
      • 若Tu=0,就不更新,則用前一個ct-1。
      • 若Tu=1,更新,則用目前的ct。
  • 利用Tu=0,來記住單數的cat,把單數訊息一直傳遞下去,直到遇到動詞,才可以正確選擇動詞性態was,在把Tu設置為1。

  • ct會是一個vector,這樣才處理每個詞的記憶的處理。
  • Full GRU

  • 跟simple GRUt有兩個差異的部分。
    • Tr。
    • C~t的計算。

該學到的

  • GRU單元,是如何解決vanishing gradient的問題。

results matching ""

    No results matching ""