CMD + K

Introduksjon til maskinlæringNevrale nettverk: fra perceptron til backpropagationBegreper & formler20
14 min lesing

Nevrale nettverk: fra perceptron til backpropagation

Start med perceptronet og XOR-problemet, se hvorfor deriverbare aktiveringer trengs, og følg gradientene bakover gjennom nettverket.

Læringsmål
  • 01Regn ut outputen og én oppdatering for et perceptron med Heaviside-aktivering
  • 02Forklar hvorfor Heaviside-steget ikke kan trenes med gradient descent, og hva sigmoid, tanh og ReLU endrer
  • 03Vis hvorfor XOR ikke er lineært separabel, og forklar hvordan et skjult lag løser den
  • 04Regn ut et forward pass og tell parametrene i et lite nett
  • 05Bruk kjerneregelen til å regne ut gradienten for en vekt med backpropagation
  • 06Forklar forsvinnende gradienter og hvorfor tapet i et nevralt nett er ikke-konvekst
0 av 19 aktiviteter
Kjerneidé

Et nevralt nettverk er mange små, enkle regnestykker koblet i lag: hvert nevron tar en vektet sum og sender den gjennom en bøyd funksjon. Ett nevron kan bare trekke én rett linje, men lag av nevroner kan bøye og brette rommet til nesten hvilken som helst form. Tenk på et samlebånd: ingen stasjon forstår hele produktet, og når produktet blir feil, sporer vi feilen bakover stasjon for stasjon. Det er backpropagation.

Steg 1 av 7

Perceptronet: vektet sum og terskel

Konsept

Byggesteinen er et nevron. Det vekter inputene, legger til en bias og får scoren ƒnevronets score:

Vektene sier hvor mye hver input teller og i hvilken retning, og biasen flytter hvor lett nevronet slår til. Scoren sendes så gjennom en aktiveringsfunksjon , og outputen er .

Det klassiske eksempelet er et perceptron. Det bruker en heaviside-funksjon som aktivering. Formelen ƒheaviside-funksjon er en trapp:

Outputen er altså en ren ja/nei-beslutning. Geometrisk er en rett linje, eller et hyperplan i flere dimensjoner, og perceptronet svarer 1 på den ene siden og 0 på den andre. Det er en lineær klassifikator, akkurat som logistisk regresjon, men med en hard terskel i stedet for en sannsynlighet.

Perceptronet lærer med ƒperceptronregelen: for hvert treningspunkt regner det ut og oppdaterer

Er svaret riktig, er , og ingenting skjer. Svarte det 0 når fasiten var 1, dyttes vektene i retning av , slik at scoren for dette punktet øker neste gang. Kan dataene skilles av en rett linje, finner regelen en slik linje etter et endelig antall oppdateringer. Kan de ikke det, slutter den aldri å flytte seg.

Interaktiv figur

Prøv: Gå gjennom ett punkt om gangen: se hva perceptronet svarer, hvor stor feilen er og hvordan vektene og linja flytter seg. Fortsett til alle fire er riktige.

Laster interaktiv figur …
Figur 11.1Perceptronet lærer AND. Startvektene gir OR, ikke AND; i det fargede området svarer perceptronet 1.
Interaktiv
RegneeksempelVis at og gir AND, og gjør én perceptronoppdatering fra og med .

Steg 1. Med gir scoren , og gir , og gir . Heaviside gir , som er AND.

Steg 2. Med gir scoren , så , men fasiten for AND er . Feilen er .

Steg 3. Oppdatering: og .

Steg 4. Nå gir scoren , altså riktig svar . Men gir og dermed feil svar . Regelen fortsetter med neste feil til alle fire punktene er riktige.

Øving 1 av 2

Et perceptron har , og læringsrate . Det predikerer hvis og ellers . Det får treningspunktet med fasit . Gjør én oppdatering med perceptronregelen. Hva blir scoren for det samme punktet etter oppdateringen? Oppgi svaret med én desimal.

Øving 2 av 2

Ett perceptronsteg

Gjør ett steg med perceptronregelen for etiketter . Perceptronet predikerer hvis og ellers, og oppdaterer så

Signatur: perceptron_steg(w, b, eta, x, y) returnerer (y_hat, w_ny, b_ny).

Inndata: på første linje, og på andre, på tredje og på fjerde.

Utdata: på første linje og de nye vektene etterfulgt av ny på andre, med fire desimaler. Koden under den låste linjen leser inndata og skriver utdata, så du fyller bare inn funksjonen.

Eksempel

Inndata:
1 -1
0 0.5
1 3
1

Utdata:
0
1.5000 0.5000 0.5000

Utregning: , så og . Da blir og .

Pythonlosning.py
Testtilfeller3 tester kjøres ved «Sjekk»

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…