申请专栏作者
您的当前位置:主页 > 机器学习 > 正文

深度学习在 Airbnb 中的探索与应用

来源: 时间:2019-06-23
请点击下面的广告后浏览!

 

本文来自对论文:Applying Deep Learning To Airbnb Search 的解读。

本文来自可思数据,转载请联系本站及注明出处

内容大纲:

可思数据-www.sykv.cn,sykv.com

  • 效果概览 可思数据

  • 模型演进

    可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 失败尝试 可思数据

  • 特征工程

    本文来自可思数据,转载请联系本站及注明出处

  • 系统介绍

    可思数据-数据挖掘,智慧医疗,机器视觉,机器人

一、效果概览 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

 

内容来自可思数据

分为离线和在线俩部分。其中,一个重要指标是 NDCG 标准化文档累计增益,NDCG = DCG/IDCG 。 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

二、模型演进

可思数据-www.sykv.cn,sykv.com

演进 1:SimpleNN 内容来自可思数据

超简单网络结构,其特点: 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • 一层隐含层,32 个 ReLUunits

    可思数据-www.sykv.cn,sykv.com

  • 所有用到的特征 GBDT 一样 可思数据-www.sykv.cn,sykv.com

  • 训练目标与 GBDT 一致,最小化均方误差用户预定了就是 1,没有预定就是 0

    可思数据-www.sykv.cn,sykv.com

结论:

可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  • SimpleNN 相对 GBDT 排序效果提升较小 可思数据-www.sykv.cn,sykv.com

  • 验证 NN 的线上可行性

    本文来自可思数据,转载请联系本站及注明出处

演进 2:LambdaRankNN 可思数据

 

本文来自可思数据,转载请联系本站及注明出处

网络结构保持不变:

可思数据

  • 改用 pairwise 损失,并在训练的时候最小化 crossentropy loss 可思数据-人工智能资讯平台

  • 使用 listing 对调带来的 delta NDCG 作为 pairwiseloss 的权重,得到最终的损失函数 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

结论:

可思数据-www.sykv.cn,sykv.com

线下小幅度提升 NDCG

本文来自可思数据,转载请联系本站及注明出处

线上大幅度提升 内容来自可思数据

演进 3:GBDT/FM NN 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

在研究 NN 模型的同时,Airbnb 还探索了 GBDT 和 FM 模型。三者线下表现差不多,但是得到的排序结果却很不相同。所以,Airbnb 尝试了将三种模型进行模型结构的融合,也算是常用的做法:

可思数据

  • 将 GBDT 的每一颗树的预测结果在叶节点中的 index ,作为 categorical feature ,输入到 NN 中;

    可思数据-www.sykv.cn,sykv.com

  • 将 FM 的预测点击概率结果,直接作为特征放到 NN 中。

    可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 单隐层全连接使用 ReLU 激活函数 可思数据

内容来自可思数据

结论:

可思数据-www.sykv.cn,sykv.com

  • GBDT/FM/SimpleNN 效果基本一致 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  • 单纯排序结果三者差异性较大 可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 融合后线上收益较高

    内容来自可思数据

演进 4:Deep NN 可思数据-www.sykv.cn,sykv.com

引入复杂深度模型探索特征空间:

可思数据-人工智能资讯平台

  • 195 个 features 输入 (还是把类别型特征 embedding 之后的) 可思数据

  • 两层 hiddenlayer 。第一层 127Units 输出,第二层 83Units 输出,使用 ReLU 激活函数。 可思数据

  • 数据量增加了 10 倍后效果显现 可思数据

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

结论:

可思数据

  • 离线 / 在线均获得较大收益

    可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • 离线训练量达到 10 亿量级时,训练与测试之间的效果 gap 消失

    可思数据-人工智能资讯平台

  • 强调在 DL 中数据重要性 可思数据-AI,人工智能,深度学习,机器学习,神经网络

三、失败尝试 可思数据-人工智能资讯平台

1. 失败 Embedding List 可思数据-人工智能资讯平台

类比 item2vec 对 list (这里也是指某 item) 进行 embedding :

本文来自可思数据,转载请联系本站及注明出处

  • 直接使用用户 booking 顺序,产出 list2vec

    可思数据-人工智能资讯平台

  • 考虑现实情况,单条 booking 顺序中没有大量的重复数据 (低频触发)

    可思数据-人工智能资讯平台

  • 考虑现实冲突,某个 house 一年最多 booking 365 次

    可思数据-AI,人工智能,深度学习,机器学习,神经网络

本文来自可思数据,转载请联系本站及注明出处

结论: 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • 应用于线上带来大量过拟合,更大规模的训练数据也无法消灭低频 可思数据-www.sykv.cn,sykv.com

  • Airbnb 的现实场景导致 item 冲突约束性,大量房子预订量极低

    内容来自可思数据

2. 尝试挽救

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

发现: 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  • Item 预定量低频,但浏览量不低 可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 长时间浏览行为,与 booking 预定行为强相关 本文来自可思数据,转载请联系本站及注明出处

可思数据-人工智能资讯平台

尝试: 可思数据-www.sykv.cn,sykv.com

  • 多任务训练,以预定 / 浏览时长为多任务目标 可思数据

  • 隐层共享,利用 view 浏览时长数据修正过拟合,促进 embedding 效果

    可思数据-数据挖掘,智慧医疗,机器视觉,机器人

内容来自可思数据

结论:

可思数据-人工智能资讯平台

  • 线上实验 longview 大幅提升,预订量无显著提升

    本文来自可思数据,转载请联系本站及注明出处

  • 人工分析,优先推荐:

    本文来自可思数据,转载请联系本站及注明出处

    ① 高端但价格高的 item 可思数据-www.sykv.cn,sykv.com

    ② 特别而滑稽的 item 内容来自可思数据

    ③ 文字描述很长的 item 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

四、特征工程

内容来自可思数据

1. 深度学习也要做特征工程! 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

认知:

内容来自可思数据

1 ) GBDT 考虑的是有序分裂点,对归一化不敏感 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

2 ) DL 对特征的绝对数值 较为敏感

可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 较大的数值变化,会在 BP 学习中带来较大的梯度变化

    可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • 较大数值在 ReLU 作为激活层时,甚至会导致其永久关闭 可思数据-www.sykv.cn,sykv.com

3 ) 满足一定条件的输入数据,会让深度学习模型表现得更好 可思数据-www.sykv.cn,sykv.com

  • 特征值映射到 [-1,+1] 区间,中值为 0

    可思数据-www.sykv.cn,sykv.com

  • 输入值尽量稠密平滑,去除输入毛刺点 可思数据-AI,人工智能,深度学习,机器学习,神经网络

归一化方法: 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

1 ) 将满足正太分布的特征归一化: 可思数据

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

2 ) 将满足幂度分布的特征归一化: 可思数据-www.sykv.cn,sykv.com

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

2. 特征平滑

可思数据-AI,人工智能,深度学习,机器学习,神经网络

可思数据-AI,人工智能,深度学习,机器学习,神经网络

发现: 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  • DL 中的每一层,输出都是越来越平滑

    可思数据-www.sykv.cn,sykv.com

    上图中,从下到上,分别是模型每层的输出 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • 如果在输入层就平滑,将会提升泛化能力

    可思数据-AI,智能驾驶,人脸识别,区块链,大数据

    底层的平滑输出,将保证高层对未知特征组合的稳定性 可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 便于排查异常,保证特征完整性

    可思数据-人工智能资讯平台

    下图是预定天数特征,左边为原始预定天数分布,右图为考虑预定天数中值后的分布

    可思数据-人工智能资讯平台

本文来自可思数据,转载请联系本站及注明出处

3. 特殊特征 (经纬度) 平滑 内容来自可思数据

可思数据

经纬度平滑过程: 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

直接使用经纬度特征,分布极其不均衡 (见上图第一层图片) 。 内容来自可思数据

第二层图片左图,是对目标地点的距离特征分布,可以看出大部分的点走在原点位置,其他的很多点以原点为中心均匀的分散开来。

可思数据

第二层图片右图,是对经纬度分别取 log 。

可思数据-AI,人工智能,深度学习,机器学习,神经网络

将经纬度的 offset 分别取 log (上图最底层图片) ,得到基于距离的全局特征,而不是基于特定地理位置的特征。 可思数据-AI,人工智能,深度学习,机器学习,神经网络

4. 离散特征 embedding 可思数据-www.sykv.cn,sykv.com

可思数据-www.sykv.cn,sykv.com

发现: 本文来自可思数据,转载请联系本站及注明出处

  • 虽然 item-embedding 在此场景不适用,但一些零散特征的 embedding 仍然有效 (主要针对不可比较、选项较多的离散值特征)

    可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  • 利用搜索城市后的街道连续点击行为,构建街道 embedding 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • 对全局 query 搜索内容进行初步聚合,再建立 embedding,产出作为用户搜索特征输入 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  1. 特征重要性评估

失败做法: 可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 分解深度学习的 score,给出每一部分特征重要度 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

    分析:多层非线性断绝分解的希望 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • 依次移除特征,查看模型性能变化。 可思数据-AI,人工智能,深度学习,机器学习,神经网络

    分析:特征之间不完全独立,在特征工程后尤其如此 可思数据

  • 随机修改某些特征,查看性能变化

    可思数据

    分析:特征依旧不独立,没法排除 noise 可思数据-人工智能资讯平台

成功做法:( TopBot 分析法 )

本文来自可思数据,转载请联系本站及注明出处

  • 产出测试集预测的 list 排序

    可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • 观察某个特征在头部 list 与尾部 list 的区别,有区分度为重要特征

    可思数据-www.sykv.cn,sykv.com

  • 下图中,左侧为 price ,头部 price 比尾部低;右侧为评论数,头部与尾部没区别

    可思数据-数据挖掘,智慧医疗,机器视觉,机器人

 

可思数据

五、系统工程 可思数据-www.sykv.cn,sykv.com

Airbnb 系统介绍:

可思数据-人工智能资讯平台

1. 工程架构 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • JavaServer 处理 query

    可思数据

  • Spark 记录 logs

    可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • Tensorflow 进行模型训练 可思数据-人工智能资讯平台

  • JavaNNLibrary 线上低延迟预测 本文来自可思数据,转载请联系本站及注明出处

  1. 数据集
  • GBDT 时代采用 CSV ,读入耗时长 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  • Tf 时代改用 Protobufs ,效率提升 17 倍,GPU 利用率达到 90%

    可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  1. 统计类特征
  • 大量样本共同拥有的统计类特征,成为数据读取瓶颈

    可思数据

  • 整合统计类特征,将其汇总后,看作不可训练的 embedding 矩阵,作为 tf 的统计特征节点输入层参数 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  1. 超参数
  • Dropout 层没有带来增益 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  • 初始化采用 {-1,1} 的范围均匀随机,比全 0 初始化要好

    可思数据-AI,人工智能,深度学习,机器学习,神经网络

  • Batchsize 选用 200,最优化使用 lazyAdom

    可思数据-www.sykv.cn,sykv.com

参考资料: 本文来自可思数据,转载请联系本站及注明出处

Applying Deep Learning To Airbnb Search,论文链接: 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

https://arxiv.org/abs/1810.09591v2

可思数据-www.sykv.cn,sykv.com

论文 pdf 版本可直接关注本文公众号,回复“Airbnb”下载。

可思数据-AI,人工智能,深度学习,机器学习,神经网络

作者介绍:

可思数据-AI,人工智能,深度学习,机器学习,神经网络

马宇峰,阅文信息 资深研发工程师 内容挖掘平台技术负责人。前百度高级研发工程师,研究方向主要包括知识图谱、用户理解、推荐系统。曾获 2014 百度知识图谱竞赛第 1 名。

本文来自可思数据,转载请联系本站及注明出处

内推信息:

可思数据-人工智能资讯平台

**NLP 算法工程师 **

可思数据-AI,人工智能,深度学习,机器学习,神经网络

薪资:20k-40k 本文来自可思数据,转载请联系本站及注明出处

经验:1-3 年

可思数据-www.sykv.cn,sykv.com

学历:硕士及以上

可思数据-人工智能资讯平台

邮箱:mayufeng@yuewen.com 本文来自可思数据,转载请联系本站及注明出处

地点:上海市浦东新区碧波路 690 号张江微电子港 6 号楼

可思数据-AI,人工智能,深度学习,机器学习,神经网络

职责:

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

  1. 负责 NLP 基础算法研究工作,包括并不限于分词、重要性、紧密度、词性、专名识别、句法分析、文本分类、关键词抽取、纠错、知识图谱、词向量等

    可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  2. 建设基础的自然语言分析工具和平台,通过自然语言处理、深度学习等技术提升用户浏览与搜索体验 可思数据-AI,人工智能,深度学习,机器学习,神经网络

要求: 本文来自可思数据,转载请联系本站及注明出处

  1. 211/985 院校计算机、数学等相关专业硕士及以上学历

    本文来自可思数据,转载请联系本站及注明出处

  2. 熟悉 nlp 方向的基本技术,掌握常用的文本数据挖掘、自然语言处理等相关技术,有相应的工作或研究经验

    可思数据

  3. 精通 c++ 或者 Python 语言,熟练使用 Hadoop

    本文来自可思数据,转载请联系本站及注明出处

  4. 掌握机器学习相关知识,有深度学习 NLP 算法相关经验,熟悉主流深度学习工具 (TensorFlow/Caffe 等) 优先

    可思数据-人工智能资讯平台

  5. 在搜索领域有相关工作经验优先 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  6. 责任心强,具备很强的团队协作意识和沟通能力

    本文来自可思数据,转载请联系本站及注明出处

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片

Copyright©2005-2019 Sykv.com 可思数据 版权所有    网站地图   联系我们  

人工智能资讯   人工智能资讯   人工智能资讯   人工智能资讯

扫码入群
咨询反馈
扫码关注

微信公众号

返回顶部