自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Isotonic Regression

模型校准模型的预估值往往存在偏差,其原因包括:模型的假设不一定完全成立,比如贝叶斯模型对事件独立同分布的假设训练样本是有偏差的,没有反应真实的分布情况训练算法的缺陷,导致并没有学习到最优的参数以点击率估计为例,某些场景下,有偏点击率是可以直接使用,比如排序场景下重要的是估计值的相对大小,点击率绝对值并不重要;另一些场景下,有偏估计值需要经过校正后才能使用,比如过滤逻辑中点击率的绝对值就会影响物品会不会被过滤掉,例如风控模型,另外将点击率作为其他模型输入的情况下,点击率的绝对值也是有意义的。模

2020-08-06 17:59:37 8

原创 MMR与CalibratedRec的再思考

最大边缘相关性(Maximum Marginal Relevance)推荐场景下,MMR对物品重排的目标是找出与推荐目标相关性高,但与已选集合内物品的相似度低的物品,公式表达如下:MMR(Q,C,R)=ArgMaxdi∈C/R[λSim1(Q,di)−(1−λ)maxdj∈RSim2(di,dj)]MMR(Q,C,R)=ArgMax_{d_i\in C/R}[\lambda Sim_1(Q,d_i) - (1-\lambda)max_{d_j\in R}Sim_2(d_i,d_j)]MMR(Q,C,R)

2020-08-05 17:45:07 23

翻译 深度模型(十四):EdgeRec

本文对原论文中的核心内容做翻译和讲解系统论文提出的模型架构如下图所示,一部分部署在云端服务器中,一部分部署在终端设备上(用户的移动设备):3.1 系统概要EdgeRec系统的主要模块和工作流程如下:本地客户端(Client Native):本地客户端首先初始化请求并缓存云端推荐服务返回的推荐结果。然后收集用户行为并触发模型服务模块。最后从模型服务模块获取未曝光商品的有序列表。模型服务(Model Serving):模型服务模块从本地客户端接收用户行为和原始候选商品。进行特征处理并运行重排模型

2020-08-04 23:01:23 38

原创 Redis使用笔记

1. 数据类型和接口单机模式下,Redis支持以下的数据结构和接口:2. Redis集群Redis集群实现了单机模型功能集合的一个子集,包含所有单个key的功能。Redis 集群中的节点有以下责任:持有键值对数据。记录集群的状态,包括键到正确节点的映射(mapping keys to right nodes)。自动发现其他节点,识别工作不正常的节点,并在有需要时,在从节点中选举出新的主节点。Redis 集群的键空间被分割为 16384 个槽(slot), 集群的最大节点数量也是 1638

2020-07-16 23:12:00 34

原创 Youtube时长预估

Watch Time推导论文中排序模型的训练目标为视频点击率,记为:p=P(y=1∣x)=11+e−θTxp = P(y=1|x)=\frac{1}{1+e^{-\theta^Tx}}p=P(y=1∣x)=1+e−θTx1​模型上线后的预测值计算方法却是:predict=eθTxpredict = e^{\theta^Tx}predict=eθTx其中θ\thetaθ表示模型的参数,xxx表示模型的特征(θ,x\theta,xθ,x实际是模型最后一层隐层参数和输入,当模型只有一层隐层时候,则是模型

2020-07-04 14:18:52 61

原创 推荐系统实践笔记(三)

1. 线性回归最小二乘估计的概率解释线性回归模型如下:y(i)=θTx(i)+ϵ(i)y^{(i)}=\theta^Tx^{(i)}+\epsilon^{(i)}y(i)=θTx(i)+ϵ(i)并假设误差ϵ\epsilonϵ符合正太分布,即:p(ϵ(i))=1σ2πe−(ϵ(i)−μ)22σ2p(\epsilon^{(i)})=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(\epsilon^{(i)}-\mu)^2}{2\sigma^2}}p(ϵ(i))=σ2π​

2020-06-27 23:42:02 59

翻译 线性回归

原文地址:线性回归4.1 一元线性模型一元线性模型定义如下yi=β0+β1xi+ϵi,i=1,...,ny_i=\beta_0+\beta_1x_i+\epsilon_i,i=1,...,nyi​=β0​+β1​xi​+ϵi​,i=1,...,n其中ϵi\epsilon_iϵi​为随机变量(需要一些假设)xix_ixi​为固定值(独立/预测变量)yiy_iyi​为随机变量(依赖/响应变量)β0\beta_0β0​为截距β1\beta_1β1​为斜率4.1.1 最小二乘估计选择参数β

2020-06-27 22:02:11 56

翻译 深度模型(十五):Calibrated Recommendations

原文地址:Calibrated Recommendations1 简介推荐系统在许多不同的应用程序域中提供个性化的用户体验,包括在线购物,社交网络和音乐/视频流。在本文中,我们揭示针对准确性(例如,排序指标)进行训练的推荐系统可以轻松生成关注用户主要兴趣领域的推荐项目列表,而用户的次要兴趣领域却往往未被充分利用甚至消失。随着时间的推移,这种不平衡的推荐可能会逐渐缩小用户的兴趣范围。此问题也适用于多个用户共享同一帐户的情况,在该情况下,同一帐户内不太活跃的用户的兴趣可能会在推荐中被排挤。我们将在第2节中

2020-06-07 12:36:01 120

翻译 深度模型(十四):CB2CF

原文地址:CB2CF: A Neural Multiview Content-to-Collaborative Filtering Model for Completely Cold Item Recommendations1. 简介Microsoft的推荐服务在Windows Store为全球数十亿用户提供服务(包括MS商店和Xbox)。该商店提供许多不同类型的推荐方案,其中“类似物品清单”(标题为 “其他人也喜欢”)是用户参与度和销售的主要驱动力。引入新(冷)商品时,我们希望能够仅根据CB数据即可找

2020-06-05 09:39:55 179

原创 推荐系统实践笔记(二):利用与探索问题

推荐系统的经典问题之一,利用(Exploitation) 与 探索(Exploration)问题Exploitation:满足已知的用户需求Exploration:探索未知的用户需求Exploitation的必要性比较容易理解,通过满足用户已知的需求,产生用户价值,这也是推荐系统存在的意义。Exploration的价值怎么理解呢?首先,对于新用户而言,系统并不知道用户的需求,这时必须通过Exploration探索和发现用户的需求。其次,对于老用户而言,兴趣点也是在不断变化中的,这时也需要通过Exp

2020-06-01 17:24:10 175

翻译 高斯过程(一)

我们来考虑一个简单的线性回归问题:假设我们需要建模的函数为f:R→Rf:R\rightarrow Rf:R→R我们有一些观察数据$ \bold x = [x_1, …,x_N]^T, \bold y=[y_1,…,y_N]^T, y_i=f(x_i)$我们想预测函数fff在一些未观察点x∗x_*x∗​的值采用高斯过程建模函数高斯过程的核心思想是采用多元高斯分布建模函数。输入空间的每一...

2020-04-06 18:03:05 180

原创 推荐系统实践笔记(一)

推荐算法工程师的工作一般都可以建模为带约束条件的最优求解问题。目标设定目标的设定需要较强的业务理解和领域知识:尤其是偏中长期的目标目标的测量方法与目标本身同样重要:需要考虑采用哪些指标,哪些属于短期指标,哪些属于长期指标,测量周期是多久,等等。总之,无法测量的目标,也就无法验证是否实现约束条件与目标同样重要:需要考虑目标对哪些既有指标会有影响,属于正向还是负向影响,预期是影响度有多大;约...

2020-03-15 19:39:22 90

翻译 CUDA编程手册(二)

3 编程接口3.2 CUDA运行时cuda运行时的实现在cudart库中,通过静态链接或动态链接库的方式链接到应用程序。3.2.4 页锁定宿主内存cuda运行时(runtime)库提供页锁定宿主内存(相对于malloc分配的可分页内存)相关函数:cudaHostAlloc和cudaFreeHost分配和释放页锁定宿主内存cudaHostRegister页锁定malloc分配的内存...

2020-02-14 10:55:43 151

翻译 CUDA编程手册(一)

1 简介1.1 从图像处理到通用并行计算由于市场对实时高清3D图形计算的强烈需求,可编程图像处理器(programmable Graphic Processor Unit)或简称GPU,已发展成高并行、多核、多线程的处理器,拥有强大算力和高内存带宽。以下图一和图二比较了CPU和GPU之间浮点运算能力和内存带宽间方面的差异:图一:CPU和GPU每秒浮点运算次数比较图二:CPU与GPU之...

2020-02-13 00:33:36 533

翻译 深度模型(十三):Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts

1 简介近些年深度神经网络被成功地应用于了各种大规模系统中,比如推荐系统[11]。在这些推荐系统中我们经常需要同时优化多个目标。例如,在电影推荐系统中,我们不仅希望用户购买和观看系统推荐的电影,还希望用户能喜欢系统推荐的电影。我们可以建立模型,同时预测用户的购买和评分。实际上,很多大规模的推荐系统已经使用了深度神经网络(DNN)进行多任务学习[3]。一些研究报告表明通过正则化和迁移学习,多任务...

2020-02-09 17:01:54 319

原创 TEF(Tensorflow Extend Framework):大规模推荐系统深度学习解决方案

背景Tensorflow是目前使用最广泛的深度学习解决方案,但是在面对高维稀疏数据的场景(如广告,推荐,搜索等)下,有些力不从心,有以下几点缺点:参数必须以固定维度的矩阵形式提前分配(训练开始前),不支持参数的实时(训练过程中)分配与淘汰不支持参数的增量形式的导出为了克服这些缺点,目前支持高维稀疏场景的深度学习解决方案可以分为三类:自主研发:完全替代Tensroflow。以百度Pa...

2020-02-05 14:30:58 203

原创 Summary of Effective Recommendation Algorithms

简介本文以问题为导向介绍推荐算法。问题一问题定义:假设U={u1,u2,...,un}U=\{u_1, u_2, ..., u_n\}U={u1​,u2​,...,un​}表示用户集合, P={p1,p2,...,pm}P=\{p_1, p_2, ..., p_m\}P={p1​,p2​,...,pm​}表示物品集合,S∈Rn×mS\in R^{n\times m}S∈Rn×m表示用户对物品...

2020-01-23 20:09:46 1832

翻译 深度模型(十二):Billion-scale Commodity Embedding for E-commerce Recommendation in Alibaba

简介互联网技术一直不断地在改变着商业,今天电子商务已经非常普及了。阿里作为中国最大的电子商务企业,使得全世界的消费者和企业在线上做生意。阿里拥有十亿的用户,2017年的总交易额(Gross Merchandise Volume)为37,670亿人民币,总收入为1,580亿人民币。2017年双十一购物节总交易额在1,680亿左右。其中,淘宝作为最大的C2C平台,贡献了75%的交易额。淘宝拥有10...

2019-12-23 23:28:35 177

翻译 深度模型(十一):On Using Very Large Target Vocabulary for Neural Machine Translation

摘要近来提出的完全基于神经网络的神经机器翻译,相比于传统方法比如基于短语的统计机器翻译,取得了令人满意的成绩。但是在神经机器翻译对词表的大小有限制,随着词表的增大,训练的复杂度以及解码的复杂度都会相应增大。本文提出了一种基于重要性采样的方法,可以在不加大训练复杂度的情况下,使用非常大的目标词表。通过选择目标词表的一个较小的子集,较大目标词表的解码的效率也可以有效的提高。通过这种方法训练的模型,追...

2019-11-10 17:14:01 229

翻译 推荐算法普查(基于深度学习)

摘要深度学习已经成为推荐算法研究者们理想的选择。随着机器学习领域研究兴趣的强力增长,已经很难跟踪谁才是TopN推荐问题的最先进算法。与此同时,最近有几篇文章指出现在机器学习领域实践方面的一些问题,比如结果可复现性,以及baseline的选择问题。本文报告了对TopN推荐算法的系统性分析结果。我们分析了最近几年在顶级研究会议上发表的18种算法。其中只有7种算法,经过合理的尝试后复现了结果。并且,...

2019-10-10 15:37:55 539

翻译 交叉墒与类不均衡问题

对于一个二分类模型,衡量模型效果的标准指标之一,是log-loss或binary cross entory(后面统一称之为交叉墒【cross entropy】)。给定一个二分类预测任务,模型不直接输出0/1,而是输出一个概率值y^\widehat yy​,模型的交叉墒为:∑i−yilogy^i−(1−yi)log(1−y^i)\sum_{i}-y_ilog\widehat y_i - (1-y_...

2019-09-27 05:05:59 164

原创 深入浅出XDL(四):模型训练

上一篇我们分析了XDL的framework的架构设计,了解了XDL的模型构建和运行机制,以及XDL如何将tensorflow作为自己的backend。本篇继续分析XDL的架构设计,重点关注XDL的参数训练过程。样例还是以XDL自带的deepctr(代码位置:xdl/xdl/examples/deepctr/deepctr.py)为例:def train(): ... emb...

2019-09-18 15:21:31 710

原创 深入浅出XDL(三):framework

前一篇文章我们分析了xdl的稀疏API embedding的实现。同时也发现了一些的新的问题,首先来回顾一下。embedding接口在模型中创建几类Op:Variable Op, 参数拉取op, Combiner Op; embedding接口相关的几个Op都继承于XDL自己定义的OpKernel,包括PsRegisterVariableOp, PsSparsePullOp, PsPullOp。...

2019-09-17 17:32:49 1071 2

原创 深入浅出XDL(二):embedding

XDL(X-DeepLearning)是阿里巴巴开源的一款深度学习框架。官方介绍,此框架针对广告、推荐、搜索的场景做了很多优化。广告、推荐和搜索的模型,一个重要的特点是存在大量的稀疏特征,为此xdl提供了稀疏API:APIxdl.embedding计算单路稀疏特征的embeddingxdl.merged_embedding同时计算多路稀疏特征的embedding,...

2019-09-16 22:25:27 823 2

原创 深入浅出XDL(一):Blaze推理引擎

Blaze是阿里巴巴开源的一款深度学习推理引擎,官方介绍,它是一款面向广告/搜索/推荐场景的高性能深度学习推理引擎。本文对blaze的源码进行简单的分析。内核源码目录结构Blaze的内核采用c++开发,首先看一下balze内核源码的主要目录结构:目录功能bindingPython接口代码blaze/apibalze的接口代码,包括C、C++两种,C++主要的接口...

2019-09-14 10:58:11 869 2

原创 深度模型调优手册(一):概要

计划用若干篇文章对深度模型的调优方法的做些总结,作为系列文章的第一篇,首先提纲挈领地从一些比较粗线条的维度对调优方法进行了整理。后续在讲到具体的优化案例的时候再细化各个分支的具体常见方法。...

2019-09-01 16:54:43 143

翻译 深度模型(十):ESMM

摘要准确的估计CVR(点击后转化率)对于推荐和广告这类排序系统来说非常关键。传统的CVR模型采用流行的深度学习方法达到目前最好的效果。但是也遇到了一些问题。比如,传统的CVR模型采用点击后的数据训练,但是要在整体数据上做预测。这导致样本选择偏差问题。另外,还存在比较严重的数据稀疏问题。本文我们从一个全新的角度建模CVR预估问题,充份利用用户行为序列:曝光 -> 点击 -> 转化。ES...

2019-08-30 17:26:21 1547

原创 深度模型(九):Batch Normalization

批量标准化批量标准化(batch normalaization)概念由2015年的论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》提出,后被广泛的应用于深度学习领域。下面来看一下批量标准化的计算过程。比如训练数据mini batch的大小为mmm,某...

2019-08-20 18:19:57 92

翻译 深度模型(八):Wide And Deep

摘要广义线性模型和非线性特征变换的组合广泛用于输入稀疏的大规模回归和分类问题。特征的交叉非常有效并且可解释性也很好,但是为了提高模型泛化能力,需要大量的特征工程工作。深度神经网络可以更好的通过稀疏特征的低纬稠密向量泛化到非显性的特征组合。但是当用户物品的交互数据比较稀疏的时候,深度神经网络可能会过拟合。本文我们提出wide & deep 学习,同时训练线性模型和深度模型,结合了记忆与泛化...

2019-08-20 16:14:03 1957

原创 深度模型(七):Sampled Softmax

Softmax给定softmax的输入(z1,z2,...,zn)(z_1,z_2,...,z_n)(z1​,z2​,...,zn​),则输出为f(z1,f(z2),...,f(zn))f(z_1,f(z_2),...,f(z_n))f(z1​,f(z2​),...,f(zn​)),其中f(zi),i∈[1,n]f(z_i),i\in[1,n]f(zi​),i∈[1,n]的计算方式为:f(zi...

2019-08-10 14:05:55 386

翻译 深度模型(六):MIND

翻译自原论文《Multi-Interest Network with Dynamic Routing for Recommendation at Tmall》1 介绍天猫是中国最大的B2C电子商务平台,为数以十亿的用户提供数以十亿记的商品。2018的天猫双十一购物节,GMV达到2130亿元,相比2017年增长了26.9%。随着用户数量和商品数量的持续增长,为每一位用户找到感兴趣的商品变得越来越...

2019-08-09 08:00:29 1151

原创 深度模型(五):Embedding

EmbeddingNLP领域通常用语言模型来做预训练,得到单词的Embedding向量,用于其他NLP下游任务的输入。语言模型什么是语言模型?就是某种语言中,一个句子SSS出现的概率:P(S)P(S)P(S)自然语言的基本构成元素是词,那么语句SSS的概率可以表示为:P(S)=P(w1,w2,...,wn)P(S)=P(w_1,w_2,...,w_n)P(S)=P(w1​,w2​,.....

2019-08-03 16:46:40 428

翻译 深度模型(四):Transformer

Google2017论文《Attention is All You Need》引入Transformer,本文将介绍Transformer的相关知识。整体结构首先来看一下模型的整体结构。在机器翻译应用中,Transformer的输入是一种语言的某一句话,输出是另一种语言下这句话对应的翻译。Transformer内部由encoding和decoding两部分组成:encoding部分由若...

2019-07-29 20:58:25 96

原创 深度模型(三):Capsule

胶囊网络胶囊与传统神经元比较:胶囊传统神经元输入类型向量ui,i∈[1,m]\mathbf{u}_i,i\in[1,m]ui​,i∈[1,m],mmm表示底层胶囊数量标量xi,i∈[1,m]x_i,i\in[1,m]xi​,i∈[1,m],m表示底层神经元数量仿射变换u^j∣i=Wijui\mathbf{\widehat u}_{j\lvert i}=\mat...

2019-07-28 16:14:23 295

原创 深度模型(二):Attention

Seq2Seq讲解Attention之前,必须先了解Seq2Seq模型。sequence to sequence模型广泛应用于机器翻译、机器问答、文章摘要、图片描述等等领域,是深度学习领域最常见的模型之一。它的基本结构如下:模型包含一个编码器encoder和一个解码器decoder。编码器encoder将输入序列source转化成一种中间表示形式C:source=(x1,x2,......

2019-07-27 20:16:27 100

翻译 深度模型(一):LSTM

本文翻译自Understanding LSTM Networks循环神经网络人类并不是每次都是从零开始去思考一个问题的。比如你在阅读这篇文章时,你对当前每个字的理解都是基于前面字的理解的,并不是孤立的去理解每个字的意思。传统的神经网络做不到这点,者看起来是个很大的问题。比如,你想对电影里出现的事件进行分类,传统的神经网络就没办法用前面事件的信息和理解来推断后面事件的类型。循环神经网络克服了...

2019-07-25 16:15:36 216

翻译 论文笔记:Rank and Rate: Multi-task Learning for Recommender Systems

本文是对论文Rank and Rate:Multi-task Learning for recommender Systems阅读笔记。基于评分和基于排序是推荐系统中常见的两种推荐算法。其中基于评分的需要用户的显式反馈数据,也就是评分,基于排序可以基于用户的各种隐式反馈数据。两种方式各有优缺点。论文提出了一种结合两种算法的多任务学习框架。闲话少述,直接上模型结构图:用P表示评分预估算法,L...

2019-07-21 17:55:14 259

原创 AllReduce

背景深度学习领域的关键挑战之一,就是耗时。耗时的原因来自于两个方面,一方面是模型越来越大,参数越来越多,千万甚至数十亿,另一个方面是训练数据量的增多。所以更低的耗时、更快速的实验,对于模型的的开发效率至关重要,使研究者有机会探索更多的超差组合。分布式深度学习算法是降低耗时问题的重要方法。2017年6月,Facebook发布论文,文中说他们用32台服务器256块GPU,将Resnet-50模型在...

2019-06-28 18:21:49 1450

原创 TensorFlow技术内幕(十四):在线学习

本文准备介绍tensorflow对在线学习的支持。所谓在线学习也就是模型一边训练一边服务,与之相对的则是离线学习(或称为批量学习):在工程实现上,一般采用架构如下:通过周期性的模型同步,将训练集群和服务集群相互隔离,这样做是有必要的,因为两个集群的业务场景不一样,对他们的要求也不一样:模型服务集群承载着线上的真实流量,所以所有后端服务的常用指标都适用于服务模型服务集群,高可用性、高效率...

2019-06-05 18:36:41 868

原创 推荐系统技术内幕(五):工程篇

算法与工程的关系算法解释了推荐系统的工作原理,从原理到最终上线的系统,中间还有很大一段距离,这段距离就是由工程来连接的。可以说,所有跟实现相关的工作,都属于工程方面的工作,所以工程上的考虑点非常多,涉及实现相关的方方面面,从实现设计到工作量评估,从项目风险管理到进度把控,大到架构设计、技术选型,小到模块划分、开发语言选择、函数设计,等等。算法与工程的关系,就是设计与实现的关系,设计的确很重要,...

2019-05-05 17:35:36 362

提示
确定要删除当前文章?
取消 删除