Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Skapa ett Neuronnätslager | Tensorer
Introduktion till Tensorflow

bookUtmaning: 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=σ(Wx+b)y=\sigma(W \cdot x + b)

Där:

  • yy: utgången från neuronen;
  • WW: en matris som representerar vikterna för kopplingarna till neuronen;
  • xx: en kolumnmatris (eller vektor) som representerar indatavärdena till neuronen;
  • bb: ett skalärvärde;
  • σ\sigma: 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.

Uppgift

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.

  1. Bestämning av former:

    • Formen på inmatningsmatrisen I ska ha sin första dimension som representerar antalet prover i batchen. Givet ett prov med 3 indata blir dess storlek 1x3;
    • Viktmatrisen W ska ha sina kolumner som representerar indata-vikter för varje neuron. För 2 neuroner med 3 indata är den förväntade formen 3x2. Detta är inte fallet, så du behöver transponera viktmatrisen för att uppnå önskad form.
  2. 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.
  3. Biasaddition:

    • Utför helt enkelt en elementvis addition av resultatet från matrismultiplikationen med bias.
  4. 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

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 10
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 5.56

bookUtmaning: 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=σ(Wx+b)y=\sigma(W \cdot x + b)

Där:

  • yy: utgången från neuronen;
  • WW: en matris som representerar vikterna för kopplingarna till neuronen;
  • xx: en kolumnmatris (eller vektor) som representerar indatavärdena till neuronen;
  • bb: ett skalärvärde;
  • σ\sigma: 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.

Uppgift

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.

  1. Bestämning av former:

    • Formen på inmatningsmatrisen I ska ha sin första dimension som representerar antalet prover i batchen. Givet ett prov med 3 indata blir dess storlek 1x3;
    • Viktmatrisen W ska ha sina kolumner som representerar indata-vikter för varje neuron. För 2 neuroner med 3 indata är den förväntade formen 3x2. Detta är inte fallet, så du behöver transponera viktmatrisen för att uppnå önskad form.
  2. 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.
  3. Biasaddition:

    • Utför helt enkelt en elementvis addition av resultatet från matrismultiplikationen med bias.
  4. 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

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 10
single

single

some-alt