Task Assignment with Federated Preference Learning in Spatial Crowdsourcing

72 阅读12分钟

摘要

空间众包(SC)在今天的网络世界中无处不在。随着我们从众包应用(如维基百科)过渡到SC应用(如Uber),有大量的先例表明SC系统不仅有责任进行有效的任务分配,也有责任保护隐私。为了解决这些经常冲突的责任,我们提出了一个框架,即带有联合偏好学习的任务分配,该框架根据工人的偏好进行任务分配,同时在每个平台中心(例如,SC公司的每个交付中心)保持数据的分散和隐私。该框架包括两个阶段,即联合偏好学习和任务分配阶段。具体来说,在第一阶段,我们根据历史数据为每个平台中心设计一个本地偏好模型。同时,引入客户端-服务器结构的横向联合学习,在中央服务器的协调下,协同训练这些本地偏好模型。任务分配阶段旨在通过考虑工人的偏好实现有效和高效的任务分配。对真实数据进行的广泛评估显示了本文建议的有效性和效率。

1 INTRODUTION

为了填补现有研究中关注隐私何题和忽路工人偏好的方法之间的空白,我们提出了一个两阶段的SC框架,即联合偏好学习的任务分配(TA-FPL),它包括一个联合偏好学习和一个任务分配阶段,如图1所示。在第一阶段,我们为每个本地中心设计一个联合偏好模型,所有的本地模型都与中央服务器相结合。对于每个偏好模型,每个平台中心首先从中央服务器下载参数,开利用其本地历史数据,通过使用上下文编码器、类别内编码器和协作模块,学习工人对所有任务类别的偏好。然后,中央服务器接收更新的模型参数,并汇总它们以更新全局偏好模型。在聚合部分,我们增加了一个动态的惩罚性风险函数以达到更好的性能。在任务分配阶段,我们首先计早每个任务的可用工人(AWs)和每个工人的可达任务(RTs),这些都是基于时空限制的。然后,我们提出了一个交叉的top-kk Kuhn Munkras(KM)算法,该算法同时考虑每个任务和工人的top-kk AWs和RTs,通过考虑工人的偏好来实现有效和高效的任务分配.

image.png

主要的贡献有四个方面

  1. 我们提出了一个保护隐私的SC框架,称为带有联合偏好学习的任务分配(TA-FPL)。据我们所知,这是SC领域第一个应用联邦学习的研究,它有效地保护了工人历史行动数据的隐私
  2. 我们将偏好模型与联邦学习相结合,以了解工人的偏好,其中设计了一个动态惩罚风险函数来汇总所有选定平台中心的传输参数。
  3. 我们提出了一种基于工人偏好的相交top-kk KM算法,以实现有效和高效的任务分配。
  4. 我们在一个现实世界的数据集上进行了充分的实验,为所提出的框架的有效性和效率提供了证明。

2 问题定义

我们接下来将介绍必要的初步情况,然后定义所要解决的问题。表1列出了本文中使用的符号。

image.png

在SC中,只有当工人实际位于s.ls.l的位置时,空间任务ss的查询才能被回答,并且只有当工人在最后期限s.es.e之前到达s.ls.l时才能完成。请注意,在单一任务分配模式下[13],SC服务器应该将每个空间任务一次只分配给一个工人。

工人ww的可及范围是一个以w.lw.l为中心、w.rw.r为半径的圆,在这个圆内ww可以接受任务。在我们的工作中,一个工人在某个时间实例中只能处理一个任务,并且属于一个中心,这在实践中是合理的。

基于上述定义,正式的问题定义如下
隐私保护下的偏好驱动任务分配(Preference-driven Task Assignment with Privacy Protection)
给定一组具有私有本地数据(即工人的历史任务记录和工人的位置)的中心PCPC,一组在线工人WW和一组当前时间实例中的任务SS。我们的问题是通过考虑工人的偏好和保护每个平台中心的隐私,找到一个最优的任务分配AoptA_{opt},使分配的任务总数最大化,即AiA(Aopt.SAi.S)∀A_i∈\mathbb{A} (|A_{opt} . S |≥|A_i . S |),其中A\mathbb{A}表示所有可能的分配,Ai.SA_i . S表示任务分配AiA_i的任务

3 算法

在这一节中,我们将介绍所提出的框架TA-FPL的细节,它包含第3.1节中描述的联邦偏好学习阶段和第3.2节中描述的偏好驱动的任务分配阶段。在联邦偏好学习阶段,我们提出了一个局部偏好模型来模拟工人对本地平台中心的偏好,该模型包含三个模块,即一个上下文编码器、一个类别内编码器和一个协作模块。我们结合上述模块来预测局部劳动者的偏好。然后,我们引入一个新的联合训练过程来更新中心服务器的模型参数,以获得全局劳动者的偏好。在偏好驱动的任务分配阶段,我们引入了一个交叉top-$$k$ KM算法来寻找一个合适的任务分配。

3.1 联邦偏好学习

在本节中,我们将分别介绍局部偏好模型和联邦模型训练。注意,中央服务器的模型和本地平台中心的模型共享相同的模型框架,如图2所示
image.png

3.1.1本地平台中心偏好建模

在本节中,我们将介绍如何使用每个平台中心的本地数据来建模员工的偏好

鉴于工人ww的任务序列SwS_w,我们的偏好模型的目标是预测这个工人在不久的将来对任务地点和任务类别的偏好。

如图2所示,本地偏好模型由三个模块组成:语境编码器、类别内编码器和协作模块。首先,为了建立任务类别下的工人偏好模型,一个任务序列可以根据任务类别划分为多个子序列,每个子序列包含同一类别的任务。类别内编码器,利用SelfAttentionSelfAttention,用来模拟子序列中任务到任务的类别内过渡模式。第二,语境编码器包含事件语境和类别语境。基于最近任务记录的类别,语境编码器利用SelfAttentionSelfAttention来预测下一个类别,从而帮助确定工人对下一个任务地点的偏好。为了获得偶发环境,语境编码器用另一个SelfAttentionSelfAttention来模拟最近的任务记录中的任务到任务的过渡模式。第三,由于单个工人的任务记录中的观察值很稀少,我们根据上下文编码器的下一个类别预测,检索出与目标工人有类似类别偏好的工人。最后,任务位置和任务类别的预测是基于偶发语境、类别内工人的偏好和邻近工人的类别内偏好进行的。然后,我们将介绍这个偏好模型的每个组成部分的细节。

语境编码器

通过使用top-kk门控网络和近况编码器,我们可以分别获得最近任务记录中的类别背景和事件背景。
对于top-k门控网络,我们把最近任务的类别作为输入。通过输入类别嵌入层,最近的M个任务记录的类别可以投射到向量Z=[ecNMZ,...,ecNZ]Z = [e^Z_{c_{N -M}}, ...,e^Z_{c_{N}}],最近任务记录的相对位置[M,...,1][M, ..., 1]同样可以通过位置嵌入层投射到Pz=[PMZ,...,P1Z]P^z = [P^Z_M, ..., P^Z_1]。然后,由nln_l层多头注意块和全连接(FC)网络块组成的SelfAttentionSelfAttention网络[16, 35]将类别向量H0=Z+PzH^0 = Z + P^z转换为隐藏表征Hnl=[h1Z,...,hTZ]H^{n_l} = [h^Z_1 , ..., h^Z_T]。对于ii个注意力头,输入的潜在状态Hj将按照公式1转化,其中投影矩阵WiQ,WiK,WiVW^Q_i,W^K_i,W^V_i是可学习的参数,LN是一个layer normalization network。

image.png

然后,我们将hzh^z送入输出类别嵌入层和一个softmax层。top-kk门控网络在所有任务类别上产生一个概率分布。
image.png

考虑到下一个类别预测的不确定性,门控网络根据公式3选择前k个最可能的类别。 image.png

近况编码器被用来从最近的任务记录中推断出事件背景,过程与上述类似

image.png

类别内编码器

image.png

协作模块

在协作模块中,一个记忆张量MemMem被用来记录工人的类别内偏好,按时间顺序存储每个类别cc的最后FF个工人的潜在状态。
首先,我们计算工人ww和工人ii在类别cc下的偏好相似度为:

image.png

然后我们选择最相似的ff个工作者作为邻居,将他们的表示加权和作为下一个任务位置预测的邻居表示:

image.png

对于Mem的写入操作,Mem是随机初始化的。然后,我们使用从类别编码器生成的最新工作者的类别内偏好表示hch^c来更新它。因此,内存张量是一个队列,它压入类别c的最近服务的工人表示,同时动态地弹出长时间不活跃的工人表示。

偏好预测

基于以上三个模块,我们可以得到工作人员对任务地点和任务类别的偏好。对于任务类别cjc_j的偏好得分,我们可以用公式2计算。

image.png
其中hzh^z表示最近任务记录的类别信息,ejze^z_j是类别 j 的嵌入。

类别jj的工人表示hjh_j是:

image.png
其中j=1,2,...,kj = 1, 2, ..., k表示连接操作。然后我们使用内积和softmax在类别j的前提下得到任务位置lil_i的工人偏好:

image.png
其中EoutE_{out}代表任务位置的嵌入。此外,当我们考虑所有前k个类别时,可以根据等式11计算工人对任务位置lil_i 的偏好。

image.png

3.1.2联邦偏好模型训练

在本节中,我们将介绍联邦训练方式下的全局损失函数和模型参数更新

损失函数

每个平台中心的损失函数由两部分组成:任务位置预测损失任务类别预测损失

对于任务位置预测损失,我们应用了负抽样技巧,根据每个正实例[2]在训练数据集中的受欢迎程度随机抽样n个负任务位置。任务位置预测损失为:

image.png
其中δ(·)是一个指标函数,lN+1l_{N +1}是ground-truth任务位置,而l^N+1\hat{l}_{N +1}是模型的预测。同样,我们计算所有任务位置类别的损失:

image.png
其中λ是控制权重的超参数。
整个联邦损失函数l(θ)l(θ)为:

image.png

联邦训练

image.png

3.2偏好驱动任务分配

在本节中,我们首先获取每个任务的可用工作者集和每个工作者的可达任务集。然后,利用时空和top-k约束构建二部图,提出了一种交叉top-k KM算法,该算法利用联邦偏好学习模型计算出的工人对不同任务类别的偏好。为了保护各个平台的本地数据,获得全局工作者的偏好,所有工作者的偏好都在本地平台中心进行计算,然后上传到中央服务器执行任务分配。

3.2.1 可用的工人集和可到达的任务集

将其构建为二部图

image.png

3.2.2交叉Top-k KM算法

这一部分将任务分配问题转化为二部图最大权重匹配问题

约束条件:

  1. 时空约束:wiAWsjw_i∈AW(s_j)sjRTwis_j∈RT(w_i)
  2. top-kk约束:wiAW~ksjw_i∈\widetilde{AW}_k(s_j)sjRT~kwis_j∈\widetilde{RT}_k(w_i)

对于每条边(viw,vjs)(v^w_i ,v^s_j),其权重,用weight(viw,vjs)weight(v^w_i ,v^s_j)表示,可以衡量为工人wiw_i对任务sjs_j的偏好,表示为pwi(sj)p_{wi} (sj),可以用公式17计算:

image.png

image.png
交叉Top-k KM算法见算法2。假设我们有一个二部图G,它由两个顶点集VSV_SVWV_W组成。首先,在图G中,VW中每个顶点的期望等于与其相关的边中最大的权值(第2-3行)。其次,通过查找任务算法3(第7行)递归地找到工作人员w的匹配任务。第三,如果 w 没有匹配到任务,为了让更多的工人被分配,调整上次匹配中涉及的工人和任务的期望,从而改变工人之间的竞争关系(第 8-17 行)。应对原始KM算法进行一些改进,该算法用于查找加权二分图的完美匹配,以考虑不存在完美匹配的情况[38]。由于原始KM算法可能会在我们的问题中造成无休止的循环,因此如果ww的期望值小于0(第5行),我们将停止为工人匹配任务。

image.png

为了提高效率,我们限制了图中的边数。由于我们使用相交的Top-k方法来过滤边,因此与工作节点或任务节点相关联的边的数量不能超过k。因此,算法3的递归深度设置为k,这可以减少工作节点之间的竞争(第2行)。为了减少任务分配丢失的数量,设计了重新分配任务算法,如算法4所示。首先,将检查分配结果(第1-3行),以使分配满足之前提出的约束条件。然后,我们将剩余的可用任务分配给相应可用工作人员中偏好得分最高的工作人员(第4–8行)。

image.png