10 أطر عمل تعلم الآلة جافا سكريبت يجب أن يعرفها الأطفال

This post is also available in: English (الإنجليزية)

شعبية جافا سكريبت لا تحتاج إلى أي مقدمة خاصة. علاوة على ذلك ، تم العثور على الشركات التي تتبنى التعلم الآلي والذكاء الاصطناعي في عملياتها الروتينية. حتى الآن اعتاد الناس على تطبيق طرق وخوارزميات التعلم الآلي باستخدام أي من لغتي البرمجة ؛ أي Python أو R وفقًا لـ Github. الآن يتحول الاتجاه تدريجيًا نحو أفضل لغة برمجة قادمة وهي JavaScript.

ما هو الإطار؟

إطار العمل هو منصة لتطوير تطبيقات البرمجيات. إنه يوفر الأساس الذي يمكن لمطوري البرامج من خلاله بناء برامج لمنصة معينة. على سبيل المثال ، قد يتضمن إطار العمل فئات ووظائف محددة مسبقًا يمكن استخدامها لمعالجة الإدخال وإدارة الأجهزة والتفاعل مع برامج النظام. يساعد هذا في تبسيط عملية التطوير نظرًا لأن المبرمجين لا يحتاجون إلى إعادة كتابة الكود في كل مرة يطورون فيها تطبيقًا جديدًا.

شروط مهمة

قبل الانتقال إلى العديد من أطر عمل جافا سكريبت ، دعنا نلقي نظرة على بعض المصطلحات ذات الصلة.

الشبكة العصبية Feedforward: الشبكة العصبية Feedforward هي شبكة عصبية اصطناعية حيث لا تشكل الاتصالات بين العقد دورة. على هذا النحو ، فهو يختلف عن الشبكات العصبية المتكررة الهابطة.

كانت الشبكة العصبية Feedforward هي أول وأبسط نوع من الشبكات العصبية التي تم ابتكارها. في هذه الشبكة ، تتحرك المعلومات في اتجاه واحد فقط – للأمام – من عقد الإدخال ، وعبر العقد المخفية (إن وجدت) وعقد الإخراج. لا توجد دورات أو حلقات في الشبكة.

الذاكرة طويلة المدى (LSTM): شبكة الذاكرة طويلة المدى (LSTM) هي بنية شبكة عصبية اصطناعية متكررة (RNN) مستخدمة في مجال التعلم العميق. على عكس الشبكات العصبية القياسية Feedforward ، فإن LSTM لديها اتصالات تغذية مرتدة. لا يمكنها فقط معالجة نقاط البيانات الفردية (مثل الصور) ، ولكن أيضًا التسلسل الكامل للبيانات (مثل الكلام أو الفيديو). على سبيل المثال ، LSTM قابل للتطبيق على مهام مثل التعرف على خط اليد غير المقسم والمتصل والتعرف على الكلام واكتشاف الشذوذ في حركة مرور الشبكة أو أنظمة كشف التسلل (IDS).

تتكون وحدة LSTM المشتركة من خلية وبوابة إدخال وبوابة إخراج وبوابة نسيان. تتذكر الخلية القيم على فترات زمنية عشوائية وتنظم البوابات الثلاثة تدفق المعلومات داخل الخلية وخارجها.

تعتبر شبكات LSTM مناسبة تمامًا لتصنيف ومعالجة وعمل التنبؤات بناءً على بيانات السلاسل الزمنية ، حيث يمكن أن يكون هناك فترات تأخير غير معروفة بين الأحداث المهمة في سلسلة زمنية. تم تطوير LSTMs للتعامل مع مشكلة التدرج المتلاشي التي يمكن مواجهتها عند تدريب RNNs التقليدية. الحساسية النسبية لطول الفجوة هي ميزة LSTM على RNNs

الشبكة العصبية المتكررة (RNN): الشبكة العصبية المتكررة هي فئة من الشبكات العصبية الاصطناعية حيث تشكل الاتصالات بين العقد رسمًا بيانيًا موجهًا على طول تسلسل زمني. هذا يسمح لها بإظهار السلوك الديناميكي الزمني. المشتقة من الشبكات العصبية Feedforward ، يمكن لـ RNNs استخدام حالتها الداخلية (الذاكرة) لمعالجة تسلسلات متغيرة الطول من المدخلات. هذا يجعلها قابلة للتطبيق على مهام مثل التعرف على خط اليد غير المقسم أو المتصل أو التعرف على الكلام.

يستخدم مصطلح “الشبكة العصبية المتكررة” بشكل عشوائي للإشارة إلى فئتين عريضتين من الشبكات ذات البنية العامة المماثلة ، حيث يكون أحدهما عبارة عن اندفاع محدود والآخر عبارة عن دفعة لانهائية. كلا فئتي الشبكات تظهر سلوك ديناميكي زمني الشبكة المتكررة المنتهية عبارة عن رسم بياني لا دوري موجه يمكن فصله واستبداله بشبكة عصبية تلقائية بشكل صارم ، في حين أن الشبكة المتكررة اللانهائية عبارة عن رسم بياني دوري موجه لا يمكن فصله.

يمكن أن يكون لكل من شبكات النبض المحدود والشبكات المتكررة النبضية اللانهائية حالات مخزنة تقليدية ، ويمكن أن يكون التخزين تحت سيطرة الشبكة العصبية مباشرة. يمكن أيضًا استبدال التخزين بشبكة أو رسم بياني آخر ، إذا كان ذلك يتضمن تأخيرات زمنية أو به حلقات تغذية مرتدة. يشار إلى هذه الحالات الخاضعة للرقابة على أنها حالة بوابات أو ذاكرة مسورة ، وهي جزء من شبكات الذاكرة طويلة المدى (LSTMs) والوحدات المتكررة ذات البوابات. وهذا ما يسمى أيضًا بالشبكة العصبية للتغذية الراجعة (FNN).

أطر عمل ML في JavaScript

JavaScript هي اللغة الأكثر شيوعًا عبر الأنظمة الأساسية مع مدير حزمة Node (npm) الناضج بين المطورين. Npm هو مستودع على الإنترنت لنشر مشاريع Node.js مفتوحة المصدر وهي أداة مساعدة لسطر الأوامر للتفاعل مع المستودع المذكور الذي يساعد في تثبيت الحزمة وإدارة الإصدار وإدارة التبعية. يتم نشر عدد كبير من أطر عمل وتطبيقات Node.js على npm ، ويتم إضافة العديد منها كل يوم. يمكن البحث عن هذه التطبيقات على https://www.npmjs.com/. بمجرد حصولك على الحزمة التي تريد تثبيتها ، يمكن تثبيتها بأمر سطر أوامر واحد.

إذا كنت مبتدئًا أو مطورًا لجافا سكريبت وتريد أن تطفو في تجمع التعلم الآلي ، فقد تكون بعض أطر عمل جافا سكريبت المجانية مفيدة لك. يتشكل التعلم الآلي بمعدل أسي ، مما يجعل عملية تطوير التطبيق سهلة للغاية. لا يمكن إنكار احتفاظ Python بمكانة خاصة في التعلم الآلي ، ولكن مع ذلك ، لا يمكن ترك JavaScript في الخلف.

فيما يلي أفضل 10 أطر عمل لجافا سكريبت للأطفال لتجربة أيديهم.

1. Brain.js

Brain.js هو إطار عمل تسريع GPU للشبكات العصبية مكتوب بلغة JavaScript للمتصفحات و Node.js. إنه بسيط وسريع وسهل الاستخدام. يوفر تطبيقات متعددة للشبكات العصبية حيث يمكن تدريب الشبكات العصبية المختلفة للقيام بأشياء مختلفة بشكل جيد.

من السهل استخدام وتنفيذ العمليات الحسابية باستخدام GPU والرجوع إلى JavaScript خالص عندما لا يتوفر GPU. يوفر Brain.js تطبيقات متعددة للشبكات العصبية حيث يمكن تدريب الشبكات العصبية المختلفة للقيام بأشياء مختلفة بشكل جيد.

ML Frameworks in JavaScript

يبسط إطار العمل بشكل كبير بناء الشبكات العصبية وتدريبها على بضعة أسطر من التعليمات البرمجية مما يلغي الكثير من الرياضيات والمصطلحات اللازمة لفهم الجانب النظري للنموذج بشكل كامل.

يدعم Brain.js عددًا قليلاً من أنواع الشبكات العصبية المختلفة مثل شبكة Feedforward (ANN) و LSTM (الذاكرة طويلة المدى).

2. ConvNetJS

ConvNetJS هو إطار عمل JavaScript لتدريب نماذج التعلم العميق (الشبكات العصبية). تسمح المكتبة للمستخدم بصياغة وحل الشبكات العصبية في JavaScript مع دعم وحدات الشبكة العصبية الشائعة. كما أن لديها القدرة على تحديد وتدريب الشبكات التلافيفية التي تعالج الصور ووحدات التعلم التعزيزي التجريبية والمزيد.

إنه مناسب تمامًا لإنشاء شبكتك وتدريبها. يمكنك بناء شبكة عن طريق تحديد طبقات من أنواع مختلفة. نظرًا لأن أحد الأنواع تلافيفي ، يمكنك بناء شبكات تتعرف على الصور. ومع ذلك ، فإن أدوات التعرف على الصور التلافيفية ليست هي الاحتمال الوحيد ويمكنك إنشاء مصنفات عامة وشبكات توقع الانحدار والمزيد.

ML Frameworks in JavaScript

بمجرد حصولك على تعريف الشبكة ، يمكنك تدريبه باستخدام backprop أو لتقليل مجموع الأخطاء التربيعية لتعلم البيانات العشوائية في تطبيقات الانحدار.

يوجد أيضًا فصل تدريب MagicNet الذي يتولى التدريب تلقائيًا نيابة عنك. إذا كنت تريد أن تكون متقدمًا ، فيمكنك حتى تجربة فصل التعلم المعزز Deep Q لمعرفة ما إذا كنت تتعلم ممارسة الألعاب في ضوء النتيجة فقط.

إذا كنت ترغب فقط في رؤية الشبكات العصبية قيد التشغيل ، فهناك تسعة عروض توضيحية يمكنك تشغيلها في متصفحك. كما يتم تقديمها بشكل جيد للغاية. تحصل على رسم بياني للخطأ (الخسارة) أثناء قطارات الشبكة ويمكنك تغيير معلمات التعلم المعتادة ديناميكيًا. يكشف التمرير لأسفل عن قسم يوفر رؤى حول كيفية قيام الشبكة بالمهمة. يمكنك رؤية الميزات المستخدمة للتمييز بين الأمثلة. أخيرًا تحصل على عينة من أداء الشبكة بناءً على ما تفعله في عدد من سلاسل الاختبارات.

3. Compromise

التسوية عبارة عن إطار عمل JavaScript يفسر النص ويحلله مسبقًا. إنه إطار معالجة اللغة الطبيعية المستند إلى القواعد (NLP) الذي يفضل الحلول الأصغر والأقل فخامة للحصول على نص في شكل يمكن إدارته.

إنه إطار يهدف إلى أن يكون بمثابة حل وسط بين السرعة والدقة. الهدف هو الحصول على مكتبة تحليل من جانب العميل بسرعة كبيرة بحيث يمكن تشغيلها أثناء الكتابة مع الاستمرار في تقديم النتائج ذات الصلة.

4. Synaptic

Synaptic هو إطار عمل JavaScript للشبكة العصبية لـ node.js والمتصفح. يتضمن هذا الإطار بعض البنى المدمجة مثل الإدراك متعدد الطبقات ، وشبكات الذاكرة متعددة الطبقات طويلة المدى (LSTMs) ، وآلات الحالة السائلة أو شبكات هوبفيلد ، ومدرب قادر على تدريب أي شبكة معينة. البنية المعممة لهذا الإطار خالية من الهندسة المعمارية بحيث يمكن للمستخدم بناء وتدريب أي بنى للشبكات العصبية من الدرجة الأولى أو حتى من الدرجة الثانية.

5. ml5.js

ml5.js هو إطار عمل تعلم الآلة مفتوح المصدر مكتوب بلغة JavaScript. يُعد إطار العمل واجهة سهلة الاستخدام عالية المستوى لـ TensorFlow.js ويمكنه التعامل مع العمليات الحسابية المُسرعة من خلال وحدة معالجة الرسومات ، جنبًا إلى جنب مع إدارة الذاكرة لخوارزميات التعلم الآلي.

ML Frameworks in JavaScript

يوفر ml5.js وصولاً فوريًا في المتصفح إلى النماذج المدربة مسبقًا لاكتشاف الأوضاع البشرية ، وإنشاء نص ، وتصميم صورة بأخرى ، وتأليف الموسيقى ، واكتشاف الملعب ، والعلاقات العامة بالكلمات الإنجليزية ، وغير ذلك الكثير.

6. Stdlib-js

Stdlib-js هي مكتبة قياسية لـ JavaScript و Node.js. مع التركيز على تطبيقات الحوسبة الرقمية والعلمية ، يوفر هذا الإطار مجموعة من المكتبات القوية وعالية الأداء للرياضيات والإحصاءات ومعالجة البيانات والتدفق وغير ذلك الكثير. تتضمن ميزات هذا الإطار 150 وظيفة رياضية خاصة ، و 35 توزيعًا احتماليًا ، و 40 مولدًا لأرقام عشوائية كاذبة قابلة للبذور وغيرها.

7. Mind

يعد Mind ، المكتوب بلغة JavaScript ، إطار عمل مرنًا للشبكة العصبية لـ Node.js والمتصفح. بعض ميزات Mind هي أنها متجهة لأنها تستخدم تنفيذ المصفوفة لمعالجة بيانات التدريب ، فهي تتيح للمستخدمين تخصيص هيكل الشبكة. كما أنه قابل للتوصيل ، أي أنه يسمح بتنزيل وتحميل العقول التي تعلمت بالفعل.

8. machinelearn.js

يعد Machinelearn.js إطار عمل “تعلم الآلة” للويب والعقدة مكتوبًا بلغة Typescript. يحل إطار العمل مشاكل التعلم الآلي ويعلم المستخدمين كيفية عمل خوارزميات التعلم الآلي. بشكل افتراضي ، يستخدم machinelearning.js إصدار JavaScript خالصًا من tfjs.

9. neuro.js

neuro.js هو إطار عمل للتعلم الآلي لبناء مساعدين للذكاء الاصطناعي وروبوتات دردشة. إنها مكتبة لتطوير وتدريب نماذج التعلم الآلي في JavaScript ونشرها في المتصفح أو على Node.js. تدعم المكتبة التصنيف متعدد العلامات والتعلم عبر الإنترنت والتصنيف في الوقت الفعلي.

ML Frameworks in JavaScript

10. Deeplearnjs

Deeplearn.js هي مكتبة جافا سكريبت مفتوحة المصدر ومُسرَّعة بالأجهزة لذكاء الآلة. يجلب إطار العمل اللبنات الأساسية للتعلم الآلي إلى الويب ، مما يسمح للمستخدم بتدريب الشبكات العصبية في متصفح أو تشغيل نماذج مُدربة مسبقًا في وضع الاستدلال. يحتوي Deeplearn.js على واجهتي API ، ونموذج تنفيذ فوري ونموذج تنفيذ مؤجل يعكس TensorFlow API.

ML Frameworks in JavaScript

أي من أطر العمل التالية سوف تستخدمها في مشروع ML التالي الخاص بك؟

أضف تعليق