Transcript KNN 9 RBF
9. Radiale-BasisfunktionenNetze (RBF-Netze) CIC Lab Computational Intelligence and Control Laboratory Jörg Krone, Ulrich Lehmann, Hans Brenig, Oliver Drölle, Michael Schneider Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 1 End Inhalt CIC Lab Computational Intelligence and Control Laboratory a. Prinzip b. Architektur RBF-Netze c. Hidden Layer mit RBF-Neuronen d. Radiale Basisfunktion (RBF) e. Gaußfunktion als Aktivierungsfunktion f. Beispiel: Kennlinienapproximation g. Initialisierung der Parameter und Gewichte h. Nachtraining des RBF-Netzes i. Bewertung RBF-Netze j. Fragen Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 2 End Prinzip CIC Lab Computational Intelligence and Control Laboratory • RBF-Netze sind spezielle vorwärtsgerichtete neuronale Netze, die nur eine Schicht verdeckter Neuronen besitzen • die Neuronen haben spezielle, radialsymmetrische (radiale) Aktivierungsfunktionen • sie eignen sich besonders für die Approximation von Funktionen • dabei sind die Stützstellen im einfachsten Fall durch die Trainingsmuster des Netzes vorgegeben • durch die Aktivierungsfunktion besitzt jedes Neuron ein sehr lokales Verhalten – es liefert nur für Werte in diesem Bereich eine große Aktivierung, sonst eine geringe • direkte Berechnung der Gewichte möglich, daher schnell trainierbar und sicher konvergierend • sie können auch mit Verfahren wie Backpropagation nachtrainiert werden, um die Genauigkeit zu verbessern Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 3 End Architektur CIC Lab Computational Intelligence and Control Laboratory • Eingabeschicht: lineare Aktivierung • Hidden Layer mit RBF-Aktivierung, deren Zentrum und Breite mittels Voreinstellung und Training adaptierbar ist • trainierbare Gewichte c1 ... cN SS 2009 • Ausgabeschicht mit linearer Aktivierung summiert alle Ausgangssignale Inhalt des Hidden Layer nach Gewichtung mit c1 ... cN auf (wie beim Perzeptron) 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 4 End Hidden Layer CIC Lab Computational Intelligence and Control Laboratory • yi ist der gewünschte Ausgangswert des RBF-Netzes: yi = f(Xi) • das verwendete Funktionensystem besteht aus radialsymmetrischen Basisfunktionen hi, die von der Wahl der Stützstellen Xi abhängen: hi (||X-Xi||) – mit hi als eigentliche Basisfunktion. Als Eingabe dient der Abstand des Vektors X vom Stützstellenvektor Xi • meistens wird der euklidische Abstand zwischen den beiden verwendent. Damit gilt für f(X) f(X) = S ci hi (||X-Xi||) über alle Vektorelemente 1...n Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 5 End Radiale Basisfunktion (Zentrumsfunktion) CIC Lab Computational Intelligence and Control Laboratory 1,0 0,607 0,135 • Es gibt einige Klassen von zulässigen Zentrumsfunktionen • Dreieck- und Gaußsche Funktion eignen sich gut für NeuroFuzzy-Anwendungen • die wichtigste ist die Gaußsche Funktion SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) Inhalt 6 End Gaußsche Funktion als Aktivierung bei einer Eingangsgröße CIC Lab Computational Intelligence and Control Laboratory fact xi x • hat das RBF-Neuron einen Eingang, sieht die Aktivierung um das Zentrum xi (Stützstelle - dies ist der erste Parameter) wie in der obigen Abb. aus • die Wirkung ist sehr lokal • die „Breite“ wird über den zweiten Parameter si (die Standardabweichung) eingestellt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) Inhalt 7 End Gaußsche Funktion als Aktivierung bei mehreren Eingangsgrößen CIC Lab Computational Intelligence and Control Laboratory fact x1i x2i • hat das RBF-Neuron zwei Eingänge, sieht die Aktivierung um die Zentren xni (Stützstellen) wie in der obigen Abb. aus • die Wirkung ist noch lokaler, da beide x-Werte sich in der Nähe der Zentren befinden müssen, um eine fact > 0 zu erhalten • die Breite si (die Standardabweichung) kann für beide x-Werte unterschiedlich sein Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 8 End Gaußsche Funktion als Aktivierung bei mehreren Eingangsgrößen CIC Lab Computational Intelligence and Control Laboratory (xj –xji ) facti = hi (||X-Xi||) = mit n: Anzahl der Eingänge für ein RBF-Neuron und j: laufende Nr. des Eingangs i: Nummer des betrachteten RBF-Neurons • diese Beziehung beschreibt mehrdimensionale Gaußkurven, wie sie etwa aus der Wahrscheinlichkeitsrechnung bekannt sind • der Ort des Maximums der Funktion in bezug auf die j-te Eingangsgröße ist gegen durch xji • die Standardabweichung sji ist ein Maß für die „Breite“ der Gaußkurve Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 9 End Beispiel einer Kennlinienapproximation CIC Lab Computational Intelligence and Control Laboratory 0,3 s= 0,75 5 0,5 - 0,3 Überlagerung von vier Zentrumsfunktionen (- - -) zu einer Summenfunktion (——) f(x) = 0,3 h (||x-0,5||) + 0,5 h (||x-2||) + 0,4 h (||x-4||) - 0,3 h (||x-5||) mit der Aktivierung Gaußfunktionen h. Mit den vier Zentren x1 = 0,5; ...; x4 = 5 und den Gewichtsfaktoren c1 = 0,3; ...; c4 = - 0,3 SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) Inhalt 10 End RBF-Netz für Kennlinienapproximation CIC Lab Computational Intelligence and Control Laboratory 0,3 0,5 x11, 0,5 x12, 5 - 0,3 = 0,75 =1 0,3 x13, x = 0,75 - 0,3 x14, = 0,5 5 Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 11 End CIC Lab Computational Intelligence and Control Laboratory Initialisierung der Stützstellen und Breite für RBF und Gewichte für Ausgangsneuron • Stützstellen xi können direkt aus den Trainingsdaten der zu approximierenden Funktion angeben werden (vorzugsweise Plateaus, relative und absolute Minima und Maxima) • es sind so viele RBF-Neuronen N wie Stützstellen N möglich (das Auswendiglernen ist erwünscht), allerdings kann die Zahl auch kleiner sein • Breite (Standardabweichung si = 0,5 Dxi) kann aus dem halben Abstand zwischen zwei Stützpunkten und dem linken und rechten Randbereich (ablesen bei e-1/2 = 0,6 ci) vorgegeben werden • wenn die Anzahl der Stützstellen groß ist, kann auch gut eine mittlere Breite für alle si = |ximax - ximin| / sqrt 2N • als Gewichte werden die Ausgangswerte yi der Stützstellen (Targets für das Training) vorgebeben, da die RBF-Funktion ja den max. Wert 1 weitergibt • so ist das RBF-Netz schon ohne Training gut an die Aufgabe angepasst Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 12 End Nachtraining des RBF-Netzes CIC Lab Computational Intelligence and Control Laboratory • insbesondere dann erforderlich, wenn weniger RBFNeuronen im Hidden Layer als Trainingsmuster vorhanden sind • es ist ein Offline-Training sinnvoll • mit drei separaten kleinen Lernraten: 1 = 0,1 Lernrate für die Verbindungen (Stützstellen) zwischen Input Layer und RBF-Neuronen 2 = 0,03 Lernrate (noch kleiner als 1) für die Radien (Breite bzw. Standardabweichung si ) der RBFAktivierungsfunktion 3 = 0,01 Lernrate (noch kleiner als 2) für die Verbindungen zwischen den RBF-Neuronen und dem Ausgangsneuron Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 13 End Bewertung RBF-Netze CIC Lab Computational Intelligence and Control Laboratory RBF-Neuronen sind sehr selektiv – haben nur einen kleinen Wirkungsbereich bezogen auf die Eingangsgröße x daher lassen sich sehr komplexe und oszillierende Funktionen mit RBF-Netzen gut approximieren. Grob kann für jedes lokale und absolute Minima oder Maxima ein RBF-Neuron veranschlagt werden die Optimierung ist unproblematisch eine Ähnlichkeit zur Membership-Funktion von FuzzySystemen ist erkennbar (Breite, Abstand, Höhe = 1), daher werden RBF-Netze auch oft für Neuro-Fuzzy-Systeme eingesetzt. SS 2009 - Die Wechselwirkung der RBF-Neuronen untereinander ist sehr gering - daher ist die Modellierung von hochdimensionalen Abbildungen mit schwach ausgeprägten Strukturen schlechter Inhalt als bei MLP-Netzen! 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 14 End Fragen CIC Lab Computational Intelligence and Control Laboratory Fragen Sie bitte! Inhalt SS 2009 9. RBF-Netze (Radiale-Basisfunktionen-Netze) 15 End