Was sind neuronale Netze?
Unter dem Begriff neuronale Netze versteht man eine komplexe Struktur von verbundenen Knoten. Als Vorbild dient das Gehirn von Lebewesen. Hier sind unzählige Nervenzellen, die Neuronen, verknüpft und beeinflussen sich gegenseitig. Künstliche neuronale Netze (KNN) bilden dieses Prinzip nach. Ziel ist es, dass Maschinen in die Lage versetzt werden, auf nicht vordefinierte Eingaben zu reagieren. Dies ist eine Grundlage für künstliche Intelligenz (KI).
Neuronale Netze allgemein
Neuronale Netze sind, einfach ausgedrückt, miteinander verknüpfte Nervenzellen. Neuronen haben mehrere Eingänge und einen Ausgang. Über die Eingänge nehmen sie Signale auf, die von außen oder von anderen Neuronen stammen können. Sie haben dabei eine Erregungsschwelle, ab der sie reagieren. Dies dient beim Menschen beispielsweise zur Filterung irrelevanter Einflüsse, um die Konzentration nicht unnötig zu stören. Die Reaktion kann nach außen oder auf andere Nervenzellen erfolgen.
Kennzeichnend ist, dass die Erregungsschwelle variabel ist. Sie wird durch Erfahrungen und äußere Umstände permanent verändert. So können Umstände unangenehmer Erfahrungen zu einer Aktivierung von Neuronen führen und entsprechende Reaktionen hervorrufen.
Ebenso ist wichtig, dass die Reaktion der Neuronen nicht vorhersagbar ist. Es werden nicht zwingend nur objektive Merkmale verarbeitet. Vielmehr erfolgt die Wahrnehmung subjektiv und wird beeinflusst durch Lernprozesse, die aufnehmende Neuronen bereits durchlaufen haben.
Künstliche neuronale Netze
In der Informationstechnik möchte man sich neuronale Netze zunutze machen. Wenn eine Maschine mit Menschen interagieren soll, sind die Eingaben nicht immer im Vorfeld absehbar. Grundsätzlich müssten vom Programmierer alle möglichen Varianten entweder vorgesehen oder als ungültige Eingabe abgefangen werden. Auch bei der Sortierung von ungeordneten Datenbeständen müssen klare Kriterien erstellt werden, wenn es nicht zu Fehlbewertungen kommen soll.
Dies führt eine Maschine dann ihre Grenzen, wenn die Eingaben zu individuell sind. Handschriften weichen in Größe und Form voneinander ab. Sprachen unterscheiden sich unter anderem durch Lautstärke, Aussprache, Dialekte und Geschwindigkeit. Worte können zudem in unterschiedlichem Kontext eine andere Bedeutung haben.
Ein weiteres Problem kann die Vielzahl an unterschiedlichen Eingabevarianten sein. Es wäre ein unvorstellbarer Aufwand, diese für bestimmte Bereiche manuell zu erfassen.
Daher ist es zielführender, wenn die Maschine Muster erkennt, verarbeitet und „lernt“. Man spricht hierbei vom Machine Learning. Damit nicht klare Parameter definiert werden müssen, werden diese von den Objekten abstrahiert. Es werden nicht Objekte mit Eigenschaften verknüpft, sondern Eigenschaften untereinander. Dies ist vergleichbar mit dem menschlichen Lernen. Wenn in einer bestimmten Situation zufällig ein spezifischer Geruch auftritt, kann es sein, dass der Geruch den Menschen später wieder an diese Situation erinnert.
Wie funktionieren neuronale Netze?
Der Aufbau für künstliche neuronale Netze erfolgt in Schichten. Innerhalb dieser sind jeweils mehrere Neuronen als Knotenpunkte gruppiert. Es gibt eine Eingabeschicht (Input Layer), die von außen Werte aufnimmt. Diese leitet sie weiter an die verknüpften internen Schichten. Die inneren Bereiche, ihre Verknüpfung und ihre Arbeitsweise sind nicht ersichtlich. Daher nennt man sie versteckte Schichten (Hidden Layers). Die Reaktion erfolgt über die Ausgabeschicht (Output Layer).
Innerhalb der Schichten gibt es unterschiedliche Interaktionsmodelle. In der einfachsten Form werden beim einschichtigen Feedforward-Netz Informationen aufgenommen und eine Ausgabe erzeugt, sofern der Schwellwert überschritten ist. Es können mehrere Neuronen parallel Informationen verarbeiten, es gibt hier keine Hidden Layers.
Komplexer ist ein mehrschichtiges Feedforward-Netz. Dieses besteht aus einer beliebigen Anzahl an versteckten Schichten und jeweils einer Ein- und Ausgabeschicht. Die Beeinflussung erfolgt nur in die Richtung der Ausgabe. Eine Rückkopplung nachgelagerter Schichten gibt es nicht.
Der Trainingsprozess
Im rekurrenten Netz erfolgt ein Feedback an die Knotenpunkte aus nachgelagerten Schichten. Dies bedeutet, dass sie lernen können, da die Art der Rückmeldung von ihren eigenen Ausgaben abhängt.
Im Unterschied zu Nervenzellen von Lebewesen, können künstliche neuronale Netze nur durch Computer repräsentierbare Werte zurückgeben. Es sind drei mögliche Reaktionen eines Neurons zur Einflussnahme auf die weiteren Neuronen vorgesehen: Verstärkung, Hemmung und Neutralität. Die Stellschraube für den Lernprozess ist daher die Gewichtung, ab dessen Wert eine Reaktion erfolgt.
Neuronale Netze werden trainiert durch Eingabe relativ zufälliger Ausgangswerte für die Gewichtung an jedem Knoten. Im Verlaufe des Trainingsprozesses werden diese dann nach jedem Durchgang angepasst und optimiert. Die Anpassung erfolgt schrittweise, beispielsweise als Durchschnittswert bisheriger Ergebnisse. Die Gewichtung wird also mit jedem Trainingsdurchlauf weiter verfeinert.
Dabei kann gelernt werden, dass manche Faktoren irrelevant oder nur unter bestimmten Bedingungen von Bedeutung sind.
Als Praxisbeispiel sei eine Maschine aufgeführt, die Kraftfahrzeuge klassifizieren soll. Das Merkmal „Stoßstange vorhanden“ wird sich schnell als unbrauchbar herausstellen, um Pkw zu unterscheiden. Schließlich hat nahezu jedes Fahrzeug mit einer Straßenzulassung eine Stoßstange. Wenn aber aus einer anderen Schicht die Rückmeldung erfolgt, es handele sich um einen Rennwagen, kann das die Gewichtung verändern. Als Unterscheidungskriterium zwischen einem Formel-1-Rennauto und einem Rallye-Fahrzeug taugt es durchaus. Neuronale Netze erhalten ihre Intelligenz also durch die korrekte Verknüpfung von Mustern oder Merkmalen.
Neuronale Netze in der künstlichen Intelligenz
Die künstliche Intelligenz benötigt eine Basis, die sie dazu befähigt, Informationen aufzunehmen und zu bewerten. Ist diese statisch, spricht man nicht von einer echten künstlichen Intelligenz. Das System muss vielmehr in der Lage sein, eigenständig Informationen aufzunehmen und seine Ausgaben daraufhin anzupassen. Diese Dynamik in der künstlichen Intelligenz erfordert, dass die Maschine lernen können muss. Neuronale Netze sind diese Basis des sich ständig ändernden Wissens der Maschine.
Insbesondere sind neuronale Netze Voraussetzung für das Deep Learning. Für manche Fachleute sind die Begriffe sogar synonym anwendbar. Das Besondere am Deep Learning ist die Vielschichtigkeit, die Tiefe, der verwendeten Struktur.
Anwendungsgebiete
Künstliche neuronale Netze finden dort Anwendung, wo eine Vielzahl an Daten strukturiert werden muss. Weiterhin dort, wo es keine oder unüberschaubar viele Ordnungskriterien gibt.
Dies ist beispielsweise im Bereich des Data-Mining der Fall, wo Muster und Zusammenhänge in großen Datenbeständen gefunden werden sollen. Aufgrund der Komplexität der erforderlichen Berechnung war dies lange Zeit nur auf Großrechenanlagen, beispielsweise in der Wetter-Forschung und bei Frühwarnsystem darstellbar.
Inzwischen ist es aber auch möglich, künstliche neuronale Netze auf kleineren Rechnern auszuführen. Dadurch haben künstliche neuronale Netze Einzug in Firmen- und Privatanwendungen gefunden. Sie werden beispielsweise für eine intelligente Texterkennung genutzt. Dies kann sowohl bei der Erfassung von handschriftlichen Notizen als auch bei der Klassifizierung von Dokumenten genutzt werden. Bei docurex wird eine künstliche Intelligenz zur Verarbeitung im Dokumenten-Management-System (DMS) integriert.
Als Privatanwender begegnen Ihnen künstliche neuronale Netze im Zusammenhang mit Spracherkennung und Sprach-Assistenten am Smartphone oder PC. Auch automatische Übersetzer nutzen künstliche neuronale Netze. Ein bloßes Aneinanderreihen der übersetzten Einzelwörter reicht in der Regel nicht aus, um sinnvolle Sätze zu erhalten.
Nicht zuletzt profitieren viele Privatanwender in der Spieleentwicklung auf PC oder Konsole von den Fortschritten in der künstlichen Intelligenz. Neuronale Netze werden auch hier eingesetzt und schaffen interessante, nicht vorhersehbare Umgebungen und Spielgegner.
Neuronale Netze – Grenzen und Schwächen
Ein Problem ist, dass künstliche neuronale Netze selbst für ihre Entwickler nach der Schaffung eine Blackbox sind. Es ist für sie weder vorhersehbar, noch im Detail erklärbar, wie die versteckten Schichten sich beeinflussen. Zudem sind sehr viele und präzise Trainingsdaten notwendig.
Dadurch sind manche Anwendungen sehr gut geeignet, künstliche neuronale Netze zu implementieren. Wenn das Ergebnis eindeutig mit „richtig“ oder „falsch“ bewertet werden kann, ist eine gute Voraussetzung gegeben. Bei einem Dokumentenmanagement sind Trainingsdaten beispielsweise einfach herstellbar. Die erzielten Ergebnisse sind zudem eindeutig. In der Trainingsphase kann zweifelsfrei gesagt werden, ob ein Dokument korrekt kategorisiert wurde.
Künstliche neuronale Netze bergen Risiken eher in Bereichen, wo die Aussagekraft der Trainingsdaten interpretierbar ist. Dies kann bei Frühwarnsystemen der Fall sein. Insbesondere natürlich dann, wenn auf Basis der Ergebnisse wichtige Entscheidungen zu treffen sind.
- Über den Autor
- Aktuelle Beiträge
Daniel Faust Redakteur von docurex.com. Außerdem schreibt er regelmäßig im Blog der Biteno GmbH