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.

Aktuelle Beiträge zu diesem Thema

Optimale Clusteranalyse und Segmentierung mit dem k-Means-Algorithmus

Grundlagen Statistik & Algorithmen, Teil 5

Optimale Clusteranalyse und Segmentierung mit dem k-Means-Algorithmus

Der k-Means-Algorithmus ist ein Rechenverfahren, das sich für die Gruppierung von Objekten, die sogenannte Clusteranalyse, einsetzen lässt. Dank der effizienten Berechnung der Clusterzentren und dem geringen Speicherbedarf eignet sich der Algorithmus sehr gut für die Analyse großer Datenmengen, wie sie im Big-Data-Umfeld üblich sind, so etwa in der Bildverarbeitung und in der Kundensegmentierung. lesen

Mathworks erweitert Deep-Learning-Funktionen im neuen Release

Matlab und Simulink 2018b

Mathworks erweitert Deep-Learning-Funktionen im neuen Release

Mathworks hat das Release 2018b von Matlab und Simulink vorgestellt, das Deep Learning in den Fokus der Neuheiten stellt. So löst beispielsweise die Deep Learning Toolbox die vorherige Neural Network Toolbox ab, um Netzarchitekturen einfacher zu entwerfen. lesen

Das Cognitive Toolkit legt den Fokus auf Sprache

Spracherkennung mit neuronalen Netzen

Das Cognitive Toolkit legt den Fokus auf Sprache

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. lesen

Das kann das Deep Learning Framework Torch

Deep Learning

Das kann das Deep Learning Framework Torch

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

Wie sich das menschliche Gehirn im Computer nachbilden lässt

Künstliche Intelligenz

Wie sich das menschliche Gehirn im Computer nachbilden lässt

Die Herausforderung, die Komplexität des menschlichen Gehirns im Computer nachzubilden, hat eine neue Generation von Wissenschaftlern und Entwicklern von Computeralgorithmen hervorgebracht. lesen

So spürt Deep Learning Datenmuster auf

Big Data und Deep Learning

So spürt Deep Learning Datenmuster auf

Die Zunahme an unstrukturierten Daten wie etwa Bildern, Blogs und Sprachbotschaften macht es ratsam, diese Massendaten automatisch erkennen zu lassen. Deep Learning, ein Unterbereich des Machine Learning, hilft bei der Erkennung dieser Daten und findet Muster in natürlicher Sprache, in Bildern und vielem mehr. lesen

IBM will Leader im Spark-Umfeld werden

Big Blue und Big Data

IBM will Leader im Spark-Umfeld werden

IBM entfaltet eine Reihe von Initiativen im Hinblick auf die Unterstützung von Big Data Analytics. So wird etwa Apache Spark auf der PaaS-Plattform BlueMix bereitgestellt. Von IBM und Partnern kommen weitere Produkte auf den Markt. Analysten sprechen bereits von einem „Blue Stack“ analog zu Oracles Technologiestapel „Red Stack“. lesen

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)