Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Hur Fungerar RNN? | Sektion
/
Modellering av sekventiell data

bookHur Fungerar RNN?

Svep för att visa menyn

Note
Definition

Rekurrenta neurala nätverk (RNN) är utformade för att hantera sekventiell data genom att behålla information från tidigare indata i sina interna tillstånd. Detta gör dem idealiska för uppgifter som språkmodellering och sekvensprediktion.

Avståndsmått
  • Sekventiell bearbetning: RNN bearbetar data steg för steg och håller reda på vad som har kommit tidigare;
  • Meningskomplettering: givet den ofullständiga meningen "My favourite dish is sushi. So, my favourite cuisine is _____." bearbetar RNN orden ett i taget. Efter att ha sett "sushi" förutspår den nästa ord som "Japanese" baserat på tidigare kontext;
  • Minne i RNN: vid varje steg uppdaterar RNN sitt interna tillstånd (minne) med ny information, vilket säkerställer att kontexten bevaras för framtida steg;
  • Träning av RNN: RNN tränas med backpropagation through time (BPTT), där fel skickas bakåt genom varje tidssteg för att justera vikter för bättre prediktioner.

Framåtriktad Propagering

Under framåtriktad propagering bearbetar RNN indata steg för steg:

  1. Indata vid tidssteg tt: nätverket tar emot en indata xtx_t vid varje tidssteg;
  2. Uppdatering av dolt tillstånd: det aktuella dolda tillståndet hth_t uppdateras baserat på föregående dolda tillstånd ht1h_{t-1} och aktuell indata xtx_t enligt följande formel:
ht=f(W[ht1,xt]+b) h_t = f \left( W \cdot \left[ h_{t-1},x_t \right] + b \right)
  • Där:
    • WW är viktmatrisen;
    • bb är biasvektorn;
    • ff är aktiveringsfunktionen.
  1. Generering av utdata: utdatan yty_t genereras baserat på det aktuella dolda tillståndet hth_t enligt formeln:
yt=g(Vht+c)y_t = g(V \cdot h_t + c)
  • Där:
    • VV är utdataviktsmatrisen;
    • cc är utdatas bias;
    • gg är aktiveringsfunktionen som används i utdatalagret.

Backpropageringsprocess

Backpropagering i RNN är avgörande för att uppdatera vikterna och förbättra modellen. Processen anpassas för att ta hänsyn till RNN:ers sekventiella natur genom backpropagering genom tid (BPTT):

  1. Felkalkylering: det första steget i BPTT är att beräkna felet vid varje tidssteg. Detta fel är vanligtvis skillnaden mellan det förutsagda resultatet och det faktiska målet;
  2. Gradientberäkning: i rekurrenta neurala nätverk beräknas gradienterna av förlustfunktionen genom att derivera felet med avseende på nätverksparametrarna och propageras bakåt genom tiden från sista till första steget, vilket kan leda till försvinnande eller exploderande gradienter, särskilt i långa sekvenser;
  3. Viktuppdatering: när gradienterna har beräknats uppdateras vikterna med en optimeringsteknik såsom stokastisk gradientnedstigning (SGD). Vikterna justeras så att felet minimeras i framtida iterationer. Formeln för att uppdatera vikterna är:
W:=WηLossW W := W - \eta \frac{\partial \text{Loss}}{\partial W}
  • Där:
    • η\eta är inlärningshastigheten;
    • LossW\frac{\partial \text{Loss}}{\partial W} är gradienten av förlustfunktionen med avseende på viktmatrisen.

Sammanfattningsvis är RNN kraftfulla eftersom de kan komma ihåg och använda tidigare information, vilket gör dem lämpliga för uppgifter som involverar sekvenser.

question mark

Vad är funktionen för funktionen gg i utdataekvationen yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 2
some-alt