Spracherkennung mit neuronalen Netzen

Das Cognitive Toolkit legt den Fokus auf Sprache

| Autor / Redakteur: Otto Geißler / Nico Litzel

Das Microsoft Cognitive Toolkit wurde aus einer Notsituation heraus geboren. Da die damals zur Verfügung stehenden Tools zur Erkennung von Sprache nicht leistungsfähig genug waren, suchte man im Hause Microsoft nach einer besseren Variante.
Das Microsoft Cognitive Toolkit wurde aus einer Notsituation heraus geboren. Da die damals zur Verfügung stehenden Tools zur Erkennung von Sprache nicht leistungsfähig genug waren, suchte man im Hause Microsoft nach einer besseren Variante. (Bild: © Bits and Splits - stock.adobe.com)

Das Microsoft Cognitive Toolkit, vormals als Computational Network Toolkit (CNTK) bekannt, ist ein Deep Learning Framework für das Erstellen, Trainieren und Evaluieren von neuronalen Netzen. Im Vergleich zu Googles TensorFlow ist die Open-Source-Lösung von Microsoft eher auf Spracherkennung ausgelegt. Doch letztlich ähneln sich viele Algorithmen oder sind gar identisch.

Das Computational Network Toolkit (CNTK) von Microsoft wurde – gemäß dem Chief Speech Scientist bei Microsoft Xuedong Huang – aus einer Notsituation heraus geboren. Da die damals zur Verfügung stehenden Tools zur Erkennung von Sprache für Huang nicht leistungsfähig genug waren, suchte man im Hause Microsoft nach einer besseren Variante.

In der Ankündigung für CNTK ließ das Unternehmen verlauten, dass das Toolkit zu dem Zweck entwickelt wurde, das Geschwindigkeitsproblem bei einer komplexen Sprach- oder Bilderkennung zu lösen. So soll es im Benchmark-Vergleich zu vier weiteren Lösungen, die Entwickler von Deep-Learning-Modellen für die Sprach-und Bilderkennung zum Zeitpunkt der CNTK-Einführung einsetzten, deutlich effizienter sein.

Mehr Performance durch GPU-Skalierung

Microsoft verwies hierfür auf Konkurrenzprodukte wie TensorFlow, Torch, Theano oder Caffe. Der Vorsprung an Performance von CNTK ist vor allem auf ein massives Skalieren der Aufgaben zurückzuführen. Zudem lässt sich CNTK ebenfalls maschinenübergreifend mit einem GPU-Cluster nutzen. Wobei die bis dato verfügbaren Konkurrenz-Tools nur in einem einzigen Gerät verwendet werden konnten.

Microsoft räumt zwar ein, dass Lösungen wie zum Beispiel von Nvidia (Rechner mit vier Titan-X-Grafikkarten) auch eine sehr große Performance aufweisen, aber CNTK insbesondere in verteilten Umgebungen zum Einsatz kommen kann. Damit verweist der IT-Riese vor allem auf GPU-Anbindungen in Microsofts Cloud-Computing-Plattform Azure.

CNTK bietet zwei Build-Versionen: Der CPU-Build nutzt den optimierten Intel MKLML. Wobei der MKLML mit Intel MKL-DNN als eine getrimmte Version von Intel MKL für MKL-DNN zum Einsatz kommt. Die GPU-Variante verwendet optimierte Nvidia-Bibliotheken (zum Beispiel CUB und cuDNN) und unterstützt verteilte Trainings über mehrere GPU und Maschinen hinweg.

Des Weiteren umfasst der GPU-Build die von MSR entwickelten 1-Bit-quantisierten SGD- und Block-Impuls-SGD-Parallel-Trainingsalgorithmen. Diese Technologie ermöglicht ein noch schnelleres verteiltes Training im Framework.

Das kann das Deep Learning Framework Torch

Deep Learning

Das kann das Deep Learning Framework Torch

11.06.18 - Torch ist ein wissenschaftliches Deep Learning Framework mit beachtlichem Support an Algorithmen für das maschinelle Lernen. Auf Grund der einfachen Skriptsprache Lua und der C/CUDA-Implementierung ist das Open-Source-Paket sehr anwenderfreundlich und sorgt für beschleunigte Prozesse. lesen

Vielseitige Funktionen des Frameworks

Microsoft hält mit dem Cognitive Toolkit eine große Anzahl an Funktionen für das Trainieren neuronaler Netze und das Deep Learning bereit. So ist das Framework in der Lage, multidimensionale Daten unterschiedlichster Art und Herkunft zu verarbeiten. Gleichzeitig beherrscht es sowohl das überwachte als auch das selbstständige Lernen. Mithilfe des Memory-Sharings und anderer nützlicher Methoden lassen sich selbst sehr große Modelle im GPU-Speicher darstellen.

So funktioniert Google TensorFlow

Open-Source-Programmbibliothek für Künstliche Intelligenz

So funktioniert Google TensorFlow

29.01.18 - Googles TensorFlow bildet als Open-Source-Tool für verteilte Datenbanksysteme eine innovative Basis für neuronale Netze im Umfeld von Sprache und Bildverarbeitungsaufgaben. Damit setzt Google ein klares Signal, dass maschinelles Lernen nicht mehr nur als einer der vielen IT-Hypes stilisiert wird, sondern in der Realität angekommen ist. Und die Möglichkeiten sind gewaltig. lesen

Viele verfügbare APIs ermöglichen das Trainieren und Evaluieren beziehungsweise Definieren von Netzwerken mit Sprachen wie zum Beispiel Python, C++ oder BrainScript. Der Entwickler kann aus Low-Level-APIs zur schnellen und einfachen Nutzung sowie aus High-Level-APIs für eine flexible Verwendung des Frameworks wählen. In Verbindung mit den Azure-Cloud-Services erhält das Microsoft Cognitive Toolkit zusätzlich Hochgeschwindigkeits-Ressourcen.

Mit Azure lassen sich bereits trainierte Modelle ebenfalls bequem hosten. Auf Wunsch ist ein Echtzeit-Training der Modelle realisierbar. Für die Nutzung trainierter Modelle auf Geräten mit eingeschränkten Ressourcen wie zum Beispiel Smartphones, bietet das Toolkit Werkzeuge für die Komprimierung. Auf diese Weise laufen aufwendige KI-Anwendungen zur Bilderkennung in Echtzeit auch auf Smartphones.

Zahlreiche Anwendungen sind möglich

Zunächst stand das Computational Network Toolkit (CNTK) über Codeplex nur akademischen Einrichtungen unter einer eher restriktiven Lizenz zur Verfügung. Seit April 2015 ist CNTK Open Source und das Werkzeug für maschinelles Lernen in neuronalen Netzwerken kann unter MIT-Lizenz auf Github von allen Interessenten genutzt und verbessert werden. Die erste Beta-Version des freien Toolkits wurde 2016 als Microsoft Cognitive Toolkit präsentiert.

So schnell ist das Deep Learning Framework Caffe

Künstliche Intelligenz

So schnell ist das Deep Learning Framework Caffe

04.06.18 - Das Deep Learning Framework Caffe ist auf Modularität, Skalierbarkeit und Schnelligkeit ausgelegt. Dadurch lassen sich unter anderem Modelle für Künstliche Intelligenz innerhalb nur weniger Stunden anstatt mehrerer Tage trainieren. lesen

Die Neuronalen Netze werden durch das Toolkit mithilfe von gerichteten Graphen dargestellt. Zahlreiche Funktionen erlauben es, die Prozesse des Deep Learnings zu optimieren und in andere KI-Umgebungen direkt zu integrieren. Das Microsoft Cognitive Toolkit unterstützt beim Evaluieren der Modelle gängige Programmiersprachen wie zum Beispiel C#, BrainScript, Python und Java.

Das Toolkit eignet sich für den Einsatz bei Start-ups im Bereich Deep Learning wie auch in etablierten Unternehmen, die sehr große Datenmengen auswerten möchten. Zentrale Einsatzbereiche des Microsoft Cognitive Toolkits sind Spracherkennung, Bilderkennung oder intelligente Suchalgorithmen. Zudem findet es als wichtige Komponente bei der Erkennung von Sprache in Microsofts hauseigenen digitalem Sprachassistenten Cortana Verwendung. Weitere Einsatzfelder des Frameworks bei Microsoft: Übersetzungen mit dem Skype Translator, Suche mit der Suchmaschine Bing, Mixed-Reality-Brille HoloLens oder Anwendungen in Microsoft Office.

Ein Vorteil des Tools liege außerdem darin, dass man es ebenso gut mit nur einem Rechner wie auch in einer größeren Anzahl an GPU-basierten Computern nutzen kann. Verfügbar ist das Microsoft Cognitive Toolkit für die Betriebssysteme Windows und Linux. Zudem stehen Docker-Images bereit, die den Betrieb in einem Docker-Container auf einem Linux-System gestatten.

Bewertung des Microsoft Cognitive Toolkit

Deep Learning mit dem Microsoft Cognitive Toolkit bietet eine Vielzahl von Vorzügen:

  • Das Microsoft Cognitive Toolkit kann neuronale Netze schnell und effizient trainieren.
  • Es unterstützt verteilte Rechnersysteme mit CPU und GPU.
  • Hoch entwickelte Algorithmen arbeiten zuverlässig und präzise.
  • Qualitativ hochwertige, professionelle Anwendungen aus verschiedenen Bereichen der Künstlichen Intelligenz sind realisierbar.
  • Obwohl das Microsoft Cognitive Toolkit sehr leistungsfähig und gut skalierbar ist, verfügt es über eine eher einfach nutzbare Architektur.
  • Entwickler können auf bereits vertraute Programmiersprachen wie C++ oder Python zurückgreifen. So können integrierte Trainings-Algorithmen nach eigenen Vorstellungen angepasst oder neue entwickelt werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45421569 / Künstliche Intelligenz)