Maschinelles Lernen mit JavaScript: Bibliotheken für Node.js

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Maschinelles Lernen mit JavaScript: Bibliotheken für Node.js



Obwohl Python die dominierende Sprache im Bereich des maschinellen Lernens bleibt, entwickelt sich das JavaScript-Ökosystem (insbesondere Node.js) aktiv weiter und bietet leistungsstarke Werkzeuge für ML. Die Verwendung von JavaScript ermöglicht die Erstellung von ML-Lösungen, die sich leicht in Webanwendungen integrieren lassen, in Echtzeit auf dem Server oder sogar im Browser arbeiten. Wenn Ihr Projekt bereits Node.js verwendet, kann die Integration von Bibliotheken für maschinelles Lernen organischer sein als der Wechsel zu Python.



In diesem Artikel betrachten wir die wichtigsten Bibliotheken für maschinelles Lernen mit JavaScript (Node.js), ihre Besonderheiten und Anwendungsbeispiele.



1. TensorFlow.js



TensorFlow.js ist die leistungsstärkste und beliebteste Bibliothek für maschinelles Lernen in JavaScript, portiert vom ursprünglichen TensorFlow. Sie unterstützt die Ausführung von Modellen sowohl im Browser als auch in Node.js und nutzt Hardwarebeschleunigung über CUDA oder WebGL.



Hauptfunktionen:

  • Ausführung vortrainierter Modelle (MobileNet, BERT, YOLO).
  • Training neuronaler Netze von Grund auf.
  • Transferlernen (Feinabstimmung bestehender Modelle).
  • GPU-Unterstützung über CUDA in Node.js.
  • Konvertierung von Modellen aus Python TensorFlow (TFJS-Format).


Beispiel: Lineare Regression mit TensorFlow.js

const tf = require('@tensorflow/tfjs-node');

// Daten: x -> y (y = 2x - 1)const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

// Modell erstellenconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

// Trainingmodel.fit(xs, ys, {epochs: 200}).then(() => { // Vorhersage für x = 5 model.predict(tf.tensor2d([5], [1, 1])).print();});


2. Brain.js



Brain.js ist eine einfache und intuitiv verständliche Bibliothek für neuronale Netze. Sie eignet sich hervorragend für Anfänger und kleine Projekte. Unterstützt werden mehrschichtige Perzeptrons (MLP), rekurrente Netze (RNN) und Netze mit langer Kurzzeitgedächtnis (LSTM).



Hauptfunktionen:

  • Minimale Einstiegshürde – API mit wenigen Zeilen.
  • Unterstützung für asynchrones Training zur Vermeidung von Blockaden.
  • Speichern und Laden trainierter Modelle im JSON-Format.
  • Funktioniert sowohl in Node.js als auch im Browser.


Beispiel: XOR mit Brain.js

const brain = require('brain.js');

const net = new brain.NeuralNetwork();

// Trainingsdaten für XORnet.train([ {input: [0, 0], output: [0]}, {input: [0, 1], output: [1]}, {input: [1, 0], output: [1]}, {input: [1, 1], output: [0]}]);

// Testenconst output = net.run([1, 0]); // ~0.99console.log(output);


3. Synaptic



Synaptic ist eine architekturunabhängige Bibliothek für neuronale Netze. Sie ermöglicht die Konstruktion nahezu aller Netztypen: Perzeptrons, mehrschichtige Netze, Netze mit Gedächtnis (LSTM), Hopfield-Netze und andere. Die Bibliothek hat keine externen Abhängigkeiten.



Hauptfunktionen:

  • Flexibilität beim Aufbau von Architekturen.
  • Unterstützung verschiedener Lernalgorithmen (SGD, Momentum, Nesterov).
  • Netzwerkvisualisierer (im Browser).
  • Unterstützung zum Speichern/Laden von Modellen.


Beispiel: Einfaches neuronales Netz mit Synaptic

const synaptic = require('synaptic');const {Layer, Network, Trainer} = synaptic;

const inputLayer = new Layer(2);const hiddenLayer = new Layer(3);const outputLayer = new Layer(1);

inputLayer.connect(hiddenLayer);hiddenLayer.connect(outputLayer);

const myNetwork = new Network({input: inputLayer, hidden: [hid

Empfehlungen