Loading AI tools
Zweig des maschinellen Lernens Aus Wikipedia, der freien Enzyklopädie
Deep Learning (deutsch: mehrschichtiges Lernen, tiefes Lernen oder tiefgehendes Lernen) bezeichnet eine Methode des maschinellen Lernens, die künstliche neuronale Netze (KNN) mit zahlreichen Zwischenschichten (englisch hidden layers) zwischen Eingabeschicht und Ausgabeschicht einsetzt und dadurch eine umfangreiche innere Struktur herausbildet. Deep learning erlaubt die Verarbeitung und Analyse komplexer Datenmuster; dazu verwendet Deep Learning tiefe hierarchische neuronale Netze, die automatisch abstrakte Merkmale aus den Daten extrahieren. Dies ermöglicht eine effiziente Verarbeitung von komplexen Informationen, was wiederum zu präzisen Vorhersagen und Entscheidungen in verschiedenen Anwendungen führt.
Die in der Anfangszeit der künstlichen Intelligenz gelösten Probleme waren für den Menschen intellektuell schwierig, aber für Computer einfach zu verarbeiten. Diese Probleme ließen sich durch formale mathematische Regeln beschreiben. Die wahre Herausforderung an die künstliche Intelligenz bestand jedoch in der Lösung von Aufgaben, die für die Menschen leicht durchzuführen sind, deren Lösung sich aber nur schwer durch mathematische Regeln formulieren lassen. Dies sind Aufgaben, die der Mensch intuitiv löst, wie zum Beispiel Sprach- oder Gesichtserkennung.[2][3]
Eine computerbasierte Lösung für diese Art von Aufgaben beinhaltet die Fähigkeit von Computern, aus der Erfahrung zu lernen und die Welt in Bezug auf eine Hierarchie von Konzepten zu verstehen. Hierbei ist jedes Konzept durch seine Beziehung zu einfacheren Konzepten definiert. Durch das Sammeln von Wissen aus der Erfahrung vermeidet dieser Ansatz die Notwendigkeit für die menschlichen Bediener, all das Wissen, das der Computer für seine Arbeit benötigt, formal spezifizieren zu müssen. Die Hierarchie der Konzepte erlaubt es dem Computer, komplizierte Konzepte zu erlernen, indem er sie aus einfacheren zusammensetzt. Wenn man ein Diagramm zeichnet, das zeigt, wie diese Konzepte übereinander aufgebaut werden, dann ist das Diagramm tief, mit vielen Schichten. Aus diesem Grund wird dieser Ansatz in der künstlichen Intelligenz „Deep Learning“ genannt.[2][4] Es ist schwierig für einen Computer, die Bedeutung von rohen sensorischen Eingangsdaten zu verstehen, wie beispielsweise in der Handschrifterkennung, wo ein Text zunächst nur als eine Sammlung von Bildpunkten existiert. Die Überführung einer Menge von Bildpunkten in eine Kette von Ziffern und Buchstaben ist sehr kompliziert. Komplexe Muster müssen aus Rohdaten extrahiert werden. Das Lernen oder Auswerten dieser Zuordnung scheint unüberwindbar schwierig, wenn sie manuell programmiert würde.[2]
Eine der häufigsten Techniken in der künstlichen Intelligenz ist maschinelles Lernen. Maschinelles Lernen ist ein selbstadaptiver Algorithmus. Deep Learning, eine Teilmenge des maschinellen Lernens, nutzt eine Reihe hierarchischer Schichten bzw. eine Hierarchie von Konzepten, um den Prozess des maschinellen Lernens durchzuführen. Die hierbei benutzten künstlichen neuronalen Netze wurden inspiriert von Gehirnen, in denen biologische Neuronen miteinander verbunden sind. Die erste Schicht des neuronalen Netzes, die sichtbare Eingangsschicht, verarbeitet eine Rohdateneingabe, wie beispielsweise die einzelnen Pixel eines Bildes. Die Dateneingabe enthält Variablen, die der Beobachtung zugänglich sind, daher „sichtbare Schicht“.[2][5][6][7]
Diese erste Schicht leitet ihre Ausgaben an die nächste Schicht weiter. Diese zweite Schicht verarbeitet die Informationen der vorherigen Schicht und gibt das Ergebnis ebenfalls weiter. Die nächste Schicht nimmt die Informationen der zweiten Schicht entgegen und verarbeitet sie weiter. Diese Schichten werden als versteckte Ebenen (englisch hidden layers) bezeichnet. Die in ihnen enthaltenen Merkmale werden zunehmend abstrakt. Ihre Werte sind nicht in den Ursprungsdaten angegeben. Stattdessen muss das Modell bestimmen, welche Konzepte für die Erklärung der Beziehungen in den beobachteten Daten nützlich sind. Dies geht über alle Ebenen des künstlichen neuronalen Netzes so weiter. Das Ergebnis wird in der sichtbaren letzten Schicht ausgegeben. Hierdurch wird die gewünschte komplizierte Datenverarbeitung in eine Reihe von verschachtelten einfachen Zuordnungen unterteilt, die jeweils durch eine andere Schicht des Modells beschrieben werden.[8][2][6][4][9]
Die Group method of data handling-KNNs (GMDH-ANN) der 1960er-Jahre von Oleksij Iwachnenko waren die ersten Deep-Learning-Systeme des Feedforward-Multilayer-Perzeptron-Typs.[10][11][12] Karl Steinbuchs Lernmatrix[13] war eines der ersten künstlichen neuronalen Netze, das aus mehreren Schichten von Lerneinheiten oder lernenden „Neuronen“ bestand. Damit war er einer der Wegbereiter des Deep Learning, bei dem es um tiefe neuronale Netze geht, die viele Aufgaben erlernen können, bei denen früheren einschichtige Perzeptronen scheitern. Weitere Deep-Learning-Ansätze, vor allem aus dem Bereich des maschinellen Sehens, begannen mit dem Neocognitron, einer Convolutional Neural Network (CNN) Architektur, die von Kunihiko Fukushima 1980 entwickelt wurde.[14] Alex Waibels CNN namens TDNN (1987) wurde durch backpropagation trainiert und erzielte Bewegungsinvarianz.[15] Im Jahr 1989 verwendeten Yann LeCun und Kollegen den Backpropagation-Algorithmus für das Training mehrschichtiger KNNs (siehe Multi-Layer-Perzeptron), mit dem Ziel, handgeschriebene Postleitzahlen zu erkennen.[16] Sven Behnke hat seit 1997 in der Neuronalen Abstraktionspyramide[17] den vorwärtsgerichteten hierarchisch-konvolutionalen Ansatz durch seitliche und rückwärtsgerichtete Verbindungen erweitert, um so flexibel Kontext in Entscheidungen einzubeziehen und iterativ lokale Mehrdeutigkeiten aufzulösen.
Der Begriff „Deep Learning“ wurde im Kontext des maschinellen Lernens erstmals 1986 von Rina Dechter verwendet, wobei sie hiermit ein Verfahren bezeichnet, bei dem alle verwendeten Lösungen eines betrachteten Suchraums aufgezeichnet werden, die zu keiner gewünschten Lösung geführt haben. Die Analyse dieser aufgezeichneten Lösungen soll es ermöglichen, anschließende Versuche besser zu steuern und somit mögliche Sackgassen in der Lösungsfindung frühzeitig zu verhindern.[18] Heute wird der Begriff jedoch vorwiegend im Zusammenhang mit künstlichen neuronalen Netzen verwendet und tauchte in diesem Kontext erstmals im Jahr 2000 auf, in der Veröffentlichung Multi-Valued and Universal Binary Neurons: Theory, Learning and Applications von Igor Aizenberg und Kollegen.[19][20][21]
Zwischen 2009 und 2012 gewannen die rekurrenten bzw. tiefen vorwärtsgerichteten neuronalen Netze der Forschungsgruppe von Jürgen Schmidhuber am Schweizer KI Labor IDSIA eine Serie von acht internationalen Wettbewerben in den Bereichen Mustererkennung und maschinelles Lernen.[22] Insbesondere gewannen ihre rekurrenten LSTM-Netze[23][24] drei Wettbewerbe zur verbundenen Handschrifterkennung bei der 2009 Intl. Conf. on Document Analysis and Recognition (ICDAR) ohne eingebautes A-priori-Wissen über die drei verschiedenen zu lernenden Sprachen. Die LSTM-Netze erlernten gleichzeitige Segmentierung und Erkennung. Dies waren die ersten internationalen Wettbewerbe, die durch Deep Learning[25] oder durch rekurrente Netze gewonnen wurden.
Die jüngsten Erfolge von Deep Learning Methoden, wie der Go-Turniergewinn des Programmes AlphaGo gegen die weltbesten menschlichen Spieler, gründen sich neben der gestiegenen Verarbeitungsgeschwindigkeit der Hardware auf den Einsatz von Deep Learning zum Training des in AlphaGo verwendeten neuronalen Netzes.[26] Gleiches gilt für die seit 2020 gelungene Vorhersage von Protein-Faltungen.[27] Diese Netze nutzen künstlich erzeugte Neuronen (Perzeptron), um Muster zu erkennen.
Für Beiträge zu neuronalen Netzwerken und Deep Learning erhielten Yann LeCun, Yoshua Bengio und Geoffrey Hinton 2018 den Turing Award.[28]
Tiefe neuronale Netze können eine Komplexität von bis zu hundert Millionen einzelnen Parametern und zehn Milliarden Rechenoperationen pro Eingangsdatum aufweisen. Die Interpretierbarkeit der Parameter und Erklärbarkeit des Zustandekommens der Ergebnisse ist hier nur noch eingeschränkt möglich und erfordert den Einsatz spezieller Techniken, die unter Explainable Artificial Intelligence zusammengefasst werden. Ein weiterer Ansatz ist die Verwendung von Methoden aus der Physik von Vielteilchensysteme (Statistische Physik).[29] Eine weitere Begleiterscheinung des Deep Learning ist die Anfälligkeit für Falschberechnungen, die durch subtile, bei zum Beispiel Bildern für Menschen nicht sichtbare, Manipulationen der Eingabesignale ausgelöst werden können. Dieses Phänomen wird unter Adversarial Examples zusammengefasst.[30]
Es gibt zwei Konzepte zu Grenzen und Erklärbarkeit: „Opake KI“ und „transparente KI“. Ersteres, Opake KI, beinhaltet neuronale Netze, Deep Learning, genetische Algorithmen etc. Bei beiden Konzepten ist gemeinsam, dass die Logik dahinter inkl. der Vorhersagen und Entscheidungen nicht einfach ausgedrückt werden kann. Transparente KI kann hingegen die Entscheidungen erklären und für den Menschen verständlich machen. Die Entscheidung für oder gegen eines der beiden Konzepte endet schnell in ethischen und moralischen Vorstellungen. Ohne einen T-Switch (für vertrauensvoll oder transparent) ist Opake KI kaum zu kontrollieren. Je mehr Daten in einem Opaque-System verwendet werden (Big Data), umso eher wird die künstliche Intelligenz ein Wertesystem für sich selbst entwickeln, welche die Menschen nicht mehr verstehen können. Ein T-Switch ermöglicht es, bewusste Entscheidungen durch die Opake KI zu erlauben und an welcher Stelle man auf Transparenz bestehen sollte.
Alles in allem betrachtet hat Opake KI einen Nachteil: Im Jahr 2016 hat Microsoft ein Experiment durchgeführt. In weniger als in 24 Stunden wurden sehr negative Ergebnisse bei der Veröffentlichung von einem Twitter Chatbot namens Tay erzielt.
Transparente KI hingegen unterstützt eine exakte Erklärung. So kann immer die Entscheidung nachvollzogen werden.
Neben der meist in Schulungsbeispielen zum Verständnis der internen Struktur vorgestellten Möglichkeit, ein neuronales Netz komplett eigenhändig zu programmieren, gibt es eine Reihe von Softwarebibliotheken,[31] häufig Open Source, lauffähig auf meist mehreren Betriebssystemplattformen, die in gängigen Programmiersprachen wie zum Beispiel C, C++, Java oder Python geschrieben sind. Einige dieser Programmbibliotheken unterstützen GPUs oder TPUs zur Rechenbeschleunigung oder stellen Tutorials zur Benutzung dieser Bibliotheken bereit. Mit ONNX können Modelle zwischen einigen dieser Tools ausgetauscht werden.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.