多场景建模:阿里多场景多任务元学习方法M2M
multi-scenario multi-task meta learning approach (M2M)
背景
广告领域大部分是针对用户建模的,像点击率预估,很少有针对广告主需求建模(广告消耗预估、活跃率/流失率预估、广告曝光量预估),广告的类型较多(搜索广告、展示广告、实时流广告),广告主在不同场景类型上面的行为也不同,这篇文章就是针对广告主建模的。

针对广告主建模的难点:
- 很难建模数据量较小或者新的场景,数据样本太少,无法学习充分
- 场景之间的相互关系比较复杂,较难建模,即便是相同任务,在不同场景也表现不同,如下图,不同任务在不同场景对的皮尔逊相关性。

解决方案:
引入了meta unit,融合丰富的场景知识来学习显示的场景之间的相关性,这样可以很方便的扩展到新场景。
提出了meta attention,捕获不同任务在不同场景之间的相关性
提出了meta tower,用于增强捕获特定场景特征表示的能力

点评:核心是通过场景表示学到的信息作为专家网络及任务学习的动态权重,在任务学习过程中加入场景的个性化。
方法详情
M2M包括3个主要的阶段
第一阶段
Backbone Network,主干网络获得特征、任务、场景的embedding表示,这部分和没有创新,一般做法。

step1:Shared Bottom Embedding
对广告主行为序列、表现序列离线化,用embedding层做成序列embedding,然后加上位置embedding,拼接起来。

特征属性特征: S = { s 1 , s 2 , . . , s l } S=\{s_1,s_2,..,s_l\} S={s1,s2,..,sl}
广告主画像特征: A = { a 1 , a 2 , . . . , a m } A=\{a_1,a_2,...,a_m\} A={a1,a2,...,am}
行为序列特征: X b = { X b t } t = 1 T X_b = \{X_b^t\}_{t=1}^T Xb={Xbt}t=1T
指标特征: X p = { X p T } t = 1 T X_p=\{X_p^T\}_{t=1}^T Xp={XpT}t=1T
step2: Transformer Layer 学习序列更深层次的表达
M H ( X ) = c o n c a t ( h e a d 1 , h e a d 2 , . . . , h e a d h ) W H MH(X)=concat(head_1,head_2,...,head_h)W^H MH(X)=concat(head1,head2,...,headh)WH
h e a d i = A t t e n t i o n ( X W i Q , X W i K , X W i V ) head_i=Attention(XW_i^Q,XW_i^K,XW_i^V) headi=Attention(XWiQ,XWiK,XWiV)
将转换后的行为序列Embedding和指标序列Embedding
F = c o n c a t ( M H ( X b ) , M H ( X p ) ) F=concat(MH(X_b), MH(X_p)) F=concat(MH(Xb),MH(Xp))
step3: Expert View Representation
经过transform编码后的embedding和其他dense特征拼接在一起,套用MMoE的结构,用 k k k个专家进行学习
E i = f M L P ( F ) i ∈ 1 , 2 , . . . , k E_i = f_{MLP}(F) \ \ \ \ i \in 1,2,...,k Ei=fMLP(F) i∈1,2,...,k
step4:Task View Representation
受MRAN启发,除了特征embedding,在相同空间对所有task进行embedding,得到 m m m个任务的表示
T t = f M L P ( E m b e d d i n g ) t ∈ 1 , 2 , . . . , m T_t=f_{MLP}(Embedding) \ \ \ t \in 1,2,...,m Tt=fMLP(Embedding) t∈1,2,...,m
step5: Scenario Knowledge Representation.
将场景属性及广告主画像合并起来,经过一个简单的mlp网络学习得到场景Embedding表示
S ~ = f M L P ( S , A ) \tilde S = f_{MLP}(S,A) S~=fMLP(S,A)
第二阶段
Meta Learning Mechanism, 元注意力(meta attention)组件和元塔(meta tower)组件,捕获不同场景之间的相关性以及增强特定场景特征表达能力

meta attention 和 meta tower的基础都是meta unit,这里详细阐述meta unit,结构如下:

右侧input为输入,在meta attention里面input是concat(expert_out_embedding,task_embedding),
即专家网络的输出embedding和task的embedding拼接起来。在meta tower里面input就是前面attention后的结果。
input经过的几层FCN的权重是动态产生的,由场景embedding经过一个简单的FCN后得到的embedding,
经过reshape后得到,这样不同场景meta unit里面的主网络FCN权重是不一样的,通过这样的动态权重做到场景的个性化。

注意这里的 W ( i − 1 ) W^{(i-1)} W(i−1)和 b ( i − 1 ) b^{(i-1)} b(i−1)是通过场景Embedding经过mlp网络输出的向量再进行reshape得到,这里权重和偏置是根据场景动态产生的。比如说场景Embedding经过mlp得到一个256维的向量,这就可以reshape成128->64->64这样的简单3层mlp。

输入 h i n p u t h_input hinput经过几层动态权重的FCN得到输出 h o u t p o u t h_outpout houtpout,meta unit这个过程定义为 M e t a ( ∙ ) Meta(\bullet) Meta(∙)

meta attention
输入就是专家输出embedding E i E_i Ei与task的embedding T t T_t Tt,通过meta unit M e t a ( ∙ ) Meta(\bullet) Meta(∙)调制之后,再通过一个向量映射成注意力分值常数。meta unit是场景相关的,input又是task相关的,这样就同时学习到多场景和多任务之间的关系。
这里softmax计算注意力分数的时候, j j j表示专家,这里 M M M可能有误?专家总数按上文应该是 k k k

最后任务的表示如下,专家输出的加权求和。

meta tower
其实就是个残差网络,即能保留原始的输入,也能提取得到经过meta unit之后的输入


第三阶段:Poisson Based Multi-Task Learning,通过泊松损失从多场景中预测多任务
loss
对于离散数据,使用泊松loss计算


评估指标
对于回归问题,MAPE(Mean Absolute Percentage Error)和NMAE(Normalized Mean Absolute Error)
但是因为pv、clicks很可能是0,因此使用 SMAPE (Symmetric Mean Absolute Percentage Error),

评估结果

消融分析
w/o meta tower module (MT).
w/o meta attention module (MA)
w/o transformer Layer (TL).

超参数分析
序列长度影响,过长文章说可能引入了较多噪声,导致反而变差

场景Embedding维度,到64维后就不再降低

meta unit的层数,越深反而效果变差,文章说可能是越深越容易过拟合

相关文章:
多场景建模:阿里多场景多任务元学习方法M2M
multi-scenario multi-task meta learning approach (M2M) 背景 广告领域大部分是针对用户建模的,像点击率预估,很少有针对广告主需求建模(广告消耗预估、活跃率/流失率预估、广告曝光量预估),广告的类型较多&#x…...
仿真机器人-深度学习CV和激光雷达感知(项目2)day03【机器人简介与ROS基础】
文章目录 前言机器人简介机器人应用与前景机器人形态机器人的构成 ROS基础ROS的作用和特点ROS的运行机制ROS常用命令 前言 💫你好,我是辰chen,本文旨在准备考研复试或就业 💫本文内容是我为复试准备的第二个项目 💫欢迎…...
【多商户开源-BSD- Fecmall 电商平台】
关于Fecmall Fecmall 关于,Fecmall介绍 Fecbbc开源BSD多商户系统,真正开源,商用免费授权的多商户系统 Fecmall系统简介: 全称为Fancy ECommerce Shop, 着重于电商架构的研发优化,全新定义商城的架构体系&…...
2023春秋杯冬季赛 --- Crypto wp
文章目录 前言Cryptonot_wiener 前言 比赛没打,赛后随便做一下题目 Crypto not_wiener task.py: from Crypto.Util.number import * from gmpy2 import * import random, os from hashlib import sha1 from random import randrange flagb x bytes_to_long(f…...
ImageMagick使用手册
ImageMagick使用手册 文章目录 ImageMagick使用手册ImageMagick是什么指令总结1.查看版本2.官网验证指令解读3.svg转png4.png转ico5.将指定文件夹中的所有PNG图像转换为ICO图标 本教程持续更新,我学到多少就更新多少。关于ffmpeg如何安装可以看上一篇博客win系统环境…...
嵌入式培训机构四个月实训课程笔记(完整版)-C++和QT编程第五天-Qt编程技巧若干解答(物联技术666)
链接:https://pan.baidu.com/s/1-u7GvgM0TLuiy9z7LYQ80Q?pwd1688 提取码:1688 QT在Windows下制作图表 QT是跨平台的程序设计库,在windows下的程序往往想要有一个好看的图标,方法如下: 1.准备个ICO图标。例如&…...
【蓝桥杯选拔赛真题59】python小写字母 第十五届青少年组蓝桥杯python 选拔赛比赛真题解析
目录 python小写字母 一、题目要求 1、编程实现 2、输入输出...
代码随想录算法训练营Day37|738.单调递增的数字、贪心算法总结
目录 738.单调递增的数字 方法一:暴力解法 方法二:贪心解法 贪心算法总结 738.单调递增的数字 题目链接 文章链接 方法一:暴力解法 class Solution { private:// 各位递增判断函数bool checkNum(int num) {int max 10;while (num) {int …...
笔记-影响力-对比,互惠,赌徒原理
笔记 From 《影响力》 目录 C1 影响力的武器 C2:互惠 C3 承诺和一致 C4:社会认同 C5:喜好 C6:权威 C7:稀缺 Ankie的笔记:对比,互惠,赌徒原理 C1 影响力的武器 人类在认知方面有个原理,叫“对比原理”。 假设有人走进一…...
PIL、cv2、numpy,和pytorch(torch)之间的转换
在图像处理和深度学习中,经常需要在PIL(Python Imaging Library)、OpenCV(cv2)、NumPy和PyTorch之间进行图像数据的转换。下面是这些库之间常见的转换方法。 1. PIL和numpy之间的转换 import numpy as np from PIL i…...
Java面试题50道
文章目录 1.谈谈你对Spring的理解2.Spring的常用注解有哪些3.Spring中的bean线程安全吗4.Spring中的设计模式有哪些5.Spring事务传播行为有几种6.Spring是怎么解决循环依赖的7.SpringBoot自动配置原理8.SpringBoot配置文件类型以及加载顺序9.SpringCloud的常用组件有哪些10.说一…...
电脑怎么剪辑视频?这些软件不可错过
电脑怎么剪辑视频?随着视频时代的到来,越来越多的人开始涉足视频制作。从Vlog到短片,再到专业级的影视作品,视频已经成为了我们生活中不可或缺的一部分。那么,如何才能快速掌握视频剪辑技巧,制作出令人惊叹…...
HBase学习七:Compaction
1、简介 Compaction是从一个Region的一个Store中选择部分HFile文件进行合并。其目的为了减少 HFile 的个数跟清理掉过期和删除的数据。 合并原理是,先从这些待合并的数据文件中依次读出KeyValue,再由小到大排序后写入一个新的文件。之后,这个新生成的文件就会取代之前已合…...
MySQL定期整理磁盘碎片
MySQL定期整理磁盘碎片:提升数据库性能的终极指南 MySQL作为一个强大的关系型数据库管理系统,在长时间运行后可能会产生磁盘碎片,影响数据库性能。本博客将深入讨论如何定期整理MySQL磁盘碎片,以确保数据库的高效运行。我们将介绍…...
【centos7安装docker】
背景: 学习docker,我是想做一个隔离环境,并且部署的话,希望实现自动化,不为安装软件而烦恼,保证每个人的环境一致。 2C4G内存 50G磁盘的虚拟机事先已经准备完毕。 1.查看下centos版本,docker要…...
四、Flask学习之JavaScript
四、Flask学习之JavaScript JavaScript,作为一种前端脚本语言,赋予网页生动的交互性和动态性。通过它,开发者能够操作DOM(文档对象模型)实现页面元素的动态改变、响应用户事件,并借助AJAX技术实现异步数据…...
IO 专题
使用try-with-resources语句块,可以自动关闭InputStream [实践总结] FileIUtils 共通方法最佳实践 [实践总结] java 获取在不同系统下的换行符 [实践总结] StreamIUtils 共通方法最佳实践 斜杠“/“和反斜杠“\“的区别 路径中“./”、“…/”、“/”代表的含义…...
MySql索引事务讲解和(经典面试题)
🎥 个人主页:Dikz12🔥个人专栏:MySql📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 索引 概念 索引的相关操作 索引内部数据结构 事务 为…...
《微信小程序开发从入门到实战》学习九十一
7.1 视图容器组件 7.1.2 scroll-view组件 scroll-view组件时是滚动的视图容器,可在竖直方向或水平方向上滚动,展示超出屏幕高度或宽度的内容。 使用竖直方向滚动时,需要通过wxss的height样式给scroll-view设置一个固定高度,超出…...
【立创EDA-PCB设计基础】6.布线铺铜实战及细节详解
前言:本文进行布线铺铜实战及详解布线铺铜的细节 在本专栏中【立创EDA-PCB设计基础】前面完成了布线铺铜前的设计规则的设置,接下来进行布线 布局原则是模块化布局(优先布局好确定位置的器件,例如排针、接口、主控芯片ÿ…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
