传统的RNN网络不能捕捉长期依赖,且随着训练层数的增加容易产生梯度消失问题,基于此,Yu Young Chang等人提出了GRU单元。
 GRU单元的核心思想:
如何做到:
 通过对普通RNN隐藏层单元的修改,
普通RNN隐藏层单元:
 
    
     
      
       
        
         a
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        =
       
       
        g
       
       
        (
       
       
        
         W
        
        
         a
        
       
       
        [
       
       
        
         a
        
        
         
          t
         
         
          −
         
         
          1
         
        
       
       
        ,
       
       
        
         x
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        ]
       
       
        +
       
       
        
         b
        
        
         a
        
       
       
        )
       
      
      
       a^{<t>} = g(W_a[a^{t-1},x^{<t>}] + b_a)
      
     
    a<t>=g(Wa[at−1,x<t>]+ba)
 GRU单元: 引入一个记忆细胞向量 
    
     
      
       
        
         c
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
      
      
       c^{<t>}
      
     
    c<t>,更新门向量
    
     
      
       
        
         Γ
        
        
         u
        
       
      
      
       \Gamma_u
      
     
    Γu,相关门向量
    
     
      
       
        
         Γ
        
        
         r
        
       
      
      
       \Gamma_r
      
     
    Γr
 具体公式:
 更新记忆细胞:
 
    
     
      
       
        
         
          c
         
         
          ~
         
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        =
       
       
        t
       
       
        a
       
       
        n
       
       
        h
       
       
        (
       
       
        
         W
        
        
         c
        
       
       
        [
       
       
        
         Γ
        
        
         r
        
       
       
        ∗
       
       
        
         c
        
        
         
          <
         
         
          t
         
         
          −
         
         
          1
         
         
          >
         
        
       
       
        ,
       
       
        
         x
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        ]
       
       
        +
       
       
        
         b
        
        
         c
        
       
       
        )
       
      
      
       \tilde{c}^{<t>} = tanh(W_c[\Gamma_r *c^{<t-1>},x^{<t>}] + b_c)
      
     
    c~<t>=tanh(Wc[Γr∗c<t−1>,x<t>]+bc)
 更新门:
 
    
     
      
       
        
         Γ
        
        
         u
        
       
       
        =
       
       
        σ
       
       
        (
       
       
        
         W
        
        
         u
        
       
       
        [
       
       
        
         c
        
        
         
          <
         
         
          t
         
         
          −
         
         
          1
         
         
          >
         
        
       
       
        ,
       
       
        
         x
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        ]
       
       
        +
       
       
        
         b
        
        
         u
        
       
      
      
       \Gamma_u = \sigma(W_u[c^{<t-1>},x^{<t>}] + b_u
      
     
    Γu=σ(Wu[c<t−1>,x<t>]+bu
 相关门:
 
    
     
      
       
        
         Γ
        
        
         r
        
       
       
        =
       
       
        σ
       
       
        (
       
       
        
         W
        
        
         r
        
       
       
        [
       
       
        
         c
        
        
         
          <
         
         
          t
         
         
          −
         
         
          1
         
         
          >
         
        
       
       
        ,
       
       
        
         x
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        ]
       
       
        +
       
       
        
         b
        
        
         r
        
       
      
      
       \Gamma_r = \sigma(W_r[c^{<t-1>},x^{<t>}]+b_r
      
     
    Γr=σ(Wr[c<t−1>,x<t>]+br
 更新记忆细胞公式:
 
    
     
      
       
        
         c
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        =
       
       
        
         Γ
        
        
         u
        
       
       
        ∗
       
       
        
         
          c
         
         
          ~
         
        
        
         
          <
         
         
          t
         
         
          >
         
        
       
       
        +
       
       
        (
       
       
        1
       
       
        −
       
       
        
         Γ
        
        
         u
        
       
       
        )
       
       
        +
       
       
        
         c
        
        
         
          <
         
         
          t
         
         
          −
         
         
          1
         
         
          >
         
        
       
      
      
       c^{<t>} =\Gamma_u*\tilde{c}^{<t>}+(1-\Gamma_u) + c^{<t-1>}
      
     
    c<t>=Γu∗c~<t>+(1−Γu)+c<t−1>










