یادگیری ماشین آنلاین چیست و چرا نقش مهمی در دنیای هوش مصنوعی دارد؟
اگر عضو یکی از شبکههای زیر هستید میتوانید این مطلب را به شبکهی خود ارسال کنید:
[06 Jul 2021]
[ حمیدرضا تائبی]
بهطور معمول، برای یادگیری ماشین به دو عامل مهم که دادهها و الگوریتم یادگیری مناسب است نیاز دارید. الگوریتم یادگیری از دادههای شما میآموزد، آموزش میبینید و نتایج دقیق تولید میکند که برای تصمیمات آتی از آنها استفاده میشود. مدلهای یادگیری ماشین، به استثنای برخی از آنها، حالت ایستایی دارند. بهطور کلی آنها متشکل از مجموعهای از پارامترها هستند. زمانی که مدلی آموزش دید، دیگر پارامترهای آن تغییر نمیکنند. از دیدگاه فنی، این اتفاق خوبی است، به ویژه زمانی که قصد دارید از طریق واسطهای برنامهنویسی کاربردی پیشبینیهایی انجام دهید. از آنجایی که پارامترهای مدل تغییر نمیکنند، نیازی نیست به همگامسازی نمونههای ساخته شده از یک مدل بپردازید. در این حالت گسترشپذیری به صورت افقی انجام میشود که البته بهترین نوع گسترشپذیری است.
زمانیکه دادههای جدیدی دریافت میکنیم چه اتفاقی میافتد؟ اگر تنها یکبار اقدام به آموزش مدلی کنیم و فرآیند آموزش آنرا بهروزرسانی نکنیم شانس دریافت بینشهای دقیقتر و بهروزتر را از دست میدهیم. رویکرد فوق به ویژه در محیطهایی که الگوی رفتار پویایی دارند مهم است. خریدهای آنلاین یکی از این موارد است. برای واکنش به دادههای جدید و ساخت الگوریتمهای هوشمند که با گذشت زمان مباحث مختلف را یاد بگیرند، مهندسان یادگیری ماشین به یکی از دو روش زیر کار میکنند. در روش اول به شکل دستی روی جمعآوری دادههای جدیدتر آموزشی متمرکز میشوند و پس از اطمینان از درست بودن آنها، دادهها را در اختیار مدل قرار میدهند. در روش دوم، برنامهریزی میکنند تا دادههای جدید یک بار در هفته بهروزرسانی شوند و بهطور خودکار به مدل تزریق شوند. در 99 درصد موارد، زمانی که شرکتی ادعا میکند هوش مصنوعی که طراحی کرده فراتر از تصور است در حقیقت به این نکته اشاره دارد که رویکرد بهروزرسانی دو هفته یکبار در ارتباط با تزریق دادههای جدید و آموزش مدل را به کار میگیرد. به بیان سادهتر، شرکت مذکور از رویکرد آموزش آنلاین استفاده کند. در بیشتر منابع زمانی که صحبت از هوش مصنوعی به میان میآید از یادگیری ماشین که به لحاظ فنی به معنای آموزش مدل یا شبکه عصبی است که برای انجام پیشبینیهای خاص آموزش دیده به عنوان مترادف هوش مصنوعی استفاده میشود. در روش سنتی یک مدل بر مبنای مجموعه دادهها و نمونههای در دسترس آموزش داده میشود و زمانی که فرآیند آموزش به پایان رسید این امکان فراهم میشود که برای پیشبینی، شناسایی و کاربردهای مختلف از مدل استفاده کرد. بهطور معمول، به این روش آموزش یادگیری آفلاین یا یادگیری دستهای میگویند که روشی سنتی است که برای آموزش شبکه عصبی و مدلهای یادگیری ماشین از آن استفاده میشود. در روش فوق تنها بر مبنای دادههایی که در دسترس قرار دارد آموزش انجام میشود و مدل تنها قادر به پیشبینی نوع مشابهی از دادهها است. یادگیری آفلاین به دلیل کم هزینه بودن به شکل گستردهای در صنایع استفاده میشود.
یادگیری ماشین آفلاین به شیوه سنتی
یادگیری ماشین نقش مهمی در تجزیه و تحلیل دادههای مدرن و برنامههای هوش مصنوعی دارد. الگوهای یادگیری ماشین اغلب در یک الگوی یادگیری گروهی کار میکنند که در آن یک مدل توسط برخی از الگوریتمهای یادگیری روی کل دادهها یک بار آموزش داده میشود و در ادامه مدل آموزش داده شده روی دادههای جدید ارزیابی میشود. امروزه با افزایش حجم دادهها، کاربرد یادگیری ماشین به دلیل محدودیت در حافظه پردازشی محدودتر شده، به ویژه هنگامی که دادهها به شکل آنلاین رشد و توسعه مییابند. روند کند یادگیری به ویژه در ارتباط با یادگیری ماشین گسترشپذیر برای دادههای حجیم و یادگیری برای دادههای لحظهای در هوش مصنوعی به یکی از چالشهای بزرگ دنیای هوش مصنوعی تبدیل شد.
موارد یاد شده به یک نکته مهم اشاره دارند، اگر فرآیند آموزش را هفتگی یا حتا روزانه کنید، بازهم عقب هستید. مدل شما هرگز بهطور کامل با وقایع جاری بهروز نمیشود، زیرا آموزش مبتنی بر دادههای قدیمی بوده است. در حالت ایدهآل، آنچه شما میخواهید مدلی است که بتواند از نمونههای جدید نزدیک به زمان واقعی یاد بگیرد و علاوه بر این نه تنها در زمان واقعی پیشبینی کند، بلکه در زمان واقعی نیز یاد بگیرید. بهطور سنتی یادگیری ماشین به شکل آفلاین انجام میشود و به همین دلیل یادگیری آفلاین (Offline Learning) نامیده میشود، به این معنی که ما گروهی از دادهها داریم که قرار است پالایش شوند، بهینهسازی شوند و به عنوان ورودی در اختیار الگوریتم قرار بگیرند. با این حال، اگر دادههای جریانی (streaming data) دارید و در نظر دارید از این دادهها استفاده کنید باید به سراغ آموزش آنلاین بروید. رویکرد آنلاین مزیت بزرگی نسبت به نمونه سنتی دارد، زیرا اجازه میدهد با دریافت نوع جدیدی از دادهها، تخمینهای ارائه شده توسط مدل را بهروز کنیم و کیفیت خروجی را بهبود بخشیم، به جای آنکه صبر کنیم تا فرآیند آموزش به پایان برسد و بعد به ارزیابی خروجیها بپردازیم.
یادگیری ماشین آنلاین چیست؟
یادگیری ماشین برخط (Online Machine Learning) در زیرمجموعه مباحث یادگیری ماشین طبقهبندی میشود. همانگونه که اشاره شد، بیشتر برنامههای مبتنی بر یادگیری ماشین، دادههای از قبل جمعآوری شده را به عنوان ورودی (مانند محتویات جداول پایگاه داده) از یک فایل که قالببندی خاص خود را دارد دریافت میکنند و بهطور پیوسته روی این مجموعه دادهها پردازشهایی انجام میدهند، اما در یادگیری ماشین آنلاین نحوه دریافت دادههای ورودی متفاوت است. در یادگیری ماشین آفلاین، دادههای ورودی باید ثابت و مشخص باشند تا امکان آموزش مدل بر مبنای آن مجموعه دادهها فراهم شود. مزیت روش فوق این است که امکان بهکارگیری آن در بیشتر صنایع فراهم است، زیرا دادهها حالت ایستا دارند و قرار نیست پس از پالایش دادهها تغییر کلی روی آنها اعمال شود. نقطه ضعف روش فوق این است که قابلیت آموزش مدل در لحظه وجود ندارد و باید مدت زمانی سپری شود تا دادهها بهطور کامل جمع شوند و در ادامه مدل آموزش ببینید که در برخی کاربردها این روش مقرون به صرفه نیست. برای حل این مشکل الگوی یادگیری ماشین آنلاین ارائه شد که توانایی آموزش لحظهای مدل در ارتباط با دادههای لحظهای را دارد. یادگیری ماشین آنلاین میتواند نقاط ضعف الگوهای رایج یادگیری ماشین را برطرف کند که در آن پارامترهای یادگیری مدل میتوانند بهطور موثر توسط یک یادگیرنده آنلاین هنگامی که دادههای آموزشی جدید وارد میشوند، بهروزرسانی شود. علاوه بر این، الگوریتمهای یادگیری ماشین آنلاین به دلیل فهم آسان به راحتی قابل پیادهسازی هستند. یادگیری ماشین آنلاین در حوزههای مختلف نظیر دادهکاوی، آمار، بهینهسازی، ریاضی کاربردی، هوش مصنوعی و علوم داده استفاده میشود.
الگوی یادگیری آنلاین چه مزایایی دارد؟
الگوی یادگیری آنلاین به دو دلیل مهم مورد توجه کارشناسان قرار دارد. اول آنکه با الگوی آموزشی مذکور میتوان دادههایی با حجم زیاد را در زمان آموزش به کار گرفت، بهطور مثال دادههایی که به دلیل حجم بالا امکان ذخیرهسازی آنها در حافظه اصلی فراهم نیست. دوم آنکه مدل همسو با تغییراتی میشود که ممکن است در ماهیت دادهها به وجود بیاید، زیرا آموزش ماهیت پویا دارد. الگوریتمهای یادگیری ماشین از مدلهای آماری برای طبقهبندی دادهها استفاده میکنند. در صورت شناسایی هرزنامه، یک مدل یادگیری ماشین باید تشخیص دهد که آیا ترتیب کلمات موجود در ایمیل با کلمات موجود در نمونه ایمیلهای هرزنامه شباهت دارد یا هیچگونه ارتباطی در میان نیست. امروزه الگوریتمهای مختلف یادگیری ماشین آنلاین میتوانند هرزنامهنامهها را تشخیص دهند، هرچند الگوریتمهایی نظیر الگوریتم بیز ساده یکی از قدرتمندترین گزینهها در این زمینه است. همانگونه که از نام این الگوریتم مشخص است، بیز ساده مبتنی بر قضیه بیز (Bayes’ theorem) است که احتمال وقوع یک رویداد را بر اساس دانش قبلی توصیف میکند. با اینحال، محتوای هرزنامهها تغییر میکند و افرادی که هرزنامه را ارسال میکنند نوع فعالیتهای خود را متناسب با پیشرفتهای مستمر الگوریتمهای گوگل تغییر میدهند. بنابراین الگوریتمهای تشخیص ایمیل از هرزنامهها در گوگل باید بر مبنای رویکرد یادگیری آنلاین کار کنند تا بتواند ایمیلهایی که در گذر زمان تغییر کردهاند و هرزنامه هستند را شناسایی کند. در واقع یادگیری الگوریتم با تغییر محتوا و شکل هرزنامه، بروز میشود.
یادگیری ماشین آفلاین و آنلاین چه تفاوتهایی دارند؟
مبحث یادگیری را میتوان از زوایای مختلف بررسی کرد که تفاوت میان یادگیری دستهای (Batch Learning) و یادگیری آنلاین (Online Learning) یکی از آنها است. آگاهی در مورد این تفاوتها از آن جهت مهم است که روند حل مسائل موجود در حوزههای مختلف را ساده میکند. تفاوت این دو معماری را میتوان با یک مثال ساده شرح داد. فرض کنید دانشجویی قصد یادگیری معادلات و دیفرانسیل دارد. در حالت اول (سنتی)، این دانشآموز میتواند مجموعه کتب دیفرانسیل و آمار را تهیه کند و چند مرتبه آنها را مطالعه کند تا یاد بگیرد. بعد از اینکه نکات مدنظر خود را دریافت کرد، دیگر مطلب جدیدی یاد نگیرد و از این به بعد فقط از دانستههای خود برای حل مسائل استفاده کند. این نوعی یادگیری، یادگیری آفلاین نام دارد، در حالت دوم که یادگیری آنلاین است دانشجو کتابهای مربوطه را مطالعه کند، نکاتی از آنها یاد میگیرد و در زمان استفاده از دانستههای خود برای حل مسائل، هرگاه کتاب جدیدی در حوزه معادلات پیدا کرد، آنرا تهیه میکند و با خواندن آن، آموختههای خود را بهروز میکند و نکات جدیدی یاد میگیرد. دادههایی که در یک فرآیند دادهکاوی، طبقهبندی و خوشهبندی میشوند در گروه دادههای دستهای قرار میگیرند به این معنا که در زمان یادگیری تمامی دادهها در اختیار الگوریتم قرار دارند و الگوریتم به نوعی قادر است بر مبنای دادههای دریافتی عملیات یادگیری را انجام دهد. با اینحال نوع دیگری از یادگیری نیز وجود دارد. برخی اوقات دادهها به صورت جریان داده دریافت میشوند یا لازم است یادگیری به شکل منظم انجام شود. همانگونه که اشاره کردیم یادگیری آفلاین مشابه این حالت است که شما کتابی دارید و باید این کتاب را مطالعه کنید. تمام منبع شما همین کتاب است و در واقع تمامی دادهها را دارید، اما فرض کنید در مسیر تجاری قرار دارید و روزانه با اطلاعات جدیدی که به شما داده میشود باید نکات جدیدی از آنها یاد بگیرید و آموختههای خود را بهروز کنید. این حالت مصداق بارز یادگیری آنلاین (Online Learning) است، یعنی هنگامی که تمامی دادهها در زمان حال در دسترس نیستند. در یادگیری آنلاین مدلی ساخته میشود و با رسیدن دادههای جدیدتر، مدل بهروزرسانی میشود.
انواع مختلف مدلهای یادگیری آنلاین
به لحاظ تئوری، روشهای یادگیری مبتنی بر سه رویکردی اصلی نظریه یادگیری، نظریه بصری و نظریه بازی هستند. از دیدگاه الگوریتمهای خاص، میتوانیم تکنیکهای یادگیری آنلاین موجود در دستههای مختلف را با توجه به اصول یادگیری خاص گروهبندی کنیم. بهطور خاص، با توجه به نوع اطلاعات بازخورد و انواع نظارت در وظایف یادگیری، تکنیکهای یادگیری آنلاین را میتوان به سه گروه زیر تقسیم کرد. گروه اول مبتنی بر رویکرد یادگیری با ناظر آنلاین هستند. در رویکرد فوق اطلاعات کامل در ارتباط با بازخوردها در پایان هر دوره آموزش آنلاین به مدل ارائه میشود. این الگو را میتوان به دو گروه نظارت بر یادگیری که مبنای زیربنایی یادگیری را شکل میدهند و یادگیری آنلاین کاربردی که عمدتا مبتنی بر یادگیری با ناظر آنلاین هستند طبقهبندی کرد. در این حالت این امکان وجود ندارد که از رویکردهای زیربنایی به شکل مستقیم استفاده کرد و بر همین اساس الگوریتمها مطابق با شرایط یادگیری آنلاین طراحی شده و استفاده میشوند. گروه دوم یادگیری آنلاین با بازخورد محدود است. در رویکرد فوق یک مدل آنلاین، اطلاعات بازخورد جزیی از محیط را در فرآیند یادگیری آنلاین دریافت میکند. مدل یادگیرنده یک پیشبینی از برچسب کلاس برای یک نمونه ورودی دریافت میکند و بازخورد جزیی را نشان میدهد که آیا پیشبینی درست است یا خیر. سومین گروه یادگیری بدون ناظر آنلاین است. در روش فوق مدل آنلاین تنها دنبالهای از نمونه دادهها را بدون هیچگونه بازخورد اضافی در طول دوره یادگیری آنلاین دریافت میکند. این امکان فراهم است تا مدل بدون ناظر را به گونهای توسعه داد که در ارتباط با جریانهای دادهای از آن استفاده کرد.
یادگیری ماشین آنلاین چه کاربردهایی دارد؟
همانند روشهای یادگیری ماشین، تکنیکهای یادگیری آنلاین میتوانند برای حل وظایف مختلف در طیف گستردهای از دامنههای کاربردی در دنیای واقعی استفاده شود. این امکان فراهم است تا الگوریتمهای یادگیری آنلاین را برای وظایف یادگیری تحت نظارت توسعه داد. یکی از رایج ترین وظایف، طبقهبندی است که هدف آن پیشبینی گروهی برای یک نمونه داده جدید است که بر اساس مشاهدات نمونههای آموزش داده شده که برچسبهای دستهبندی شده میگیرند، انجام میشود. بهطور مثال، یک کار متداول مطالعه شده در یادگیری آنلاین، طبقهبندی دوتایی آنلاین است مثل فیلتر کردن ایمیلهای هرزنامه که تنها شامل دو گروه از دادهها هستند، گروه اول ایمیلهای هرزنامه و گروه دوم ایمیلهایی که هرزنامه نیستند. علاوه بر وظایف طبقهبندی، یکی دیگر از کارهای یادگیری تحت نظارت معمول، تحلیل رگرسیون خطی است که به فرآیند یادگیری برای تخمین روابط میان متغیرها اشاره دارد. از تکنیکهای یادگیری آنلاین برای انجام وظایف تحلیل رگرسیون، مانند تحلیل سری زمانی در بازارهای مالی که نمونههای داده بهطور طبیعی به صورت پیوسته وارد میشوند، استفاده میشود. علاوه براین، الگوریتمهای یادگیری آنلاین میتوانند برای کارهای یادگیری بدون نظارت استفاده شوند. در فرآیند دستهبندی اشیاء هدف این است که اشیایی که شباهت بیشتری به یکدیگر دارند در خوشههای مخصوص به خود طبقهبندی شوند. در خوشهبندی آنلاین هدف تجزیه و تحلیل خوشهای افزایشی در یک توالی داده ورودی است. از دیگر کاربردهای یادگیری آنلاین میتوان به پیادهسازی سیستمهای توصیهگر، رتبهبندی یا یادگیری تقویتی اشاره کرد. تکنیکهای یادگیری آنلاین اغلب در دو سناریوی اصلی استفاده میشوند. اولین مورد بهبود بهرهورى و دومین مورد گسترشپذیرى در روشهاى یادگیرى ماشین دستهاى است که در آن مجموعه کامل دادههاى آموزشى باید قبل از آموزش در دسترس قرار گیرند
مطلبهای دیگر از همین نویسنده در سایت آیندهنگری: