Definition

Was ist Torch?

| Autor / Redakteur: Tutanch / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Torch ist ein wissenschaftliches Framework für das Deep Learning, das zahlreiche Algorithmen für das maschinelle Lernen unterstützt. Es basiert auf der Skriptsprache Lua und der von Nvidia entwickelten Programmiertechnik C/CUDA. Zahlreiche nützliche Torch-Module sind unter freier Open-Source-BSD-Lizenz auf GitHub verfügbar.

Torch ist ein Framework, das für das Deep Learning einsetzbar ist. Es kombiniert Machine-Learning-Bibliotheken, die Skriptsprache Lua und eine C/CUDA-Implementierung der Nvidia-Programmiertechnik. Zahlreiche Algorithmen für das maschinelle Lernen werden unterstützt. Torch gilt als effizient, schnell, anwenderfreundlich und einfach. Neben CPUs lassen sich vor allem GPUs sehr performant für das Trainieren von Modellen verwenden.

Bekannte Einsatzbereiche von Torch sind Google DeepMind, Twitter oder das „AI Lab“ von Facebook. Die ursprünglichen Entwickler von Torch sind Ronan Collobert, Koray Kavukcuoglu und Clement Farabet. Das erste Release erschien bereits im Jahr 2002. Das aktuelle Release (Stand 2018) ist Torch 7.0 aus dem Jahr 2017. Viele nützliche Module für das Framework sind unter einer Open-Source-Lizenz von BSD auf GitHub bereitgestellt. Im Bereich Deep Learning konkurriert Torch mit anderen Frameworks wie TensorFlow oder Caffe.

Die Kernfunktionalitäten von Torch

Das Framework Torch ist gekennzeichnet durch die folgenden Kernfunktionalitäten:

  • Unterstützung verschiedener neuronaler Netzwerkmodelle
  • numerische Routinen zur Optimierung
  • eine Vielzahl an Routinen für das Transponieren, Indizieren und Unterteilen
  • Schnittstellenfunktionen zu C über Lua
  • lineare Algebra-Routinen
  • weitreichender, schneller und effizienter Support von GPUs
  • leistungsstarkes n-dimensionales Array
  • über Ports auf Android- oder iOS-Systemen implementierbar

Die Ziele und Vorteile des Machine Learning Frameworks Torch

Das Hauptziel von Torch ist es, für Flexibilität und Geschwindigkeit bei der Implementierung von Algorithmen des maschinellen Lernens zu sorgen, ohne große Komplexität entstehen zu lassen. Für Torch existiert eine große Menge von der Community bereitgestellte Module, die sich direkt für das Deep Learning einsetzen lassen. Module sind beispielsweise für die Bereiche Signalverarbeitung, Bildbearbeitung, Video- und Audio-Processing oder Networking verfügbar.

Das Herzstück von Torch bilden die beliebten und einfach zu nutzenden Bibliotheken für neuronale Netzwerke und die Optimierungsfunktionen. Selbst komplexe neuronale Netzwerktopologien lassen sich problemlos realisieren und mithilfe parallelisierter CPU- oder GPU-Prozesse berechnen und trainieren. Die Skriptsprache Lua ist leicht erlernbar.

Torch und Facebook

Facebook nutzt das Framework Torch für seine Anwendungen intensiv und treibt dadurch die Entwicklung und Verbreitung des Frameworks aktiv voran. Es existiert eine sehr vitale Community für das sich ständig weiterentwickelnde Torch. Neben Facebook kommt Torch bei Google, Twitter und in vielen anderen Unternehmen oder Forschungseinrichtungen zum Einsatz. Dank Facebook sind viele ständig aktualisierte Erweiterungspakete verfügbar, die sich durch ihre hohe Prozessgeschwindigkeit im Zusammenspiel mit Nvidia-GPUs auszeichnen. Es kann beispielsweise auf zahlreiche Module und Programme von Facebook zur Spracherkennung- und -verarbeitung zugegriffen werden. Neuronale Netze lassen sich aufgrund der hohen Verarbeitungsgeschwindigkeiten binnen kurzer Zeit mit diesen Modulen trainieren. Sogenannte Convolutional Neural Networks erlauben die Nachbildung schneller biologischer Lern- und Verarbeitungsprozesse durch eine überlappende Anordnung von Neuronen, die sich unter anderem für die Objekt- und Gesichtserkennung einsetzen lassen. Auch andere Unternehmen können die schnellen und effizienten Verfahren für maschinelles Lernen von Facebook für Ihre Projekte verwenden.

Torch und Facebooks Torchnet

Facebook liefert mit Torchnet ein Framework, das die Wiederverwendung von bereits erstelltem Code vereinfachen soll. Es handelt sich bei Torchnet nicht um eine Deep Learning Engine, sondern um ein Framework mit einer eigenen Abstraktionsschicht für Torch. Damit lässt sich das Problem beseitigen, dass Programmierer und Entwickler immer wieder eigene Logiken neu erstellen müssen. Torchnet liefert fertige Codebausteine und -abschnitte auf Basis von Torch. Diese sind wiederverwendbar und erlauben das Modularisieren von Programmen. Für eine einfache Zusammenarbeit zwischen Torch und Torchnet sind beide in Lua geschrieben.

Vorteile von Torchnet sind ein einfacheres und schnelleres Testen mithilfe von Rapid-Prototyping-Prozessen, eine Reduzierung von Programmfehlern und die Beschleunigung des kompletten Entwicklungsprozesses von Deep-Learning-Anwendungen. Gleichzeitig sinken die Kosten für den Entwicklungsprozess und die Zusammenarbeit in übergreifenden KI-Projekten wird beschleunigt. Torchnet ist mit dem Paketmanager LuaRocks parallel zu Torch installierbar und stellt verschiedene Klassen und Methoden bereit. Längerfristig soll mit Torchnet die Integration in andere Deep Learning Frameworks wie TensorFlow oder Caffe möglich werden. Torchnet steht allen Entwicklern unter BSD-Lizenz auf GitHub zur Verfügung.

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: 45408193 / Definitionen)