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 | Grundlæggende om TensorFlow
Introduktion til Tensorflow

bookImplementering af Neuralt Netværk

Grundlæggende oversigt over neurale netværk

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 den virkelige verden er komplekse og typisk bygges ved hjælp af høj-niveau biblioteker som Keras, vil vi konstruere et grundlæggende netværk ved hjælp 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 den tid og indsats, 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 indlejre komplekse beregninger, hvilket reducerer behovet for indviklet kodning. Vores primære opgave er at opsætte en sekventiel pipeline af tensor-operationer.

Her er en kort genopfriskning af trinnene for at få en træningsproces for et neuralt netværk op at køre:

Dataklargøring og modeloprettelse

Den indledende fase af træningen 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 biaserne, 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.

Derefter kan tab beregnes.

Tilbagespredning

Næste trin er tilbagespredning, 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. Vi opdaterer vægte og bias ved at subtrahere gradienten, skaleret med indlæringsraten.

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 styre 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 på vejen 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 anvende Keras-biblioteket og udforske metoder til at forbedre modelkvaliteten med TensorFlows omfattende funktioner.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 3
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

close

Awesome!

Completion rate improved to 5.56

bookImplementering af Neuralt Netværk

Stryg for at vise menuen

Grundlæggende oversigt over neurale netværk

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 den virkelige verden er komplekse og typisk bygges ved hjælp af høj-niveau biblioteker som Keras, vil vi konstruere et grundlæggende netværk ved hjælp 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 den tid og indsats, 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 indlejre komplekse beregninger, hvilket reducerer behovet for indviklet kodning. Vores primære opgave er at opsætte en sekventiel pipeline af tensor-operationer.

Her er en kort genopfriskning af trinnene for at få en træningsproces for et neuralt netværk op at køre:

Dataklargøring og modeloprettelse

Den indledende fase af træningen 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 biaserne, 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.

Derefter kan tab beregnes.

Tilbagespredning

Næste trin er tilbagespredning, 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. Vi opdaterer vægte og bias ved at subtrahere gradienten, skaleret med indlæringsraten.

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 styre 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 på vejen 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 anvende 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 2. Kapitel 3
single

single

some-alt