ماشین لرنینگ یا یادگیری ماشین چیست؟
ماشین لرنینگ یا یادگیری ماشین از مفاهیم و تکنولوژی های و از زمینه های هوش مصنوعی به شمار می رود. به زبان ساده یادگیری ماشین علمیست که به ماشین ها یاد می دهد چطور چیزهای جدید یاد بگیرند. در چند سال اخیر، مفهوم ماشین لرنینگ یا یادگیری ماشین به موضوع داغی تبدیل شده است. در واقع سابقه مفهوم یادگیری ماشین (Machine Learning) به چند دهه میرسد. طراحی سیستمهای یادگیری ماشین که امروزه به کار میروند مبتنی بر مدل مغزی دونالد هب (Donald Hebb) در کتاب «سازماندهی رفتار» سال 1949 است.
یادگیری ماشین الگو سازی هوش بشری توسط سیستم هوش مصنوعی است. هنگامی که سلولهای مغزی با الگویی تکراری فعال میشوند؛ سیناپسهای جدید شکل گرفته یا سیناپسهای موجود بزرگتر میشوند. اصل مشابهی در شبکه عصبی دیجیتال برقرار است. گرههای عصبی در صورتیکه به صورت همزمان فعال شوند، قویتر میشوند و اگر به طور جداگانه فعال شوند، تضعیف میشوند. یادگیری تقویتی یکی از انواع یادگیری ماشین و مبتنی بر مفهوم مذکور است. تیم کارلنسر در این مقاله به بررسی مفهوم یادگیری ماشین و مزایا و معایب آن میپردازد.
تاریخچه یادگیری ماشین
یادگیری ماشین در قالب مطالعه الگوریتمهای کامپیوتری تعریف میشود که به طور خودکار از طریق تجربه تقویت میشود. این تعریف از جانب تام میشل ارائه شده است. آرتور ساموئل به عنوان برنامه نویس IBM و فردی پیشگام در حوزه هوش مصنوعی در سال 1952 عبارت یادگیری ماشین را ابداع کرد. ساموئل مشغول نگارش برنامه بررسی بازی کردن بود و به نتیجه بهتری رسید. او از تکنیک Alpha-Beta pruning استفاده کرد تا برد را بر اساس موضع قطعات و شانس پیروزی نمره گذاری کند. این مدل به صورت الگوریتم Minimax تکامل پیدا کرد.
در طول چند دهه بعد، پیشگامان این حوزه از مدلهای هب و ساموئل استفاده کردند و در زمینههای مختلفی از آن استفاده کردند. برای مثال فرانک روزبنلات در سال 1957، پرسپترون Mark1 را ساخت که یکی از اولین ماشینهای تشخیص تصویر و یکی از موفقترین کامپیوترهای عصبی (Neuro-Computer) بود.
مارسلو پلیلو یک دهه بعد در سال 1967 « قاعده نزدیکترین همسایگی» (nearest neighbor rule) را برای تشخیص الگو مطرح کرد. قاعده نزدیکترین همسایگی، پدر بزرگ اپلیکیشن های نقشه نگار GPS امروزی محسوب میشود. سایر افراد هم از این قاعده برای تولید شبکههای عصبی پرسپترون چند لایه در دهه 1960 و Backpropagation در دهه 1970 استفاده کردند که از جانب پژوهشگران برای آموزش شبکههای عصبی دقیق به کار میرفت. تمامی این کارها مبنای پژوهشهای بیشتر را فراهم کردند.
بسیاری از اپلیکیشنها مثل تشخیص صدا و چهره، تحلیل داده، پردازش زبان و هشدارهای فیشینگ روی ایمیل مبتنی بر این نوآوری هستند. امروزه شاهد اتوماسیون در هر بخشی از اقتصاد هستیم که نشان دهنده به کارگیری یادگیری ماشین است. این قابلیت همواره در پشت صحنه مشغول فعالیت است.
یادگیری ماشین چیست؟
به لحاظ علمی تعریف واحدی از ماشین لرنینگ یا یادگیری ماشین وجود ندارد. یادگیری ماشین مفهومی گسترده است و به راحتی در چند جمله خلاصه نمیشود؛ ولی برخی از افراد این کار را انجام دادهاند.پیاده سازی ماشین لرنینگ در حیطه انجام پروژه برنامه نویسی طبقه بندی میشود. در ادامه به برخی از این تعاریف اشاره میکنیم.
طبق تعریف MIT: «الگوریتمهای یادگیری ماشین از آمار و ارقام برای یافتن الگوهای درون حجم زیاد دادهها شامل اعداد، کلمات، تصاویر، کلیکها و غیره بهره میبرند. اگر بتوان این دادهها را به صورت دیجیتالی ذخیره کرد؛ میتوان آنرا در قالب الگوریتم یادگیری ماشین درآورد».
طبق تعریف دانشکده استنفورد: « یادگیری ماشین علم به کارگیری کامپیوتر بدون برنامه ریزی کردن آن است. به اعتقاد کارنگی ملون: «ریشه یادگیری ماشین به دنبال پاسخ این پرسش است که چگونه میتوانیم سیستمهای کامپیوتری بسازیم تا برحسب تجربه تقویت شوند و قواعد زیربنایی حاکم بر تمامی فرایندهای یادگیری کدامند؟» میتوان از تمامی این تعریفها به تعریف زیر رسید:
«ماشین لرنینگ یا یادگیری ماشین، شامل آموزش کامپیوتر با کمک تعداد زیادی از نمونهها است؛ تا به طور خودکار براساس مقدار محدودی از دادههای وارده به اتخاذ تصمیمهای منطقی پرداخته و با به کارگیری این فرایند، آن را تقویت کند».
سفارش یا انجام پروژه های برنامه نویسی
مفاهیم مختلف در حوزه ماشین لرنینگ
عبارات زیادی از جمله هوش مصنوعی و یادگیری عمیق هم حول یادگیری ماشین مطرح میشوند. این مفاهیم یکسان نیستند؛ ولی در ارتباط با هم قرار دارند. برای شناخت این فناوریها در وهله اول باید به طور دقیق با یادگیری ماشین آشنا شویم.
هوش مصنوعی، یادگیری ماشین و یادگیری عمیق سه طبقه از علم کامپیوتر هستند که در درون یکدیگر جای میگیرند. در واقع یادگیری ماشین، زیر مجموعه هوش مصنوعی و یادگیری عمیق هم زیر مجموعه یادگیری ماشین است.
به طور کلی هوش مصنوعی مجموعهای از دستورالعملها است که نحوه اقدام و رفتار مشابه انسان را به کامپیوتر آموزش میدهد. نحوه عملکرد کامپیوتر رمزگردانی میشود. برای مثال «اگر این اتفاق افتاد، آن کار را انجام بده». طبق یک قاعده سرانگشتی اگر هوش مصنوعی بگوید که چه تصمیمی باید اتخاذ شود، این برنامه در خارج از حوزه هوش مصنوعی قرار میگیرد.
مطلب پیشنهادی: آیا هوش مصنوعی یک تهدید برای بشر است؟
یادگیری ماشین به عنوان زیر مجموعه هوش مصنوعی به طور خودکار قادر به اقدام است. الگوریتم یادگیری ماشین برخلاف هوش مصنوعی نحوه تفسیر اطلاعات را بیان نمیکند. سادهترین شبکههای عصبی مصنوعی (ANN) شامل یک لایه واحد از الگوریتمهای یادگیری ماشین هستند.
یادگیری ماشین مثل یک کودک باید با کمک پایگاه دادههای طبقه بندی شده یا درونداد (input)، آموزش ببیند. به عبارت دیگر، علاوه بر معرفی داده، باید محتوای آن هم بیان شود. برای مثال این تصویر سگ یا گربه است. شبکههای عصبی مصنوعی با کمک این اطلاعات بدون داشتن دستورالعملهای مشخص به نتایج و برونداد میرسند.
یادگیری عمیق، زیر مجموعه هوش مصنوعی و یادگیری ماشین است. این سازهها از سه لایه الگوریتمهای یادگیری ماشین تشکیل میشوند. پس به آنها «شبکههای عصبی عمیق» (DNN) گفته میشود. درونداد (Input) از این لایهها عبور کرده و مشخصات یا تگهایی به هر کدامشان اضافه میشود. پس یادگیری عمیق، برای رسیدن به تفسیر داده، نیازی به دادههای از قبل طبقه بندی شده ندارد.
یادگیری در شبکههای عصبی چگونه است؟
از یادگیری ماشین تک لایه گرفته تا شبکههای عصبی عمیق، همگی نیازمند آموزش هستند. برخی از برنامههای یادگیری ماشین که تحت عنوان یادگیرندگان (Learners) شناخته میشوند؛ با مجموعه نسبتاً کوچکی از اطلاعات قابل آموزش هستند. ولی اغلب آنها برای عملکرد دقیق به حجم بالای داده نیاز دارند.
سیستم ماشین لرنینگ یا یادگیری ماشین علاوه بر دادههای اولیه نیازمند آموزش است. هر چقدر مثالهای بیشتری در اختیارش قرار دهید به عملکرد بهتری میرسید. به طور کلی، یادگیرندگان عمیق در مقایسه با یادگیری ماشین تک لایه به درونداد بیشتری نیاز دارند. چون نحوه طبقه بندی داده در اختیارشان قرار نمیگیرد. به کارگیری میلیونها یا صدها مثال برای آموزش سیستمها چندان متداول نیست.
به کارگیری حجم زیاد دادهها وابسته به نوع یادگیری به کار رفته است. در حال حاضر سه مدل یادگیری اصلی وجود دارد. این مدلها شامل یادگیری نظارت شده، نظارت نشده و تقویتی هستند. به کارگیری آنها هم برحسب نیازهای موجود صورت میگیرد.
یادگیری نظارت شده (Supervised Learning)
یادگیری نظارت شده عملکردی مشابه نامش ندارد. در اینجا اپراتورها روی یادگیرنده نظارت نمیکنند تا عملکردها و خطاهایش را بررسی کنند. یادگیری نظارت شده یعنی داده و درونداد باید برچسب گذاری یا طبقه بندی شود تا الگوریتمها کارشان را به درستی انجام دهند. این سیستم برای تعیین کارش باید به درستی با دادههای درونداد آشنا شود.
یادگیری نظارت شده یکی از متداولترین روشهای آموزش یادگیری ماشین است. در اپلیکیشن های متعددی به کار میرود. برای مثال خدمات زیادی از جمله شبکه پلی استیشن، نتفلیکس، اسپاتیفای و غیره از این نوع یادگیری برای تولید فهرستهای مبتنی بر اولویتهای کاربر، بهره میبرند. هرگاه که کاربر، بازی میخرد، فیلم تماشا میکند یا آهنگی را پخش میکند؛ الگوریتمهای یادگیری ماشین آن را ثبت کرده و به تحلیل دادهها و تگهای آن میپردازند و در نهایت محتوای مشابه را جستجو میکنند. هر چقدر بیشتر از این سرویس استفاده شود؛ سیستم هم بهتر یاد گرفته و علایق کاربر را بهتر پیش بینی میکند.
یادگیری نظارت نشده (Unsupervised Learning)
یادگیری نظارت نشده، نیازی به برچسب گذاری ندارد. یادگیرنده در اینجا به دنبال الگوها است و طبقه بندیهای خودش را میسازد. برای مثال اگر تصویری از یک سگ به او بدهید قادر به طبقه بندی نیست، چون هیچ دادهای ندارد که به او بگوید این تصویر سگ است. در عوض به اشکال یا رنگهای مشابه نگاه کرده و یک طبقه بندی اولیه میسازد. هنگامی که دادههای بیشتری به او بدهید، پروفایل مربوط به سگها را اصلاح کرده و تگهای جانبی برای تشخیص تصویر سگها از سایر اشیا و حیوانات را میسازد.
سیستمهای ماشین لرنینگ یا یادگیری ماشین تک لایه، در به کارگیری درونداد بدون برچسب چندان کارآمد نیستند. چون برای معنا دادن به اطلاعات ورودی به شبکههای عصبی عمیق نیاز دارند و شبکههای چند لایه برای این نوع دادهها مناسب هستند. چون هر لایه قبل از رسیدن داده به لایه بعدی، عملیات خاصی را روی درونداد انجام میدهد. از آنجا که شبکههای عصبی مصنوعی متداولتر از شبکههای عصبی عمیق هستند؛ پس یادگیری نظارت نشده به عنوان نوع نادری از آموزش محسوب میشود.
با این حال انواع شناخته شدهای از سیستمهای یادگیری ماشین از یادگیری نظات نشده استفاده میکنند. برای مثال Google Lens از این روش یادگیری برای شناسایی اشیاء از تصاویر ثابت و متحرک استفاده میکند. الگوریتمهای مورد استفاده در شرکت امنیت سایبری Darktrace برای شناسایی حفرات امنیتی داخلی، یکی از انواع این آموزشها هستند. سیستم یادگیری ماشین در این شرکت از یادگیری نظارت نشده استفاده میکند که مشابه سیستم ایمنی بدن انسان است.
یادگیری تقویتی
روش آموزش سوم هم با دادههای بدون برچسب سر و کار دارد. یادگیری تقویتی هم تنها در یادگیرندگان عمیق به کار میرود. سیستمهای نظارت نشده و تقویتی با مدیریت دادهها بر اساس اهداف از پیش تعیین شده سر و کار دارند. نحوه دستیابی به این اهداف، تفاوت میان الگوریتمها را مشخص میکند.
الگوریتمها از روشهای مختلفی برای رسیدن به اهدافشان استفاده میکنند و براساس اثربخش بودن یا نبودن رویکردشان در دستیابی به نتایج نهایی، پاداش گرفته یا دچار خطا میشوند. آموزش تقویتی برای به کارگیری هوش مصنوعی در مورد نحوه بازی کردن و پیروزی در بازیهایی مثل Go ، Chess، Dota2 یا Pac-Man مناسب است.
این سیستم آموزش، مشابه بازی سرد و گرم با کودکان است. از کودک میخواهید تا توپ را پیدا کند. در حین جستجوی کودک اگر به توپ نزدیک شود، با کلمه گرمتر و اگر از آن دورتر شود با کلمه سردتر او را تشویق یا تنبیه میکنید. کودک در یادگیری نظارت نشده با کمک نقشه یا مسیرهای از پیش تعیین شده به دنبال توپ میرود. کودک در هر دو مورد خودش باید توپ را مجسم کند.
یادگیری تقویتی جدیدترین نوع آموزش سیستمهای یادگیری ماشین است و در سالهای اخیر، پژوهش روی آن افزایش یافته است. در حال حاضر یادگیرندگان عمیق مثل Alpha Go گوگل و ربات Dota2 از یادگیری تقویتی استفاده میکنند.
مزایا و معایب یادگیری ماشین
در حوزه فناوری یادگیری باید به مزایا و معایب این فناوری توجه کنیم. شناخت مزایا و معایب یادگیری ماشین، کمک زیادی به شما میکند. یادگیری ماشین، مزایای زیادی دارد. این نوع یادگیری باعث مدرن سازی فناوری میشود. معایب یادگیری ماشین، محدودیتها و عوارض جانبی آن را گوشزد میکند. با این اطلاعات به روشهای خلاقانهای برای کاهش مشکلات میرسیم.
مزایای یادگیری ماشین
ماشین لرنینگ یا یادگیری ماشین مزایای زیادی دارد. به چند مورد از مزایای مهم آن اشاره میکنیم. این مزایا، نحوه به کارگیری یادگیری ماشین به نفع خودمان را نشان میدهد.
1.اتوماسیون
یادگیری ماشین باعث صرفه جویی در انرژی و زمان میشود. با اتوماسیون هر چیزی به الگوریتم اجزا میدهیم تا برایمان کار کند. در حال حاضر اتوماسیون در همه جا حضور دارد. با کمک یادگیری ماشین قادر به طراحی کامپیوترهای بسیار پیشرفته هستیم. این کامپیوترها، مدلهای یادگیری ماشین و الگوریتمها را به طور کارآمد اجرا میکنند. بنابراین اتوماسیون به سرعت توسعه یافته و به طور کامل مبتنی بر آن زندگی میکنم. یادگیری ماشین با به کارگیری در قالب اتوماسیون باعث تحول صنعت شده است.
2.کاربردهای گسترده
یادگیری ماشین در طیف وسیعی از صنایع به کار میرود. این مفهوم در پزشکی، کسب و کار، بانکداری تا علم و فناوری کاربرد دارد. یادگیری ماشین در مراودات با مشتری، تشخیص بیماریها و ارتقای کسب و کارها نقش دارد.
3.قابلیت توسعه
فناوری یادگیری ماشین در حال توسعه است. در آینده یادگیری ماشین به فناوری برتر تبدیل خواهد شد. از این رو پژوهشهای زیادی در این حوزه صورت میگیرد. این فناوری برای توسعه سخت افزاری و نرم افزاری به ما کمک میکند. لب تاپها و GPU های زیادی در حوزه سخت افزاری وجود دارند که از شبکههای یادگیری عمیق و یادگیری ماشین در درونشان استفاده شده است. این قابلیتها سرعت پردازش این سیستمهای سخت افزاری را سریعتر میکند. از رابطهای کاربری و لایبرری ها هم در حوزه نرم افزاری استفاده میکنیم. یادگیری ماشین به طراحی الگوریتمهای کارآمدتر در این حوزه کمک میکند.
4.به کارگیری کارآمد دادهها
یکی از مزایای یادگیری ماشین، کار با داده است. این مفهوم قابلیت کار با هر نوع دادهای را دارد. یادگیری ماشین روی انواع داده از جمله دادههای چند بعدی قابل اجرا است. یادگیری ماشین قادر به پردازش و تحلیل دادههایی است که سیستم های عادی قادر به انجامش نیستند. داده مهمترین بخش هر مدل یادگیری است. مطالعه و کار با داده هم حوزه مطالعاتی جداگانه محسوب میشود.
5.آموزش و خرید آنلاین
ماشین لرنینگ یا یادگیری ماشین بهترین ابزار آموزش در آینده است چون روشهای خلاقانهای را برای کمک به یادگیری دانش آموزان ارائه میکند. اخیراً مدارس چینی از این فناوری برای بهبود تمرکز دانش آموزان استفاده کردهاند. مدل یادگیری ماشین در حوزه خرید آنلاین به بررسی جستجوهای شما میپردازد. طبق سابقه جستجوهایتان، تبلیغات در معرض دید شما قرار میگیرد. در واقع سابقه جستجو در حکم داده ای برای مدل یادگیری ماشین عمل میکند. با این روش به خوبی میتوان تجارت الکترونیک را با یادگیری ماشین تقویت کرد.
معایب یادگیری ماشین
1.احتمال خطای بالا
در ماشین لرنینگ یا یادگیری ماشین میتوان الگوریتمها را براساس نتایج دقیق انتخاب کرد. از این رو باید نتایج هر الگوریتم را بررسی کنیم. بروز خطا در حوزه آموزش و آزمودن داده، مشکلی جدی است. داده حجم زیادی دارد پس گاهی اوقات حذف خطاها تقریباً غیر ممکن میشود. این خطاها کلافه کننده هستند؛ چون حجم دادهها زیاد است، حل و فصل آنها هم زمان زیادی میبرد.
2.گزینش الگوریتم
هنوز هم گزینش الگوریتم در یادگیری ماشین، فرایندی دستی است. ما باید دادهها را با تمامی الگوریتمها اجرا کرده و آنها را تست کنیم. بعد از این کار میتوانیم در مورد الگوریتم مناسب، تصمیم گیری کنیم. الگوریتمها را برحسب دقت نتایج انتخاب میکنیم. این فرایند بسیار وقت گیر است.
3.کسب داده
در یادگیری ماشین به طور دائم روی داده کار میکنیم. از مقدار زیاد داده برای آموزش و آزمودن استفاده میکنیم. این فرایند گاهی اوقات با بی ثباتی در دادهها همراه میشود. از این رو برخی از دادهها را باید به طور مداوم به روزرسانی کرد. پس باید منتظر دادههای جدید بمانید. در غیر اینصورت به نتایج متفاوتی از دادههای قدیمی و جدید میرسیم که نشانه خوبی نیست.
4.زمان و فضا
بسیاری از الگوریتمهای ماشین لرنینگ یا یادگیری ماشین بیشتر از حد انتظارتان وقت میبرند. حتی اگر از بهترین الگوریتم استفاده کنید باز هم از وقت گیر بودنش شگفت زده میشوید. از این رو کامپیوترتان به مصرف انرژی بیشتری نیاز دارد. این فرایند حتی با به کارگیری GPU ها هم گاهی اوقات طاقت فرسا میشود. همچنین دادهها هم به فضایی بیشتر از فضای اختصاص یافته نیاز پیدا میکنند. در نرم افزارهای مختلفی مانند متمتیکا برای یادگیری ماشینی استفاده میشود. برای سفارش پروژه خود در زمینه یادگیری ماشینی مانند سفارش پروژه متمتیکا میتوانید پروژه خود را در کارلنسر ثبت کنید.
در نهایت . . .
با اینکه ماشین لرنینگ یا یادگیری ماشین در حدود چند دهه عمر دارد ولی تنها در سالهای اخیر در حوزه فناوری به طور عملی به کار گرفته شده است. به طور مکرر از ابزارها و دستگاههای متبنی بر الگوریتمهای یادگیری ماشین استفاده میکنیم. در گوشیهای هوشمند به همراه اپلیکیشن های مختلف و یا حتی در بستر دارک وب نیز از ماشین لرنینگ برای استفادههای گوناگون مانند تحلیل و آنالیز دادهها استفاده میشود.
یادگیری ماشین جای رشد زیادی دارد. در دهههای پیش رو هم شاهد اپلیکیشن های کاربردی در بازارهای مصرف کننده و شرکتی خواهیم بود. طبق گزارش فوربس، 82 درصد از پیشگامان بازاریابی در حال حاضر از یادگیری ماشین برای پیشرفت کسب و کارشان استفاده میکنند. مایکروسافت و گوگل هم اخیراً برنامههایی را برای پیشرفت در حوزه یادگیری ماشین معرفی نمودهاند و در آینده نزدیک هم شاهد پیشرفتهای بیشتری خواهیم بود.
سفارش یا انجام پروژه های برنامه نویسی
منابع
https://www.techspot.com/article/2048-machine-learning-explained/
https://techvidvan.com/tutorials/advantages-and-disadvantages-of-machine-learning/
دیدگاه شما