2017-07-26 14:59:28 dengxing1234 阅读数 3556
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21447 人正在学习 去看看 AI100讲师

当2012年Facebook在广告领域开始应用定制化受众(Facebook Custom Audiences)功能后,“受众发现”这个概念真正得到大规模应用,什么叫“受众发现”?如果你的企业已经积累了一定的客户,无论这些客户是否关注你或者是否跟你在Facebook上有互动,都能通过Facebook的广告系统触达到。“受众发现”实现了什么功能?在没有这个系统之前,广告投放一般情况都是用标签去区分用户,再去给这部分用户发送广告,“受众发现”让你不用选择这些标签,包括用户基本信息、兴趣等。你需要做的只是上传一批你目前已有的用户或者你感兴趣的一批用户,剩下的工作就等着Custom Audiences帮你完成了。

Facebook这种通过一群已有的用户发现并扩展出其他用户的推荐算法就叫Lookalike,当然Facebook的算法细节笔者并不清楚,各个公司实现Lookalike也各有不同。这里也包括腾讯在微信端的广告推荐上的应用、Google在YouTube上推荐感兴趣视频等。下面让我们结合前人的工作,实现自己的Lookalike算法,并尝试着在新浪微博上应用这一算法。

调研

首先要确定微博领域的数据,关于微博的数据可以这样分类:

  • 用户基础数据:年龄、性别、公司、邮箱、地点、公司等。
  • 关系图:根据人↔人,人↔微博的关注、评论、转发信息建立关系图。
  • 内容数据:用户的微博内容,包含文字、图片、视频。

有了这些数据后,怎么做数据的整合分析?来看看现在应用最广的方式——协同过滤、或者叫关联推荐。协同过滤主要是利用某兴趣相投、拥有共同经验群体的喜好来推荐用户可能感兴趣的信息,协同过滤的发展有以下三个阶段

第一阶段,基于用户喜好做推荐,用户A和用户B相似,用户B购买了物品a、b、c,用户A只购买了物品a,那就将物品b、c推荐给用户A。这就是基于用户的协同过滤,其重点是如何找到相似的用户。因为只有准确的找到相似的用户才能给出正确的推荐。而找到相似用户的方法,一般是根据用户的基本属性贴标签分类,再高级点可以用上用户的行为数据。

第二阶段,某些商品光从用户的属性标签找不到联系,而根据商品本身的内容联系倒是能发现很多有趣的推荐目标,它在某些场景中比基于相似用户的推荐原则更加有效。比如在购书或者电影类网站上,当你看一本书或电影时,推荐引擎会根据内容给你推荐相关的书籍或电影。

第三阶段,如果只把内容推荐单独应用在社交网络上,准确率会比较低,因为社交网络的关键特性还是社交关系。如何将社交关系与用户属性一起融入整个推荐系统就是关键。在神经网络和深度学习算法出现后,提取特征任务就变得可以依靠机器完成,人们只要把相应的数据准备好就可以了,其他数据都可以提取成向量形式,而社交关系作为一种图结构,如何表示为深度学习可以接受的向量形式,而且这种结构还需要有效还原原结构中位置信息?这就需要一种可靠的向量化社交关系的表示方法。基于这一思路,在2016年的论文中出现了一个算法node2vec,使社交关系也可以很好地适应神经网络。这意味着深度学习在推荐领域应用的关键技术点已被解决。

在实现算法前我们主要参考了如下三篇论文:

第一篇论文是LinkedIn给出的,主要谈了针对在线社交网络广告平台,如何根据已有的受众特征做受众群扩展。这涉及到如何定位目标受众和原始受众的相似属性。论文给出了两种方法来扩展受众:

  1. 与营销活动无关的受众扩展;
  2. 与营销活动有关的受众扩展。

图片描述

图1 LinkedIn的Lookalike算法流程图

在图1中,LinkedIn给出了如何利用营销活动数据、目标受众基础数据去预测目标用户行为进而发现新的用户。今天的推荐系统或广告系统越来越多地利用了多维度信息。如何将这些信息有效加以利用,这篇论文给出了一条路径,而且在工程上这篇论文也论证得比较扎实,值得参考。

第二篇论文,主要讲的是node2vec,这也是本文用到的主要算法之一。node2vec主要用于处理网络结构中的多分类和链路预测任务,具体来说是对网络中的节点和边的特征向量表示方法。

简单来说就是将原有社交网络中的图结构,表达成特征向量矩阵,每一个node(可以是人、物品、内容等)表示成一个特征向量,用向量与向量之间的矩阵运算来得到相互的关系。

下面来看看node2vec中的关键技术——随机游走算法,它定义了一种新的遍历网络中某个节点的邻域的方法,具体策略如图2所示。

图片描述

图2 随机游走策略

假设我们刚刚从节点t走到节点v,当前处于节点v,现在要选择下一步该怎么走,方案如下:

图片描述

其中dtx表示节点t到节点x之间的最短路径,dtx=0表示会回到节点t本身,dtx=1表示节点t和节点x直接相连,但是在上一步却选择了节点v,dtx=2表示节点t不与x直接相连,但节点v与x直接相连。其中p和q为模型中的参数,形成一个不均匀的概率分布,最终得到随机游走的路径。与传统的图结构搜索方法(如BFS和DFS)相比,这里提出的随机游走算法具有更高的效率,因为本质上相当于对当前节点的邻域节点的采样,同时保留了该节点在网络中的位置信息。

node2vec由斯坦福大学提出,并有开源代码,这里顺手列出,这一部分大家不用自己动手实现了。https://github.com/aditya-grover/node2vec
注:本文的方法需要在源码的基础上改动图结构。

第三篇论文讲的是Google如何做YouTube视频推荐,论文是在我做完结构设计和流程设计后看到的,其中模型架构的思想和我们不谋而合,还解释了为什么要引入DNN(后面提到所有的feature将会合并经历几层全连接层):引入DNN的好处在于大多数类型的连续特征和离散特征可以直接添加到模型当中。此外我们还参考了这篇论文对于隐含层(FC)单元个数选择。图3是这篇论文提到的算法结构。

图片描述

图3 YouTube推荐结构图

实现

  • (a)数据准备

    • 获得用户的属性(User Profile),如性别、年龄、学历、职业、地域、能力标签等;
    • 根据项目内容和活动内容制定一套受众标签(Audience Label);
    • 提取用户之间的关注关系,微博之间的转发关系;
    • 获取微博message中的文本内容;
    • 获得微博message中的图片内容。
  • (b)用户标签特征处理

    • 根据步骤a中用户属性信息和已有的部分受众标签系统。利用GBDT算法(可以直接用xgboost)将没有标签的受众全部打上标签。这个分类问题中请注意处理连续值变量以及归一化。
    • 将标签进行向量化处理,这个问题转化成对中文单词进行向量化,这里用word2vec处理后得到用户标签的向量化信息Label2vec。这一步也可以使用word2vec在中文的大数据样本下进行预训练,再用该模型对标签加以提取,对特征的提取有一定的提高,大约在0.5%左右。
  • (c)文本特征处理
    将步骤a中提取到的所有微博message文本内容清洗整理,训练Doc2Vec模型,得到单
    个文本的向量化表示,对所得的文本作聚类(KMeans,在30w的微博用户的message上测试,K取128对文本的区分度较强),最后提取每个cluster的中心向量,并根据每个用户所占有的cluster获得用户所发微博的文本信息的向量表示Content2vec。

  • (d)图像特征(可选)
    将步骤a中提取到的所有的message图片信息整理分类,使用预训练卷积网络模型(这里为了平衡效率选取VGG16作为卷积网络)提取图像信息,对每个用户message中的图片做向量化处理,形成Image2vec,如果有多张图片将多张图片分别提取特征值再接一层MaxPooling提取重要信息后输出。

  • (e)社交关系建立(node2vec向量化)
    将步骤a中获得到的用户之间的关系和微博之间的转发评论关系转化成图结构,并提取用户关系sub-graph,最后使用node2Vec算法得到每个用户的社交网络图向量化表示。
    图4为简历社交关系后的部分图示。
    图片描述

    图4 用户社交关系
  • (f)将bcde步骤得到的向量做拼接,经过两层FC,得到表示每个用户的多特征向量集(User Vector Set, UVS)。这里取的输出单元个数时可以根据性能和准确度做平衡,目前我们实现的是输出512个单元,最后的特征输出表达了用户的社交关系、用户属性、发出的内容、感兴趣的内容等的混合特征向量,这些特征向量将作为下一步比对相似性的输入值。

  • (g)分别计算种子用户和潜在目标用户的向量集,并比对相似性,我们使用的是余弦相似度计算相似性,将步骤f得到的用户特征向量集作为输入x,y,代入下面公式计算相似性:
    图片描述
    使用余弦相似度要注意:余弦相似度更多的是从方向上区分差异,而对绝对的数值不敏感。因此没法衡量每个维度值的差异,这里我们要在每个维度上减去一个均值或者乘以一个系数,或者在之前做好归一化。

  • (h)受众扩展

    • 获取种子受众名单,以及目标受众的数量N;
    • 检查种子用户是否存在于UVS中,将存在的用户向量化;
    • 计算受众名单中用户和UVS中用户的相似度,提取最相似的前N个用户作为目标受众。

最后我们将以上步骤串联起来,形成如图5所示。

图片描述

图5 Lookalike算法示意图

在以上步骤中特征提取完成后,我们使用一个2层的神经网络做最后的特征提取,算法结构示意图如图6所示。

图片描述

图6 Lookalike算法结构图

其中FC1层也可以替换成MaxPooling,MaxPooling层具有强解释性,也就是在用户特征群上提取最重要的特征点作为下一层的输入,读者可以自行尝试,这里限于篇幅问题就不做展开了。

讲到这里,算法部分就已基本完结,其中还有些工程问题,并不属于本次主题探讨范围,这里也不做讨论了。

结果

我司算法团队根据Lookalike思想完整实现其算法,并在实际产品中投入试用。针对某客户(乳品领域世界排名前三的品牌主)计算出结果(部分):

图片描述

表1 部分计算结果

可以观察到以上微博ID的主题基本都是西点企业或西点培训企业,和品牌主售卖的乳品有很高的关联性:乳品是非常重要的西点原料,除终端用户外,西点相关企业就是乳品企业主需要寻找的最重要的受众之一。

探讨

特征表达

除了以上提到的特征外,我们也对其他的重要特征表达做了处理和变换:根据我们的需求,需要抽取出人的兴趣特征,如何表达一个人的兴趣?除了他自己生成的有关内容外,还有比较关键的一点是比如“我”看了一些微博,但并没有转发,大多数情况下都不会转发,但有些“我”转发了,有些“我”评论了;“我”转发了哪些?评论了哪些?这次距上次的浏览该人的列表时间间隔多久?都代表“我”对微博的兴趣,而间接的反应“我”的兴趣特征。这些数据看来非常重要,又无法直接取得,怎么办?

下面来定义一个场景,试图描述出我们对看过的内容中哪些是感兴趣的,哪些不是感兴趣的:

  • (a)用户A,以及用户A关注的用户B;
  • (b)用户A的每天动作时间(比如他转发、评论、收藏、点赞)起始时间,我们定义为苏醒时间A_wake(t);
  • (c)用户B每天发帖(转发、评论)时间:B_action(t);
  • (d)简单假设一下A_wake(t)> B_action(t),也就是B_action(t)的评论都能看到。这就能得到用户A对应了哪些帖子;
  • (e)同理,也可知用户A 在A_wake(t)时间内转发了、评论了哪些帖子;
  • (f)结合上次浏览间隔时间,可以描述用户A对哪些微博感兴趣(post ive),哪些不感兴趣(negative)。

全连接层的激活单元比对提升

在Google那篇论文中比对隐含层(也就是我们结构图中的FC层)各种单元组合产生的结果,Google选择的是最后一种组合,如图7所示。

图片描述

图7 YouTube推荐模型隐含层单元选择对比

我们初期选用了512 tanh→256 tanh 这种两层组合,后认为输入特征维度过大,512个单元无法完整的表达特征,故又对比了 1024→512组合,发现效果确实有微小提升大概在0.7%。另外我们的FC层输入在(-1,1)区间,考虑到relu函数的特点没有使用它,而是使用elu激活函数。测试效果要比tanh函数提升0.3%-0.5%。

附node2vec伪码:
图片描述


原文:http://geek.csdn.net/news/detail/200138

2017-10-29 11:14:19 m0_37885286 阅读数 5564
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21447 人正在学习 去看看 AI100讲师

最近开始学习比较火的深度学习框架:TensorFlow,主要原因是看猪场招聘需要熟练TensorFlow框架(有点急功近利,嘿嘿),于是开始提前做准备。以下是读《TensorFlow:实战Google深度学习框架》的总结


1、人工智能、机器学习、深度学习三个概念的区分

首先,想了解深度学习框架先要区分人工智能、机器学习、深度学习这三个概念:

1.1 人工智能的概念
人工智能主要是一类非常广泛的问题,它主要解决一些人类通过直觉可以很快解决而计算机目前却很难解决的问题,这些问题包括自然语言理解、图像识别、语音识别等等。

1.2 机器学习的概念
卡内基梅隆大学的Tom Michael Mitchell教授在1997年出版的书籍Machine Learning 中对机器学习进行过非常专业的定义,这个定义在学术界内被多次引用。具体定义为:“如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习
举例说明,比如在垃圾邮件分类问题中,“一个程序”指的是需要用到的机器学习算法,比如逻辑回归算法:“任务T”是指区分垃圾邮件的任务;“经验E”为已经区分过是否为垃圾邮件的历史邮件,在监督式机器学习问题中,这也被称之为训练数据;“效果P”为区分垃圾邮件任务的正确率

1.3 深度学习的概念
深度学习是机器学习的一个分支。深度学习解决的核心问题之一就是自动地将简单的特征组合成更加复杂的特征,并使用这些组合特征解决问题。深度学习除了可以从简单特征中提取更加复杂的特征,还可以学习特征和任务之间的关联。下图展示了深度学习和传统机器学习在流程上的差异。
这里写图片描述

形象的来说的话,就是人工智能的范围>机器学习>深度学习

2、深度学习的应用

深度学习最早兴起于图像识别,但是在短短几年时间内,深度学习推广到了机器学习的各个领域。

2.1 计算机视觉
计算机视觉是深度学习技术最早实现突破性成就的领域。最早是应用在图像分类比赛ILSVRC(ImageNet Large Scale Visual Recognition Challenge),深度学习AlexNet赢得ILSVRC的冠军。
之后应用于物体识别,人脸识别,光学字符识别等。

2.2 语音识别
深度学习之所以能在语音识别领域中完成这样的技术突破,最主要的原因是它可以自动地从海量数据中提取更加复杂且有效

的特征,而不是如高斯混合模型中需要人工提取特征。
基于深度学习的语音识别已被应用到了各个领域,如:苹果公司推出的Siri系统。

2.3 自然语言处理
深度学习已经在语言模型、机器翻译、词性标注、实体识别、情感分析、广告推荐以及搜索排序等方向上取得了突出成就。

2.4 人机博弈
比如:AlphaGo以总分比4:1战胜了韩国棋手李世石。然后,AlphaGo的开发团队DeepMind又打算和暴雪公司合作推出星际争霸2的人工智能系统。

3、深度学习工具TensorFlow的主要功能和特点

TensorFlow是谷歌于2015年11月9日正式开源的计算框架。TensorFlow计算框架可以很好地支持深度学习的各种算法。

关于TensorFlow平台本身的技术细节可以参考谷歌的论文TensorFlow:Large-Scale Machine Learning on Heterogeneous Distributed Systems.

2018-08-07 09:46:13 u011235518 阅读数 5547
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21447 人正在学习 去看看 AI100讲师

深度学习在个性化推荐中的应用

结论

得益于深度学习强大的表示能力,目前深度学习在推荐系统中需要对用户与物品进行表示学习的任务中有着不错的表现,但优势不如图像与文本那么显著[1]。

深度学习与分布式表示简介

深度学习的概念源于人工神经网络的研究。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的有效表示,而这种使用相对较短、稠密的向量表示叫做分布式特征表示(也可以称为嵌入式表示)。本部分主要对于目前使用较广的一些学习算法进行一个简单的回顾。

首先介绍一些浅层的分布式表示模型。目前在文本领域,浅层分布式表示模型得到了广泛的使用,例如word2vec、GloVec、fasttext等 [2]。与传统词袋模型对比,词嵌入模型可以将词或者其他信息单元(例如短语、句子和文档等)映射到一个低维的隐含空间。在这个隐含空间中,每个信息单元的表示都是稠密的特征向量。词嵌入表示模型的基本思想实际还是上来自于传统的“Distributional semantics”[3],概括起来讲就是当前词的语义与其相邻的背景词紧密相关。因此,词嵌入的建模方法就是利用嵌入式表示来构建当前词和背景词之间的语义关联。相比多层神经网络,词嵌入模型的训练过程非常高效,而且实践效果很好、可解释性也不错,因此得到了广泛的应用

对应于神经网络模型,最为常见的模型包括多层感知器、卷积神经网络、循环神经网络、递归神经网络等 [4]。多层感知器主要利用多层神经元结构来构建复杂的非线性特征变换,输入可以为提取得到的多种特征,输出可以为目标任务的标签或者数值,本质上可以构建一种复杂的非线性变换;卷积神经网络可以直接部署在多层感知器上,感知器的输入特征很有可能是不定长或者有序的,通过多个卷积层和子采样层,最终得到一个固定长度的向量。循环神经网络是用来对于时序序列建模的常用模型,刻画隐含状态的关联性,可以捕捉到整个序列的数据特征。针对简单的循环神经网络存在长期依赖问题(“消失的导数”),不能有效利用长间隔的历史信息,两个改进的模型是长短时记忆神经网络(LSTM) 和基于门机制的循环单元(GRU)。递归神经网络根据一个外部给定的拓扑结构,不断递归得到一个序列的表示,循环神经网络可以被认为是一种简化的递归神经网络。

应用

1.相似匹配

  • 1.1.嵌入式表示模型
    通过行为信息构建用户和物品(或者其他背景信息)的嵌入式表示,使得用户与物品的嵌入式表示分布在同一个隐含向量空间,进而可以计算两个实体之间的相似性。

    很多推荐任务,本质可以转换为相关度排序问题,因此嵌入式表示模型是一种适合的候选方法。一般来说,浅层的嵌入式表示模型的训练非常高效,因此在大规模数据集合上有效性和复杂度都能达到不错的效果。

    在[5]中,嵌入式表示被应用到了产品推荐中,给定一个当前待推荐的产品,其对应的生成背景(context)为用户和上一个交易的产品集合,利用这些背景信息对应的嵌入式表示向量可以形成一个背景向量,刻画了用户偏好和局部购买信息的依赖关系。然后基于该背景向量,生成当前待推荐的产品。经推导,这种模型与传统的矩阵分解模型具有很强的理论联系。在[6]中,Zhao等人使用doc2vec模型来同时学习用户和物品的序列特征表示,然后将其用在基于特征的推荐框架中,引入的嵌入式特征可以在一定程度上改进推荐效果。在[7]中,嵌入式表示模型被用来进行地点推荐,其基本框架就是刻画一个地理位置的条件生成概率,考虑了包括用户、轨迹、临近的地点、类别、时间、区域等因素。

  • 1.2.语义匹配模型

    [8]深度结构化语义模型(Deep Structured Semantic Models,简称为DSSM)是基于多层神经网络模型搭建的广义语义匹配模型 。其本质上可以实现两种信息实体的语义匹配。基本思想是设置两个映射通路,两个映射通路负责将两种信息实体映射到同一个隐含空间,在这个隐含空间,两种信息实体可以同时进行表示,进一步利用匹配函数进行相似度的刻画。
    DSSM
    如图展示了一个DSSM的通用示意图,其中Q表示一个Query,D表示一个Document,对应到推荐系统里面的用户和物品。通过级联的深度神经网络模型的映射与变换,最终Query和Document在同一个隐含空间得到了表示,可以使用余弦相似度进行计算。DSSM最初主要用在信息检索领域,用来刻画文档和查询之间的相似度。

    [9]随后被用在推荐系统中:一端对应着用户信息,另外一端对应着物品信息 。以DSSM为主的这些工作的基本出发点实际上和浅层嵌入式表示模型非常相似,能够探索用户和物品两种不同的实体在同一个隐含空间内的相似性。其中一个较为关键的地方,就是如何能够融入任务特定的信息(例如物品内容信息)以及模型配置(例如可以使用简单多层神经网络模型或者卷积神经网络模型),从而获得理想的结果。

2.评分预测

  • 2.1.基于用户的原始评分(或者反馈)来挖掘深度的数据模式特征(神经网络矩阵分解)

    [10]限制玻尔兹曼机进行评分预测。
    限制玻尔兹曼机
    如图所示,其所使用的模型具有一个两层的类二部图结构,其中用户层为隐含层 (h),可见层为用户的评分信息 (V),通过非线性关联两层上的数据信息。其中隐含层为二元变量,而用户评分信息被刻画为多项式分布变量。建立用户隐含表示信息以及其评分信息的联合能量函数,然后进行相应的参数求解。该方法的一个主要问题是连接隐含层和评分层的权重参数规模过大(对于大数据集合),也就是权重矩阵W。

    [11]优化计算的改进,作者进一步提出使用将W分解为两个低秩矩阵,减小参数规模。不过实验效果表明所提出的方法并没有比基于矩阵分解的方法具有显著的改进,而且参数求解使用较为费时的近似算法。

    [12]优化改进,Zheng 等人提出使用Neural Autoregressive Distribution Estimator来改进上述问题,该方法不需要显式对于二元隐含变量进行推理,减少了模型复杂度,并且使用排序代价函数来进行参数最优化。实验表明所提出的方法能够取得非常好的效果。

    [13]Wu等人使用去噪自动编码模型(Denoising Autoencoder)进行top-N物品推荐,其输入为加入噪声的对于物品的偏好(采纳为1,否则为0),输出为用户对于物品的原始评分,通过学习非线性映射关系来进行物品预测。
    去噪自动编码模型
    如图所示,用户可见的评分数据通过加上噪音后进入输入层,然后通过非线性映射形成隐含层,再由隐含层经映射后重构评分数据。注意,该模型中加入了用户偏好表示(User Node)和偏置表示(Bias Node)。

    [14]Devooght提出将协同过滤方法可以看作时间序列的预测问题。
    CFRNN

    作者提出,传统基于协同过滤的推荐方法,无论基于何种特征,都没有考虑用户历史行为的时间属性,只是将历史行为中的每个item统一考虑。这样处理带来的最大问题在于推荐系统无法分析用户喜好的变化情况,从而给出更符合用户现阶段喜好的推荐结果。那么,如果基于协同过滤“由过去,看未来”的思想,如果将该问题视作序列预测问题,一方面可以更好的分析用户的兴趣爱好的变化情况给出更好的推荐结果,另一方面也可以将在时序预测问题中广泛使用的RNN深度网络模型引入到推荐系统中。

    [15]NCF 作者提出一种通用的神经网络协同过滤框架,通过用神经网络结构多层感知机去学习用户-项目之间交互函数替代传统的矩阵分解中的内积运算,从而从数据中学习任意函数(非线性)。
    CFDNN

    并提出了两种NCF实例:基于线性核的GMF(广义矩阵分解),基于非线性核的MLP。并且将GMF与MLP融合,使他们相互强化。(tf model zoo)
    CFDNN2

  • 2.2. 深度神经网络模型当做特征变换模块(内容embedding->矩阵分解)

    [16]Wang等人关注推荐系统中的一个重要问题:带有文本信息的评分预测(如博客文章等)。传统解决方法通常联合使用主题模型与矩阵分解(Collaborative Topic Modeling)。[16]中的主要想法就是替换掉主题模型,使用Stacked Denoising Autoencoders进行文本特征与评分预测中的数据特征相融合。

    在[17]中,Oord等人主要解决音乐推荐系统中的冷启动问题。通常来说,冷启动问题包括两个方面,新用户和新物品,这里主要考虑新物品。传统矩阵分解的推荐算法通过将评分分解为两个低秩向量来进行预测,也就是r^i,j=uivj,其中r^i,j 为用户i对于物品j 的预测评分,uivj 是两个K维的向量,分别代表用户和物品的隐含表示。基本想法是从音乐的音频数据中提取到相关的特征xj ,然后将这些音乐自身的数据特征映射为通过矩阵分解学习得到的隐含向量,也就是学习一个函数f,使之达到f(xj)vj。通过学习这样的变换函数,当新音乐来到时,可以通过提取其自身的音频特征来得到其隐含向量,而不必要求使用用户数据来训练vj 。得到vj 的预测值之后,从而可以使用传统矩阵分解的方法来计算待推荐用户与新物品直接的相似性。

    与[17]非常相似,Wang等人在[18]中使用深度信念网络(Deep Belief Network)进行音频数据特征变换,不同的是同时保留两种表示,第一种表示从方法中得到的数据表示,而第二部分则对应基于内容方法得到的数据表示,最后两部分表示分别做点积,用来拟合最后的评分结果。

    这三种方法都是将传统协同过滤的矩阵分解方法与神经网络模型相结合的途径。

3.排序

Deep CTR [https:/mp.weixin.qq.com/s/xWqpIHHISSkO97O_fKkb6A]

DeepCTR

3.1. 总结(结论先行)

1.FM其实是对嵌入特征进行两两内积实现特征二阶组合;FNN 在 FM 基础上引入了 MLP;
2.DeepFM通过联合训练、嵌入特征共享来兼顾 FM 部分与 MLP 部分不同的特征组合机制;
3.NFM、PNN 则是通过改造向量积的方式来延迟FM的实现过程,在其中添加非线性成分来提升模型表现力;
4.AFM 更进一步,直接通过子网络来对嵌入向量的两两逐元素乘积进行加权求和,以实现不同组合的差异化,也是一种延迟 FM 实现的方式;
5.DCN 则是将 FM 进行高阶特征组合的方向上进行推广,并结合 MLP 的全连接式的高阶特征组合机制;
6.Wide&Deep 是兼容手工特征组合与 MLP 的特征组合方式,是许多模型的基础框架;
7.Deep Cross 是引入残差网络机制的前馈神经网络,给高维的 MLP 特征组合增加了低维的特征组合形式,启发了 DCN;
8.DIN 则是对用户侧的某历史特征和广告侧的同领域特征进行组合,组合成的权重反过来重新影响用户侧的该领域各历史特征的求和过程;
9.多任务视角则是更加宏观的思路,结合不同任务(而不仅是同任务的不同模型)对特征的组合过程,以提高模型的泛化能力。

3.2. DNN

深度排序模型( embedding-神经网络),embedding+MLP 是对于分领域离散特征进行深度学习 CTR 预估的通用框架。深度学习在特征组合挖掘(特征学习)方面具有很大的优势。比如以 CNN 为代表的深度网络主要用于图像、语音等稠密特征上的学习,以 W2V、RNN 为代表的深度网络主要用于文本的同质化、序列化高维稀疏特征的学习。CTR 预估的主要场景是对离散且有具体领域的特征进行学习,所以其深度网络结构也不同于 CNN 与 RNN。

embedding_mlp

embedding+MLP 的过程如下:

  1. 对不同领域的 one-hot 特征进行嵌入(embedding),使其降维成低维度稠密特征。
  2. 然后将这些特征向量拼接(concatenate)成一个隐含层。
  3. 之后再不断堆叠全连接层,也就是多层感知机(Multilayer Perceptron, MLP,有时也叫作前馈神经网络)。
  4. 最终输出预测的点击率。

3.3. Wide & Deep Network(连续特征->交叉特征+LR、离散特征->onehot->DNN)

WideAndDeepNetwork

Google 在 2016 年提出的宽度与深度模型(Wide&Deep)在深度学习 CTR 预估模型中占有非常重要的位置,它奠定了之后基于深度学习的广告点击率预估模型的框架。 Wide&Deep将深度模型与线性模型进行联合训练,二者的结果求和输出为最终点击率。其计算图如下:

3.4. DeepFM

在Wide & Deep Network基础上进行的改进,DeepFM的Wide部分是 FM

3.5. Deep & Cross Network(特征->cross netword+LR、DNN)

Ruoxi Wang 等在 2017 提出的深度与交叉神经网络(Deep & Cross Network,DCN)借鉴了FM的特征点击交叉。DCN 的计算图如下:

DeepAndCrossNetwork

DCN 的特点如下:
1. Deep 部分就是普通的 MLP 网络,主要是全连接。
2. 与 DeepFM 类似,DCN 是由 embedding + MLP 部分与 cross 部分进行联合训练的。Cross 部分是对 FM 部分的推广。
3. Cross 部分的公式如下:
4. 可以证明,cross 网络是 FM 的过程在高阶特征组合的推广。完全的证明需要一些公式推导,感兴趣的同学可以直接参考原论文的附录。
5. 而用简单的公式证明可以得到一个很重要的结论:只有两层且第一层与最后一层权重参数相等时的 Cross 网络与简化版 FM 等价。
6. 此处对应简化版的 FM 视角是将拼接好的稠密向量作为输入向量,且不做领域方面的区分(但产生这些稠密向量的过程是考虑领域信息的,相对全特征维度的全连接层减少了大量参数,可以视作稀疏链接思想的体现)。而且之后进行 embedding 权重矩阵 W 只有一列——是退化成列向量的情形。
7. 与 MLP 网络相比,Cross 部分在增加高阶特征组合的同时减少了参数的个数,并省去了非线性激活函数

3.6. DIN [Deep Interest Network]对同领域历史信息引入注意力机制的MLP

以上神经网络对同领域离散特征的处理基本是将其嵌入后直接求和,这在一般情况下没太大问题。但其实可以做得更加精细。
由 Bahdanau et al. (2015) 引入的现代注意力机制,本质上是加权平均(权重是模型根据数据学习出来的),其在机器翻译上应用得非常成功。受注意力机制的启发,Guorui Zhou 等在 2017 年提出了深度兴趣网络(Deep Interest Network,DIN)。DIN 主要关注用户在同一领域的历史行为特征,如浏览了多个商家、多个商品等。DIN 可以对这些特征分配不同的权重进行求和。其网络结构图如下:

DeepInterestNetwork

  1. 此处采用原论文的结构图,表示起来更清晰。
  2. DIN 考虑对同一领域的历史特征进行加权求和,以加强其感兴趣的特征的影响。
  3. 用户的每个领域的历史特征权重则由该历史特征及其对应备选广告特征通过一个子网络得到。即用户历史浏览的商户特征与当前浏览商户特征对应,历史浏览的商品特征与当前浏览商品特征对应。
  4. 权重子网络主要包括特征之间的元素级别的乘法、加法和全连接等操作。
  5. AFM 也引入了注意力机制。但是 AFM 是将注意力机制与 FM 同领域特征求和之后进行结合,DIN 直接是将注意力机制与同领域特征求和之前进行结合。

3.7. FM -> FNN -> NFM -> PNN -> AFM

LR:
LR

FM:
FM2

FNN:FM隐向量 + 拼接 + MLP
FNN

NFM:FM隐向量 + 特征交叉(逐元素向量乘法)+ 求和 + MLP
NFM

PNN:与NFM类似,特征交叉法采用了向量积的方法 + 拼接 + mlp
PNN

AFM:基于NFM的改进,通过在逐元素乘法之后形成的向量进行加权求和(Attention Net),去除了MLP部分直接接一个softmax
avatar

3.8. 多任务学习:同时学习多个任务
avatar

- 完全共享网络层的参数
- 只共享embedding层参数

4.序列预测

循环神经网络(刻画隐含状态的关联性,可以捕捉到整个序列的数据特征)

[19]Hidasi等人使用循环神经网络进行基于session的推荐,该工作是对于RNN的一个直接应用。

[20]Brébisson等人使用神经网络模型进行解决2015年的ECML/PKDD 数据挑战题目“出租车下一地点预测”,取得了该比赛第一名。在[20]中,作者对于多种多层感知器模型以及循环神经网络模型进行对比,最后发现基于改进后的多层感知器模型取得了最好的效果,比结构化的循环神经网络的效果还要好。

在[21]中,Yang等人同时结合RNN及其变种GRU模型来分别刻画用户运动轨迹的长短期行为模式,通过实验验证,在“next location”推荐任务中取得了不错的效果。如图5所示,给定一个用户生成的轨迹序列,在预测下一个地点时,直接临近的短期访问背景和较远的长期访问背景都同时被刻画。

此外还有一些基于RNN的优化模型[https:/zhuanlan.zhihu.com/p/30720579]

  • GRU4REC[22],使用GRU单元
  • GRU4REC+item features[23],加入内容特征
  • GRU4REC+sampling+Dwell Time[24], 将用户在session中item上的停留时间长短考虑进去
  • Hierachical RNN[25],一种层次化的RNN模型,相比之前的工作,可以刻画session中用户个人的兴趣变化,做用户个性化的session推荐。
  • GRU4REC+KNN[26], 将session 中的RNN模型,与KNN方法结合起来,能够提高推荐的效果。
  • Improvenment GRU4REC[27],基于GRU4REC的训练优化
  • GRU + attention[28],加入attention机制

原因:

  • 原始的用户物品二维矩阵框架(基于协同,矩阵分解)不能完全刻画复杂的推荐任务。
  • 数据采集维度不够,特征太稀疏,影响用户的上下文环境过于复杂

展望

  • 结构化神经网络RNN
  • 深度强化学习

参考

[1].深度学习在推荐算法上的应用进展 (2017)

[2] Tomas Mikolov. Using Neural Networks for Modeling and Representing Natural Languages. COLING (Tutorials) 2014: 3-4

[3] Daoud Clarke. A Context-Theoretic Framework for Compositionality in Distributional Semantics. Computational Linguistics 38(1): 41-71 (2012)

[4] Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep Learning. Book. The MIT press.2016.

[5] Pengfei Wang, Jiafeng Guo, Yanyan Lan, Jun Xu, Shengxian Wan, Xueqi Cheng. Learning Hierarchical Representation Model for NextBasket Recommendation. SIGIR 2015: 403-412

[6] Wayne Xin Zhao, Sui Li, Yulan He, Edward Y. Chang, Ji-Rong Wen, Xiaoming Li. Connecting Social Media to E-Commerce: Cold-Start Product Recommendation Using Microblogging Information. IEEE Trans. Knowl. Data Eng. 28(5): 1147-1159 (2016)

[7] Ningnan Zhou Wayne Xin Zhao, Xiao Zhang, Ji-Rong Wen, Shan Wang.A General Multi-Context Embedding Model For Mining Human Trajectory Data. IEEE Trans. Knowl. Data Eng. :Online first, 2016.

[8] Po-Sen Huang, Xiaodong He, Jianfeng Gao, Li Deng, Alex Acero, Larry P. Heck. Learning deep structured semantic models for web search using clickthrough data. CIKM 2013: 2333-2338

[9] Ali Mamdouh Elkahky, Yang Song, Xiaodong He. A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems. WWW 2015: 278-288

[10] Ruslan Salakhutdinov, Andriy Mnih, Geoffrey E. Hinton. Restricted Boltzmann machines for collaborative filtering. ICML 2007: 791-798

[11] Ruslan Salakhutdinov, Andriy Mnih. Probabilistic Matrix Factorization. NIPS 2007: 1257-1264

[12] Yin Zheng, Bangsheng Tang, Wenkui Ding, Hanning Zhou. A Neural Autoregressive Approach to Collaborative Filtering. CoRR abs/1605.09477 (2016)

[13] Yao Wu, Christopher DuBois, Alice X. Zheng, Martin Ester. Collaborative Denoising Auto-Encoders for Top-N Recommender Systems. WSDM 2016: 153-162

[14]Devooght R, Bersini H. Collaborative filtering with recurrent neural networks[J]. arXiv preprint arXiv:1608.07400, 2016.

[15]He X, Liao L, Zhang H, et al. Neural collaborative filtering[C]/Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2017: 173-182.

[16] Hao Wang, Naiyan Wang, Dit-Yan Yeung. Collaborative Deep Learning for Recommender Systems. KDD 2015: 1235-1244

[17] Aäron Van Den Oord, Sander Dieleman, Benjamin Schrauwen. Deep content-based music recommendation. NIPS 2013: 2643-2651

[18] Xinxi Wang, Ye Wang. Improving Content-based and Hybrid Music Recommendation using Deep Learning. ACM Multimedia 2014: 627-636

[19] Balázs Hidasi, Alexandros Karatzoglou, Linas Baltrunas, Domonkos Tikk. Session-based Recommendations with Recurrent Neural Networks. CoRR abs/1511.06939 (2015)

[20] Alexandre de Brébisson, Étienne Simon, Alex Auvolat, Pascal Vincent, Yoshua Bengio. Artificial Neural Networks Applied to Taxi Destination Prediction. DC@PKDD/ECML 2015

[21] Cheng Yang, Maosong Sun, Wayne Xin Zhao, Zhiyuan Liu. A Neural Network Approach to Joint Modeling Social Networks and Mobile Trajectories. arXiv:1606.08154 (2016)

[22] Session-based recommendations with recurrent neural networks. (ICLR 2016)

[23] Parallel Recurrent Neural Network Architectures for Feature-rich Session-based
Recommendations. (RecSys 2016)

[24] Incorporating Dwell Time in Session-Based Recommendatons with Recurrent Neural Networks. (RecSys 2017)

[25] Personalizing Session-based Recommendations with Hierarchical Recurrent Neural Networks. (RecSys 2017)

[26] When Recurrent Neural Networks meet the Neighborhood for Session-Based
Recommendation. (RecSys 2017)

[27] Improved Recurrent Neural Networks for Session-based Recommendations. (DLRS 2016)

[28] Li J, Ren P, Chen Z, et al. Neural attentive session-based recommendation[C]/Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. ACM, 2017: 1419-1428.

2018-01-03 21:00:50 Tong_T 阅读数 53588
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21447 人正在学习 去看看 AI100讲师

机器学习算法已经基本学习完了,在这一系列,佛爷将开始着手学习深度学习的各种算法和应用,由于本身难度偏大,我会不定期的更新,基本清楚和更加深入的研究深度学习。代码方面我基本会使用Tensorflow框架去写,原生代码我尽力去完成,查看资料,看看自己能不能搞定。完成的例子和项目,尽量我会设计一个别人都没有实现和想到的项目。因为但凡学习深度学习的同学,一上来肯定会遇到手写数字识别,这是基础。遇到MNIST数据集。
今天这一篇文章就介绍深度学习到底是什么?

什么是深度学习?(Deep Learning)

  • 深度学习是基于机器学习延伸出来的一个新的领域,由以人大脑结构为启发的神经网络算法为起源加之模型结构深度的增加发展,并伴随大数据和计算能力的提高而产生的一系列新的算法。
    这里写图片描述

深度学习什么时间段发展起来的?

  • 其概念由著名科学家Geoffrey Hinton等人在2006年和2007年在《Sciences》等上发表的文章被提出和兴起。
    这里写图片描述这里写图片描述

深度学习能用来干什么?为什么近年来引起如此广泛的关注?

  • 深度学习,作为机器学习中延伸出来的一个领域,被应用在图像处理与计算机视觉,自然语言处理以及语音识别等领域。自2006年至今,学术界和工业界合作在深度学习方面的研究与应用在以上领域取得了突破性的进展。以ImageNet为数据库的经典图像中的物体识别竞赛为例,击败了所有传统算法,取得了前所未有的精确度。
    这里写图片描述这里写图片描述

深度学习目前有哪些代表性的学术机构和公司走在前沿?人才需要如何?

  • 学校以多伦多大学,纽约大学,斯坦福大学为代表,工业界以Google, Facebook, 和百度为代表走在深度学习研究与应用的前沿。Google挖走了Hinton,Facebook挖走了LeCun,百度硅谷的实验室挖走了Andrew Ng,Google去年4月份以超过5亿美金收购了专门研究深度学习的初创公司DeepMind, 深度学习方因技术的发展与人才的稀有造成的人才抢夺战达到了前所未有激烈的程度。诸多的大大小小(如阿里巴巴,雅虎)等公司也都在跟进,开始涉足深度学习领域,深度学习人才需求量会持续快速增长。
    这里写图片描述

深度学习如今和未来将对我们生活造成怎样的影响?

  • 目前我们使用的Android手机中google的语音识别,百度识图,google的图片搜索,都已经使用到了深度学习技术。Facebook在去年名为DeepFace的项目中对人脸识别的准备率第一次接近人类肉眼(97.25% vs 97.5%)。大数据时代,结合深度学习的发展在未来对我们生活的影响无法估量。保守而言,很多目前人类从事的活动都将因为深度学习和相关技术的发展被机器取代,如自动汽车驾驶,无人飞机,以及更加职能的机器人等。深度学习的发展让我们第一次看到并接近人工智能的终极目标。
    这里写图片描述这里写图片描述这里写图片描述

深度学习范畴
这里写图片描述

深度学习基本模型
这里写图片描述

深度学习与传统机器学习
这里写图片描述

深度学习系列参考资料来源:

  1. 深度学习进阶:算法与应用(https://www.youtube.com/playlist?list=PLO5e_-yXpYLDyeADG7xbFaJxvYyeAjHah
  2. 莫烦 Python(https://morvanzhou.github.io/):一个志同道合的机器学习爱好者。
  3. 《TensorFlow实战Google深度学习框架》才云科技 郑泽宇 顾思宇 著
    (顺带手附上彩云科技的在bitTiger平台上的招聘视频【https://www.youtube.com/watch?v=ow4NQR4fdDA】)
2017-05-31 19:48:26 zhonghua18517 阅读数 4168
  • 深度学习基础与TensorFlow实践教程

    本课程主要介绍了深度学习的基础原理和TensorFlow系统基本使用方法。TensorFlow是目前机器学习、深度学习领域优秀的计算系统之一,本课程将结合实例介绍使用TensorFlow开发机器学习应用的详细方法和步骤,着重讲解了用于图像识别的卷积神经网络和用于自然语言处理的循环神经网络的理论知识及其TensorFlow实现方法,并结合实际场景和例子描述了深度学习技术的应用范围与效果。 所有案例均来自讲师团队工作中的亲身实践,所选案例均是深度学习的经典应用,非常具有代表性。

    21447 人正在学习 去看看 AI100讲师

参考书籍《Tensorflow实战Google深度学习框架》郑泽宇等

     深度学习最早兴起于图像识别,但是在短短的几年之内,深度学习推广到了机器学习的各个领域,并且都有很出色的表现。具体领域包含图像识别、语音识别、自然语言处理、机器人、生物信息处理、化学、电脑游戏、搜索引擎、网络广告投放、医学自动诊断和金融等各大领域均有应用。

计算机视觉

计算机视觉是深度学习技术最早实现突破性成就的领域。随着2012年深度学习算法AlexNet赢得图像分类比赛ILSVRC冠军,深度学习开始被人们熟知。ILSVRC是基于ImageNet图像数据集举办的图像识别比赛,在计算机视觉领域拥有极高的影响力。从12年15年之间,通过对深度学习算法的不断探究,ImageNet图像分类的错误率以每年4%速度递减;到15年,深度学习算法的错误率仅为4%,已经成功超过人工标注的错误率5%,实现了计算机领域的一个突破。

在ImageNet数据集上,深度学习不仅突破了图像分类的技术瓶颈,同时也突破了物体识别技术的瓶颈。物体识别比图像分类的难度更高。图像分类只需判断图片中包含了哪一种物体;但在物体识别中,不仅要给出包含了哪些物体,还要给出包含物体的具体位置。13年,在ImageNet数据集上使用传统机器算法实现物体识别的平均正确率均值(mean average precision,MAP)为0.23;而在16年时,使用了6种不同深度学习模型的集成算法将MAP提高到0.66。

技术进步的同时,工业界也将图像分类、物体识别应用于各种产品中,如无人驾驶、Youtube、地图、图像搜索等。谷歌可通过图像处理技术归纳出图片中的主要内容并实现以图搜图的功能。这些技术在国内的百度、阿里、腾讯等公司已经得到了广泛的应用。

在物体识别问题上,人脸识别是一类应用非常广泛的技术。它可以应用到娱乐行业、安防以及风控行业。在娱乐行业中,基于人脸识别的相机自动对焦、自动美颜基本已成为每款自拍软件的必备功能。在安防、风控领域,人脸识别应用更是大大提高了工作效率并节省了人力成本。除此,还可用于保证账户的登陆和资金安全,如支付宝的人脸识别登陆等等。

传统机器学习算法很难抽象出足够有效的特征,使得学习模型既可区分不同的个体,又可以尽量减少相同个体在不同环境的影响。深度学习技术可从海量数据中自动学习更加有效的人脸识别特征表达。在人脸识别数据集LFW上,基于深度学习算法的系统DeepID2可以达到99.47%的正确识别率。

在计算机识别领域,光学字符识别也是使用深度学习较早的领域之一。光学字符识别,就是使用计算机程序将计算机无法理解的图片中的字符(如数字、字母、汉字等符号),转化为计算机可以理解的文本形式。如常用的MINIST手写体字库,最新的深度学习算法可以达到99.77%的正确率。谷歌将数字识别技术应用到了谷歌地图的开发中,开发的数字识别系统可以识别任意长度的数字,在SVHN数据集上可达到96%的正确率,到2013年,谷歌利用这个系统抽取了超过1亿个门牌号码,大大加速了谷歌地图的制作过程。此外,光学字符识别在谷歌图书中也有应用,谷歌图书通过文字识别技术将扫描的图书数字化,从而实现图书内容的搜索功能。

语音识别

深度学习在语音识别领域同样取得突破性进展。2009年深度学习的概念被引入语音识别领域,并对该领域产生了重大影响。短短几年之间,深度学习的方法在TIMIT数据集上将给予传统混合高斯模型(GMM)的错误率从21.7%降低到了使用深度学习模型的17.9%。到2012年,谷歌基于深度学习建立的语音识别模型已经取代了混合高斯模型,并成功将谷歌语音识别的错误率降低了20%。随着当今数据量的加大,使用深度学习的模型无论在正确率的增长数值上还是在增长比率上都要优于混合高斯模型。这样的增长在语音识别的历史上从未出现,深度学习之所以有这样的突破性进展,最主要的原因是其可以自动的从海量数据中提取更加复杂且有效的特征,而不是如混合高斯模型中需要人工提取特征

基于深度学习的语音识别已经应用到了各个领域,如同声传译系统、苹果公司推出的Srri系统,科大讯飞的智能语音输入法、百度和腾讯也开发了相关产品。同声传译系统不仅要求计算机能够对输入的语音进行识别,还要求计算机将识别出来的结果翻译成另外一门语言,并将翻译好的结果通过语音合成的方式输出。微软研发的同声传译系统已经成功应用到Skype网络电话中。

自然语言处理

在过去几年之中,深度学习已经在语言模型、机器翻译、词性标注、实体识别、情感分析、广告推荐以及搜索排序等方向取得突出性成就。深度学习在自然语言处理问题上能够更加智能、自动地提取复杂特征。在自然语言处理领域,使用深度学习实现智能特征提取的一个非常重要的技术是单词向量。单词向量是深度学习解决很多上述自然语言处理问题的基础

传统解决自然语言所表达的语义的方法主要依靠建立大量的语料库,通过这些语料库,可以大致刻画自然语言中单词之间的关系。然而语料库的建立需要花费很多人力物力,而且扩张能力有限,单词向量提供了一种更加灵活的方式来刻画单词的含义。单词向量会将每个单词表示成一个相对较低维度的向量(比如100维),对于语义相近的单词,其对应的单词向量在空间上的距离也应该接近。因而单词的相似度可用空间距离来描述。单词向量不需要人工的方式来设定,它可以从互联网海量非标注文本中学习得到

通过对自然语言中单词更好的抽象与表达,深度学习在自然语言处理的很多核心问题上都有突破性进展,比如机器翻译。根据谷歌实验的结果,在主要的语言翻译上,使用深度学习可以讲机器翻译算法的质量提高55%到85%。

情感分析是自然语言处理问题中一个非常经典的应用。情感分析最核心的问题就是从一段自然语言中判断作者对评价的主体是好评还是差评。情感分析在工业界有着非常广泛的应用。随着互联网的发展,用户会在各种不同的地方表达对于不同产品的看法。对于服务业或制造业,及时掌握用户对其产品的 或者服务的评价是提高用户满意度非常有效的途径。在金融业,通过分析用户对不同产品和公司的态度可以对投资选择提供帮助。在情感分析问题上,深度学习可以大幅提高算法的准确率。在开源的Sentiment Treebank数据集上,使用深度学习的算法可将语句层面的情感分析正确率从80%提高到85.4%;在短语层面上,可将正确率从71%提高到80.7%。



深度学习

阅读数 14

没有更多推荐了,返回首页