علاقه مند به مخابرات و اینترنت اشیا
یادگیری انتقال - Transfer Learning
در قسمت قبل مقاله ای را در مورد نحوه ی ترکیب دو روش Model-Based و Data-Driven بررسی کردیم و در این قسمت میخواهیم مبحث Transfer Learning را مورد مطالعه قرار دهیم و دو مسئله را از همان مقاله بررسی کنیم.
مفاهیم مخابراتی ساده بیان شده اند تا این پست مناسب همه باشد
یادگیری انتقال Transfer Learning
یادگیری انتقال ، یک مسئله ی یادگیری ماشین است که در آن از دانش کسب شده توسط یک سیستم یادگیری ، در انجام یک فعالیت متفاوت ولی مرتبط استفاده بشود.
4 حالت به صورت زیر دارد :
1- Instance-Based Transfer Learning
2- Mapping-Based Transfer Learning
3- Network-Based Transfer Learning
4- Adversarial-Based Transfer Learning
از 4 مورد فوق ، مورد سوم را توضیح میدهیم.
برای توضیحات تکمیلی به این مقاله مراجعه کنید.
مورد سوم ، Network-Based Transfer Learning نوعی از یادگیری انتقال است که در آن ، از ضرایب و ترم های بایاس بدست آمده پس از فرآیند یادگیری از سیستم یادگیری اولیه ، به عنوان ضرایب اولیه (initializing) سیستم یادگیری ثانویه استفاده میشود.
به عنوان مثال یک شبکه ی عصبی جهت تشخیص خودروهای سواری ، فرایند یادگیری را طی کرده است. سپس برای ایجاد یک شبکه ی عصبی جهت تشخیص اتوبوس ها ، میتوان وزن ها و بایاس های هر لایه را ، با مقادیر وزن ها و بایاس های هرلایه ی شبکه ی عصبی اول ( تشخیص دهنده ی خودرو های سواری) مقداردهی اولیه کرد و سپس با مجموعه داده های مناسب ، فرایند یادگیری را برای تشخیص اتوبوس ها شروع کرد.
از ویژگی های مثبت این روش میتوان به کاهش داده مورد نیاز برای فرایند یادگیری ثانویه اشاره کرد که همانطور که گفته شد ، این ویژگی برای مخابرات سیار بسیار مناسب است.
واضح است که انتخاب دو فرایند نامناسب موجب یادگیری منفی میشود!
حال به مثال زیر توجه کنید : (به جهت سادگی این مطلب ، روابط ریاضی را نشان نمیدهیم .)
مسئله ی اول : کنترل توان در شبکه های وایرلس
فرض کنیم که K آنتن فرستنده داریم و M کاربر که هرکدام N آنتن گیرنده دارند و راندمان انرژی کلی KPI مورد نظر ما است.
در این مسئله میخواهیم توان ارسالی هر آنتن را طوری انتخاب کنیم که مقدار این راندمان ماکسیمم شود
از طرفی توان ارسالی هر آنتن یک محدوده نیز دارد .
1- این مسئله باید هر دفعه که شرایط کانال عوض میشود حل بشود
2- در هر بار حل مسئله ، باید قبل از اینکه شرایط کانال تغییر کند (Coherence Time) ، حل بشود
به دلایل فوق ، مشکل پیاده سازی در این مسئله وجود دارد و این یک مسئله از دسته ی 2 است که در قسمت قبل توضیح دادیم.
طبق الگوریتم گفته شده ، ابتدا Training-Set را از رابطه های Model-Based تشکیل میدهیم. مقدار محدوده ی توان و شرایط کانال را به عنوان ورودی به شبکه ی عصبی میدهیم و مقادیر توان ارسالی هر آنتن را از خروجی دریافت میکنیم.
پس داده هایی به صورت زیر ، از حل روابط ریاضی تولید میکنیم :
به عنوان مثال اگر تعداد فرستنده ها برابر 4 و تعداد کاربران برابر 10 باشد که هرکدام 2 آنتن داشته باشند و یک شبکه ی عصبی با 6 لایه که به ترتیب 512 ، 256 ، 128 ، 64 ، 32 و 16 نورون دارند را تشکیل دهیم ، داریم : (برای مطالعه ی جزییات سیستم یادگیری به مقاله ی اصلی مراجعه شود)
میبینیم که نتایج قابل قبول هستند و لازم به ذکر است که فرایند لرنینگ به صورت آفلاین انجام میشود و اردر محاسباتی پس از اتمام فرایند یادگیری بسیار پایین تر از حل معادله ی اصلی است . پس مشکل پیچیدگی حل معادله رفع میشود.
در این حالت تعداد داده های Training Set برابر 100000 و تعداد داده های تست برابر 10000 است . چون داده ها از روی رابطه ی تئوری ساخته شده اند ، مشکلی در تعداد زیاد داده ها نداریم.
محدودیت در تعداد داده های عملی داریم که در مثال بعدی بررسی میشود.
مسئله ی دوم : راندمان انرژی شبکه های مخابرات سلولی ، با توزیع سلول ها به صورت شبکه های مربعی
در این مسئله ، اگر توزیع سلول ها به صورت توزیع پواسون باشد ، یک رابطه ی دقیق میتوانیم به دست بیاوریم ولی این رابطه برای شبکه های مربعی، یک رابطه ی غیر دقیق است ولی قابل پیاده سازی و حل .
پس با یک مسئله از دسته ی سوم درگیر هستیم . طبق الگوریتم گفته شده ابتدا با استفاده از رابطه ی غیر دقیق ، داده تولید میکنیم برای اموزش شبکه ی عصبی غیر دقیق ، سپس با پیاده سازی سیستم ، داده های عملی جمع میکنیم و فرایند یادگیری سیستم را اصلاح میکنیم ( Network-Based Transfer Learning) یعنی شبکه ی عصبی دقیق ، ضرایب وزن و بایاس شبکه ی عصبی غیر دقیق را به عنوان شرایط اولیه دارد و با تعدادی داده ی عملی ، شبکه ی عصبی دقیق ، آموزش میبیند ( در واقع شبکه ی عصبی غیر دقیق را اصلاح کردیم)
اگر سیستم در مجموع با 10000 داده اموزش ببیند و تعداد x تا از آنها داده های عملی باشد که در مرحله ی دوم استفاده میشود ، نمودار های زیر را خواهیم داشت :
همانطور که میبینم ، با تعداد 40 داده ی عملی ، مقدار خطا ، به مقدار حالتی که همه ی 10000 داده عملی باشند ، نزدیک است .
کاهش تعداد داده های عملی بسیار چشم گیر است.
در این دو قسمت سعی شد تا مفاهیم ترکیب دو متد و مزیت های آنها را بررسی کنیم. در حال حاضر روی استفاده از این متد ها در امنیت لایه ی فیزیکی مشغول هستم و امیدوارم به زودی ، نتایج کارهای شخصی خودم را هم قرار دهم .
اگر این مطلب برای شما مفید بود ، آنرا با دوستانتان به اشتراک بگذارید.
مطلبی دیگر از این انتشارات
آشنایی مقدماتی با کتابخانه پایتونی Matplotlib
مطلبی دیگر از این انتشارات
پردازش زبان طبیعی و هوش مصنوعی راهکاری به حکومتهای دمکراتیک
مطلبی دیگر از این انتشارات
دپامین(Dopamine) کتابخانه جدید گوگل برای یادگیری تقویتی(Reinforcement Learning)