深度学习技术的应用和思考

简介: 阿里巴巴iDST 算法专家辽玥带来题为“深度学习技术的应用和思考”的演讲。IDST有两个重要的职能,一是赋能电商,二是利用创新技术使一些不可能的事情变成可能。在赋能电商部分,本文主要介绍深度学习技术在搜索、推荐和广告以及销量预测上的一些应用,第二部分主要介绍了最近做的一些深度学习模型压缩和加速的工作

以下是精彩内容整理:
赋能电商
搜索推荐
深度学习的优势在什么地方?
第一是特征的抽取能力,以图像领域为例,我们很早之前做图像分类,我们的做法是拿到一幅图像,然后手工做它的feature,做好特征之后,再用分类器完成整个图像的分类,而Deep learning技术来了之后,输入的仍然是图像,但是只需要做好几个标签,而提取Feature或者抽象的过程是由Deep learning帮你完成的;
第二是特征组合能力,因为Deep learning有更复杂的网络结构,而且有很多的非线性部分,所以它的特征组合能力是比较强的。
针对以上的特点,我们利用Deep learning技术。首先在我们的主搜上做了一些应用,我们在这个场景下,设计了一套训练框架,而针对的是最原始的行为数据,而最原始的行为数据应该就是用户的点击购买以及时序行为,然后自动的学习特征产生的对用户商品和query的精确描述,从而提升GMV。
我们的项目叫representation learning,简称就是RepL。用户搜索的过程,可以抽象成一个用户然后在搜索框里面输入一条query,然后产生一次点击或者购买,而之前排序方法大多是基于手工的Feature,比方说用户的年龄、购买力。
网络架构
我们采用的方案是输入全部是ID,对所有的用户进行编码,即输入的是一个one-hot的向量,也就是说输入的实际上是一个没有实际意义的一个ID数据。在搜索的场景下,可能很容易会有一亿的商品、两亿的用户,我输入的就是这样一个超高维的一个稀疏向量。我们要对向量做一个简单的处理,会把它做一个编码,但是输出仍然是一个非常稀疏的结构。编码后的向量输入一个sparse的全连阶层,这一层过后,会紧接着有两层全连接。把用户、商品和query的全连阶层输出concat在一起,然后又通过了两层全连接。而学习的目标就是用户是否点击和购买了这个商品。
编码
coding解决的是输入的超维问题,我们通过coding把输入的ID做降维,我们有三种的编码方式:
首先是随机编码,比方说是一个2亿维的输入,红色位置是1,其他位置都是0的,然后通过一个random的projection过程,把2亿维编程1000万维。但是降维向量与2亿维向量的区别在于,它是有多个位置可以有值的,这就是随机编码的过程。
其次是挂靠编码,挂靠编码跟搜索关系比较紧密,搜索里面有i2i,用户同时购买了A商品和商品,那么B商品的编码和A商品的编码应该尽可能的让它们公用一部分key,就说它们两个编码的结果是相似的。
第三是分词编码,例如红色连衣裙,首先把它分词,分成红色和连衣裙两部分,再针对这两部分编码。
Sparse full connection layer
输入虽然也是有多个键值,但它还是非常稀疏,比方说它有2千万维,但是其中可能只有10个或者20个是有值的,其他大部分都是0,全部计算矩阵计算量是非常大的,我们只计算有值的部分。通过这个简单的处理,将原来多机多卡才能解决的问题,变成了一个单机单卡,然后参数规模就变成了原来的二十分之一,而且模型的收敛性是更好的。
Multi-task
模型上线后,我们发现一个问题,一个搜索过程是存在海选和精排的两个过程的,什么叫海选呢?比方说我要搜连衣裙,淘宝库里有2亿的连衣裙,不可能把这2亿连衣裙全部展现给用户,所以我首先要做一个海选,比如把2亿的连衣裙变成了一个5千的量级,再对5千的商品做精排。但是我们发现模型上线之后,一些优质商品在海选阶段都被去除了,我们针对这种情况就做了一个多任务的结构,将海选分与我们之前点击和购买的loss,两个loss同时作用于整个网络,相当于用一个网络完成了两个功能,同时输出海选分和精排分。
Online learning
我们与搜索的同学一起,针对双十一大促场景做了针对性优化。双十一当天的情况是瞬息万变的,如果不能实时的调整排序策略,这对用户体验是比较大的伤害,为了解决这个问题,我们首先引用了一些手工的实时feature,另外我们最后一层网络是实时更新的,按秒量级的更新模型,实时feature和实时更新模型共同来保证双十一的效果。
时序模型
我们对于点击序列也做了一些工作,深度学习当中有一个对时序建模比较好的工具叫ST&M,我们把用户的行为想象成是一个点击序列,通过用户之前的点击序列来预测用户下一次的点击。
综上所述,通过deep learning算法,主搜的成交额、转化率、成交笔数在日常和双十一都有非常显著的提升,更值得一提是冷门商品提升更加的明显。
推荐场景
我们与推荐同学一起,在淘宝的详情页看了又看做了尝试。看了又看是手淘所有推荐场景中非常重要的一个大场景,它每天的引导成交额是破亿的,其特点是它有一个主商品,而且只能推荐同店中的其他商品,这就导致它的侯选集实际上是比较小的,所以说优化难度一直以来是比较大的。推荐行为跟搜索差别在什么地方?在Deep learning看来,搜索和推荐的唯一区别可能就是搜索多了一个query,就是搜索词,而推荐是没有的。所以我整个的建模过程就是输入一个用户ID和商品ID,然后我就会预测这个用户要点或者不点这个商品。模型上线之后我们就会发现,无论是客单价还有千次展现的成交金额,都有一个比较好的提升。
我们这套框架可以很好的用在搜索推荐,甚至于用在广告的场景,因此我们就想把RepL做一些产品化的东西。我们首先用全量的电商数据,基本上包含手机淘宝或者PC淘宝所有的点击和购买,用这些数据训练一个模型,产生的是用户和商品的特征。然后把用户和商品的特征输出到各个场景,我们就可以采用常规的机器学习的方法对目标进行优化。这个计算复杂度高的Deep learning只需要训练一次,所以说它极大的节省了训练资源。同时,它能输出用户和商品的特征,降低了技术门槛,并不是每个人都需要去搞复杂的Deep learning,你只做LR或者GPDT就可以利用特征把Deep learning的结果用起来。我们利用这套框架目前对接了主搜索,天猫搜索,店铺内搜索,以及推荐方面又接了详情页,看了又看,天猫国际,当然,目前我们也是在推广阶段,后面可能会有更多的业务和场景接入。

模型压缩与加速
深度学习的网络现在是越来越大,计算复杂度也越来越高,严重影响了在手机等智能设备上的应用。
下面是GoogleNet和一个34层的残差网络,你可能觉得这两个网络好像都比较复杂,实际上在图像领域,基本上是一个中等的网络规模。首先我们要解决模型的大小,第二是模型的计算问题。我们尝试了一个二值网络,会把Deep learning所有的参数限制为1或负1,这样用1BIT就可以存储原来32BIT需要存储的东西,它的存储空间是变成了原来的32分之一。同时,整个网络的计算完全没有了乘法,只有加减,这样计算速度也非常有明显加快。如公式所示,我们把它看成了一个优化问题,F(W)就是原始神经网络的优化目标,可以是你的图像分类,可以是你的CTR,然后后面有一个约束,参数必须是1跟负1。
为了解决这个问题,我们利用了ADMM算法,他是解决分布式优化常用的算法。利用上述解法,完成网络的binary化。无论是图像、视频场景,还是电商的多种场景,总体来讲效果还是不错的。这是我们在图像上做的一些结果,ImageNet是一个标准的图像分类集,可以看到网络基本无损。这是另外一个标准的检测公开集,可以看到我们的算法也基本可以做到无损。速度方面,无论是手机还是各种嵌入式的平台上,做到了20倍左右的加速,PC机上正在做优化。我们一直觉得,模型压缩虽然现在还没有太多的大的落地场景,但这是非常有前景的一个方向,通过我们的努力使得Deep learning网络在嵌入设备上成为了可能。

辽玥:阿里巴巴iDST 算法专家,毕业于中科院,拥有工学博士学位,iDST深度学习组负责人。致力于深度学习技术在商品搜索、推荐、销量预测、图像搜索等电商场景的应用和研究。

本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

目录
相关文章
|
4天前
|
机器学习/深度学习 数据采集 传感器
基于深度学习的图像识别技术在自动驾驶中的应用研究####
本文旨在探讨深度学习技术,特别是卷积神经网络(CNN)在自动驾驶车辆图像识别领域的应用与进展。通过分析当前自动驾驶技术面临的挑战,详细介绍了深度学习模型如何提升环境感知能力,重点阐述了数据预处理、网络架构设计、训练策略及优化方法,并展望了未来发展趋势。 ####
30 6
|
2天前
|
机器学习/深度学习 算法框架/工具 网络架构
深度学习中的正则化技术及其对模型性能的影响
本文深入探讨了深度学习领域中正则化技术的重要性,通过分析L1、L2以及Dropout等常见正则化方法,揭示了它们如何帮助防止过拟合,提升模型的泛化能力。文章还讨论了正则化在不同类型的神经网络中的应用,并指出了选择合适正则化策略的关键因素。通过实例和代码片段,本文旨在为读者提供关于如何在实际问题中有效应用正则化技术的深刻见解。
|
8天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
27 8
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解人工智能中的深度学习技术及其最新进展
深入理解人工智能中的深度学习技术及其最新进展
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
2天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术及其在自动驾驶中的应用####
本文深入探讨了深度学习驱动下的图像识别技术,特别是在自动驾驶领域的革新应用。不同于传统摘要的概述方式,本节将直接以“深度学习”与“图像识别”的技术融合为起点,简述其在提升自动驾驶系统环境感知能力方面的核心作用,随后快速过渡到自动驾驶的具体应用场景,强调这一技术组合如何成为推动自动驾驶从实验室走向市场的关键力量。 ####
16 0
|
6天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的图像识别技术及其应用###
本文探讨了基于深度学习的图像识别技术,重点介绍了卷积神经网络(CNN)在图像识别中的应用与发展。通过对传统图像识别方法与深度学习技术的对比分析,阐述了CNN在特征提取和分类精度方面的优势。同时,文章还讨论了当前面临的挑战及未来发展趋势,旨在为相关领域的研究提供参考。 ###
19 0
|
6天前
|
机器学习/深度学习 传感器 边缘计算
基于深度学习的图像识别技术在自动驾驶汽车中的应用##
本文深入探讨了深度学习技术在自动驾驶汽车图像识别领域的应用,通过分析卷积神经网络(CNN)、循环神经网络(RNN)等关键技术,阐述了如何利用这些先进的算法来提升自动驾驶系统对环境感知的准确性和效率。文章还讨论了当前面临的挑战,如数据多样性、模型泛化能力以及实时处理速度等问题,并展望了未来发展趋势,包括端到端学习框架、跨模态融合及强化学习方法的应用前景。 --- ##
28 0
|
6天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶领域的应用与挑战####
本文旨在探讨深度学习驱动下的图像识别技术于自动驾驶汽车中的应用现状,重点分析其在环境感知、障碍物检测及路径规划等方面的贡献,并深入剖析该技术面临的数据依赖性、算法泛化能力、实时处理需求等核心挑战。通过综述当前主流算法框架与最新研究成果,本文为推动自动驾驶技术的稳健发展提供理论参考与实践指导。 ####
22 0
|
7天前
|
机器学习/深度学习 自然语言处理 语音技术
探索深度学习中的Transformer模型及其在自然语言处理中的应用
探索深度学习中的Transformer模型及其在自然语言处理中的应用
23 0