Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Implementering av Nevrale Nettverk | Seksjon
Dyp Læring med TensorFlow
Seksjon 1. Kapittel 15
single

single

bookImplementering av Nevrale Nettverk

Sveip for å vise menyen

Du har nådd et punkt hvor du har den nødvendige kunnskapen om TensorFlow til å lage nevrale nettverk på egen hånd. Selv om de fleste nevrale nettverk i praksis er komplekse og vanligvis bygges med høynivå-biblioteker som Keras, skal vi konstruere et grunnleggende nettverk ved hjelp av grunnleggende TensorFlow-verktøy. Denne tilnærmingen gir praktisk erfaring med lavnivå tensor-manipulering, noe som hjelper oss å forstå de underliggende prosessene.

I tidligere kurs som Introduction to Neural Networks, husker du kanskje hvor mye tid og arbeid det tok å bygge selv et enkelt nevralt nettverk, der hver nevron ble behandlet individuelt.

TensorFlow forenkler denne prosessen betydelig. Ved å bruke tensorer kan du innkapsle komplekse beregninger, noe som reduserer behovet for innviklet koding. Hovedoppgaven vår er å sette opp en sekvensiell kjede av tensor-operasjoner.

Her er en kort oppsummering av stegene for å få i gang en treningsprosess for et nevralt nettverk:

Datapreparering og modellopprettelse

Den innledende fasen av treningen av et nevralt nettverk innebærer å forberede dataene, som omfatter både input og output som nettverket skal lære fra. I tillegg fastsettes modellens hyperparametre – dette er parametere som forblir konstante gjennom hele treningsprosessen. Vektene initialiseres, vanligvis trukket fra en normalfordeling, og biasene, som ofte settes til null.

Fremoverpropagasjon

I fremoverpropagasjon følger hvert lag i nettverket vanligvis disse trinnene:

  1. Multipliser lagets input med dets vekter.
  2. Legg til en bias til resultatet.
  3. Bruk en aktiveringsfunksjon på denne summen.

Deretter kan tapet beregnes.

Bakoverpropagasjon

Neste steg er bakoverpropagasjon, hvor vekter og biaser justeres basert på deres innvirkning på tapet. Denne innvirkningen representeres av gradienten, som TensorFlow sin Gradient Tape beregner automatisk. Vekter og biaser oppdateres ved å trekke fra gradienten, skalert med læringsraten.

Treningssløyfe

For å trene nevrale nettverk effektivt, gjentas treningsstegene flere ganger mens modellens ytelse overvåkes. Ideelt sett bør tapet reduseres over epoker.

Oppgave

Swipe to start coding

Lag et nevralt nettverk designet for å forutsi utfallene av XOR-operasjonen. Nettverket skal bestå av 2 input-nevroner, et skjult lag med 2 nevroner, og 1 output-nevron.

  1. Start med å sette opp initiale vekter og biaser. Vektene skal initialiseres ved hjelp av en normalfordeling, og alle biaser skal initialiseres til null. Bruk hyperparametrene input_size, hidden_size og output_size for å definere riktige former for disse tensorene.
  2. Benytt en funksjonsdekoratør for å gjøre om train_step()-funksjonen til en TensorFlow graf.
  3. Utfør fremoverpropagering gjennom både det skjulte og utgangslaget i nettverket. Bruk sigmoid aktiveringsfunksjon.
  4. Bestem gradientene for å forstå hvordan hver vekt og bias påvirker tapet. Sørg for at gradientene beregnes i riktig rekkefølge, tilsvarende navnene på utgangsvariablene.
  5. Endre vektene og biasene basert på deres tilsvarende gradienter. Inkluder learning_rate i denne justeringsprosessen for å kontrollere størrelsen på hver oppdatering.

Løsning

Konklusjon

Siden XOR-funksjonen er en relativt enkel oppgave, er det ikke behov for avanserte teknikker som hyperparameterjustering, datasett-deling eller bygging av komplekse datapipelines på dette stadiet. Denne øvelsen er bare et steg mot å bygge mer sofistikerte nevrale nettverk for virkelige applikasjoner.

Å mestre disse grunnleggende prinsippene er avgjørende før man går videre til avanserte teknikker for konstruksjon av nevrale nettverk i kommende kurs, hvor vi vil bruke Keras-biblioteket og utforske metoder for å forbedre modellkvaliteten med TensorFlows omfattende funksjoner.

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 15
single

single

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

some-alt