
Citation: | WANG Ruyan, JIANG Hao, TANG Tong, WU Dapeng, ZHONG Ailing. A Joint Optimization Strategy for User Request Perceived Edge Caching and User Recommendation[J]. Journal of Electronics & Information Technology, 2024, 46(7): 2850-2859. doi: 10.11999/JEIT230898 |
无线通信技术的快速发展以及智能设备和多媒体应用数量的快速增加,引发了移动数据流量的爆炸性增长[1]。采用传统的缓存架构为用户提供内容服务将导致回程链路拥塞,在高峰时段甚至会造成通信中断。为解决上述问题,通过在更靠近用户的边缘侧提前缓存用户未来可能请求的内容,可以有效地缓解网络压力[2]。具体地说,可由移动终端或边缘基站中的缓存实体存储相应的内容,通过设备到设备(Device-to-Device, D2D)通信或下行链路传输至用户,从而降低用户内容获取延迟。因此,边缘缓存技术已成为未来移动通信的热点研究方向之一[3]。受限于边缘节点的缓存容量,所设计缓存策略的有效性往往取决于先验且同质分布的用户偏好[4]。然而,上述假设在现实世界存在严重偏差。一方面,用户对不同内容的偏好在时空域上存在显著差异,难以准确评估,另一方面,受到用户属性影响,用户的内容偏好呈现个性化。显然,高效的缓存策略需要充分考虑用户之间的差异及用户个体偏好的演化。
为了准确地获知用户偏好信息,进而高效利用有限的缓存空间,国内外研究人员采用人工智能技术,根据用户历史请求行为预测用户未来偏好,为边缘缓存提供重要信息。文献[5]提出将因子分解机(Factorization Machine, FM)与多层感知器结合预测用户偏好,采用加权平均方法表示群组兴趣,并设计了相应的群组缓存策略。文献[6]将用户偏好建模为用户对内容主题的偏好和内容在对应主题内的全局流行度,采用期望最大化算法学习用户偏好,从而提出分布式缓存策略。文献[7]考虑用户对内容和位置的偏好,并基于用户偏好列表的联盟博弈划分虚拟社区,用于边缘缓存网络的视频内容分发。文献[8]研究了云无线电接入网络中的主动缓存问题,通过在基带单元上采用回声状态网络预测用户内容偏好,继而提出次线性算法来执行缓存策略。然而,上述工作均未考虑用户偏好的高异质性问题。
为了进一步提高边缘缓存的增益,需要充分考虑主动行为机制。其中,推荐机制由于能够重塑用户内容请求模式而备受关注。文献[9]首次研究了推荐机制在边缘缓存中的应用,将每个用户请求分布设计为用户偏好和推荐概率的凸组合。进一步地,文献[10]将该思想扩展到通用缓存辅助的小蜂窝网络中,并证明通过推荐感知缓存策略设计可以获得更高的缓存命中率。文献[11]定量研究了推荐机制对系统缓存效率的影响,考虑用户推荐数量和缓存数量的约束,解决缓存命中率最大化问题。文献[12]研究了捆绑推荐机制对用户请求概率的量化影响,提出面向收益最大化的捆绑设计、推荐与缓存的联合优化问题。然而,上述工作均未考虑到用户个体偏好的未知性问题。
综上所述,文献[5–8]利用不同的复杂模型进行用户偏好预测,但忽略了底层特征向量学习的重要性,导致预测性能受限;文献[9–12]讨论了不同推荐机制的影响作用,但均假设推荐过程中的用户接受率相同或恒定,严重偏离实际应用场景。为了解决上述问题,本文提出一种用户请求感知的边端缓存与用户推荐联合优化策略,主要贡献如下:
(1)建立设备到设备辅助无线网络中的主动边缘缓存模型。边缘侧用户可根据系统的缓存状态和拓扑连接,依次从用户、小基站和宏基站获取请求内容。考虑到不同边缘节点的缓存容量约束、用户推荐质量以及推荐数量约束,构建联合边端缓存与用户推荐的用户平均内容获取时延最小化问题。
(2)提出将对比学习方法用于预测用户偏好以及动态推荐机制重塑用户请求,分别解决用户偏好未知与高度异质问题。通过引入对比学习损失、特征域内对齐损失和域外均匀损失生成高质量的特征表示,辅助FM模型进行用户偏好预测。进一步地,融合用户容忍度和实时推荐列表设计用户推荐接受率,从而揭示推荐机制重塑用户请求的动态作用。
(3)采用解耦方式迭代优化边端缓存策略与用户推荐策略。将联合优化问题解耦为边端缓存子问题与用户推荐子问题,并分别设计基于区域贪婪算法的缓存放置子算法和一对一交换匹配的推荐子算法,以迭代更新方式获得收敛优化结果。
如图1所示,本文考虑分层的、支持边端缓存和用户推荐的无线网络架构。在该架构中心部署1个宏基站(Macro Base Station, MBS),表示为{0},在宏基站覆盖范围内,K={1,2,⋯,K}表示均匀分布的K个小基站(Small Base Station, SBS),U={1,2,⋯,U}表示网络中请求内容的U个用户设备(User Equipment, UE)。宏基站、小基站通过下行链路分发内容,用户之间可通过D2D通信传输内容。宏基站通过高速光纤链路连接移动核心网,为满足小基站与核心网之间的数据传输,小基站与宏基站之间通过带宽受限的无线回程链路连接。当小基站需要下发本身未缓存的内容时,可由回程链路向核心网请求内容。
假设请求过程中用户位置保持不变[13],当用户u′与用户u通过D2D链路进行通信时,传输速率为
Ru′,u=Bu′,ulog2(1+pUEgu′,uN0Bu′,u+pUEgu″ | (1) |
其中, {B_{u',u}} 为用户 u' 与 u 之的可用带宽, {p_{{\text{UE}}}} 为用户发送功率,{N_0}为噪声功率谱密度, u'' 为与 u 共享频带的蜂窝上行用户。对于传输模型,用户 u' 与 u 之间的无线信道增益表示为
{g_{u',u}} = G \cdot {\vartheta _{u',u}} \cdot {\xi _{u',u}} \cdot {d^{ - \varepsilon }_{u',u}} | (2) |
其中,G为系统参数, {\vartheta _{u',u}} 是服从指数分布的小尺度衰落增益,{\xi _{u',u}}是服从对数正态分布的大尺度衰落增益,{d_{u',u}}为用户之间的距离,\varepsilon 是路径衰落因子。当小基站 k 与用户u建立连接时,下行链路传输速率为
{R_{k,u}} = {B_{k,u}}{\log _2} \left( {1 + \frac{{{p_{{\text{SBS}}}}{g_{k,u}}}}{{{N_0}{B_{k,u}} + \displaystyle\sum\limits_{j \in \mathcal{K}\backslash \{ k\} } {{p_{{\text{SBS}}}}{g_{j,u}}} }}} \right) | (3) |
其中, {B_{k,u}} 为小基站k分配给用户 u 的下行带宽资源,{p_{{\text{SBS}}}}为小基站的发送功率。当小基站k未缓存用户 u 的请求内容时,小基站k与宏基站 0 之间的回程链路传输速率为
R_{k,u}^{{\mathrm{bh}}} = B_{k,u}^{{\text{bh}}}{\log _2}\left( {1 + \frac{{{p_{{\text{MBS}}}}{g_{0,k}}}}{{{N_0}B_{k,u}^{{\text{bh}}} + {I_{\text{B}}}}}} \right) | (4) |
其中,B_{k,u}^{{\text{bh}}}为小基站k覆盖用户 u 所分到的回程带宽,{p_{{\text{MBS}}}}为宏基站的发送功率, {I_{\text{B}}} 为其他宏基站的干扰功率,本文近似为同功率的噪声处理[14]。当用户 u 无法关联小基站时,宏基站 0 的下行链路传输速率为
{R_{0,u}} = {B_{0,u}}{\log _2}\left( {1 + \frac{{{p_{{\text{MBS}}}}{g_{0,u}}}}{{{N_0}{B_{0,u}} + {I_{\text{M}}}}}} \right) | (5) |
其中, {B_{0,u}} 为宏基站直接分配给用户 u 的下行带宽资源。此外,本文假设所有带宽资源平均分配。
假设需要分发 F 个内容,分别为 \mathcal{F} = \{ 1,2, \cdots ,F\} ,文件大小为 {s_f},\forall f \in \mathcal{F} 。宏基站由于连接核心网,可提供用户请求的所有内容,边缘侧的小基站和用户设备由于缓存空间受限,只能缓存部分内容。令 {x_{k,f}} 为小基站缓存指示变量,当小基站 k 缓存内容 f 时,则 {x_{k,f}} = 1 ,否则 {x_{k,f}} = 0 。同理, {y_{u,f}} 为用户缓存指示变量。假设每个小基站以及用户设备的缓存大小均相同,分别记为 {C_{{\text{SBS}}}} 和 {C_{{\text{UE}}}} ,则有
\sum\limits_{f \in \mathcal{F}} {{x_{k,f}}{s_f}} \le {C_{{\text{SBS}}}},{\text{ }}\forall k \in \mathcal{K} | (6) |
\sum\limits_{f \in \mathcal{F}} {{y_{u,f}}{s_f}} \le {C_{{\text{UE}}}},{\text{ }}\forall u \in \mathcal{U}\; | (7) |
由于边缘缓存场景中的用户偏好未知且高度异质,为此,本文提出对比学习方法和动态推荐机制先后预测用户偏好和重塑用户请求,将重塑过后的用户请求概率记为 p_{u,f}^{{\text{rec}}} ,则用户 p_{u,f}^{{\text{rec}}} 的分布状态将直接影响边缘缓存策略的设计,如何量化 p_{u,f}^{{\text{rec}}} 将在下一章详细阐述。此外,由于同一时间段用户的请求活跃度各不相同,本文将用户内容请求过程建模为马尔可夫调制率过程[15],即用户 u 的内容请求数服从均值为 {h_u} 的泊松过程,令 {q_{u,f}} 表示为用户 u 在一段时间内请求内容 f 的概率,则
{q_{u,f}} = {h_u}p_{u,f}^{{\text{rec}}} | (8) |
根据用户和小基站的缓存状态以及用户与基站间的位置分布关系,边缘侧用户可依次通过用户本身、用户间D2D通信、小基站与用户间通信、宏基站与小基站通信以及宏基站与用户间通信获取请求内容。令用户接入指示 {a_{i,u}} 表示用户请求内容时的获取来源,其中 i \in \mathcal{U} \cup \mathcal{K} \cup \{ 0\} ,当 i 与用户 u 建立连接时, {a_{i,u}} = 1 ,否则 {a_{i,u}} = 0 ,且满足 \displaystyle\sum\nolimits_{i \in \mathcal{U} \cup \mathcal{K} \cup \{ 0\} } {{a_{i,u}} = 1} 。当用户 u 以概率 {q_{u,f}} 请求内容 f 时,时延成本可计算为
\begin{split} {T_{u,f}} =\,& {a_{u',u}}{y_{u',f}}\frac{{{s_f}{q_{u,f}}}}{{{R_{u',u}}}} + {a_{k,u}}{x_{k,f}}\frac{{{s_f}{q_{u,f}}}}{{{R_{k,u}}}} \\ & + {a_{k,u}}(1 - {x_{k,f}})\left( {\frac{{{s_f}{q_{u,f}}}}{{{R_{k,u}}}} + \frac{{{s_f}{q_{u,f}}}}{{R_{k,u}^{{\text{bh}}}}}} \right) \\ & + {a_{0,u}}\frac{{{s_f}{q_{u,f}}}}{{{R_{0,u}}}} \end{split} | (9) |
本部分首先建立点击率(Click Through Rate, CTR)预测基本模型,然后在FM模型上引入对比学习方法进行低复杂度的用户偏好预测;进一步地,考虑到推荐机制对用户请求行为的影响,在用户特定的推荐质量约束下,提出动态推荐机制重塑用户内容请求概率。
建立CTR用户偏好预测基本模型,即:嵌入层、特征交叉层(Feature Interaction, FI)以及预测层。假设训练集数据包含了Q个样本 ({\boldsymbol{x}},y) ,其中 {\boldsymbol{x}} 为多域特征,包含 N 个类别特征, y 为标签,则
(1)嵌入层:将高维稀疏的独热特征向量 {\boldsymbol{x}} 转换成低维稠密的嵌入矩阵 {\boldsymbol{E}} 。类别域 n 中的特征可通过查表方式由其对应的表征矩阵转换为嵌入向量,即
{{\boldsymbol{e}}_n} = {{\boldsymbol{x}}_n} \cdot {{\boldsymbol{E}}_n} | (10) |
其中, {{\boldsymbol{E}}_n} \in {R^{{v_n} \times D}} 为域 n 的表征矩阵, {v_n} 和 D 分别为域 n 内的特征数量和嵌入维度,完整嵌入矩阵表示为 {\boldsymbol{E}} = [{{\boldsymbol{e}}_1};{{\boldsymbol{e}}_2}; \cdots ;{{\boldsymbol{e}}_N}] \in {R^{N \times D}} 。所有特征嵌入矩阵为 {{\boldsymbol{E}}_{{\text{all}}}} = [{{\boldsymbol{E}}_1},{{\boldsymbol{E}}_2}, \cdots ,{{\boldsymbol{E}}_N}] \in {R^{V \times D}} ,特征总数量 V = \displaystyle\sum\nolimits_{n = 1}^N {{v_n}} 。
(2)FI层:对各个特征设计复杂的交叉操作,以获取低阶或高阶的特征交叉项,例如FM, Bilinear-Interaction和Cross Network等,其中,FM是最早提出的2阶特征交叉模型,输出为[5]
{\tilde y_{{\text{FM}}}}({\boldsymbol{x}}) = {\omega _0} + \sum\limits_{n = 1}^N {{{\boldsymbol{w}}_n}{{\boldsymbol{x}}_n}} + \sum\limits_{n = 1}^{N - 1} {\sum\limits_{m = n + 1}^N {\left\langle {{{\boldsymbol{v}}_n},{{\boldsymbol{v}}_m}} \right\rangle {{\boldsymbol{x}}_n}{{\boldsymbol{x}}_m}} } | (11) |
其中, {\omega _0} 为全局偏置值, {{\boldsymbol{w}}_n} 为线性权重参数, \left\langle {{{\boldsymbol{v}}_n},{{\boldsymbol{v}}_m}} \right\rangle 为特征隐向量间的内积运算。
(3)预测层:先将双塔结构的高低阶交叉模型输出向量拼接,后通过神经网络或线性回归模块得到最终的用户内容偏好 {\tilde y_i}({\boldsymbol{x}}) \in [0,1] 。预测值 {\tilde y_i}({\boldsymbol{x}}) 与真实值 {y_i}({\boldsymbol{x}}) 之间的损失函数采用二值交叉熵损失衡量,即
\begin{split} {{\mathrm{loss}}_{{\text{CTR}}}} =\,& - \frac{1}{B}\sum\limits_{i = 1}^B ({y_i}({\boldsymbol{x}}){{\log }_2}({{\tilde y}_i}({\boldsymbol{x}})) \\ & + (1 - {y_i}({\boldsymbol{x}})){{\log }_2}(1 - {{\tilde y}_i}({\boldsymbol{x}}))) \end{split} | (12) |
其中, B 为训练集每个批次的大小。
引入对比学习方法生成高质量的特征表示,并设计基于FM模型的对比学习(FM_CL)框架,该框架由3个自监督学习信号组成,分别为对比学习损失、特征域内对齐损失以及域外均匀损失,如图2所示。
对比学习模块包括以下3个步骤:数据增强、FI编码器和对比损失函数。
(1)数据增强:以干扰的方式对嵌入矩阵 {\boldsymbol{E}} 中的元素进行随机屏蔽,生成两个相似的嵌入特征矩阵 {{{\tilde {\boldsymbol{E}}}}_1} 和 {{{\tilde {\boldsymbol{E}}}}_2} ,使用函数 {\mathrm{mask}}( \cdot ) 表示数据增强过程,则
{{{\tilde {\boldsymbol{E}}}}_1} = {\mathrm{mask}}({\boldsymbol{E}}),{\text{ }}{{{\tilde {\boldsymbol{E}}}}_2} = {\mathrm{mask}}({\boldsymbol{E}}) | (13) |
{{\tilde {\boldsymbol{E}}}} = {\mathrm{mask}}({\boldsymbol{E}}) = {\boldsymbol{E}} \cdot {\boldsymbol{M}},{\text{ }}{\boldsymbol{M}} {\text{~}} {\mathrm{Bernoulli}}{\text{(}}p{\text{)}} \in {R^{N \times D}} | (14) |
其中, {\mathrm{Bernoulli}}{\text{(}} \cdot {\text{)}} 为伯努利分布, {\boldsymbol{M}} 为伯努利随机变量矩阵,每个伯努利随机变量以概率 p 为1。
(2)FI编码器:使用特征交叉编码器对数据增强过程中生成的两个嵌入矩阵进行编码,生成特征编码向量 {{\boldsymbol{f}}_1} 和 {{\boldsymbol{f}}_2} ,特征交叉编码器用 {\mathrm{encoder}}( \cdot ) 函数表示,则
{{\boldsymbol{f}}_1} = {\mathrm{encoder}}({{{\tilde {\boldsymbol{E}}}}_1}),{\text{ }}{{\boldsymbol{f}}_2} = {\mathrm{encoder}}({{{\tilde {\boldsymbol{E}}}}_2}) | (15) |
其中,本文部署3层Transformer编码层作为共享FI编码器。由于编码向量可能是高维向量,存在过多冗余信息,将对模型训练产生大量干扰,因此采用映射层将高维特征向量降至 D 维,用 {\mathrm{map}}( \cdot ) 函数表示,即
{{\boldsymbol{\tilde f}}_1} = {\mathrm{map}}({{\boldsymbol{f}}_1}),{\text{ }}{{\boldsymbol{\tilde f}}_2} = {\mathrm{map}}({{\boldsymbol{f}}_2}) | (16) |
其中,映射函数由全连接层组成。
(3)对比损失函数:采用欧氏距离描述特征向量间的对比损失,表示加入干扰后的两个相似特征向量经FI编码器后,映射在特征表示空间上的距离大小,即一组正样本对之间的损失,表示为
{{\mathrm{loss}}_{{\text{CL}}}} = \frac{1}{B}\sum\limits_{i = 1}^B {\left\| {{{{\boldsymbol{\tilde f}}}_{i,1}} - {{{\boldsymbol{\tilde f}}}_{i,2}}} \right\|_2^2} | (17) |
由于对比学习中常用的InfoNCE损失函数需要生成大量的负样本对,造成计算和存储压力,而单一的正样本对损失设计在训练时容易遇到崩溃问题。对齐性和均匀性表明高质量的特征表示空间应满足两个条件:一是相似样本的表示应尽量接近;二是不相似样本的表示应均匀分布[16]。因此,引入对比学习的两个约束条件,即域内对齐性(Feature Alignment, FA)和域外均匀性(Field Uniformity, FU),用以在训练过程中正则化特征表示,防止训练崩溃,同时节省资源。
特征域内对齐性目的是在同一个域内的特征向量应在低维稠密空间上更为紧密,同样地,使用欧氏距离表示正样本对之间的对齐损失,即
{{\mathrm{loss}}_{{\text{FA}}}} = 2\sum\limits_{n = 1}^N {\sum\limits_{i = 1}^{{v_n} - 1} {\sum\limits_{j = i + 1}^{{v_n}} {\left\| {{{\boldsymbol{e}}_i} - {{\boldsymbol{e}}_j}} \right\|_2^2} } } | (18) |
其中, {{\boldsymbol{e}}_i} , {{\boldsymbol{e}}_j} 为来自同一域的两个特征子向量。
域外均匀性旨在让不同域的特征向量在低维稠密空间上尽可能远离且均匀分布,使用余弦相似度约束负样本对之间的均匀损失,即
{{\mathrm{loss}}_{{\text{FU}}}} = \sum\limits_{1 \le n \le N} {\sum\limits_{{{\boldsymbol{e}}_i} \in {{\boldsymbol{E}}_n}} {\sum\limits_{{{\boldsymbol{e}}_j} \in {{\boldsymbol{E}}_{{\text{all}}}}\backslash {{\boldsymbol{E}}_n}} {\frac{{{{\boldsymbol{e}}_i}^{\text{T}} \cdot {{\boldsymbol{e}}_j}}}{{\left\| {{{\boldsymbol{e}}_i}} \right\| \cdot \left\| {{{\boldsymbol{e}}_j}} \right\|}}} } } | (19) |
其中, {{\boldsymbol{E}}_{{\text{all}}}}\backslash {{\boldsymbol{E}}_n} 为域 n 外的其他域的向量集。
为了将对比学习方法集成到用户偏好预测模型中,采用多任务训练策略,以端到端方式联合优化3个自监督学习信号和CTR模型损失,故总损失函数表示为
{\mathrm{loss}} = {{\mathrm{loss}}_{{\text{CTR}}}} + {\lambda _1}{{\mathrm{loss}}_{{\text{CL}}}} + {\lambda _2}({{\mathrm{loss}}_{{\text{FA}}}} + {{\mathrm{loss}}_{{\text{FU}}}}) | (20) |
其中, {\lambda _1} 和 {\lambda _2} 分别为控制对比学习损失和特征域对齐损失以及域外均匀损失的超参数。
如前所述,用户偏好具有极强的异质性,不利于边缘缓存策略设计。由于推荐系统在一定程度上可以修改用户请求,用户会接受其感兴趣但非最喜爱的内容。为此,接下来将探讨推荐机制对用户请求分布的影响。在没有推荐时,每个用户将根据其固有偏好分布请求内容,即 {p_{u,f}} ,然而启用推荐机制后,每个用户的内容请求分布将受固有偏好和执行的推荐策略影响,因此用户可以从推荐列表之内或之外请求内容。引入 {r_{u,f}} 表示用户推荐指示变量,如果内容 f 被推荐给用户 u ,则 {r_{u,f}} = 1 ,否则 {r_{u,f}} = 0 。此外,设 {\mathcal{R}_u} 为用户 u 的推荐内容索引集, {R_u} 为 {\mathcal{R}_u} 的基数,且满足 1 \le {R_u} \le F ,则有
\sum\limits_{f \in \mathcal{F}} {{r_{u,f}}} = {R_u},{\text{ }}\forall u \in \mathcal{U} | (21) |
受到推荐机制影响,用户 u 对内容 f 的请求概率 p_{u,f}^{{\text{rec}}} 可分为以下两种情况:
(1)从推荐列表之内 {\mathcal{R}_u} 请求内容 f ,则
\hat p_{u,f}^{{\text{rec}}} = \frac{{{r_{u,f}}{p_{u,f}}}}{{\displaystyle\sum\limits_{j \in {\mathcal{R}_u}} {{p_{u,j}}} }} = \frac{{{r_{u,f}}{p_{u,f}}}}{{\displaystyle\sum\limits_{j \in \mathcal{F}} {{r_{u,j}}{p_{u,j}}} }} | (22) |
(2)从推荐列表之外 {\bar {\mathcal{R}}_u}{\text{ = }}\mathcal{F}\backslash {\mathcal{R}_u} 请求内容 f ,则
\tilde p_{u,f}^{{\text{rec}}} = \frac{{(1 - {r_{u,f}}){p_{u,f}}}}{{\displaystyle\sum\limits_{j \in \mathcal{F}\backslash {\mathcal{R}_u}} {{p_{u,j}}} }} = \frac{{(1 - {r_{u,f}}){p_{u,f}}}}{{\displaystyle\sum\limits_{j \in \mathcal{F}} {(1 - {r_{u,j}}){p_{u,j}}} }} | (23) |
推荐的作用主要是为了增强用户对推荐内容的请求概率,但当用户无法确认推荐内容的质量时,用户可能会拒绝推荐。因此,用户的推荐接受过程必须考虑推荐质量影响。本文引入用户偏好偏离值(User Preference Distortion, UPD)[17]表示推荐质量。首先,根据前述预测的用户偏好降序,引入推荐接受窗口 {\mathcal{W}_u} ,其包含了用户愿意接受的 {W_u} 个内容,且满足 {W_u} \ge {R_u} ,则UPD表达式为
{\varDelta _u}({W_u},{R_u}) = 1 - \frac{{\displaystyle\sum\limits_{f = {W_u} - {R_u} + 1}^{{W_u}} {{p_{u,f}}} }}{{\displaystyle\sum\limits_{f = 1}^{{R_u}} {{p_{u,f}}} }} | (24) |
其中,分母代表最优的推荐质量,分子代表最坏的推荐质量。其次,根据最坏情况下的用户推荐质量,可得到相应的UPD,故定义UPD容忍度 {t_u} 约束用户推荐质量。对于给定的 {t_u} ,推荐窗口 {\mathcal{W}_u} 长度可计算为
{W_u} = \max \{ W_u'|{\varDelta _u}(W_u',{R_u}) \le {t_u}\} ,{\text{ }}\forall u \in \mathcal{U} | (25) |
UPD容忍度限制着用户推荐接受窗口大小与内容索引集,进而影响用户对推荐接受的概率。如果用户 {t_u} 值越小,则其推荐接受窗口 {\mathcal{W}_u} 越小,用户愿意接受推荐的内容越少,此时,向用户推荐该少部分内容,用户的推荐接受率会更高,推荐质量更好;反之,如果用户 {t_u} 值越大, {\mathcal{W}_u} 越大,用户可接受内容增多,但由于推荐列表大小受限,故用户从推荐列表中选取内容的概率会降低,推荐质量变坏。最后,考虑到不同用户的偏好分布对应特定的推荐接受窗口,根据实时的推荐列表,用户的推荐接受率 {\theta _u} \in [0,1] 可表示为
{\theta _u} = \frac{{\displaystyle\sum\limits_{f \in {\mathcal{W}_u}} {{r_{u,f}}{p_{u,f}}} }}{{\displaystyle\sum\limits_{f \in {\mathcal{W}_u}} {{p_{u,f}}} }} | (26) |
综上所述,经推荐重塑后的用户请求概率{q_{u,f}}可描述为
{q_{u,f}} = {h_u}p_{u,f}^{{\text{rec}}} = {h_u}[{\theta _u}\hat p_{u,f}^{{\text{rec}}} + (1 - {\theta _u})\tilde p_{u,f}^{{\text{rec}}}] | (27) |
本部分将通过优化小基站和用户缓存决策以及用户推荐决策,最小化用户平均内容获取时延。令 {{\boldsymbol{x}}_k} 和 {{\boldsymbol{y}}_u} 分别为小基站 k 和用户 u 的缓存决策向量,则 {\boldsymbol{x}} = ({{\boldsymbol{x}}_1},{{\boldsymbol{x}}_2}, \cdots ,{{\boldsymbol{x}}_K}) 和 {\boldsymbol{y}} = ({{\boldsymbol{y}}_1},{{\boldsymbol{y}}_2}, \cdots ,{{\boldsymbol{y}}_U}) 分别表示系统内所有小基站和用户的缓存决策。类似地, {{\boldsymbol{r}}_u} 和 {\boldsymbol{r}} = [{{\boldsymbol{r}}_1},{{\boldsymbol{r}}_2}, \cdots ,{{\boldsymbol{r}}_U}] 分别表示用户 u 和所有用户的推荐决策。根据定义,面向时延成本最小化的边端缓存与用户推荐联合优化问题P1表示为
\left.\begin{aligned} & \underset{{\boldsymbol{x}},{\boldsymbol{y}},{\boldsymbol{r}}}{\mathrm{min}}\overline{T}={\displaystyle \sum _{u\in \mathcal{U}}{\displaystyle \sum _{f\in {\mathcal{F}}}{T}_{u,f}}}\\ & \text{s}\text{.t}.\; \text{C1: 式(6)}\text{,} \text{ C2: 式(7)}\text{,} \text{ C3: 式(21)}\text{,} \text{ C4: 式(25)}\\ & \quad\;\;\text{C5: }{{\boldsymbol{x}}}_{k,f}\in \{0,1\},\forall k\in \mathcal{K},\text{ }\forall f\in {\mathcal{F}}\\ & \quad\;\;\text{C6: }{{\boldsymbol{y}}}_{u,f}\in \{0,1\},\forall u\in \mathcal{U},\text{ }\forall f\in {\mathcal{F}}\text{ }\\ & \quad\;\;\text{C7: }{{\boldsymbol{r}}}_{u,f}\in \{0,1\},\forall u\in \mathcal{U},\text{ }\forall f\in {\mathcal{F}}\end{aligned} \right\} | (28) |
其中,C1和C2表示小基站和用户的缓存容量不超过其存储预算,C3限制每个用户的推荐内容数量,C4确定推荐接受窗口的长度,C5, C6和C7描述小基站和用户缓存以及推荐决策的2元属性。
为解决上述最优化问题,在低复杂度下实现较高的优化性能,本文将联合优化问题 {\text{P1}} 解耦成3个子问题,即小基站缓存、用户缓存和用户推荐子问题,分别进行求解,最后以迭代方式优化。详细过程如下:
(1)优化小基站缓存。算法1:先将小基站 k 缓存空间置空,每次进行区域贪婪决策时,依次计算缓存每个内容时减少的区域总时延,找出减小程度最大的内容缓存,该过程不断重复,直至小基站 k 缓存空间已满[18]。其中,小基站 k 的区域总时延计算为 \displaystyle\sum\nolimits_{u \in {\mathcal{U}_k}} {\displaystyle\sum\nolimits_{f \in \mathcal{F}} {{T_{u,f}}} } , {\mathcal{U}_k} 为小基站 k 覆盖区域用户集合。
(2)优化用户缓存。由于用户间可进行D2D通信,因此用户缓存决策设计并不独立,需要进行迭代。算法2:在每轮迭代中,依次对每个用户执行算法1优化缓存,如果系统总时延 \bar T 降低,则更新所有用户的缓存决策,否则保持上一轮的缓存决策并退出迭代。同理, {\mathcal{U}_u} 为用户 u 及其D2D邻近用户的集合。
(3)优化用户推荐。式(27)表明用户之间的推荐决策相互独立,且推荐任何内容都会改变其他内容的请求概率,故采用一对一交换匹配的方法求解。定义交换匹配对为:当推荐列表元素 a \in {\mathcal{R}_u} 与未推荐列表中元素 b \in {\bar{ \mathcal{R}}_u} 互换时,若用户 u 时延降低且满足约束,则称 (a,b) 是一个交换对。算法3:对于用户 u ,每次遍历列表时,选择对时延降低最大的内容交换对更新用户 u 的推荐决策,不断重复,直至找不到交换对。
(4)联合优化。初始化时,小基站聚合其覆盖区域内所有用户偏好缓存排名靠前的内容,用户根据其自身偏好缓存靠前的内容并向其推荐前 {R_u} 个内容。迭代优化算法:每次迭代分为3个阶段:优化小基站缓存、优化用户缓存以及优化用户推荐,直至达到最大迭代次数或时延不再降低为止。
本部分使用电影数据集movielens_1m[19]来验证对比学习方法预测用户偏好的有效性。提取用户id、用户性别、用户年龄、用户职业和电影id作为多域特征,用户对内容的评分作为标签,并按照8:1:1划分训练集、验证集和测试集,分别用于模型训练、模型选择和模型评估,并采用曲面下面积(Area Under Curve, AUC)和准确率(ACCuracy, ACC)作为评价指标。
为了公平比较,本文使用开源torchfm库实现基本模型,并均采用Adam优化。每个特征域的嵌入维度设置为20,学习率为0.001,深度神经网络模型层数统一设置为[400,400,400,1],激活函数均采用ReLU, dropout比率为0.5,控制自监督信号强度的超参数 {\lambda _1} 和 {\lambda _2} 分别设置为1和0.01。此外,为避免模型过拟合,所有模型均根据验证集损失执行自动早停机制,即设置如果连续8个周期验证集损失不再降低,则停止训练,取最低验证集损失对应的模型参数进行保存。
图3从验证集角度描述了FM_CL模型在AUC, ACC和Loss上的训练表现。结果表明,前20个epoch模型性能迅速提升,并在epoch=20后开始缓慢提升。此外,随着训练次数epoch的增加,FM_CL各评价指标趋于稳定,在epoch为72时,验证集损失达到最小值。因此,本文将FM_CL模型的训练周期设置为72,以预测用户偏好。
图4从测试集角度比较了FM_CL模型与其他经典用户偏好预测模型之间的AUC和ACC表现。本文采用相同参数训练基于复杂特征交叉设计的DeepFM, xDeepFM, DCN_V2等模型。结果表明,FM_CL模型在两个指标上均优于其他模型,且相较于未引入对比学习方法的FM模型,预测性能得到明显提升,其中,AUC提升1.65%,ACC提升1.30%。值得注意的是,在百万数据集上1%水平的性能提升对用户偏好预测具有显著意义[20]。
此外,本文还进行了消融实验,探索对比学习方法在不同偏好预测模型上的性能表现,如表1所示。结果表明,引入对比学习方法后,所有模型性能均得到不同程度的提升,验证了通过设计高质量的特征表示学习方法能够有效提高用户偏好的预测性能。其中,FM模型提升最为明显,而其他模型的提升幅度较小,其主要原因是在损失函数的设计过程中,自监督学习信号均是基于两两特征向量专门设计,与FM模型的构造原理适配程度高,而其他模型则需要针对性地设计更为复杂的损失函数。
模型 | AUC | ACC | Loss |
FM | 0.8064 | 0.7375 | 0.5264 |
FM_CL | 0.8197 | 0.7471 | 0.5088 |
DeepFM | 0.8117 | 0.7401 | 0.5203 |
DeepFM_CL | 0.8126 | 0.7411 | 0.5196 |
xDeepFM | 0.8123 | 0.7402 | 0.5200 |
xDeepFM_CL | 0.8134 | 0.7414 | 0.5190 |
DCN_V2 | 0.8154 | 0.7432 | 0.5155 |
DCN_V2_CL | 0.8171 | 0.7448 | 0.5135 |
仿真参数如表2所示。在边缘场景中,一个宏基站部署在整个区域的中心,在宏基站内均匀部署3个小基站和50个用户。所有用户及其请求内容均来自movielens_1m,且文件库中的内容均是所有用户未观看过的内容,此时采用训练好的FM_CL模型参数预测用户偏好。用户平均请求速率采用数据集中用户的历史总请求数进行描述,且满足 \displaystyle\sum\nolimits_{u \in \mathcal{U}} {{h_u}} = 1 。
参数名 | 参数值 | 参数名 | 参数值 | |
MBS覆盖范围 | 300 m | D2D带宽 | 20 MHz | |
SBS覆盖范围 | 150 m | 无线回程带宽 | 20 MHz | |
UE间通信阈值 | 60 m | MBS发送功率 | 46 dBm | |
文件库大小 | 100 | SBS发送功率 | 30 dBm | |
内容大小 | 10 Mbit | UE发送功率 | 23 dBm | |
SBS缓存容量 | 400 Mbit | 噪声功率谱密度 | 174 dBm/Hz | |
MBS带宽 | 10 MHz | 路径损耗因子 | 4 | |
SBS带宽 | 20 MHz | 系统参数 | 0.01 |
为了更好地评价所提方案的性能,本文考虑以下基线:(1)基线1[18]:采用提出的缓存优化算法,但用户请求概率不受推荐影响。(2)基线2:用户根据其内容偏好进行顶级缓存和顶级推荐,小基站根据覆盖用户聚合后的内容偏好进行顶级缓存。(3)基线3:用户和小基站均采用聚合后的内容偏好进行顶级缓存,用户推荐与基线2一致。(4)基线4[9,10]:先根据用户偏好进行顶级推荐,再采用提出的缓存优化算法,最后根据系统缓存状态调整用户推荐。(5)基线5[11]:固定用户推荐接受率,采用提出的缓存和推荐迭代算法。
图5展示了平均时延与用户缓存容量的关系。结果表明,所有方案的平均时延随用户缓存容量增加而降低,证明了边缘缓存的有效性。所有受推荐影响方案均优于不受推荐影响方案,表明了推荐机制的有效性。所提方案表现最优,且当用户缓存容量大于60 Mbit时,所提方案的平均时延降幅减小,原因是当缓存内容数超过推荐内容数时,缓存的内容将趋向于未推荐且请求概率较低的内容,故时延降幅有所减小。
图6展示了平均时延与用户推荐内容数的关系。结果表明,推荐内容数在[2,4]内增加时,所提方案时延大幅降低,其主要原因在于经推荐后的高请求概率内容更易被自身缓存;当推荐内容数在[4,8]内增加时,推荐列表中一些内容将不再被用户缓存,相较于基线2和3,基线4和所提方案通过协作缓存与推荐决策,因而会抑制用户缓存容量受限带来的影响,平均时延缓慢增加,说明缓存与推荐紧密耦合。
图7展示了平均时延与UPD容忍度的关系。结果表明,所提方案随着UPD容忍度的增加,时延增加,其主要原因在于UPD容忍度越大,用户推荐接受窗口越大,即式(26)分母增大,导致用户推荐接受率降低,不利于推荐机制发挥作用,用户请求概率异质化。此外,UPD容忍度越大,平均时延增加幅度越缓,其主要原因在于用户推荐接受率的降低幅度随着推荐接受窗口的不断增大而变缓,说明用户推荐质量会影响用户平均内容获取时延。
图8展示了系统缓存命中率与用户缓存容量的关系。缓存命中率定义为用户从用户缓存和小基站缓存中获取内容的请求概率之和。结果表明,随着用户缓存容量增加,所有方案的系统缓存命中率增加,且所提方案优于其他基线方案,说明所提方案可有效提高边缘缓存性能。
本文通过引入对比学习方法及其正则化约束来生成高质量的特征表示,辅助FM模型更准确地预测用户偏好,进一步地,融合UPD容忍度与实时推荐列表设计动态推荐机制,有效降低用户之间的请求异质性。考虑不同边缘节点缓存容量约束、用户推荐质量以及推荐数量约束,本文通过协作优化边端缓存与用户推荐决策,实现了用户平均内容获取时延的最小化。在未来工作中,计划将时序用户请求数预测与捆绑推荐扩展到现工作,以描述更切实际、多样化的用户内容请求模式。
[1] |
VAEZI M, AZARI A, KHOSRAVIRAD S R, et al. Cellular, wide-area, and non-terrestrial IoT: A survey on 5G advances and the road toward 6G[J]. IEEE Communications Surveys & Tutorials, 2022, 24(2): 1117–1174. doi: 10.1109/COMST.2022.3151028.
|
[2] |
WU Dapeng, SHI Hang, WANG Honggang, et al. A feature-based learning system for internet of things applications[J]. IEEE Internet of Things Journal, 2019, 6(2): 1928–1937. doi: 10.1109/JIOT.2018.2884485.
|
[3] |
CHENG Guangquan, JIANG Chi, YUE Binglei, et al. AI-driven proactive content caching for 6G[J]. IEEE Wireless Communications, 2023, 30(3): 180–188. doi: 10.1109/MWC.021.2200535.
|
[4] |
FU Yaru, YANG H H, DOAN K N, et al. Effective cache-enabled wireless networks: An artificial intelligence- and recommendation-oriented framework[J]. IEEE Vehicular Technology Magazine, 2021, 16(1): 20–28. doi: 10.1109/MVT.2020.3033934.
|
[5] |
LI Zhidu, BAO Ruili, WU Dapeng, et al. Caching at the edge: A group interest aware approach[C]. 2021-IEEE International Conference on Communications, Montreal, Canada, 2021: 1–6. doi: 10.1109/ICC42927.2021.9500942.
|
[6] |
戚雨龙. 基于用户偏好的D2D缓存技术研究[D]. [硕士论文], 哈尔滨工业大学, 2021.
QI Yulong. Research on D2D cache technology based on user preference[D]. [Master dissertation], Harbin Institute of Technology, 2021.
|
[7] |
WU Dapeng, LIU Qianru, WANG Honggang, et al. Socially aware energy-efficient mobile edge collaboration for video distribution[J]. IEEE Transactions on Multimedia, 2017, 19(10): 2197–2209. doi: 10.1109/TMM.2017.2733300.
|
[8] |
CHEN Mingzhe, SAAD W, YIN Changchuan, et al. Echo state networks for proactive caching in cloud-based radio access networks with mobile users[J]. IEEE Transactions on Wireless Communications, 2017, 16(6): 3520–3535. doi: 10.1109/TWC.2017.2683482.
|
[9] |
CHATZIELEFTHERIOU L E, KARALIOPOULOS M, KOUTSOPOULOS I. Caching-aware recommendations: Nudging user preferences towards better caching performance[C]. 2017-IEEE Conference on Computer Communications, Atlanta, USA, 2017: 1–9. doi: 10.1109/INFOCOM.2017.8057031.
|
[10] |
CHATZIELEFTHERIOU L E, KARALIOPOULOS M, and KOUTSOPOULOS I. Jointly optimizing content caching and recommendations in small cell networks[J]. IEEE Transactions on Mobile Computing, 2019, 18(1): 125–138. doi: 10.1109/TMC.2018.2831690.
|
[11] |
FU Yaru, SALAÜN L, YANG Xiaolong, et al. Caching efficiency maximization for device-to-device communication networks: A recommend to cache approach[J]. IEEE Transactions on Wireless Communications, 2021, 20(10): 6580–6594. doi: 10.1109/TWC.2021.3075278.
|
[12] |
FU Yaru, ZHANG Yue, WONG A K Y, et al. Revenue maximization: The interplay between personalized bundle recommendation and wireless content caching[J]. IEEE Transactions on Mobile Computing, 2023, 22(7): 4253–4265. doi: 10.1109/TMC.2022.3142809.
|
[13] |
YU Shuai, DAB B, MOVAHEDI Z, et al. A socially-aware hybrid computation offloading framework for multi-access edge computing[J]. IEEE Transactions on Mobile Computing, 2020, 19(6): 1247–1259. doi: 10.1109/TMC.2019.2908154.
|
[14] |
ANDREWS J G, BACCELLI F, and GANTI R K. A tractable approach to coverage and rate in cellular networks[J]. IEEE Transactions on Communications, 2011, 59(11): 3122–3134. doi: 10.1109/TCOMM.2011.100411.100541.
|
[15] |
WU Dapeng, LI Jifang, HE Peng, et al. Social-aware graph-based collaborative caching in edge-user networks[J]. IEEE Transactions on Vehicular Technology, 2023, 72(6): 7926–7941. doi: 10.1109/TVT.2023.3241959.
|
[16] |
YU Junliang, YIN Hongzhi, XIA Xin, et al. Self-supervised learning for recommender systems: A survey[J]. IEEE Transactions on Knowledge and Data Engineering, 2024, 36(1): 335–355. doi: 10.1109/TKDE.2023.3282907.
|
[17] |
柯智慧. 协作边缘缓存与推荐联合优化策略研究[D]. [硕士论文], 天津大学, 2020.
KE Zhihui. Joint optimization of cooperative edge caching and recommendation[D]. [Master dissertation], Tianjin University, 2020.
|
[18] |
ZHANG Tiankui, WANG Yi, LIU Yuanwei, et al. Cache-enabling UAV communications: Network deployment and resource allocation[J]. IEEE Transactions on Wireless Communications, 2020, 19(11): 7470–7483. doi: 10.1109/TWC.2020.3011881.
|
[19] |
HARPER F M and KONSTAN J A. The MovieLens datasets: History and context[J]. ACM Transactions on Interactive Intelligent Systems, 2016, 5(4): 19. doi: 10.1145/2827872.
|
[20] |
WANG Ruoxi, SHIVANNA R, CHENG D, et al. DCN V2: Improved deep & cross network and practical lessons for web-scale learning to rank systems[C]. The Web Conference 2021, Ljubljana, Slovenia, 2021: 1785–1797. doi: 10.1145/3442381.3450078.
|
1. | 张澎,易茜洁. 乡村民宿空间游客感知分析——以五号山谷民宿为例. 旅游与摄影. 2024(15): 97-99 . ![]() | |
2. | 罗明挽. 人工智能技术在电视节目推荐系统中的应用. 电视技术. 2024(12): 188-190 . ![]() |
模型 | AUC | ACC | Loss |
FM | 0.8064 | 0.7375 | 0.5264 |
FM_CL | 0.8197 | 0.7471 | 0.5088 |
DeepFM | 0.8117 | 0.7401 | 0.5203 |
DeepFM_CL | 0.8126 | 0.7411 | 0.5196 |
xDeepFM | 0.8123 | 0.7402 | 0.5200 |
xDeepFM_CL | 0.8134 | 0.7414 | 0.5190 |
DCN_V2 | 0.8154 | 0.7432 | 0.5155 |
DCN_V2_CL | 0.8171 | 0.7448 | 0.5135 |
参数名 | 参数值 | 参数名 | 参数值 | |
MBS覆盖范围 | 300 m | D2D带宽 | 20 MHz | |
SBS覆盖范围 | 150 m | 无线回程带宽 | 20 MHz | |
UE间通信阈值 | 60 m | MBS发送功率 | 46 dBm | |
文件库大小 | 100 | SBS发送功率 | 30 dBm | |
内容大小 | 10 Mbit | UE发送功率 | 23 dBm | |
SBS缓存容量 | 400 Mbit | 噪声功率谱密度 | 174 dBm/Hz | |
MBS带宽 | 10 MHz | 路径损耗因子 | 4 | |
SBS带宽 | 20 MHz | 系统参数 | 0.01 |
模型 | AUC | ACC | Loss |
FM | 0.8064 | 0.7375 | 0.5264 |
FM_CL | 0.8197 | 0.7471 | 0.5088 |
DeepFM | 0.8117 | 0.7401 | 0.5203 |
DeepFM_CL | 0.8126 | 0.7411 | 0.5196 |
xDeepFM | 0.8123 | 0.7402 | 0.5200 |
xDeepFM_CL | 0.8134 | 0.7414 | 0.5190 |
DCN_V2 | 0.8154 | 0.7432 | 0.5155 |
DCN_V2_CL | 0.8171 | 0.7448 | 0.5135 |
参数名 | 参数值 | 参数名 | 参数值 | |
MBS覆盖范围 | 300 m | D2D带宽 | 20 MHz | |
SBS覆盖范围 | 150 m | 无线回程带宽 | 20 MHz | |
UE间通信阈值 | 60 m | MBS发送功率 | 46 dBm | |
文件库大小 | 100 | SBS发送功率 | 30 dBm | |
内容大小 | 10 Mbit | UE发送功率 | 23 dBm | |
SBS缓存容量 | 400 Mbit | 噪声功率谱密度 | 174 dBm/Hz | |
MBS带宽 | 10 MHz | 路径损耗因子 | 4 | |
SBS带宽 | 20 MHz | 系统参数 | 0.01 |