论文标题
Autolossgen:推荐系统的自动损失功能生成
AutoLossGen: Automatic Loss Function Generation for Recommender Systems
论文作者
论文摘要
在推荐系统中,损失功能的选择至关重要,因为良好的损失可能会显着改善模型性能。但是,由于问题的复杂性,手动设计良好的损失是一个巨大的挑战。以前的很大一部分工作集中在手工制作的损失功能上,这些功能需要大量的专业知识和人为努力。在本文中,受自动化机器学习的最新开发的启发,我们提出了一个自动损失功能生成框架自动货币,该框架能够生成直接从基本数学运算符构建的损失函数,而没有事先了解损失结构。更具体地说,我们开发了一个由强化学习驱动的控制器模型,以产生损失功能,并制定迭代和交替的优化时间表,以更新控制器模型和建议模型的参数。推荐系统中自动损失产生的一个挑战是推荐数据集的极端稀疏性,这导致了产生损失和搜索的稀疏奖励问题。为了解决问题,我们进一步开发了一种奖励过滤机制,以产生有效的损失。实验结果表明,我们的框架设法为不同的推荐模型和数据集创建了量身定制的损失功能,而产生的损失比常用的基线损失提供了更好的建议性能。此外,大多数生成的损失都是可转移的,即基于一个模型产生的损失,数据集也适用于另一个模型或数据集。该作品的源代码可在https://github.com/rutgerswiselab/autolossgen上获得。
In recommendation systems, the choice of loss function is critical since a good loss may significantly improve the model performance. However, manually designing a good loss is a big challenge due to the complexity of the problem. A large fraction of previous work focuses on handcrafted loss functions, which needs significant expertise and human effort. In this paper, inspired by the recent development of automated machine learning, we propose an automatic loss function generation framework, AutoLossGen, which is able to generate loss functions directly constructed from basic mathematical operators without prior knowledge on loss structure. More specifically, we develop a controller model driven by reinforcement learning to generate loss functions, and develop iterative and alternating optimization schedule to update the parameters of both the controller model and the recommender model. One challenge for automatic loss generation in recommender systems is the extreme sparsity of recommendation datasets, which leads to the sparse reward problem for loss generation and search. To solve the problem, we further develop a reward filtering mechanism for efficient and effective loss generation. Experimental results show that our framework manages to create tailored loss functions for different recommendation models and datasets, and the generated loss gives better recommendation performance than commonly used baseline losses. Besides, most of the generated losses are transferable, i.e., the loss generated based on one model and dataset also works well for another model or dataset. Source code of the work is available at https://github.com/rutgerswiselab/AutoLossGen.