Künstliche Intelligenz aus der Cloud

» Von Thomas Hafen, 12.04.2017 14:30.

weitere Artikel

Bildergalerie

Bildergalerie

Deep-Learning-Frameworks

Die derzeit am meisten diskutierten Frameworks stammen aus dem Bereich Deep Learning. Bei diesem Ansatz kommen komplexe neuronale Netze zum Einsatz, die aus tausend und mehr Neuronenschichten bestehen können. Im Folgenden stellt Computerworld einige Beispiele für derzeit verfügbare Deep-Learning-Frameworks vor.

Caffe: Das von Yangqing Jia am Berkeley Vision and Learning Center (BVLC) entwickelte Framework Caffe ist vor allem auf Schnelligkeit ausgelegt und kann zur Berechnung sowohl auf Hauptprozessoren (Central Processing Unit, CPU) wie auch auf Grafikeinheiten (Graphics Processing Unit, GPU) zugreifen. Caffe unterstützt die von Nvidia entwickelte Programmiertechnik CUDA (Compute Unified Device Architecture) sowie die ebenfalls von dem Grafikprozessor-Hersteller stammende cuDNN-Bibliothek (CUDA Deep Neural Network) und kann mit einer Nvidia-K40-GPU mehr als 60 Millionen Bilder pro Tag analysieren.

Die Standard-Plattform für den Betrieb von Caffe ist Ubuntu Linux, das Framework lässt sich aber auch auf anderen Linux-Distributionen sowie Mac OS oder in einem Docker-Container installieren.

Für die Windows-Installation gibt es auf GitHub einen eigenen Branch. Wer für die GPU-Programmierung OpenCL (Open Computing Language) statt der Nvidia-Technik CUDA einsetzen möchte, findet dazu ebenfalls einen Zweig auf GitHub. Caffe ist ausserdem als vorkonfiguriertes Amazon Machine Image (AMI) in der AWS-Cloud verfügbar.

Microsoft Cognitive Toolkit: Das besser unter seinem früheren Namen Computational Network Toolkit (CNTK) bekannte Framework zeichnet sich vor allem durch seine verteilte Architektur aus. Sie erlaubt es, Modelle über mehrere GPUs oder Server hinweg zu trainieren.

Das Toolkit bietet verschiedenste Lernmethoden für die Sprach-, Bild- und Texterkennung, darunter Feed-Forward-Netze (FFN), rekurrente neuronale Netze (RNN) vom LSTM-Typ (Long Short-Term Memory), gefaltete Netze (Convolu­tional Neural Networks, CNN), eine Batch-Normalisierung für schnelleres Lernen sowie eine sequenzielle fokussierte Verarbeitung von Informationen (Sequence-to-Sequence with Attention). Nach Angaben des Herstellers findet das Toolkit unter anderem in Microsoft-Diensten wie Skype, Cortana und Bing, aber auch in der Spielekonsole Xbox Anwendung.

Veles: Auch diese von russischen Entwicklern bei Samsung entwickelte Deep-Learning-Lösung ist als verteilte Plattform konzipiert. Das in Python geschriebene Framework unterstützt OpenCL und CUDA sowie das sogenannte Flow-based Programming, bei dem Applikationen als Netzwerk von Prozessen betrachtet werden. Modelle lassen sich aus mehr als 260 Einheiten zusammensetzen und ebenso auf einem PC wie auf einem High-Performance-Cluster trainieren. Aus den trainierten Modellen können die Entwickler automatisch Applikationen extrahieren und diese als Cloud-Service zur Verfügung stellen.

Nächste Seite: TensorFlow, Theano, Torch und Apache Spark MLlib

Werbung

KOMMENTARE

Marvin S.: 03-05-17 14:46

Ich würde allerdings sagen, dass TensorFlow und Co das Thema Maschinenlernen nicht unbedingt vereinfacht haben. "Flexibler gestaltet" würde ich es vielleicht eher nennen. Alte Pyhton Module wie <a href="http://scikit-learn.org/stable/">Sklearn</a> waren viel einfacher zu benutzen und zu verstehen. Natürlich kann jemand der sich mit MAschinenlernen auskennt mit Tensorflow angepasstere Modelle entwickeln aber als einfacher würde ich die Programme wirklich nicht bezeichnen...

KOMMENTAR SCHREIBEN

*
*
*
*

Alles Pflichfelder, E-Mail-Adresse wird nicht angezeigt.

Die Redaktion hält sich vor, unangebrachte, rassistische oder ehrverletzende Kommentare zu löschen.
Die Verfasser von Leserkommentaren gewähren der NMGZ AG das unentgeltliche, zeitlich und räumlich unbegrenzte Recht, ihre Leserkommentare ganz oder teilweise auf dem Portal zu verwenden. Eingeschlossen ist zusätzlich das Recht, die Texte in andere Publikationsorgane, Medien oder Bücher zu übernehmen und zur Archivierung abzuspeichern.