Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Hvordan RNN Fungerer? | Introduksjon til RNN-er
Introduksjon til RNN-er

bookHvordan RNN Fungerer?

Rekurrente nevrale nettverk (RNN-er) er utviklet for å håndtere sekvensielle data ved å beholde informasjon fra tidligere inndata i sine interne tilstander. Dette gjør dem ideelle for oppgaver som språkmodellering og sekvensprediksjon.

  • Sekvensiell prosessering: RNN behandler data steg for steg, og holder oversikt over hva som har kommet tidligere;
  • Setningsfullføring: gitt den ufullstendige setningen "My favourite dish is sushi. So, my favourite cuisine is _____." behandler RNN ordene én etter én. Etter å ha sett "sushi", forutsier den neste ord som "Japanese" basert på tidligere kontekst;
  • Minne i RNN-er: ved hvert steg oppdaterer RNN sin interne tilstand (minne) med ny informasjon, slik at den beholder kontekst for fremtidige steg;
  • Trening av RNN: RNN-er trenes ved hjelp av tilbakepropagering gjennom tid (BPTT), der feil sendes bakover gjennom hvert tidssteg for å justere vekter for bedre prediksjoner.

Fremoverpropagering

Under fremoverpropagering behandler RNN inndata steg for steg:

  1. Inndata ved tidssteg tt: nettverket mottar en inndata xtx_t ved hvert tidssteg;

  2. Oppdatering av skjult tilstand: den nåværende skjulte tilstanden hth_t oppdateres basert på forrige skjulte tilstand ht1h_{t-1} og nåværende inndata xtx_t ved hjelp av følgende formel:

    ht=f(W[ht1,xt]+b)
    • Hvor:
      • WW er vektmatrisen;
      • bb er bias-vektoren;
      • ff er aktiveringsfunksjonen.
  3. Generering av output: output yty_t genereres basert på den nåværende skjulte tilstanden hth_t ved hjelp av formelen:

    yt=g(Vht+c)

    • Hvor:
      • VV er output-vektmatrisen;
      • cc er output-bias;
      • gg er aktiveringsfunksjonen brukt i output-laget.

Tilbakepropageringsprosess

Tilbakepropagering i RNN-er er avgjørende for å oppdatere vektene og forbedre modellen. Prosessen tilpasses for å ta hensyn til den sekvensielle naturen til RNN-er gjennom tilbakepropagering gjennom tid (BPTT):

  1. Feilberegning: det første steget i BPTT er å beregne feilen ved hvert tidsskritt. Denne feilen er vanligvis forskjellen mellom den predikerte utgangen og det faktiske målet;

  2. Gradientberegning: i rekurrente nevrale nettverk beregnes gradientene til tapsfunksjonen ved å derivere feilen med hensyn til nettverksparametrene og propagere dem bakover gjennom tid fra siste til første steg, noe som kan føre til forsvinnende eller eksploderende gradienter, spesielt i lange sekvenser;

  3. Vektoppdatering: når gradientene er beregnet, oppdateres vektene ved hjelp av en optimaliseringsteknikk som stokastisk gradientnedstigning (SGD). Vektene justeres slik at feilen minimeres i fremtidige iterasjoner. Formelen for å oppdatere vektene er:

    W:=WηLossW

    • Hvor:
      • η\eta er læringsraten;
      • LossW er gradienten til tapsfunksjonen med hensyn til vektmatrisen.

Oppsummert er RNN-er kraftige fordi de kan huske og benytte tidligere informasjon, noe som gjør dem egnet for oppgaver som involverer sekvenser.

question mark

Hva er rollen til funksjonen gg i utgangslikningen yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 4.55

bookHvordan RNN Fungerer?

Sveip for å vise menyen

Rekurrente nevrale nettverk (RNN-er) er utviklet for å håndtere sekvensielle data ved å beholde informasjon fra tidligere inndata i sine interne tilstander. Dette gjør dem ideelle for oppgaver som språkmodellering og sekvensprediksjon.

  • Sekvensiell prosessering: RNN behandler data steg for steg, og holder oversikt over hva som har kommet tidligere;
  • Setningsfullføring: gitt den ufullstendige setningen "My favourite dish is sushi. So, my favourite cuisine is _____." behandler RNN ordene én etter én. Etter å ha sett "sushi", forutsier den neste ord som "Japanese" basert på tidligere kontekst;
  • Minne i RNN-er: ved hvert steg oppdaterer RNN sin interne tilstand (minne) med ny informasjon, slik at den beholder kontekst for fremtidige steg;
  • Trening av RNN: RNN-er trenes ved hjelp av tilbakepropagering gjennom tid (BPTT), der feil sendes bakover gjennom hvert tidssteg for å justere vekter for bedre prediksjoner.

Fremoverpropagering

Under fremoverpropagering behandler RNN inndata steg for steg:

  1. Inndata ved tidssteg tt: nettverket mottar en inndata xtx_t ved hvert tidssteg;

  2. Oppdatering av skjult tilstand: den nåværende skjulte tilstanden hth_t oppdateres basert på forrige skjulte tilstand ht1h_{t-1} og nåværende inndata xtx_t ved hjelp av følgende formel:

    ht=f(W[ht1,xt]+b)
    • Hvor:
      • WW er vektmatrisen;
      • bb er bias-vektoren;
      • ff er aktiveringsfunksjonen.
  3. Generering av output: output yty_t genereres basert på den nåværende skjulte tilstanden hth_t ved hjelp av formelen:

    yt=g(Vht+c)

    • Hvor:
      • VV er output-vektmatrisen;
      • cc er output-bias;
      • gg er aktiveringsfunksjonen brukt i output-laget.

Tilbakepropageringsprosess

Tilbakepropagering i RNN-er er avgjørende for å oppdatere vektene og forbedre modellen. Prosessen tilpasses for å ta hensyn til den sekvensielle naturen til RNN-er gjennom tilbakepropagering gjennom tid (BPTT):

  1. Feilberegning: det første steget i BPTT er å beregne feilen ved hvert tidsskritt. Denne feilen er vanligvis forskjellen mellom den predikerte utgangen og det faktiske målet;

  2. Gradientberegning: i rekurrente nevrale nettverk beregnes gradientene til tapsfunksjonen ved å derivere feilen med hensyn til nettverksparametrene og propagere dem bakover gjennom tid fra siste til første steg, noe som kan føre til forsvinnende eller eksploderende gradienter, spesielt i lange sekvenser;

  3. Vektoppdatering: når gradientene er beregnet, oppdateres vektene ved hjelp av en optimaliseringsteknikk som stokastisk gradientnedstigning (SGD). Vektene justeres slik at feilen minimeres i fremtidige iterasjoner. Formelen for å oppdatere vektene er:

    W:=WηLossW

    • Hvor:
      • η\eta er læringsraten;
      • LossW er gradienten til tapsfunksjonen med hensyn til vektmatrisen.

Oppsummert er RNN-er kraftige fordi de kan huske og benytte tidligere informasjon, noe som gjør dem egnet for oppgaver som involverer sekvenser.

question mark

Hva er rollen til funksjonen gg i utgangslikningen yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 2
some-alt