Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken Cursusjaar 2012-2013
Gerard Vreeswijk β-Faculteit, Departement Informatica en Informatiekunde, Leerstoelgroep Intelligente Systemen
12 Juni 2015
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
1 / 45
Neurale netwerken Leerdoelen: Weten wanneer neurale netwerken toepasbaar zijn. De delta-leerregel kennen, kunnen uitleggen, en er mee kunnen rekenen. Gewichtenveranderingen in een lineair perceptron kunnen uitrekenen. Weten wat multi-layer feedforward neurale netwerken zijn. De backpropagation leerregel kunnen opschrijven en uitleggen. Weten wat recurrente neurale netwerken zijn, en er enkele kunnen noemen en tekenen. Weten wat een associatief netwerk (Hopfield netwerk) is, en kunnen aangeven in welke opzichten het verschilt van bv. feedforward.
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
2 / 45
Neurale netwerken
Kunstmatige neurale netwerken (ANNs) zijn ge¨ınspireerd op de werking van re¨ele neurale netwerken (WNN), bijvoorbeeld het brein. Een zenuwcel of neuron is de fundamentele bouwsteen van het brein. Een re¨eel NN (brein) bestaat uit ong. 100 miljard neuronen. Een neuron bestaat uit een cellichaam: de soma. Uit het cellichaam vertakken dendrieten en een axon. Een axon verbindt zich met dendrieten van andere neuronen in synapsen, de verbindingspunten.
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
3 / 45
Piramidale cel in de Hippocampus (40x)
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
4 / 45
Een organisch neuraal netwerk (WNN) Chemische transmitter vloeistoffen worden vrijgegeven in de synapsen en stromen de dendrieten binnen. Dit heeft als effect dat de actie-potentiaal in de soma toeneemt (of juist afneemt).
Synapse
Axon van andere neuron
00 11 Nucleus 00 11
Dendriet
00 11 00 11 00 11 00 11 1111 0000 000 111 000 111 00 11 0000 1111 000 111 000 111 0000 1111 000 111 000 111
Axon
Synapse
Soma
Wanneer de actie-potentiaal een bepaalde drempelwaarde overschrijdt, wordt een elektrische puls doorgegeven naar de axon (de neuron “vuurt”). Synapsen welke de actie potentiaal laten toenemen heten excitatief. Synapsen welke de actie potentiaal laten afnemen heten inhibitatief.
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
5 / 45
Een kunstmatig neuraal netwerk (ANN) Vormen een gelaagde structuur. Alle verbindingen gaan van ´e´en laag naar de volgende laag. We onderscheiden de volgende lagen:
Output Layer
Hidden Layer
Input Layer
De Input laag: hier worden de inputs van het netwerk naartoe gecopieerd. De Hidden laag: hier worden interne (niet-lineaire) berekeningen uitgevoerd. De Output laag: hier worden de waarden van de outputs van het netwerk berekend.
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
6 / 45
Feedforward neurale netwerken ANNs bestaan uit 10-1000 neuronen. Ze bestaan uit een input-laag, enkele inwendige lagen en een output-laag. De neuronen (knopen, units, rekeneenheden) zijn verbonden door activatielinks (McCulloch en Pitts, 1943). ANNs bezitten nuttige computationele eigenschappen. Ze kunnen bv. alle begrensde continue functies benaderen met ´e´en inwendige laag (G afh. f ), en alle functies met twee inwendige lagen (G onbekend).
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
7 / 45
Kunstmatige neurale netwerken Een kunstmatig neuraal netwerk bestaat uit een aantal neuronen (units) en verbindingen tussen de neuronen. Elke verbinding bezit een gewicht, uitgedrukt als re¨eel getal. Het leren vindt plaats door de gewichten bij te stellen. Elke neuron heeft een aantal ingaande verbindingen van andere neuronen, een aantal uitgaande verbindingen, en een activatie-niveau. Het idee is dat elk neuron een lokale berekening uitvoert, gebruikmakende van zijn inkomende verbindingen. Om een neuraal netwerk te bouwen moet men de architectuur, of topologie van het netwerk instellen. Gewichten worden meestal willekeurig ge¨ınitialiseerd.
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
8 / 45
Vergelijking KNN en Biologische NN Biologie: Neuron switch tijd: 0.001 seconde. Aantal neuronen: 1010−11 . Connecties per neuron: 104−5 . Visuele herkenningstijd : 0.1 seconde. 100 inferentie stappen lijkt niet genoeg. → Groot aantal parallelle berekeningen. Kunstmatig neuraal netwerk: Veel minder units. Sneller! Gewogen connecties tussen units → gewichten. Nadruk op automatisch leren van gewichten. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
9 / 45
Wanneer kunnen neurale netwerken gebruikt worden? Input is hoog-dimensionaal discreet of continu (typisch ruwe sensor input). Output is discreet of continu. Output is een vector van waarden. Mogelijk ruisige data. Een rechtvaardiging of begrip van de gevonden oplossing is onbelangrijk. Voorbeelden: Spraakherkenning. Beeldclassificatie (gezichtsherkenning). Financi¨ele voorspelling. Patroon herkenning (postcodes). Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
10 / 45
Voorbeeld: Pommerleau’s “ALVINN” (1993)
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
11 / 45
Neuron In een netwerk ziet een individueel neuron er als volgt uit: Aj
A = g(I ) i i
W j,i
Σ Input verbindingen
Ii
Input functie
g
Activatie functie
Ai
Output Verbindingen
Output
Leren gaat door inkomende gewichten bij te stellen aan de hand van de fout op leervoorbeelden. Voorbeeld. De output van een neuron is 0.9. De gewenste output is 1.0. Verhoog de gewichten die de output van het netwerk doen toenemen. Verlaag de gewichten die de output doen afnemen. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
12 / 45
Het enkelvoudige lineaire perceptron Het meest eenvoudige neurale netwerk is een enkelvoudige lineaire perceptron. Deze bestaat uit enkel een inputlaag en ´e´en output.
Y Output Unit
w1
w2
w4
w3
1 X1
X2
X3
Input Units
Bias
Het lineaire perceptron wordt gezien als een functie van de inputs X1 , . . . , XN naar output Y : X Y = wi Xi i
Er wordt een bias-unit gebruikt om alle lineaire functies te kunnen representeren. Deze kan als extra waarde (1) aan de inputvector meegegeven worden. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
13 / 45
Representeren van functies Een lineair perceptron kan bijvoorbeeld de AND functie representeren:
Het volgende perceptron doet dit: als de output > 0 dan Y = 1, anders Y = 0. Y
1 1
1
0
X2
1
-1.5
1 Lineair Netwerk 0
X1
Gerard Vreeswijk (ICS Dept.)
X1
X2
Bias
1
Hfdstk 4: Neurale netwerken
12 Juni 2015
14 / 45
Rechttoe-rechtaan uitrekenen van optimale gewichten We kunnen ook multivariate lineaire regressie gebruiken om de optimale gewichten voor een lineair perceptron te berekenen. We zetten de voorbeelden in matrices, als volgt. De voorbeelden X 1 , X 2 , als kolommen in een matrix X = [X 1 , X 2 , X 3 , . . . , X N ], en de uitkomsten van de voorbeelden in een platte vector Y = [Y 1 , Y 2 , Y 3 , . . . , Y N ]. Er geldt: Y =
X
wi Xi ,
i.e.,
Y = WTX.
i
WTX = Y ⇔ W T XX T = YX T ⇔ W T = YX T (XX T )−1 Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
15 / 45
Voorbeeld multivariate lineaire regressie Situatie: een lineair perceptron met twee gewichten w1 en w2 en altijd x2 = 1. Leer-voorbeelden: x1 : 0 → y : 1, x1 : 1 → y : 2, en x1 : 2 → y : 3. We willen YX T (XX T )−1 uitrekenen. 0 1 0 1 2 5 3 T 1 1 XX = = 1 1 1 3 3 2 1 1/2 −1/2 T −1 (XX ) = −1/2 5/6 −1/2 5/6 1/3 X T (XX T )−1 = 0 1/2 −1/6 −1/2 5/6 1/3 = 1 1 . YX T (XX T )−1 = 1 2 3 0 1/2 −1/6 Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
16 / 45
Leren met de delta-leerregel De fout is de kleinste-kwadraten som tussen de gewenste uitkomst T en ~ de verkregen uitkomst Y voor een voorbeeld: E = 12 (T − Y )2 . Dus w moet veranderen volgens −
∂E ∂E ∂Y =− = − − (T − Y )Xi . ∂wi ∂Y ∂wi
De delta-leerregel winieuw = wioud + α(T − Y )Xi
Leren gaat nu als volgt: Initialiseer gewichten (bv. −0.1 < random < 0.1). Herhaal: (a) Voer een nieuw voorbeeld X1 , . . . , XN → T in. (b) Bereken Y . (b) Pas de delta-leerregel toe. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
17 / 45
Voorbeeld We maken een lineair perceptron met initi¨ele gewichten 0.3 en 0.5 en 0.0 (voor de bias input 1.0). We kiezen een leersnelheid, bv.: α = 0.5 Gegeven leervoorbeeld (0.5, 0.5) → 1.0. Nu kunnen we de gewichten aanpassen: Y = 0.3 ∗ 0.5 + 0.5 ∗ 0.5 + 0.0 ∗ 1.0 = 0.4. Dus T − Y = 0.6. w1 = 0.3 + 0.5 ∗ 0.6 ∗ 0.5 = 0.45 : winieuw = wioud + α(T − Y )Xi w2 = 0.5 + 0.5 ∗ 0.6 ∗ 0.5 = 0.65 w3 = 0.0 + 0.5 ∗ 0.6 ∗ 1.0 = 0.30 Bij een volgende presentatie van hetzelfde leervoorbeeld is de nieuwe uitkomst: Y 0 = 0.45 ∗ 0.5 + 0.65 ∗ 0.5 + 0.3 ∗ 1.0 = 0.85. Vraag: Stel hetzelfde leervoorbeeld wordt nogmaals gepresenteerd. Bereken de nieuwe gewichten. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
18 / 45
Voorbeeld (nogmaals met nieuwe gewichten) We maken een lineair perceptron met initi¨ele gewichten 0.45 en 0.65 en 0.30 (voor de bias input 1.0). We kiezen een leersnelheid, bv.: α = 0.5 Gegeven leervoorbeeld (0.5, 0.5) → 1.0. Nu kunnen we de gewichten aanpassen: Y = 0.45 ∗ 0.5 + 0.65 ∗ 0.5 + 0.30 ∗ 1.0 = 0.85. Dus T − Y = 0.15. w1 = 0.45 + 0.5 ∗ 0.15 ∗ 0.5 = 0.49 : winieuw = wioud + α(T − Y )Xi w2 = 0.65 + 0.5 ∗ 0.15 ∗ 0.5 = 0.69 w3 = 0.30 + 0.5 ∗ 0.15 ∗ 1.0 = 0.37 Bij een volgende presentatie van hetzelfde leervoorbeeld is de nieuwe uitkomst: Y 0 = 0.50 ∗ 0.5 + 0.70 ∗ 0.5 + 0.40 ∗ 1.0 = 0.96. Vraag: Stel hetzelfde leervoorbeeld wordt nogmaals gepresenteerd. Bereken de nieuwe gewichten. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
19 / 45
Foutenlandschap
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
20 / 45
Batch vs. stochastic gradient descent Online leren: per leervoorbeeld d is er een fout 1 Ed (~ w ) = (Td − Yd )2 . 2 ~ bij. Maak dus kleine stapjes: Stel per leervoorbeeld w ∆wi = −α
∂Ed (~ w) ∂E (~ w ) ∂Y d = −α = α(Td − Yd )Xd,i . ∂wi ∂Yd ∂wi
P Batch leren: probeer de fout E (~ w ) = d∈D Ed (~ w ) in ´e´en keer voor alle voorbeelden in de leerverzameling te verminderen: ! X ∂ ∂ ∆wi = −α E (~ w ) = −α Ed (~ w) ∂wi ∂wi d∈D X ∂ X = −α Ed (~ w) = α (Td − Yd )Xd,i . ∂wi d∈D
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
d∈D
12 Juni 2015
21 / 45
Foutenlandschap
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
22 / 45
Foutenlandschap
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
23 / 45
Beperkingen van lineaire netwerken Een lineair perceptron kan de X-OR functie niet representeren. De voorbeelden van de X-OR functie zijn niet lineair separeerbaar.
Dit voorbeeld uit boek: “Perceptrons” van Minsky en Papert (1969). Het aanvankelijke enthousiasme voor neurale netwerken verdween. In 1986 werden neurale netwerken herontdekt na het uitvinden van het backpropagation algoritme. Met dit algoritme was het mogelijk niet-lineaire functies te benaderen. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
24 / 45
Voorwaartse propagatie in een niet-lineair netwerk Neem de input vector ~x , Bereken de gewogen gesommeerde input X net j = wji xji . i
Bereken de activatie: oj = σ(net j ) =
1 1 + e −net j
Hierbij is σ de “squashing function”. Dit is een functie die willekeurige re¨ele waarden weer netjes terugbrengt naar het eenheidsinterval [0, 1].“Netjes” betekent hier: injectief, monotoon-stijgend, en continu-differentieerbaar. Er geldt: σ 0 (x) = σ(x)[1 − σ(x)]. (Bord!) Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
25 / 45
De squashing (ook wel: “sigmoid” of “logistic”) function
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
26 / 45
Incrementeel (offline) leren vs. batch (online) leren Update-formule voor backpropagation bij online leren Update na elk voorbeeld elk gewicht volgens wjinieuw = wjioud + ηδj xji , Waarbij η de leer- en δj de correctiefactor is. Batch. Bekijk de totale fout, dat wil zeggen de fout over alle voorbeelden X 1 X E (~ w) = (tk − ok )2 2 d∈D
k∈outputs
~ aan. Pas, na alle voorbeelden gezien te hebben, de gewichten w Incrementeel. Bekijk, per voorbeeld, de fout Ed (~ w) =
1 2
X
(tk − ok )2
k∈outputs
~ aan. Pas, per voorbeeld, de gewichten w Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
27 / 45
Afleiding van correctiefactor δj voor backpropagation Notatie j: xji : wji : net j :
knoop j input nr. i naar j (= oi ) gewicht nr. i naar j netto input voor j
oj : output van j σ: de functie x → 1/(1 + e −x ) δj : de correctiefactor van j Downstream(j): de opvolgers van j net j = Σi wji xji
oj = σ(net j ) =
δj =Def −
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
1 1 + e −net j
∂Ed (~ w) ∂net j 12 Juni 2015
28 / 45
Hoe wji aanpassen zo dat fout kleiner wordt? Met elk leervoorbeeld d willen we alle gewichten wji meteen aanpassen, zodanig dat de fout voor d, geschreven als Ed (~ w) =
1 2
X
(tk − ok )2 ,
k∈outputs
kleiner wordt. Dat kan met wjinieuw Ons doel is dus
=
wjioud
∂Ed (~ w) +η − ∂wji
.
∂Ed (~ w) ∂wji
te bepalen. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
29 / 45
Het bepalen van correctie voor de output-laag Omdat wji alleen via net j invloed heeft op Ed mogen we schrijven ∂Ed (~ w) ∂wji
= =
∂Ed (~ w ) ∂net j ∂net j ∂wji ∂Ed (~ w) ∂ ∂Ed (~ w) (xj1 wj1 + · · · + xjn wjn ) = · xji . ∂net j ∂wji net j
Blijft over te bepalen ∂Ed (~ w )/∂net j . Input net j heeft alleen via oj invloed op Ed (immers, j heeft geen opvolgers). We mogen schrijven ∂Ed (~ w) ∂net j
= =
∂Ed (~ w ) ∂oj ∂oj ∂net j ∂Ed (~ w ) ∂σ(net j ) ∂Ed (~ w) = oj (1 − oj ) ∂oj ∂net j ∂oj
Blijft over te bepalen ∂Ed (~ w )/∂oj . Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
30 / 45
Alles samen nemen geeft ∆wji Blijft over te bepalen ∂Ed (~ w )/∂oj . ∂Ed (~ w) ∂ 1 X = ∂oj ∂oj 2
(tk − ok )2
k∈outputs
= 0 + ··· + 0 +
∂ 1 (tj − oj )2 + 0 + · · · + 0 ∂oj 2
= −(tj − oj ). Samenvattend, voor outputknopen: ∂Ed (~ w) ∂wji
∂Ed (~ w ) ∂net j ∂net j ∂wji ∂Ed (~ w ) ∂oj = xji ∂oj ∂net j = − (tj − oj ) oj (1 − oj ) xji . | {z } =
correctiefactor δj
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
31 / 45
Het bepalen van correctie voor inwendige knopen Herinner, de correctiefactor staat voor: δk =Def −
∂Ed (~ w) . ∂net k
We gaan nu δj bepalen voor inwendige knopen. Netto input net j heeft alleen via Downstream(j) invloed op Ed . We mogen schrijven: X ∂Ed (~ w) ∂Ed (~ w ) ∂net k δj = − = − ∂net j ∂net k ∂net j k∈Downstream(j)
=
X
δk
k∈Downstream(j)
=
X
∂net k = ∂net j
X k∈Downstream(j)
δk wkj oj (1 − oj )
δk
∂net k ∂oj ∂oj ∂net j
(immers, oj = xkj )
k∈Downstream(j)
= oj (1 − oj )
X
δk wkj .
k∈Downstream(j) Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
32 / 45
Procedure voor stochastic (= online) backpropagation 1
Cre¨eer een a-cyclisch feed-forward netwerk. De knopen zonder voorgangers noemen we de input-laag, de knopen zonder opvolgers noemen we de output-laag. De rest is verdeeld in tussenlagen.
2
~ met een klein getal, bv. Initialiseer alle netwerk-gewichten w rand(−0.5, 0.5) Voor elk van de trainingsvoorbeelden d ∈ D, doe:
3
1
2
Propageer de input voorwaarts. We krijgen een aantal output-waarden o1 , . . . , ok . Propageer fouten terugwaarts. Bekijk in hoeverre o1 , . . . , ok afwijken van de doelwaarden t1 , . . . , tk . F
F
3
Bereken voor elke output knoop k de correctieterm δk = ok (1 − ok )(tk − ok ). Bereken voor inputP of tussen-knoop j de correctieterm δj = oj (1 − oj ) k∈Downstream(j) δk wkj .
Update elk gewicht volgens wjinieuw = wjioud + ηδj xji .
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
33 / 45
De voortgang van het leerproces: groei van gewichten
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
34 / 45
De voortgang van het leerproces: daling van fouten
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
35 / 45
Wat hidden units kunnen representeren
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
36 / 45
Leren als zoeken Gradient descent op het foutlandschap werkt als volgt:
Problemen: Lokale minima. Als het netwerk in een lokaal minimum komt, kan het niet meer verbeterd worden met gradient descent. Plateaus. Als het foutlandschap ergens heel vlak is, gaat het leren erg langzaam (de gradient is zeer klein). NP-moeilijk. Het leren van een netwerk is inherent moeilijk. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
37 / 45
Meer over backpropagation Gradient descent over gehele netwerk gewichten vector. Makkelijk generaliseerbaar naar willekeurige gerichte grafen. Zal lokaal minimum vinden en niet noodzakelijk globaal minimum. Kan met meerdere restarts toch goed werken. Gebruikt soms een momentum term: ∆wji = ηδj xji + αvorige(∆wji )
Minimaliseert fout over alle trainingsvoorbeelden. Maar zal het nieuwe voorbeelden goed classificeren? I I
Pas op met te veel leervoorbeelden → overfitting. Pas op met teveel hidden units → overfitting.
Leren kan duizenden iteraties duren → traag! Gebruik van geleerd netwerk gaat snel. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
38 / 45
Recurrente neurale netwerken (RNNs) Geschikt voor problemen waarin voorspelling in de factor tijd een rol speelt. Recurrente netwerken kunnen vorige inputs mee laten tellen in hun voorspelling van de huidige toestand van het systeem. Toepassingen: alle vormen van patroonherkenning in de tijd zoals, spraakherkenning, herkennen van grammatica’s, en handschriftherkenning. Voorbeelden van recurrente netwerk-architecturen: Hopfield netwerken (of: auto-associatieve, of: Boltzmann machines, 1982). Time delay neurale netwerken (TDNN, 1989). Jordan netwerken (1989). Elman netwerken (1990). Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
39 / 45
Elman netwerk (1990) Elman netwerken koppelen activatie Leeralgoritme: recurrent van hidden units terug naar inputs. backpropagation door de tijd heen: Dat is handig bij voorspellingen waar tijd belangrijke rol speelt.
Y(t+1)
Y(t)
1
1
Y(t-1)
INPUT UNITS
CONTEXT UNITS
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
40 / 45
Jordan netwerken (1989) Jordan netwerken koppelen activatie van output units terug naar inputs: handig bij voorspellingen waarin tijd en/of de volgorde van beslissingen een rol speelt.
1
INPUT UNITS
CONTEXT UNITS
Jordan en Elman netwerken werken ongeveer even goed. Ze hebben grote problemen als de gradient door de tijd heen een erg zwak signaal wordt → gewichten worden erg langzaam bijgesteld. Leren gaat vaak veel trager dan feedforward netwerken. Alternatieve leermethode: evolutionary computation. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
41 / 45
Time Delay Neurale Networken (TDNN, 1989) TDNN gebruiken inputs van voorgaande tijdstappen voor huidige voorspelling OUTPUT(T)
INPUTS(T-m)....INPUTS(T-1)
INPUTS(T)
Hebben problemen met Markov order: Hoeveel voorgaande inputs moeten meegegeven worden? Kan inputs die langer geleden gezien zijn nooit mee laten tellen in beslissing. Veroorzaakt soms erg groot netwerk Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
42 / 45
Hopfield netwerk (1982) Auto-associative Networks (Hopfield netwerk, Boltzmann machine): soort geheugen voor opslaan patronen: goed voor pattern completion. Een Hopfield netwerk bezit typisch ongerichte verbindingen. A1 A6
A2
W A5
A3 A4
Leerregels versterken verbindingen tussen inputs die gelijk aan staan. Als deelpatroon aangeboden wordt, zullen inputs die vaak gelijk met andere inputs voorkomen ook aan komen te staan. De nieuw geactiveerde inputs kunnen weer andere inputs activeren. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
43 / 45
Nadelen van neurale netwerken Het kan veel (experimenteer-) tijd kosten om een geschikte topologie en leerparameters te vinden. (Opl.: zg. “cascade correlation”.) Sommige knopen doen op den duur niet mee. (Opl.: “optimal brain damage”.) Convergentie, het bepalen van een stop-criterium. (Opl.: kruis-validatie.) Dreiging van locale minima. (Opl.: herstarten.) Geen voor de hand liggende manier om te kunnen omgaan met ontbrekende waarden. Soms vergeet het netwerk geleerde kennis als het getraind wordt op nieuwe kennis (leer-interferentie). Het is niet zo makkelijk om a-priori kennis in een netwerk te zetten. Leerproces soms erg ineffici¨ent. (Opl.: snellere computers?.) NEE, want: Het leren van een optimaal neuraal netwerk is, bezien als optimalisatieprobleem, een NP-moeilijk probleem. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
44 / 45
Voordelen van neurale netwerken Bezit, in vergelijking met andere leertechnieken, zoals beslisbomen, versie-ruimten en Bayesiaans leren, een vrij algemene en expressieve hypothese-representatie. Met andere woorden: kunstmatige neurale netwerken zijn geschikt voor veel leer-problemen. ANNs kunnen, mits met voldoende tussenlagen, alle functies benaderen. ANNs zijn robuust met betrekking tot het wegvallen van neuronen (zg. “graceful degradation”). ANNs kunnen goed met hoog-dimensionale input-ruimtes omgaan. ANNs kunnen goed met ruis omgaan. ANNs kunnen goed met redundantie omgaan. Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
12 Juni 2015
45 / 45