欢迎来到学术参考网
当前位置:发表论文>论文发表

阅读系统论文题目

发布时间:2023-03-13 17:27

阅读系统论文题目

  有人读书为了消磨时光,有人读书为了荡气回肠,有人读书为了黄金万两,有人读书为了滴滴娇娘,你读书是为了什么?以下是我整理的,希望可以帮到大家!
  :读书有什么益处
  我国唐代伟大诗人杜甫有句名言:“读书破万卷,下笔如有神。”《三国志》中也有记载:“读书百遍,其义自现。”古人对读书尚有精辟的论述,何况生活在高科技时代里的我们,更应该坚持读书,不断充实自己。

  有一段时间,我听见某些人说:“读书其实没有用,看现在的许多大商人,钱挣得红红火火,但也没几个有文化的……,什么造原子弹的不如卖茶叶蛋的……”听到这些的话,我不由得思索起来,读书到底有没有用呢?直到今天,我才得到了答案,也真正体会到了“开卷有益”这句话的深刻含义。下面我就自己读书的经历,谈谈读书的益处吧。

  读书可以开阔视野

  每个人的生命的有限的,不可能对每一种事物的认知都要亲身实践,只有通过读书,才能使我们知道,美丽的星空是广阔无边的;人类的进化是经过漫长历程的;大自然是神奇而美丽的;知识的海洋是无穷无尽的……,书本中的知识可谓是包罗永珍。通过读书,可以丰富知识,拓宽视野。读得书多了,自然就懂的多了,“博学广识”也就是这个道理。

  读书可以陶冶情操

  当我们心情郁闷、悲观失望时,可以翻翻那些使人在笑声中受到启迪的漫画书和童话书,你会为“灰姑娘”美好地结局而感到欣慰,为“丑小鸭”变成美丽的天鹅而兴奋不已。也可以看看科幻书,带你走进科学的世界,产生美好的遐想,不再感受到生活的平淡,从而使人心旷神怡,信心倍增。

  读书可以提高写作水平

  我们每一个人都有过为作文章而发愁的经历。读书过程中,让你欣赏到了许多优美的词句,在写作时,就可以学习和借鉴,取长补短,长此以往,便会积累丰富的知识,自然就能体会到“读书破万卷,下笔如有神”的道理了。

  读书可以使我们懂得道理

  一本好书就是我们人生道路上的指航灯。当你处在人生的十字路口无法判断时,有关教育如何做人方面的书籍会使我们毫不犹豫的作出理智的判断,不为蝇头小利而动,不为艰难险阻所困,扎扎实实的走好人生的每一步。做一个勤奋、诚信、高尚的人。

  读书可以增强我们的爱国意识

  中华民族有着悠久的历史和灿烂的文化,四大发明、雄伟的万里长城、辉煌绝世的兵马俑,无不让我们骄傲和自豪。然而火烧圆明园、南京大屠杀的耻辱历史让我们知道贫穷落后是要挨打的,从而激励我们更加奋发图强,把祖国建设的繁荣富强,使历史的悲剧不再重演,让人民过上幸福安康的生活。

  知识是用金钱买不到的。开卷有益,读书的益处无穷无尽。让我们从现在开始,好读书,读好书,真正掌握现代科技,练好本领,为将来建设祖国打下坚实的基础。
  :读书
  手中书册还未翻开,一股怦然心动的感觉已悄悄溢位胸口,荡涤我的思绪;那飘然飞出的一丝丝书香,是我的心灵在飞翔。。。。。。

  -----题记

  蔚蓝的天空中飘过几朵白云,白云下面长著青青的野草,好美的画卷!美丽的画卷下面坐着幸福的三口之家,女儿依偎在妈妈的怀中,手拿一本书,听爸爸讲那动听的童话故事。

  女孩听得津津有味,她为那可怜的人鱼公主而流泪;为最终找到幸福的白雪公主而欣慰;为终于变成白天鹅的丑小鸭而高兴;为冻死街头的卖火柴的小女孩的命运而哀叹。。。。。。这便是我最初对书的接触。

  少年时代是一个多梦的年龄,梦中的我与李白、杜甫畅谈诗歌:在萧瑟的秋风中散步,忽见杜老招手,举杯邀月,太白潇潇洒洒地走过来,让我同他们一道体验“天生我材必有用”的壮志豪情;时而我还与李清照一起谈词争渡:在她举杯消愁之际要我体味她的“人比黄花瘦”,让我见证了李清照——一个“一帘幽梦无人近,千古情人独其痴”的女人,一个冷到深处情更酣的女人;我还曾与苏东坡共受磨难,同他一起哀闷漫想:那“乌台诗案”的苦楚,那皇帝贬谪的敕令,那洛阳亲友的牵挂,于是乎他吟出了“但愿人长久,千里共婵娟”这样的千古名句。。。。。。醒来之后,我又会与鲁迅去鞭策“人吃人”的社会;与海明威笔下的老人一起出海捕鱼;与鲁滨孙一同冒险、闯荡世界。。。。。。

  我并不是那种善与人交流的人,也缺少可以交心的知心朋友,但读书给我带来了无限的乐趣与精彩。从书中,我懂得了关爱父母、尊敬师长、热爱祖国;学会了尊老爱幼、道德礼仪、各国文化;读到了自尊、自信、人生梦想。。。。。。

  当我灰心丧气的时候,书教我“山重水复疑无路,柳暗花明又一村”,于是我有了重新奋斗的勇气;当我与友人依依惜别时,书告诉我“海记忆体知己,天涯若比邻”‘于是我拭去离别的泪水;当我取得成功自满时,书教我“虚心竹有低头叶,傲骨梅无仰面花”,于是我一改骄傲情绪,谦逊起来;当国家利益受损时,书告诉我“天下兴亡,匹夫有责”,于是我认识到自己的使命,努力学习。。。。。。正是因为书,我才如此坚强不屈,乐观向上,热爱生活。

  也是,如今的生活:多了些浮躁,少了些宁静;多了些欲求,少了些满足;多了些自悲,少了些自信。。。。。。当我们心无清泉、灵台蒙尘的时候,读书不正是一剂救治心灵的良药吗?

  最后,用这样一首小诗结尾吧:

  你轻轻地走过

  正如你轻轻地到来

  无需太多言辞

  只需深深凝眸

  拂去了年少的轻狂

  只留下丝丝感动

  荡涤在我心间

  飘然飞出的缕缕书香

  带着我一起飞翔
  :浅谈读书
  八十九岁高龄的冰心曾在《忆读书》一文中深情地写到“我永远感到读书是我生命中最大的快乐”。冰心奶奶根据自己多年的读书经验,深入浅出地介绍了“读书好,多读书,读好书”这九字箴言的内涵,让我和我的学生学过之后都受益匪浅。 关于读书,我也有话要说,特别是从事语文教育教学工作以来,阅读成为了我津津乐道的好习惯。

  尽管我的“阅龄”不长,无法像冰心一般列举出那么多重头的名著名篇,却也热切地想把自己读书的心得体会摊开来和我的学生一起分享分享。 “兴趣是最好的老师”,这句话用在读书方面丝毫不假,古人亦云:“知之者不如好之者,好知者不如乐之者。”培养学生的阅读习惯单靠布置读书笔记是远远不够的,重点还在于提起学生的阅读兴趣。 对于刚进入初中阶段的学生来说,学科数目陡然增加,一时间仿佛手边有了读不完的“书”,而真正读“书”的时间却少了很多。这里此“书”非彼“书”,就是所谓知识技能资讯与阅读兴趣之间的冲突,不要在功利性的阅读获取上失掉了儿童追求愉悦的天性。我曾见过初中班的孩子捧著彩图版的《安徒生童话》看得忘食的,这时你并不用提点换本原版故事书或许对作文更有帮助,因为阅读全在手捧书页心境愉悦的状态之中。“开卷有益”,书读得多了,自然而然择书的深浅就心中有数,教师、家长只能从旁指引,无法代步。 读书除了培养兴趣以外,还要掌握基本的阅读方法。

  我曾做过这样一个实验:新书发下去之后,给定十分钟的时间,请同学们自由翻阅,时间一到,让学生分别讲述他们所看到的内容。结果当然五花八门:有的说看到了某篇吸引人的小故事,有的评述对这本书的深浅好恶,而真正养成了阅读《序言》、检视目录习惯的学生却很少。 我读书的时候,一般都会先看目录。目录是提纲挈领,是作者思路的高度概括。通过目录,知道作者的一个大概思路,沿著作者的思路一路走下去,会让你的思路和逻辑越来越系统、严谨和清晰。因为,读书不仅是获取知识,开阔视野,更重要的是,开打思路,学会更深入地、更多角度的思考。带着一个清晰的框架去读书,你会感觉自己不是被动地接受知识,而是主动地寻找你关注的部分,从而综合地分配哪些章节粗读,哪些章节需要细细品读。

  古语云,听君一席话胜读十年书。看一本书就像和作者对话,站在巨人的肩膀上看世界,可以提高学识,丰富人生的阅历。读书的时候,最好要有一支笔,把精彩的观点或阐述划上线,或把自己的感受随时写下来,或把相左的意见批注在旁边,再去现实中寻找解答,这都是实现对话的有效途径。“好记性不如烂笔头”,养成多方位调动感官来读书的习惯,也是终生受用的经验。

  书读得多了,还需要搭建一个良性的互动平台,让学生可以发表见解,交流心得体会,这是教师完全可以在班级内帮助完成的。例如,建立阅读兴趣小组,定期地组织阅读探究活动。分组查阅相关作家的生平资料、作品风格等资讯,一来实现组内的资源共享,二来能提高读书的效率,获得多维的思考方式。总而言之,读书活动要在积极愉悦的氛围之中进行,要创设情境,帮助学生完成“要我读”到“我要读”的心理过程的转化。 一朝踏入教育行业,深知自己任重道远。俗话说,活到老学到老。未来要读的书还有很多,如何养成一个好的读书习惯仍是我不懈探索的课题。希望随着年龄的增长、知识的增加,我也能有一天自豪地说出冰心老人的话——“我永远感到读书是我生命中最大的快乐”。

推荐系统论文阅读(二十二)-基于多兴趣向量召回的Mind

论文:

论文题目:《Multi-Interest Network with Dynamic Routing for Recommendation at Tmall》

论文地址:

前面讲的论文大部分都是关于排序的算法,mind作为天猫商城召回阶段的算法,还是很值得阅读的。

主流的推荐系统一般都分为matching(召回)和rangking(排序)两个阶段,不管在哪个阶段,都要学习和表示用户的兴趣向量。因此,最关键的能力是为任一阶段建模并得到能代表用户兴趣的向量。现有的大多数基于深度学习的模型都将一个用户表示为一个向量,如YoutubeDNN那篇论文,不足以捕获用户兴趣的不断变化的特点。基于以上原因,天猫提出了Mind方法,通过不同的视角来解决这个问题,并且用不同的向量来表示从用户不同方面的兴趣。

天猫商城也是分为了召回和排序两个阶段,召回阶段的主要目标就是从亿级别的商品库中筛选出千级别的候选物品给排序阶段使用。在天猫场景下,用户每天都要与成百上千的商品发生交互,用户的兴趣表现得多种多样。如下图所示,不同的用户之间兴趣不相同,同时同一个用户也会表现出多样的兴趣:

现在主流的召回阶段用到的召回算法要么是基于协同过滤的算法,要么是基于embedding召回的方法,但是这两个方法都有缺陷。协同过滤算法有着稀疏性和计算存储瓶颈方面的缺点,embedding的向量召回方法也有着几个缺点,一个是单一的向量无法准确表达出用户多种多样的兴趣,除非把这个向量长度变得特别大,还有一个就是,只有一个embedding会造成一定的头部效应,召回的结果往往是比较热门领域的商品(头部问题),对于较为小众领域的商品,召回能力不足,也就是更容易造成马太效应。

正如我们在第一段话中阐述的那样,如果单个兴趣向量没法做到将所有的用户兴趣点覆盖,那么就多搞几个向量,几个向量同时来表示用户的兴趣点不就行了吗?事实证明这么做确实是可以的,而且天猫也通过这种方法大大提高了召回的效果。

简单的先来看一下这个模型的架构,还是浓浓的阿里味,不管是item还是user在生成属于自己的向量的时候都会加上side information,这也是跟din,dien中一样传承下来的东西。整个模型关键的部分就在于这个Multi-Interest Extractor Layer层,后面我们就重点来讲一下这个层。

召回阶段的目标是对于每个用户u∈U的请求,从亿级的商品池I中,选择成百上千的符合用户兴趣的商品候选集。每条样本可以表示成三元组(Iu,Pu,Fi),其中Iu是用户u历史交互过的商品集合,Pu是用户画像信息,比如年龄和性别,Fi是目标商品的特征,如商品ID、商品品类ID。

那么MIND的核心任务是将用户相关的特征转换成一系列的用户兴趣向量:

接下来就是item的embedding了:

说白了f函数就是个embedding+pooling层。

我们有了用户的兴趣向量 和物品向量e后,就可以通过如下的score公式计算得到topN的商品候选集:

这个score的计算过程过其实是对这K个向量分别计算出一个分数然后取最大对那个。有了每个用户的兴趣向量后,我们就能对所有对item求一个分数,这样直接取topN就可以得到N个候选物品了。

这一层跟我们之前介绍的论文din,dien中的操作是类似的。在user embedding中,输入部分包括user_id,还包括gender,city等用户画像信息,分别做完embedding后直接concat起来就得到用户的embedding。跟user侧不同的item embedding则是采用pooling操作来得到item embedding,将商品ID、品牌ID、店铺ID分别做embedding后再用avg pooling。

这部分就是整个mind最关键的地方了,下面会进行详细讲解。

我们认为,通过一个表示向量表示用户兴趣可能是捕获用户的多种兴趣的瓶颈,因为我们必须将与用户的多种兴趣相关的所有信息压缩到一个表示向量中。 因此,关于用户的不同兴趣的所有信息混合在一起,从而导致在匹配阶段的项目检索不准确。所以,mind采用了多个兴趣向量来表示用户的不同兴趣。 通过这种方式,可以在召回阶段分别考虑用户的不同兴趣,从而可以针对兴趣的各个方面进行更准确的检索。

Multi-Interest Extractor Layer,借鉴的是Hiton提出的胶囊网络。有关胶囊网络,下面的图可以帮助你快速理解(源于知乎: ):

可以看到,胶囊网络和传统的神经网络较为类似。传统神经网络输入一堆标量,首先对这堆标量进行加权求和,然后通过非线性的激活函数得到一个标量输出。而对胶囊网络来说,这里输入的是一堆向量,这里的计算是一个迭代的过程,每次对输入的向量,先进行仿射变换,然后进行加权求和,最后用非线性的squash操作得到输出向量,可以看到胶囊网络的的输入跟输出还是跟传统DNN不一样的。

但是,针对图像数据提出的原始路由算法不能直接应用于处理用户行为数据。 因此,我们提出了“行为到兴趣(B2I)”动态路由,用于将用户的行为自适应地汇总到兴趣表示向量中,这与原始路由算法在三个方面有所不同。

1.共享双向线性映射矩阵

在胶囊网络中,每一个输入向量和输出向量之间都有一个单独的双向映射矩阵,但是MIND中,仿射矩阵只有一个,所有向量之间共享同一个仿射矩阵。

主要原因:一方面,用户行为的长度是可变的,天猫用户的行为范围是几十到几百,因此固定双线性映射矩阵的使用是可推广的,同时也减少了大量的参数。 另一方面,我们希望兴趣胶囊位于相同的向量空间中,但是不同的双线性映射矩阵会将兴趣胶囊映射到不同的向量空间中。因此,映射的逻辑变成了:

其中ei是用户行为中的item i的embedding,uj是兴趣胶囊j的向量。

2. 随机初始化胶囊网络的权值

在原始的胶囊网络中,映射矩阵是初始化为0的,但是这样会导致几个问题。将路由对数初始化为零将导致相同的初始兴趣胶囊。从而,随后的迭代将陷入一种情况,在这种情况下,不同的关注点胶囊始终保持相同。这跟我们的意图是不一致的,我们希望生成不同的用户兴趣向量。因此,我们在初始化的时候,让胶囊网络中权重的初始化由全部设置为0变为基于正太分布的初始化。

这里随机初始化的是bij而不是S,也就是胶囊映射逻辑矩阵,S是双向映射矩阵,不要搞混了。

3. 动态的用户兴趣数量

由于不同用户拥有的兴趣胶囊数量可能不同,因此我们引入了启发式规则,用于针对不同用户自适应地调整K的值。 具体来说,用户u的K值由下式计算:

动态的调整会让那些兴趣点较少的用户节省一部分计算和存储资源。

整个Multi-Interest Extractor Layer的计算过程如下:

看到这里我有个疑惑,在于算法的第7点,我们的 是用正太分布初始化的矩阵 跟双向仿射变化后的向量相加的结果,这一点我在论文中并没有得到很好的理解,也就是说,本来 是全零的,现在是用标准正态分布初始化后在去跟双向映射完的向量叠加吗?

还有一个疑问就是,针对每一个j,我们利用所有的behavior的i计算得到一个向量uj,其实感觉应该就是在bij的计算上是不同的,只有bij的计算不同才会产生不同的wij,这样的话也就是说每一轮的bij都是有上一轮的结果来生成的意思?

关于这两点我还是没能搞清楚,以我现在已有的知识来看,每次生成uj后都会利用整个uj去生成下一个bij,跟dcn里面的cross network有点类似,但是说不上来是为什么这么做,可能是这样计算保持来序列计算的特性。

从图中我们也可以清楚的看出来,通过Multi-Interest Extractor Layer,我们得到了多个用户向量表示。接下来,每个向量与用户画像embedding进行拼接,经过两层全连接层(激活函数为Relu)得到多个用户兴趣向量表示。每个兴趣向量表征用户某一方面的兴趣。

我们在前面获得了多个用户的兴趣向量,那么该如何知道这些兴趣向量中哪些是重要的,哪些是可以忽视的呢?这时候attention就派上了用场,正如我们在din中对用户历史行为中的每个item计算weight一样,我们在这个地方也构建一个一个attention网络,用来计算不同兴趣点的weight。

看一下上面的attention网络在结合一下整个mind的模型结构不难得出,这个attention网络的q是候选item的embedding,k,v都是用户的兴趣向量。

attention的计算公式为:

其中,除了计算vu跟ei的内积意外,mind还对这个内积进行了指数运算,这个p值起到了一个平滑对作用,到p接近0的时候,所有的weight是相近的,意味着每个兴趣点都会被关注到。到p大于1的时候,有些weight就会变得很大,而有些就会变得很小,相当于加强了跟candidate item强相关的兴趣点的权值,削弱了弱相关兴趣点的权值,此时更类似于一种hard attention,即直接选择attention score最大的那个向量。实验也证明了,hard attention的方法收敛得更快。

通过label attention网络,我们得到了代表用户u的兴趣向量 ,有了这个向量,我们就可以计算用户u点击item i的概率了,计算方式如下:

目标函数为:

这个L不是损失函数,可以理解为极大似然函数,我们的目标就是让这个东西最大。

当然,在一个具有亿级别item的网站中,我们是不会采用原始的softmax操作的,跟在skip gram中的sample softmax类似,mind也采用了sample softmax的做法,大大减少了运算量。

而在serving阶段,只需要计算用户的多个兴趣向量,然后每个兴趣向量通过最近邻方法(如局部敏感哈希LSH)来得到最相似的候选商品集合。我们只需要输入用户的历史序列和画像信息,就可以得到用户的兴趣向量,所以当用户产生了一个新的交互行为,MIND也是可以实时响应得到用户新的兴趣向量。这里相当于把label attention舍弃掉了,直接用剩下的部分来得到用户的兴趣向量。

serving阶段跟training阶段对于用户的兴趣向量的处理是不一样的,在serving阶段,由于我们有多个兴趣向量,所以score的计算方式就变成了取最大的那个:

mind选择了跟他比较相近的YoutubeDNN进行对比,对比结果如下:

此外,论文还提到了DIN,在获得用户的不同兴趣方面,MIND和DIN具有相似的目标。 但是,这两种方法在实现目标的方式和适用性方面有所不同。 为了处理多样化的兴趣,DIN在item级别应用了注意力机制,而MIND使用动态路由生成兴趣,并在兴趣级别考虑了多样性。 此外,DIN着重于排名阶段,因为它处理成千或者万级别的item,但是MIND取消了推断用户表示和衡量user-item兼容性的过程,从而使其在匹配阶段适用于数十亿个项目。

推荐系统论文阅读(二十一)-DeepFM升级版xDeepFM

论文:

地址:

论文题目:《xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems》

为什么要介绍这篇论文呢,因为面试的时候面试官提到了这篇论文还要我推导公式,但是我自己忘了,太尬了,所以决定来复习下了。。。

在前面的文章里面,我们介绍过DeepFM,在这篇论文中,FM将不同特征进行了自动交叉,如果不用FM的话,就需要工作人员自己进行手工特征交叉任务。对于预测性的系统来说,特征工程起到了至关重要的作用。特征工程中,挖掘交叉特征是至关重要的。交叉特征指的是两个或多个原始特征之间的交叉组合。在广告系统中,CTR是一个重要的评价指标,而在ctr预估任务中,各种特征都是至关重要的,有时候多加一个特征都可以让整个广告的ctr提高一点。

但是在特征有限的系统中,该如何去挖掘那些潜在交叉特征呢?

挖掘交叉特征主要依靠人工提取,这种做法主要有以下三种缺点:

1)重要的特征都是与应用场景息息相关的,针对每一种应用场景,算法工程师们都需要首先花费大量时间和精力深入了解数据的规律之后才能设计、提取出高效的高阶交叉特征,因此人力成本高昂;

2)原始数据中往往包含大量稀疏的特征,例如用户和物品的ID,交叉特征的维度空间是原始特征维度的乘积,因此很容易带来维度灾难的问题;

3)人工提取的交叉特征无法泛化到未曾在训练样本中出现过的模式中。

基于以上的分析,我们就必须要设计一种能自动进行特征交叉任务的网络来替代手工制作的交叉特征,让模型的泛化能力更强。在deepfm,dcn中都有自动特征交叉的模块,值得一提的是,在这些模型中,特种的交叉是发生在bit级别的,也就是bit wise级别的特征交叉。什么是bit wise级别的特征交叉呢?

举个例子,比如特征1 = (a,b,c),特征2 = (d,e,f)

那么他们之间的bit wise的特征交叉就是f(w1*a*d, w2*b*e, w3*c*f)比如在DCN中:

可以看到在Cross Network中,特征向量的交叉是bit wise的交叉方式,就是每个level的x都和x0进行bit wise级别的交叉。

另一种特征交叉的方式有vector wise的交叉方式,这种交叉方式的表述为f(w(a*d, b*e,c*f)),可以看到这两个特征是先进行内积操作后才和权值矩阵进行运算的,所以是vector wise的交叉方式。

论文中还提到了两个定义:

explicitly VS implicitly

显式的特征交互和隐式的特征交互。以两个特征为例xi和xj,在经过一系列变换后,我们可以表示成 wij * (xi * xj)的形式,就可以认为是显式特征交互,否则的话,是隐式的特征交互。

老规矩,先上模型:

先看图c,xdeepfm是通过一个CIN将得到的向量concat后送到DNN中做ctr预估,这篇论文的关键就是整个CIN了,CIN全称是Compressed Interaction Network,下面来详细介绍下CIN是怎么做的。

为了实现自动学习显式的高阶特征交互,同时使得交互发生在向量级上,文中首先提出了一种新的名为压缩交互网络(Compressed Interaction Network,简称CIN)的神经模型。在CIN中,隐向量是一个单元对象,因此我们将输入的原特征和神经网络中的隐层都分别组织成一个矩阵,记为X0和 Xk。其中,每个Xk都是从上一个的Xk-1推导而来的:

ps:面试的时候这个公式没推导清楚,还是好好讲一下这个公式的计算过程吧。。

CIN的计算分为两个步骤,第一个是利用 和 来计算

我们看这个图:

我们要弄明白 的计算过程,就要先知道几个概念。

inner product:(a,b,c) . (1,2,3) = (1*a,2*b,3*c)

outer product: (a,b,c)  。(1,2,3) =[ [ 1a,2a,3a] , [1b,2b,3b], [1c,2c,3c] ]

弄清楚这两个概念后就可以来看看这个的计算过程了。

首先,我们明确计算方向,我们是沿着D这个方向来计算外积的,所以计算出来的z的深度是D,这个是没有问题的。那么在沿着D上面的截面的计算方式就是我们上面说的outer product的方式来计算了。注意,计算D上每一个维度的切面的时候都是每个维度上单独计算的,举个例子:

 = [a,b,c], [1,2,3], [d,e,f]

 = [x,y,z], [4,5,6]

那么z的计算就为(先忽略w,后面再介绍w的使用)

我们沿着D这个维度,需要计算三个切面。

第一个切面:需要计算(a,1,d) 和(x,4)的外积:

计算的结果为:[[a*x,1*x,d*x] ,[a*4,1*4,d*4]] ,shape = 2*3

第二个切面:需要计算(b,2,e)和(y,5)的外积:

第三个切面同理,就不列出结果了。

三个切面计算玩,我们就得到了shape为3*2*3的 。

这个计算过程还可以用一张图形象的表示出来:

这里的计算跟上面是一样的,也可以计算每个d维向量的内积然后拼接成柱状体。对于每个切面,我们对这个切面进行加权求和得到一个值,权值矩阵W也成为卷积核的shape跟切面的shape大小一样,我们总共有D个切面,所以就有D个值,这样,我们就将一个三维向量转化成了一维向量:

在上面这张图中,我们可以清楚的知道,如果有 个卷积核w,我们就可以得到 个向量,也就是得到了下一个X: ,这个X的维度为 *D。

CIN的宏观框架可以总结为下图:

我们总共需要进行k个CIN过程的计算,得到k个一维向量。可以看出,它的特点是,最终学习出的特征交互的阶数是由网络的层数决定的,每一层隐层都通过一个池化操作连接到输出层,从而保证了输出单元可以见到不同阶数的特征交互模式。同时不难看出,CIN的结构与循环神经网络RNN是很类似的,即每一层的状态是由前一层隐层的值与一个额外的输入数据计算所得。不同的是,CIN中不同层的参数是不一样的,而在RNN中是相同的;RNN中每次额外的输入数据是不一样的,而CIN中额外的输入数据是固定的,始终是X0。

CIN计算交叉特征的方式是vector wise的,

x1,h的计算方式为:

x2,h的计算方式为:

xk,h的计算方式:

所以是vector-wise的计算方式。

这个结构其实跟DeepFM是一样的,左边是交叉特征的计算过程,右边是DNN部分。CTR计算方式为:

损失函数为:

我们今天介绍的xDeepFM模型,这个模型跟我们之前学习的DeepFM还有DCN是一个类型的网络,都是交叉特征+DNN组成,在xDeepFM中主要是CIN的推导是重点,只要掌握了CIN的计算过程就知道了这篇论文的核心:vector-wise方式的特征交叉。

上一篇:景点旅游论文范文

下一篇:高铁毕业论文摘要