Utfordring: Opprette et Nevralt Nettverkslag
Enkelt nevralt nettverkslag
I et grunnleggende fremovermatet nevralt nettverk beregnes utdataene fra et nevron i et lag ved hjelp av vektet sum av inngangene, som deretter sendes gjennom en aktiveringsfunksjon. Dette kan representeres som:
y=σ(W⋅x+b)
Hvor:
- y: utdata fra nevronet;
- W: en matrise som representerer vektene tilkoblet nevronet;
- x: en kolonnematrise (eller vektor) som representerer inngangsverdiene til nevronet;
- b: en skalarverdi;
- σ: en aktiveringsfunksjon, som sigmoid, ReLU eller softmax.
For å oppnå best mulig ytelse utføres alle beregninger ved hjelp av matriser. Vi vil løse denne oppgaven på samme måte.
Swipe to start coding
Gitt vekter, input og bias for et enkelt nevronlag, beregn utdataene ved hjelp av matrisemultiplikasjon og sigmoid aktiveringsfunksjon. Tenk deg et lag med 3 input og 2 nevroner, med én batch som inneholder kun én prøve.
-
Bestemme former:
- Formen på inputmatrisen
Iskal ha sin første dimensjon som representerer antall prøver i batchen. Med én prøve og 3 input vil størrelsen være1x3; - Vektmatrisen
Wskal ha kolonner som representerer inputvekter for hvert nevron. For 2 nevroner med 3 input er forventet form3x2. Dette er ikke tilfellet, så du må transponere vektmatrisen for å oppnå ønsket form.
- Formen på inputmatrisen
-
Matrisemultiplikasjon:
- Når matrisene har riktig form, utfør matrisemultiplikasjonen;
- Husk at ved matrisemultiplikasjon får du utdata ved å ta prikkproduktet av hver rad i første matrise med hver kolonne i andre matrise. Sørg for å multiplisere i riktig rekkefølge.
-
Legge til bias:
- Utfør en elementvis addisjon av resultatet fra matrisemultiplikasjonen med bias.
-
Bruke aktivering:
- Bruk sigmoid aktiveringsfunksjon på resultatet etter bias-addisjon for å få utdata fra nevronet;
- TensorFlow tilbyr sigmoid-funksjonen som
tf.sigmoid().
Merk
På slutten av kurset vil vi gå nærmere inn på å implementere et komplett feed-forward-nettverk med TensorFlow. Denne øvelsen legger grunnlaget for det.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain why we need to transpose the weight matrix?
What is the purpose of the bias in this calculation?
How does the sigmoid activation function affect the output?
Awesome!
Completion rate improved to 5.56
Utfordring: Opprette et Nevralt Nettverkslag
Sveip for å vise menyen
Enkelt nevralt nettverkslag
I et grunnleggende fremovermatet nevralt nettverk beregnes utdataene fra et nevron i et lag ved hjelp av vektet sum av inngangene, som deretter sendes gjennom en aktiveringsfunksjon. Dette kan representeres som:
y=σ(W⋅x+b)
Hvor:
- y: utdata fra nevronet;
- W: en matrise som representerer vektene tilkoblet nevronet;
- x: en kolonnematrise (eller vektor) som representerer inngangsverdiene til nevronet;
- b: en skalarverdi;
- σ: en aktiveringsfunksjon, som sigmoid, ReLU eller softmax.
For å oppnå best mulig ytelse utføres alle beregninger ved hjelp av matriser. Vi vil løse denne oppgaven på samme måte.
Swipe to start coding
Gitt vekter, input og bias for et enkelt nevronlag, beregn utdataene ved hjelp av matrisemultiplikasjon og sigmoid aktiveringsfunksjon. Tenk deg et lag med 3 input og 2 nevroner, med én batch som inneholder kun én prøve.
-
Bestemme former:
- Formen på inputmatrisen
Iskal ha sin første dimensjon som representerer antall prøver i batchen. Med én prøve og 3 input vil størrelsen være1x3; - Vektmatrisen
Wskal ha kolonner som representerer inputvekter for hvert nevron. For 2 nevroner med 3 input er forventet form3x2. Dette er ikke tilfellet, så du må transponere vektmatrisen for å oppnå ønsket form.
- Formen på inputmatrisen
-
Matrisemultiplikasjon:
- Når matrisene har riktig form, utfør matrisemultiplikasjonen;
- Husk at ved matrisemultiplikasjon får du utdata ved å ta prikkproduktet av hver rad i første matrise med hver kolonne i andre matrise. Sørg for å multiplisere i riktig rekkefølge.
-
Legge til bias:
- Utfør en elementvis addisjon av resultatet fra matrisemultiplikasjonen med bias.
-
Bruke aktivering:
- Bruk sigmoid aktiveringsfunksjon på resultatet etter bias-addisjon for å få utdata fra nevronet;
- TensorFlow tilbyr sigmoid-funksjonen som
tf.sigmoid().
Merk
På slutten av kurset vil vi gå nærmere inn på å implementere et komplett feed-forward-nettverk med TensorFlow. Denne øvelsen legger grunnlaget for det.
Løsning
Takk for tilbakemeldingene dine!
single