بهبود دقت مدل و تقویت عملکرد با یادگیری مستمر
یادگیری مستمر چیست؟
دانشگاهیان و متخصصان به طور یکسان معتقدند که یادگیری مداوم (CL) گامی اساسی به سمت هوش مصنوعی است. یادگیری مستمر توانایی یک مدل برای یادگیری مداوم از یک جریان داده است. در عمل، این به معنای پشتیبانی از توانایی یک مدل برای یادگیری مستقل و انطباق در تولید با ورود داده های جدید است. برخی ممکن است آن را به عنوان یادگیری خودکار تطبیقی یا AutoML مستمر بدانند. ایده CL تقلید توانایی انسان برای کسب مداوم، تنظیم دقیق و انتقال دانش و مهارت ها در طول عمر است. همانطور که می دانید، در یادگیری ماشینی، هدف، استقرار مدل ها از طریق یک محیط تولید است. با یادگیری مستمر، می خواهیم از داده هایی که وارد محیط تولید می شوند استفاده کنیم و مدل را بر اساس فعالیت جدید دوباره آموزش دهیم. برای مثال، همه ما سیستم توصیه کننده بسیار موفق نتفلیکس را برای «Up Next» تجربه کرده ایم. سیستم توصیه کننده نتفلیکس مستقیماً پس از پایان آخرین قسمت شما نمایشی را پیشنهاد می کند، و معمولاً با کاهش ثانیه ها مقاومت در برابر آن سخت است. این نوع مدل در تولید چیزی است که نیاز به آموزش دوره ای دارد زیرا فیلم های جدید، سلیقه های جدید و روندهای جدید در بازار وجود دارد. با یادگیری مداوم، هدف استفاده از داده هایی است که وارد می شوند و از آن ها برای بازآموزی خودکار مدل استفاده کنید، بنابراین می توانید واقعاً دقت بالایی کسب کنید و مدل های با عملکرد بالا را حفظ کنید.
چرا به یادگیری مستمر نیاز داریم؟
پاسخ بسیار ساده است - داده ها در حال تغییر هستند. داده ها ممکن است به دلیل روندها یا به دلیل اقدامات مختلف انجام شده توسط کاربران در حال تغییر باشند. به عنوان مثال، پرفروش ترین کتاب آمازون از سال 2000، کتاب هری پاتر بود. امروز، ممکن است تعجب کنید اگر بفهمید پرفروش ترین ژانر کاملاً متفاوت است: آتش و خشم: درون کاخ سفید ترامپ.
بنابراین، آمازون باید این مدل را دوباره آموزش دهد و بر اساس داده ها و روندهای جدید، کتاب های جدید را به مشتریان خود توصیه کند. مثال کمی به روزتر قیمت بیت کوین قبل از افت شدید است. در سال 2017، بیت کوین 19 هزار دلار ارزش داشت. حدود یک ماه و نیم بعد، به 6 هزار دلار کاهش یافت.
نه تنها داده ها در حال تغییر است ، بلکه محققان اظهار داشته اند که "یادگیری مادام العمر همچنان یک چالش دیرینه برای یادگیری ماشین و مدل های شبکه عصبی باقی مانده است زیرا کسب مداوم اطلاعات تدریجی در دسترس از توزیع داده های غیر ثابت به طور کلی منجر به فراموشی یا تداخل فاجعه بار می شود."مورد برای یادگیری مداوم قوی است. برای دانشمندان داده ، یادگیری مداوم در نهایت مدلها را برای صحت ، بهبود عملکرد مدل و صرفه جویی در زمان بازیابی با ایجاد مدل های سازگار بهینه می کند.
خط لوله یادگیری ماشین با یادگیری مداوم
نمودار بالا نشان می دهد که خط لوله یادگیری ماشین در محیط تولید با یادگیری مداوم اعمال می شود. متوجه خواهید شد که خط لوله بسیار شبیه هر خط لوله یادگیری ماشین است. ما باید داده ها را داشته باشیم ، نوعی اعتبار سنجی. این می تواند شامل آزمایشات یا معیارهای داخلی مانند تعیین کیفیت داده ها باشد. همچنین می تواند پیش پردازش کند که شما فعالیت می کنید.
بعد ، در خط لوله Automl است.automl در یادگیری مداوم بخش بسیار مهمی از خط لوله است و شبیه به مرحله آموزش در یک خط لوله یادگیری ماشین معمولی است. اما ، ما بعداً بیشتر به این موضوع خواهیم پرداخت.
پس از آموزش ، شما برخی از اعتبار سنجی های مدل را برای آزمایش مدل ها انجام می دهید و مطمئن می شوید که همه آنها به خوبی کار می کنند. در اینجا همچنین می توانید بهترین گزینه را انتخاب کنید و آن را به محیط تولید مستقر کنید. تا کنون ، خط لوله مانند یک خط لوله یادگیری ماشین کلاسیک به نظر می رسد. به منظور استفاده از یادگیری مداوم ، نظارت را اضافه می کنیم و حلقه را به داده ها وصل می کنیم.
پیش بینی هایی که در منطقه استقرار مدل جمع آوری می شوند ، مورد بررسی قرار می گیرد. پس از نظارت ، داده ها را تمیز کرده و در صورت لزوم آن را برچسب گذاری می کنید. اما ، برای چیزی مانند سیستم پیشنهادی یا پیش بینی ، شما فقط می توانید حلقه را بدون برچسب زدن انسانی ببندید. پس از برچسب زدن و تمیز کردن داده ها ، ما آن را به داده ها منتقل خواهیم کرد تا دوباره روند آموزش و اعتبار سنجی را تکرار کنیم. اکنون حلقه را مانند چرخ فلزی بسته ایم.
Automl در خط لوله یادگیری مداوم
Automl یک مؤلفه مهم برای استفاده از یادگیری مداوم است زیرا ما با یک جریان ثابت از داده ها کار می کنیم. شما می توانید آن را ساده نگه دارید و فقط همان الگوریتم را با همان پارامترها بازیابی کنید ، اما به این دلیل که ما هنوز می خواهیم با دقت بالایی بدست آوریم که می خواهیم از Automl استفاده کنیم.
Automl نیازی به یادگیری متا واقعاً پیچیده ندارد. شما فقط می توانید از بهینه سازی HyperParameter ، الگوریتم های منبع باز و چارچوب ها استفاده کنید-و تعجب خواهید کرد که چقدر ساده است. به عنوان بخشی از تحقیقات خود ، وقتی کار خود را روی خط لوله یادگیری ماشین خود شروع می کنید ، باید فضای الگوریتم خود را انتخاب کنید. به عنوان مثال ، اگر شما در حال انجام یک مشکل دید رایانه هستید ، ممکن است بخواهید از یادگیری انتقال به عنوان الگوریتم های آموزش استفاده کنید. با یادگیری انتقال ، شما مدلهای از پیش آموزش زیادی دارید که می توانید از آنها برای بازیابی فقط آخرین لایه شبکه استفاده کنید و سپس مدل خود را مستقر کنید.
در این حالت ، شما یکی از مدل های پیش ساخته محبوب مانند VGG ، Inception ، Resnet و چند مورد دیگر را انتخاب می کنید. برای هر مدل ، ما همچنین باید دامنه پارامترهای آن را مشخص کنیم.
این می تواند به یک مشکل محاسباتی واقعاً بزرگ تبدیل شود. این به عنوان یک دانشمند داده بر عهده شماست که واقعاً تحقیق کنید که چه نوع الگوریتم و پارامترها برای مشکل یادگیری ماشین شما مفید است.
پیوندهای Automl: Autokeras ، Auto Scikitlea ، FeatureTools برای مهندسی ویژگی
Automl خود را پیگیری کنید
با استفاده از AUTOM ، ردیابی نه تنها مدل های تولید بلکه کل فرآیند بسیار مهم است. اگر یادگیری ماشین خود را بر روی Autopilot قرار دهید ، باید اطمینان حاصل کنید که همه چیز ردیابی و مدیریت شده است. شما باید همه چیز را ردیابی کنید: نوع الگوریتمی که استفاده می کنید ، هایپرپارامترها ، نوع محاسبه مورد استفاده ، مصرف حافظه ، معیارها ، دقت و غیره. بیایید بگوییم که شما امروز 60 آزمایش مختلف را آموزش می دهید. داده های ردیابی شده ممکن است برای هفته آینده هنگام تلاش برای استقرار و بازآفرینی مدل مورد استفاده قرار گیرند.
همچنین می توانید از اطلاعات مربوط به یادگیری متا استفاده کنید ، سعی کنید بفهمید که چه نوع الگوریتم هایی برای این مشکل به خوبی کار می کنند ، که هر بار تعداد آزمایشات را به حداقل می رساند.
زیرساخت های خود را خودکار کنید
نکته مهم دیگر در مورد AUTOL - به ویژه با یادگیری عمیق - خودکار سازی زیرساخت های یادگیری ماشین شما است. برای چرخش یک نمونه آماده یادگیری عمیق می تواند زمان زیادی را به خود اختصاص دهد (فکر کنید CUDA ، وابستگی ها ، داده ها ، کد و موارد دیگر). توصیه می کنیم در بالای تمام ارائه دهندگان ابر دلخواه خود از Kubeetes استفاده کنید. این واقعیت که شما یک خوشه Kubeetes دارید و در حال اجرا است ، استفاده از آزمایش های جدید را بسیار آسان می کند. با استفاده از Kubeetes ، می توانید آزمایش های بسیاری را خیلی سریع انجام داده و آنها را پیگیری کنید تا مطمئن شوید که همه آزمایشات به خوبی انجام می شود.
به خاطر داشته باشید که حفظ یک خوشه Kubeetes چندان ساده نیست و ممکن است نیاز به کمک بیشتری از تیم مهندسی IT/Data داشته باشد.
استقرار مدل ها در یک خط لوله یادگیری مداوم
پس از آموزش و انتخاب مدل با بهترین عملکرد ، مدل شما برای استقرار آماده خواهد بود. یکی از چالش های مهم در یادگیری مداوم نحوه استقرار مدل های جدید به همان محیط بدون تأثیر منفی بر تجربه کاربران و حفظ دقت بالا است.
استفاده از مدل ها برای یادگیری مداوم کمی متفاوت از استقرار مدل کلاسیک است. معمولاً حتی یک دانشمند داده قادر به استقرار یک مدل خواهد بود ، اما از آنجا که این کار خودکار می شود ، ما باید این کار را با دقت انجام دهیم. درست همانطور که شما نرم افزاری را که دارای یک اشکال در یک محیط تولید است ، مستقر نمی کنید ، شما الگویی را که با موفقیت آموزش دیده و معتبر نیست ، مستقر نمی کنید. برای اینکه مطمئن شوید مدل جدید شما به خوبی کار می کند ، آن را قبل و در هنگام استقرار بر روی داده های قدیمی آزمایش خواهید کرد. علاوه بر این ، شما می خواهید عملکرد و سلامت سیستم خود را رصد کنید.
اکنون ، در توسعه نرم افزار ، روش های مختلفی برای استقرار نرم افزار جدید وجود دارد. برای یادگیری ماشین ، این زمینه هنوز بسیار جدید است ، اما ما توصیه می کنیم از تکنیک استقرار قناری استفاده کنید. Canary تکنیکی برای معرفی نسخه نرم افزاری جدید به روشی است که کاربران Effect را در قسمت ها قرار می دهد و به تدریج تعداد کاربران را بر اساس تست ها افزایش می دهد. استفاده از این تکنیک به تدریج مدل را در زیر مجموعه های بزرگتر کاربران مستقر می کند.
در سطح اجرای - ما توصیه می کنیم از Kubeetes در کنار Istio برای استقرار مدل استفاده کنید ، بنابراین می توانید آزمایش A/B را انجام دهید و اطمینان حاصل کنید که مدل شما به خوبی مستقر شده است. ما همچنین در وبلاگ خود راهنمایی در مورد نحوه استقرار مدل های یادگیری ماشین با استفاده از Kubeetes داریم.
نظارت بر خطوط لوله یادگیری مداوم
نظارت بخش مهمی از یادگیری ماشین با یادگیری مداوم است. شما باید اطمینان حاصل کنید که اگر اتفاق بدی برای مدل شما رخ می دهد ، یا اگر داده هایی که به مدل شما ارسال می شود خراب است ، مکانیسمی برای هشدار دارید.
بیشتر اوقات ، یک دانشمند داده واحد به طور همزمان چندین خط لوله یادگیری ماشین را مدیریت می کند. بنابراین تنظیم هشدار بسیار مهم است. پس از استقرار مدل جدید در محیط تولید ، هدف این است که دانشمند داده یا مهندس داده را با کنترل و شفافیت مورد نیاز برای نظارت بر مدل یادگیری ماشین فراهم کنید. برای امکان استقرار خودکار نسخه های جدید مدل ، شما باید داده های ورودی را کنترل کنید تا رانش های داده و ناهنجاری ها را تشخیص دهید. نظارت همچنین برای داده های پیش بینی برای اطمینان از عملکرد و دقت بالا مهم است.
ابزارهای عالی در Kubeetes یا Prometheus در کنار AlertManager وجود دارد که می توانید برای نظارت بر تمام داده های ورودی استفاده کنید. و شما باید از خدمات ابری و Kubeetes برای خودکار سازی زیرساخت های یادگیری ماشین و آزمایش خود استفاده کنید.
تحریک و بازآفرینی مدل خود برای یادگیری مداوم
آخرین مرحله در یک خط لوله یادگیری مداوم ML ، ایجاد مجدد آموزش و بستن حلقه است. خط لوله ML شما برای یادگیری مداوم آماده شده است:
- شما داده ها را دارید
- آزمایشات آموزش را اجرا می کنند
- پیش بینی ها جمع آوری و کنترل می شوند
- داده های جدید در حال تمیز کردن است
در مرحله بعد ، شما باید محرک های بازآموزی مدل خود را تصمیم بگیرید. روش های مختلفی برای انجام این کار وجود دارد. ما مشتریانی داریم که به طور دوره ای مدل خود را باز می کنند. به عنوان مثال ، برای سیستم های پیشنهادی یا تبلیغات ، تیم هایی را دیدیم که هر 30 دقیقه یکبار عقب مانده اند. شما همچنین ممکن است بازآفرینی مدل را فقط در مورد داده های جدید که وارد می شوند ، در نظر بگیرید.
راه های دیگر ردیابی و نظارت بر پوسیدگی مدل و تعصب مدل ، اعتماد به نفس کم و هر نوع هشدار دیگر در محیط تولید است که باعث بازآموزی می شود. مهمترین چیز این است که اگر خط لوله یادگیری ماشین را به طور خودکار تحریک کنید ، باید ماشه را ردیابی و تأیید کنید. عدم دانستن اینکه چه زمانی مدل شما دوباره آموزش داده شده است می تواند باعث ایجاد مشکلات اساسی شود. شما همیشه باید کنترل مجدد مدل خود را کنترل کنید ، حتی اگر این روند خودکار باشد. به این ترتیب می توانید مدل را در محیط تولید درک و اشکال زدایی کنید.
بستن حلقه ML
پس از ایجاد سیستم های Automl ، استقرار و نظارت ، می توانید حلقه یادگیری ماشین را ببندید. مدل های شما با یادگیری مداوم اجرا می شوند و به طور مستقل با داده ها و روندهای جدید سازگار می شوند. نه تنها دقت مدل شما به طور خودکار بهبود می یابد ، بلکه به طور کلی شما مدل شما در برنامه عملکرد بهتری خواهید داشت.
التداول المالي...
ما را در سایت التداول المالي دنبال می کنید
برچسب :
نویسنده : سیروس ابراهیمزاده
بازدید : <-PostHit->
تاريخ : سه
شنبه
8 فروردين
1402 ساعت: 4:34