论文总结《Adversarial Personalized Ranking for Recommendation(APR)》

news2024/11/26 20:36:27

原文链接

APR、

本篇论文是对抗训练在RS领域的先锋作,在这篇文章前对抗训练应用在图像领域,以提高模型鲁棒性。本篇论文填补了对抗训练在RS领域的空缺,首次基于BPR进行对抗训练,以提高RS排序模型的鲁棒性。

Motivation

文章在Session 2部分对MF的隐空间的扰动是否会造成推荐性能的下降,分析了BPR-MF是脆弱的。

首先在BPR-MF隐空间(不在输入进行扰动是因为,userID/itemID是离散的,扰动会变更其语义),即参数空间添加如下的扰动:
在这里插入图片描述
因为BPR的目标函数的非线性性质,求解最大值很棘手,于是文章借用FGSM的思想,近似目标函数为线性函数,近似扰动的最大值为:
在这里插入图片描述
这里 Γ / ∣ ∣ Γ ∣ ∣ \Gamma/||\Gamma|| Γ/∣∣Γ∣∣表示的扰动的方向,而 ϵ \epsilon ϵ则控制扰动的大小,指的是直接沿着梯度的方向更新(在线性假设下)。

在这里插入图片描述

上图实验表明有针对设计的扰动确实比随机扰动会使得性能下降,说明了BPR-MF对训练数据过拟合,不具有鲁棒性。为了解决这个问题,作者提出了APR,即Adversarial Personalized Ranking模型。

Contributions

  1. 分析了BPR模型对扰动敏感,不具有鲁棒性,训练较好的BPR模型过拟合
  2. 提出了APR框架,即在RS领域的对抗训练

APR

APR的目标函数如下:在这里插入图片描述

为了训练鲁棒的排序模型,目标函数首先最大化扰动,使得扰动对模型的破坏最大,然后在普通的BPR loss上加上对样本进行扰动过后的BPR loss,其中 λ \lambda λ 超参数衡量两部分的比例。从而最小化该目标函数使得在具有一般样本及扰动样本的情况下训练模型,其中扰动项可以视为一种正则化项,防止模型的过拟合。这本质上是一种minimax game:
在这里插入图片描述

下面逐项分析

Δ \Delta Δ 最大值

BPR带上扰动的损失函数为:
在这里插入图片描述因为许多模型,例如bilinear MF以及MLP都是非线性的,因此直接求出 Δ \Delta Δ最大值较为棘手,因此根据Motivation部分的分析, Δ \Delta Δ最大值近似为:

在这里插入图片描述

其中:
在这里插入图片描述

模型参数 Θ \Theta Θ最小

因此,APR(基于BPR)的目标函数为:

在这里插入图片描述
利用SGD进行更新即为:

在这里插入图片描述

其中:
在这里插入图片描述
注意,在训练过程中BPR的初始化因为训练好的BPR,因为只有在BPR过拟合的情况下,添加扰动才是合理的,因此参数 Θ \Theta Θ可以从预训练模型中取得。

APR实例,基于MF的APR(AMF)

即在MF模型上使用APR框架,模型结构如下所示:

在这里插入图片描述

其中目标函数以及梯度可以按照APR框架得到,这里省略,有兴趣可以参考原文。

EXPERIMENTS

数据集

在这里插入图片描述
实验部分文章主要介绍了

  1. HR,NDCG随着epoch增加变化的表现
  2. 不同embedding size对应的指标大小
  3. 与baseline的对比实验
  4. 以及扰动参数 ϵ \epsilon ϵ和扰动项权重 λ \lambda λ不同大小的实验

详细可以参考原文

总结与思考

这篇文章提出了一个在RS领域应用对抗训练提高模型的鲁棒性。

在阅读文章过程中我有几点问题/想法

  1. 目标函数是minmax game,那么是否可以用GAN的方法来同时更新扰动 Δ \Delta Δ以及 Θ \Theta Θ,即训练 Δ \Delta Δ使得模型尽可能差,同时训练 Θ \Theta Θ使得模型尽可能抵抗这种扰动
  2. 这篇文章的扰动仅仅是在浅层,是否可以对更加深层次扰动,效果会不会更好?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/877706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python脚本之连接MySQL【四】

本文为博主原创,未经授权,严禁转载及使用。 本文链接:https://blog.csdn.net/zyooooxie/article/details/124640412 之前写了篇 Python脚本之连接MySQL【三】,日常使用过程中,代码实际有很多改动,特此更新…

数据分析--帆软报表--大数据大屏

进入国企公司学习有一段时间了,岗位是数据分析方向------ 母前使用的是帆软工具进行的开发。 可以进行大数据大屏 也可使嵌入到手机端。 下面是例子

IntelliJ IDEA快捷键大全 + 动图演示

IntelliJ IDEA快捷键大全 动图演示 😍 一、构建/编译Ctrl F9:构建项目Ctrl Shift F9:重新编译当前类 😍 二、文本编辑Ctrl X:剪切Ctrl C:复制Ctrl V:粘贴Ctrl Alt Shift V&#xff1a…

Nginx安装及Minio集群反向动态代理配置(二)

安装所需插件 1、安装gcc gcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C,Ada,Object C和Java等语言 命令:查看gcc版本 [rootwww ~]# gcc -v -bash: gcc: 未找到命令 说明没有安装: 那就直接yu…

mclust学习总结

mclust example1 import numpy as np import pandas as pd from matplotlib import pyplot as plt from sklearn.datasets import make_blobs X, y make_blobs(n_samples300, centers4, cluster_std0.60, random_state0) # n_features2是默认的 plt.scatter(X[:,0], X[:,1]) …

Java【数据结构】二分查找

&#x1f31e; 题目&#xff1a; &#x1f30f;在有序数组A中&#xff0c;查找目标值target &#x1f30f;如果找到返回索引 &#x1f30f;如果找不到返回-1 算法描述解释前提给定一个内含n个元素的有序数组A&#xff0c;满足A0<A1<A2<<An-1,一个待查值target1设…

如何利用 EMC 模型解决能源服务提供商的瓶颈

01. 什么是合同能源管理&#xff1f; 合同能源管理(EMC-Energy Management Contract) 是一种新型的市场化节能机制,其实质就是以减少的能源费用来支付节能项目全部成本的节能投资方式。&#xff1a;节能服务公司与用能单位以契约形式约定节能项目的节能目标&#xff0c;节能服…

在 ubuntu 18.04 上使用源码升级 OpenSSH_7.6p1到 OpenSSH_9.3p1

1、检查系统已安装的当前 SSH 版本 使用命令 ssh -V 查看当前 ssh 版本&#xff0c;输出如下&#xff1a; OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 20172、安装依赖&#xff0c;依次执行以下命令 sudo apt update sudo apt install build-essential zlib1g…

springBoot 简单的demo

springBoot 学习开始 场景开发流程1、创建项目2、导入依赖3、创建启动springBoot 项目的主入口程序4、创建业务程序5、在MainApplication文件运行程序6、将文件打包成jar包 遇到的问题未解决 希望大哥们帮忙--本地运行jar包报错 场景 浏览器发送hello请求&#xff0c;返回“he…

培训报名小程序-用户注册

目录 1 创建数据源2 注册用户3 判断用户是否注册4 完整代码总结 我们的培训报名小程序&#xff0c;用户每次打开时都需要填写个人信息才可以报名&#xff0c;如果用户多次报名课程&#xff0c;每次都需要填写个人信息&#xff0c;比较麻烦。 本篇我们就优化一下功能&#xff0c…

[静态时序分析简明教程(十)]模式分析与约束管理

静态时序分析简明教程-组合电路路径 一、写在前面1.1 快速导航链接 二、模式分析三、约束管理3.1 自顶向下的方法3.2 自底向上的方法 四、总结 一、写在前面 一个数字芯片工程师的核心竞争力是什么&#xff1f;不同的工程师可能给出不同的答复&#xff0c;有些人可能提到硬件描…

新品牌怎么进行产品营销,小红书布局指南!

随着互联网的快速发展&#xff0c;新品牌们逐渐意识到小红书这一平台的潜力。平台庞大的用户群体和高度活跃的内容创作者&#xff0c;成为新品牌布局的理想之地。今天&#xff0c;就来和大家分享一下新品牌怎么进行产品营销&#xff0c;小红书布局指南&#xff01; 第一步&…

ARM 作业1

一、思维导图 二、 1. 2. .text 文本段 .globl _start 声明_start:mov r0,#0mov r1,#0fun:cmp r1,#100bhi stopadd r0,r0,r1add r1,r1,#1b fun stop:b stop .end

简单谈谈 EMP-SSL:自监督对比学习的一种极简主义风

论文链接&#xff1a;https://arxiv.org/pdf/2304.03977.pdf 代码&#xff1a;https://github.com/tsb0601/EMP-SSL 其他学习链接&#xff1a;突破自监督学习效率极限&#xff01;马毅、LeCun联合发布EMP-SSL&#xff1a;无需花哨trick&#xff0c;30个epoch即可实现SOTA 主要…

图解结构体大小和位域例子

struct A {short a; char b; int c : 1; char d : 4; short e : 7; }; 备注&#xff1a;蓝色&#xff1a;表示占一个符号位空间红色&#xff1a;表示补齐其他颜色&#xff1a;实际最大值所占空间 &#xff08;1&#xff09;图解例1 st…

ASPICE学习笔记

文章目录 1. ASPICE是什么?2. ASPICE能干什么?2.1 过程参考模型2.2 过程评估模型参考1. ASPICE是什么? ASPICE的全称是Automotive SPICE。很明显的看出ASPICE是由SPICE发展而来。而SPICE是由国际标准化组织ISO、国际电工委员会IEC、信息技术委员会JTC1发起制定的ISO15504标…

VSCODE[配置ssh免密远程登录]

配置ssh免密远程登录 本文摘录于&#xff1a;https://blog.csdn.net/qq_44571245/article/details/123031276只是做学习备份之用&#xff0c;绝无抄袭之意&#xff0c;有疑惑请联系本人&#xff01; 这里要注意如下几个地方: 1.要进入.ssh目录创建文件: 2.是拷贝带"ssh-…

Android面试官:“来给我讲讲View绘制?”

前言 迎面走来的一位中年男子&#xff0c;他一手拿着保温杯&#xff0c;一手抱着笔记本电脑&#xff0c;顶着惺忪的睡眼&#xff0c;不紧不慢地走着&#xff0c;不多的几根头发在他头顶自由飞翔。过了一会&#xff0c;他面对着我坐下&#xff0c;放下电脑和保温杯&#xff0c;…

【腾讯云Cloud Studio实战训练营】用Vue+Vite快速构建完成律师H5页面

&#x1f440;前置了解&#xff1a;(官网 https://cloudstudio.net/) 什么是Cloud Studio&#xff1f; Cloud Studio 是基于浏览器的集成式开发环境&#xff08;IDE&#xff09;&#xff0c;为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装&#…

计算机设计大赛国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统

文章目录 一、计算机设计大赛国赛一等奖二、项目背景三、项目简介四、系统架构五、系统功能结构六、项目特色&#xff08;1&#xff09;多端融合&#xff08;2&#xff09;数据可视化&#xff08;3&#xff09;计算机视觉&#xff08;目标检测&#xff09; 七、系统界面设计&am…