Ensemble Learning via Knowledge Transfer for CTR Prediction 论文阅读

news2025/2/23 17:59:06

Abstract:点击率(CTR)预测在推荐系统和网络搜索中起着关键作用。虽然许多现有的方法利用集成学习来提高模型性能,但它们通常将集成限制在两个或三个子网络中,很少探索更大的集成。在本文中,我们研究了更大的集成网络,发现了常用的集成学习方法的三个固有局限性:(1)随着网络的增加,性能会下降;(2)子网性能急剧下降且变化较大;(3)子网络与集合预测差异较大。为了同时解决上述限制,本文从知识蒸馏(KD)和深度相互学习(DML)的角度探讨了潜在的解决方案。基于这些方法的经验表现,我们将它们结合起来,提出了一种新的模型不可知的集成知识转移框架(EKTF)。具体而言,我们采用学生集体决策作为抽象教师,引导每个学生(子网络)更有效地学习。此外,我们鼓励学生之间的相互学习,使知识从不同的角度获取。为了解决损失超参数的平衡问题,我们设计了一种新的考试机制,以确保教师对学生的定制教学和点对点的选择性学习。在5个真实数据集上的实验结果验证了EKTF的有效性和兼容性。代码、运行日志和详细的超参数配置可从https://github.com/salmon1802/EKTF获得。

1 Introduction 介绍

Knowledge Distillation (KD)[13]是一种被广泛采用的知识转移方法,其目的是将知识从一个大的教师模型转移到一个小的学生模型中,以提高学生模型的性能,如图1 (a)所示。Deep Mutual Learning (DML)[44]抛弃了传统的教师模型,有效地将学生变成彼此的老师,建立了多个学生模型。它鼓励这些模型相互学习,从而促进点对点的知识转移,如图1 (b)所示。总体而言,这些知识转移方法旨在为学生模型提供额外的监督信号,从而提高他们的表现,并在各个领域取得重大进展[8,21]。对于点击率(CTR)预测任务,集成学习是提高性能的有效策略[9,22,40,49]。因此,大多数CTR模型[17,20,26,48]试图构建多个并行且独立的子网络,如图1 (c)所示。从图1 (c)中可以看出,这些子网络只接受1位的点击信号监督,这不足以指导模型做出准确的预测[23]。从理论上讲,KD和DML向学生模型引入的额外监督信号可以有效地解决这一限制。在本文中,我们旨在研究CTR预测任务中集成学习局限性的具体表现,并探索潜在的解决方案。为此,我们首先对集成学习的局限性进行了实证分析,并在第3.1节中得出以下三个发现(局限性):

•发现1:更多网络的性能下降。一些关于缩放定律[15]的研究表明,在大型语言模型中,随着参数数量的增加,性能趋于提高。然而,我们在CTR预测中观察到相反的趋势,其中集成中包含的子网络越多,整体模型性能就越低。

•发现2:子网性能急剧下降和高度变化。除了探索集成模型的性能外,我们还研究了单个子网络的性能趋势。我们发现,随着子网数量的增加,它们的性能与整体相比下降得更厉害。此外,表现最好和最差的子网之间存在显著差异。

•发现3:子网络和集合预测之间存在很大差异。我们观察到单个子网络的性能与集成模型之间存在显著差距,随着子网络数量的增加,这种差距也会增加,甚至高达6%(在CTR预测任务中,超过0.1%的性能差异通常被认为是显著的[19,40,48])。这降低了模型在实际应用中的灵活性。理想情况下,如果我们能够训练出性能与集成相当的子网络,我们就可以在需要较低模型复杂性时部署子网络,并在需要更高性能时使用集成。


为了解决上述三个限制,我们从各自的角度研究KD和DML如何缓解这些问题。具体来说,我们将CTR中的多个子网视为学生网络,并引入了KD和DML的核心思想。在KD中,设计一个有效的教师模型是一项具有挑战性的任务。先前的研究[4,25]表明,更复杂或更大的模型并不总是有效的教师。此外,即使有一个精心设计的老师,挑战仍然存在于超参数调整和选择适当的训练策略。因此,我们采用学生网络的集体决策作为抽象的教师来指导各子网络的学习。我们的实证研究结果表明,这种基于kd的集成学习方法减轻了研究结果1和2中概述的局限性。对于DML,每个子网接受来自地面真实标签的监督,同时被鼓励相互学习。实证结果表明,尽管DML没有解决发现1中的限制,但与KD相比,它进一步提高了单个子网的性能,从而更好地解决了发现2和3中的限制。为了同时解决上述限制,一个简单的想法是将KD和DML结合起来,后者有助于解决KD学生之间沟通不足的问题。然而,这种简单化的想法在理论和实践之间存在着差距。例如,当面对𝑂(𝐾)(老师指导𝐾学生)和𝑂(𝐾(𝐾−1))(𝐾学生相互学习)的搜索空间时,如何设置合适的超参数?为了解决这个问题,我们提出了一种新的损失适应平衡机制,称为考试机制,它可以帮助教师定制他们的教学,使学生有选择地相互学习,从而避免知识冲突。
因此,我们提出了集成知识转移框架(EKTF),其架构如图1 (d)所示。EKTF放弃了设计显式教师模型的方法,而是利用学生作为抽象教师的集体决策。这有助于生成高质量的软目标来指导多个学生模型(子网)的学习,旨在将群体知识提炼到单个学生身上。同时,EKTF也鼓励学生之间的相互学习,帮助每个学生从不同的角度获得知识。通过考试机制,我们自适应地权衡蒸馏损失和相互学习损失,实现教师的量身定制教学和对等的选择性学习。
本文的核心贡献总结如下:

•我们从经验上揭示了集成学习在CTR预测中的三个局限性,并从KD和DML的角度探索了这些局限性的解决方案。
•通过加强和整合知识蒸馏和深度相互学习的核心思想,提出了一种新的模型不可知论集成知识转移框架(EKTF)。
•我们设计了一种新的考试机制,平衡多重损失之间的权重,以确保教师对学生的量身定制教学和点对点的选择性学习。
•我们在五个真实世界的数据集上进行了全面的实验,以证明EKTF的有效性、兼容性和灵活性。

2 Related Work 相关工作

2.1 CTR Prediction CTR预测

有效地捕获特征交互是提高CTR预测任务性能的关键方法。传统的CTR模型,如LR[32]和FM[30],只能捕获低阶特征交互,这限制了它们的性能。随着深度学习的兴起,一些研究[2,5,12]已经证明多层感知器(MLP)可以捕获高阶特征交互,从而进一步提高性能。因此,最近的CTR模型已经开始集成不同的子网络,以同时捕获低阶和高阶特征交互(例如,DeepFM [9], DCNv2 [40], Wide & Deep [2], xDeepFM [22], FinalMLP [26], GDCN[37]等)。此外,一些作品试图集成来自不同语义空间或视图的子网络[17,18,33,48]。然而,上述工作大多只集成了两到三个子网,探索有限集成大量子网络的方法。单个子网络的性能和整体模型之间的关系也仍然不清楚。因此,本文旨在探讨大型集成学习方法的局限性,并通过我们提出的框架解决这些问题。

2.2 Knowledge Transfer for CTR Prediction CTR预测的知识转移

KD[13]和DML[44]旨在在不同网络之间传递知识,以提高模型性能[8,21,44]。这两种方法都在计算机视觉和自然语言处理方面取得了重大进展[4,10,11,25,45]。近年来,KD在CTR预测中的应用也取得了一些进展。[49]首先将KD引入到CTR预测中,使用教师集合来增强学生模型的性能。[35]将DNN捕获的信息提取到图模型中,在保持高推理效率的同时提高了性能。[6]引入了学生和老师之间的桥梁模式,以促进学生的学习。[24]将位置知识从教师模型转移到学生模型。


相比之下,将DML与CTR预测相结合的探索有限。[43]是第一个将DML引入CTR预测的,使用DML进一步微调预训练模型。


然而,本文旨在探讨KD和DML如何解决集成学习的局限性。

3 Optimizing Ensemble Learning for CTR Prediction: From Limitation to Solutions 优化集成学习用于CTR预测:从局限性到解决方案

3.1 The Limitations of Large Ensembles in CTR Prediction 大集成在CTR预测中的局限性

集成学习[7]是CTR预测任务[20]中常用的性能增强范例。大多数CTR模型采用求和[9,22]、平均[19,48]或串联[39,40]等简单操作来汇总多个子网络的预测,从而提高模型性能。这些集成方法的形式化如下:

式中,其中的expli -𝑠,𝑘表示𝑘-th子网络(学生网络)的预测结果,Ensemble表示不同的融合函数。然而,这些集成方法往往只融合两个子网络的预测[9,19,37],缺乏对更多子网络标度规律的探索。因此,我们监测了上述三种常见融合方法对不同数量子网性能的影响,如图2所示。我们有以下发现:

一些关于标度定律[15]的研究表明,模型性能通常随着参数数量的增加而提高,甚至可能出现突现现象[42]。相反,我们的实验结果与这一结论相矛盾。我们假设出现这种现象和发现1到3的原因可能是由于多个子网络并行独立学习,只接收来自真标签的监督信号,而忽略了其他子网络对自身性能提升的潜在贡献。此外,值得注意的是,如果我们能够减少子网络之间的性能差距,𝑠和集合预测之间的差距,我们可以实现更灵活的集成模型。当需要更高的性能时,我们可以采用集成模型;相反,当需要较低的模型复杂度时,我们可以利用表现最好的学生模型。因此,解决这些局限性具有相当大的实用价值,我们试图从知识升华和深度互学的角度进一步探讨。

3.2 Enhancing Ensemble Learning via Knowledge Distillation 通过知识蒸馏增强集成学习

知识蒸馏的核心思想[8,21]是将知识从复杂且高绩效的教师模型转移到学生模型(即师生模型),从而提高后者的绩效。然而,设计和培训一个有效的教师模式是一个复杂而耗时的过程。它需要大量的计算资源和精心调整的超参数,以确保教师模型在指导学生模型时提供足够的性能优势。因此,我们尝试使用集合预测结果_ (n)作为抽象教师来指导每个学生(子网络)的学习过程。总损失L𝐾𝐷−𝑇𝑅如下:

其中,显性显性表示真实标签,显性显性表示批大小,显性显性表示子网络个数,显性显性表示损失权重的超参数,显性显性表示教师模型对𝑖-th样本的预测结果,显性显性表示𝑘-th学生模型对𝑖-th样本的预测结果。从方程2中可以看出,由于L𝐾𝐷的引入,不同的学生网络(子网络)不仅得到真标签的引导,还得到教师模型的监督信号;教师模型是由学生模型的集体决策形成的抽象实体。因此,这种知识蒸馏方法为学生模型提供了额外的监督信号。为了实证验证其有效性,我们使用更稳定的均值算子作为抽象教师。具体实验结果如图3所示。我们得出以下结论:

尽管通过教师对学生的知识蒸馏有效地解决了发现1和2中提到的局限性,如图4 (a)所示,但它仍然难以解决发现3,这涉及到教师和学生模型之间的实质性绩效差距。因此,我们进一步探讨了通过点对点的深度相互学习对子网性能的影响。

3.3 Enhancing Ensemble Learning via Deep Mutual Learning 通过深度相互学习加强集成学习

深度互学[44]的核心思想是促进点对点之间的知识转移,每个学生模型都是其他学生的老师。同时,各子网直接接收真标签的监督信号。与传统的知识蒸馏相比,这种训练方法促进了子网络之间的直接交流,而不是从教师模型中提取知识。总损失L𝐷𝑀𝐿−𝑇𝑅为如下:

其中,①表示从多个同伴处获取知识的强度。从公式3中可以明显看出,L𝑘𝐷𝑀𝐿的引入增强了学生模型之间的直接通信,这有助于减轻多个子网之间的并行和独立限制。为了实证评估其对集成学习的影响,我们进行了实验验证,结果如图5和4 (b)所示。我们的研究结果包括:

为了同时解决我们的发现1到3,一个简单的想法是将KD与DML结合起来,学生在抽象老师和真实标签的指导下,同时也相互学习。然而,这个简单的想法引入了一个额外的限制:

3.4 Examination Mechanism 检查机制

为了解决发现6,我们提出了一种检查机制,该机制利用子网预测和真实标签之间的绝对差异作为模型学习进度的定量度量。公式如下:

其中𝑆𝑘表示𝑘-th子网的考试成绩,𝑆𝑘越小表示该子网的学习进步越好,反之亦然。直观地说,当老师发现学生得分低时,该机制会加强针对该学生的教学强度。同时,在对等学习过程中,学生应优先向能力较强的同伴学习,同时减少表现较差的同伴的影响,以防止知识冲突bb0。检查机制在和中的介绍如下:

3.5 Ensemble Knowledge Transfer Framework 集成知识转移框架

通过整合上述方法,我们提出了一个集成知识转移框架(EKTF),该框架可以扩展到包括无限数量的学生网络。具体的体系结构如图6所示。首先,我们提取了以下三种类型的数据,并将其转换为多字段的分类特征,然后对其进行一次热编码:•用户简介(≥𝑈):年龄、性别、职业等。


•商品属性(𝐼):品牌、价格、品类等。


•上下文(≥≥):时间戳、设备、位置等。


我们可以用元组数据格式定义一个CTR输入样本:𝑋={显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性显性。此外,大多数CTR预测模型[17,33,34]利用嵌入层将其转化为低维密集向量:e ̄= e ̄ ̄,其中e ̄∈R𝑑×𝑠 ̄和𝑠 ̄分别表示𝑖-th字段的嵌入矩阵和词汇量,𝑑表示嵌入维数。之后,我们将各个特征连接起来,以获得学生网络的输入h =e1, e2,···,e𝑓。在得到每个学生网络和真实标签的预测结果中,我们结合KD和DML的思想,结合检验机制,得到最终的损失函数:

为了验证我们提出的EKTF是否同时解决了上述发现1至3的局限性,我们进行了进一步的实验。图7 (a)表明,EKTF的集合预测结果{}始终优于单一KD和DML,从而解决了发现1。图7 (b)表明,EKTF的子网络性能变化更加平稳,方差更小,从而解决了式2。最后,从图7 (c)中可以看出,预测结果与最佳学生网络的预测结果之间的差距小于0.1%,从而解决了发现3的问题。因此,这证实了我们关于发现1到3的原因的假设。同时,我们进一步取L的平均值,而不是简单的求和。这种方法确保了培训主要以稳定的教师模式为指导,并有助于减少早期损失波动造成的不稳定性。此外,我们发现使用具有异构体系结构的学生模型的集合可以进一步提高模型的性能,这将在第4节中进一步阐述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苍穹外卖项目练习总结

做这个练习项目已经接近两年之久,现在拿出来复习一遍,主要就是里面处理问题的流程,以及整体思考的逻辑需要重新回顾一遍,后续会逐渐总结这一段时间以来学习到的知识。 项目整体包含两部分,一个是管理端,一…

数学拯救世界(三)———破魔

题目一: 还记不记得,出现带分数的话可以怎么办? 题目二: 还记不记得,昨天讲的重叠数 题目三: 提公因数,抓住问题本质 题目四:

JAVA |日常开发中连接Sqlite数据库详解

JAVA |日常开发中连接Sqlite数据库详解 前言一、SQLite 数据库概述1.1 定义与特点1.2 适用场景 二、Java 连接 SQLite 数据库的准备工作2.1 添加 SQLite JDBC 驱动依赖2.2 了解 JDBC 基础概念 三、建立数据库连接3.1 代码示例3.2 步骤解析 四、执行 SQL 语句4.1 创建…

对 JavaScript 说“不”

JavaScript编程语言历史悠久,但它是在 1995 年大约一周内创建的。 它最初被称为 LiveScript,但后来更名为 JavaScript,以赶上 Java 的潮流,尽管它与 Java 毫无关系。 它很快就变得非常流行,推动了 Web 应用程序革命&…

解谜类游戏《迷失岛2》等如何抽象出一套通用高效开发框架?

解谜类游戏以精妙的谜题设计和引人入胜的故事叙述为特点,考验着玩家的智慧与观察力。《迷失岛2》与《南瓜先生2九龙城寨》正是这一领域的佳作。游戏以独特的艺术风格和玩法设计吸引了大量玩家,而它们背后隐藏着一套强大的框架。 上海胖布丁游戏的技术总…

CID引流电商

ClickID技术是基于多家媒体平台开发的电商引流服务,通过媒体提供的宏参数,间接解决电商平台订单数据的回传问题,帮助账户收集到极致精准的数据模型,搭建不同媒体往各平台引流的桥梁。简单来说就是通过ClickID数据监测到另外一个平…

保姆级教程Docker部署Redis镜像

目录 1、创建挂载目录和配置文件 2、运行Redis镜像 3、查看redis运行状态 1、创建挂载目录和配置文件 # 创建宿主机Redis配置文件存放目录 sudo mkdir -p /data/docker/redis/conf# 创建Redis配置文件 cd /data/docker/redis/conf sudo touch redis.conf 到Github上找到Redi…

如何将快捷指令添加到启动台

如何将快捷指令添加到启动台/Finder/访达(Mac) 1. 打开快捷指令创建快捷指令 示例创建了一个文件操作测试的快捷指令。 2. 右键选择添加到程序坞 鼠标放在待添加的快捷指令上。 3. 右键添加到访达 鼠标放在待添加的快捷指令上。 之后就可以在启…

【AI学习】Mamba学习(二十):Mamba是一种线性注意力

论文《Demystify Mamba in Vision: A Linear Attention Perspective 》从线性注意力的视角,对Mamba 进行了阐释。 论文名称:Demystify Mamba in Vision: A Linear Attention Perspective (Arxiv 2024.05) 论文地址:https://arxiv.org/pdf/24…

Bootstrap-HTML(三)Bootstrap5列表组全解析

Bootstrap-HTML(三)Bootstrap5列表组全解析 前言(一)HTML 列表基础回顾1.无序列表2.有序列表3.定义列表 二、无样式的有序列表和无序列表内联列表 三、Bootstrap5 列表组1.基础的列表组2.设置禁用和活动项3.链接项的列表组4.移除列…

【CSP CCF记录】202212-2第28次认证 训练计划

题目 样例1输入 10 5 0 0 0 0 0 1 2 3 2 10 样例1输出 1 1 1 1 1 10 9 8 9 1 样例1解释 五项科目间没有依赖关系,都可以从第 1 天就开始训练。 10天时间恰好可以完成所有科目的训练。其中科目 1 耗时仅 1天,所以最晚可以拖延到第 10 天再开始训练&…

java 18 异常处理

一,异常概念 基本概念Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常) 执行过程中所发生的异常事件可分为两大类: 1)Error(错误):Java虚拟机无法解决的严重问题。如:JVM系统内部…

【Spark】 groupByKey与reduceByKey的区别

groupByKey 操作:将相同键的所有值收集到一个集合中。实现:不会在map端进行局部聚合,而是直接将所有相同键的数据传输到reduce端进行聚合。缺点:由于没有本地聚合,groupByKey会导致大量的数据传输和shuffle&#xff0c…

房屋租赁系统源码 SpringBoot + Vue 实现全功能解析

这是一套使用 SpringBoot 与 Vue 开发的房屋租赁系统源码,站长分析过这套源码, 推测其原始版本可能是一个员工管理系统,经过二次开发后,功能被拓展和调整,现已完全适用于房屋租赁业务。 该系统功能完善,涉…

【ArcGISPro】训练自己的深度学习模型并使用

本教程主要训练的是识别汽车的对象检测模型 所使用的工具如下(导出训练数据进行深度学习、训练深度学习模型、使用深度学习检测对象) 1.准备训练数据 1.1新建面矢量,构建检测对象 右键地理数据库->新建->要素类 选择面类型 1.2点击编辑窗口进行勾画汽车检测对象…

鸿蒙特色实战3共享单车案例

1 案例截图 2 开发准备 本项目需要一台NEXT真机,并完成以下准备工作。 在AppGallery Connect(简称AGC)上,参考创建项目和创建应用完成HarmonyOS应用的创建,从而使用各类服务。 添加应用包名要注意:与新建…

Thonny IDE + MicroPython + ESP32 + 0.96寸OLED(IIC) 显示任意字符

四针脚0.96英寸OLED显示屏模块的具体参数如下表所示。 参数名称 参数特性 分辨率 128x64像素 通信方式 IIC 驱动芯片 SSD1306 屏幕颜色 白色、蓝色或黄蓝双色 元件: 四针脚0.96英寸OLED显示屏模块 ESP32 DEVKIT_C开发板 杜邦线USB Type-C 接线&#xf…

监控易助力IT运维再升级

在当今数字化时代,企业对于IT系统的依赖程度日益加深,IT运维管理的重要性也随之凸显。作为首都的一家知名企业,北京某公司在业务快速发展的同时,也面临着IT系统规模不断扩大、运维管理复杂度不断提升的挑战。为了更好地应对这些挑…

线程(二)——线程安全

如何理解线程安全: 多线程并发执行的时候,有时候会触发一些“bug”,虽然代码能够执行,线程也在工作,但是过程和结果都不符合我们的开发时的预期,所以我们将此类线程称之为“线程安全问题”。 例如&#xff…