صفحه قبل نحوه ترکیب یک لایه softmax را در یک شبکه عصبی عمیق برای یک سیستم توصیه توضیح داد. این صفحه نگاه دقیق تری به داده های آموزشی این سیستم دارد.
داده های آموزشی
داده های آموزشی softmax شامل ویژگی های پرس و جو \(x\) و بردار مواردی است که کاربر با آنها تعامل داشته است (به عنوان توزیع احتمال \(p\)نشان داده می شود). در شکل زیر با رنگ آبی مشخص شده اند. متغیرهای مدل وزن در لایه های مختلف هستند. در شکل زیر به رنگ نارنجی مشخص شده اند. این مدل معمولاً با استفاده از هر نوع نزول گرادیان تصادفی آموزش داده می شود.
نمونه گیری منفی
از آنجایی که تابع ضرر دو بردار احتمال\(p, \hat p(x) \in \mathbb R^n\) (به ترتیب حقیقت زمین و خروجی مدل) را با هم مقایسه می کند، محاسبه گرادیان از دست دادن (برای یک پرس و جو \(x\)) می تواند بسیار گران باشد اگر اندازه بدنه \(n\) خیلی بزرگ است.
شما می توانید سیستمی را برای محاسبه گرادیان ها فقط روی موارد مثبت (اقلامی که در بردار حقیقت زمین فعال هستند) راه اندازی کنید. با این حال، اگر سیستم فقط روی جفت های مثبت تمرین کند، مدل ممکن است از تا شدن رنج ببرد، همانطور که در زیر توضیح داده شده است.
مدل ممکن است یاد بگیرد که چگونه تعبیههای پرس و جو/مورد یک رنگ معین را نسبت به یکدیگر قرار دهد (به درستی شباهت را در آن رنگ ثبت کند)، اما جاسازیهایی از رنگهای مختلف ممکن است به طور تصادفی در همان منطقه از فضای جاسازی به پایان برسد. این پدیده که به عنوان تاشو شناخته میشود، میتواند به توصیههای جعلی منجر شود: در زمان پرس و جو، مدل ممکن است به اشتباه امتیاز بالایی را برای یک آیتم از یک گروه دیگر پیشبینی کند.
مثالهای منفی مواردی هستند که برچسب «نامرتبط» با یک پرس و جو داده میشوند. نشان دادن نمونه های منفی مدل در طول آموزش به مدل می آموزد که جاسازی های گروه های مختلف باید از یکدیگر دور شوند.
به جای استفاده از همه موارد برای محاسبه گرادیان (که ممکن است بسیار گران باشد) یا فقط از موارد مثبت استفاده کنید (که مدل را مستعد تا شدن می کند)، می توانید از نمونه گیری منفی استفاده کنید. به طور دقیق تر، شما یک گرادیان تقریبی را با استفاده از موارد زیر محاسبه می کنید:
- همه موارد مثبت (آنهایی که در برچسب هدف ظاهر می شوند)
- نمونه ای از موارد منفی (\(j\) در \({1, …, n}\))
استراتژی های مختلفی برای نمونه گیری منفی وجود دارد:
- می توانید به صورت یکنواخت نمونه برداری کنید.
- شما می توانید به موارد j با امتیاز بالاتر \(\psi(x) . V_j\)احتمال بیشتری بدهید. به طور شهودی، اینها نمونه هایی هستند که بیشترین کمک را به گرادیان می دهند). این نمونه ها اغلب منفی های سخت نامیده می شوند.
در فاکتورسازی ماتریس در مقابل softmax
مدلهای DNN بسیاری از محدودیتهای فاکتورسازی ماتریس را حل میکنند، اما معمولاً برای آموزش و جستجو گرانتر هستند. جدول زیر برخی از تفاوت های مهم بین این دو مدل را خلاصه می کند.
فاکتورسازی ماتریسی | سافت مکس DNN | |
---|---|---|
ویژگی های پرس و جو | گنجاندن آن آسان نیست. | می تواند گنجانده شود. |
شروع سرد | به راحتی پرس و جوها یا موارد خارج از واژگان را رسیدگی نمی کند. می توان از برخی اکتشافی ها استفاده کرد (به عنوان مثال، برای یک پرس و جو جدید، تعبیه متوسط پرس و جوهای مشابه). | به راحتی پرس و جوهای جدید را مدیریت می کند. |
تاشو | تاشو را می توان به راحتی با تنظیم وزن مشاهده نشده در WALS کاهش داد. | مستعد تا شدن. نیاز به استفاده از تکنیک هایی مانند نمونه گیری منفی یا جاذبه. |
مقیاس پذیری آموزش | به آسانی تا مجموعه های بسیار بزرگ (شاید صدها میلیون مورد یا بیشتر) مقیاس پذیر است، اما فقط در صورتی که ماتریس ورودی پراکنده باشد. | مقیاس کردن به مجموعه های بسیار بزرگ سخت تر است. می توان از برخی تکنیک ها مانند هش کردن، نمونه برداری منفی و غیره استفاده کرد. |
مقیاس پذیری خدمت | جاسازیهای U، V ثابت هستند و مجموعهای از نامزدها را میتوان از قبل محاسبه و ذخیره کرد. | جاسازی های آیتم V ثابت هستند و می توانند ذخیره شوند. تعبیه پرس و جو معمولاً باید در زمان پرس و جو محاسبه شود و سرویس مدل را گران تر می کند. |
به طور خلاصه:
- فاکتورسازی ماتریسی معمولاً انتخاب بهتری برای اجسام بزرگ است. مقیاس پذیری آن آسان تر، پرس و جو ارزان تر و کمتر مستعد تا شدن است.
- مدلهای DNN میتوانند ترجیحات شخصیسازیشده را بهتر دریافت کنند، اما آموزش آنها سختتر و پرسوجو گرانتر است. مدلهای DNN برای امتیازدهی به فاکتورسازی ماتریسی ارجحیت دارند زیرا مدلهای DNN میتوانند از ویژگیهای بیشتری برای گرفتن ارتباط بهتر استفاده کنند. همچنین، معمولاً تا کردن مدلهای DNN قابل قبول است، زیرا شما بیشتر به رتبهبندی یک مجموعه از پیش فیلتر شده از نامزدها که فرض میشود مرتبط هستند اهمیت میدهید.