数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
四、ESAM [2020]
排序模型
ranking model
的典型公式formulation
是:在给定query
的情况下提供item
的一个排序列表rank list
。它具有广泛的应用,包括推荐系统、搜索系统等。排序模型可以形式化为: $ \mathbf q\stackrel{\mathbb R}{\longrightarrow} \hat{\mathbb D}_\mathbf q $ ,其中:- $ \mathbf q $ 是
query
,例如推荐系统中的用户画像和用户行为历史、个性化搜索系统中的用户画像和关键词keyword
,这取决于特定的排序应用。 - $ \hat{\mathbb D}_\mathbf q $ 代表基于 $ \mathbf q $ 检索的相关
item
,例如文本文档、item
、问题答案answer
。 - $ \mathbb R=\{r_i\}_{i=1}^{n_\mathbf d} $ 由 $ \mathbf q $ 和整个
item
空间中每个item
$ \mathbf d_i $ 之间的相关性得分 $ r_i $ 组成, $ n_\mathbf d $ 为item
的总数。
简而言之,排序模型旨在选择与
query
相关性最高的top K
个item
作为最终的排序结果。目前,基于深度学习的方法广泛应用于排序模型,这些方法显示出比传统算法更好的排序性能。然而,这些模型主要是使用曝光
item
的隐式反馈(如点击click
、购买purchase
)来训练,但是在提供serving
服务时被用来在包含曝光item
和未曝光item
的整个item
空间中检索item
。我们根据曝光频率将整个
item
空间分为热门item
和long-tail
长尾item
。通过分析两个公共数据集(MovieLens
和CIKM Cup 2016
),我们发现:82%
的曝光item
是热门item
,而85%
的非曝光item
是长尾item
。因此,如下图所示,样本选择偏差sample selection bias: SSB
的存在会导致模型对曝光item
(大部分是热门item
)过拟合,并且无法准确预测长尾item
。图(b)
给出了CIKM Cup 2016
数据集上的SSB
问题:由于SSB
问题导致长尾性能很差。更糟糕的是:这种训练策略将使得模型偏向于热门
item
。这意味着这些模型通常会检索热门item
,而忽略那些更合适的长尾item
,尤其是那些新上架的item
。这种现象被称作 “马太效应”Matthew Effect
。我们认为造成这种现象的原因是
SSB
导致长尾item
缺乏记录(即反馈)来获得良好的特征representation
,即数据稀疏data sparsity
和冷启动cold start
问题。因此和拥有足够记录的热门item
相比,长尾item
的特征具有不一致inconsistent
的分布。如下图所示,领域漂移domain shift
的存在意味着这些排序模型很难检索长尾item
,因为它们总是过拟合热门item
。下图中,蓝色为曝光item
、红色为未曝光item
,不同形状(三角形、圆形、方形)表示不同反馈类型,十字星表示query
,黄色阴影表示query
覆盖的item
。
为了提高排序模型的长尾性能并增加检索结果的多样性,现有方法利用了不容易获取的辅助信息
auxiliary information
或者辅助域auxiliary domain
。遵循一些过去的工作,论文《ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail Performance》
强调了学习未曝光item
的良好特征representation
的重要性。为了实现这一点,考虑到曝光item
和未曝光item
之间的领域漂移导致的长尾性能不佳、以及未曝光item
是未标记样本,我们采用了无监督unsupervised
领域自适应domain adaptation: DA
技术,将曝光item
视为源域source domain
、将未曝光item
视为目标域target domain
。领域自适应方法允许将带标签的源域训练的模型应用到带很少标签或者缺失标签的目标域。以前的
DA-based
工作通过最小化一些分布度量来减少领域漂移,如最大平均差异maximum mean discrepancy: MMD
,或者对抗训练。对于排序任务,我们提出了一种新的DA
方法,称作属性相关性对齐attribute correlation alignment: ACA
。无论一个item
是否曝光,其属性之间的相关性都遵循相同的规则(即知识knowledge
)。例如在电商中,一个item
的品牌越豪华luxurious
,其售价就越高(品牌brand
和价格都是item
的属性)。该规则对于曝光item
和未曝光item
都相同。在一个排序模型中,每个item
都会通过特征提取器feature extractor
表示为一个特征representation
,特征的每个维度都可以看做是item
的一个高级属性high-level attribute
。因此,我们认为高级属性之间的相关性在曝光空间和未曝光空间中都应该遵循相同的规则。然而由于缺乏
label
信息,模型不能很好地获得未曝光item
的特征。这导致曝光item
和未曝光item
的特征分布之间的不一致inconsistency
,使得上述范式paradigm
难以成立。因此,我们设计了属性相关一致性attribute correlation congruence: A2C
来利用高级属性之间的成对相关性pair-wise correlation
作为分布(从而增加分布一致性的约束)。虽然前面提到的
ACA
算法可以解决分布不一致的问题,但是有两个关键的限制:使用
point-wise
交叉熵的学习会忽略空间结构信息,从而导致特征空间中的邻域关系较差。如下图所示:尽管领域偏移得到缓解,但是较差的邻域关系使得模型很容易检索到异常值outlier
。未曝光
item
的target label
不可用,这可能在盲目地对齐分布aligning distribution
时容易导致负向迁移negative transfer
。负向迁移指的是迁移模型transfer model
比非自适应模型non-adaptation model
更差的窘境。如下图所示:类别无关的
ACA
可能导致负向迁移,如一些target
域(红色)的圆形和source
域(蓝色)的三角形对齐。
为了克服这两个困难,我们提出了两个新的正则化策略:中心聚类
center-wise clustering
和自训练self-training
,从而增强DA
过程。- 中心聚类:我们观察到:对于同一个
query
,具有相同反馈的item
是相似的、具有不同反馈的item
是不相似的。例如,在电商中,当向用户曝光各种手机时,用户可能点击所有的iPhone
而忽略其它手机。因此,对于每个query
,我们可以根据反馈类型对曝光的item
进行分类categorize
。我们提出的中心聚类是为了使相似的item
紧密地结合在一起,而不相似的item
相互分离。这种约束可以为DA
提供进一步的指导,导致更好的排序性能。 - 自训练:对于
target label
的缺失,我们给target item
分配高置信度的伪标签pseudo-label
,并通过自训练self-training
使模型拟合这些item
。此外,当在执行对齐alignment
时考虑这些伪标签时,模型可以逐渐正确地预测更复杂的item
。
综上所述,本文的主要贡献:
提出了一种通用的全空间自适应模型
entire space adaptation model: ESAM
,该模型利用属性相关对齐attribute correlation alignment: ACA
的领域自适应domain adaptation: DA
来提高长尾性能。ESAM
可以很容易地融入大多数现有的排序框架。引入两种新颖而有效的正则化策略来优化邻域关系和处理
target label
缺失,从而实现有区分性discriminative
的领域自适应。在
item
推荐系统和个性化搜索系统这两个典型的排序应用中实现了ESAM
,并在两个公开数据集、一个淘宝工业数据集上的实验结果证明了ESAM
的有效性。另外,我们将
ESAM
部署到淘宝搜索引擎上,通过在线A/B test
测试,结果表明ESAM
产生更好的性能。
- $ \mathbf q $ 是
在不需要任何辅助信息
auxiliary information
和辅助领域auxiliary domain
的情况下,ESAM
将知识从曝光item
迁移到未曝光item
,从而缓解曝光item
和未曝光item
的分布不一致性distribution inconsistency
。下图为
ESAM
的基本思想,其中:三种形状代表三种反馈,蓝色代表源域(曝光item
空间),红色代表目标域(未曝光item
空间),星星代表query
,带阴影的星星代表一个query
及其检索范围。- 图
(a)
:曝光item
特征和未曝光item
特征之间的领域漂移。 - 图
(b)
:我们提出的属性相关性对齐的领域自适应可以有效缓解领域漂移。虽然领域漂移得到缓解,但是较差的邻域关系使得模型很容易检索到异常点outlier
(簇内有不相似的item
)。 - 图
(c)
:我们提出的中心聚类鼓励更好的流形结构manifold structure
。但是,类别无关class-agnostic
的ACA
可能会导致负向迁移,如某些目标域的圆形和源域的三角形对齐。 - 图
(d)
:ESAM
抽取了最佳的item
特征representation
。
- 图
相关工作:
基于神经网络的排序模型:最近,很多工作使用神经网络来完成排序任务。排序模型的一个重要发展是深度的
learning to rank: LTR
。为了解决这个问题,一些方法利用领域自适应技术,如最大均值差异
maximum mean discrepancy: MMD
(《Domain Adaptation for Enterprise Email Search》
)、对抗训练(《An Adversarial Approach to Improve Long-Tail Performance in Neural Collaborative Filtering》
),从而缓解源域和目标域的不一致分布。此外,一些方法(
《Causal embeddings for recommendation》
,《Improving Ad Click Prediction by Considering Non-displayed Events》
)引入了无偏系统(即,为一个query
从整个item
池中随机选择item
)获得的无偏数据集来训练无偏模型。此外,还有一些方法引入辅助信息(
《Improving Ad Click Prediction by Considering Non-displayed Events》
,《DARec: Deep Domain Adaptation for Cross-Domain Recommendation via Transferring Rating Patterns》
)或辅助域(《Cross-domain Recommendation Without Sharing User-relevant Data》
,《Cross-Domain Recommendation: An Embedding and Mapping Approach》
)从而获得更多的长尾信息。与之前的方法不同,
ESAM
结合领域自适应和未曝光item
来提高长尾性能,无需任何辅助信息和辅助域。此外,我们设计了一种新颖的领域自适应技术,称作属性相关性对齐,将item
高级属性之间的相关性视为要传递的知识。区分性的领域自适应
Discriminative Domain Adaption
:领域自适应将知识从大量标记的源样本迁移到具有缺失或有限标签的目标样本,从而提高目标样本性能。领域自适应最近得到了广泛研究。这些领域自适应方法通过嵌入用于矩匹配
moment matching
的自适应层adaptation layer
来学习领域不变性domain-invariant feature
,例如:- 最大平均差异
maximum mean discrepancy: MMD
(《Deep joint two-stream Wasserstein auto-encoder and selective attention alignment for unsupervised domain adaptation》
)。 - 相关性对齐
correlation alignment: CORAL
。 - 中心矩差异
center moment discrepancy: CMD
(《Central moment discrepancy (cmd) for domaininvariant representation learning》
)。
也有一些领域自适应方法集成领域判别器
domain discriminator
进进行对抗训练,如领域对抗神经网络domain adversarial neural network: DANN
(《Domain-adversarial training of neural networks》
)和对抗判别领域适应adversarial discriminative domain adaptation: ADDA
(《Adversarial discriminative domain adaptation》
)。还有一些方法努力学习更多的判别特征从而提高性能,例如对比损失
contrastive loss
(《Dimensionality reduction by learning an invariant mapping》
) 和中心损失(《Large-margin softmax loss for convolutional neural networks》
)。这些方法已经在很多应用中被采纳,例如人脸识别和person re-identification
。受到上述方法的启发,我们提出对整个空间具有更好判别力的
item
特征进行领域自适应。- 最大平均差异
4.1 模型
我们首先介绍了名为
BaseModel
的基本排序框架,然后包括A2C
和两个正则化策略的ESAM
被集成到BaseModel
中,以便在整个空间中更好地学习item
特征representation
。下图给出了ESAM
的总体框架。我们将剔除未曝光
item
(未曝光的item
同时也是无标签的) 输入流input stream
的ESAM
视为BaseModel
。下图中红色箭头为未标记的未曝光item
,BaseModel
即为剔除红色的部分。本文中,源域
source domain
(曝光item
)记作 $ \mathbb D^s $ ,目标域target domain
(未曝光item
)记作 $ \mathbb D^t $ ,整体item
空间记作 $ \mathbb D=\mathbb D^s\cup\mathbb D^t $ 。源域和目标域共享相同的query
集合 $ \mathbb Q $ 。从一个query
到一个item
的反馈集合记作 $ \mathbb O=\left\{\mathbf q,\mathbf d,y\right\} $ ,其中:- $ \mathbf q $ 为特定的
query
,如关键词keyword
、用户画像user profile
、问题question
等等。 - $ \mathbf d $ 为一个
item
,如文本文档、item
、问题答案answer
等等。 - $ y $ 为一个隐式反馈,如是否点击、是否收藏等等。
对于每个
query
$ \mathbf q $ :- 我们分配一个标记的
source item
集合 $ \mathbb D_\mathbf q^s = \left\{\left(\mathbf d_j^s,y_j^s\right)\right\}_{j=1}^{n_\mathbf q} $ ,它们的反馈是可用的。其中 $ n_\mathbf q $ 为对query
有反馈的item
的数量, $ y_j^s $ 为对应的反馈类型、 $ \mathbf d_j^s $ 为对应的反馈item
。 - 我们也分配一个未标记的
target item
集合 $ \mathbb D_\mathbf q^t=\left\{\mathbf d_j^t\right\}_{j=1}^{n_\mathbf q^-} $ ,它们是从未曝光item
中随机选择的。其中 $ n_\mathbf q^- $ 为随机采样的item
的数量, $ \mathbf d_j^t $ 为采样到的item
。
对于每个
query
$ \mathbf q $ ,排序模型的目标是从 $ \mathbb D $ 中检索一个排序的item
集合 $ \hat{\mathbb D}_\mathbf q $ ,从而最大化query
的满意度satisfaction
。- $ \mathbf q $ 为特定的
4.1.1 BaseModel
从下图可以看到:排序模型主要由
$ \mathbf{\vec v}_\mathbf q = f_q(\mathbf q),\quad \mathbf{\vec v}_\mathbf d = f_d(\mathbf d) $query side
$ f_ q(\cdot) $ 和item side
$ f_d(\cdot) $ 来组成。排序模型的核心任务是:将一个query
$ \mathbf q $ 和一个item
$ \mathbf d $ 分别通过 $ f_q(\cdot) $ 和 $ f_d(\cdot) $ 映射成一个query
特征 $ \mathbf{\vec v}_\mathbf q\in \mathbb R^{L} $ 和一个item
特征 $ \mathbf{\vec v}_\mathbf d\in \mathbb R^{L} $ 。这可以公式化为:当获得
$ \text{Sc}_{\mathbf q,\mathbf d} = f_s\left(\mathbf{\vec v}_\mathbf q,\mathbf{\vec v}_\mathbf d\right) $query
和item
的特征之后,我们利用评分函数 $ f_s(\cdot) $ 来计算query
和item
的相关性得分relevance score
:然后:
在训练阶段,可以通过使用隐式反馈来训练排序模型,其中模型的损失函数为 $ \mathcal L_s $ (例如,
point-wise
目标函数、pair-wise
目标函数、list-wise
目标函数)。注意,隐式反馈在大多数现实应用中可用,因此
point-wise
目标损失被广泛用于模型训练。在
serving
阶段,相关性得分最高的top-K
个item
组成的排序列表rank list
可以作为检索结果。
最近,很多工作设计了新的 $ f_q(\cdot) $ 和 $ f_d(\cdot) $ 来抽取更好的特征。例如:
- 神经矩阵分解
neural matrix factorization: NeuralMF
:采用MLP
作为 $ f_q(\cdot) $ 和 $ f_d(\cdot) $ 来分别抽取query
特征和item
特征。 - 深度兴趣演化网络
deep interest evolution network: DIN
:在 $ f_q(\cdot) $ 和 $ f_d(\cdot) $ 之间引入注意力机制。 - 行为序列
transformer
behavior sequence transformer: BST
:在 $ f_q(\cdot) $ 中引入transformer
模块来捕获query
的短期兴趣。
然而,大多数方法都忽略了对未曝光
item
的处理,因此这些体系架构解决方案可能无法很好地泛化generalize
(到长尾item
)。- 神经矩阵分解
4.1.2 ESAM
ESAM
的思想是:通过抑制曝光item
和未曝光item
之间的分布不一致inconsistent distribution
从而提高长尾性能。实现该思想的方法是:利用未曝光
item
的有区分性的领域自适应discriminative domain adaptation
从而在整个item
空间中抽取更好的item
特征。ESAM
主要聚焦于item
侧 $ f_d(\cdot) $ 的改进。具体而言,如上图所示,ESAM
另外引入了一个未曝光item
(未曝光的同时也是无label
的)输入流input flow
,它对BaseModel
的 $ f_d(\cdot) $ 有三个约束:属性相关性对齐的领域自适应Domain Adaptation with Attribute Correlation Alignment
、面向源聚类的中心聚类Center-Wise Clustering for Source Clustering
、面向目标聚类的自训练Self-Training for Target Clustering
。注:如何选择未曝光
item
也是一个问题。由于真实世界中,item
集合非常庞大,因此选择所有的未曝光item
是不现实的。实验中,作者选择曝光item
相似的item
作为目标集合。“相似” 包括:相似的类型、相似的价格等等。属性相关性对齐的领域自适应:由于曝光
item
和未曝光item
之间存在领域漂移,因此我们利用领域自适应技术来提高整个item
空间的检索质量。假设 $ \mathbf D^s\in \mathbb R^{n \times L} $ 表示针对
$ \mathbf D^s = \begin{bmatrix} \mathbf{\vec v}_{\mathbf d_1^s}^\top\\ \vdots\\ \mathbf{\vec v}_{\mathbf d_{n}^s}^\top \end{bmatrix}\in \mathbb R^{n\times L},\quad \mathbf D^t = \begin{bmatrix} \mathbf{\vec v}_{\mathbf d_1^t}^\top\\ \vdots\\ \mathbf{\vec v}_{\mathbf d_{n}^t}^\top \end{bmatrix}\in \mathbb R^{n\times L} $source item
集合 $ \mathbb D_\mathbf q^s $ 的source item
特征矩阵, $ \mathbf D^t\in \mathbb R^{n\times L} $ 表示针对target item
集合 $ \mathbb D_\mathbf q^t $ 的target item
特征矩阵。其中:其中:
- 为了便于讨论,我们假设
source item
集合和target item
集合的规模相同,即: $ |\mathbb D_\mathbf q^s| = |\mathbb D_\mathbf q^t| = n $ 。 - $ \mathbf{\vec v}_{\mathbf d_i^s}\in \mathbb R^L,\mathbf{\vec v}_{\mathbf d_i^t}\in \mathbb R^L $ 分别表示
source item
特征和target item
特征,并且由item
侧 $ f_d(\cdot) $ 生成。 $ L $ 表示item
特征的维度。
从另一个角度来看,这两个矩阵也可以看做是一个
source
高级属性high-level attribute
矩阵 $ \mathbf D_s =\left[\mathbf{\vec h}_{1}^s,\cdots,\mathbf{\vec h}_{L}^s\right]\in \mathbb R^{n\times L} $ 以及一个target
高级属性矩阵 $ \mathbf D_t =\left[\mathbf{\vec h}_{1}^t,\cdots,\mathbf{\vec h}_{L}^t\right]\in \mathbb R^{n\times L} $ 。其中: $ \mathbf{\vec h}_j^s\in \mathbb R^n,\mathbf{\vec h}_j^t\in \mathbb R^n $ 分别表示源item
矩阵和目标item
矩阵中的第 $ j $ 个高级属性。我们认为:曝光
item
的低级属性low-level attribute
(如价格、品牌)之间的相关性,与非曝光item
一致consistent
。如下图所示,在电商中,品牌属性和价格属性具有高度相关性,而品牌属性和材料属性之间的相关性较低。这些知识在源域和目标域中是一致的。因此,我们认为:高级属性也应该具有和低级属性相同的相关一致性correlation consistency
。基于这样的约束,我们认为:当源域中item
高级属性向量之间的相关性和目标域一致时,源域和目标域的分布distribution
是对齐的aligned
。因此,我们将
item
高级属性向量之间的相关性矩阵correlation matrix
定义为分布distribution
。具体而言,我们提出属性相关一致性attribute correlation congruence:A2C
作为分布的度量。我们减少分布之间的距离,从而确保高级属性之间的相关性在源域和目标域是一致的。
$ \mathcal L_{\text{DA}} = \frac{1}{L^2}\sum_{j}\sum_{k}\left(\mathbf{\vec h}_j^{s\top}\mathbf{\vec h}_k^s- \mathbf{\vec h}_j^{t\top}\mathbf{\vec h}_k^t\right)^2=\frac{1}{L^2}\left\|\text{Cov}\left(\mathbf D^s\right)-\text{Cov}\left(\mathbf D^t\right)\right\|_F^2 $A2C
的数学描述为:其中:
- $ \|\cdot\|^2_F $ 为矩阵的
Frobenius
范数的平方。 - $ \text{Cov}\left(\mathbf D^s\right)=\mathbf D^{s\top}\mathbf D^s\in \mathbb R^{L\times L} $ 为源域高级属性的协方差矩阵
covariance matrice
, $ \text{Cov}\left(\mathbf D^t\right)=\mathbf D^{t\top}\mathbf D^t\in \mathbb R^{L\times L} $ 为目标域高级属性的协方差矩阵。协方差矩阵中第 $ (j,k) $ 项表示 $ \mathbf{\vec h}_j $ 和 $ \mathbf{\vec h}_k $ 之间的相关系数 $ \mathbf{\vec h}_j^\top \mathbf{\vec h}_k $ 。
我们从源域抽取两个
batch
的样本、从目标域抽取两个batch
的样本,并计算由BaseModel
抽取的高级属性中每两个协方差矩阵的 $ \mathcal L_{\text{DA}} $ 。如下表所示(工业数据集),源域和目标域之间的 $ \mathcal L_{\text{DA}} $ 远大于相同域内的 $ \mathcal L_{\text{DA}} $ ,这表明确实存在分布漂移distribution shift
。下表中:
Source-Source
表示 $ \left\|\text{Cov}\left(\mathbf D^s_1\right)-\text{Cov}\left(\mathbf D_2^s\right)\right\|_F^2 $ ,Target-Target
表示 $ \left\|\text{Cov}\left(\mathbf D^t_1\right)-\text{Cov}\left(\mathbf D^t_2\right)\right\|_F^2 $ ,Srouce-Target
表示 $ \left\|\text{Cov}\left(\mathbf D^s_{1,2}\right)-\text{Cov}\left(\mathbf D^t_{1,2}\right)\right\|_F^2 $ 。其中下标1
表示第一个batch
、2
表示第二个batch
、1,2
表示融合两个batch
。注: $ \mathcal L_{\text{DA}} $ 本质上是刻画两组样本之间特征相关性的距离。这两组样本可以来自于不同的
domain
,也可以来自于相同的domain
。注二:这是建模了特征之间的关系:即曝光数据集上的特征关系、未曝光数据集上的特征关系是相同的。这本质上是一种半监督学习:损失函数 = 监督损失 + 无监督的分布损失。
- 为了便于讨论,我们假设
面向源聚类的中心聚类:大多数
BaseModel
只优化 $ \mathcal L_s $ ,而 $ \mathcal L_s $ 对特征空间中的空间结构不敏感,并使得模型无法学习可区分性的特征discriminative feature
。在我们的初步研究中,我们注意到:对于同一个query
,具有相同反馈的item
是相似的、具有不同反馈的item
是不相似的。为此,我们提出一个中心聚类center-wise clustering
来鼓励具有相同反馈的item
的特征彼此靠近,而具有不同反馈的item
的特征彼此远离。每个
$ \mathcal L_{\text{DC}}^c = \sum_{j=1}^n \max\left(0,\left\|\frac{\mathbf{\vec v}_{\mathbf d_j^s}}{\left\|\mathbf{\vec v}_{\mathbf d_j^s}\right\|}-\mathbf{\vec c}_\mathbf q^{y_j^s}\right\|_2^2-m_1\right)+\sum_{k=1}^{n_y}\sum_{u=k+1}^{n_y}\max\left(0,m_2-\left\|\mathbf{\vec c}_\mathbf q^k-\mathbf{\vec c}_\mathbf q^u\right\|_2^2\right)\\ \mathbf{\vec c}_\mathbf q^k = \frac{\sum_{j=1}^n\left(\delta(y_j^s = Y_k)\times \frac{\mathbf{\vec v}_{\mathbf d_j^s}}{\left\|\mathbf{\vec v}_{\mathbf d_j^s}\right\|}\right)}{\sum_{j=1}^n \delta(y_j^s = Y_k)} $query
$ \mathbf q $ 的hinge-based
中心聚类可以形式化为:其中:
- 假设有 $ n_y $ 种不同的反馈类型 $ \mathcal Y=\{Y_1,\cdots,Y_{n_y}\} $ ,如非点击
non-click
、点击、购买等等。 $ Y_k $ 表示第 $ k $ 种反馈类型。 - $ y_j^s\in \mathcal Y $ 表示在 $ \mathbf d_j^s $ 上的反馈类型。
- $ \mathbf{\vec c}_\mathbf q^k $ 表示由
query
得到类型为 $ Y_k $ 反馈的所有item
的特征的簇中心。它就是类型 $ Y_k $ 反馈的item
特征归一化之后的均值向量。 - $ m_1\ge 0 $ 和 $ m_2\ge 0 $ 是两个距离约束
margin
。 - $ \delta(\text{condition})=1 $ 表示如果条件满足则返回
1
。
$ \mathcal L_{\text{DC}}^c $ 的物理意义为:
- 第一项要求每个
item
的特征向量尽可能靠近它所在的簇中心,因此强制簇内(具有相同反馈的item
)的紧凑性compactness
。 - 第二项要求不同簇中心之间尽可能远离,因此强制簇间(具有不同反馈的
item
)的可分离性separability
。
由于 $ \mathcal L_{\text{DA}} $ 的存在,源域和目标域高度相关。因此,使源
item
特征空间更有可区分性discriminative
是合理的(通过 $ \mathcal L_{\text{DC}}^c $ 使得源特征空间更有区分性),这使得目标item
特征空间通过优化 $ \mathcal L_{\text{DA}} $ 而变得有可区分性。从这个意义上讲,排序模型可以提取更好的item
特征来提高领域自适应性,从而获得更好的长尾性能。- 假设有 $ n_y $ 种不同的反馈类型 $ \mathcal Y=\{Y_1,\cdots,Y_{n_y}\} $ ,如非点击
面向目标聚类的自训练:对于一个
query
,我们可以为每个未曝光的item
分配一个target
伪标签pseudo-label
(正样本或负样本)。目前为止,
ESAM
可以被视为类别无关class-agnostic
的领域自适应方法,该方法在对齐aligning
时会忽略目标标签target label
信息,并且可能将目标item
映射到错误的位置(如,将目标正样本target positive sample
匹配match
到源负样本source negative sample
)。带有伪标签的目标样本在对齐时将为模型提供目标区分性
target-discriminative
的信息。因此,我们使用带有伪标签的样本进行自训练self-training
,来缓解负向迁移。具体而言,最小化熵正则化 $ -p\log p $ 有利于类别之间的低密度分离low-density separation
,并增加目标的区分度target discrimination
。我们根据 $ \text{Sc}_{\mathbf q,\mathbf d} = f_s\left(\mathbf{\vec v}_\mathbf q,\mathbf{\vec v}_\mathbf d\right) $ 来计算
query
和未曝光item
之间的相关性得分,然后归一化为[0.0 ~ 1.0]
之间(例如通过sigmoid
函数)。这个归一化的得分可以作为目标item
是该query
的正样本的概率。例如,对于点击反馈,这个得分表示query
点击这个未曝光item
的概率。如下图所示,通过梯度下降优化熵正则化会强制使得归一化得分数小于
0.4
并逐渐接近0
(负样本)、归一化得分数大于0.4
并逐渐接近1
(正样本)。因此,这种正则化可以被视为一种自训练的方式,它增强了未曝光item
之间的区分能力discriminative power
。但是,当直接使用正则化时,由于在早期训练中曝光
$ \mathcal L_{\text{DC}}^p = - \frac{\sum_{j=1}^n\delta((\text{Sc}_{\mathbf q,\mathbf d_j^t}\lt p_1)\text{ or } (\text{Sc}_{\mathbf q,\mathbf d_j^t}>p_2))\times \text{Sc}_{\mathbf q,\mathbf d_j^t}\log \text{Sc}_{\mathbf q,\mathbf d_j^t}}{\sum_{j=1}^n\delta((\text{Sc}_{\mathbf q,\mathbf d_j^t}\lt p_1)\text{ or } (\text{Sc}_{\mathbf q,\mathbf d_j^t}>p_2))} $item
和未曝光item
之间存在较大的领域漂移,因此排序模型无法正确预测未曝光item
,尤其是对于归一化得分在[0.4,0.6]
之间的item
。 因此,目标样本target sample
很容易被分配错误的标签,并陷入错误的反馈中。为此,我们采用带约束的熵正则化来选择可靠的目标样本进行自训练:其中:
- $ p_1\gt 0,p_2\gt 0 $ 为两个置信度阈值,用于选择带有置信度伪标签的可靠样本。
- $ \text{Sc}_{\mathbf q,\mathbf d_j^t} = f_s\left(\mathbf{\vec v}_\mathbf q,\mathbf{\vec v}_{\mathbf d_j^t}\right) $ 是 $ \mathbf q $ 和 $ \mathbf d_j^t $ 之间的相关性得分,并归一化为
[0.0,1.0]
之间。 - $ \delta(a \text{ or } b) = 1 $ ,如果条件
a
或者条件b
满足。
通过优化 $ \mathcal L_{\text{DC}}^p $ ,模型可以使用 $ \text{Sc}_{\mathbf q,\mathbf d_j^t} $ 小于 $ p_1 $ 的负
target item
、或者 $ \text{Sc}_{\mathbf q,\mathbf d_j^t} $ 大于 $ p_2 $ 的正target item
进行自训练。这种带有约束的熵正则化保证了target label
的正确性,从而避免了负向迁移。此外,基于课程学习curriculum learning
,该模型可以从可靠样本reliable sample
中学习目标有区分性target-discriminative
的信息,从而将更多样本转化为可靠样本。个人认为这里的自训练的目的是提高未曝光
item
预估概率的可区分性。对于未曝光item
,模型预估结果倾向于集中在概率均值附近(熵值较大),使得正负样本之间区分性不大。而对于曝光item
,由于有真实反馈信息,模型预估结果趋向于两端(熵值较小),使得正负样本之间区分性较大。因此,如果对未曝光
item
预估概率为0.55
,则它可能是一个正样本;如果对曝光item
预估概率为0.55
,则它可能是一个负样本。本质原因是因为未曝光item
预估概率分布和曝光item
预估概率分布的不一致性,后者的熵更小、更具区分性。为此,这里的自训练通过最小化未曝光
item
预估结果的熵值,使得未曝光item
预估概率分布尽可能有区分度。最终
$ \mathcal L_{all} = \mathcal L_s + \lambda_1\mathcal L_{\text{DA}} + \lambda_2 \mathcal L_{\text{DC}}^c + \lambda_3\mathcal L_{\text{DC}}^p $ESAM
总的损失函数为:其中 $ \lambda_1,\lambda_2,\lambda_3 $ 为超参数,分别控制对应项的重要性。
4.2 应用
这里我们将
ESAM
应用于两个特定的排序场景:item
推荐、个性化搜索。Item
推荐:Item
推荐是一个典型的排序问题。推荐系统最重要的方法之一是协同过滤,它探索了潜在的user-item
相似性。推荐系统主要包括四个组成部分:特征组成
Feature Composition
、特征抽取Feature Extract
、评分函数Scoring Function
、损失函数Loss Function
。特征组成:我们在
item
推荐中主要采用三组特征:用户画像特征、用户行为特征、item
画像特征。每组特征由一系列的稀疏特征组成:- 用户画像
user profile
特征:包括用户ID
、年龄、性别等等。 - 用户行为
user behavior
特征:包括用户最近交互的item id
。 item
画像item profile
特征:包括item id
、品牌、类目等等。
模型使用哪些特征组
feature group
、以及使用特征组内哪些稀疏特征取决于特征提取器extractor
的设计。- 用户画像
特征提取器
Feature Extractor
:基于神经网络的推荐系统的基础basic
特征提取器是MLP
。目前设计了各种新颖的模块来增强特征抽取,如注意力机制attention mechanism
、transformer
模块。在我们的实验中,我们将
ESAM
集成到多种提取器中,以证明它是一个提高长尾性能的通用框架。评分函数:我们定义评分函数为:
$ \text{Sc}_{\mathbf q,\mathbf d} = f_s\left(\mathbf{\vec v}_\mathbf q,\mathbf{\vec v}_\mathbf d\right) = \text{sigmoid}\left(b_\mathbf d+\mathbf{\vec v}_\mathbf q^\top\mathbf{\vec v}_\mathbf d\right) $其中:
- $ b_\mathbf d $ 为针对
item
$ \mathbf d $ 的bias
项。 - $ \mathbf{\vec v}_\mathbf q\in \mathbb R^L $ 为从 $ f_q(\cdot) $ 抽取的、用户 $ \mathbf q $ 的特征。
- $ \mathbf{\vec v}_\mathbf d\in \mathbb R^L $ 为从 $ f_d(\cdot) $ 抽取的、
item
$ \mathbf d $ 的特征。
- $ b_\mathbf d $ 为针对
损失函数:我们将点击视为反馈,因此对于一个
$ \mathcal L_s = -\frac 1n\sum_{i=1}^n \left(y_{\mathbf q,\mathbf d_i}\log \text{Sc}_{\mathbf q,\mathbf d_i}\right)+(1-y_{\mathbf q,\mathbf d_i})\log (1-\text{Sc}_{\mathbf q,\mathbf d_i}) $query
$ \mathbf q $ ,一个item
$ \mathbf d $ 是否会被点击可以认为是一个二分类问题。我们应用point-wise
交叉熵目标函数:其中:
- $ y_{\mathbf q,\mathbf d_i}\in \{0,1\} $ 为一个二元标签,它指示
query
$ \mathbf q $ 是否在item
$ \mathbf d_i $ 上产生点击。 - $ n $ 是
query
$ \mathbf q $ 所有曝光的item
的数量。
- $ y_{\mathbf q,\mathbf d_i}\in \{0,1\} $ 为一个二元标签,它指示
上述模型仅使用 $ \mathcal L_s $ 进行训练,而 $ \mathcal L_s $ 仅考虑曝光的
item
。为了缓解领域偏移以提高模型的性能,我们在每个训练epoch
随机地将未曝光item
分配给每个query
,并且通过在item
侧 $ f_d(\cdot ) $ 的三个约束来引入额外的未曝光item
输入流input stream
,从而将ESAM
集成到模型中。在推荐场景中,面向源聚类的中心聚类是个难点。论文假设对于给定的
query
,相同反馈的item
是相似的。但是在这里,用户相同反馈(如点击或购买)的item
不一定相似,因为用户的兴趣是多样化的。个性化搜索:这里的个性化搜索系统是根据用户发出的关键字
keyword
来识别用户可能感兴趣的所有可能item
。因此,ESAM
的集成、特征提取器、损失函数和item
推荐场景相同,只是特征组成、评分函数有所不同。特征组成:个性化搜索系统引入了额外的关键词特征组
feature group
。通过对关键词的word vector
求平均,将关键词转换为向量。评分函数:我们定义评分函数为余弦相似度:
$ \text{Sc}_{\mathbf q,\mathbf d} = f_s\left(\mathbf{\vec v}_\mathbf q,\mathbf{\vec v}_\mathbf d\right) =\frac{\mathbf{\vec v}_\mathbf q^\top\mathbf{\vec v}_\mathbf d}{\left\|\mathbf{\vec v}_\mathbf q\right\|\times \left\|\mathbf{\vec v}_\mathbf d\right\|} $为什么推荐任务中使用
sigmoid
而搜索任务中使用余弦相似度?这里没有讲清楚。
4.3 实验
我们对
ESAM
进行了item
推荐实验和个性化搜索实验。数据集:
Item
推荐:MovieLens-1M
:该数据集由超过数千部电影和用户的一百万条电影评分记录组成。我们首先将评分二值化binarize
来模拟CTR
预估任务:评分大于3
分的为正样本、评分小于等于3
分的为负样本。这是常见的解决该问题的方法。我们使用的特征是
query
侧的用户ID
、年龄、性别、用户职业,以及item
侧的电影ID
、发行年份、电影流派genres
。在每个训练
epoch
,我们随机添加10
部与曝光item
相似的未曝光电影(即 $ n=10 $ ) 。相似的电影是那些流派与曝光电影相同的未曝光电影。如何定义相似?这是一个问题。
我们按照
8:1:1
的比例将数据随机划分为训练集、验证集、测试集。
个性化搜索:
CIKM Cup 2016 Personalized E-Commerce Search
:个性化电商搜索挑战赛发布了DIGINETICA
提供的数据集。每个
item
包含了item ID
、类目ID
、标题、描述文本。每个query
由用户id
、年龄、历史行为、提交的关键词ID
(由单词列表转换而来)组成。每条记录都包含一个query
,以及该query
相关的10
个曝光item
、以及该query
点击的item
。我们采用
MovieLens-1M
相同的策略为每条记录分配未曝光的item
。我们按照8:1:1
的比例将数据随机划分为训练集、验证集、测试集。Industrial Dataset of Taobao
:我们收集了2019
年6
月淘宝一周的日志。在这个数据集中,所有使用的特征、获取未曝光item
的方式,以及记录的组织方式都与CIKM Cup 2016
数据集相同。我们将第一天到第五天的记录作为训练集、第六天的数据作为验证集、第七天的数据作为测试集。
这些数据集的统计信息如下表所示。
baseline
方法:为了验证ESAM
是一个通用框架,我们将其集成到基于神经网络的一些单域single-domain
排序方法中。注意:特征提取器 ( $ f_q(\cdot) $ 和 $ f_d(\cdot) $ )在个性化搜索和推荐应用程序中是一致的,只有特征组成( $ \mathbf q $ 和 $ \mathbf d $ )、以及评分函数 ( $ f_s(\cdot) $ )取决于具体应用。
我们还比较了一些
DA-based
排序方法,以及一些missing not random
方法(仅考虑曝光item
而不考虑未曝光item
),从而显示我们提出的ESAM
的优势。具体而言,
baseline
方法包括:单域方法:
NeuralMF
、RALM
、YoutubeNet
、BST
。DA-based
方法:DARec
、DA learning to rank framework: DALRF
。注意:对于
DA-based
方法,我们仅将原始DA
约束替换为ESAM
,并保持其他模块不变以进行比较。missing not random
方法:unbiased imputation model: UIM
。注意:
missing not random
方法需要无偏数据集unbiased dataset
。这里无偏数据集是通过对一小部分在线流量部署一个统一策略uniform policy
而收集的。为了公平地比较,我们仅将使用无偏数据集的约束替换为ESAM
。
评估指标:我们使用三个标准评估指标来比较性能:
Normalized Discounted Cumulative Gain: NDCG
、Recall
、Mean Average Precision: MAP
。所有方法进行了五次训练,并报告平均结果。
配置:
所有方法均由
TensorFlow
实现,并使用Adam
优化器进行训练。超参数:
- 对于超参数 $ \lambda_1,\lambda_2,\lambda_3 $ ,我们从
{0.01, 0.1,0.3,0.5,0.7,1,10}
中搜索最佳的值,并设置 $ \lambda_1=0.7,\lambda_2=0.3,\lambda_3=0.5 $ 。 - 对于其它超参数,我们设置学习率为 $ \eta=10^{-4} $ 、
batch size = 256
、特征维度 $ L=128 $ 、距离约束 $ m_1=0.2,m_2=0.7 $ 、置信阈值 $ p_1=0.2,p_2=0.8 $ 。 - 对于
baseline
方法的超参数,我们使用基于验证集性能的网格搜索。
- 对于超参数 $ \lambda_1,\lambda_2,\lambda_3 $ ,我们从
我们为每个
query
分配了10
个源item
$ \mathbb D_\mathbf q^s $ 、10
个目标item
$ \mathbb D_\mathbf q^t $ ,即 $ n=10 $ 。根据曝光频率,我们将整个
item
空间划分为热门item
和长尾item
:我们将top 20%
的item
定义为热门item
、剩余item
定义为长尾item
。
公共数据集:下表分别给出了
Movielens-1M
数据集和CIKM Cup 2016
数据集上不带ESAM
和带ESAM
的性能。Hot
代表测试集中的热门item
、Long-tail
代表测试集中的长尾item
、Entire
代表测试集中的所有item
。上图为Movielens-1M
数据集的结果,下图为CIKM Cup 2016
数据集的结果。w/o ESAM
表示不带ESAM
,w/ESAM
表示集成了ESAM
。最佳结果用黑体突出显示。可以看到:
各模型对于热门
item
的性能总是远远高于长尾item
,这表明热门item
和长尾item
的分布是不一致的。带
ESAM
的单域baseline
优于不带ESAM
的单域baseline
。- 对于个性化搜索,在
NDCG@20/Recall@20/MAP
指标上,带ESAM
的baseline
相比不带ESAM
的baseline
:在热门item
空间中分别绝对提升1.4%/2.1%/1.5%
,在长尾item
空间中分别绝对提升3.3%/3.4%/2.5%
,在整个item
空间中分别绝对提升2.3%/2.8%/2.3%
。 - 对于
item
推荐,在NDCG@20/Recall@20/MAP
指标上,带ESAM
的baseline
相比不带ESAM
的baseline
:在热门item
空间中分别绝对提升1.3%/1.4%/1.2%
,在长尾item
空间中分别绝对提升2.7%/2.0%/2.2%
,在整个item
空间中分别绝对提升1.8%/1.9%/1.7%
。
长尾空间中的显著改善证明了
ESAM
能够有效缓解长尾item
的领域漂移问题,使得模型为不同的数据集和application
在整个item
空间中学到更好的特征。- 对于个性化搜索,在
我们发现
ESAM
优于其它DA-based
方法(如DALRF, DARec
)。结果表明,我们设计的有区分性的领域自适应考虑了高级属性之间的相关性,并采用中心聚类和自训练来改善源区分性source discrimination
和目标区分性target discrimination
,从而可以有效地迁移更多的有区分性的知识discriminative knowledge
。
冷启动性能
Cold-Start Performance
:我们随机选择测试集中20%
的记录,并从训练集中删除曝光item
包含所选测试记录的所有训练记录。我们使用BST
作为BaseModel
,因为它在公共数据集上具有最佳性能。实验结果如下所示,可以看到:
- 由于曝光
item
空间中缺少这些item
,BST
很难解决冷启动问题。 ESAM
可以显著提升冷启动性能,因为它引入了包含冷启动item
的非曝光item
,从而增强特征学习。
- 由于曝光
淘宝工业数据集
Industrial Dataset of Taobao
:由于淘宝工业数据集非常大,我们采用Recall@1k
和Recall@3k
作为度量指标,并使用公共数据集上表现最好的BST
作为消融研究的BaseModel
。实验结果如下表所示,可以看到:
比较不带 $ \mathcal L_\text{DA} $ 和带 $ \mathcal L_\text{DA} $ 的方法(如
BM
和 $ \text{BM} + \mathcal L_\text{DA} $ ,或者不带 $ \mathcal L_\text{DA} $ 的ESAM
和ESAM
),我们发现:A2C
可以大幅度提高模型在长尾空间的性能(如平均绝对增益为+2.73%
或+3.05%
),这表明通过对齐aligning
源域和目标域的分布可以解决长尾性能差的问题。和不带 $ \mathcal L_\text{DC}^c $ 的模型(如不带 $ \mathcal L_\text{DC}^c $ 的
ESAM
)相比,采用 $ \mathcal L_\text{DC}^c $ 的模型(如ESAM
)通过采用 $ \mathcal L_\text{DC}^c $ 优化源空间结构,从而在热门空间的性能尤为突出(如平均绝对增益为+0.6%
或+0.7%
)。此外, $ \mathcal L_\text{DC}^c $ 使目标空间结构具有更好的簇内紧凑性
intra-class compactness
和簇间可分性inter-class separability
,从而提高了长尾性能(例如,平均绝对增益为+0.5%
或+1.8%
)。这三个约束条件的组合(即
ESAM
)产生了最佳性能,这表明我们设计的三个正则项的必要性。ESAM
的性能优于UIM
,这表明ESAM
可以抑制 ”马太效应“ 来提高长尾性能。
特征分布可视化
Feature Distribution Visualization
:为了说明领域漂移的存在、以及我们提出的ESAM
的有效性,我们随机选择了淘宝工业数据集上的2000
个item
,并使用t-SNE
可视化了从 $ f_d(\cdot) $ 输出的特征。结果如下图所示,红色点代表target item
、蓝色点代表source item
。可以看到:- 如图
(a)
所示,在源特征分布和目标特征分布之间存在domain gap
。这种gap
使得基于源item
训练的模型无法应用于具有大量未曝光item
的整个空间。 - 如图
(b)
所示,我们发现 $ \mathcal L_\text{DA} $ 的集成可以显著降低分布之间的gap
,这证明item
高级属性之间的相关性可以很好地反映领域domain
的分布。 - 如图
(c)
所示,采用区分性的聚类discriminative clustering
,特征空间将具有更好的流形结构manifold structure
。 $ \mathcal L_\text{DC}^c $ 通过更好的簇内紧凑性intra-class compactness
和簇间可分性inter-class separability
来增强共享特征空间。 - 如图
(d)
所示, $ \mathcal L_\text{DC}^p $ 鼓励进一步的有区分性的对齐discriminative alignment
。和图(c)
相比,图(d)
横坐标扩展为[-60,80]
、纵坐标扩展为[-80, 80]
。
总之,
ESAM
通过区分性的领域自适应来提取领域不变的domain-invariant
和有区分性的特征,使得该模型对长尾item
具有鲁棒性,并且能够为用户检索更加个性化和多样化的item
。- 如图
评分的分布
Score Distribution
:为进一步说明ESAM
可以有效优化长尾性能,我们分别从淘宝工业数据集的源域和目标域中随机各选择500
个 $ (\mathbf{\vec v}_\mathbf q,\mathbf{\vec v}_\mathbf d) $ 的组合,从而可视化评分的分布。如下图所示,横坐标分数 $ \text{Sc}_{\mathbf q,\mathbf d} = f_s\left(\mathbf{\vec v}_\mathbf q,\mathbf{\vec v}_\mathbf d\right) =\frac{\mathbf{\vec v}_\mathbf q^\top\mathbf{\vec v}_\mathbf d}{\left\|\mathbf{\vec v}_\mathbf q\right\|\times \left\|\mathbf{\vec v}_\mathbf d\right\|} $ ,纵坐标为评分在区间内的样本数。可以看到:根据图
(a)
,模型倾向于对未曝光的item
给出更低的分数,使得这些item
难以被检索。根据图
(b)
,引入 $ \mathcal L_\text{DA} $ 之后模型鼓励源域和目标域具有相同的分数分布,这增加了长尾item
的曝光概率。但是,对齐后的分数分布过于集中,这可能导致检索不相关的
item
。为了解决这个问题,我们提出的区分性的聚类鼓励分数分布具有更好的区分性对齐(图(c)
和图(d)
)。- 如图
(c)
所示,target
曲线具有一个异常尖峰(在score = 0.15
附近),我们认为这是由于在对齐过程中忽略了目标label
从而导致了负向迁移。 - 如图
(d)
所示,使用目标可靠target reliable
的伪标签进行自训练可以一定程度上解决这个负向迁移问题。
- 如图
相似度矩阵
Similarity Matrix
:为了证明ESAM
可以学到更好的item
特征representation
,我们在淘宝工业数据集的整个item
空间中,从每个类目(服装、电话、鞋子、计算机)中随机选择了1000
个item
。我们将每个类目的item
平均分为两组,每组500
个item
。对于每一组,我们将类目中心计算为item representation
的均值。然后,我们可以通过每一对中心的余弦相似度来获得相似度矩阵。结果如下图所示。可以看到:- 和
BaseModel
相比,ESAM
具有更大的簇内相似度和更小的簇间相似度,这表明ESAM
具有更具可区分 的邻域关系。 - 此外,
ESAM
抽取的相似度矩阵能够更好地反映实际情况,即服装dress
和鞋子shoe
的相似度高于服装dress
和手机phone
的相似度,而这在BaseModel
中是无法体现出来的。
- 和
参数敏感性
Parameter Sensitivity
:为了研究 $ \mathcal L_\text{DC}^c $ 的距离约束 $ m_1,m_2 $ 的影响,我们考虑 $ m_1\in \{ 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.5, 1, 2 \} $ 以及 $ m_2 \in \{0.5, 0.6, 0.65, 0.7, 0.75, 0.8, 0.9, 1, 1.5, 2\} $ 时,模型效果的影响。结果如下图
(a)
所示。可以看到:适当的簇内和簇间距离约束可以有效地优化邻域关系,从而提高检索性能。
对于 $ \mathcal L_\text{DC}^p $ 的置信阈值 $ p_1 $ 和 $ p_2 $ ,如图
(b)
所示,我们发现:为低置信度样本(如 $ p_1 $ 太大或 $ p_2 $ 太小)分配伪标签用于自训练将会导致模型崩溃,因为大量的标签是假的。而增加置信度阈值可以提高模型的性能。这表明:带有适当约束的熵正则化可以有效地选择可靠的目标样本,从而获得更好的领域自适应性和最终性能。
在线实验
Online Experiment
:我们将ESAM
用于淘宝搜索引擎进行个性化搜索,并进行了在线A/B test
实验。为了公平地进行比较,除了模型是否与ESAM
集成以外,其他所有变量都是一致的。和
BaseModel
相比,在7
天内ESAM
获得了0.85%
的CTR
增益、0.63%
的collection rate
(collection
表示加购物车的行为)增益、0.24%
的CVR
增益、0.4%
的GMV
增益。注意,由于淘宝中的搜索引擎服务于数十亿用户,每天产生超过一千万的GMV
,因此这里的性能提升对于我们的业务来说已经足够显著了。我们将其归因于通过引入未标记的未曝光输入流
input stream
来减少曝光item
和未曝光item
之间的分布差异,从而提高了对长尾item
的检索能力。总之,在线实验验证了
ESAM
可以显著提升整个搜索引擎的效率。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论