Einführung in Keras

Keras ist eine Open-Source-Bibliothek, die in der Sprache Python geschrieben ist und eine rasche Implementierung neuronaler Netzwerke für das Deep Learning ermöglicht. Es kann gemeinsam mit TensorFlow, Theano oder anderen Frameworks verwendet werden.

Was ist Keras?

Diese Open-Source-Bibliothek wurde zum größten Teil von Google-Programmierer François Chollet entwickelt und entstand im Zuge des sogenannten ONEIROS-Projekts (Abkürzung für: Open-ended Neuro-Electronic Intelligent Robot Operating System).

Es ist also eine Open-Source basierte Bibliothek, vorgesehen für schnelle Implementierung eines neuronalen Netzwerks. Sie dient nicht als Deep-Learning-Framework, eher als Interface für solche Frameworks und ist auf Frameworks für maschinelles Lernen einsetzbar.

High-Level-API für Deep Learning

Mit der Bibliothek steht ein High-Level-API zur Vereinfachung der Programmierung neuronaler Netze bereit. Der Fokus liegt auf der schnellen Bereitstellung der neuronalen Netze zu experimentellen Zwecken. Dabei werden rekurrente und auch konvolutionale Netzwerke, CPUs (Central Processing Units) sowie GPUs (Graphics Processing Units) unterstützt.

Keras High-Level-API unterstützt TensorFlow, Theano, CNTK
Keras High-Level-API unterstützt TensorFlow, Theano und CNTK.

Die zentralen Merkmale der Bibliothek sind Einfachheit, Erweiterbarkeit und Modularität. Neuronale Netze können mit den bereitgestellten Lösungen erstellt und konfiguriert werden, ohne dass man sich detailliert mit den zugrunde liegenden Backends beschäftigen muss. TensorFlow unterstützt Keras direkt in seiner Kernbibliothek. Der Name geht übrigens auf das griechische Wort für Horn zurück und spielt auf Homers Odyssee an.

Welches sind die hauptsächlichen Vorteile von Keras?

Die Verwendung der Bibliothek zusammen mit den Frameworks für maschinelles Lernen bietet die folgenden Vorteile:

  • Schnelles und leichtes Erstellen neuronaler Netze.
  • Benutzerfreundlichkeit, Erweiterbarkeit und Modularität.
  • Unterstützung der rekurrenten und auch konvolutionalen Netzwerke nebst Kombinationen aus beiden.
  • Unterstützung der GPUs, CPUs sowie des Multi-Input-Trainings und Multi-Output-Trainings.

Wesentliche Prinzipien der Entwicklung

Eines der wichtigsten Prinzipien ist die Ausrichtung auf Menschen statt auf Maschinen. Benutzerfreundlichkeit steht daher im Mittelpunkt. Bei Fehlern erhalten Nutzer ein ausführliches Feedback und damit die Möglichkeit, Probleme leicht zu beheben.

Keras Logo
Keras Logo

Das zentrale Designprinzip ist Modularität. Die voll konfigurierbaren Module sind beliebig kombinierbar. Mit der Kombination der Module für neuronale Layer, Aktivierungsfunktionen, Kostenfunktionen oder Initialisierungsschemata können schnell neue Modelle erschaffen werden. Diese können leicht als neue Funktionen oder Klassen hinzugefügt werden und sind im Python-Code beschrieben, welcher kompakt und einfach zu debuggen ist.

Erweiterungen bei Keras2

Nach Veröffentlichung der ersten Variante im Jahr 2015 gibt es inzwischen die zweite Hauptversion. Im Vergleich zur ersten Version kann die API einfacher genutzt werden. Es ist inzwischen als Teil der Machine-Learning-Bibliothek im Framework TensorFlow verfügbar. Grundsätzlich gibt es zwei Implementierungen: eine externe, einfach erweiterbare Framework-Bibliothek und eine interne Umsetzung in der Bibliothek.

Unterstützung diverser Plattformen

Als besondere Stärke der Bibliothek lassen sich definierte Modelle auf verschiedenen Plattformen bereitstellen. Handys und Tablets von Apple mit dem Betriebssystem iOS, können über Apples CoreML unterstützt werden.

Für die Androidgeräte gibt es die TensorFlow-Android-Runtime-Umgebung. Wenn Modelle browserbasiert zur Verfügung gestellt werden, kommen JavaScript basierte Laufzeitumgebungen (etwa Keras.js und WebDNN) zur Anwendung. Des Weiteren sind nutzbar: die Google Cloud mit TensorFlow-Serving, der Raspberry Pi und die Java Virtual Machine mit dem DL4J Modelimport von SkyMind.

Verwendung von Keras

Am Ende des Jahres 2017 gab es schon mehr als 200.000 Nutzer. Die Bibliothek wird für Forschungsprojekte und auch in der Industrie für professionelle Anwendungen eingesetzt.

Neben TensorFlow zählt Keras zu den beliebtesten Bibliotheken für Deep-Learning-Anwendungen. Auch bei Anwendungen von Netflix, Uber, Instacard und Yelp sind Keras-Funktionen zu finden. Start-up-Unternehmen, die Deep Learning in ihren Produkten einsetzen, nutzen Keras. Wissenschaftliche Organisationen wie CERN oder NASA verwenden die beliebte Deep-Learning-Bibliothek ebenfalls.

Ihr Ansprechparnter: Laurenz Wuttke

Wir entwickeln Künstliche Intelligenz, mit der Sie mehr aus Ihren Kundendaten machen – für wachsende Umsätze und eine nachhaltig hohe Kundenzufriedenheit.

Auch interessant für Sie