Htbluva wiener neustadt
PRRV-Referat
Neuronale Netzwerke
Fuzzy Logic
Philipp Gühring, D94008 Version 1.0 Oktober 1998Inhaltsverzeichnis1 NEURONALE NETZWERKE 2
1.1 Arbeitsweise: 2
1.2 Lernen: 2
1.3 Struktur 2
1.4 Umsetzung des Neuronen-Modells 3
1.
5 Zeitunabhängige Systeme 3
1.6 Verwendung 3
1.7 Überwachtes Lernen 4
1.8 Standard Backpropagation 4
1.9 Vergleich zwischen Gehirn und Computer: 4
2 FUZZY LOGIC - UNSCHARFE LOGIK 5
2.1 Die Idee hinter Fuzzy Logic 5
2.
2 Beispiele für Anwendungsgebiete 5
2.2.1 Staubsauger: 5
2.2.2 Liftsystem: 5
2.2.
3 Unterschrifterkennung: 5
2.3 Warum Fuzzy Logic? - Unterschiede zur traditionellen Logik 6
2.4 Was steckt hinter Fuzzy Logic? 6
2.5 Auswerten der Ergebnisse: 7
2.6 Auswertung der Regeln: 7
2.7 Resultat: 7
2.
8 Schlußfolgerungen: 8
2.9 Hardware: 8
1
Neuronale Netzwerke Künstliche neuronale Netze (engl. neural networks): Die Grundidee zur Konstruktion künstlicher neuronaler Netze stammen aus der Neurophysiologie. Die Arbeit von natürlichen Nervenzellen wird dabei in stark vereinfachter Weise nachgeahmt. So können Computerprogramme (oder auch sogenannte neuronale Hardware) Eigenschaften natürlicher Gehirne wie Toleranz gegen Fehler oder Ausfall eigener Komponenten sowie Verallgemeinerungsfähigkeit aufweisen.
Eine typische Verallgemeinerungsaufgabe ist beispielsweise die Erkennung unvollständiger, verzerrter oder verrauschter Muster.
Die Fähigkeit zur Übertragung gelernten Wissens auf neue Situationen ist eine der wichtigsten Anforderungen an neuronale Netze.
Dem biologischen Vorbild entsprechend bestehen (künstliche) neuronale Netze aus einer Vielzahl von "Neuronen". Diese einfachen Prozessoren werden auch als Knoten bezeichnet.1.1 Arbeitsweise:
Der Zustand jedes Knotens ergibt sich aus den Signalen, die er von anderen Knoten erhält. Jeder Verbindung zwischen zwei Knoten (in der Biologie: Synapse) ist ein Verbindungsgewicht zugeordnet.
Ein darüber weitergegebenes Signal wird mit dem entsprechenden Gewicht multipliziert. Jeder Knoten addiert in der Regel alle eingehenden Signale und wendet auf die Summe eine einfache Funktion an. Sie hat meist S-förmige Gestalt und wird deshalb auch Sigmoidfunktion genannt. Eine der gängigsten Sigmoidfunktionen ist der Tangens hyperbolicus. Die Nichtlinearität von Sigmoidfunktionen ist entscheidend für die Leistungsfähigkeit von neuronalen Netzen. Differenzierbarkeit, streng monotones Verhalten und Beschränktheit sind aus mathematischen Gründen notwendig bzw.
sinnvoll.
Das Ergebnis kann unmittelbar als eigenes Signal weitergegeben werden. Meist hat jede Verbindung von einem Knoten j zu einem Knoten i ein eigenes Gewicht wij. Die Gewichte bestimmen die Reaktion eines Netzes auf eine Eingabe und sind damit sein Informationsspeicher.1.2 Lernen:Neuronale Netze lernen aus Beispiel - Eingaben mit oder ohne Beurteilung ihrer jeweiligen Ausgaben (überwachtes bzw.
unüberwachtes Lernen), indem sie ihre Gewichte verändern. Bei vielen Lernverfahren ist es sinnvoll, die Gewichte vor Beginn des Lernens mit (kleinen) Zufallswerten zu belegen.1.3 Struktur Gemeint ist hierbei die Verbindungsstruktur eines Netzes, auch Architektur genannt: Wichtigster Spezialfall sind vorwärtsgerichtete (engl. feedforward) Verbindungsstrukturen, wobei die Knoten meist in Schichten eingeteilt werden. Jeder Knoten gibt sein Signal jeweils nur an Knoten weiter, die in einer der nachfolgenden Schichten liegen (Multilayer Perceptron).
Kann dagegen mindestens ein Knoten (direkt oder indirekt) seinen eigenen Eingang beeinflussen, spricht man vom rückgekoppelten (engl. recurrent) Netzen.
Eingabe (Input) - Schnittstellen sind zum Beispiel fest vorgegebene Signale von Eingabeknoten, die keine weitere Funktion haben. Informationen können dem Netz auch in Form seines Anfangszustandes eingegeben werden.
Ausgabe (Output) - Schnittstellen sind meist Ausgabeknoten, deren Signale vom Anwender unmittelbar abgegriffen werden.
Alle Knoten, die weder Ein- noch Ausgabeknoten sind, werden versteckte Knoten genannt, da sich der Anwender nicht direkt damit befaßt.
1.4 Umsetzung des Neuronen-Modells
1.5 Zeitunabhängige Systeme Die meisten neuronalen Anwendungen stützen sich auf den einfachen Fall zeitunabhängiger, vorwärtsgerichteter Netze. Hier nimmt jeder Knoten zu jeder Eingabe einen festen Zustand ein, der sich unmittelbar berechnen läßt. Die verschiedenen Typen zeitunabhängiger, vorwärtsgerichteter Netze sind relativ gut erprobt und leicht einzusetzen. Das Eingangssignal xi eines Knotens i berechnet sich bei zeitunabhängigen Systemen üblicherweise aus den Gewichten wij (jeweils von Knoten i nach Knoten j) und den Signalen yi anderer Knoten:
Das Signal (bei Sigmoidfunktionen roh(i)) für Knoten i ist dann yi = roh(xi).
Diese Gleichungen können für ein vorwärtsgerichtetes Netz unmittelbar gelöst werden, indem, beginnend an der Eingabe, alle Signale sukzessive berechnet werden.
Für versteckte Knoten kann man als Sigmoidfunktion z.B. den Tangens Hyperbolicus wählen, für Ausgabeknoten die Identität rohi(xi)=xi.
Typische Verbindungsstruktur: Vollständige Verbindungen von der Eingabeschicht zur versteckten Sicht und von der versteckten Schicht zur Ausgabeschicht. Die Genauigkeit, mit der ein vorwärtsgerichtetes Netz mit geeigneten Sigmoidfunktionen (z.
B. Tangenshyperbolicus) eine stetige Funktion, also eine stetige Zuordnung von Eingabewerten zu Ausgabewerten, wiedergeben kann, kann durch Erhöhung der Anzahl versteckter Knoten beliebig gesteigert werden. Nur eine versteckte Schicht ist ausreichend; dies muß jedoch nicht zur günstigsten Lösung führen. Auch ist das Auffinden einer Lösung durch den Lernalgorithmus in der Regel nicht garantiert.
1.6 Verwendung Technische Bedeutung gewinnen zunehmend Computersimulationen von neuronalen Netzen.
Ein wichtiger Anwendungsbereich ist die Klassifizierung von Mustern.
Beispiele dazu sind etwa die Erkennung von handgeschriebenen Zeichen oder die Zuordnung von Werkstücken auf einem Fließband anhand von digitaliserten Videobildern.
Eine gängige Architektur zur Mustererkennung ordnet jedem möglichen Mustertyp einen Ausgabeknoten zu. Im Idealfall erhielte man maximales Signal für den dem anliegenden Muster entsprechenden Knoten, minimales Signal für alle anderen. Auch zur Regelung und Steuerung können neuronale Netze eingesetzt werden. Robotersteuerung oder etwa Bestimmung des optimalen Drucks einer Walze auf ein Blech in einem Walzwerk.
1.7 Überwachtes Lernen Überwachtes Lernen (engl. supervised learning), die Anpassung der Parameter (Gewichte) eines Netzes bezüglich eines Beurteilungskriteriums, meist in Form einer sogenannten Objektfunktion.
1.8 Standard Backpropagation
Wichtigstes Verfahren zur Berechnung des Gradienten einer Fehlerfunktion für vorwärtsgerichtete, zeitunabhängige Netze. Es beruht auf einer rückwärts gerichteten Weitergabe von sogenannten Fehlersignalen durch das Netz.
Bei vorwärtsgerichteten Verbindungen können die Fehlersignale, beginnend an den Ausgabeknoten, sukzessive berechnet werden. Sollen mehrere Muster auf einmal berücksichtigt werden (Batch Learning), so werden für jedes Muster entsprechende Fehlersignale berechnet. Deren Beiträge zu den einzelnen Gewichtsänderungen werden dann einfach summiert. Dies entspricht einer Summe über alle Lernmuster in der Objektfunktion. Überwachtes Lernen funktioniert häufig besser mit linearen Ausgabeknoten (Sigmoidfunktion = Identität), da die Fehlersignale besser weitergegeben werden. Binäre Eingabedaten sollten aus {-1, +1} (statt aus {0, +1}) gewählt werden, da Nullsignale nicht zum Lernen beitragen.
1.9 Vergleich zwischen Gehirn und Computer: Gehirn Computer
Anzahl der Verarbeitungelemente ca. 1011 Neuronen ca. 109 Transistoren
Art massiv parallel im allg. seriell
Speicherung assoziativ adressbezogen
Schaltzeit eines Elements ca. 1 ms ca.
1 ns
"Schaltvorgänge"/s ca. 103/s ca. 109/s
"Schaltvorgänge" insges. (theoretisch) ca. 1013/s ca 1018/s
"Schaltvorgänge" insges. (tatsächlich) ca.
1012/s ca. 1010/s
Aus dieser Tabelle geht hervor, daß der Computer dem menschlichen Gehirn eigentlich überlegen sein müßte. Dies ist jedoch nicht der Fall, da das Gehirn seinen Vorteil in der massiv parallelen Verarbeitung hat.
2 FUZZY LOGIC - Unscharfe Logik 2.1 Die Idee hinter Fuzzy Logic
Die meisten Symbole des menschlichen Denkens sind in ihrer eigentlichen Bedeutung unscharf, die z.B.
die Begriffe "ständig", "viele" oder "hell". Durch diesen hohen Grad der Abstraktion ist der Mensch in der Lage, Entscheidungen auch in komplexen und widersprüchlichen Situationen zu fällen.
In In der traditionellen Logik müssen Aussagen wie "junger Mensch" oder "großer Mann" stets in festen Wertebereichen korrellieren, wenn aber z.B. die Schwelle für die Einstufung als "großer Mann" bei 180cm Körpergröße gesetzt wird, ist nicht einzusehen, warum jemand mit einer Körpergröße von 179cm 100%ig nicht in diese Kategorie fällt menschliches Denken vollzieht sich dagegen in Symbolen der Sprache, wie z.B.
"ziemlich groß", in der unscharfen Mengenlehre werden daher Symbole wie "Größe" als linguistische Variable bezeichnet.
Außerdem wird das "wahr" und "falsch" der klassischen Logik in der unscharfen Logik um "ziemlich wahr" und "recht unwahr" erweitert.
2.2 Beispiele für Anwendungsgebiete 2.2.1 Staubsauger: Mittels eines optischen Staubsensors ermittelt er die Beschaffenheit des Bodens, die Staubmenge und die Art des Staubes.
So kann er die Leistung jeweils reduzieren bzw. erhöhen und wenn kein Schmutz mehr vorhanden ist, wird dies durch eine Leuchtdiode angezeigt.
2.2.2 Liftsystem: Das Liftsystem besteht aus drei Kabinen und das Fuzzy-System entscheidet, welche Liftkabine wohin fährt. In der Praxis hat sich ergeben, das die Gesamtzeitersparnis im Gegensatz zu anderen Liftsystemen um mehr als 30 % gesteigert wird.
2.2.3 Unterschrifterkennung: Die Position, Schreibgeschwindigkeit und der Anpreßdruck eines Schreibstiftes werden erfaßt und analysiert.
Ergebnis: es gab niemanden der eine Unterschrift fälschen konnte und das System hielt weniger als 5 % von den echten Unterschriften als gefälscht. Das sind halb so viele, wie bei einem System ohne Fuzzy Logic.
2.
3 Warum Fuzzy Logic? - Unterschiede zur traditionellen Logik Der unterschiedliche Symbolvorrat von Mensch und Computer kann von Expertensystemen nicht angemessen berücksichtigt werden.
Die Theorie der unscharfen Mengen stellt umfassende Methoden zum Handling der unscharfen Konzepte des menschlichen Denkens zur Verfügung.
Empirische Studien haben nachgewiesen, daß diese Methoden menschliches Entscheidungsverhalten angemessen abbilden.
Die Fuzzy- Theorie kann als Obermenge zur Wahrscheinlichkeitstheorie gesehen werden, da alles was wahrscheinlich ist auch möglich ist, im Gegensatz dazu aber nicht alles was möglich ist auch wahrscheinlich ist (Zadeh).
2.4 Was steckt hinter Fuzzy Logic? Der Grundgedanke und Unterschied zur bisherigen Logik ist: es gibt mehr als nur ein wahr oder ein falsch, d.
h. eine Aussage kann auch zum Teil richtig und zum Teil falsch sein.
Beispiel:
Bei welcher Temperatur ist es warm bzw. bei welcher Temperatur ist es kalt? Wenn man dem Computer sagen will, wann es warm oder kalt ist, dann muß er einen genauen Richtwert dafür haben. Z. B.
: wenn es mehr als 28° hat, dann ist es warm, sonst nicht. Was ist aber, wenn es 27,5° hat? Für den Computer wäre das nicht mehr warm.
Und gerade solche "ungefähren" Angaben, wie "ziemlich" und "viel", kommen vor allem im menschlichen Denken sehr häufig vor.
Das folgende Beispiel soll darstellen, wie bei der Fuzzy Logic vorgegangen wird: Ist ein Kunde kreditwürdig oder nicht?
Die benötigten Zugehörigkeitszahlen zeigen, wie die prozentmäßige Verteilung der Bereiche. Sie können einen reellen Wert von 0 bis 1 annehmen.
Außerdem benötigt man festgelegte Grenzen: Man kann mit Sicherheit sagen, bis zu 10.
000 öS hat der Kunde ein niedriges Einkommen und ab 15.000 öS ist es nicht mehr so niedrig. Wenn diese zwei Punkte miteinander verbunden werden, hat man Zwischenwerte, die aussagen, mit z.B. 12.500 öS ist das Einkommen nicht mehr so niedrig.
Diese Variablen heißen, weil sie dem menschlichen Wortschatz nahe kommt, linguistische Variablen.
Wenn man dies nun mit mehreren Variablen macht, kann man die Produktionsregeln (Interferenzbildung) festlegen, die folgendermaßen lauten:
WENN der Kunde ein hohes Einkommen UND der Kunde ein wertvolles Grundstück hat DANN ist die Kreditwürdigkeit hoch
In einem Expertensystem ohne Fuzzy Logic:
WENN Einkommen > 30.000 UND Grundstückswert > 300.000 DANN Kreditwürdigkeit = 1.000.000
Wie das Beispiel zeigt, sind die Schwellen nicht so willkürlich und genau festgelegt.
Wäre die Kreditwürdigkeit bei einem Kunden in dem Expertensystem, wenn er 30.000 öS verdient, niedriger als die eines Kunden der genau 30.001 öS verdient.
Auch in der Fuzzy Logic gibt es ein linguistisches UND, ODER und NOT:
Eine UND-Verknüpfung entspricht immer dem niedrigeren Wert. Das heißt, wenn der Kunde ein Einkommen zu 0,9 hoch ist und sein Grundstück zu 0,8 hoch ist, so ist die Aussage zu 80 % korrekt. Ein ODER wäre die Aussage zu 90 % korrekt.
Bei einem NOT wäre das Ergebnis "1 minus dem Wert" (z.B. bei NOT 0,9 wäre die Ergebnis 10 %).
2.5 Auswerten der Ergebnisse: WENN der Kunde ein hohes Einkommen UND der Kunde ein wertvolles Grundstück hat DANN ist die Kreditwürdigkeit mittel
WENN der Kunde ein mittleres Einkommen UND der Kunde ein mittelgroßes Grundstück hat DANN ist die Kreditwürdigkeit niedrig
Einkommen ist 27.000 => hohes Einkommen trifft zu 0,4 und mittleres Einkommen zu 0,1 zu.
Grundstück wird angenommen, daß es wertvoll zu 0,3 und mittelgroß zu 0,5 ist.
2.6 Auswertung der Regeln:1. Regel: 0,4 UND 0,1 = 0,1
2. Regel: 0,3 UND 0,5 = 0,3
Wenn man jetzt die Ergebnisse hernimmt, und sie mit der Kreditwürdigkeit kombiniert, so entstehen zwei
Flächen:
Legt man diese Flächen übereinander, so kann man sich den Flächenschwerpunkt ausrechnen und man hat ein zahlenmäßiges Ergebnis (=> Kreditwürdigkeit würde ca. bei 45.
000 öS liegen):
2.7 Resultat:Dieser Vorgang (von der Unschärfe zurück in die reellen Zahlen) heißt Defuzzifizierung.
2.8 Schlußfolgerungen: Zusätzlich sollte die Fuzzy Logic ein "Unscharfes Schließen" zulassen, das bedeutet, der Gültigkeitsgrad der Vorbedingung (der WENN-Teil) muß ins Verhältnis mit dem DANN-Teil gesetzt werden. Das heißt, wenn die Bedingung für das Einkommen und den Grundstückswert bis zu 80 % gültig sind, so ist die Kreditwürdigkeit ebenfalls nur bis zu 80 % hoch.
Und was ist, wenn der Wert des Grundstücks und das Einkommen sehr hoch sind, dann wäre der Kunde sicher noch mehr kreditwürdig.
Beispiel für Plausibles Schließen:
Haus 1 - Attraktivität: 0,4 - Verkehrsgünstige Lage: 0,4
Haus 2 - Attraktivität: 0,9 - Verkehrsgünstige Lage: 0,3
Wenn man diese zwei Kriterien in der Fuzzy Logic mit einem UND verknüpft, würde die Wahl auf das 1. Haus fallen (0,4 UND 0,4 = 0,4 und 0,9 UND 0,3 = 0,3).
Wenn sich jedoch ein Mensch eines der beiden Häuser auf Grund dieser Auswahlkriterien kaufen müßte, würde er sich sicherlich für das 2. Haus entscheiden, da er die ungünstigere Verkehrslage für ein wesentlich schöneres Haus in Kauf nimmt. Für diesen Zweck hat man den Gamma-Operator entwickelt. Er bestimmt, ob die Verknüpfung mehr einem UND bzw.
mehr einem ODER entsprechen sollte.
Das heißt, wenn man den Parameter g auf 0,5 festlegt, so fiele die Wahl nun auf das zweite Haus (0,3 + 0,9) / 2 = 0,6.
2.9 Hardware: Es hat sich herausgestellt, daß Fuzzy gesteuerte Systeme als stabiler und fehlertoleranter im Vergleich zu herkömmlich gesteuerten System sind. Das hängt damit zusammen, daß die Symbolik ähnlich dem menschlichen Denken ist. Denn anstatt komplex verschachtelte Parameter einstellen zu müssen, genügt es bei Fuzzy-Systemen die linguistischen Variablen bzw.
die Fuzzy-Regel zu modifizieren. Dadurch wird die Fehlerbehebung und Wartung wesentlich einfacher. Zum Beispiel könnte man in einem bereits bestehenden Fuzzy-System einige Regeln weglassen und das System verschlechtert sich zwar, aber es versagt nicht, wobei eine kleine Änderung bei einem normalen Regelungsalgorithmus wahrscheinlich schon das ganze System versagt. Und gerade durch diese Fehlertoleranz ist die Fuzzy Logic so ideal.
Anmerkungen: |
| impressum | datenschutz
© Copyright Artikelpedia.com