Der vorliegende Beitrag entstand im Rahmen der Sommerakademie «Music, Musical Structure, Artificial Neural Networks, and the Mind» der Schweizerischen Studienstiftung und wurde redaktionell begleitet von Reatch.
Computer können viele Dinge besser und zuverlässiger als Menschen. Zum Beispiel Quadratwurzeln berechnen. Oder ununterbrochen und unermüdlich die immer gleichen Befehle ausführen. In jüngster Zeit sind viele weitere Fähigkeiten hinzugekommen, bei denen Computer den Menschen überlegen sind: Sie besiegen Menschen in Spielen wie «Go» oder «Dota 2», können verblüffend präzise Übersetzungen liefern und täuschend echte Fälschungen von Bildern, Videos und Tonaufnahmen erstellen. Viele dieser Entwicklungen sind zumindest teilweise auf sogenannte «künstliche neuronale Netze» (KNN) zurückzuführen. Oft in einem Atemzug mit «künstlicher Intelligenz» genannt, haftet ihnen etwas Geheimnisvolles, fast schon Magisches an. Doch mit Magie haben KNN nichts zu tun - dafür sehr viel mit Statistik.
Was sind künstliche neuronale Netze?
Im Grunde sind KNN eine alte Technologie, die bis auf die 50er-Jahre des vergangenen Jahrhunderts zurückgeht. Inspiriert von der Vernetzung von Neuronen in biologischen Gehirnen waren KNN der Versuch, Computern effizientere «Lernstrategien» beizubringen, um von aussen zugeführte Informationen zu verarbeiten. Dabei werden mehrere künstliche Neuronen als «Verarbeitungsknoten» neben- und in Schichten hintereinandergeschaltet, um verschiedene Aspekte der zugeführten Information mathematisch abzubilden und zu verarbeiten. Ursprünglich waren die dabei entstehenden Netze aufgrund der schnell anwachsenden Komplexität in Kombination mit der damals geringen Rechenleistung von Computern auf sehr wenige Knoten und Schichten beschränkt. Heutzutage können mächtige KNN Hunderte bis Millionen von künstlichen Neuronen enthalten.
Ob gross oder klein, die Verarbeitung der Informationen läuft bei allen neuronalen Netzwerken nach einem ähnlichen Prinzip ab: Die Eingabeschicht erhält verschiedene Formen von Informationen von der Aussenwelt. Das sind die Daten, die das Netzwerk verarbeiten oder über die es lernen möchte. Von der Eingabeeinheit durchlaufen die Daten eine oder mehrere verborgene Schichten. Die Aufgabe der verborgenen Schichten besteht darin, die Eingabe in etwas umzuwandeln, das die Ausgabeeinheit verwenden kann. Jede Schicht mit Neuronen liefert dabei Einblicke in einen bestimmten Aspekt der Eingangsinformation und liefert diese Einblicke an die Neuronen der nächsten Schicht weiter.
Ein Beispiel dafür ist die automatisierte Bilderkennung. Um zu entscheiden, ob auf einem Bild ein Hund oder eine Katze dargestellt ist, analysieren die einzelnen Neuronen des Netzwerks verschiedene Aspekte des Bildes wie beispielsweise die Anordnung einzelner Pixel zueinander, die vorhandenen Kanten und Flächen, die Farbtöne, Kontraste und so weiter. Die dabei gewonnenen Informationen senden sie an die Neuronen der nächsten Schicht weiter, bis die Ausgangsschicht schliesslich eine Einschätzung darüber abgibt, ob es sich beim abgebildeten Tier um einen Hund oder eine Katze handelt.
Die Verbindungen zwischen den Neuronen innerhalb einer Schicht sowie zwischen Neuronen verschiedener Schichten haben dabei unterschiedliche negative oder positive Gewichte. Nicht jede Verbindung hat also die gleiche Bedeutung. Damit KNN solche gewichteten Verbindungen herstellen, d.h. «lernen» können, muss ihnen eine ungeheure Menge an Daten zugeführt werden. Damit werden die Gewichte zwischen den Neuronen so eingestellt, dass sie optimal auf die jeweilige Aufgabe zugeschnitten sind. Wenn wir versuchen, einem KNN den Unterschied zwischen Hunden und Katzen beizubringen, müssen wir es mit Tausenden von Bildern «trainieren», die als «Hund» bzw. «Katze» gekennzeichnet sind. Das Netzwerk wird dann versuchen, die typischen Eigenschaften von Katzen- und Hundebildern zu bestimmen und wird die Gewichte zwischen den Neuronen entsprechend anpassen. Dies geschieht über zahlreiche Wiederholungen, bei denen das Netzwerk immer wieder die gleichen Bilder zu klassifizieren versucht. Die richtigen und falschen Zuteilungen, die es dabei macht, werden dazu genutzt, die Gewichte besser zu justieren. Am Ende resultiert daraus ein Netzwerk, das jedem Bild basierend auf dessen Eigenschaften eine Wahrscheinlichkeit zuweist, dass darauf ein Hund oder eine Katze abgebildet ist. Wir als «Auftraggeber» des Netzwerks müssen dann einen Schwellenwert vorgeben, den die Wahrscheinlichkeit überschreiten muss, um eine Klassifizierung vornehmen zu dürfen. Liegt dieser Schwellenwert beispielsweise bei 50%, dann weist das Netzwerk einem Bild schlicht jene Kategorie zu, welche es als wahrscheinlicher erachtet. Erhöhen wir den Schwellenwert auf 90%, dann wird es nur dann eine Kategorisierung vornehmen, wenn es einigermassen sicher scheint, dass ein Hund oder eine Katze abgebildet ist – in weniger klaren Fällen bleibt eine eindeutige Kategorisierung aus.
Statistik, keine Magie
KNN sind damit nicht mehr, aber auch nicht weniger als statistische Modelle, die für spezifische Klassifizierungen und Voraussagen verwendet werden können. Wurde das Netzwerk auf die Unterscheidung von Hunde- und Katzenbildern trainiert, kann es uns bei dieser – und nur dieser – Aufgabe helfen. Da es nie zuvor ein Bild von anderen Tieren gesehen hat, ist es nicht in der Lage, diese richtig zu klassifizieren. Es wird weiterhin stur «Katze» oder «Hund» antworten, selbst wenn es Bilder von Affen, Kühen oder Schlangen als Eingabe erhält.
Ausserdem können KNN sehr anfällig auf kleine Veränderungen in der Bildqualität sein. Ein KNN kann nicht erkennen, ob die Bilder, die wir ihm zum Trainieren gegeben haben, tatsächlich Hunde oder Katzen zeigen, und es weiss vor dem Trainieren auch nicht, was die relevanten Eigenschaften zur Unterscheidung von Hunden und Katzen sind. Deshalb kann es geschehen, dass das KNN Merkmale zur Unterscheidung heranzieht, die für uns Menschen offensichtlich irrelevant sind, mit denen sich die Trainingsbilder aber optimal unterscheiden lassen. Wenn die Bilder, die wir dem Netzwerk zum Trainieren geben, ausschliesslich Katzen in Wohnzimmern und Hunde auf der Wiese zeigen, wird das Netzwerk in erster Linie lernen, die Bilder anhand der verschiedenen Hintergründe zu unterscheiden. Zeigen wir ihm danach das Bild einer Katze auf einer Wiese, wird es dies mit grosser Wahrscheinlichkeit als «Hund» klassifizieren, weil der Hintergrund schliesslich all jenen Hundebildern ähnelt, die es zum Trainieren erhalten hat.
Bei KNN handelt es sich lediglich um statistische Modelle, die auf eine bestimmte Aufgabe zugeschnitten sind. Ein Netzwerk, das erfolgreich Hunde von Katzen unterscheidet, kann damit keine Texte übersetzen. Die Leistungen, die mit Hilfe von KNN erbracht werden, sind dennoch beeindruckend. Selbst für kreative Arbeiten wie das Komponieren von Musik oder das Schreiben von Texten können KNN mittlerweile verwendet werden, auch wenn Menschen hier (noch) im Vorteil sind. Sollten künstliche neuronale Netzwerke dereinst bessere Texte verfassen als ihre natürlichen Vorbilder, wird aber auch diese Leistung nichts mit Magie, sondern vor allem mit Statistik zu tun haben.
Den Originalbeitrag gibt es hier zu lesen.
Die Beiträge auf dem Reatch-Blog geben die persönliche Meinung der Autor*innen wieder und entsprechen nicht zwingend derjenigen von Reatch oder seiner Mitglieder.
Comments (0)