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

简介: 阿里巴巴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)的工作原理及其在处理图像数据方面的优势。通过案例研究,展示了深度学习如何提高图像识别的准确性和效率。同时,文章也讨论了当前面临的主要挑战,包括数据不足、过拟合问题以及计算资源的需求,并提出了相应的解决策略。
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与深度学习:探索未来技术的无限可能
在21世纪,人工智能(AI)和深度学习已经成为推动科技进步的重要力量。本文将深入探讨这两种技术的基本概念、发展历程以及它们如何共同塑造未来的科技景观。我们将分析人工智能的最新趋势,包括自然语言处理、计算机视觉和强化学习,并讨论这些技术在现实世界中的应用。此外,我们还将探讨深度学习的工作原理,包括神经网络、卷积神经网络(CNN)和循环神经网络(RNN),并分析这些模型如何帮助解决复杂的问题。通过本文,读者将对人工智能和深度学习有更深入的了解,并能够预见这些技术将如何继续影响我们的世界。
36 7
|
5天前
|
机器学习/深度学习 分布式计算 并行计算
深度学习在图像识别中的应用与挑战
本文深入探讨了深度学习技术在图像识别领域的应用,分析了当前主流的卷积神经网络(CNN)架构,并讨论了在实际应用中遇到的挑战和可能的解决方案。通过对比研究,揭示了不同网络结构对识别准确率的影响,并提出了优化策略。此外,文章还探讨了深度学习模型在处理大规模数据集时的性能瓶颈,以及如何通过硬件加速和算法改进来提升效率。
|
5天前
|
机器学习/深度学习 人工智能 计算机视觉
深度学习在图像识别中的应用与挑战
【10月更文挑战第38天】本文将深入探讨深度学习如何在图像识别领域大放异彩,并揭示其背后的技术细节和面临的挑战。我们将通过实际案例,了解深度学习如何改变图像处理的方式,以及它在实际应用中遇到的困难和限制。
|
5天前
|
机器学习/深度学习 传感器 自动驾驶
深度学习在自动驾驶中的应用与挑战####
本文探讨了深度学习技术在自动驾驶领域的应用现状、面临的主要挑战及未来发展趋势。通过分析卷积神经网络(CNN)和循环神经网络(RNN)等关键算法在环境感知、决策规划中的作用,结合特斯拉Autopilot和Waymo的实际案例,揭示了深度学习如何推动自动驾驶技术向更高层次发展。文章还讨论了数据质量、模型泛化能力、安全性及伦理道德等问题,为行业研究者和开发者提供了宝贵的参考。 ####
|
7天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
5天前
|
机器学习/深度学习 自然语言处理 监控
探索深度学习在自然语言处理中的应用与挑战
本文深入分析了深度学习技术在自然语言处理(NLP)领域的应用,并探讨了当前面临的主要挑战。通过案例研究,展示了如何利用神经网络模型解决文本分类、情感分析、机器翻译等任务。同时,文章也指出了数据稀疏性、模型泛化能力以及计算资源消耗等问题,并对未来的发展趋势进行了展望。
|
6天前
|
机器学习/深度学习 算法 自动驾驶
深度学习中的图像识别技术
【10月更文挑战第37天】本文将深入探讨深度学习在图像识别领域的应用,通过解析神经网络模型的构建、训练和优化过程,揭示深度学习如何赋能计算机视觉。文章还将展示代码示例,帮助读者理解并实现自己的图像识别项目。
|
7天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的图像识别技术及其应用
【10月更文挑战第36天】在当今科技飞速发展的时代,深度学习已成为人工智能领域的一颗璀璨明珠。本文将深入探讨深度学习在图像识别方面的技术原理和应用实例,旨在为读者提供一个全面而深入的了解。我们将从基础理论出发,逐步揭示深度学习如何革新了我们对图像数据的处理和理解方式。
|
7天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习在图像识别中的应用
【10月更文挑战第36天】本文将深入探讨深度学习技术在图像识别领域的应用,并展示如何通过Python和TensorFlow库实现一个简单的图像识别模型。我们将从基础理论出发,逐步引导读者理解深度学习模型的构建过程,并通过代码示例加深理解。无论你是初学者还是有一定基础的开发者,都能从中获得启发。