tgoop.com/WazowskiRecommends/24
Last Update:
Есть такой алгоритм коллаборативной фильтрации Implicit ALS (IALS). Я про него уже упомянал. В донейросетевую эпоху это был чуть ли не самый популярный алгоритм. Его отличительная черта — эффективный "майнинг" негативов: все пары пользователь-объект без истории взаимодействия выступают негативами (с меньшим весом, чем настоящие взаимодействия). Причём, в отличие от настоящего майнинга, здесь негативы не сэмплируются, а на каждой итерации используются прямо все такие негативные пары. Такая implicit-регуляризация.
Как же это возможно? Ведь при разумных размерах задачи (количестве пользователей и объектов) негативов должно быть настолько много, что даже их перечисление будет дольше всего процесса обучения. Красота алгоритма в том, что, благодаря использованию MSE-лосса и методу наименьших квадратов, можно заранее (перед каждой полной итерацией) предпосчитать что-то отдельно для всех пользователей и отдельно для всех объектов и этого хватит для того, чтобы делать implicit-регуляризацию. Так удаётся избежать квадратичного размера. (За подробностями предлагаю обратиться к одной из моих любимых статей тех времён.)
Пару лет назад я задумался: а можно ли как-то совместить эту прекрасную идею implicit-регуляризации с более продвинутой технологией двух-башенных нейросетей. Вопрос непростой, ведь там и стохастическая оптимизация вместо full batch, да и переходить обратно на MSE-лосс не хочется (по крайней мере, для всей задачи, конкретно для регуляризации — ещё ладно), он даёт худшие результаты.
Думал, думал и придумал! И пару недель ходил воодушевлённый, в ожидании того, как мы это попробуем вместо in-batch негативов.
А потом, конечно же (как это часто бывает в подобных случаях), прочитал в статье, что всё уже придумали за три года до этого. И снова Google. И потом они в той самой статье про logQ correction, про которую я уже говорил, показали, что softmax loss с in-batch негативами работает лучше, чем implicit-регуляризация.
Вот так мы смогли сэкономить и не проверять эту идею 🙂
А в комментах напишу другую свою идею на схожую тему, которую мы тоже не успели попробовать, но и в литературе я её не встречал.
BY Wazowski Recommends
Share with your friend now:
tgoop.com/WazowskiRecommends/24