Künst­li­che In­tel­li­genz spielt in der heutigen digitalen Welt eine ele­men­ta­re Rolle – sowohl bei der Ent­wick­lung und Nutzung von Com­pu­ter­spie­len (oder sonstigen An­wen­dungs­pro­gram­men) als auch bei Web­ser­vices, Geräten oder Maschinen. Eines der wich­tigs­ten For­schungs- und Teil­ge­bie­te, das sich intensiv mit den Grund­zü­gen der „vir­tu­el­len Denkkraft“ aus­ein­an­der­setzt, sind die so­ge­nann­ten Neural Networks (dt. „neuronale Netze“), deren Im­ple­men­tie­rung durch den Einsatz von Keras erheblich ver­ein­facht wird. Erfahren Sie, was hinter der Open-Source-Bi­blio­thek steckt und inwiefern sie den Aufbau neu­ro­na­ler Netze ver­ein­facht.

Was ist Keras?

Keras ist eine in Python ge­schrie­be­ne Open-Source-Bi­blio­thek (MIT-Lizenz), die in erster Linie auf die Arbeit des Google-Ent­wick­lers François Chollet im Rahmen des ONEIROS-Projekts (Open-ended Neuro-Electronic Intel­li­gent Robot Operating System) zu­rück­geht. Eine erste Version der platt­form­un­ab­hän­gi­gen Software wurde am 28. März 2015 ver­öf­fent­licht. Ziel der Bi­blio­thek ist es, den schnellen Aufbau neu­ro­na­ler Netze zu er­mög­li­chen, wobei Keras in diesem Fall nicht als eigenes Framework, sondern als ein­steig­er­freund­li­che Schnitt­stel­le (API) für den Zugriff und die Pro­gram­mie­rung ver­schie­de­ner Machine-Learning-Frame­works fungiert. Unter anderem zählen Theano, Microsoft Cognitive Toolkit (vormals CNTK) und Ten­sor­Flow zu den von Keras un­ter­stütz­ten Frame­works.

Hinweis

Seit dem Release von Ten­sor­Flow 1.4 ist Keras fester Be­stand­teil der Ten­sor­Flow-Kern-API. Dennoch wird die Bi­blio­thek weiterhin als ei­gen­stän­di­ge Software wei­ter­ent­wi­ckelt, da sie von Beginn an als Schnitt­stel­le für ver­schie­de­ne Frame­works geplant war und dieser Ansatz auch weiterhin verfolgt wird.

Die aktuelle Keras-Version ist kom­pa­ti­bel mit Python ab Version 2.7 – das voll­stän­di­ge Projekt ist jederzeit über das of­fi­zi­el­le Keras-GitHub-Ver­zeich­nis verfügbar.

Wie funk­tio­niert Keras?

Keras ist eine Bi­blio­thek, die auf Mo­dell­ebe­ne agiert: Sie stellt Bausteine zur Verfügung, auf deren Basis sich komplexe Deep-Learning-Modelle ent­wi­ckeln lassen. Anders als ei­gen­stän­di­ge Frame­works kümmert sich die Open-Source-Software dabei nicht um einfache Low-Level-Ope­ra­tio­nen, sondern nutzt zu diesem Zweck die Bi­blio­the­ken ver­knüpf­ter Machine-Learning-Frame­works, die quasi als Backend-Engine für Keras fungieren. Nach dem Bau­kas­ten­prin­zip werden die ge­wünsch­ten Schichten des auf­zu­bau­en­den neu­ro­na­len Netzes an­ein­an­der­ge­hängt, ohne dass hierfür das tat­säch­li­che Backend des gewählten Frame­works ver­stan­den oder direkt vom Keras-Nutzer an­ge­steu­ert werden muss.

Wie erwähnt baut Keras hierbei ins­be­son­de­re auf die drei Tools Ten­sor­Flow, Theano und Microsoft Cognitive Toolkit, für die von Werk aus ein­satz­fer­ti­ge Schnitt­stel­len exis­tie­ren, die einen schnellen, in­tui­ti­ven Zugriff auf das jeweilige Backend er­mög­li­chen. Sie müssen sich dabei kei­nes­wegs für ein Framework ent­schei­den, denn Sie können bequem zwischen den ver­schie­de­nen Backends hin und her wechseln. Auch die Wahl eines al­ter­na­ti­ven Backends abseits der drei genannten Lösungen ist möglich. Dieses muss lediglich in der Kon­fi­gu­ra­ti­ons­da­tei (keras.json) angegeben werden und über die drei Funk­tio­nen „pla­ce­hol­der“, „variable“ und „function“ verfügen.

Tipp

Aus­führ­li­che­re In­for­ma­tio­nen über das Backend-Ma­nage­ment und die all­ge­mei­ne Ver­wen­dung erhalten Sie in unserem großen Keras-Tutorial.

Welche Vorteile bietet Keras?

Keras stellt eine her­vor­ra­gen­de Ergänzung zu be­stehen­den Tools für den Aufbau von Neural Networks dar, da die Open-Source-Bi­blio­thek diesen Prozess erheblich ver­ein­facht. Hierbei steht ins­be­son­de­re die Usability im Vor­der­grund: Keras funk­tio­niert als Schnitt­stel­le, die explizit für Menschen und erst zweit­ran­gig für Maschinen kon­zi­piert ist. Die an­fal­len­den Nut­zer­ak­tio­nen für die wich­tigs­ten Use Cases sind auf ein Minimum reduziert, und sollte es dennoch zu Fehlern kommen, hilft ent­spre­chen­des Feedback bei der Behebung. So ist es ver­gleichs­wei­se einfach, Keras zu lernen und ein­zu­set­zen – bei ge­stei­ger­ter Pro­duk­ti­vi­tät. Durch die Anbindung an Deep-Learning-Frame­works ist diese Ein­fach­heit zudem nicht mit funk­tio­na­len Ein­schrän­kun­gen verbunden: Alle ge­wünsch­ten Features binden Sie über die pass­ge­nau­en Schnitt­stel­len ein (oder schalten diese bei Bedarf wieder ab).

Weitere Vorzüge von Keras im Überblick:

  • Breite Plattform-Un­ter­stüt­zung für er­ar­bei­te­te Modelle: Modelle, die Sie mit Keras er­ar­bei­tet haben, lassen sich besonders einfach auf ver­schie­de­nen Platt­for­men be­reit­stel­len. Stan­dard­mä­ßig werden z. B. iOS (Apple CoreML), Android (Keras Ten­sor­Flow Android Runtime), Google Cloud und Raspberry-Pi-Setups un­ter­stützt.
  • Un­ter­stüt­zung multipler Backend-Engines: Mit Keras haben Sie nicht nur freie Wahl hin­sicht­lich des ge­wünsch­ten Backends, sondern können auch mehrere Backends mit­ein­an­der kom­bi­nie­ren. Ferner können Sie ein er­ar­bei­te­tes Modell jederzeit auf ein anderes Backend über­tra­gen.
  • Her­vor­ra­gen­der Multi-GPU-Support: Mit Keras lässt sich der Re­chen­auf­wand für die er­ar­bei­te­ten Deep-Learning-Prozesse bequem auf mehrere Gra­fik­chips bzw. -karten verteilen.
  • Ent­wick­lungs­kraft großer Un­ter­neh­men: Die In­stand­hal­tung und Wei­ter­ent­wick­lung von Keras wird von den be­deu­tends­ten Firmen der Branche gestützt. Unter anderem sind Google, Amazon AWS, Microsoft, Apple und Nvidia an dem Projekt beteiligt.

Für welche Projekte ist Keras geeignet?

Als uni­ver­sel­le Schnitt­stel­le für die ver­schie­dens­ten Machine-Learning-Platt­for­men ist Keras heute in diversen Projekten der AI-Branche im Einsatz. Bereits Mitte 2018 konnte die Bi­blio­thek über 250.000 in­di­vi­du­el­le Nutzer verbuchen – spä­tes­tens seit der Aufnahme in die Ten­sor­Flow-Software wird diese Zahl noch einmal weit über­trof­fen. Die freie Wahl des zu­grun­de­lie­gen­den Frame­works, die freie Li­zen­zie­rung und die Platt­form­un­ab­hän­gig­keit machen Keras sowohl im in­dus­tri­el­len Umfeld als auch in der Forschung zur perfekten All­roun­der-Lösung für pro­fes­sio­nel­le Neural-Network-An­wen­dun­gen. Bei­spiels­wei­se setzen bekannte Un­ter­neh­men wie Netflix, Uber und Yelp, aber auch Or­ga­ni­sa­tio­nen wie die NASA oder CERN in ihren Projekten auf Keras bzw. das Ten­sor­Flow-Keras-Paket.

Zum Hauptmenü