Machine Learning رشد فوقالعاده و روزافزون خود را مرهون وجود ابزارهای اپنسورسی است که ساخت اپلیکیشنهای این حوزه را برای دولوپرها سادهتر کردهاند. هرچند بیشتر فریمورکهای ماشین لرنینگ با هدف پشتیبانی از زبان برنامهنویسی #پایتون ایجاد شدهاند، اما در این میان دولوپرهای #جاوااسکریپت نیز از قافله عقب نمانده و از فریمورکهای متعددی جهت آموزش و بهکارگیری مدلهای مختلف یادگیری ماشینی در مرورگرها بهره میبرند.
اگر دولوپر جاوااسکریپت هستید و قصد دارید به حوزهٔ #یادگیری ماشینی وارد شوید و یا اگر متخصص یادگیری ماشینی هستید و میخواهید جاوااسکریپت را در این حوزه به کار بگیرید، آشنایی با این فریمورکهای اپنسورس میتواند برای شما مفید باشد که در این پست به معرفی ۵ مورد از ابزارهای اپنسورس جاوااسکریپتی در حوزهٔ یادگیری ماشینی پرداختهایم (همچنین جهت آشنایی بیشتر با مقولهٔ ماشین لرنینگ، میتوانید به مقالهٔ یادگیری ماشینی چیست؟ مراجعه نمایید.)
TensorFlow.js
TensorFlow.js یک لایبرری اپنسورس است که امکان اجرای برنامههای یادگیری ماشینی را بر روی مرورگر به طور کامل فراهم میسازد. TensorFlow.js که بر مبنای بهبود و ارتقاء ویژگیهای Deeplearn.js ایجاد شده که امروزه دیگر پشتیبانی نمیشود، به دولوپر این امکان را میدهد تا مرورگر را در جهت ایجاد یک تجربهٔ یادگیری ماشینی عمیقتر به کار گیرد (برای آشنایی بیشتر با این لایبرری، به مقالهٔ TensorFlow.js: یک لایبرری جاوااسکریپتی مبتنی بر مرورگر برای اجرای مدلهای یادگیری ماشینی مراجعه نمایید.)
با استفاده از این لایبرری میتوانید با بهرهگیری از یکسری API چندمنظوره، مدلهای مختلف یادگیری ماشینی را از نخستین مراحل مستقیماً بر روی مرورگر تعریف کنید، آموزش دهید و دیپلوی نمایید. علاوه بر این، TensorFlow.js به طور خودکار پشتیبانی از WebGL و Node.js را نیز انجام میدهد؛ همچنین اگر بخواهید مدلهای آموزشدیدهٔ خود را به مرورگر وارد کنید و یا اینکه بدون خارج شدن از مرورگر به آموزش مجدد مدل خود بپردازید، TensorFlow.js این امکان را برای شما فراهم میکند.
Machine Learning Tools
Machine Learning Tools مجموعهای از ابزارهای کارآمد جهت پشتیبانی همهجانبهٔ قابلیتهای یادگیری ماشینی در مرورگر است. این ابزار اپنسورس الگوریتمهای مختلف یادگیری ماشینی از جمله یادگیری نظارتشده، یادگیری بدوننظارت، پردازش دادهها، شبکههای عصبی مصنوعی (ANN)، ریاضیات و رگرسیون را پشتیبانی میکند. چنانچه پسزمینهٔ پایتون دارید و اکنون به دنبال چیزی مشابه scikit-learn برای جاوااسکریپت میگردید، Machine Learning Tools میتواند این خواستهٔ شما را برآورده کند.
Keras.js
Keras.js یک لایبرری اپنسورس دیگر است که امکان اجرای مدلهای یادگیری ماشینی را بر روی مرورگر فراهم میسازد. این فریمورک در صورت استفاده از WebGL، امکان پشتیبانی از حالت GPU را نیز دارد؛ با این حال، مدلهای ایجاد شده در Node.js را میتواند تنها در حالت CPU اجرا نماید. Keras.js همچنین پشتیبانی از مدلهای آموزش دیده در برخی فریمورکهای بکاند مانند Microsoft Cognitive Toolkit را نیز امکانپذیر نموده است (برای آشنایی بیشتر با این ابزار اپنسورس مایکروسافتی، میتوانید به مقالهٔ Microsoft Cognitive Toolkit: ابزار اپنسورس مایکروسافت که لغات را مانند انسان تشخیص میدهد مراجعه نمایید.)
Brain.js
Brain.js یک فریمورک اپنسورس جاوااسکریپت است که فرآیند ایجاد، آموزش و اجرای #شبکههای عصبی را آسان میکند. مفاهیم یادگیری ماشینی آنچنان با ریاضیات درآمیخته است که ممکن است بسیاری از افراد را از ورود به این حوزه ناامید کند. همچنین اصطلاحات فنی و خاص این حوزه میتواند موجب سردرگمی تازهکارها شود و همهٔ این موارد، اهمیت استفاده از Brain.js را بیشتر میکند به طوری که اگر دولوپر جاوااسکریپت هستید و با یادگیری ماشینی کاملاً بیگانهاید، Brain.js میتواند منحنی یادگیری کمشیبتری را در پروسهٔ یادگیری برای رقم بزند.
STDLib
STDLib یک لایبرری اپنسورس برای اپلیکیشنهای JavaScript و Node.js است. اگر برای اپلیکیشن یادگیری ماشینی مبتنی بر وب خود به دنبال فریمورکی با امکان پشتیبانی به اصطلاح In-Browser هستید، STDLib خواستههای شما را برآورده میکند. این لایبرری با برخورداری از فانکشنهای جامع و کاربردی ریاضیاتی و آماری، شما را در ایجاد مدلهای یادگیری ماشینی کاربردی یاری میکند و از امکانات گستردهٔ آن میتوان برای ساخت اپلیکیشن و لایبرریهای دیگر استفاده نمود.
در این مقاله ۵ مورد از فریمورکها و لایبرریهای کاربردی جاوااسکریپت در زمینهٔ یادگیری ماشینی را معرفی کردیم. بنابراین اگر قصد استفاده از جاوااسکریپت در حوزهٔ یادگیری ماشینی را دارید، توصیه میکنیم این فریمورکها را امتحان نموده و تجربیات خود را با دیگر کاربران سکان آکادمی به اشتراک بگذارید.