آموزش پذیری انسان ها و سایر موجودات زنده امری طبیعی و اثبات شده است. اما آیا می دانید آموزش و یادگیری در رباتها و رایانهها چگونه است؟ آیا میتوانیم به این موجودات ساختهشده از فلز و پلاستیک و سیلیکون نیز آموزش بدهیم؟ پاسخ مثبت است! با ما تا پایان مقاله همراه باشید تا به بررسی این موضوع بپردازیم.
یادگیری ماشینی یا ماشین لرنینگ شاخهای از هوش مصنوعی است که هدفش ساخت رباتها و طراحی برنامههایی رایانهای است که بتوانند بیاموزند و متناسب با آموختههایشان بدون دخالت انسان عمل کنند. در این مقاله درباره یادگیری ماشینی به زبان ساده، اهمیت آن، کاربردهایش در حوزههای مختلف و پیشنیازهای ضروری برای ورود به این حوزه صحبت میکنیم.
یادگیری ماشینی یا ماشین لرنینگ چیست؟
آرتور ساموئل پیشگام حوزه هوش مصنوعی و بازیهای رایانهای نخستین بار در سال ۱۹۵۹ میلادی این واژه را به کار برد. او یادگیری ماشینی را توانایی رایانه برای آموختن بدون نیاز به برنامهنویسی تعریف کرد.
یادگیری ماشینی فرایندی است که طی آن ربات یا رایانه توانایی آموختن کسب میکند. مانند انسان که با آموزش و تجربه یاد میگیرد، میتوانیم یادگیری را به رباتها هم بیاموزیم. یادگیری ماشینی در واقع شاخهای از هوش مصنوعی است. هدف آن طراحی الگوریتمها و برنامههایی است که به ربات کمک کنند از دادهها یا تجربیات کسبشده بیاموزد.
فرایند ماشین لرنینگ با بررسی دادهها، تجربهکردن یا استفاده از دستورات از پیش دادهشده رخ میدهد و هدفش این است که در آینده، ربات بتواند در موقعیتهای مشابه تصمیمات درست بگیرد و رفتارش مناسب آن موقعیت باشد، مثل ما که به کودک الفبا را یاد میدهیم تا بتواند در آینده کلمه بسازد. ما میخواهیم به رباتها هم الفبایی را بیاموزیم که خودشان با کنار هم گذاشتن حروفش بتوانند جملهای معنادار بسازند. البته این فقط مثالی دمدستی برای درک بهتر مفهوم است وگرنه دردسر آموزش رباتها خیلی بیشتر از دردسر آموزش به کودک انسان است.
برای درک بهتر یادگیری ماشینی به این مثالها توجه کنید:
خودروی خودران گوگل نمونهای از کاربرد یادگیری ماشینی است.
پیشنهادهای خرید آنلاین یا خبرنامههایی که زیر موتور جستوجوی گوگل برای شما به نمایش درمیآیند هم زیر سر ماشینی است که رفتار شما را در فضای مجازی دنبال کرده و تا حدی با سلیقه شما آشنا شده است.
میخواهید بدانید مشتریان درباره شما در فضای مجازی چه میگویند؟ یادگیری ماشینی به شما کمک میکند.
شناسایی تقلبها و کلاهبرداریها هم یکی از کاربردهای ماشین لرنینگ است.
هدف غایی یادگیری ماشینی ساخت ربات یا برنامههای رایانهای است که بتوانند بدون دخالت مستقیم انسان بیاموزند و متناسب با آموختهها در موقعیتهای مختلف ابتکار عمل نشان بدهند.
متخصصان چگونه به رباتها چیزی میآموزند؟
برای اینکه بتوانیم به ماشینها چیزی بیاموزیم، باید از الگوریتمهای یادگیری استفاده کنیم. الگوریتمهای یادگیری ماشینی را به دو دسته اصلی هدایتشده و غیرهدایتشده تقسیم کردهاند.
۱. الگوریتمهای یادگیری ماشینی هدایتشده
در این شیوه، دادهها و مثالهای آموزش دادهشده به ماشین از پیش دستهبندی شدهاند. این دادههای طبقهبندیشده به ربات کمک میکنند در موقعیتهای جدید، نزدیکترین واکنش مناسب را پیشبینی و اجرا کند. در این شیوه، خروجی واقعی با خروجی تعیینشده در الگوریتم مقایسه میشود تا خطاهای رخداده برطرف شوند. رباتهایی که با انسان شطرنج بازی میکنند نمونهای از همین الگوی یادگیری هدایتشده هستند.
۲. الگوریتمهای یادگیری ماشینی غیرهدایتشده
برخلاف شیوه قبلی، خبری از دادههای طبقهبندی شده و جوابهای از پیش مشخصشده نیست. این شیوه از یادگیری ماشینی را میتوان به کودکی تشبیه کرد که در جنگلی رها میشود تا خودش دست به جستوجو و اکتشاف بزند. در این روش، الگوریتم جوابی را بهعنوان پاسخ صحیح مشخص نمیکند و خود ماشین باید دادهها را برای یافتن پاسخها بررسی کند.
دو دسته دیگر نیز وجود دارند که تلفیقی از دو دسته اصلی هستند و در ادامه دربارهشان توضیح دادهایم.
۳. الگوریتمهای یادگیری ماشینی نیمههدایتشده
در این روش که ترکیبی از دو روش قبل است، بخش اندکی از داده آموزشی دستهبندی شده و مابقی دستهبندی نشدهاند. در این حالت، ربات مانند کودکی است که نقشه راه به او داده شده است و خودش باید مسیر را با خواندن نقشه پیدا کند. جالب است که چنین روشی دقت یادگیری را بهخوبی افزایش میدهد.
این شیوه یادگیری زمانی انتخاب میشود که دستهبندی بخشی از دادهها ضروری باشد.
۴. الگوریتمهای یادگیری ماشینی تقویتشده
این شیوه مشابه روش آزمون و خطاست. هرگاه ماشین چیزی یاد میگیرد و متناسب با آن واکنش درست نشان میدهد، جایزه و بازخورد مثبت دریافت میکند. این بازخوردهای مثبت ثبت میشوند به ربات کمک میکنند در آینده نیز از همان واکنشها استفاده کند. در واقع این بازخوردهای مثبت که بسته به عملکرد ماشین طبقهبندی شدهاند، باعث تقویت یادگیری میشوند.
یادگیری ماشینی چه کاربردی دارد؟
آنچه باعث شده یادگیری ماشینی در دنیای امروز اهمیت زیادی پیدا کند، تولید و انبارکردن گسترده داده است. هرچه دادههایی که تولید میکنیم بیشتر و بیشتر شوند، نیاز ما به ماشینها برای استخراج، تحلیل و دستهبندی آنها نیز بیشتر میشود.
ماشینهای یادگیرنده امکان بهرهبرداری سریعتر و ارزانتر را به ما میدهند. این ماشینها به کسبوکارها و شرکتها امکان میدهند در معدن دادهها دنبال چیزی بگردند که سودمند است یا از خطرهای ناشناخته پرهیز کنند.
علاوه بر این، یادگیری ماشین با تقلید از رفتار انسان به ما امکان میدهد که بسیاری از کارهای معمول و تکرارشونده را به ماشینها بسپاریم. تشخیص چهره، حدسزدن و ارائه کلمات پیشنهادی هنگام تایپکردن و ویرایش متنها تنها گوشهای از کاربردهای آشنای یادگیری ماشین در زندگی روزمره ما هستند.
چه کسانی از یادگیری ماشینی استفاده میکنند؟
اغلب سازمانهایی که با انبوهی از دادهها سر و کار دارند از این ماشینها بهره میبرند. در ادامه چند نمونه را ذکر کردهایم.
۱. خدمات مالی
بانک و سایر مؤسسات مالی از یادگیری ماشینی برای دستیابی به دو هدف اصلی استفاده میکنند:
شناسایی دادههای مهم از بین انبوه دادهها، مثلا شناسایی فرصتهای سرمایهگذاری یا تشخیص کلاهبرداران؛
شناسایی مشتریان پرریسک یا بدحساب.
۲. نهادهای دولتی
دولتها نیز همواره با انبوهی از دادهها روبهرو هستند. مثلا دوربینهای امنیتی که همهروزه میلیونها تردد را ثبت و ضبط میکنند. دولت علاوه بر استفادههای امنیتی از ماشین لرنینگ، بهرهوری نهادهای خدمترسان خود را نیز ارتقا میدهد. همچنین ماشین لرنینگ بسیاری از کارهای روزمره را بهجای انسان انجام میدهد. این امر باعث صرفهجویی در هزینهها میشود.
۳. بخش بهداشت و درمان
استفاده از تواناییهای ماشین برای جمعآوری و پایش علائم بیماران یکی از کاربردهای مهم یادگیری ماشینی در این حوزه است. ماشین لرنینگ روند تشخیص بیماری را هم سریعتر میکند.
۴. خدمات فروشگاهی
وبسایتهایی که بر اساس جستوجوهای قبلی به شما پیشنهاد خرید میدهند از فناروی یادگیری ماشینی استفاده میکنند. گردانندگان این فروشگاهها سوابق بازدیدها و خریدهای شما را جمع میکنند و این دادهها بعدا به کار میروند تا هم زنجیره تأمین کالا را بهبود ببخشند و هم با شناخت بهتر مشتریان، پویشهای تبلیغاتی مؤثرتر شوند.
۵. صنعت نفت و گاز
صنایع نفت و گاز از یادگیری ماشینی برای شناسایی معادن جدید، پیشبینی خرابی حسگرها و توزیع دقیقتر منابع نفتی در شکبه انتقال نفت و گاز استفاده میکنند. کاربرد ماشین لرنینگ در این حوزه در حال گسترش است.
۶. حملونقل
تحلیل دادههای مربوط به حملونقل برای شرکتهای باربری و نهادهای حملونقل عمومی ضروری است. شناسایی و پیشبینی الگوی ترافیک در روزهای مختلف سال برای انتخاب بهترین و سریعترین روش انتقال، از کاربردهای این فناوری است.
تفاوت یادگیری ماشینی با دادهکاوی و یادگیری عمیق چیست؟
هر سه این روشها یک هدف (کسب دانش و استخراج الگوها و فهم روابط بین دادهها برای تصمیمگیری بهتر) را دنبال میکنند، اما رهیافت هرکدام از آنها برای رسیدن به این هدف با دیگری متفاوت است.
برای درک بهتر این تفاوت بهتر است دادهکاوی و یادگیری عمیق را کمی بررسی کنیم.
۱. دادهکاوی
دادهکاوی (Data Mining) را میتوان زیربنای اولیه همه روشهای دیگر پردازش داده نامید. در این شیوه، از روشهای قدیمی و سنتی آماری برای تحلیل و پردازش دادهها استفاده میکنیم. دادهکاوی هم به دست انسان و هم توسط ماشین صورت میگیرد.
۲. یادگیری عمیق
یادگیری عمیق (Deep Learning) با ترکیب یادگیری ماشینی به مثابه یک شبکه عصبی و تکنیکهای دادهکاوی، دنبال شناخت الگوهای پنهان و عمیق بین دادههاست. این شیوه امروزه برای شناسایی اشیا در یک تصویر یا کلمات در صدا به کار میرود. محققان این حوزه اکنون در پی استفاده از یادگیری عمیق برای شناسایی بسیار زودهنگام بیماریها، ترجمه خودکار زبانها بدون استفاده از مترجم انسانی و شماری از مهمترین و سختترین مشکلات شغلی و اجتماعی هستند.
حال میتوان دریافت که یادگیری ماشینی چه تفاوتی با این دو مورد دارد. در یادگیری ماشینی، ما دنبال خودکارسازی فرایند دادهکاوی هستیم. میخواهیم به ماشین یاد بدهیم که خودش بدون دخالت انسان یا دستکم با حداقل دخالت بتواند دست به پردازش و تحلیل دادهها بزند و بیاموزد.
برای ورود به حوزه یادگیری ماشینی به چه دانشی نیاز داریم؟
اگر به این حوزه علاقه دارید و دلتان میخواهد در این زمینه کار کنید، باید دانش و مهارتهایی را کسب کنید. مهمترین این مهارتها یادگیری یک زبان برنامهنویسی (ترجیحا زبان پایتون) است. علاوه بر این مهارت، باید دانش ریاضی قابلقبولی هم داشته باشید. سه حوزه ریاضی که باید در آنها دانش کسب کنید عبارتاند از:
جبر خطی برای تجزیهوتحلیل دادهها، آشنایی با ماتریسها و مفهوم تانسور؛
مشتق و گرادیان، آمار و احتمال؛
حساب دیفرانسیل و انتگرال برای شناخت بهتر الگوریتمها.