随笔分类 - 搜索与推荐
摘要:参考:https://developer.aliyun.com/article/873405 def softmax_loss_with_negative_mining(user_emb, item_emb, labels, num_negative_samples=4, embed_normed=
阅读全文
摘要:参考:https://juejin.cn/post/7123830153163046926 # shuffle 和 batch 实验 data=tf.range(0,10000) data=tf.data.Dataset.from_tensor_slices(data) data1=data.shu
阅读全文
摘要:作者:淘宝技术链接:分钟级在线深度学习在手淘信息流排序模型中的探索与实践这篇文章实践性很好,值得学习~ 前些年流行的FTRL等在线学习算法在深度学习中已不太适用,为此信息流推荐算法团队从2019年开始探索在线学习的下一式——在线深度学习(Online Deep Learning, ODL),在首页商
阅读全文
摘要:目标是在数据稀疏的情况下,用模型来做特征交叉。(特征交叉可以发掘特征之间的关联性) 目标解读:我们假设一个场景:数据包含用户id,性别,年龄,地区特征来预测对口红的点击率。如果性别为女而且年轻,那么他对口红的点击率应该高,这说明性别和年龄有关联,需要在多项式后,加一项(系数a*x1*x2),这就是特
阅读全文
摘要:class MMoE_Layer(tf.keras.layers.Layer): def __init__(self,expert_dim,n_expert,n_task): super(MMoE_Layer, self).__init__() self.n_task = n_task # 专家个数
阅读全文
摘要:Dot层计算两个向量中的样本间的点乘,同时也是基于batch的点乘,使用起来非常方便,在模型输出前不用再独立书写cosine部分 返回:shape为(batch_size, 1),表明batch中每一组对应样本的点乘。注意:如果在双塔中使用,在Dot前要对塔两侧向量做l2范数归一化。 示例代码: d
阅读全文
摘要:情景: 推荐召回模型训练,开始的几个epoch损失正常下降,在到某个epoch下loss突然为nan,但模型仍在继续training,最终在模型预测时,结果都为零。 查阅相关资料,可能的原因如下: 1)训练集中可能出现为NAN的特征; 2)自定义loss函数中,会存在分母为零的异常,可以加入微小的长
阅读全文
摘要:目前,双塔结构在推荐领域里已经是个常规方法了,在召回和粗排环节的模型选型中,被广泛采用。其实,不仅仅是在推荐领域,在其它领域,双塔结构也已经被越来越多得用起来了。比如,在当代搜索引擎的召回环节,除了常见的经典倒排索引来对Query和Document进行文本字面匹配外,经常也会增加一路基于Bert模型
阅读全文
摘要:AUC是否能作为召回评估指标 首先,AUC是代表模型的排序能力,因为在召回环节考虑所有推荐物品的顺序没有太大意义,所以不是一个好的评估指标。另外后面所有提到的AUC含义都是针对单个user的,即group by user AUC。 AUC和线上优化指标正相关? 不相关。我们先从AUC的计算说起,计算
阅读全文
摘要:class UnigramSampler: def __init__(self, corpus, power, sample_size): self.sample_size = sample_size self.vocab_size = None self.word_p = None counts
阅读全文
摘要:这是对之前知识的补漏:必须要拿适当的曝光未点击最为hard负样本,线上才能得到较好的效果。理论依据如下:
阅读全文