یادگیری ماشین یا Machine Learning این امکان را برای رایانهها فراهم میکند تا از عهده کارهایی برآیند که تاکنون فقط توسط انسانها انجام میشده است. از رانندگی با اتومبیل گرفته تا ترجمه گفتار، در حقیقت باعث انفجار در تواناییهای هوش مصنوعی شد، یعنی به نرم افزارها کمک کرد تا دنیای واقعی که نامرتب و غیرقابل پیش بینی است را درک کنند.
اما موضوع پست امروز ما این است که اصلاً یادگیری ماشین چیست و چه چیزی باعث رونق فعلی آن میشود؟
یادگیری ماشین چیست؟
در سطح بسیار بالایی، یادگیری ماشینی فرآیندی است که به رایانهها آموزش میدهد چگونه هنگام تغذیه از داده ها، پیشبینیهای دقیقی انجام دهند.
این پیشبینیها میتواند مانند موارد زیر باشد:
آیا این قطعه میوه در عکس موز است یا یک سیب، ردیابی افرادی که با راننده شخصی در جادهای عبور میکنند، آیا استفاده از کلمه «Book» در یک جمله به یک کتاب واقعی مربوط میشود یا یک رزرو هتل، آیا این ایمیل اسپم است یا خیر و تشخیص دقیق گفتار برای تولید زیرنویس برای یک ویدئو در YouTube.
تفاوت کلیدی یادگیری ماشین با نرم افزارهای رایانهای سنتی این است که در این روش یک توسعه دهنده انسانی کدی را ننوشته که به سیستم دستور دهد چگونه تفاوت بین موز و سیب را تشخیص دهد.
در عوض در این مدل یک فرآیندی آموزشی انجام شده که میتواند به نرم افزار یاد دهد چگونه با استفاده از داده های وارد شده یک تخشخیص مطمئن بدهد!
تفاوت بین یادگیری ماشین هوش مصنوعی چیست؟
یادگیری ماشینی ممکن است از موفقیت چشمگیری برخوردار باشد، اما این تنها یک زیر مجموعهای از هوش مصنوعی است.
در بدو تولد حوزه هوش مصنوعی در دهه 1950، هوش مصنوعی این گونه تعریف شد که هر دستگاهی که قادر به انجام وظیفهای باشد که قبلاً برای انجام آن به هوش انسان نیاز داشته، شاخهای مرتبط با هوش مصنوعی است!
سیستمهای هوش مصنوعی یا AI به طور کلی حداقل برخی از صفات زیر را شامل میشوند و میتوانند آنها را از خود نشان دهند: برنامه ریزی، یادگیری، استدلال، حل مسئله، نمایش دانش، درک، حرکت و دستکاری و تا حدی هوش اجتماعی و خلاقیت.
در کنار یادگیری ماشینی ، رویکردهای مختلف دیگری نیز برای ساخت سیستمهای هوش مصنوعی مورد استفاده قرار میگیرد؛ از جمله محاسبات تکاملی، جایی که الگوریتمها تحت “جهش” تصادفی و ترکیبی از نسلهای مختلف در تلاش برای “تکامل” راه حلهای بهینه و خلق سیستمهای خبره هستند، جایی که رایانه ها با قوانینی برنامه ریزی میشوند که اجازه داده میشود در یک حوزه خاص از رفتارهای انسانی متخصص در آن حوزه تقلید کنند و مانند او رفتار کنند، مانند یک خلبان اتوماتیک در یک هواپیما!
انواع اصلی یادگیری ماشین کدامند؟
یادگیری ماشینی به طور کلی به دو دسته اصلی تقسیم میشود: یادگیری تحت نظارت و یادگیری بدون نظارت.
یادگیری تحت نظارت چیست؟
این رویکرد اساساً ماشین ها را با داده های تگ گذاری شده آموزش میدهد.
در حین آموزش برای یادگیری تحت نظارت، سیستمها در معرض مقادیر زیادی از داده های دارای برچسب قرار میگیرند، به عنوان مثال تصاویر ارقام دست نویس حاوی حاشیه که نشان میدهد این ارقام مربوط به کدام تصویر است. با توجه به مثالهای کافی، یک سیستم یادگیری ماشین نظارت میکند تا نرم افزار خوشههای پیکسل و اشکالات مرتبط با هر عدد را تشخیص بدهد و در نهایت هم بتواند اعداد دست نویس را تشخیص دهد، به طوری که مثلاً بین اعداد 9 و 4 یا 6 و 8 به طور قابل اعتمادی تفاوت قائل شود.
با این حال، آموزش این سیستمها معمولاً به داده های بزرگ تگ گذاری شده نیاز دارد، برخی از سیستمها برای تسلط بر یک کار نیاز دارند تا در معرض میلیونها مثال قرار بگیرند.
در نتیجه، پایگاه داده های مورد استفاده برای آموزش این سیستمها میتواند بسیار گسترده باشد، با مجموعه تصاویر گوگل ( Google’s Open Images Dataset) که حدود نه میلیون تصویر دارد، مخزن ویدئوی گوگل (YouTube-8M) که به حدود هفت میلیون فیلم دارای برچسب لینک میشود و ImageNet ، یکی از پایگاه های اطلاعاتی اولیه از این نوع که بیشتر از 14 میلیون تصویر طبقه بندی شده دارد، پیوند داده میشود. اندازه مجموعه داده های آموزشی همچنان در حال رشد است، به تازگی فیس بوک اعلام کرده است که 3.5 میلیارد تصویر را در دسترس عموم در اینستاگرام قرار داده و از هشتگهای ضمیمه شده به هر تصویر به عنوان برچسب استفاده کرده است. جالب است بدانید که استفاده از یک میلیارد از این عکسها برای آموزش سیستم شناسایی تصویر، دارای دقت ثبت شده 85.4 درصد در معیار ImageNet بود.
فرآیند پرزحمت برچسب گذاری مجموعه داده های مورد استفاده در آموزش ماشین اغلب با استفاده از خدمات کار جمعی مانند Amazon Mechanical Turk انجام میشود که دسترسی به میزان گستردهای نیروی کار کم هزینه را در سراسر جهان فراهم میکند. به عنوان مثال، ImageNet بیش از دو سال نزدیک به 50،000 را نفر جمع آوری کرد که عمدتاً از طریق Amazon Mechanical Turk استخدام میشدند. با این حال، رویکرد فیس بوک این است که از داده های موجودی که در دسترس عموم است، برای آموزش سیستم ها استفاده کنیم و این کار میتواند روشی جایگزین برای آموزش سیستم ها با استفاده از مجموعه داده های میلیاردی و بدون برچسب گذاری دستی باشد.
یادگیری بدون نظارت چیست؟
در مقابل، الگوریتم های یادگیری ماشین بدون نظارت با شناسایی الگوهای موجود در داده ها، تلاش میکنند شباهتهایی را بین این داده های دریابند که منجر به تقسیم بندی آنها در یک کتگوری میشود.
به عنوان مثال میتوان به Google News اشاره کرد که هر روز داستانهایی با موضوعات مشابه در کنار هم جمع میکند.
این الگوریتم برای جدا کردن انواع خاصی از داده ها طراحی نشده است، بلکه به سادگی به دنبال داده هایی است که میتوانند براساس شباهتها یا ناهنجاریهای برجستهای که دارند گروه بندی شوند.
یادگیری نیمه نظارت شده چیست؟
به دلیل افزایش یادگیری نیمه نظارت شده، اهمیت مجموعه عظیمی از داده های دارای برچسب برای آموزش سیستم های یادگیری ماشین ممکن است با گذشت زمان کاهش یابد.
همانطور که از نامش پیداست، این رویکرد، یادگیری نظارت شده و بدون نظارت را درهم میآمیزد. این تکنیک به استفاده از مقدار کمی داده تگ گذاری شده و مقدار زیادی داده بدون تگ برای آموزش سیستم ها متکی است. داده های دارای برچسب برای آموزش نسبی یک مدل یادگیری ماشین استفاده میشود و سپس از آن مدل نیمه آموزش دیده برای برچسب گذاری داده های بدون برچسب استفاده میشود، روندی که به آن شبه برچسب گذاری میگویند. سپس این مدل برای ترکیب داده های تگ گذاری شده و شبه تگ گذاری شده، آموزش داده میشود.
ضرورت یادگیری نیمه نظارت شده اخیراً توسط شبکههای General Adversarial Networks (GAN) افزایش یافته، سیستم های یادگیری ماشین که میتوانند از داده های دارای برچسب برای تولید داده های کاملاً جدید استفاده کنند، به عنوان مثال ایجاد تصاویر جدید از Pokemon از تصاویر موجود، که برای کمک به آموزش مدل یادگیری ماشین استفاده میشود.
اگر یادگیری نیمه نظارت شده به اندازه یادگیری نظارت شده موثر باشد، در نتیجه ممکن است دستیابی به مقدار زیادی از قدرت محاسباتی برای آموزش موفقیت آمیز سیستمهای یادگیری ماشین از دسترسی به مجموعه داده های بزرگ و تگ گذاری شده، مهمتر باشد.
یادگیری ماشینی تقویت شده چیست؟
یک روش برای درک یادگیری تقویت شده این است که فکر کنید چگونه ممکن است کسی برای اولین بار انجام یک بازی رایانهای را در رایانههای قدیمی بیاموزد، در حالی که با قوانین یا نحوه کنترل آن بازی آشنا نیست. درست است که ممکن است آنها کاملاً یک تازه کار باشند، اما در نهایت، با مشاهده رابطه بین دکمههایی که فشار میدهند، آنچه روی صفحه رخ میدهد و امتیازی که میگرند، عملکرد بهتر و بهتری ارائه میدهند.
یک مثال از یادگیری تقویت شده، شبکه Google DeepMind’s Deep Q-network است که در طیف گستردهای از بازیهای ویدئویی انسان را شکست داده است. این سیستم، پیکسلها را از هر بازی تغذیه میکند و اطلاعات مختلفی درباره وضعیت بازی مانند فاصله بین اشیا روی صفحه را تعیین میکند. سپس بررسی میکند که چگونه وضعیت بازی و اعمالی که در بازی انجام میدهد با نمرهای که کسب میکند ارتباط دارد.
در طی مراحل مختلف بازی، سرانجام سیستم مدلی را ایجاد میکند که نشان دهد کدام اقدام باعث میشود امتیاز بازیکن در فلان شرایط به حداکثر برسد.
چرا یادگیری ماشین تا این حد موفق است؟
در حالی که Machine Learning تکنیک جدیدی نیست، در سالهای اخیر علاقه به این رشته بسیار زیاد شده است.
این تجدید حیات در پشت مجموعهای از موفقیتها به وجود آمده است، با یادگیری عمیق سوابق جدیدی برای دقت در زمینههایی مانند تشخیص گفتار و زبان و بینایی کامپیوتر ایجاد میشود.
آنچه این موفقیتها را ممکن کرده است در درجه اول دو عامل است، یکی وجود تعداد زیادی تصویر، گفتار، فیلم و متن که برای محققانی که میخواهند سیستم های یادگیری ماشین را آموزش دهند قابل دسترسی است.
اما حتی مهمتر و دومین عامل، در دسترس بودن مقدار زیادی از قدرت پردازش موازی با مجوز از واحدهای پردازش گرافیکی مدرن (GPU) است که میتوانند با هم به صورت خوشهای پیوند داده و پایگاههای یادگیری ماشین را تشکیل دهند.
امروزه هر کسی که به اینترنت متصل باشد میتواند از طریق خوشهها برای آموزش مدلهای یادگیری ماشین ، از طریق خدمات ابری ارائه شده توسط شرکتهایی مانند آمازون، گوگل و مایکروسافت استفاده کند.
از آنجا که استفاده از یادگیری ماشینی بسیار موفقیت آمیز بوده است؛ بنابراین شرکتها سخت افزارهای تخصصی متناسب با مدلهای یادگیری ماشین در حال اجرا و آموزش ایجاد میکنند. نمونهای از یکی از این تراشههای سفارشی، واحد پردازش تنسور (TPU) گوگل است که آخرین نسخه آن سرعت ساخت مدلهای یادگیری ماشین را که با استفاده از کتابخانه نرم افزار TensorFlow گوگل ساخته میشوند را افزایش میدهد و میتواند اطلاعات را از داده ها استنباط کند.
این تراشهها فقط برای آموزش مدلهای Google DeepMind و Google Brain استفاده نمیشوند، بلکه مدلهایی هستند که زیربنای Google Translate و تشخیص تصویر در Google Photo را هم تشکیل میدهند و همچنین در سرویسهایی که به مردم اجازه میدهند مدلهای یادگیری ماشین را با استفاده از Google TensorFlow Research Cloud ایجاد کنند، به کار میروند. نسل دوم این تراشهها در کنفرانس I / O گوگل در ماه مه سال گذشته رونمایی شد، با آرایهای از این TPU های جدید که میتوانند یک مدل یادگیری ماشین Google را که برای ترجمه استفاده میشود آموزش دهند ور در نیمی از زمان انجام یک آرایه توسط GPU های تاپ، کار را به پایان برسانند و البته نسل سوم TPU های اخیراً اعلام شده که قادر به سرعت بخشیدن به آموزش و استنباط هستند.
از آنجا که سخت افزارها به طور فزایندهای تخصصی میشوند و چارچوبهای نرم افزاری یادگیری ماشین اصلاح میشوند، انجام وظایف ML در تلفنها و رایانههای مصرف کننده، به جای این که در مراکز داده ابری انجام شود، به طور فزایندهای رایج میشود. در تابستان 2018 ، Google با ارائه ترجمه محلی ترجمه دستگاه عصبی به 59 زبان در برنامه Google Translate برای iOS و Android ، گامی در جهت ارائه ترجمه متون در تلفنهای آفلاین برداشت که کیفیت آن مانند کیفیت ترجمه در دستگاههای آنلاین بود.