التعلم الآلي باستخدام JavaScript (Node.js): مكتبات للتعلم الآلي

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

التعلم الآلي باستخدام JavaScript (Node.js): المكتبات والأدوات



على الرغم من أن Python لا يزال اللغة المهيمنة للتعلم الآلي، إلا أن JavaScript (خاصة منصة Node.js) تكتسب شعبية متزايدة في هذا المجال. ويرجع ذلك إلى إمكانية تشغيل النماذج مباشرة في المتصفح، وتوحيد حزم التطوير (full-stack JS)، وظهور مكتبات قوية للعمل مع الشبكات العصبية والجبر الخطي والإحصاء. في هذه المقالة، سنستعرض المكتبات الرئيسية للتعلم الآلي لـ Node.js، وإمكانياتها وأمثلة على استخدامها.



1. TensorFlow.js — الرائد في التعلم الآلي بلغة JS



TensorFlow.js هو نسخة من إطار العمل الشهير من Google، تم تكييفها لـ JavaScript. يتيح تدريب النماذج من الصفر، وتشغيل النماذج المدربة مسبقًا، وإجراء الاستدلال (inference) سواء في Node.js أو في المتصفح. تدعم المكتبة تسريع GPU عبر WebGL (في المتصفح) أو CUDA (عبر إضافة Node.js).



التثبيت:

npm install @tensorflow/tfjs @tensorflow/tfjs-node


مثال: الانحدار الخطي

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

// بيانات التدريبconst xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);const ys = tf.tensor2d([2, 4, 6, 8], [4, 1]);

// إنشاء النموذجconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

// التجميعmodel.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

// التدريبmodel.fit(xs, ys, {epochs: 200}).then(() => { // التنبؤ model.predict(tf.tensor2d([5], [1, 1])).print();});


الإمكانيات الرئيسية:

  • دعم كامل للشبكات العصبية (التلافيفية، المتكررة، المحولات)
  • تحميل النماذج من Keras (Python) و TensorFlow Hub
  • العمل مع الرسوم البيانية للحسابات والتفاضل التلقائي
  • أدوات مدمجة للتصور (tfjs-vis)


2. Brain.js — البساطة والسهولة



Brain.js هي واحدة من أبسط المكتبات لإنشاء الشبكات العصبية في JavaScript. وهي مثالية للمبتدئين والمشاريع الصغيرة. تدعم الشبكات المباشرة والمتكررة (LSTM، GRU)، بالإضافة إلى العمل مع السلاسل الزمنية.



التثبيت:

npm install brain.js


مثال: تصنيف XOR

const brain = require('brain.js');const net = new brain.NeuralNetwork();

net.train([ {input: [0, 0], output: [0]}, {input: [0, 1], output: [1]}, {input: [1, 0], output: [1]}, {input: [1, 1], output: [0]}]);

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


الميزات:

  • أقل حد للدخول — بضعة أسطر فقط من الكود
  • دعم مدمج لتطبيع البيانات
  • إمكانية حفظ وتحميل النماذج المدربة بصيغة JSON
  • دعم الشبكات المتكررة (LSTMTimeStep، GRUTimeStep)


3. Synaptic — بنية معيارية



Synaptic هي مكتبة مفتوحة المصدر تقدم بنية مرنة لبناء الشبكات العصبية. وهي لا تعتمد على مكتبات خارجية (باستثناء JS الخالص) وتسمح بإنشاء طبولوجيا شبكات مخصصة، بما في ذلك المستقبلات متعددة الطبقات، والشبكات ذات الذاكرة الطويلة قصيرة المدى (LSTM)، وحتى الشبكات الكبسولية.



التثبيت:

npm install synaptic


مثال: إنشاء مستقبل (Perceptron)

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.project(hiddenLayer);hiddenLayer.project(outputLayer);

const myNetwork = new Network({ input: inputLayer, hidden: [hiddenLayer], output: outputLayer});

const t

توصيات