LightGCN چیست؟
LightGCN مدلی است که در سیستمهای توصیهگر به کار میرود و از معماری شبکههای عصبی کانولوشنی گرافی (GCN) استفاده میکند. این مدل بر سادگی تأکید دارد و به جای استفاده از عملیاتهای پیچیده در سایر مدلهای GCN، رویکردی مستقیم برای یادگیری تعبیههای کاربر و آیتم از طریق گسترش وزنهای همسایگی در گراف دارد.
در LightGCN، تابع هدف برای آموزش بهینهسازی شده است تا اختلاف بین تعاملات مثبت واقعی کاربر با آیتمها و تعاملات منفی تصادفی را به حداقل برساند. این کار به مدل کمک میکند تا ترجیحات کاربران را دقیقتر شناسایی کرده و پیشبینیهای بهتری ارائه دهد.
1. مدل LightGCN
LightGCN یک نسخه سادهشده از Neural Graph Collaborative Filtering (NGCF) است که GCNها را در سیستمهای توصیهگر به کار میبرد.
1.1 شبکههای گراف در سیستمهای توصیهگر
GCNها شبکههایی هستند که میتوانند الگوها را در دادههای گرافی یاد بگیرند. آنها میتوانند در زمینههای متعددی به کار روند، اما بهخصوص برای سیستمهای توصیهگر مناسب هستند، زیرا قابلیت نمایش روابط را دارند.
در مدلهای سنتی مانند matrix factorization، کاربران و آیتمها به صورت embeddings نمایش داده میشوند. و تعامل، که سیگنالی است که رفتار را نمایش میدهد، بخشی از embeddings نیست، بلکه در تابع زیان نمایش داده میشود، معمولاً به صورت حاصلضرب نقطهای.
با وجود اثربخشی آنها، برخی نویسندگان استدلال میکنند که این روشها برای به دست آوردن embeddings رضایتبخش برای فیلتر مشارکتی (collaborative filtering) کافی نیستند. دلیل اصلی این است که تابع embedding فاقد نمایش مستقیم سیگنال همکاری است، که در تعاملات کاربر-آیتم پنهان است تا شباهت رفتاری بین کاربران (یا آیتمها) را آشکار سازد.
GCNها میتوانند برای نمایش سیگنال تعامل در embeddings به کار روند. آیتمهایی که با آنها تعامل شده به عنوان ویژگیهای کاربر دیده میشوند، زیرا شواهد مستقیمی در مورد ترجیحات کاربر ارائه میدهند. به طور مشابه، کاربرانی که یک آیتم را مصرف میکنند، میتوانند به عنوان ویژگیهای آیتم تلقی شوند و برای اندازهگیری شباهت همکارانه دو آیتم به کار روند. یک راه طبیعی برای دربرگیری سیگنال تعامل در embedding، استفاده از اتصالات درجهبالا از تعاملات کاربر-آیتم است.
در شکل زیر، تعامل کاربر-آیتم نشان داده شده (در سمت چپ) و همچنین مفهوم اتصالات درجهبالا (در سمت راست) نمایش داده شده است.
اتصالات درجهبالا نشاندهنده سیگنال همکاری در یک فرم گرافی است. به عنوان مثال، مسیر نشان میدهد که رفتار شبیهسازی بین و وجود دارد، زیرا هر دو کاربر با تعامل داشتهاند؛ مسیر طولانیتر نشان میدهد که احتمالاً را انتخاب خواهد کرد، زیرا کاربر مشابه قبلاً را مصرف کرده است. علاوه بر این، از دیدگاه کلی با ، آیتم احتمالاً برای جالبتر است تا ، زیرا دو مسیر را به وصل میکنند، در حالی که تنها یک مسیر را به متصل میکند.
بر اساس این اتصالات درجهبالا، NGCF یک لایه انتشار تعبیه را تعریف میکند که تعبیه کاربر (یا آیتم) را با جمعآوری تعبیههای آیتمهای تعاملیافته تصفیه میکند. با قرار دادن چندین لایه انتشار تعبیه، میتوانیم سیگنال همکاری را در اتصالات درجهبالا تقویت کنیم.
به طور رسمی، فرض کنید تعبیه اصلی کاربر و تعبیه اصلی آیتم است. انتشار تعبیه به صورت بازگشتی به این صورت محاسبه میشود:
که در آن و ماتریسهای وزن قابل آموزش، یک عامل تخفیف بیان شده به عنوان نرم لاپلاسین گراف است، و و همسایههای اولیه کاربر و آیتم را نشان میدهند و یک تابع غیرخطی است که در مقاله به عنوان LeakyReLU تنظیم شده است.
برای به دست آوردن نمایندگی نهایی، هر تعبیه منتشر شده به هم پیوسته میشود (یعنی ) و سپس ترجیح نهایی کاربر بر روی یک آیتم به عنوان حاصلضرب نقطهای محاسبه میشود: .
منبع: https://github.com/recommenders-team/recommenders/blob/main/examples/02_model_collaborative_filtering/lightgcn_deep_dive.ipynb
دیدگاهتان را بنویسید