10 مثال یادگیری ماشین در جاوا اسکریپت

بخش: اسکریپت ها 148 بار مشاهده شده یکشنبه ۲۹ مرداد ۹۶ 0 نظر ارسال شده
10 مثال یادگیری ماشین در جاوا اسکریپت

کتابخانه های یادگیری ماشین هر ساله سریع تر و قابل دسترس تر می شوند و نشانه ای از کاهش آن ها وجود ندارند. در حالی که به طور سنتی Python زبانی برای یادگیری ماشین است، امروزه شبکه های عصبی می توانند در هر زبان، از جمله جاوا اسکریپت اجرا شوند!

اکوسیستم وب در پیشرفت های اخیر فرآیند های بسیاری داشته و اگرچه جاوا اسکریپت و Node.js هنوز نسبت به پایتون و جاوا کمتر عمل می کنند، اما اکنون قدرتمند بوده و می توانند بسیاری از مشکلات مربوط به یادگیری را حل نمایند. زبان های وب همچنین دارای مزیت در دسترس  بودن هستند – برای اجرای آن تنها به پروژه JavaScript ML در مرورگر وب خود نیاز دارید.

اکثر کتابخانه های یادگیری دستگاه جاوا اسکریپت نسبتا جدید هستند و هنوز هم در حال توسعه می باشند، اما آنها موجود بوده و آماده اند تا آنها را امتحان کنید. در این مقاله ما به برخی از این کتابخانه ها و همچنین تعدادی از مثال های نمونه از برنامه های وب Cool AI  را برای شروع کار انتخاب نموده ایم.

 

brain

1. Brain

Brain  یک کتابخانه است که به شما این امکان را می دهد تا به راحتی شبکه های عصبی ایجاد کنید و سپس آنها را بر اساس داده های ورودی / خروجی آموزش دهید. از آنجایی که آموزش مقدار زیادی از منابع را فراهم می کند، ترجیحا این کتابخانه را در محیط Node.js استفاده کنید، اگر چه یک نسخه مرورگر CDN نیز می تواند به طور مستقیم بر روی صفحه وب بارگذاری شود. یک نسخۀ نمایشی کوچک در این وب سایت وجود دارد که می تواند برای تشخیص کنتراست رنگی آموزش ببیند. 

 

deep playground

2. Deep playground

برنامه آموزشی وب به شما اجازه بازی با شبکه های عصبی و کشف اجزای مختلف خود را را می دهد. این رابط کاربری خوب است که به شما اجازه می دهد تا اطلاعات ورودی، تعداد نورون ها، الگوریتم استفاده شده و سایر معیارهای دیگر که در نتیجه نهایی منعکس می شود را کنترل کنید. همچنین برنامه های پشت صحنه (کد منبع باز) بسیار زیاد است  که از یک کتابخانه یادگیری ماشین سفارشی که در TypeScript نوشته شده و به خوبی مستند شده استفاده می کند.

 

flappy learning

3. FlappyLearning

FlappyLearning یک پروژه جاوا اسکریپت است که تقریبا در 800 خط از کد بی نظیر مدیریت می کند تا یک کتابخانه یادگیری دستگاه را ایجاد نماید و آن را در یک نسخۀ نمایشی سرگرم کننده اجرا کند که یاد می گیرد Flappy Bird را مانند یک Virtuoso بازی کند. تکنیک AI که در این کتابخانه مورد استفاده قرار می گیرد، Neuroevolution نامیده می شود و الگوریتم های الهام گرفته از سیستم های عصبی که در طبیعت یافت می شوند، به صورت پویا از هر موفقیت یا شکست به عنوان تکرار یاد می کنند. نسخۀ نمایشی فوق العاده آسان برای اجرا تنها نیاز به باز کردن index.html در مرورگر دارد.

 

synaptic

4. Synaptic 

احتمالا بیشترین فعالیت در این لیست، Synaptic Node.js و کتابخانه مرورگر است که معماری آگنوستیک دارد و به توسعه دهندگان اجازه ایجاد هر نوع شبکه عصبی را می دهد. این معماری داخلی ساخته شده که امکان تست سرعت و مقایسه الگوریتم های یادگیری ماشین های مختلف را فراهم می کند. همچنین دارای مقدمه خوبی برای شبکه های عصبی و تعدادی از نسخه های نمایشی عملی و بسیاری از آموزش های عالی دیگر است که در مورد نحوه کار کردن یادگیری ماشین ها، توضیح می دهد.

 

land-lines

5. Land Lines

Land Lines یک آزمایش جالب کروم وب است که تصاویر ماهواره ای زمین، مانند دودل های ساخته شده توسط کاربر را می یابد. این برنامه هیچ تماس تلفنی با سرور برقرار نمی کند: به طور کامل در مرورگر کار کرده و به لطف استفاده هوشمندانه از یادگیری ماشین و WebGL دارای عملکرد عالی، حتی در دستگاه های تلفن همراه می باشد.

 

convnet js

5. ConvNetJS

اگر چه دیگر فعالانه حفظ نمی شود،اما ConvNetJS یکی از پیشرفته ترین کتابخانه های یادگیری عمیق برای جاوا اسکریپت است. در حال حاضر در دانشگاه استنفورد توسعه یافته، ConvNetJS در GitHub بسیار محبوب شده اند و در نتیجه بسیاری از ویژگی های جامعه و آموزش و پرورش می باشد. این مرورگر به طور مستقیم در مرورگر کار کرده و از تکنیک های مختلف یادگیری که در سطح پایین تر پشتیبانی می کند و آن ها را برای افراد با تجربه بیشتر در شبکه های عصبی مناسب می نماید.

 

thing translator

6. Thing Translator

Thing Translator یک آزمایش وب است که  به تلفن شمااجازه به رسمیت شناختن اشیاء زندگی واقعی و نام آنها در زبان های مختلف را می دهد. این برنامه به طور کامل بر روی فناوری های وب ساخته شده است و از دو API آموزش گوگل توسط Cloud Vision برای تشخیص تصویر و API ترجمه برای ترجمه های طبیعی استفاده می کند.

 

neuro js

7. Neurojs

چارچوب ساخت سیستم های هوش مصنوعی مبتنی بر یادگیری تقویتی می باشد. متاسفانه پروژه منبع باز اسناد درستی را در اختیار ندارد، اما یکی از دموهااز یک آزمایش خودکار خودرو، توضیح خوبی از قطعات مختلفی دارد که شبکه عصبی را تشکیل می دهند. این کتابخانه کاملا جاوا اسکریپت بوده و با استفاده از ابزارهای مدرن مانند webpack و babel ساخته شده است.

 

machine learning

8. Machine_learning

کتابخانه دیگری است که به ما اجازه راه اندازی و آموزش شبکه های عصبی را تنها با استفاده از جاوا اسکریپت می دهد. این کار برای نصب در Node.js و در سمت سرویس گیرنده فوق العاده آسان است  و API برای توسعه دهندگان از تمام سطوح مهارت راحت  استفاده می نماید. این کتابخانه نمونه های بسیاری را ارائه می دهد که الگوریتم های محبوب را به کار می اندازند و به شما جهت درک مدیران اصلی ماژول ماشین کمک می کند.

 

deepforge

9. DeepForge

DeepForge یک محیط توسعه کاربر پسند برای کار با یادگیری عمیق است. که اجازه تا طراحی شبکه های عصبی با استفاده از رابط گرافیکی ساده، پشتیبانی از مدل های آموزش در ماشین های از راه دور و ساخته شده در نسخه کنترل را می دهد. این پروژه در مرورگر اجرا می شود و بر پایه Node.js و MongoDB می باشد که فرایند نصب بسیار آشنایی برای بسیاری از وب سایت ها دارد.

 

ml-in-js

10. Bonus: Machine Learning in Javascript

مجموعه ای عالی از نوشته های وبلاگ توسط Burak Kanber  است که دارای برخی از مبانی یادگیری ماشین می باشد. این آموزش ها خصوصا برای توسعه دهندگان جاوااسکریپت به خوبی نوشته شده و روشن هستند. اگر می خواهید درک عمیق تری نسبت به ماشین آلات داشته باشید، Bonus بهترین منبع برای اینکار است. 

 

نتیجه گیری

اگر چه اکوسیستم یادگیری ماشین مجازی هنوز کامل نشده است، اما از منابع موجود در این لیست استفاده کنید تا مراحل اول خود را در ML انجام دهید و تکنیک های اصلی را احساس نمایید. همانطور که آزمایشات در این مقاله نشان می دهد، چیزهای سرگرم کننده زیادی وجود دارد که شما می توانید با استفاده از مرورگر و برخی از کدهای آشنای جاوا اسکریپت از آن بهره مند شوید.

گروه تحقیقات سافت اسکیل
گروه تحقیقات سافت اسکیل

گروه تحقیقات سافت اسکیل به منظور افزایش سطح دانش جامعه، سعی در ترجمه، تالیف و تولید محتوای با کیفیت در زمینه های مختلف نرم افزاری دارد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...