یادگیری ماشین در حقیقت استفاده از نرم افزار هایی است که طی زمان و به واسطه تجربه تصمیم گیری، دقت پیش بینی خود را بهبود می بخشند.
یادگیری ماشین چیست؟
یادگیری ماشین یکی از شاخه های هوش مصنوعی است که نرم افزار های مجهز به آن بدون اهداف خاص برنامه نویسی شده، طی زمان از داده ها یاد می گیرند و دقت خود را بهبود می بخشند.
در علم داده به مجموعه قدم های پردازش آماری، الگوریتم گفته می شود. الگوریتم ها در یادگیری ماشین تمرین داده می شوند تا الگو ها و ویژگی ها را در میان دنیایی از اطلاعات بیایند و در مواجهه با اطلاعات جدید تصمیم بگیرند و پیش بینی کنند. هر چه الگوریتم ها بهتر باشند تصمیم گیری ها و پیش بینی ها دقیق تر خواهند بود.
امروزه نمونه های یادگیری ماشین در اطراف ما فراوان است. مثلا دستیار های دیجیتال تلفن همراه با دستور صوتی ما وب را جستجو کرده و موسیقی پخش می کنند. وبسایت ها بر اساس آنچه خریدیم، نگاه کردیم و گوش دادیم محصول و فیلم و آهنگ پیشنهاد می کنند. هوش مصنوعی همچنین هرزنامه ها را بلاک می کند. خودرو های خودکار نیز در راه هستند.
حتی شاهد بیشتر از این ها هم خواهیم بود. با وسعت یافتن داده های بزرگ، قدرتمند و مقرون به صرفه تر شدن محاسبه و طراحی الگوریتم های بهتر توسط محققان داده، نقش یادگیری ماشین در زندگی شخصی و شغلی ما پر رنگ تر خواهد شد.
طرز عملکرد یادگیری ماشین
طراحی نرم افزار یادگیری ماشین چهار قدم اصلی دارد. این کار معمولا توسط محققان داده انجام می شود که با متخصصان کسب و کار نیازمند به نرم افزار همکاری دارند.
قدم اول : انتخاب و آماده سازی دادههای آموزش
به مجموعه داده های معرف اطلاعات ورودی بر اساس مدل یادگیری ماشین حل مشکل، که قرار است مسئلهای را حل کند داده تمرین یا داده آموزش می گویند. گاهی به داده آموزش داده برچسب دار نیز گفته می شود و به ویژگی ها و طبقه بندی هایی اشاره دارد که باید توسط مدل شناسایی شود. نام داده دیگر بدون برچسب است و مدل باید آن ویژگی ها را استخراج کرده و طبقه بندی کند.
در هر صورت لازم است که داده آموزش به درستی آماده سازی، تصادفی، تکثير زدایی و بررسی شده باشد تا ناتوازنی ها از بین روند. در حالت کلی باید آن را به دو زیرمجموعه تمرین و ارزیابی تقسیم نمود که از تمرین برای آموزش دادن نرم افزار و از ارزیابی جهت آزمودن و بهبود آن استفاده می شود.
قدم دوم : انتخاب الگوریتمی برای اجرای مجموعه داده های آموزش
لازم به ذکر است که به مجموعه قدم های پردازش آماری الگوریتم گفته می شود. نوع الگوریتم به نوع و میزان اطلاعات در مجموعه داده های آموزش و نوع مشکل پیش رو بستگی دارد.
۱) الگوریتمهای مناسب برای دادههای برچسب دار
در ادامه با رایج ترین انواع الگوریتم های یادگیری ماشین که مناسب استفاده برای داده برچسب دار هستند، گردآوری شدهاند:
۱-۱ ) الگوریتم های رگرسیون
رگرسیون خطی و محاسبه ای از نمونه های الگوریتم های رگرسیون مورد استفاده جهت درک ارتباطات داده هستند. از رگرسیون خطی در پیش بینی ارزش متغیری وابسته در مقایسه با ارزش متغیری مستقل استفاده می شود. همچنین وقتی متغیر وابسته دوتايى باشد از رگرسیون محاسبه ای استفاده خواهد شد.
برای مثال می توان الگوریتم رگرسیون خطی را آموزش داد تا فروش سالانه فروشنده را بر اساس ارتباطش با تحصیلات یا تجربه او پیش بینی کند. ماشین بردار پشتیبان الگوریتم رگرسیون دیگری است که در صورت دشوار بودن طبقه بندی متغیر های وابسته از آن استفاده می شود.
۲-۱ ) درخت های تصمیم
درخت های تصمیم از داده طبقه بندی شده استفاده می کنند و براساس مجموعه قوانین تصمیم پیشنهاد ارائه می دهند. مثلا درخت تصمیمی که شرط بستن روی اسب خاصی را پیشنهاد می دهد، می تواند از دادههای موجود درباره اسب استفاده کند و با اعمال قوانین بر آن داده تصمیم مناسبی پیشنهاد دهد.
۳-۱ ) الگوریتم های نمونه محور
انتخاب نزدیک ترین همسایه مثال خوبی از الگوریتم های نمونه محور است. این الگوریتم از طبقه بندی جهت تخمین احتمال عضو بودن نقطه داده در یک گروه یا گروه دیگری استفاده می کند.
۲) الگوریتمهای مناسب برای دادههای بدون چسب
در ادامه نمونههایی از الگوریتم های مناسب داده بدون برچسب گردآوری شدهاند:
۱-۲) الگوریتم های خوشه بندی
فرض کنید خوشه ها گروه هستند. به شناسایی گروه های با صفات مشابه و برچسب زدن صفات بر اساس گروه خود خوشه بندی می گویند. این امر بدون دانش قبلی درباره گروه ها و ویژگی های آن ها انجام می شود. خوشه بندی میانگین، دو مرحله ای و کوهونن از انواع الگوریتم های خوشه بندی هستند.
۲-۲) الگوریتم های وابستگی
الگوریتم های وابستگی الگو ها و ارتباطات در داده را پیدا کرده و ارتباطات پرتکراری به نام قوانین وابستگی را شناسایی می کنند. این قوانین مشابه قانون های داده کاوی هستند.
۳-۲) شبکه های عصبی
شبکه عصبی الگوریتمی است که شبکه چند لایه محاسبات را تعریف می کند. در لایه ورودی داده دریافت می شود. در لایه پنهان داده دریافتی محاسبه خواهد شد. در لایه خروجی نیز احتمال نتیجه گیری ها تعیین می شود. شبکه عمیق عصبی شبکه ای با لایه های مختلف پنهان را تعریف می کند که هر کدام نتایج لایه پیشین را بهبود می بخشند.
قدم سوم : تمرین دادن الگوریتم جهت ساختن مدل
تمرین دادن الگوریتم فرایندی تكراري است. همچنین انتقال متغیر ها به سوی الگوریتم، مقایسه خروجی با نتایجی که باید به دست می آمد، جهت دهی به تمایلات درون الگوریتم با هدف به دست آوردن نتایجی دقیق تر و انتقال دوباره متغیر ها تا زمانی که الگوریتم بیشتر اوقات نتیجه درستی ارائه دهد از مراحل آن است. به این الگوریتم دقیق آموزش دیده مدل یادگیری ماشین گفته می شود. لازم به ذکر است که نباید دو واژه الگوریتم و مدل را به جای یکدیگر استفاده کرد.
قدم چهارم : بهبود و استفاده از مدل
قدم آخر استفاده از مدل با داده جدید و بهبود یافتن دقت و کارآمدی آن طی زمان است. از کجا آمدن داده جدید به مشکل پیش رو بستگی خواهد داشت. مثلا مدل یادگیری ماشین طراحی شده جهت شناسایی هرزنامه رایانامه ها را وارسی می کند. اما مدل یادگیری ماشین محرک ربات جاروبرقی با داده تعامل با لوازم منزل سر و کار دارد.
روش های یادگیری ماشین
روش های یادگیری ماشین به سه دسته تقسیم می شوند.
۱) یادگیری ماشین تحت نظارت
یادگیری ماشین تحت نظارت خود را به واسطه مجموعه داده های برچسب دار تمرین می دهد. یعنی برچسب خوردن داده و طبقه بندی آن از پیش تعیین شده است. مثلا ممکن است مدلی مختص شناسایی گربه های اصیل نژاد ایرانی یا پرشین را با مجموعه داده تصاویر مختلف برچسب دار تمرین داده باشند.
یادگیری ماشین تحت نظارت به داده آموزشی کمتری نیاز دارد و آموزش را آسان می کند. چون می توان نتایج مدل را با نتایج برچسب دار واقعی مقایسه کرد. اما آماده سازی درست داده برچسب دار دشوار است و احتمال طراحی مدلی بیش از حد محدود به داده آموزش وجود دارد.
۲) یادگیری ماشین بدون ناظر
یادگیری ماشین بدون ناظر حجم زیادی از داده های بدون برچسب را دریافت میکند. همچنین از الگوریتم ها جهت استخراج ویژگی های معنادار لازم برای برچسب زدن، مرتب کردن و طبقه بندی داده استفاده می کند.
یادگیری بدون ناظر بیشتر درباره شناسایی الگو ها و ارتباطات در داده دور از چشم انسان است تا این که راجع به خودکار سازی تصمیمات و پیش بینی ها باشد. برای مثال شناسایی هرزنامه را درنظر بگیرید. مردم چند برابر توان تیمی از محققان داده در برچسب زدن و طبقه بندی ایمیل می نویسند. در این جا الگوریتم یادگیری بدون ناظر می تواند حجم زیادی از ایمیل ها را تحلیل کرده و ویژگی ها و الگو های هرزنامه را مشخص کند.
۳) یادگیری نیمه نظارتی
یادگیری نیمه نظارتی حد وسط بین دو نوع یادگیری است. این یادگیری طی آموزش از مجموعه داده برچسب دار کوچکتری جهت طبقه بندی و تمیز دادن ویژگی ها استفاده می کند. یادگیری نیمه نظارتی می تواند مشکل کافی نبودن داده برچسب دار آموزش الگوریتم یادگیری تحت نظارت را حل کند.
۴) یادگیری ماشین تقویتی
یادگیری ماشین تقویتی مدلی رفتاری است و به یادگیری تحت نظارت شباهت دارد. اما الگوریتم با استفاده از داده نمونه آموزش دیده نمی شود. این مدل از طریق آزمون و خطا یاد میگیرد. سپس نتیجه های موفق تقویت می شوند تا بهترین پیشنهاد را ارائه دهند.
سیستم “آی بی ام واتسون” نمونه خوبی است. این سیستم برای تصمیم گیری درباره پاسخ دادن به سوالات و تعیین میزان شرط بندی از یادگیری تقویتی استفاده می کرد.
۵) یادگیری عمیق
یادگیری عمیق زیر مجموعه یادگیری ماشین است. الگوریتم های یادگیری عمیق شبکه عصبی مصنوعی را تعریف می کنند که مختص یادگیری شیوه یاد گرفتن ذهن انسان طراحی شده است. مدل های یادگیری عمیق به حجم بالایی از داده و محاسبه آن ها نیاز دارد تا نتیجه پس از اعمال تمایلات بهبود یابد.
مدل های یادگیری عمیق معمولا بدون ناظر و نیمه نظارتی هستند. مدل های یادگیری تقویتی نیز می توانند عمیق باشند. از برخی انواع مدل های یادگیری عمیق مانند شبکه های عصبی پیچشی و شبکه های عصبی بازگشتی در حوزه هایی مانند بینایی رایانه، پردازش زبان طبیعی و خودروهای خودکار استفاده می شود.
شبکه های عصبی چیست؟
شبکه های عصبی از ذهن انسان الهام گرفته شدهاند. عصب ها شبیه نورون ها هستند و شبکه به مغز شباهت دارد. اما “هینتون” زمانی مقاله مهم خود را منتشر کرد که دیگر به شبکه های عصبی توجه نمی شد. کسی نمی دانست چطور باید آن ها را آموزش داد و نتایج خوبی به دست نمی آمد. ۳۰ سال طول کشید تا این تکنیک دوباره روی کار بیاید. آن هم چه روی کار آمدنی!
موارد استفاده از یادگیری ماشین در دنیای امروز
همان طور که گفته شد یادگیری ماشین همه جا به چشم می خورد. این ها تنها تعدادی از کاربرد های روزمره آن هستند:
- دستیاران دیجیتال
سیری شرکت اپل، الکسای آمازون، گوگل اسیستنت و دیگر دستیاران دیجیتال از پردازش زبان طبیعی بهره می گیرند که نرم افزار یادگیری ماشین است. که به رایانه ها در پردازش متن و داده صوتی و فهم زبان انسان کمک می کند. همچنین پردازش زبان طبیعی محرک نرم افزار هایی صدا محور مانند جی پی اس و نرم افزار تشخیص صحبت است. - پیشنهاد ها
مدل های یادگیری عمیق محرک پیشنهادات آمازون، نتفلیکس، اسپاتیفای و دیگر سرویس های سرگرمی، سفر، کاریابی و خبری هستند. - تبلیغات محتوایی آنلاین
مدل های یادگیری ماشین و یادگیری عمیق می توانند محتوای صفحه وب را ارزیابی کرده و تبلیغات را با علایق بازدیدکننده همسو سازد. - ربات های چت
ربات های چت به کمک ترکیب تشخیص الگو، پردازش زبان طبیعی و شبکه های عمیق عصبی متن را تفسیر کرده و پاسخ مناسب ارائه می کند. - تشخیص کلاهبرداری
مدل های رگرسیون و طبقه بندی، جایگزین سیستم های قانون محور تشخیص کلاهبردارى شدهاند که مثبت کاذب بالایی داشتند و در شناسایی استفاده مجرمانه از داده مالی سرقتی موفق عمل نمی کردند. - امنیت سایبری
یادگیری ماشین با استخراج اطلاعات از گزارش اتفاقات، هشدار ها و پست های بلاگ خطرات احتمالی را شناسایی کرده و به تحلیلگران امنیتی کمک می کنند. - تحلیل تصاویر پزشکی
انواع و حجم داده های تصویربرداری دیجیتال پزشکی رو به افزایش است. هر چند اطلاعات بیشتری جهت تشخیص در دست است. اما این امر احتمال بروز خطای انسانی را نیز افزایش می دهد. شبکه های عصبی پیچشی و شبکه های عصبی بازگشتی در استخراج ویژگی ها و اطلاعات از تصاویر پزشکی برای بهبود دقت تشخیص موفق عمل کردند. - خودرو های خودکار
این خودرو ها هفت خان رستم هستند. چون باید به طور مداوم اجسام محیط اطراف خودرو را شناسایی کنند، تعویض دنده و حرکت را پیش بینی کنند و خود را به مقصد برسانند. تقریبا تمام صورت های الگوریتم یادگیری ماشینی و یادگیری عمیق در خودرو های خودکار نقش مهمی ایفا می کنند.
سرویس احراز هویت یوآیدی با حضوری فعال در اکوسیستم هویت دیجیتال کشور به عنوان اولین راهکار احراز هویت دیجیتال، با استفاده از الگوریتم های هوش مصنوعی مانند یادگیری عمیق، تشخیص چهره و تشخیص زنده بودن چهره کاربر، فرایند احراز هویت ثنا، احراز هویت سجام برای دریافت کد بورسی و همچنین احراز هویت صرافی رمز ارز را با ضریب خطای کمتر از ۰.۰۱ درصد انجام می دهد.