Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Implementering af Neuralt Netværk | Sektion
Deep Learning med TensorFlow
Sektion 1. Kapitel 15
single

single

bookImplementering af Neuralt Netværk

Stryg for at vise menuen

Du er nu nået til et punkt, hvor du har den nødvendige viden om TensorFlow til selv at oprette neurale netværk. Selvom de fleste neurale netværk i praksis er komplekse og typisk bygges ved hjælp af høj-niveau biblioteker som Keras, vil vi konstruere et grundlæggende netværk ved brug af fundamentale TensorFlow-værktøjer. Denne tilgang giver praktisk erfaring med lav-niveau tensor-manipulation, hvilket hjælper med at forstå de underliggende processer.

I tidligere kurser som Introduction to Neural Networks, husker du måske, hvor meget tid og arbejde det krævede at bygge selv et simpelt neuralt netværk, hvor hver neuron blev behandlet individuelt.

TensorFlow forenkler denne proces betydeligt. Ved at udnytte tensores kan du indkapsle komplekse beregninger, hvilket reducerer behovet for indviklet kodning. Hovedopgaven er at opstille en sekventiel pipeline af tensor-operationer.

Her er en kort opsummering af trinnene for at få en træningsproces for et neuralt netværk i gang:

Dataklargøring og modeloprettelse

Den indledende fase af træning af et neuralt netværk indebærer klargøring af data, hvilket omfatter både input og output, som netværket skal lære af. Derudover fastlægges modellens hyperparametre – disse er parametre, der forbliver konstante under hele træningsprocessen. Vægtene initialiseres, typisk trukket fra en normalfordeling, og bias-værdierne, som ofte sættes til nul.

Fremadrettet Propagering

I fremadrettet propagering følger hvert lag i netværket typisk disse trin:

  1. Multiplicer lagets input med dets vægte.
  2. Læg en bias til resultatet.
  3. Anvend en aktiveringsfunktion på denne sum.

Herefter kan tab beregnes.

Bagudrettet Propagering

Næste trin er bagudrettet propagering, hvor vægte og bias justeres baseret på deres indflydelse på tabet. Denne indflydelse er repræsenteret ved gradienten, som TensorFlows Gradient Tape automatisk beregner. Vægte og bias opdateres ved at trække gradienten, skaleret med læringsraten, fra.

Træningssløjfe

For at træne det neurale netværk effektivt gentages træningstrinnene flere gange, mens modellens ydeevne overvåges. Ideelt set bør tabet falde over epoker.

Opgave

Swipe to start coding

Opret et neuralt netværk designet til at forudsige resultaterne af XOR-operationen. Netværket skal bestå af 2 inputneuroner, et skjult lag med 2 neuroner og 1 outputneuron.

  1. Start med at opsætte de indledende vægte og biaser. Vægtene skal initialiseres ved hjælp af en normalfordeling, og alle biaser skal initialiseres til nul. Brug hyperparametrene input_size, hidden_size og output_size til at definere de korrekte dimensioner for disse tensorer.
  2. Udnyt en funktionsdekoration til at omdanne funktionen train_step() til en TensorFlow graf.
  3. Udfør fremadpropagering gennem både det skjulte og outputlaget i netværket. Brug sigmoid aktiveringsfunktion.
  4. Bestem gradienterne for at forstå, hvordan hver vægt og bias påvirker tabet. Sørg for, at gradienterne beregnes i den korrekte rækkefølge, svarende til navnene på outputvariablerne.
  5. Opdater vægte og biaser baseret på deres respektive gradienter. Inddrag learning_rate i denne justeringsproces for at kontrollere størrelsen af hver opdatering.

Løsning

Konklusion

Da XOR-funktionen er en forholdsvis enkel opgave, er der ikke behov for avancerede teknikker som hyperparametertuning, datasætopdeling eller opbygning af komplekse datapipelines på dette trin. Denne øvelse er blot et skridt mod at opbygge mere sofistikerede neurale netværk til virkelige anvendelser.

Beherskelse af disse grundlæggende elementer er afgørende, før der arbejdes med avancerede teknikker til konstruktion af neurale netværk i kommende kurser, hvor vi vil bruge Keras-biblioteket og udforske metoder til at forbedre modelkvaliteten med TensorFlows omfattende funktioner.

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 15
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt