Utmaning: Skapa ett Neuronnätslager
Enskilt neuronnätslager
I ett grundläggande feed-forward neuronnät beräknas utgången från en neuron i ett lager med hjälp av den viktade summan av dess indata, som sedan passerar genom en aktiveringsfunktion. Detta kan representeras som:
y=σ(W⋅x+b)
Där:
- y: utgången från neuronen;
- W: en matris som representerar vikterna för kopplingarna till neuronen;
- x: en kolumnmatris (eller vektor) som representerar indatavärdena till neuronen;
- b: ett skalärvärde;
- σ: en aktiveringsfunktion, såsom sigmoid, ReLU eller softmax.
För att uppnå bästa prestanda utförs alla beräkningar med matriser. Vi kommer att hantera denna uppgift på samma sätt.
Swipe to start coding
Givet vikter, indata och bias för ett enda neuronskikt, beräkna dess utdata med hjälp av matrismultiplikation och sigmoid-aktiveringsfunktionen. Tänk på ett lager med 3 indata och 2 neuroner, där en enda batch innehåller endast ett prov.
-
Bestämning av former:
- Formen på inmatningsmatrisen
Iska ha sin första dimension som representerar antalet prover i batchen. Givet ett prov med 3 indata blir dess storlek1x3; - Viktmatrisen
Wska ha sina kolumner som representerar indata-vikter för varje neuron. För 2 neuroner med 3 indata är den förväntade formen3x2. Detta är inte fallet, så du behöver transponera viktmatrisen för att uppnå önskad form.
- Formen på inmatningsmatrisen
-
Matrismultiplikation:
- Med matriserna i rätt form, utför matrismultiplikationen;
- Kom ihåg att vid matrismultiplikation härleds utdata från skalärprodukten av varje rad i den första matrisen med varje kolumn i den andra matrisen. Se till att multiplicera i rätt ordning.
-
Biasaddition:
- Utför helt enkelt en elementvis addition av resultatet från matrismultiplikationen med bias.
-
Tillämpning av aktivering:
- Använd sigmoid-aktiveringsfunktionen på resultatet från biasaddition för att få neuronens utdata;
- TensorFlow tillhandahåller sigmoidfunktionen som
tf.sigmoid().
Observera
I slutet av kursen kommer vi att fördjupa oss i att implementera ett komplett feed-forward-nätverk med TensorFlow. Denna övning lägger grunden för det.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Utmaning: Skapa ett Neuronnätslager
Svep för att visa menyn
Enskilt neuronnätslager
I ett grundläggande feed-forward neuronnät beräknas utgången från en neuron i ett lager med hjälp av den viktade summan av dess indata, som sedan passerar genom en aktiveringsfunktion. Detta kan representeras som:
y=σ(W⋅x+b)
Där:
- y: utgången från neuronen;
- W: en matris som representerar vikterna för kopplingarna till neuronen;
- x: en kolumnmatris (eller vektor) som representerar indatavärdena till neuronen;
- b: ett skalärvärde;
- σ: en aktiveringsfunktion, såsom sigmoid, ReLU eller softmax.
För att uppnå bästa prestanda utförs alla beräkningar med matriser. Vi kommer att hantera denna uppgift på samma sätt.
Swipe to start coding
Givet vikter, indata och bias för ett enda neuronskikt, beräkna dess utdata med hjälp av matrismultiplikation och sigmoid-aktiveringsfunktionen. Tänk på ett lager med 3 indata och 2 neuroner, där en enda batch innehåller endast ett prov.
-
Bestämning av former:
- Formen på inmatningsmatrisen
Iska ha sin första dimension som representerar antalet prover i batchen. Givet ett prov med 3 indata blir dess storlek1x3; - Viktmatrisen
Wska ha sina kolumner som representerar indata-vikter för varje neuron. För 2 neuroner med 3 indata är den förväntade formen3x2. Detta är inte fallet, så du behöver transponera viktmatrisen för att uppnå önskad form.
- Formen på inmatningsmatrisen
-
Matrismultiplikation:
- Med matriserna i rätt form, utför matrismultiplikationen;
- Kom ihåg att vid matrismultiplikation härleds utdata från skalärprodukten av varje rad i den första matrisen med varje kolumn i den andra matrisen. Se till att multiplicera i rätt ordning.
-
Biasaddition:
- Utför helt enkelt en elementvis addition av resultatet från matrismultiplikationen med bias.
-
Tillämpning av aktivering:
- Använd sigmoid-aktiveringsfunktionen på resultatet från biasaddition för att få neuronens utdata;
- TensorFlow tillhandahåller sigmoidfunktionen som
tf.sigmoid().
Observera
I slutet av kursen kommer vi att fördjupa oss i att implementera ett komplett feed-forward-nätverk med TensorFlow. Denna övning lägger grunden för det.
Lösning
Tack för dina kommentarer!
single