Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken

advertisement
Inleiding Adaptieve Systemen
Hoofdstuk 4: Neurale netwerken
Cursusjaar 2016-2017
Gerard Vreeswijk
β-Faculteit,
Departement Informatica en Informatiekunde,
Leerstoelgroep Intelligente Systemen
14 Juni 2017
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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
14 Juni 2017
2 / 45
Neurale netwerken
Kunstmatige neurale netwerken (ANNs) zijn geı̈nspireerd op de
werking van reële neurale netwerken (WNN), bijvoorbeeld het brein.
Een zenuwcel of neuron is de fundamentele bouwsteen van het brein.
Een reëel 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
14 Juni 2017
3 / 45
Piramidale cel in de Hippocampus (40x)
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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
14 Juni 2017
5 / 45
Een kunstmatig neuraal netwerk (ANN)
Vormen een gelaagde
structuur. Alle
verbindingen gaan van
één 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
14 Juni 2017
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 één inwendige
laag (G afh. f ), en alle functies met
twee inwendige lagen (G onbekend).
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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ëel 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
14 Juni 2017
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
14 Juni 2017
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ële voorspelling.
Patroon herkenning (postcodes).
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
10 / 45
Voorbeeld: Pommerleau’s “ALVINN” (1993)
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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
14 Juni 2017
12 / 45
Het enkelvoudige lineaire perceptron
Het meest
eenvoudige neurale
netwerk is een
enkelvoudige
lineaire perceptron.
Deze bestaat uit
enkel een inputlaag
en één 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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
17 / 45
Voorbeeld
We maken een lineair perceptron met initiële 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
14 Juni 2017
18 / 45
Voorbeeld (nogmaals met nieuwe gewichten)
We maken een lineair perceptron met initiële 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
14 Juni 2017
19 / 45
Foutenlandschap
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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 één 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
14 Juni 2017
21 / 45
Foutenlandschap
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
22 / 45
Foutenlandschap
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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
14 Juni 2017
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ële 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
14 Juni 2017
25 / 45
De squashing (ook wel: “sigmoid” of “logistic”) function
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
32 / 45
Procedure voor stochastic (= online) backpropagation
1
Creëer 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
14 Juni 2017
33 / 45
De voortgang van het leerproces: groei van gewichten
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
34 / 45
De voortgang van het leerproces: daling van fouten
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
35 / 45
Wat hidden units kunnen representeren
Gerard Vreeswijk (ICS Dept.)
Hfdstk 4: Neurale netwerken
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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
14 Juni 2017
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ënt. (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
14 Juni 2017
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
14 Juni 2017
45 / 45
Download