Hierarchical Personalized Federated Learning for User Modeling

1. Introduction

这篇文章从用户建模这个场景出发,提出了当前用户数据受到General Data Protection Regulation (GDPR)的约束,无法聚合到一起进行用户建模。因此很自然的联想到使用联邦学习去解决这个问题,但是当前传统的联邦学习在该场景下面临以下挑战:

  1. 数据异构性:非独立同分布
  2. 隐私异构性:即不同类型的数据对隐私保护的要求不一样
  3. 模型异构性:用户浏览的物品数量的不同会导致物品空间的大小有所不同,因此从本地数据生成的用户模型在结构上自然会有所不同。

为了解决以上问题,文章提出了Hierarchical
Personalized Federated Learning (HPFL) 框架用于联邦场景下用户建模。
与传统的FL流程相比,在客户端阶段存在一个两阶段的任务。在第一阶段,HPFL的客户端通过隐私异质性来定义数据中的层次信息,即公共信息和私人信息。还相应的设计了公有组件和私有组件。在第二阶段,文章提出了一种细粒度的个性化更新策略,根据局部用户模型和全局模型,将相应的组件加权融合到新的局部模型中。即服务器对从客户端接收到的组件执行差异化的组件聚合策略,公有组件直接聚合,将私有组件的draft生成全局的private component而无需对齐表征(why?)

2. RELATED WORK

这部分就分别介绍了用户建模和联邦学习相关的工作,而把两者相结合的工作没有提到。

3. PRELIMINARIES

3.1 Problem Definition

在这里插入图片描述
且文章根据每个用户本地数据隐私的异构性,将其划分为两类:
在这里插入图片描述
并且针对以上两类信息分别设计了两类component

3.2 Scenario specifications

文章选取了两个场景,分别是学生能力评估与推荐两个场景。

HIERARCHICAL PERSONALIZED FEDERATED LEARNING

在本节中,更详细地描述用于用户建模的分层个性化联邦学习(HPFL)框架。

客户端是个人设备,它负责训练用户模型,即框架中的GUM。此外,它还提供了不同的组件,使用基于接收到的全局模型的细粒度个性化更新策略来更新个性化的用户模型。
服务器负责使用不同的组件聚合策略,通过不同的组件将异构的本地用户模型融合到全局的用户模型中。
在这里插入图片描述
Client Design
客户端主要负责两个阶段
阶段一:客户端首先独立地初始化和训练一个名为GUM的通用用户模型,且GUM同时包含公共组件和私有组件。训练完成后,公共组件是直接交付到服务端,而私有组件只提供一些draft,这些draft作为用户或物品表征的粗略估计。客户端需要在局部模型上处理一个聚类任务,以获得本地集群中心作为draft,这代表了用户模型中的标准,但敏感性较低。
阶段二:基于全局模型更新个性化用户模型。文章使用了一个细粒度的个性化更新策略来融合局部个性化信息和全局广义信息,通过不同的组件来更新GUM,细节如算法1所示。融合过程使用了一定的权重,可以反映局部模型的重要性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务端聚合阶段:
对于传来的公共组件的聚合方式:
在这里插入图片描述
δ(x,p)是一个指示器函数,其中δ(x,p)=1,如果x > p;否则,δ(x,p)=0,而p是一个动态阈值。也就是说,服务器只聚合局部验证精度高于阈值的知识向量,以动态选择用户模型中符合参与条件的向量的向量知识。
因为服务器接收客户端中传来的cluster center,这些中心被视为来自本地用户模型的表征 draft。之后,服务器对所有集群中心进行进一步聚类,即如图2所示的集群聚类。服务器中的新集群中心被定义为全局专用组件Θдr,这些综合表征代表了相似用户群或来自不同客户的相似的item的集合。

Local user model design
在这里插入图片描述
在这里插入图片描述

EXPERIMENTS

datasets:
在这里插入图片描述
在以上数据集中,所提到的概念和类别是上文提到的公共信息。user和item的交互记录是私人信息。
下图是文章对这两个数据集中不同属性分布的刻画,可以看出ASSIST是一个典型的Non-IID数据集,而后者是一个IID数据集。
在这里插入图片描述
Baselines
分为两部分,一部分是一些典型的中心化用户建模方法,另一部分是与其他典型聚合方法的区别。
在这里插入图片描述
Metrics
Prediction Accuracy (ACC)
Mean Absolute Error (MAE)
Root Mean Square Error (RMSE)

实验结果表明文章提出的方法是有效的
在这里插入图片描述
GUM代表的是一种中心式用户建模方法的性能,HPFL代表的是对应联邦的方法。

### Hierarchical Embedding Model for Personalized Product Search In machine learning, hierarchical embedding models aim to capture the intricate relationships between products and user preferences by organizing items within a structured hierarchy. This approach facilitates more accurate recommendations and search results tailored specifically towards individual users' needs. A hierarchical embedding model typically involves constructing embeddings that represent both product features and their positions within a category tree or other organizational structures[^1]. For personalized product searches, this means not only capturing direct attributes of each item but also understanding how these relate across different levels of abstraction—from specific brands up through broader categories like electronics or clothing. To train such models effectively: - **Data Preparation**: Collect data on user interactions with various products along with metadata describing those goods (e.g., price range, brand name). Additionally, gather information about any existing hierarchies used in categorizing merchandise. - **Model Architecture Design**: Choose an appropriate neural network architecture capable of processing multi-level inputs while maintaining computational efficiency during training sessions. Techniques from contrastive learning can be particularly useful here as they allow systems to learn meaningful representations even when labels are scarce or noisy[^3]. - **Objective Function Formulation**: Define loss functions aimed at optimizing performance metrics relevant for ranking tasks; minimizing negative log-likelihood serves well as it encourages correct predictions over incorrect ones[^4]. Here’s a simplified example using Python code snippet demonstrating part of what might go into building one aspect of this kind of system—learning embeddings based off some hypothetical dataset containing customer reviews alongside associated product IDs: ```python import torch from torch import nn class HierarchicalEmbedder(nn.Module): def __init__(self, vocab_size, embed_dim=100): super().__init__() self.embedding = nn.Embedding(vocab_size, embed_dim) def forward(self, x): return self.embedding(x) # Example usage: vocab_size = 5000 # Number of unique words/products embeddings_model = HierarchicalEmbedder(vocab_size) input_tensor = torch.LongTensor([i for i in range(10)]) # Simulated input indices output_embeddings = embeddings_model(input_tensor) print(output_embeddings.shape) # Should output something similar to "torch.Size([10, 100])" ``` This script initializes a simple PyTorch module designed to generate fixed-size vector outputs corresponding to given integer keys representing either textual tokens found within review texts or numeric identifiers assigned uniquely per catalog entry.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值