Künstliche Intelligenz - Neuronale Netze
Ein weiteres Forschungsgebiet der KI, die neuronalen Netze, ist vom natürlichen neuronalen Netz des menschlichen Nervensystems inspiriert.
Was sind künstliche neuronale Netze (ANNs)?
Der Erfinder des ersten Neurocomputers, Dr. Robert Hecht-Nielsen, definiert ein neuronales Netzwerk als -
"... ein Computersystem, das aus einer Reihe einfacher, stark miteinander verbundener Verarbeitungselemente besteht, die Informationen durch ihre dynamische Zustandsantwort auf externe Eingaben verarbeiten."
Grundstruktur von ANNs
Die Idee von ANNs basiert auf der Überzeugung, dass die Arbeit des menschlichen Gehirns durch Herstellen der richtigen Verbindungen unter Verwendung von Silizium und Drähten als lebend nachgeahmt werden kann neurons und dendrites.
Das menschliche Gehirn besteht aus 86 Milliarden genannten Nervenzellen neurons. Sie sind durch mit anderen tausend Zellen verbunden Axons.Reize aus der äußeren Umgebung oder Eingaben von Sinnesorganen werden von Dendriten akzeptiert. Diese Eingänge erzeugen elektrische Impulse, die sich schnell durch das neuronale Netz bewegen. Ein Neuron kann die Nachricht dann an ein anderes Neuron senden, um das Problem zu behandeln, oder es nicht weiterleiten.
ANNs bestehen aus mehreren nodes, die biologische imitieren neuronsdes menschlichen Gehirns. Die Neuronen sind durch Verbindungen verbunden und interagieren miteinander. Die Knoten können Eingabedaten aufnehmen und einfache Operationen an den Daten ausführen. Das Ergebnis dieser Operationen wird an andere Neuronen weitergegeben. Die Ausgabe an jedem Knoten heißt itsactivation oder node value.
Jeder Link ist zugeordnet weight.ANNs sind lernfähig, was durch Ändern der Gewichtswerte erfolgt. Die folgende Abbildung zeigt eine einfache ANN -
Arten künstlicher neuronaler Netze
Es gibt zwei Topologien für künstliche neuronale Netze - FeedForward und Feedback.
FeedForward ANN
In dieser ANN ist der Informationsfluss unidirektional. Eine Einheit sendet Informationen an eine andere Einheit, von der sie keine Informationen empfängt. Es gibt keine Rückkopplungsschleifen. Sie werden bei der Mustererzeugung / -erkennung / -klassifizierung verwendet. Sie haben feste Ein- und Ausgänge.
FeedBack ANN
Hier sind Rückkopplungsschleifen erlaubt. Sie werden in inhaltsadressierbaren Speichern verwendet.
Arbeiten von ANNs
In den gezeigten Topologiediagrammen stellt jeder Pfeil eine Verbindung zwischen zwei Neuronen dar und gibt den Weg für den Informationsfluss an. Jede Verbindung hat ein Gewicht, eine Ganzzahl, die das Signal zwischen den beiden Neuronen steuert.
Wenn das Netzwerk eine „gute oder gewünschte“ Ausgabe generiert, müssen die Gewichte nicht angepasst werden. Wenn das Netzwerk jedoch eine "schlechte oder unerwünschte" Ausgabe oder einen Fehler erzeugt, ändert das System die Gewichte, um nachfolgende Ergebnisse zu verbessern.
Maschinelles Lernen in ANNs
ANNs sind lernfähig und müssen geschult werden. Es gibt verschiedene Lernstrategien -
Supervised Learning- Es handelt sich um einen Lehrer, der ein Gelehrter ist als der ANN selbst. Zum Beispiel füttert der Lehrer einige Beispieldaten, über die der Lehrer die Antworten bereits kennt.
Zum Beispiel Mustererkennung. Die ANN kommt beim Erkennen auf Vermutungen. Dann gibt der Lehrer dem ANN die Antworten. Das Netzwerk vergleicht dann seine Vermutungen mit den „richtigen“ Antworten des Lehrers und nimmt Anpassungen entsprechend den Fehlern vor.
Unsupervised Learning- Es ist erforderlich, wenn kein Beispieldatensatz mit bekannten Antworten vorhanden ist. Zum Beispiel nach einem versteckten Muster suchen. In diesem Fall wird das Clustering, dh das Aufteilen eines Satzes von Elementen in Gruppen nach einem unbekannten Muster, basierend auf den vorhandenen vorhandenen Datensätzen durchgeführt.
Reinforcement Learning- Diese Strategie basiert auf Beobachtung. Das ANN trifft eine Entscheidung unter Beobachtung seiner Umgebung. Wenn die Beobachtung negativ ist, passt das Netzwerk seine Gewichte an, um beim nächsten Mal eine andere erforderliche Entscheidung treffen zu können.
Back Propagation Algorithmus
Es ist der Trainings- oder Lernalgorithmus. Es lernt anhand eines Beispiels. Wenn Sie dem Algorithmus das Beispiel für die Ausführung des Netzwerks übermitteln, werden die Gewichte des Netzwerks geändert, sodass nach Abschluss des Trainings die gewünschte Ausgabe für eine bestimmte Eingabe erzeugt werden kann.
Back Propagation-Netzwerke sind ideal für einfache Mustererkennungs- und Zuordnungsaufgaben.
Bayesian Networks (BN)
Dies sind die grafischen Strukturen, die zur Darstellung der Wahrscheinlichkeitsbeziehung zwischen einer Reihe von Zufallsvariablen verwendet werden. Bayesianische Netzwerke werden auch genanntBelief Networks oder Bayes Nets. BNs Grund für unsichere Domain.
In diesen Netzwerken repräsentiert jeder Knoten eine Zufallsvariable mit bestimmten Aussagen. Beispielsweise repräsentiert in einer medizinischen Diagnosedomäne der Knoten Krebs die These, dass ein Patient Krebs hat.
Die Kanten, die die Knoten verbinden, repräsentieren probabilistische Abhängigkeiten zwischen diesen Zufallsvariablen. Wenn von zwei Knoten einer den anderen beeinflusst, müssen sie direkt in die Richtung des Effekts verbunden werden. Die Stärke der Beziehung zwischen Variablen wird durch die jedem Knoten zugeordnete Wahrscheinlichkeit quantifiziert.
Es gibt eine einzige Einschränkung für die Bögen in einem BN, dass Sie nicht einfach zu einem Knoten zurückkehren können, indem Sie gerichteten Bögen folgen. Daher werden die BNs als Directed Acyclic Graphs (DAGs) bezeichnet.
BNs können mehrwertige Variablen gleichzeitig verarbeiten. Die BN-Variablen bestehen aus zwei Dimensionen -
- Bereich von Präpositionen
- Wahrscheinlichkeit, die jeder Präposition zugeordnet ist.
Betrachten Sie eine endliche Menge X = {X 1 , X 2 ,…, X n } diskreter Zufallsvariablen, wobei jede Variable X i Werte aus einer endlichen Menge annehmen kann, die mit Val (X i ) bezeichnet wird. Wenn es eine gerichtete Verknüpfung von der Variablen X i zur Variablen X j gibt , ist die Variable X i ein Elternteil der Variablen X j, die direkte Abhängigkeiten zwischen den Variablen zeigt.
Die Struktur von BN ist ideal, um Vorkenntnisse und beobachtete Daten zu kombinieren. BN kann verwendet werden, um die kausalen Zusammenhänge zu lernen, verschiedene Problembereiche zu verstehen und zukünftige Ereignisse vorherzusagen, selbst wenn Daten fehlen.
Aufbau eines Bayesianischen Netzwerks
Ein Wissensingenieur kann ein Bayes'sches Netzwerk aufbauen. Es gibt eine Reihe von Schritten, die der Wissensingenieur beim Erstellen ausführen muss.
Example problem- Lungenkrebs. Ein Patient leidet an Atemnot. Er besucht den Arzt und vermutet, dass er Lungenkrebs hat. Der Arzt weiß, dass es außer Lungenkrebs verschiedene andere mögliche Krankheiten gibt, die der Patient haben könnte, wie Tuberkulose und Bronchitis.
Gather Relevant Information of Problem
- Ist der Patient Raucher? Wenn ja, dann hohe Chancen auf Krebs und Bronchitis.
- Ist der Patient Luftverschmutzung ausgesetzt? Wenn ja, welche Art von Luftverschmutzung?
- Nehmen Sie eine röntgenpositive Röntgenaufnahme, die entweder auf TB oder Lungenkrebs hinweist.
Identify Interesting Variables
Der Wissensingenieur versucht die Fragen zu beantworten -
- Welche Knoten sollen dargestellt werden?
- Welche Werte können sie annehmen? In welchem Zustand können sie sein?
Betrachten wir zunächst Knoten mit nur diskreten Werten. Die Variable muss jeweils genau einen dieser Werte annehmen.
Common types of discrete nodes are - -
Boolean nodes - Sie stellen Sätze dar und nehmen die Binärwerte TRUE (T) und FALSE (F) an.
Ordered values- Ein Knoten Verschmutzung kann Werte von {niedrig, mittel, hoch} darstellen und annehmen, die den Grad der Verschmutzung eines Patienten beschreiben.
Integral values- Ein Knoten namens Alter kann das Alter des Patienten mit möglichen Werten von 1 bis 120 darstellen. Bereits in diesem frühen Stadium werden Modellierungsentscheidungen getroffen.
Mögliche Knoten und Werte für das Beispiel Lungenkrebs -
Knotenname | Art | Wert | Knotenerstellung |
---|---|---|---|
Verschmutzung | Binär | {NIEDRIG, HOCH, MITTEL} |
|
Raucher | Boolescher Wert | {WAHR, SCHNELL} | |
Lungenkrebs | Boolescher Wert | {WAHR, SCHNELL} | |
Röntgen | Binär | {Positiv negativ} |
Create Arcs between Nodes
Die Topologie des Netzwerks sollte qualitative Beziehungen zwischen Variablen erfassen.
Was verursacht beispielsweise bei einem Patienten Lungenkrebs? - Verschmutzung und Rauchen. Fügen Sie dann Bögen vom Knoten Verschmutzung und vom Knoten Raucher zum Knoten Lungenkrebs hinzu.
In ähnlicher Weise ist das Röntgenergebnis positiv, wenn der Patient an Lungenkrebs leidet. Fügen Sie dann Bögen vom Knoten Lungenkrebs zum Knoten Röntgen hinzu.
Specify Topology
Herkömmlicherweise sind BNs so angeordnet, dass die Bögen von oben nach unten zeigen. Die Menge der übergeordneten Knoten eines Knotens X wird durch Eltern (X) angegeben.
Der Lungenkrebs- Knoten hat zwei Eltern (Gründe oder Ursachen): Verschmutzung und Raucher , während der Knoten Raucher ein istancestordes Knotens Röntgen . In ähnlicher Weise ist Röntgen ein Kind (Konsequenz oder Auswirkungen) des Knotens Lungenkrebs undsuccessorvon Knoten Raucher und Verschmutzung.
Conditional Probabilities
Quantifizieren Sie nun die Beziehungen zwischen verbundenen Knoten: Geben Sie dazu für jeden Knoten eine bedingte Wahrscheinlichkeitsverteilung an. Da hier nur diskrete Variablen berücksichtigt werden, erfolgt dies in Form von aConditional Probability Table (CPT).
Zunächst müssen wir für jeden Knoten alle möglichen Wertekombinationen dieser übergeordneten Knoten untersuchen. Jede solche Kombination wird als bezeichnetinstantiationdes übergeordneten Satzes. Für jede eindeutige Instanziierung von Elternknotenwerten müssen wir die Wahrscheinlichkeit angeben, die das Kind annehmen wird.
Zum Beispiel sind die Eltern des Lungenkrebs- Knotens Verschmutzung und Rauchen. Sie nehmen die möglichen Werte = {(H, T), (H, F), (L, T), (L, F)} an. Das CPT spezifiziert die Krebswahrscheinlichkeit für jeden dieser Fälle als <0,05, 0,02, 0,03, 0,001>.
Jedem Knoten ist eine bedingte Wahrscheinlichkeit wie folgt zugeordnet:
Anwendungen neuronaler Netze
Sie können Aufgaben ausführen, die für einen Menschen einfach, für eine Maschine jedoch schwierig sind -
Aerospace - Autopilot-Flugzeuge, Flugzeugfehlererkennung.
Automotive - Kfz-Leitsysteme.
Military - Waffenorientierung und -steuerung, Zielverfolgung, Objektunterscheidung, Gesichtserkennung, Signal- / Bildidentifikation.
Electronics - Codesequenzvorhersage, IC-Chip-Layout, Chipfehleranalyse, Bildverarbeitung, Sprachsynthese.
Financial - Immobilienbewertung, Kreditberater, Hypothekenprüfung, Rating von Unternehmensanleihen, Portfolio-Handelsprogramm, Unternehmensfinanzanalyse, Währungswertprognose, Dokumentenleser, Gutachter.
Industrial - Kontrolle des Herstellungsprozesses, Produktdesign und -analyse, Qualitätsprüfsysteme, Schweißqualitätsanalyse, Vorhersage der Papierqualität, Analyse des chemischen Produktdesigns, dynamische Modellierung chemischer Prozesssysteme, Analyse der Maschinenwartung, Ausschreibung, Planung und Verwaltung von Projekten.
Medical - Krebszellanalyse, EEG- und EKG-Analyse, prothetisches Design, Transplantationszeitoptimierer.
Speech - Spracherkennung, Sprachklassifizierung, Umwandlung von Text in Sprache.
Telecommunications - Bild- und Datenkomprimierung, automatisierte Informationsdienste, Übersetzung gesprochener Sprachen in Echtzeit.
Transportation - Diagnose des LKW-Bremssystems, Fahrzeugplanung, Routing-Systeme.
Software - Mustererkennung bei Gesichtserkennung, optischer Zeichenerkennung usw.
Time Series Prediction - ANNs werden verwendet, um Vorhersagen über Bestände und Naturkatastrophen zu treffen.
Signal Processing - Neuronale Netze können trainiert werden, um ein Audiosignal zu verarbeiten und es in den Hörgeräten entsprechend zu filtern.
Control - ANNs werden häufig verwendet, um Lenkentscheidungen für physische Fahrzeuge zu treffen.
Anomaly Detection - Da ANNs Experten im Erkennen von Mustern sind, können sie auch darauf trainiert werden, eine Ausgabe zu generieren, wenn etwas Ungewöhnliches auftritt, das nicht zum Muster passt.