Visually-Aware Fashion Recommendation and Design with Generative Image Models
题目翻译:基于生成图像模型的视觉感知时尚推荐与设计
原论文地址:
标签:时尚推荐、视觉感知推荐、深度学习推荐系统、孪生神经网络、孪生神经网络
摘要
在时尚等领域构建高效的推荐系统具有挑战性,因为这些领域高度主观且所涉及特征(即时尚风格)语义复杂。近期研究表明,通过将视觉信号直接纳入推荐目标,并使用深度网络“现成”的特征表示,对“视觉”推荐(如服装、艺术等)能显著提高准确性。在此基础上,我们提出了一种方法:通过从像素级开始联合训练图像表示和推荐系统,直接学习“时尚感知”图像特征,从而显著提升推荐性能;这一贡献与近期使用孪生卷积神经网络(Siamese CNN)的工作相关,但我们能够在基于预训练视觉特征的最先进推荐技术(如 BPR 及其变体)之上取得性能改进。此外,我们展示了模型的生成能力:给定用户和产品类别,我们可以生成最符合其个人品味的新图像(即服装款式)。这代表了构建超越从现有产品库推荐已有商品、能够建议风格并辅助新产品设计的系统的初步尝试。
一、前言
推荐系统的目标是基于大量的历史反馈,为用户提供个性化的建议,通过发掘描述用户偏好和待消费物品特性的潜在维度来实现这一目标。传统方法通常是训练预测算法,以识别(或排序)那些用户可能会点击、购买(或共同购买)或给予高评价的物品。在时尚等领域,这一任务尤为具有挑战性,原因包括:商品种类呈长尾分布且不断有新款推出(冷启动问题);用户偏好和产品风格会随时间变化;更为关键的是,决定什么是“时尚”的语义极其复杂。
近年来,人们开始尝试通过构建“视觉感知”的推荐系统来应对这些挑战,即将视觉信号直接纳入推荐目标。最简单的做法是采用“现成”的视觉特征,并将其融入内容感知推荐系统[1]。虽然此类方法提取的特征(例如从 Caffe[2] 中获得的 CNN 特征)主要描述了高级属性(如颜色、纹理、形状),未必能捕捉到“时尚”的微妙特征,但在“冷启动”场景中,这些高级图像特征依然非常有效。此类工作已经扩展到融合时间和 社交信号,并在艺术推荐等其他场景中对视觉因素进行建模[3],[4]。
与此平行的研究方向致力于使用卷积神经网络开发新的图像表示。这既包括通用的图像分类模型,也包括专门为时尚领域设计的模型,例如通过在大规模共同购买(co-purchase)二元组语料上训练,以识别可搭配的商品[5]。
在本文中,我们尝试将上述两条研究路线结合起来,通过专门针对时尚推荐而训练图像表示。换句话说,我们希望利用图像内容(从像素层面)来构建推荐系统。这一思路遵循了将表示学习技术融入推荐系统的最新趋势[6],在方法上最类似于[7]中使用某种类型的孪生网络对图像间比较判断进行建模的工作。我们改编了流行的贝叶斯个性化排序(BPR)[8]公式,通过孪生网络将图像内容纳入其中,并展示了相较于原始BPR及其利用预训练表示的扩展方法[1]的显著性能提升。
除展示改进的推荐与检索性能外,我们的第二项贡献在于证明了该模型可与生成对抗网络(GAN)[9] 相结合,以生成与训练语料库一致、并可针对特定用户进行条件控制的图像。换言之,给定某一用户和产品类别,我们能够生成一张最符合其个人偏好模型的新商品图像。该思路利用 GAN 将离散的时尚图像空间映射到连续潜在空间,从而使我们能够探索潜在的时尚款式范围、对现有款式提出修改建议,或为特定用户量身定制新款。所生成的图像在视觉上既真实可信,又与训练语料明显不同;这代表了利用推荐系统不仅仅提议现有商品,而是辅助新款设计的初步尝试。
在方法层面,我们的系统基于 BPR[8] 和孪生网络[10] 构建可“视觉感知”的个性化推荐系统:对于每个用户,系统基于商品的潜在属性及其图像,通过成对比较已购买与未购买项来优化偏好预测,从而生成个性化偏好模型及购买排序。接着,我们将该学习系统与 GAN 结合:给定用户和产品类别,合成网络会搜索低维潜在编码,迭代生成能够最大化个人目标值的商品图像。此过程类似于激活最大化方法[11]。
在实验方面,我们选用包含数十万用户、商品及评论的 Amazon 时尚推荐数据集[12] 进行评估。定量结果表明,与原始 BPR 及基于预训练视觉特征的扩展方法[1],[8]相比,我们的方法在 AUC 等指标上达到了最先进水平。同时,我们的 GAN 架构能够为每位用户合成目标值显著高于现有语料库商品的新图像。定性分析则展示了系统生成的服装图像既多样又可信,可用于探索时尚商品空间,并识别与个体偏好高度匹配的款式。这与近期旨在提升推荐系统可解释性、生成“更丰富”推荐的研究趋势相契合;我们的系统不仅能推荐现有商品,还能帮助用户与设计师发掘新风格、设计新产品。
图 1 展示了系统整体框架:在推荐(检索)方面,采用孪生 CNN 架构,将其最终层输出视为商品表示并用于偏好预测;在图像合成方面,则采用生成对抗网络框架,训练生成器与判别器,使生成图像的分布与训练语料一致,难以被区分。我们在多种设计场景下验证了该框架的有效性。
图1
思考一下,这篇文章到底要做个什么事情?
联合训练时尚推荐模型和图像特征
过去的“视觉推荐”大多是先用现成的深度网络(比如 Caffe、ImageNet 预训练模型)提取图像特征,然后再把这些特征当成附加信息,插到推荐算法里。但这样提取到的只是“颜色、纹理、形状”这类通用信息,并不能真正抓住“时尚”这个高度语义化的概念。作者改进的方法是从像素层面出发**,直接把图像特征学习(用 Siamese CNN 架构)和推荐目标(用 BPR 排序框架)绑在一起,一起训练**。这样学出来的图像表示就更“懂时尚”——推荐结果在冷启动和普通场景下,准确度都比只用预训练特征的做法高。用 GAN 生成符合个人品味的新款式
不满足于只从现有商品里挑,作者第二步把学好的“时尚感知”推荐模型接到生成对抗网络(GAN)上。给定一个用户和一个产品类别(比如“连衣裙”),GAN 会在潜在空间里搜索,直接生成一张最能打动这个用户的全新衣服图像。生成出来的款式看起来真实可信,又和已有商品不完全一样,能帮助设计师或用户探索和创造新风格。通俗地说,作者做了一个既能“看图推荐”,又能“凭空设计”衣服的系统:
- 它先学会怎么看图、懂时尚,再根据用户历史偏好给出推荐;
- 更进一步,还能帮你“画”出一件最符合你口味的全新衣服。
二、相关工作
推荐系统:推荐系统的核心在于基于用户的点击、购买或其他交互的历史观测,建模用户与商品之间的“匹配度”。矩阵分解(MF)方法通过挖掘潜在维度,使得用户在该潜在空间中的表示与他们评分较高的商品相近,因而成为许多最先进方法的基础。我们关注的是来自隐式反馈的个性化排序问题(例如区分购买与未购买,而非直接预测评分),这在于“未观测”(如未购买)数据的含义存在歧义。近来,**基于点估计(point-wise)和基于成对比较(pairwise)**的方法已成功地将矩阵分解技术改造用于应对这一挑战。
点式方法假设未观测到的反馈本质上为负面,并将该任务转化为回归问题,或通过为反馈关联“置信度”来实现[13],或通过将未观测到的反馈采样为负实例来实现[14]。
**成对(pairwise)**方法基于一个更弱但更现实的假设:正向反馈仅需比未观测反馈“更受偏好”。此类方法直接优化反馈的排序(以 AUC 为度量),在隐式反馈数据集上可谓当前的最优方案。特别是,贝叶斯个性化排名(BPR)已在实验中证明优于多种强有力的基线方法[8]。此外,BPRMF(即以矩阵分解作为底层预测器的 BPR)已成功扩展以融合(预训练的)视觉信号[1],也是我们构建模型所依托的框架。
基于深度学习的推荐系统:已有多种方法尝试将“深度”学习引入推荐系统[6],包括利用内容信号的系统,例如用于 YouTube 视频推荐的系统[18]。我们的工作同样属于深度推荐系统,但在数据模态方面与现有方法大多正交,仅有以下几种例外情况。
**视觉感知推荐系统:**近期的研究提出了视觉感知推荐系统,在这些系统中,用户的评分维度通过系统中的视觉信号(产品图片)来建模。实验证明,这些视觉维度在链接预测任务中非常有效,比如推荐可替代商品(例如两件相似的 T 恤)和互补商品(例如一件 T 恤和一条配套裤子)[12],以及兴趣点(POI)推荐[19]。与我们工作最相近的是一项最近的方法,它扩展了 BPR-MF,以融合视觉维度来促进商品推荐任务[1]。我们在此框架基础上进一步改进,表明通过“端到端”学习(而非使用预训练特征)可以获得显著更高的性能。
**时尚与服装风格:**除了上述方法之外,在推荐系统之外的场景中,建模时尚或风格特征已成为计算机视觉领域的热门任务[20]–[22],例如旨在对图像进行分类或特征提取,而不一定要构建任何“用户”模型。这包括将图像归类为某种特定风格[23],以及评估商品(或个人[24])的搭配适合度[12]、[25]。
**图像生成与生成对抗网络:**生成对抗网络(GAN)是一种无监督学习框架,其中两个组件“对抗”以生成逼真的输出(尤其是图像)[9]。其中一个组件(生成器)被训练用于生成图像,而另一个组件(判别器)被训练用于区分真实图像与生成图像。因此,生成的图像在“真实感”上被优化,使其在视觉上难以与数据集中真实图像区分。
总结来说,我们的方法与大多数推荐方法的主要区别在于引入了视觉信号,并且通过使用更丰富的图像表示来扩展了视觉感知推荐的研究;这使得我们在个性化排序任务上达到了最先进的性能。最具创新之处在于,我们能够以生成式方式使用该系统,从而提出一种可帮助探索和设计新商品的推荐系统形式。
三、方法论
我们的系统包含两个重要部分:一个用于视觉推荐的组件(本质上是将孪生卷积神经网络与贝叶斯个性化排序相结合),以及一个用于图像生成的组件(基于生成对抗网络)。我们的符号定义见表 I。下面分别描述这两个组件。
表1
符号 | 含义 |
---|---|
U, I | 用户集合 和 物品集合 |
I u + I_u^+ Iu+ | 用户 u u u 的正向物品集合 |
x u , i ∈ R x_{u,i}\in \mathbb{R} xu,i∈R | 用户 u u u 对物品 i i i 的预测得分 |
K ∈ N K\in \mathbb{N} K∈N | 潜在因子(维度)大小 |
θ u ∈ R K \theta_u\in \mathbb{R}^K θu∈RK | 用户 u u u 的潜在因子向量 |
Φ \Phi Φ | 用于特征提取的卷积网络 |
D D D | GAN 中的判别器 |
G G G | GAN 中的生成器 |
z ∈ [ − 1 , 1 ] 100 z\in[-1,1]^{100} z∈[−1,1]100 | 生成器的潜在输入编码 |
Δ , ∇ \Delta, \nabla Δ,∇ | 图像放大/缩小算子 |
X i ∈ R 224 × 224 × 3 X_i\in \mathbb{R}^{224\times224\times3} Xi∈R224×224×3 | 物品 i i i 的产品图像 |
X c X_c Xc | 类别 c c c 的产品图像集合 |
A. 可视感知推荐系统
我们首先开发了一种端到端的视觉感知深度贝叶斯个性化排序方法(称为 DVBPR),以同时提取任务驱动的视觉特征并学习用户潜在因子。我们首先在隐式反馈场景下定义视觉感知推荐问题,并引入我们的偏好预测函数;随后概述模型训练过程。
**问题定义:**我们在隐式反馈场景下考虑推荐问题(例如购买/点击历史,而非评分)。在隐式反馈设置中,没有明确的负反馈;我们的目标是对物品进行排序,使“已观测”物品的排名高于未观测物品[8]。这种方法在先前的视觉推荐研究中已被证明有效[1],我们将与之对比我们的实验结果。
我们用 U U U 和 I I I 分别表示平台中的用户集合和物品集合。在我们的隐式反馈数据集中, I u + I_u^+ Iu+ 表示用户 u u u 表示过正向反馈(如购买、点击)的所有物品的集合。每个物品 i ∈ I i \in I i∈I 都关联有一张图像,记作 X i X_i Xi。我们的目标是为每位用户 u u u 在其尚未交互过的物品中生成个性化的排序。
偏好预测器:矩阵分解(MF)方法在评分预测和隐式反馈建模方面均表现出最先进的性能[8][31]。一个用于预测用户
u
u
u 对物品
i
i
i 偏好的基本预测函数(我们在此将其作为构建模块)为:
x
u
,
i
=
α
+
β
u
+
β
i
+
γ
u
⊤
γ
i
,
x_{u,i} = \alpha + \beta_u + \beta_i + \gamma_u^\top \gamma_i,
xu,i=α+βu+βi+γu⊤γi,
其中, α \alpha α 是全局偏置项, β u \beta_u βu 和 β i \beta_i βi 分别是用户和物品的偏置, γ u \gamma_u γu 和 γ i \gamma_i γi 分别是描述用户 u u u 和物品 i i i 的潜在因子向量。这些潜在因子可以视为用户的“偏好”与物品的“属性”,当二者兼容时,用户更有可能与该物品发生交互。
先前的视觉感知推荐模型利用预训练的视觉特征(如文献 1 1 1),通过将视觉特征嵌入低维空间来添加额外的物品因子,其预测函数为:
x u , i = α + β u + β i + γ u ⊤ γ i ⏟ 潜在用户–物品偏好 + θ u ⊤ ( E f i ) ⏟ 视觉用户–物品偏好 x_{u,i} = \alpha + \beta_u + \beta_i \;+\;\underbrace{\gamma_u^\top \gamma_i}_{\text{潜在用户–物品偏好}} \;+\;\underbrace{\theta_u^\top (E\,f_i)}_{\text{视觉用户–物品偏好}} xu,i=α+βu+βi+潜在用户–物品偏好 γu⊤γi+视觉用户–物品偏好 θu⊤(Efi)
- θ u \theta_u θu 是用户 u u u 的(潜在的)视觉偏好向量。
- f i ∈ R 4096 f_i \in \mathbb{R}^{4096} fi∈R4096 是对物品 i i i 预先提取的 CNN 特征表示。
- E ∈ R K × 4096 E \in \mathbb{R}^{K\times 4096} E∈RK×4096 是将 f i f_i fi 投影到 K K K 维潜在空间的嵌入矩阵,该空间的各个维度对应能解释用户对“时尚风格”偏好差异的特征。
为此,我们用一个卷积神经网络 Φ ( ⋅ ) \Phi(\cdot) Φ(⋅) 直接从图像中提取视觉特征,替代预训练视觉特征与嵌入矩阵,得到:
x u , i = α + β u + θ u ⊤ Φ ( X i ) . x_{u,i} = \alpha + \beta_u + \theta_u^\top \,\Phi(X_i). xu,i=α+βu+θu⊤Φ(Xi).
与标准矩阵分解(式 (1))和 VBPR(式 (2))不同,我们在模型中去掉了物品偏置项 β i \beta_i βi 和非视觉潜在因子 γ i \gamma_i γi。实验证明,这样做不仅能提升性能,而且剩余的模型项已足以隐式地捕捉这些因素。
**特征提取:**我们的卷积神经网络 Φ ( ⋅ ) \Phi(\cdot) Φ(⋅) 基于文献 32 32 32 中的 CNN‑F 架构。这是一种为高效训练而设计的 CNN 架构。虽然使用更强大的网络(如 ResNet)可能带来更好的性能,但我们发现 CNN‑F 足以验证方法的有效性,并且可在普通桌面硬件上完成训练。具体来说,CNN‑F 包含 8 层可学习层,其中前 5 层为卷积层,后 3 层为全连接层。输入图像尺寸为 224 × 224 224\times224 224×224。
B. 模型学习
贝叶斯个性化排序(BPR)是一种针对隐式反馈的最先进排序优化框架。在 BPR 中,核心思想是通过考虑三元组
(
u
,
i
,
j
)
∈
D
(u, i, j)\in \mathcal{D}
(u,i,j)∈D 来优化排名,其中
D
=
{
(
u
,
i
,
j
)
∣
u
∈
U
,
i
∈
I
u
+
,
j
∈
I
∖
I
u
+
}
.
\mathcal{D} = \{(u, i, j)\mid u\in U,\; i\in I_u^+,\; j\in I\setminus I_u^+\}.
D={(u,i,j)∣u∈U,i∈Iu+,j∈I∖Iu+}.
该三元组表示:对于用户 u u u,物品 i i i 是一个正反馈项,而物品 j j j 是一个未观测项。BPR 的目标是让模型对每个三元组满足 x u , i > x u , j x_{u,i} > x_{u,j} xu,i>xu,j。
这里, i ∈ I u + i \in I_u^+ i∈Iu+ 表示用户 u u u 对该物品 i i i 表示了兴趣,而 j ∈ I ∖ I u + j \in I \setminus I_u^+ j∈I∖Iu+ 则表示用户未观测过的物品。因此,直观上,对于同一用户 u u u,预测器应对物品 i i i 给出比 j j j 更高的偏好得分。于是 BPR 定义了两者得分之差:
x u , i , j = x u , i − x u , j , x_{u,i,j} = x_{u,i} - x_{u,j}, xu,i,j=xu,i−xu,j,
并试图最大化以下目标函数:
max Θ ∑ ( u , i , j ) ∈ D ln σ ( x u , i , j ) − λ Θ ∥ Θ ∥ 2 , \max_{\Theta} \sum_{(u,i,j)\in \mathcal{D}} \ln \sigma(x_{u,i,j}) \;-\; \lambda_\Theta \|\Theta\|^2, Θmax(u,i,j)∈D∑lnσ(xu,i,j)−λΘ∥Θ∥2,
其中 σ ( ⋅ ) \sigma(\cdot) σ(⋅) 是 sigmoid 函数, Θ \Theta Θ 包含了模型的所有参数, λ Θ \lambda_\Theta λΘ 是正则化超参数。
通过对未观测物品 j ∈ I ∖ I u + j \in I \setminus I_u^+ j∈I∖Iu+ 进行大量采样,可以证明该方法在对每个用户的观测反馈进行排序时,能够近似地优化 AUC 指标[8]。
请注意,在公式 (4) 中,全局偏置项 α \alpha α 和用户偏置项 β u \beta_u βu 会在 x u , i x_{u,i} xu,i 与 x u , j x_{u,j} xu,j 之间相互抵消。因此,我们的最终偏好预测函数可以简化为:
x
u
,
i
=
θ
u
⊤
Φ
(
X
i
)
.
x_{u,i} = \theta_u^\top\,\Phi(X_i).
xu,i=θu⊤Φ(Xi).
由于目标函数的所有部分都是可微的,我们使用 Adam 优化器[
34
34
34]进行随机梯度上升来优化模型,Adam 是一种具有自适应动量估计的先进随机优化方法。在每次迭代中,我们随机采样一个用户
u
u
u、一个正样本物品
i
∈
I
u
+
i \in I_u^+
i∈Iu+ 和一个负样本物品
j
∈
I
∖
I
u
+
j \in I \setminus I_u^+
j∈I∖Iu+。因此,卷积网络 Φ 需要同时处理两张图像——
X
i
X_i
Xi 和
X
j
X_j
Xj。按照孪生网络的设置
10
10
10,用于提取
X
i
X_i
Xi 和
X
j
X_j
Xj 特征的两个 Φ 网络共享相同的权重。
C. 从推荐到生成
DVBPR 能够对给定图像进行用户偏好评分,但更丰富的推荐形式可能是引导用户和设计师探索潜在的时尚图像和风格空间。实现这一目标,需要一种方法能够从某个先验分布中高效采样出任意逼真的图像。生成对抗网络(GANs)[9] 为捕捉这类分布提供了一种有效途径,并已在多个应用中展示出良好效果[35]。其中,条件 GAN(conditional GAN)[30] 是一种有用的变体,能够根据语义输入(如类别标签[36]、文本描述[37] 等)生成图像。在我们的工作中,我们训练了一个以产品顶层类别为条件的 GAN。
一个 GAN(生成对抗网络)由生成器 G G G 和判别器 D D D 组成,通常分别实现为多层卷积或反卷积神经网络。生成器 G ( z , c ) G(z, c) G(z,c) 接收一个随机噪声向量 z ∼ U ( − 1 , 1 ) z \sim \mathcal{U}(-1, 1) z∼U(−1,1) 和一个类别标签 c c c 作为输入,生成一张图像;判别器则接收一张图像 x x x,该图像要么来自训练数据 X c X_c Xc,要么来自生成器生成的样本 G ( z , c ) G(z, c) G(z,c),并预测该图像为**“真实”**(即属于训练集 X c X_c Xc)的概率。
我们使用 LSGAN(Least Squares GAN)[38] 提出的最小二乘损失函数来训练 GAN,这是一种图像质量较高的新型 GAN 变体。我们定义的判别器和生成器的目标函数如下:
min D V ( D ) = E x , c ∼ p d a t a ( x , c ) [ L r e a l ( x , c ) ] + E c ∼ p ( c ) , z ∼ p ( z ) [ L f a k e ( G ( z , c ) , c ) ] , \min_D V(D) = \mathbb{E}_{x,c\sim p_{data}(x,c)}[L_{real}(x, c)] + \mathbb{E}_{c\sim p(c),z\sim p(z)}[L_{fake}(G(z, c), c)], DminV(D)=Ex,c∼pdata(x,c)[Lreal(x,c)]+Ec∼p(c),z∼p(z)[Lfake(G(z,c),c)],
min G V ( G ) = E c ∼ p ( c ) , z ∼ p ( z ) [ L r e a l ( G ( z , c ) , c ) ] , (7) \min_G V(G) = \mathbb{E}_{c\sim p(c),z\sim p(z)}[L_{real}(G(z, c), c)], \tag{7} GminV(G)=Ec∼p(c),z∼p(z)[Lreal(G(z,c),c)],(7)
其中:
- L r e a l ( x , c ) = [ D ( x , c ) − 1 ] 2 L_{real}(x, c) = [D(x, c) - 1]^2 Lreal(x,c)=[D(x,c)−1]2,表示判别器希望对真实图像输出 1;
- L f a k e ( x , c ) = [ D ( x , c ) ] 2 L_{fake}(x, c) = [D(x, c)]^2 Lfake(x,c)=[D(x,c)]2,表示判别器希望对伪造图像输出 0。
也就是说,**判别器 D D D 的目标是正确区分真实图像和伪造图像(输出分别接近 1 和 0),而生成器 G G G 的目标是生成足够逼真的图像来“欺骗”判别器 D D D。**我们在训练过程中交替优化这两个对立目标,直到生成图像的质量达到可接受水平(在我们的实验中,大约训练 25 个 epoch)。
图 2 展示了我们模型的具体结构,它是从文献 [35] 和 [38] 改进而来的更深层次的条件网络。相比于一些 GAN 会生成“梦境般”的自然图像幻觉,我们的生成图像看起来更加真实可信,这可能是因为我们工作在一个较为受限的领域(服装图像,且姿势基本固定)。这也意味着我们网络生成的样本虽然与训练集中的图像不同,但在图像质量上却非常接近。
D. 个性化设计
尽管推荐系统的核心在于建模用户偏好,但通常仅限于识别那些用户可能会给予高评分或高购买概率的商品。尽管潜变量模型(尤其是矩阵分解)能够挖掘出复杂的语义结构,但其可解释性仍然有限。而通过使用我们的模型生成图像,我们可以开始推理模型“了解了什么”,特别是探索那些尚不存在但可能符合用户喜好的潜在商品空间。
这项技术可以支持以下应用场景:
(1) 生成新商品样本,包括针对特定用户偏好量身定制的商品;
(2) 定制已有商品,即对现有商品进行微调,使其更符合某位用户的偏好。
这些应用不仅有助于解释模型所学到的用户偏好,还能为设计师提供灵感。在我们的实验部分中,我们将详细描述这些应用场景。
我们的模型为用户与物品(图像)之间关联了偏好得分,这意味着通过生成能够最大化该偏好值的图像,我们可能能够产出最符合用户个人风格的商品。这一过程被称为“偏好最大化”,与“激活最大化”方法类似[11],后者通过寻找能够最大化特定神经元(例如输出层中的分类神经元)的输入,来解释深度神经网络的行为。
**偏好最大化:**形式上,给定用户
u
u
u 和类别
c
c
c,我们可以直接在数据集中检索出最能最大化该用户偏好得分的现有商品:
δ
(
u
,
c
)
=
arg
max
e
∈
X
c
x
u
,
e
=
arg
max
e
∈
X
c
θ
u
⊤
Φ
(
e
)
,
(8)
\delta(u, c) = \arg\max_{e \in X_c} x_{u,e} = \arg\max_{e \in X_c} \theta_u^\top \Phi(e), \tag{8}
δ(u,c)=arge∈Xcmaxxu,e=arge∈Xcmaxθu⊤Φ(e),(8)
其中, X c X_c Xc 是属于类别 c c c 的商品图像集合。
尽管上述方法是在训练语料中选择一张“真实”图像,但我们的 GAN 提供了一个对原始数据分布的近似表示,因此我们可以通过优化生成过程来合成图像:
δ ^ ( u , c ) = arg max e ∈ G ( ⋅ , c ) x ^ u , e = arg max e ∈ G ( ⋅ , c ) x u , e − η L real ( e , c ) \hat{\delta}(u, c) = \arg\max_{e \in G(\cdot, c)} \hat{x}_{u,e} = \arg\max_{e \in G(\cdot, c)} x_{u,e} - \eta L_{\text{real}}(e, c) δ^(u,c)=arge∈G(⋅,c)maxx^u,e=arge∈G(⋅,c)maxxu,e−ηLreal(e,c)
= G [ arg max z ∈ [ − 1 , 1 ] 100 θ u ⊤ Φ [ Δ G c ( z ) ] − η [ D c ( G c ( z ) ) − 1 ] 2 , c ] , (9) = G\left[ \arg\max_{z \in [-1,1]^{100}} \theta_u^\top \Phi[\Delta G_c(z)] - \eta [D_c(G_c(z)) - 1]^2,\, c \right], \tag{9} =G[argz∈[−1,1]100maxθu⊤Φ[ΔGc(z)]−η[Dc(Gc(z))−1]2,c],(9)
其中:
- D c ( x ) = D ( x , c ) D_c(x) = D(x, c) Dc(x)=D(x,c):表示判别器对类别 c c c 下图像 x x x 的输出;
- G c ( z ) = G ( z , c ) G_c(z) = G(z, c) Gc(z)=G(z,c):表示在条件 c c c 下,生成器以 z z z 为输入生成的图像;
- z z z 是生成器的潜在输入编码;
- Δ \Delta Δ 是图像放大操作符,用于将 RGB 图像从 128 × 128 128 \times 128 128×128 尺寸缩放至 224 × 224 224 \times 224 224×224,我们使用了最近邻插值,但任何可微分的图像缩放算法都适用;
- 我们加入了额外项 η L real ( e , c ) \eta L_{\text{real}}(e, c) ηLreal(e,c) 以通过训练好的判别器控制图像质量;
- 超参数 η \eta η 控制偏好得分与图像质量之间的权衡关系,我们将在实验中对其进行分析。
为在约束条件 z ∈ [ − 1 , 1 ] 100 z \in [-1, 1]^{100} z∈[−1,1]100 下优化公式 (9),我们引入一个辅助变量 z ′ ∈ R 100 z' \in \mathbb{R}^{100} z′∈R100,令 z = tanh ( z ′ ) z = \tanh(z') z=tanh(z′)。于是优化问题变为:
max z ′ ∈ R 100 θ u ⊤ Φ [ Δ G c ( tanh ( z ′ ) ) ] − η [ D c ( G c ( tanh ( z ′ ) ) ) − 1 ] 2 , (10) \max_{z' \in \mathbb{R}^{100}} \theta_u^\top \Phi[\Delta G_c(\tanh(z'))] - \eta \left[D_c(G_c(\tanh(z'))) - 1\right]^2, \tag{10} z′∈R100maxθu⊤Φ[ΔGc(tanh(z′))]−η[Dc(Gc(tanh(z′)))−1]2,(10)
我们通过梯度上升(gradient ascent)来求解该优化问题。为在潜在空间中采样初始点,我们从 z ∼ U ( − 1 , 1 ) z \sim \mathcal{U}(-1, 1) z∼U(−1,1) 采样,并设置:
z ′ = tanh − 1 ( z ) = 1 2 [ ln ( 1 + z ) − ln ( 1 − z ) ] z' = \tanh^{-1}(z) = \frac{1}{2} \left[\ln(1 + z) - \ln(1 - z)\right] z′=tanh−1(z)=21[ln(1+z)−ln(1−z)]
其中 tanh − 1 ( ⋅ ) \tanh^{-1}(\cdot) tanh−1(⋅) 和 ln ( ⋅ ) \ln(\cdot) ln(⋅) 均逐元素地应用。
需要注意的是,这种目标函数可能存在多个局部最优解。为了获得高质量解,我们从 m m m 个随机初始点重复进行优化(在我们的实验中 m = 64 m = 64 m=64;更大的 m m m 可以得到更好的结果,但计算成本也更高),最终选择使目标值最大的结果作为输出。
该方法 δ ^ ( u , c ) \hat{\delta}(u, c) δ^(u,c) 也可轻松扩展以生成多张图像。例如,在优化完成后,我们将 m m m 张生成图像 { e 1 , e 2 , … , e m } \{e_1, e_2, \dots, e_m\} {e1,e2,…,em} 按照目标函数值(即 x ^ u , e \hat{x}_{u,e} x^u,e)进行排序,并返回前 k k k 张图像。然而我们发现这种方式生成的图像多样性较差。
因此,当需要返回多张图像时,我们采用采样策略,按照如下概率从 m m m 张图像中选择:
p ( e t ) = exp ( x ^ u , e t ) ∑ d = 1 m exp ( x ^ u , e d ) (11) p(e_t) = \frac{\exp(\hat{x}_{u,e_t})}{\sum_{d=1}^{m} \exp(\hat{x}_{u,e_d})} \tag{11} p(et)=∑d=1mexp(x^u,ed)exp(x^u,et)(11)
修改已有商品
与直接生成全新商品不同,有时我们希望对现有商品做微调,以建议如何根据用户的个人风格对其“定制”。借助 GAN 生成的图像,我们可以通过控制潜在变量 z z z 来操作图像。这需要我们首先在 GAN 的潜在空间中为某张查询图像找到一个近似表示(即找到对应的潜在编码 z z z)。这一过程可通过以下最小化问题来实现(以 ℓ 1 \ell_1 ℓ1 重构误差为目标):
min z ′ ∈ R 100 ∥ G c ( tanh ( z ′ ) ) − Δ X query ∥ 1 (12) \min_{z' \in \mathbb{R}^{100}} \left\| G_c(\tanh(z')) - \Delta X_{\text{query}} \right\|_1 \tag{12} z′∈R100min∥Gc(tanh(z′))−ΔXquery∥1(12)
四、思考
1. 这篇文章提出的模型是什么,解决了什么问题,当时的创新点在哪里
提出的模型:
论文提出了一个视觉感知的深度贝叶斯个性化排序模型(DVBPR),它结合了孪生卷积神经网络(Siamese CNN)和贝叶斯个性化排序(BPR),并在此基础上扩展引入了**生成对抗网络(GAN)**以实现个性化图像生成。
解决的问题:
- 在时尚推荐系统中,仅靠用户行为和标签无法捕捉“时尚感”,尤其在冷启动场景(新品无交互)表现有限;
- 现有方法使用预训练图像特征(如 ImageNet 特征)来建模视觉信息,但这些特征未针对“时尚”任务优化;
- 推荐系统只能从已有商品中挑选,无法生成或设计新商品。
创新点:
- 端到端训练视觉特征提取器:直接从图像像素出发学习推荐相关的特征(而非使用预训练模型),更贴合任务目标;
- 引入生成模型(GAN)用于推荐结果生成:不仅能“推荐已有商品”,还能生成新商品图像,辅助设计;
- 提出偏好最大化生成机制:通过优化 GAN 输入向量,生成最大化用户喜好的图像(类似激活最大化);
- 结合推荐系统与图像生成的跨模态建模方法:拓展了推荐系统的研究边界。
2. 这个模型的建模过程是什么
推荐部分(DVBPR):
- 用一个Siamese CNN提取商品图像特征(共享参数);
- 为每个用户学习一个视觉偏好向量 θ u \theta_u θu,对图像特征 Φ ( X i ) \Phi(X_i) Φ(Xi) 进行评分;
- 优化目标是贝叶斯个性化排序(BPR)损失函数,确保用户对已点击/购买的商品得分高于未交互商品;
- CNN 与推荐模型联合训练(端到端)。
生成部分(GAN):
- 条件 GAN(Conditional GAN)以产品类别 c c c 和随机噪声 z z z 作为输入,生成图像 G ( z , c ) G(z, c) G(z,c);
- 训练目标是使生成图像尽可能接近真实图像(判别器 D 输出为 1);
- 使用 LSGAN(最小二乘 GAN)提升图像质量;
- 偏好最大化:优化 z z z 使得用户评分最大,同时兼顾图像质量,通过梯度优化实现。
3. 学习这个模型对未来研究多模态推荐的启发是什么
跨模态表示联合学习的重要性
传统推荐系统常将模态(如图像、文本)作为静态特征使用,本论文强调应该针对任务目标端到端地学习模态表示,可以显著提升效果。
推荐系统应拓展到“内容生成”层面
本论文首次展示了推荐系统与生成模型结合的可能性,启发我们未来可以:
- 推荐用户未曾见过但可能喜欢的内容(生成型推荐);
- 为冷启动商品生成交互提示、图像、标题等;
- 在个性化设计、广告创意等方向开拓更多生成型应用。
多模态之间可进行“反向优化”
通过在图像生成过程中最大化推荐得分,提出一种从“用户偏好 → 内容生成”的反向优化流程。这一思路可扩展到文本生成(如新闻推荐)、音频生成(如音乐推荐)等场景。
对可解释性与用户参与式设计的支持
端地学习模态表示**,可以显著提升效果。
推荐系统应拓展到“内容生成”层面
本论文首次展示了推荐系统与生成模型结合的可能性,启发我们未来可以:
- 推荐用户未曾见过但可能喜欢的内容(生成型推荐);
- 为冷启动商品生成交互提示、图像、标题等;
- 在个性化设计、广告创意等方向开拓更多生成型应用。
多模态之间可进行“反向优化”
通过在图像生成过程中最大化推荐得分,提出一种从“用户偏好 → 内容生成”的反向优化流程。这一思路可扩展到文本生成(如新闻推荐)、音频生成(如音乐推荐)等场景。
对可解释性与用户参与式设计的支持
通过生成商品图像,系统能更可视化地向用户展示“你喜欢什么”,为个性化推荐带来更高的解释性与互动性。