简介
个人的随笔,读者需要基本了解IR领域的基本知识和概念,本文主要记录了我觉得该工作一些重要的点。和大家共勉。
1 模型
标准的双塔结构
1.1 损失函数
搜索相关性以pair-wise的形式进行建模,选择的是Triple loss形式:
loss = max(0, sim(u, x_pos) - sim(u, x_neg) + M)
1.2 正负样本选择
结论:
【正样本】点击样本>展现样本
这里衡量的是对模型影响力
【负样本】随机负采样>曝光未点击
召回阶段固然曝光未点击一定是负样本,但是召回的最重要任务是保证分布接近线上的样本分布,所以要让模型“见见世面”,故负采样更重要。
- hard negative mining
随机负采样会导致样本学习过于简单,虽然这样对模型是有正向影响的,不过需要套让模型感受到世界的参差。
作者提出两种
online:在线一般是batch内其他用户的正例当作负例池随机采,本文提到选相似度最高的作为hard样本,同时强调了最多不能超过两个hard样本。
offline:考虑到在线batch的容量太小,在离线阶段可以从全量池子里选择。做法是对每个query的Top-k结果利用hard selection strategy找到hard样本,并重复上述过程。作者提到要从101-500个中进行采集,太靠前也许根本不是负例。另外还有两个经验性的结论:(1)easy: hard = 100: 1 (2)先训练easy再训练hard 效果< 先训练hard再训练easy
- h