Tiny-NewsRec论文阅读笔记

Tiny-NewsRec: Effective and Efficient PLM-based News Recommendation论文阅读笔记

Abstract

存在的问题:

​ 现有的大多数工作只是根据新闻推荐任务对 PLM 进行微调,这可能会受到预训练语料库和下游新闻文本之间已知领域偏移问题的影响。此外,PLM 通常包含大量参数,计算开销较大,这给低延迟在线服务带来了很大负担。

解决方案

​ 本文提出的 Tiny-NewsRec 可以提高基于 PLM 的新闻推荐的效果和效率。我们首先设计了一种自监督的特定领域后训练方法,通过新闻标题和新闻正文之间的对比匹配任务,使通用 PLM 更好地适应新闻领域。我们进一步提出了一种两阶段知识提炼方法,以提高基于大型 PLM 的新闻推荐模型的效率,同时保持其性能。在后训练阶段和微调阶段,我们将使用源自后训练程序不同时间步骤的多个教师模型,向学生模型传授综合知识。

Introduction

​ 在本文中,我们提出了一种 Tiny-NewsRec 方法,以提高基于 PLM 的新闻推荐的效果和效率。在我们的方法中,我们首先利用了新闻文章不同部分之间的自然匹配关系,并设计了一种针对特定领域的自监督后训练方法,以使通用 PLM 更好地适应新闻领域。通过新闻标题和新闻正文之间的对比匹配任务来训练基于 PLM 的新闻编码器,使其更好地捕捉新闻文本中的语义信息并生成更具区分性的表征,这在接下来的新闻推荐任务中有利于新闻内容理解和用户兴趣匹配。

​ 此外,我们还提出了一种两阶段知识提炼法,以压缩基于 PLM 的大型模型,同时保持其性能。在后训练阶段和微调阶段,特定领域知识和特定任务知识分别从教师模型转移到学生模型。此外,在这两个阶段,我们还使用了来自后训练过程中不同时间步骤的多个教师模型,为学生模型提供全面指导。对于每个训练样本,我们都会根据这些教师模型的表现对其进行自适应加权,从而让学生模型总是能从最好的教师那里学到更多。

​ 本文的贡献如下:

  • 我们提出了一种Tiny-NewsRec的方法来提高基于PLM的新闻推荐的有效性和效率。
  • 我们提出了一种针对特定领域的自监督后训练方法,在针对特定任务进行微调之前,用新闻标题和新闻正文之间的对比匹配任务来训练 PLM,使其更好地适应新闻领域。
  • 我们提出了一种具有多个教师模型的两阶段知识提炼方法,以压缩基于 PLM 的大型模型。

Method

​ 本节将详细介绍我们的 Tiny-NewsRec 方法。我们首先简要介绍基于 PLM 的新闻推荐模型的结构。然后,我们将介绍自监督式特定领域后训练方法的设计以及两阶段知识提炼方法的框架。

​ 本文的框架如下:

pkyvSzt.png

新闻推荐模型

​ 我们首先介绍 TinyNewsRec 中使用的基于 PLM 的新闻推荐模型的结构。如图 所示,它由三个主要部分组成,即新闻编码器、用户编码器和点击预测模块。新闻编码器旨在从新闻文本中学习新闻表征。按照最先进的基于 PLM 的新闻推荐方法,我们使用 PLM 捕捉新闻文本中的深层上下文,并使用注意力网络聚合 PLM 的输出。

​ 用户编码器的目的是从用户最近的L点击新闻的表示中学习用户表示。我们利用注意力网络来实现它,以便从用户的历史互动中选择重要新闻。在点击预测模块中,我们将候选新闻表示 nc 与目标用户表示 u 的点积作为预测得分 \(\hat{y_{FT}}\)。值得注意的是,我们的 Tiny-NewsRec 与新闻推荐模型的结构是无关的。其他基于 PLM 的新闻推荐模型也可以采用。

特定领域的后训练

​ 由于直接利用下游新闻推荐任务对 PLM 进行微调可能不足以填补一般语料库与新闻文本之间的领域空白,因此我们建议在进行特定任务微调之前对 PLM 进行特定领域的后训练。考虑到新闻文章不同部分之间的自然匹配关系,我们设计了新闻标题与新闻正文之间的自监督对比匹配任务。

​ 给定一篇新闻文章,我们将其新闻正文\(n_b\)视为锚点,并将其新闻标题 nt+ 作为正面样本。我们从新闻库中随机选择 N 个其他新闻标题\([nt_1^-,nt_2^-,\cdots,nt_N^-]\)作为负样本。我们使用基于 PLM 的新闻编码器得到新闻正文表示\(h_{nb}\)和这些新闻标题表示 \([h_{nt^+},h_{nt_1^-},h_{nt_2^-},\cdots,h_{nt_N^-}].\)。我们采用 InfoNCE 损失作为对比损失函数。其表述如下:

\(\mathcal{L}_{\mathrm{DP}}=-\log\frac{\exp(\hat{y}_{nt^+})}{\exp(\hat{y}_{nt^+})+\sum_{i=1}^N\exp(\hat{y}_{nt_i^-})},\)

​ 训练后的基于PLM的新闻编码器可以更好地捕获和匹配新闻文本中的高级语义信息。它将为相关文本(即新闻主体及其对应的新闻标题)产生更多类似的表示,并将其与其他文本区分开来,这也可以缓解PLM生成的句子表示的各向异性问题。因此,我们提出的特定领域的训练后方法有利于以下新闻推荐任务中的新闻理解和用户兴趣匹配。

两阶段的知识蒸馏

​ 为实现高效的目标,我们进一步提出了一种两阶段知识提炼方法,其框架如图 1 所示。在我们的框架中,轻量级学生模型在后训练阶段和微调阶段都要模仿大型教师模型。此外,在后训练过程中,我们会使用来自不同时间步骤的多个教师模型,在这两个阶段向学生模型传授更全面的知识。

​ 在第一阶段,我们首先对基于PLM的新闻编码器进行特定领域的后训练(步骤1)。在后训练的过程中,在收敛后,每K步保存一个当前教师新闻编码器的副本,我们总共保存了M个教师模型。

​ 然后,我们利用这些教师模型,在学生模型的后训练(第 2 步)中将特定领域的综合知识传授给学生模型。由于这些教师模型在不同的时间步骤中对输入样本的表现可能不同,我们为每个训练样本的每个教师模型分配一个自适应权重,该权重由其预测分数\(\hat{\boldsymbol{y}}_{\mathrm{DP}}^{(t_i)}=[\hat{y}_{nt^+}^{(t_i)},\hat{y}_{nt_1^-}^{(t_i)},\hat{y}_{nt_2^-}^{(t_i)},\cdots,\hat{y}_{nt_N^-}^{(t_i)}]\)和真实标签\(y_{DP}\)之间的交叉熵损失来衡量:

\(\alpha^{(t_i)}=\frac{\exp(-\operatorname{CE}(\hat{\boldsymbol{y}}_\mathrm{DP}^{(t_i)},y_\mathrm{DP}))}{\sum_{j=1}^M\exp(-\operatorname{CE}(\hat{\boldsymbol{y}}_\mathrm{DP}^{(t_j)},y_\mathrm{DP}))}.\)

​ 为了鼓励学生模型做出与最佳教师模型相似的预测,我们使用蒸馏损失对其输出的软标签进行正则化,其表述如下:

\(\mathcal{L}_{\mathrm{DP}}^{\mathrm{distill}}=T_{\mathrm{DP}}^2\cdot\mathrm{CE}(\sum_{i=1}^M\alpha^{(t_i)}\hat{\boldsymbol{y}}_{\mathrm{DP}}^{(t_i)}/T_{\mathrm{DP}},\hat{\boldsymbol{y}}_{\mathrm{DP}}^{(s)}/T_{\mathrm{DP}}).\)

\(T_{DP}\)是一个温度超参数,用于控制教师模型预测概率分布的平滑度。

​ 此外,由于我们希望学生模型和这些教师模型生成的表征在统一空间中是相似的,因此我们建议应用额外的嵌入损失来对齐这些表征。第 i 个教师模型和学生模型之间的嵌入损失表述如下:

\(\mathcal{L}_{\mathrm{DP}}^{\mathrm{emb}_i}=\mathrm{MSE}(\boldsymbol{W}^{(t_i)}\boldsymbol{h}_{nt}^{(t_i)}+\boldsymbol{b}^{(t_i)},\boldsymbol{h}_{nt}^{(s)})+\\\mathrm{MSE}(\boldsymbol{W}^{(t_i)}\boldsymbol{h}_{nb}^{(t_i)}+\boldsymbol{b}^{(t_i)},\boldsymbol{h}_{nb}^{(s)}),\)

​ 总体的嵌入损失是所有这些嵌入损失的加权总和:\(\mathcal{L}_{\mathrm{DP}}^{\mathrm{emb}}=\sum_{i=1}^M\alpha^{(t_i)}\mathcal{L}_{\mathrm{DP}}^{\mathrm{emb}_i}.\)

​ 学生模型在第一阶段的损失函数是蒸馏损失、整体嵌入损失以及在特定领域后期训练任务中的 InfoNCE 损失的总和,其计算公式如下:

\(\mathcal{L}_1=\mathcal{L}_\mathrm{DP}^\mathrm{distill}+\mathcal{L}_\mathrm{DP}^\mathrm{emb}+\mathcal{L}_\mathrm{DP}^{(s)}.\)

​ 接下来,在第二阶段,我们首先利用新闻推荐任务对这 M 个经过培训的教师新闻编码器进行微调(步骤 3)。然后,在学生的微调过程中,将丰富的特定任务知识传授给学生(步骤 4)。与第一阶段类似,我们根据新闻推荐任务输入样本的交叉熵损失为每个经过微调的教师模型分配一个权重\(\beta^{(t_{i})}\),并在微调过程中应用以下蒸馏损失来调整学生模型的输出:

\(\beta^{(t_{i})}=\frac{\exp(-\mathrm{CE}(\hat{\boldsymbol{y}}_{\mathrm{FT}}^{(t_{i})},y_{\mathrm{FT}}))}{\sum_{j=1}^{M}\exp(-\mathrm{CE}(\hat{\boldsymbol{y}}_{\mathrm{FT}}^{(t_{j})},y_{\mathrm{FT}}))},\\\mathcal{L}_{\mathrm{FT}}^{\mathrm{distill}}=T_{\mathrm{FT}}^2\cdot\mathrm{CE}(\sum_{i=1}^M\beta^{(t_i)}\hat{\boldsymbol{y}}_{\mathrm{FT}}^{(t_i)}/T_{\mathrm{FT}},\hat{\boldsymbol{y}}_{\mathrm{FT}}^{(s)}/T_{\mathrm{FT}}),\)

​ 其中,\(\hat{\boldsymbol{y}}_{\mathrm{FT}}^{(t_{i})}\)表示模型对新闻推荐任务的预测得分

​ 我们还使用额外的嵌入损失来调整学生模型和教师模型的新闻表征和用户表征,其计算公式如下:

\(\mathcal{L}_{\mathrm{FT}}^{\mathrm{emb}}=\sum_{i=1}^M\beta^{(t_i)}[\mathrm{~MSE}(\boldsymbol{W}_n^{(t_i)}\boldsymbol{n}^{(t_i)}+\boldsymbol{b}_n^{(t_i)},\boldsymbol{n}^{(s)})+\\\mathrm{MSE}(\boldsymbol{W}_u^{(t_i)}\boldsymbol{u}^{(t_i)}+\boldsymbol{b}_u^{(t_i)},\boldsymbol{u}^{(s)})],\)

​ 还对学生模型进行了调整,以最小化其预测得分\(\hat{\boldsymbol{y}}_{\mathrm{FT}}^{(s)}\)与新闻推荐任务的地面实况标签 \(y_{FT}\)之间的交叉熵损失:\(\mathcal{L}_{\mathrm{FT}}^{(s)}=\mathrm{CE}(\hat{\boldsymbol{y}}_{\mathrm{FT}}^{(s)},y_{\mathrm{FT}})\)

​ 学生模型在第二阶段的总体损失函数是蒸馏损失、嵌入损失及其微调损失的总和,其计算公式如下:

\(\mathcal{L}_2=\mathcal{L}_\mathrm{FT}^\mathrm{distill}+\mathcal{L}_\mathrm{FT}^\mathrm{emb}+\mathcal{L}_\mathrm{FT}^{(s)}.\)

总结

​ 这篇文章第一次看有点难懂,因为感觉不是纯推荐的,带了一点知识蒸馏之类的东西。还是按照结构图来总结一下

​ 首先是新闻推荐的部分,还是采用传统的用户表示与候选新闻表示的点积。这个是阶段二的主要步骤

​ 接下来是后训练的部分,后训练的目的是提升PLM对特定领域任务的性能,这里采用了对比任务。使用的正样本是新闻的标题与新闻的主体,负样本是新闻标题与选择的其余的新闻标题。使用的是InfoNCE损失函数,这个是阶段一的主要步骤。

​ 最后就是本文的一个重点,也就是两阶段的知识蒸馏,首先就是一阶段,也就是后训练部分。先介绍教师网络:这里在后训练的收敛之后,每K步都保存一个教师新闻编码器,共保存M个。然后介绍学生网络,为了将教师网络学习到的内容传递到学生网络,首先给上面保存的每一个模型分配一个权重,权重与预测结果的准确性有关。然后是为了让学生模型与教师模型的预测相似,使用蒸馏损失对软标签进行正则化,也就是计算学生网络的预测标签与加权后的教师网络标签之间的交叉熵损失。不仅如此,还希望学生模型与教师模型生成的特征在空间中要相似,又采用额外的损失来进行对齐。也就是使得教师网络生成的新闻标题表示和新闻主体表示与学生网络生成的尽可能相似,损失函数使用的是MSE损失。最后学生模型在第一阶段的损失函数是对比学习损失,蒸馏损失和嵌入损失的总和。

​ 然后是第二阶段的学生模型。首先还是希望学生模型和教师模型预测的标签是一致的,然后还是希望学习到的新闻表示在空间之中相似。总体的损失函数还是由三个部分组成,分别是推荐任务的损失,蒸馏损失和嵌入损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/733021.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ros slam 之行自主导航

经过前面三节的铺垫,我们只需要再编写一个launch文件启动nav2就可以让fishbot自己动起来了。1.编写launch文件我们将地图、配置文件传递给nav2为我们提供好的launch文件中即可。再一个launch文件中包裹另一个功能包中的luanch文件采用的是IncludeLaunchDescription和PythonLau…

pip install jedi 失败

报错内容: ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: C:\\Users\\Administrator\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-package…

米尔瑞芯微创新设计RK3568全LGA国产核心板,更紧凑可靠

今天,米尔电子发布MYC-LR3568核心板及开发板,核心板基于高性能、低功耗的国产芯片-瑞芯微RK3568。核心板采用LGA 创新设计,可实现100%全国产自主可控。MYC-LR3568系列核心板采用高密度高速电路板设计,在大小为43mm*45mm*3.85mm板卡上集成了RK3568J/RK3568B2、LPDDR4、eMMC、…

k8s 概念

Ref https://www.tigera.io/blog/key-kubernetes-concepts/

ConcurrentHashMap底层原理

一、ConcurrentHashMap底层结构二、ConcurrentHashMap类的成员变量public class ConcurrentHashMap<K, V>extends AbstractMap<K, V>implements ConcurrentMap<K, V>, Serializable {// 数组最大容量private static final int MAXIMUM_CAPACITY = 1 <<…

Compute Shader

Compute Shader 是一种高级功能,用于在 GPU 上执行并行计算任务。它非常适合处理大量数据,执行复杂的数学计算,或在高性能图形处理中使用。 常用于,需要密集的并行多线程计算,CPU不擅长并行计算,丢给GPU去算,然后把结果返回给CPU,或者直接渲染到屏幕上。 需要图形API,…

指数增强策略:如何通过动态调整权重击败沪深300?

哈喽,大家好,我是木头左!今天,将深入探讨一种特定的指数增强策略,这种策略以0.8为初始权重跟踪沪深300中权重大于0.35%的成份股,并根据个股的表现动态调整权重。让一起启航,探索这一策略如何帮助在波动的市场中稳健前行。 策略概述:权重与表现的舞蹈 在传统的指数跟踪策…

IP地址的概念及IP子网划分

十进制与二进制的转换192. 168. 10. 111000000 10101000 00001010 00000001幂27 26 25 24 23 22 21 20128 64 32 16 8 4 2 1位1 1 0 0 0 0 0 0=128+64=192 IP地址的划分网络掩码(Network Mask)IP地址类型 1)网络地址:用于标识一个网络,主机位全0的地址。 2)广播地址:用于…

远程控制软件哪个好用?精选安全远控软件ToDesk

远程控制软件的妙用,对于打工人来说莫过于能快速处理下班后的紧急工作。即使远在千里,也能毫无障碍远控办公电脑,不需要随身携带笔记本,也不用受限于地点。 但市面上远程控制软件良莠不齐,而且有些软件还时不时掉链子,在远控安全方面也有所顾虑,怎样才能火眼金睛找到最适…

旧手机、平板不再吃灰,装上ToDesk秒变办公利器

家里有好久用不到却又不舍得处理的手机、平板怎么办?教你一招,包你高效利用旧设备,轻轻松松为工作、学习、娱乐等方面都赋能! 操作方法很简单,仅需要在以往不用以及当前常用的各个设备中都装上ToDesk远程控制软件便能更实用。通过巧妙利用,它不仅能够帮助用户将旧手机或平…

ToDesk云电脑游戏数量?高性能显卡云桌面

玩游戏最怕遇到电脑配置跟不上,操作卡成狗不说,画面还一卡卡的,游戏体验极差。 最近被人安利了ToDesk的云电脑,可能是刚推出的,配置价格都很能打,浅用了一波拿来打APEX和荒野大镖客,体验有点惊喜到我!用ToDesk云电脑来打游戏,还不需要浪费时间在安装游戏上,多达数百种…

电脑被远程控制了怎么办,用ToDesk远控安全无忧

随着居家办公和数字游民的兴起,远程控制软件成为许多人的首选办公软件。 但近期多起诈骗案中利用远程软件的共享屏幕进行作案,让人不禁开始担心使用远程软件是否安全?如果遇到陌生人对你进行手机远程控制又该如何应对? 今天小圈以远程控制软件ToDesk为教材,给你们整理了四…