Keras
# Keras

Keras ist eine Open Source Deep-Learning-Bibliothek, geschrieben in Python. Sie wurde von François Chollet initiiert und erstmals am 28. März 2015 veröffentlicht. Keras bietet eine einheitliche Schnittstelle für verschiedene Backends, darunter TensorFlow, Microsoft Cognitive Toolkit (vormals CNTK) und Theano. Das Ziel von Keras ist es, die Anwendung dieser Bibliotheken so einsteiger- und nutzerfreundlich wie möglich zu machen.

Seit dem Release von TensorFlow 1.4 ist Keras Teil der Tensorflow Core API, jedoch wird Keras als eigenständige Bibliothek weitergeführt, da es laut François Chollet nicht als Schnittstelle für Tensorflow, sondern als Schnittstelle für viele Bibliotheken gedacht ist. Mit dem Release von Keras 2.4 wurde die Multi-Backend-Unterstützung eingestellt. Seitdem verweist Keras direkt auf die Implementierung von Tensorflow 2.

## Beispiel

Das folgende Beispiel soll die grundlegende Funktionsweise darstellen. Darin wird einem neuronalen Netzwerk mithilfe von Keras die Funktion eines Exklusiv-Oder-Gatters beigebracht:

Als Ausgabe erhält man folgendes:

Das Modell ist mit zwei Eingangsknoten, zwei Mittelknoten und einem Ausgangsknoten sehr einfach. Es braucht jedoch 10000 Epochen, um zu guten Ergebnissen zu kommen. Eine andere Aktivierungsfunktion, hier tanh, kann die Anzahl der Epochen auf 1000 reduzieren:

Als Ausgabe erhält man folgendes:

Die Modellanalyse kann direkt mit numpy und matplotlib erfolgen. In diesem Fall werden dem Modell gerasterte Eingabedaten übergeben und die Ausgabe grafisch zweidimensional in einem Contourplot dargestellt. Ebenso werden die Grenzen der Klassifizierung als Linien und die diskreten Eingabewerte als Punkte dargestellt:

Die Darstellungen für beide Varianten des Modells sehen wie folgt aus (links erste Variante, 10000 Epochen; rechts zweite Variante, 1000 Epochen):

