美文网首页工作生活
Applying Deep Learning To Airbnb

Applying Deep Learning To Airbnb

作者: xiiatuuo | 来源:发表于2019-06-30 16:43 被阅读0次

背景

Real-time Personalization using Embeddings for Search Ranking at Airbnb作为embedding的工业级应用非常经典,于是继续follow了这篇Applying Deep Learning To Airbnb Search,主要是阐述airbnb在应用深度学习进行排序的尝试和思考,重点在特征方面(预处理和重要性分析),而不是模型结构上。大家可能会觉得奇怪,深度学习不就是可以天然解决特征工程问题吗,为啥还把重点放在特征工程方向?下面一一解释。

划重点

参考文献对于整个论文从头到尾都有比较好的翻译和解释,我就不赘述了。我聊聊我觉得论文比较有代表性的几个点。

  1. 模型结构
  • 本身airbnb的搜索就是一个listwise类型的排序
  • 用lammdarank来直接优化ndcg
  • 对比了gbdt、gvdt+fm+nn和dnn,发现数据达到一定规模的时候,dnn表现就很好了
  1. 特征分布平滑
  • 输入nn的特征平滑分布非常重要,因为他们发现模型的参数层数越往后面越平滑
  • 标准分布就用z-score进行归一化,幂分布就用log进行平滑。
  • 如何测试呢?让某一个,然后特征数据进行n倍的放大,看ndcg的变化。
  • 同时分析特征的分布能发现一些bug或者特征提取没考虑到的地方,比如将item经纬度特征转为用户离item距离的特征就会更平滑很多。
  1. 模型超参数调整
  • Xavier初始化参数很重要
  • LazyAdamOptimizer会更快
  • Batch size设置为200,调整影响不大
  • Dropout没啥用
  1. 特征重要性分析
  • 分数分解,直接把分数分解到特征上,但是有非线性激活函数存在,这种分析不对
  • 单特征法,去掉一个特征看模型变化,大概能观察,但是也不确定
  • 随机打乱,对某个特征的值打乱观察最后的结果变化,不好说
  • topbot分析,就是对结果排序,分析top和bot的item对应特征的取值分布,来比较,证明有效
  1. 失败的尝试
  • id直接编码,过拟合,因为id embedding需要比较多的数据才能更好的学习,但是booking数据太少了,直接优化booking就过拟合了
  • 多任务学习,只提升了long view,booking并没提高

参考文献

深度学习在 Airbnb 中的探索与应用
论文阅读之“Applying Deep Learning To Airbnb Search”
Airbnb: 深度学习在搜索排序业务中的探索与演进(二)

相关文章

网友评论

    本文标题:Applying Deep Learning To Airbnb

    本文链接:https://www.haomeiwen.com/subject/qvebcctx.html