Mecanisme de gating

De testwiki
Salta a la navegació Salta a la cerca

A les xarxes neuronals, el mecanisme de gating és un motiu arquitectònic per controlar el flux de senyals d'activació i gradient. S'utilitzen de manera més destacada en xarxes neuronals recurrents (RNN), però també han trobat aplicacions en altres arquitectures.[1]

RNN

Els mecanismes de gating són la peça central de la memòria a llarg termini (LSTM).[2] Es van proposar per mitigar el problema del gradient de desaparició que sovint es troben els RNN habituals.

Una unitat LSTM conté tres portes:

  • Una porta d'entrada, que controla el flux de nova informació a la cel·la de memòria
  • Una porta d'oblit, que controla quanta informació es conserva del pas de temps anterior
  • Una porta de sortida, que controla quanta informació es passa a la capa següent.

Les equacions per a LSTM són: [3]

𝐈t=σ(𝐗t𝐖xi+𝐇t1𝐖hi+𝐛i)𝐅t=σ(𝐗t𝐖xf+𝐇t1𝐖hf+𝐛f)𝐎t=σ(𝐗t𝐖xo+𝐇t1𝐖ho+𝐛o)𝐂~t=tanh(𝐗t𝐖xc+𝐇t1𝐖hc+𝐛c)𝐂t=𝐅t𝐂t1+𝐈t𝐂~t𝐇t=𝐎ttanh(𝐂t)

Aquí,

representa la multiplicació per elements.

La unitat recurrent gated (GRU) simplifica el LSTM.[4] En comparació amb el LSTM, el GRU només té dues portes: una porta de restabliment i una porta d'actualització. GRU també fusiona l'estat de la cel·la i l'estat ocult. La porta de restabliment correspon aproximadament a la porta d'oblit, i la porta d'actualització correspon aproximadament a la porta d'entrada. S'elimina la porta de sortida.

Hi ha diverses variants de GRU. Una variant concreta té aquestes equacions: [5]

𝐑t=σ(𝐗t𝐖xr+𝐇t1𝐖hr+𝐛r)𝐙t=σ(𝐗t𝐖xz+𝐇t1𝐖hz+𝐛z)𝐇~t=tanh(𝐗t𝐖xh+(𝐑t𝐇t1)𝐖hh+𝐛h)𝐇t=𝐙t𝐇t1+(1𝐙t)𝐇~t

Unitat lineal tancada

Gated Linear Units (GLU) [6] adapten el mecanisme de gating per utilitzar-lo en xarxes neuronals d'alimentació anticipada, sovint dins d'arquitectures basades en transformadors. Es defineixen com:

GLU(a,b)=aσ(b)on

a,b són la primera i la segona entrada, respectivament. σ representa la funció d'activació del sigmoide.

Substituint σ amb altres funcions d'activació condueix a variants de GLU:

ReGLU(a,b)=aReLU(b)GEGLU(a,b)=aGELU(b)SwiGLU(a,b,β)=aSwishβ(b)

on ReLU, GELU i Swish són funcions d'activació diferents (vegeu aquesta taula per a les definicions).

En els models de transformadors, aquestes unitats de porta s'utilitzen sovint en els mòduls d'alimentació anticipada. Per a una entrada vectorial única, això resulta en:

GLU(x,W,V,b,c)=σ(xW+b)(xV+c)Bilinear(x,W,V,b,c)=(xW+b)(xV+c)ReGLU(x,W,V,b,c)=max(0,xW+b)(xV+c)GEGLU(x,W,V,b,c)=GELU(xW+b)(xV+c)SwiGLU(x,W,V,b,c,β)=Swishβ(xW+b)(xV+c)

El mecanisme de gating s'utilitza a les xarxes d'autopistes, que es van dissenyar desenrotllant un LSTM.

Channel gating [7] utilitza una porta per controlar el flux d'informació a través de diferents canals dins d'una xarxa neuronal convolucional (CNN).

Referències

Plantilla:Referències