| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 直播推荐、搜索中的召回、相关性、多目标精排、特征、重排 - 多目标精排(3) - loss权重的4种方案 -> 正文阅读 |
|
[人工智能]直播推荐、搜索中的召回、相关性、多目标精排、特征、重排 - 多目标精排(3) - loss权重的4种方案 |
一、多目标学习在推荐系统的应用(MMOE/ESMM/PLE) - 知乎 这篇文章中主要针对回归任务、分类任务两种目标来对不同任务设置不同的参数。博主主要记录下里面的公式推导部分和这样做的原因 (1) 这里为什么可以取高斯分布也就是正态分布,因为高斯分布呈钟形曲线,和回归任务一样,大多数样本的取值也都是集中在一个值上,然后再向两边越来越少。这里的fw(x)从文章中是多目标网络中ysl这一个网络的预测值,正常情况下定义一个高斯分布,很少有把均值定义成变量的,但是这里这个回归任务服从的高斯分布的均值就是个变量fw(x) (2) 分类任务定义softmax也是正常做法,除了这种定义外,还有sigmoid,但是这里还是softmax对公式推导方便些 (3) 如何求loss,我们这里先参考下分类任务中常见的交叉熵求loss的公式? 我们如果要求两个目标任务的loss,自然也是对两个两个概率取log,也就是对数似然函数? 上面公式的具体推导,主要是涉及到logMN = logM + logN,log(M/N)=logM-logN这样一些简单的函数运算,博主将这些推导详细的解释了下 再后面将两个任务的loss相加 ?博主觉得第2行有点多余,自己修改了一点 第4 5两行,文章中已经给了很详细的推导 文章中最后化简的loss推导部分 (4) 使用的时候看看方法。可以看到前面那么一大段推导,并且将s1 s2定义logx^2,但是使用的时候就是简单定义两个变量 首先是给分类任务2倍的e^(-ctr_log_var)权重,而ysl任务只有e^(-ysl_log_var)权重,给ctr的权重会大一点,而且最终还把两个权重也加进来作为loss的一部分 二、gradNorm,应该不是像上面这样只针对回归任务、分类任务设计的,多目标的时候多个分类任务、多个回归任务、回归分类混杂,都可以使用这种方法,因为是把“模型参数梯度”当做loss_weight的优化方向 具体参考博主写的这篇文章:多任务学习中的梯度归一,GradNorm_learner_ctr的博客-CSDN博客 代码:找到一个写的很好的源码
gradnorm源码-pytorch实现-机器学习文档类资源-CSDN下载 三、 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:42:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |