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