Federated learning چیست ؟

برخلاف شیوه های سنتی یادگیری ماشین که نیاز دارد اطلاعات و داده ها را در یک جا جمع آوری و متمرکز کند، این شیوه میتواند از منابع توزیع شده داده برای یادگیری بهره ببرد یعنی به جای آوردن حجم زیادی از داده ها از منابع مختلف تنها یک مدل از آن را به مرکز اصلی می فرستد. به عبارت دیگر Federated learning چندین دستگاه محاسباتی را باهم به یک سیستم غیرمتمرکز پیوند می دهد. در یک سیستم یادگیری Federated ،دستگاه های مختلفی که بخشی از شبکه ی یادگیری هستند هرکدام یک مدل آموزش داده شده را به یک دستگاه اصلی یا همان سرور ارسال می کنند. این فرآیند آموزشی تا رسیدن به سطح مطلوبی از دقت تکرار می شود. به طور خلاصه، ایده ی Federated learning این است که هیچ یک از داده های آموزشی هرگز بین دستگاه ها یا طرفین منتقل نمی شود، بلکه تنها مدل آموزش یافته آنها در سرور اصلی بروزرسانی می شود.

یادگیری فدرال چیست

 

Federated learning را می توان به سه مرحله ی مختلف تقسیم کرد:

یادگیری FL ،معمولا با یک مدل عمومی شروع می شود که به عنوان یک خط پایه عمل می کند. در اولین گام، این مدل عمومی برای کلاینت ها ارسال می شود، سپس این نسخه های محلی توسط کلاینت ها آموزش می بینند. در مرحله ی دوم کلاینت ها همه ی پارامترهای مدل آموخته شده خود را به سرور مرکزی ارسال می کنند این روند تا رسیدن به سطح مطلوبی از دقت تکرار می شود. در مرحله ی سوم، سرور، مدل های آموخته شده را جمع می کند و مدل مرکزی بروزرسانی می شود و سپس یک بار دیگر با کلاینت ها به اشتراک گذاشته می شود.

مزیت روش یادگیری Federated learning 

  • کاهش تاخیرهای شبکه
  • کاهش هزینه های مربوط به اشتراک داده ها با سرور
  • حفظ حریم خصوصی؛ چراکه به جای اشتراک داده ها تنها مدلی از آن بین کلاینت ها و سرور رد و بدل می شود.

نمونه هایی از مدل های یادگیری فدرال:

  • موتور های توصیه گر
  • مدل های تشخیص تقلب
  • مدل های تشخیص بیماری
  • موتورهای توصیه گر رسانه
  • و …

انواع Federated learning:
طرح های یادگیری FL معموال در یکی از ۲ کلاس زیر قرار می گیرد؛

  • سیستم های چند حزبی یا بخشی
  • سیستم های تک حزبی

سیستم های یادگیری FL تک حزبی را ”یک طرفه“ می نامند، زیرا فقط یک نهاد واحد مسئول نظارت بر ضبط و جریان داده ها در تمام کلاینت ها در شبکه ی یادگیری است. برخلاف سیستم های تک حزبی،سیستم های چند حزبی توسط دو یا چند نهاد مدیریت می شوند. این نهاد ها برای آموزش یک مدل مشترک با استفاده از دستگاه ها و مجموعه داده های مختلفی که به آنها دسترسی دارند،همکاری می کنند. پارامتر ها و ساختار داده ها معمولا در دستگاه ها متعلق به چندین نهاد مشابه هستند اما لزوما کاملا یکسان نیستند. در عوض، پیش استانداردسازی هایی برای استانداردسازی ورودی های مدل ها انجام می شود.

چالش های Federated Learning:

از آنجایی که یادگیری FL هنوز کاملا نوپا است برای دستیابی به پتانسیل کامل خود ،هنوز هم باید درباره ی چالش های زیادی مذاکره شود. قابلیت های آموزشی دستگاه های لبه دار یا همان edge device و استانداردسازی داده ها و همگرایی مدل یکی از چندمین چالش های بالقوه برای رویکردهای FL است.

توانایی های محاسباتی edge device ها، وقتی صحبت از آموزش های محلی می شود،باید در هنگام طراحی رویکردهای FL در نظر گرفته شود. چون در حال حاضر اکثر تلفن های هوشمند، تبلت ها و سایر دستگاه های سازگار با اینترنت تنها قادر به آموزش یادگیری ماشین هستند. که این به طور معمول عملکرد دستگاه را مختل می کند. باید بین دقت مدل و عملکرد دستگاه سازش انجام شود.

برچسب گذاری و استاندارد سازی داده ها چالش دیگری است که سیستم های FL باید بر آن غلبه کنند. مدل های یادگیری تحت نظارت، به داده های آموزشی نیاز دارند که به طور واضح و مداوم دارای برچسب باشند. انجام این کار در بسیاری از دستگاه های کلاینت ها که بخشی از سیستم یادگیری هستند، دشوار است. به همین دلیل مهم است که خطوط لوله ی داده، داده ای ایجاد کند که به طور خودکار براساس رویدادها و اقدامات کاربر، برچسب ها را به صورت استاندارد اعمال کند.

زمان همگرایی مدل، چالش دیگری برای FL است، زیرا؛مدل های FL معمولا همگرایی طولانی تری از مدل های آموزش دیده ی محلی دارند. تعداد دستگاه های درگیر در آموزش، عنصری از غیرقابل پیش بینی بودن را به آموزش مدل اضافه می کنند، زیرا مشکلات اتصال، به روزرسانی های نامنظم وقتی زمان های مختلف استفاده از برنامه می تواند به افزایش زمان همگرایی و کاهش قابلیت اطمینان کمک کند. به همین دلیل، راه حل های FL معمولا بسیار مفید هستند که مزایای قابل توجهی نسبت به آموزش متمرکز مدل ارائه دهد. مانند مواردی که مجموعه ی داده ها بسیار گسترده و توزیع شده باشند.