Neuronale Netze- und KI-Splitter

Geschwurbel von Daniel Schwamm (25.10.1994 - 26.10.1994)

Gesammeltes

Das Gehirn arbeitet parallel, Von-Neumann-Architekturen aber nur sequenziell. In Parallelrechnern arbeiten mehrere Prozessoren unter Ausnutzung von lokalem Speicher an der Lösung eines Problems. Deshalb eignen sich Parallelrechner hervorragend zur Simulation von Neuronalen Netzen (NN).


Parallele NN-Simulationen:

  • Problem: Der Kommunikationsaufwand zwischen den Prozessoren ist extrem hoch.
  • Abhilfe: Einrichtung eines Master-Prozesses, der die Kommunikation synchronisiert, während die Slave-Prozesse v.a. nur auf den lokalen Speicher zugreifen.

Parallele NN: Multi-Instruction-Multiple-Data-Rechner (MIMD) oder Single-Instruction-Multiple-Data-Rechner (SIMD), welche sind besser geeignet? MIMD-Rechner (Transputer) erlaubt es, auf beliebige Daten zum gleichen Zeitpunkt verschiedene Operationen auszuführen. Häufig ist dieses aber gar nicht nötig: Bei bildverarbeitenden Systemen etwa kann bei der SIMD-Architektur auf jeden Bildpunkt jeweils ein 1-bit-Prozessor zugreifen, der zusammen mit den anderen Prozessoren gleichzeitig dieselbe Instruktion ausführt. Für Hopfield-Netze ist daher die SIMD-Architektur optimal.


Parallele NN: Der Kommunikationsaufwand lässt sich durch die Art des NN gering halten. Beispielsweise durch den Verzicht auf Feedback-Netze, die rekurrent sind.


Der modulare Programmierstil verlangt a priori Festlegungen, die nachträglich schwer zu ändern sind. Bei objektorientierten Ansätzen ist der Änderungsaufwand schon wesentlich kleiner, verlangt aber auch jeweils eine Neukompilierung. Bei regelbasierten Systemen ist zwar die Inferenzmaschine stabil, aber die Wissensbasis kann jederzeit dynamisch geändert werden. Noch freier sind die NN: Hier spielt die Anwendung keine Rolle, die Struktur ist immer gleich ausgelegt, aber durch die Möglichkeit des Lernens stets adaptiv zum Problem.


Die Inferenzmaschine eines regelbasierten Systems arbeitet u.U. mit mehreren Wissensbasen zusammen. Sie kann neue Fakten aus alten Fakten produzieren, und dadurch von aussen herangetragene Hypothesen bestätigen oder widerlegen.


Aristoteles nahm das Prinzip der NN schon vorweg, als er erkannte: "Das Ganze ist mehr als die Summe seiner Teile!"


Warum sind die NN plötzlich so erfolgreich? Die Speicher und die Hardware (HW) wurden billiger; es existieren bereits unzählige dedizierte oder dedizierbare Prozessoren (Transputer, Neurochips, usw.); Künstliche Intelligenz (KI) und NN sind komplementäre Gebiete geworden, behindern sich nicht mehr gegenseitig; die NN haben klare Vorteile wie Robustheit (graceful degradation, d.h trotz Ausfall von Komponenten funktioniert das System weiter), Parallelisierbarkeit und Adaptivität.


Lasswitzsche Vision: eine Universalbibliothek, die die Permutation aller alphabetischen Zeichen enthält. Wenn jedes Problem prinzipiell durch Worte gelöst werden kann, dann beschränkt sich hiermit die Problemlösung auf den Suchaufwand nach den passenden Lösungsworten.


Aktivierungszustand eines Neurons i zum Zeitpunkt t:

a_i(t)

Als Ausprägung kommen binäre, diskrete oder kontinuierliche Werte (i.d.R. zwischen 0 und 1) infrage.


Netzaktivität am Neuron i zum Zeitpunkt t:

net_i(t)=Summe(a_i*w_ij) [Nettoinput]

Man spricht auch von Propagierungsfunktion oder Vermittlungsfunktion. "w_ij" beschreibt die Gewichtung der Verbindung zwischen den Neuronen i und j.


Netzaktivität allgemein:

net=(Summe(a_i*w_i))+Bias

Aktivierungsfunktion:

a_i(t)=fakt(net_i(t), a_i(t-1))

Infrage kommen lineare Funktionen, sigmoide Funktionen (Fermi, Dirac) und Treppenfunktionen (McCulloch-Pitts), sowie für Hopfield- und Boltzmann-Netze auch Wahrscheinlichkeitsfunktionen: Ausprägung 1 kann dann nur mit einer gewissen Wahrscheinlichkeit angenommen werden. Je nachdem, ob die Aktivierungsfunktion analog oder digital ist, berücksichtigt sie den Vorzustand des Neurons oder auch nicht.


Die sigmoide Aktivierungsfunktion ist für Backpropagation-Netze nötig. Formel (m=Muster, d=Fehler=asoll-a):

  • Aktivierungsfunktion: a_m_j=1/(1+e^(-net_m_j))
  • Aussenfehler: d_m_j=(a,soll_m_j-a_m_j)*a_m_j*(1-a_m_j)
  • Innenfehler: d_m_j=a_m_j*(1-a_m_j)*Summek(d_m_k*w_jk)

Ausgabefunktion:

o_i(t)=fout(a_i(t)). 

Sehr oft wird die Ausgabefunktion dadurch realisiert, dass sie nur den Wert der Aktivierungsfunktion wiedergibt.


Es gilt:

  • Fan-in: Alle Impulse, die in ein Neuron einfliessen.
  • Fan-out: Der Impuls, der das Neuron wieder verlässt.

Hetero-assoziative NN sind von auto-assoziativen NN zu unterscheiden. Nur die Ersten beherrschen i.d.R. die Mustertransformation, während die Zweiten üblicherweise nur Muster-Restauration realisieren können (die Boltzmann-Maschine ist hier die grosse Ausnahme).


Wettbewerbslernen des Kohonen-Modells: Bezeichnung für Lernverfahren, die bei NN bestimmte Neuronen in Abhängigkeit von den Inputs bevorzugen, andere dagegen aktiv hemmen. Dieses Vorgehen entspricht dem menschlichen Gehirnvorgängen, denn auch dort ist Wissen lokal-vernetzt gespeichert. Nachteil: Verlust an Robustheit! Verdeutlicht die Vorstellung von NN als Energieteppiche, wobei die Mexican-Hat-Funktionen die Attraktionsbecken wiedergeben; dadurch wird auch deutlich, dass diese NN an den Rändern Speicherschwierigkeiten haben.


Das Kohonen-Feature-Map-Modell eignet sich hervorragend für selbstorganisierende Karten, die automatisches Lernen realisieren, d.h. nicht auf eine Überwachung durch Anlage von Soll-Angaben angewiesen sind. Dadurch können diese NN selbstständig Affinitäten in den Eingaben erkennen und den Output entsprechend klassifizieren - vielleicht auf eine Art, an die der Mensch noch gar nicht gedacht hat.


McCulloch-Pitts-Neuron: Das einfachste Neuron, welches aufgebaut ist wie das Perceptron, aber nicht wie dieses Aktivierungszustände zwischen 0 und 1 einnehmen kann, sondern nur von 0 oder 1.


Ein Perceptron ist einlagig, nicht rückkoppelnd, und beherrscht das XOR-Problem nicht. Sein Einsatzgebiet ist z.B. als Muster-Assoziator und bei der assoziativen Speicherung (realisiert hier eine Mustertransformation, z.B. die Umwandlung virtueller Adressen in physikalische, ist also hetero-assoziativ!). Die Anzahl der Ausgabe-Signale entspricht exakt der Neuronenzahl. Verwendet die Hebbsche Lernregel.


Auto-Assoziator: Ein auto-assoziatives Netz, feed-forwarded, welches aber nur einschichtig ist (im Gegensatz zu Hopfield-Netzen). Die Ausgänge werden auf die Eingänge von ANDEREN Neuronen zurückgekoppelt. Auch hier ist die Anzahl der Neuronen identisch mit der Anzahl der Output-Skalare.


Backpropagation-Netze: Hetero-assoziative Netze, feed-forwarded, die anders als Perceptron-Netze mehrschichtig sind. Als Lernregel müssen sie daher die erweiterte Delta-Lernregel verwenden, die die inneren Neuronen bei der Fehlerrückführung anders gewichtet als die Ausgabeneuronen.


Hopfield-Netze: Sind quasi ungeschichtet, da hier eine totale Vermaschung und Rückkopplung zwischen den Neuronen vorliegt (anders als beim Auto-Assoziator auch auf die eigenen Eingänge!). Besonderheit: Ausbalancierte Gewichte (es gilt also: w_ij=wji). Gehört zur Gruppe der auto-assoziativen Netze, kann also unscharfe Muster wieder restaurieren. Gehört zudem zur Gruppe der thermodynamischen Netze: Nach Eingabe von Inputs pendelt sich das Netz in einen Zustand von minimaler Energie ein (Relaxation). Durch zusätzliche Temperatursenkung mithilfe eines Cooling-Schedulers werden die störenden Zustände lokaler Minima überwunden, die nur suboptimale Lösungen wiedergegeben hätten, so dass sie in ihrem echten Attraktionsbecken zur Ruhe kommen. Die Ausprägung der Neuronen ist bei hoher Temperatur noch unbestimmt, bei niedriger Temperatur dagegen nimmt die Wahrscheinlichkeit für 1 oder 0 zu, je nach den Input-Vektoren. Einsatz des Gradienten-Abstiegs-Lernverfahrens: Es werden zufällig Neuronen ausgewählt, mit Input-Vektor belegt, dann die Relaxation gestartet. Dadurch werden die Verbindungsgewichte neu berechnet. Dies wird so lange fortgeführt, bis die Gewichte sich nicht mehr ändern, d.h., das Faktum gelernt ist.


Boltzmann-Maschine: Dieses NN ist eine Sonderform der Hopfield-Netze. Es ist dadurch zwar auto-assoziativ, kann aber auch zur Mustertransformation verwendet werden. Der Fehler, der über das Gradienten-Abstiegs-Verfahren für die Gewichtung zu ermitteln ist, ergibt sich durch die Differenz der Neuronenzustände, wenn nur die Input-Vektoren angelegt werden, und den Neuronenzuständen, wenn die Input-Vektoren zusammen mit den Output-Vektoren angelegt werden.


netTALK: Ein NN von 1985 zur Umwandlung von englischem Text mittels phonetischer Notation in Ton. Es handelt sich um ein Backpropagation-Netz mit 3 Schichten, Codierung eines Zeichens in 29 Eingabeeinheiten, Berücksichtigung benachbarter Zeichen wegen phonetischem Kontext, 26 Ausgabeneuronen entsprechen 26 möglichen phonetischen Lauten und Buchstaben. 91% von 1.000 trainierten Wörtern werden korrekt ausgesprochen.


Expertensysteme (XPS): Eine Shell in Kombination mit einer beliebigen Wissensbasis. Anders als Programme bilden XPS keine monolithische Einheit. V.a. die Wissensbasis muss nachträglich leicht zu ändern sein, da seltene Fälle dem Experten oft erst spät und zufällig einfallen. Die Entwicklung von XPS dauert daher auch viel länger. Fünf Mannjahre (ein Mann braucht dafür fünf Jahre bzw. fünf Mann brauchen dafür ein Jahr) und mehr sind keine Seltenheit.


LISP und PROLOG trennen nicht zwischen Befehlen und Daten, wodurch sie ihre Programme leicht selbst ändern können. PROLOG hat allerdings einen fest eingebauten Inferenz-Mechanismus, ist daher nicht ganz so flexibel einzusetzen wie LISP.


Diagnosesysteme: Solche Systeme sind realisierbar über Rückwärtsverkettung, d.h., bei einer gegebenen Diagnose wird versucht, die nötigen Prämissen aus den Produktionsregeln herzuleiten. Gelingt dies nicht, werden sie erfragt. Je nach Ausprägung trifft dann eine Diagnose zu oder erweist sich als falsch. In jedem Fall kann sie vom Stack genommen werden und die nächste Diagnose wird untersucht (Tiefensuche).


Constraints: Zusätze in der Wissensbasis, die auf besondere Beziehungen zwischen zwei Fakten hinweisen, i.d.R. auf den gegenseitigen Ausschluss. Dies lässt sich allerdings auch über Produktionsregeln der Art "WENN x DANN NICHT Y" realisieren, sofern Negationen im DANN-Teil möglich sind.


XPS können in der Telekommunikation eingesetzt werden, um z.B. adaptiv auf überlastete Kommunikationspfade mit guten Alternativen zu reagieren. Beispiel:

WENN Kommunikation UND x-Weg belegt UND y-Weg frei, DANN nimm y-Weg. 

Man arbeitet bereits an autonomen, intelligenten Netzwerken, die in der Lage sind, typisches Anwender-Verhalten zu erkennen, zu bewerten, und entsprechend zu reagieren. Bei Mobilfunk z.B. kann ein solches Netz von alleine erkennen, wann es die Sendestation wechseln muss, um den fahrenden Teilnehmer weiterhin kontaktieren zu können (Roaming). Auf ähnliche Art kann über eine bestimmte Nummer auch jederzeit der richtige Bereitschaftsarzt vom Netz ermittelt werden.


Nicht-monotones Schliessen: I.d.R. arbeiten Inferenz.Maschinen monoton, d.h., einmal ermittelte Wahrheitswerte für Fakten werden nicht mehr infrage gestellt. Bei unsauberen Produktionsregeln kann dies aber zu Fehlschlüssen führen. Klassisches Beispiel:

WENN x=Vogel DANN x=kann fliegen; 
Fakt: Tweety=Vogel => Tweety kann fliegen

Stellt sich später aber raus, dass Tweety ein Pinguin ist, muss z.B. über ein Constraint das Fliegen-können negiert werden. Problem: Während noch die für Vögel generell gilt "Fliegen-können=WAHR" kann es zu inkonsistenten Schlüssen über die Inferenzmaschine kommen, z.B.:

WENN x=kann fliegen DANN x=kann von Felsen gestossen werden

Bei unserem Pinguin Tweety ginge dieser Schluss wirklich unschön aus!


Temporales Schliessen: Produktionsregeln sind hier an bestimmte zeitliche Restriktionen gebunden, können z.B. nur feuern, wenn im Real Life gerade Winter ist. Diese automatische Kontext-Ermittlung lässt die XPS effektiver reagieren. Eine nasse Fahrbahn wird dann z.B. im Winter als gefährlicher erachtet als im Sommer.


Backtracking: Ein Verfahren, welches bei der Tiefensuche zum Einsatz kommt. Wurde ein Teilbaum bis zum Blatt erfolglos abgesucht, steigt der Inferenz-Mechanismus über das Backtracking den Baum bis zur nächsten, nicht untersuchten Abzweigung wieder auf, von wo aus er die Suche bis zum Blatt dieses Astes von Neuem beginnt.


Derzeitiger Trend bezüglich der XPS: Verzicht auf Knowledge Engineering (KE). Stattdessen wird versucht, über die Wissensakquisitionskomponente eine so benutzerfreundliche Mensch-Maschine-Kopplung zu erreichen, dass der Experte auch ohne KE-Hilfe sein Wissen in die Wissensbasis eingeben kann. Die Form der Wissensrepräsentation obliegt dabei alleine dem Meta-Wissen des XPS (z.B. Agenda-Kontrolle, die sich für eine Lösung entscheidet, wenn verschiedene Inferenz-Mechanismen verschiedene Lösungen liefern).


Bei der XPS-Entwicklung stehen sich zwei Ansätze gegenüber: Prototyping und modellbasierte Ansätze. Die Ersten sind bottom-up, die Zweiten dagegen top-down. Eine Prototyping-Spirale dauert je Runde 6 Monate, 4 Monate, ... usw. Die einzelnen Phase sind: Wissensaquisition, Repräsentation, Requirements, Validation, Integration und Implementation. Der Knowledge Engineer vermittelt dabei zwischen dem XPS und den Experten (er ist zuständig für die Wissensakquisition und Wissensrepräsentation). Wartung bei XPS heisst v.a. Wissenspflege, weniger Bug-fixing.


Über die Datenbanksprache Structured Query Language (SQL) sind XPS auch mit Datenbank-Systemen (DBS) zu koppeln. Bei American Express hilft ein XPS z.B. die Kreditwürdigkeit von Kunden zu prüfen, bevor auf das Konto zugegriffen werden kann. XPS sind auch mit NN koppelbar - sie können dann dazu verwendet werden, die Ergebnisse zu interpretieren, die die NN liefern. Zukünftige XPS werden wohl während der Laufzeit ihre Wissensbasis ändern können (mithilfe von NN möglicherweise sogar erweitern, ganz ohne Mensch-Einwirkung). Vielleicht werden sie zudem ihre eigenen Fähigkeiten einschätzen lernen können.


Die XPS-Entwicklung verlangt drei Ressourcen: Instrumentelle Ressourcen (HW, Software, KI-Werkzeuge), personelle Ressourcen (KE, Experten, Programmierer) und strukturelle Ressourcen (es existieren schlecht-strukturierte Probleme mit engem Problembereich). Sie werden v.a. in den Bereichen Diagnostik, Planungen, Konfiguration und Simulationen verwendet.


Wissensrepräsentation erfolgt in der Wissensbasis prozedural-aktiv (Regelwissen), z.B. über Produktionssysteme (WENN-DANN-Regeln), und deklarativ-passiv (Faktenwissen), z.B. über Objekt-Attribut-Werte-Tripel (z.T. mit angefügter Frage, über die das Faktum von Anwender nach seinen Wahrheitsgehalt befragt werden kann).


Welche Probleme können bei der automatischen Wissensakquisition auftreten?

In XPS erfolgt die Wissensaquisition (WA) über KE. Von automatischer WA spricht man nur, wenn Wissen durch externe maschinelle Inputs geliefert wird oder wenn das XPS aus vorhandenem Wissen neues Wissen erzeugen kann. Probleme dabei: Bei maschinellen, externen Inputs kann wenig über die Qualität des Wissens ausgesagt werden; zudem kann durch die Aufbereitung die Semantik verloren gehen. Abgeleitetes Wissen verlangt dagegen ein XPS, dass seine eigene Wissensbasis erweitern kann - hierzu existieren allerdings bisher wenig Referenzmodelle.


Welche Eigenschaften hat ein konzeptionelles Wissensmodell?

  • Abstrakte und also HW-unabhängige Wissensbeschreibung.
  • Es ist der spezifischen Problemsituation anzupassen.
  • Es ist keinem bestimmten Entwicklungswerkzeug anzupassen.
  • Darstellung: Semantische Netze u.ä.
  • Bei Werkzeugwechseln kann das gleiche Wissensmodell benutzt werden.
  • Aktueller Forschungsgegenstand: Weitere Formalisierung zur Automation.

Assoziativer Speicher: Ein konventioneller Speicher bedeutet, über eine bestimmte Adresse wird auf den Inhalt zugegriffen. Assoziativer Speicher heisst hingegen, über einen Teilinhalt erhält man den Gesamtinhalt. Funktioniert damit ähnlich wie die Mustersuche in einem String - und lässt sich leicht parallelisieren (alle Zellen werden gleichzeitig nach dem Muster durchsucht). Eingesetzt wird der Assoziative Speicher in Memory Management Units und auch bei der optischen Mustererkennung.