Deep Learning - Königsdisziplin der Künstlichen Intelligenz

Architektur von Deep Learning

von - 21.12.2018
Jährliches-Wertschöpfungspotenzial-von-Deep Learning
Quelle: McKinsey Global Institut
Inzwischen haben sich für spezifische Deep-Learning-Anwendungen zahlreiche unterschiedliche Netzwerkarchitekturen etabliert, die vom Anwender festgelegt werden. Zu den Parametern einer Netzwerkarchitektur zählen beispielsweise die Anzahl der Hidden Layer, die Anzahl der Neuronen pro Layer sowie deren Aktivierungsfunktion. Jede dieser Architekturen hat spezifische Eigenarten und Vorteile und soll die Verarbeitung von speziellen Informationen erleichtern.
Eine oft genutzte einfache Architektur sind Feed-Forward-Netze: Sie bestehen aus einer Input-Schicht, einem oder mehreren Hidden Layern und einer Output-Schicht. Die Hidden Layer bilden voll vernetzte Neuronen mit Gewichtungen zu allen Neuronen der vorherigen und folgenden Schicht. Deutlich komplexer sind Convolutional Neural Networks (CNNs), zu Deutsch: neuronale Faltungsnetzwerke. Sie haben maßgeblich zum Aufschwung bei der Bilderkennung beigetragen.
Peter Breuer
Peter Breuer
Senior Partner bei McKinsey
www.mckinsey.de
Foto: McKinsey
„Der Mehrwert, den diese Methoden generieren, übertrifft den Aufwand um ein Vielfaches.“
CNNs verdanken ihren Namen dem dahinterliegenden Konzept aus sich überlappenden Neuronen und werden vor allem in der Mustererkennung eingesetzt. Sie bestehen meist aus fünf bis 20 Neuronenschichten, mit denen sie die entsprechende Fähigkeit erlernen. Dabei werden zwei spe­zielle Schichten verwendet, die Convolutional und die Pooling Layer, mit denen der Input aus verschiedenen Perspektiven untersucht wird. Jedes einzelne Neuron im Convolutional Layer überprüft einen bestimmten Bereich des Input-Feldes mit Hilfe eines Filters, dem Kernel.
Ein Filter untersucht das Bild auf eine bestimmte Eigenschaft, etwa die Farbzusammensetzung oder die Helligkeit. Das Resultat eines Filters ist der gewichtete Input eines Bereichs und wird im Convolutional Layer gespeichert. Pooling vereinfacht die Ausgabe durch nicht lineares Downsampling und reduziert die Anzahl der Parameter, die das Netzwerk kennenlernen muss. Das Design eines CNNs orientiert sich an der Sehrinde im Gehirn. Sie enthält eine Reihe von Zellen, die dafür zuständig sind, Licht in kleinen, sich überlappenden Unterbereichen des Gesichtsfelds zu erkennen. Diese Rezeptorenfelder agieren als lokale Filter für den Eingabebereich, während komplexere Zellen größere Rezeptorenfelder haben. Die Convolutional-Schicht in einem CNN führt die gleiche Funktion aus wie die Zellen in der Sehrinde. Ein Beispiel für ein solches neuronales Faltungsnetzwerk ist GoogLeNet. Dieses CNN wird auf mehr als einer Million Bildern aus der ImageNet-Datenbank trainiert. Es besteht aus 22 Schichten und kann Bilder in 1000 Objektkategorien einteilen.
Frameworks und Services für Deep Learning
Wer Deep Learning einsetzen und Lernmodelle effizient umsetzen will, hat vor allem zwei Möglichkeiten: Zum einen gibt es Open-Source-Frameworks, die meist auf mehreren Betriebssystemplattformen lauffähig und in Programmiersprachen wie CC++, Java oder Python geschrieben sind. Zum anderen haben Amazon Web Services, Microsoft Azure und Google Cloud Platform Deep-Learning-Services in ihre Public Clouds integriert.
AWS Deep Learning AMI: Die Amazon Machine Images (AMI) sind bereits vorinstalliert und verfügen über Deep-Learning-Frameworks wie TensorFlow, Gluon und Apache MXNet, die für die Nvidia-Volta-V100-GPUs in Amazon-EC2-P3-Instanzen optimiert sind. Bezahlt werden muss nur für die AWS-Ressourcen, die zum Speichern und Ausführen der Anwendungen erforderlich sind.
Caffe: Die Deep-Learning-Programmbibliothek punktet mit Schnelligkeit, guter Skalierbarkeit und Modularität. Sie arbeitet mit CPUs und GPUs, ist über mehrere Prozessoren skalierbar
und eignet sich für industrielle Anwendungen in den Bereichen maschinelles Sehen, Multimedia und Sprache.
Google Cloud Platform: Auf der GCP können Entwickler eigene Modelle erstellen und trainieren - zum Beispiel auf Basis des ebenfalls von Google stammenden, quelloffenen TensorFlow-Frameworks.
MS Cognitive Toolkit: Das Toolkit ist ein Open-Source-Service für Deep Learning in Microsoft Azure. Entwickler bekommen Tools für die Generierung und Implementierung von Deep-Learning-Anwendungen zur Verfügung gestellt. Azure bietet zudem eine Modellgalerie an, die Ressourcen wie Code-Beispiele enthält, um Unternehmen den Einstieg in den Service zu erleichtern.
TensorFlow: Das von Google ursprünglich für den internen Gebrauch entwickelte Deep-Learning-Framework zählt zu den meistgenutzten Tools. TensorFlow wird im Umfeld der Sprach­erkennung oder Bildverarbeitung eingesetzt, ist gut skalierbar und lässt sich auf verschiedenen Systemen vom Smartphone bis zu Clustern mit vielen Servern betreiben.
Theano: Das an der Universität von Montreal unter BSD-Lizenz entwickelte Framework ist eine Library für die Programmiersprache Python.
Torch: Das wissenschaftliche Framework unterstützt zahlreiche Algorithmen. Viele Module sind unter BSD-Lizenz auf GitHub verfügbar. Torch gilt als einfach, schnell und anwenderfreundlich. Neben CPUs lassen sich GPUs performant für das Trainieren von Modellen nutzen.
Verwandte Themen