مرا به خاطر بسپار

یادگیری ماشین چیست؟

بازدید: 991 آخرین به‌روزرسانی: 04 مهر 1402
یادگیری ماشین (Machine Learning) به علم طراحی ماشین‌هایی گفته می‌شود که می‌توانند بیاموزند. این ماشین‌ها با مشاهده و یادگیری از تجربیات و نمونه‌های گذشته و با استفاده از علم آمار و علم کامپیوتر و بدون دخالت انسان عملکرد خود را با مسأله مورد نظر هماهنگ می‌کنند. در این مقاله به معرفی یادگیری ماشین و انواع آن اعم از نظارت‌شده، نظارت‌نشده و تقویتی می‌پردازیم و تفاوت‌های آن‌ها را شرح می‌دهیم. در انتها به بعضی نمونه‌ها اشاره خواهیم کرد و نقش ابررایانه سیمرغ به عنوان یک ارائه دهنده خدمات ابررایانش با محوریت خدمات هوش مصنوعی توزیع‌شده با استفاده از آخرین نسل از کارت‌های گرافیک را بررسی می‌کنیم.

یادگیری ماشین چیست؟

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

"می‌گوییم یک برنامه کامپیوتری در یک کلاس‌ وظایف T با در نظر گرفتن معیار کارایی P از تجربه E یاد می‌گیرد، ‌اگر کارایی آن در کلاس وظیفه T که با معیار P اندازه‌گیری می‌شود با توجه به تجربه E بهبود یابد."

به زبان ساده‌تر ماشین در اجرای دسته‌ای از وظایف از تجربه‌های خودش بیاموزد و این آموختن در عملکرد آینده‌ آن تاثیر بگذارد و کارایی آن را بهبود بخشد.
نمودار بلوکی یادگیری
نمودار بلوکی یادگیری

یادگیری ‌ماشین به عنوان تلاقی علم آمار و علم کامپیوتر

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

یادگیری ماشین به عنوان تلاقی علم آمار و علم کامپیوتر
یادگیری ماشین به عنوان تلاقی علم آمار و علم کامپیوتر

داده‌کاوی و هوش مصنوعی چیستند و چه ارتباطی با یادگیری ماشین دارند؟

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

داده‌کاوی (Data mining) به عنوان مبنای هوش‌مصنوعی و یادگیری‌ماشین به معنی تحلیل داده جهت یافتن الگو و ارتباط میان آن‌ها و ویژگی‌هایی است که توانایی تشخیص آن برای انسان به تنهایی دشوار است. پس داده‌کاوی ابزاری برای یافتن نظریه‌های هوشمندانه است نه ابزاری به منظور تأیید و اثبات آن‌ها و این داده‌ها و خروجی‌های حاصل از داده‌کاوی ممکن است در هوش‌مصنوعی و یادگیری‌ماشین مورد استفاده قرار گیرند.

یادگیری‌ماشین در نهایت تعیین شیوه یادگیری و تنظیم پارامتر‌هایی به منظور تسریع و بهبود کیفیت یادگیری خواهد بود. یادگیری ماشین به عنوان پایه هوش‌مصنوعی باعث به وجود آمدن آن می‌شود. غیر ممکن است که ماشینی با توانایی‌های هوشمند داشته باشیم که بدون استفاده از یادگیری‌ماشین و تکنینک‌های یادگیری آن به هوشمندی خود رسیده باشد و ماشینی که توانایی یادگیری و بهبود کیفیت عملکرد خود را نداشته ‌باشد نمی‌تواند هوشمند تلقی شود.

ماشین‌ها چگونه یاد می‌گیرند؟

حال با توجه به اطلاعات بالا سعی می‌کنیم که روند عمومی یادگیری ماشین را شرح دهیم.

همانطور که می‌دانیم در یادگیری هم نیاز به تجربه و داده‌ قبلی داریم و هم به یک الگوریتم یادگیری ماشین که مرتبط با خواسته مسأله ما و چیزی که می‌خواهیم با ماشین بیاموزیم باشد. بر اساس تعریف تام میشل، یادگیری ماشین یک عملیات تکرار شونده بهینه‌سازی عملکرد است. پس به یک چرخه استنتاج، ارزیابی و بهبود نیاز خواهیم داشت. علاوه بر این چرخه یادگیری، روند یادگیری ماشین اجزای دیگری همچون ذخیره‌سازی دادها و پیش‌پردازش را نیز دارد که بسیار مهم هستند.

 
نمودار بلوکی روند یادگیری ماشین

نمودار بلوکی روند یادگیری ماشین

کیفیت داده‌های ورودی تأثیر بسیار زیادی بر کیفیت مدل و عملیات یادگیری ماشین دارد و باید زمان بسیار زیادی برای افزایش کیفیت آن صرف کرد. در زمان پیش‌پردازش به عملیاتی همچون حذف داده‌های نامناسب و برچسب‌زنی و تعیین ویژگی‌ها و بررسی نوع و جنس داده‌ها می‌پردازیم. هدف از این عملیات ایجاد داده‌های مناسب با توجه به هدف یادگیری ماشین و دسته الگوریتم مورد استفاده است.

دسته‌بندی روش‌های یادگیری ماشین

 روش‌های یادگیری ماشین را می‌توان به دسته‌های زیر تقسیم کرد:

 
1. یادگیری نظارت شده (Supervised Learning)
2. یادگیری نیمه‌نظارت شده (Semi-Supervised Learning)
3. یادگیری بدون نظارت (Unsupervised Learning)
4. یادگیری تقویتی (Reinforcement Learning)
 
هر یک از این روش‌ها و تکنیک‌ها مزایا و محدودیت‌های خود را دارند و بسته به مسئله و داده‌ها، ممکن است یکی از آن‌ها مناسب‌تر باشد. در ادامه به توضیح هر کدام از آن‌ها می‌پردازیم:

 

شیوه‌های یادگیری ماشین
شیوه‌های یادگیری ماشین

یادگیری نظارت‌شده

در این روش، داده‌های یادگیری دارای یک برچسب از پیش‌تعیین‌شده هستند. هدف الگوریتم یادگیری ‌ماشین توانایی یادگیری حدس درست این برچسب از روی ویژگی‌های داده است. برای مثال فرض کنید می‌خواهیم قیمت یک خانه را بر اساس متراژ و طبقه و تعداد پارکینگ‌ها و محله و … حدس بزنیم. در این مثال، قیمت خانه برچسب آن و متراژ و طبقه و تعداد پارکینگ و ... ویژگی‌های آن است. الگوریتم یادگیری نظارت‌شده باید از روی مجموعه‌‌ای از داده‌های دارای برچسب ارتباط بین برچسب (قیمت خانه) و ویژگی‌های آن را یاد بگیرد و از آن پس بتواند برچسب داده‌های جدید را از روی ویژگی‌های آنها به درستی حدس بزند. از دسته الگوریتم‌های مهم این بخش می‌توان به روش‌های دسته‌بندی، رگرسیون (Regression)، الگوریتم نزدیک‌ترین همسایه (K-Nearest Neighbors) و جنگل تصادفی (Random Forest) اشاره کرد. این شیوه یادگیری بسیار پرکاربرد‌ است و کاربردهای متنوعی را در بر می‌گیرد که از میان آن‌ها می‌توان به تشخیص چهره، تحلیل بازار سهام، بیوانفورماتیک و شناسایی الگو اشاره کرد.

یادگیری نیمه ‌نظارت‌شده یا نظارت ضعیف

در این روش، داده‌های یادگیری ما از هر دو نوع با و بدون برچسب هستند که البته به صورت معمول حجم داده بدون برچسب ما بیشتر از داده با برچسب است. نمونه الگوریتم‌های این دسته شامل مدل‌های سازنده (Generative models)،‌ جداسازی کم‌تراکم و کمینه‌سازی آنتروپی (Entropy minimization) است. این دسته الگوریتم کاربرد‌هایی در زمینه دسته‌بندی متون و شناسایی گفتار و سایر فعالیت‌هایی که حجم داده بزرگی تولید می‌کنند دارد.

یادگیری نظارت ‌نشده

در این روش، داده‌ها بدون برچسب هستند و الگوریتم ما باید بتواند الگو یا خوشه‌های دربرگیرنده داده‌ها را تشخیص دهد. در این حالت ما دقیقاً نمی‌دانیم که به دنبال چه مشخصه یا هدفی هستیم و یا مشخصه مورد نظر ما به صورت عینی در داده‌های ما نیست و نیاز داریم که در ابتدا بتوانیم داده‌ها را به روشی به گروه‌های مجزا تقسیم کنیم و سپس با بررسی این دسته‌ها به مشخصه‌ها و رفع نیاز‌های خود دست پیدا کنیم. به عنوان مثال، شکل زیر یکی از الگوریتم‌های نظارت نشده به نام خوشه‌بندی را نشان می‌دهد. در این مثال، هر کدام از داده‌ها یک نقطه در فضای x-y هستند و بنابراین دو ویژگی x و y دارند. هدف این است که این نقاط در خوشه‌هایی متمرکز (از نظر فاصله به همدیگر) خوشه‌بندی شوند. نتیجه اجرای الگوریتم خوشه‌بندی، یافتن سه خوشه سبزرنگ و نقاط متعلق به هر خوشه است. از نمونه الگوریتم‌های این دسته می‌توان به الگوریتم‌های خوشه‌بندی  مانند k-means, DBSCAN، خوشه‌بندی طبقاتی و الگوریتم‌های شناسایی ناهنجاری و کاهش ابعاد مانند الگوریتم PCA و کاوش ارتباطات و مدل‌های شبکه‌های عصبی Boltzmann  وHopfield  اشاره کرد. از یادگیری نظارت‌نشده در زمینه‌های تشخیص کلاه‌برداری در سازمان‌های بانکی و سامانه‌های پیشنهاد‌دهنده (Recommender systems) مورد استفاده قرار می‌گیرد.

یک مثال از الگوریتم خوشه بندی
یک مثال از الگوریتم خوشه بندی

یادگیری تقویتی

 این دسته الگوریتم نگرش کاملاً متفاوتی با دسته‌های قبلی دارد که بسیار خلاقانه است. در این دسته مفهومی به نام عامل هوشمند تعریف می‌شود. بدین صورت که این عامل هوشمند با توجه به یک دستورالعمل در محیط خود شروع به یک سری کنش‌ها و رفتار‌ها می‌کند و با توجه به بازخورد دریافتی از محیط (پاداش) و محدودیت‌هایی که دارد سعی می‌کند مجموعه دستورالعمل‌های خود را بهبود بخشد. کنش‌ها محدوداند و الگوریتم باید بتواند برای هر حالتی که در آن قرار می‌گیرد بهترین کنش را برگزیند. در‌واقع در این شیوه یادگیری با استفاده از مکانیزم‌های تشویقی و تنبیهی به ماشین آموزش می‌دهیم که در موقعیت‌های مختلف چه رویکردی را پیش بگیرد. به عنوان مثال فرض کنید می‌خواهیم به یک ربات یاد دهیم بتواند راه برود. در روش یادگیری تقویتی ابتدا ربات حرکات تصادفی انجام می‌دهد ولی به مرور زمان با تشویق آن در حالت‌هایی که قدم درست برداشته و با تنبیه آن در حالت‌هایی که حرکت اشتباهی انجام داده (که به افتادن آن منجر شده) ربات یاد می‌گیرد در موقعیت‌های مختلف حرکات درست را انجام دهد. نمونه الگوریتم‌های این دسته شامل الگوریتم‌های Monte Carlo، Q-learning و Deep Q Networks است. یادگیری تقویتی در رباتیک، مدل‌های زبانی و شبیه‌ساز‌های محیط‌های مختلف و آموزش و بهینه‌سازی کاربر‌ها کاربرد دارد.
اجزای شیوه یادگیری تقویتی
اجزای شیوه یادگیری تقویتی

از کاربرد ابررایانه سیمرغ در خدمات یادگیری ماشین و هوش مصنوعی چه می‌دانید؟

ابررایانه سیمرغ به عنوان ارائه‌دهنده خدمات مبتنی بر پردازنده‌های گرافیکی متنوع (A100، 3090 و V100) شما را برای حل مسائل حوزه یادگیری ماشین و هوش مصنوعی همراهی می‌کند. همانطور که ذکر شد تکنیک‌های یادگیری ماشین برای بهبود عملکرد و قابلیت انطباق بر محیط‌های عملیاتی نیاز به پردازش حجم بزرگی از داده‌ها را دارند. این امر با ارتقای قدرت پردازشی تجهیزات پردازشی اعم از کارت‌های گرافیک و پردازنده‌های خاص منظوره به صورت گسترده ممکن شده‌است و ابررایانه سیمرغ با بهره‌گیری از آخرین فناوری‌های روز دنیا، بستر بسیار قدرتمند و مناسبی برای پردازش‌های حوزه هوش مصنوعی و یادگیری ماشین در ابعاد شخصی و شرکتی و سازمانی فراهم کرده است.

ابررایانه سیمرغ انواع سرویس‌ها در سطح‌های پایه تا سازمانی را ارائه می‌دهد. شما می‌توانید با استفاده از سرویس کارت گرافیک مجازی‌ (vGPU) با هزینه مقرون به صرفه به پرقدرت‌ترین کارت گرافیکی موجود دسترسی داشته باشید. حتی می‌توانید از سرویس پلتفرم هوش مصنوعی که یک محیط کاملاً آماده و تست شده در اختیار شما قرار دهد استفاده کنید تا با بیشترین سرعت ممکن به توسعه الگوریتم‌های یادگیری ماشین و هوش مصنوعی بپردازید.
 

جمع‌بندی

در این مقاله به تعریف یادگیری ماشین، خاستگاه آن، شیوه عملکرد و در نهایت انواع روش‌های مورد استفاده آن پرداختیم. 4 حالت کلی و رویکرد یادگیری ماشین را بیان کردیم  و موارد استفاده و تعدادی از مهم‌ترین الگوریتم‌های مورد استفاده آن را ذکر کردیم.

سوالات متداول

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

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

ثبت نظر

نظر دادن