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.