majid199372 ۱ دیدگاه

اگر شما یک برنامه نویس یا حتی یک علاقه مند به دنیای کامپیوتر باشید به احتمال زیاد حتما چیز هایی در مورد هوش مصنوعی شنیده اید و امروزه همه جا صحبت از این حوزه ی نسبتا جدید هست، حالا می خوام امروز کمی به نحوه ی چگونگی یادگیری ماشین بپردازیم اول از همه باید بگم که یادگیری ماشین را به یک زیرمجوعه از هوش مصنوعی و یا داده کاوی و یا حتی سیستم های تصمیم یاری هم تقسیم می کنند ولی به نظر بنده ماشین لرنینگ(شما بخونید یادگیری ماشین)هم یک ابزار برای تحقق هدف شماست اما عمدتا در خانواده هوش مصنوعی معرفی میشه و این تعریف رایج هست این حوزه به طور ساده میشه گفت کامپیوتر به واسطه یک سری الگو و الگوریتم های مختلف از یک داده آموزش (Train dataset) سعی میکنه یادبگیره که در ادامه یک تقسیم بندی کلی از انواع مدل و یا نوع آموزش ارائه میکنم:

۱-تقسیم بر اساس نوع مدل
از نظر تئوری میشه ماشین لرنینگ(یادگیری ماشین یا کامپیوتر) رو به چند بخش تقسیم کرد
اول نوع آموزش اش که براساس مدل (model-base)و بر اساس نمونه(instanse-base) هست که در مدل اول ماشین به یک رهیافت الگوریتمی میرسه و الگوی هایی داده های آموزش رو استخراج میکنه
و در مدل براساس نمونه برای هر بار پردازش به نمونه ها رجوع میکنه و سعی میکنه یک شبهات هایی بین داده جدید و داده های اموزش پیدا کنه(train-dataset)

۲-تقسیم براساس نحوه ی آموزش
و اما در خصوص نحوه ی آموزش سیستم های هوش مصنوعی میشه آنها رو به دو بخش offline(نمیدونم چی ترجمه کنم به قول بعضی از دوستان که بلدن ماهی یک کتاب به اسم خودشون در َضعیف ترین حالت ممکن کیفیتی چاپ کند 🙂 “نابرخط*”) و online تقسیم کرد اسم دیگ روش offline رو میشه (batch (mini batch گذاشت که بعد لازمه اون داشتن منابع(resource) خوب سیستمی هست الخصوص در بخش کارت های گرافیک(gpu) و رم که در آن‌ داده آموزش (data set for train) به صورت دسته ایی به سیستم و مدل تزریق( و یا نشون داده) میشه و در بخش online سیستم‌ بعد دیدن هر بخش (برای مثال هر عکس ) خودشو بهبود میده

نکته : روش batch معمولا برای مدل هایی ارائه میشه که نیاز دارن به دفعات محدود مثلا یک یا دوبار اپدیت بشن و نیاز نیست مدل دائما و به سرعت خودشو با تغییرات وقف بده (مدل های انلاین زمانی استفاده میشوند که مدل نیاز داشته باشه دائما خودشو با توجه به شرایط تغییر و تطبیق بده مثلا تشخیص (کلمات کلیدی در) ایمیل های اسپم)
نکته : اگر منابع کمی در اختیار دارید میشه از روش online استفاده کنید حتی اگر مدل شما از طریق batching قابل استفاده باشه
۳-تقسیم بر اساس نحوه ی نظارت بر آموزش
و در بخش پایانی تقسیم بندی ها میتوان ماشین لرنینگ رو نسبت نحوه ی نظارت آن به آموزش تقسیم کرد که به سه بخش با ناظر (supervise) بدون ناظر (unsupervise) و بخش سوم که به semi-supervise (ترجمه ی صحیحی رو پیدا نکردم شاید کلمه “نیمه ناظر”و یا شبه-ناظر رو بشه جایگزین کرد که بنده در مقام قضاوت نیستم و این امر رو به اساتید محترم خودم واگذار میکنم درصورت علاقه مند بودن کلمه ی پیشنهادی خودتونو در نظرات مطرح بفرمایید) مشهور هست در روش اول داده اموزش (data set for train) توسط عامل انسانی برچسب گذاری(lable) میشه و سپس به مدل تحویل یا تزریق میشه در روش بدون ناظر این برچسب گذاری میتوان‌توسط خوده ماشین انجام بشه و….. اما در روش semi-supervise میشه گفت ماشین و متخصص(عامل انسانی) هر دو در برچسب گذاری ها مشارکت دارند
درخصوص روش نظارت semi-supervise مشارکت ینی:
ناظر انسانی یه مقداری داده رو پرچسب گذاری(lable) میکنه و ادامه ی ماجرا ماننده روش unsupervise ادامه پیدا میکنه و خوده ماشین سعی در پرچسب گذاری خواهد کرد

نکته : برای هر متخصص و یا علاقمندی که سعی در تولید هوش مصنوعی و هر نوع ماشین لرنینگی داره باید بگم تشخیص این سه بخش خیلی مهمه هست و به واسطه ی اون میشه به راحتی رهیافت حل مسئله رو برای خوش ترسیم کنه‌ که مدل شما و مسئله ی شما باید توسط چه روشی آموزش (train) ببینه

نکته: این روش جاهایی که دیتای آموزش کم باشه معمول

— One Comment —

  1. متشکرم ازاینکه باعث شدین سطح آگاهی من بالاتر برود

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *