Real-time Personalization using Embeddings for Search Ranking at Airbnb 是 KDD 2018 的 best paper, 整篇文章读下来,初看好像只是套了 word2vec 来生成 user embedding 和 item embedding;但是细读下来,会发现其中有不少细节值得考究,这种风格跟 youtube 在 2016 年发表的那篇 Deep Neural Networks for YouTube Recommendations 很像,两篇都是实践性很强的 paper,非常值得看。而且两篇文章分别代表着 deep learning 中生成 embedding 的两大流派:无监督和有监督。本文主要讲的是 Airbnb 的这篇 paper 的基本做法和一些细节。

阅读全文 »

Real-time Personalization using Embeddings for Search Ranking at Airbnb is KDD 2018’s best paper. Reading through it, at first glance it seems to just apply word2vec to generate user and item embeddings. But reading more carefully, there are many details worth examining. This style is similar to YouTube’s 2016 paper Deep Neural Networks for YouTube Recommendations. Both are very practical papers worth reading. The two articles represent two major approaches for generating embeddings in deep learning: unsupervised and supervised. This article mainly describes Airbnb’s approach and key details.

阅读全文 »

本文的内容主要是 程序的表示、转换与链接 这门课第二周的内容,主要介绍了浮点数和整数在机器内如何编码和存储 (大端和小端) 的,了解这些细节后,能够更好地理解代码中进行数值计算和比较时出现的违反直觉的结果,同时也能避免出现这样的问题。

阅读全文 »

一直对以 C / C++ 为代表的的编译型语言的编译、运行的原理了解不多,最近正好看到这本由国人写的书 链接、装载与库,书名已经比较言简意赅的介绍了书里相关内容,而且写得挺通俗的,值得一看。这里是书里第一、二部分内容的一些笔记,主要讲了操作系统的一些基本概念,编译生成的目标文件格式和静态链接的过程;由于笔者只摘录一些不太了解的内容,因此总体内容可能不是非常成体系,建议读原书。

阅读全文 »

最近在 coursera 上发现一门不错的课程,程序的表示、转换与链接,内容是类似《深入理解计算机系统》这本书的,说来惭愧,虽然在上学时零星上过一些相关的课程,但是却没有系统地将这些内容串起来理解。本着算法工程师首先得是个工程的原则,觉得还是有必要去了解一下这块内容; 而且课程内容讲得挺通俗的,值得一听。

本文的内容主要是 week1 的内容,较为宏观地介绍了如何从冯・诺依曼体系结构演进至现代计算机结构、程序执行的基本原理、微体系结构与指令集 (ISA) 等。由于课程 PPT 说得已经较为清晰了,这里大部分内容会直接截图(懒得再打字也是一个原因。。。)

阅读全文 »

In computational advertising, conversions are delayed—users may convert some time after clicking, and deeper conversion funnels tend to have longer delays. When training CVR/deep-CVR models, two situations arise: (1) sending samples to the model too early, treating events that will eventually convert but haven’t yet as negative examples, causing model underestimation; (2) sending samples to the model too late, waiting for all samples to complete a sufficient time window, preventing timely model updates.

Therefore, modeling the conversion feedback delay is necessary. This paper “Modeling Delayed Feedback in Display Advertising” from Criteo provides a solution. The main idea: for samples where conversion hasn’t been observed yet, don’t treat them directly as negative samples, but instead give the model different gradient magnitudes based on how long since the click occurred. The paper validates this method’s effectiveness on Criteo’s real data. Additionally, the modeling approach from problem formulation to solution is worth studying.

阅读全文 »

在计算广告中,转化是有延迟的,即在点击发生后过一段时间用户可能才会发生转化,且往往转化漏斗越深,延迟的时间越长;因此在训练 cvr / deepcvr 模型时,会有两种情况出现(1)过早把样本送入模型,把最终会转化但是还没回传 label 的事件当做负例,导致模型低估(2)过晚把样本送入模型,即让所有样本都等待一个足够长的时间才送入模型,导致模型没能及时更新

因此在建模时需要对转化的回传延时进行建模,这篇 paper 《Modeling Delayed Feedback in Display Advertising》是 criteo 针对这个问题提供的一个解决方法,主要思想就是对于还未观察到 conversion 的样本,不直接将其当做负样本,而是当前考虑 click 已发生的时间长短给模型不同大小的 gradient;paper 里称在 criteo 的真实的数据上验证了该方法的有效性。此外,文章从问题的建模到求解的思路不错,值得一看。

阅读全文 »

This article briefly describes the principles of distillation in machine learning. Distillation can be simply divided into model distillation and feature distillation. As the name suggests, distillation compresses the original model/features. The reasons may be to reduce model size (model distillation), or because certain features are only available during training but not during serving (feature distillation). In practical business, these two techniques can be flexibly applied according to specific scenarios.

阅读全文 »
0%