见微知著,你真的搞懂Google的Wide&Deep模型了吗?

这里是「王喆的机器学习笔记」的第三十二篇文章。今天的文章内容来源于一次跟网友的讨论,同行网友的问题是这样的:

为什么在Google的Wide&Deep模型中,要使用带L1正则化项的FTRL作为wide部分的优化方法,而使用AdaGrad作为deep部分的优化方法?

论文原文的描述是这样的:

In the experiments, we used Follow- the-regularized-leader (FTRL) algorithm with L1 regularization as the optimizer for the wide part of the model, and AdaGrad for the deep part.

这个问题是一个很有意思的问题,因为原文中一带而过,所以很多同学也没有注意到这一点。但深究起来,这又是一个关键的问题,它涉及到不同训练方法的区别联系,涉及到模型的稀疏性,甚至涉及到特征选择和业务理解。

我们这篇文章就深入到Wide&Deep模型中去,从FTRL和AdaGrad出发,再剖析一次Wide&Deep模型(简称W&D)。

一句话概括W&D

由于W&D被剖析过太多次,也被应用过太多次,所以原理上这里不再赘述,一句话概括:

W&D由浅层(或单层)的Wide部分神经网络和深层的Deep部分多层神经网络组成,输出层采用softmax或logistics regression综合Wide和Deep部分的输出。

Wide&Deep模型示意图  

一句话概括此结构的优点:

Wide部分有利于增强模型的“记忆能力”,Deep部分有利于增强模型的“泛化能力”。

相信大家对这些知识点都已经驾轻就熟,那就直接进入这篇文章的主要切入点,为什么Wide部分要用FTRL训练?

为什么Wide部分要用L1 FTRL训练?

这个问题是一个很有意思的问题,可能近几年毕业的同学都不大清楚FTRL是什么了。四五年前FTRL曾风靡全部互联网头部公司,成为线性模型在线训练的主要方法。

彻底解释清楚FTRL并不是一件容易的事情,可能要花上10-20页左右的篇幅,感兴趣的同学可以参考冯扬当时的著名文章“在线最优化求解”。

这里简要介绍一下,你可以把FTRL当作一个稀疏性很好精度又不错随机梯度下降方法。由于是随机梯度下降,当然可以做到来一个样本就训练一次,进而实现模型的在线更新。所以在四五年前,大部分公司还是线性模型为主的时代,FTRL凭借非常好的在线学习能力成为主流。

说完了FTRL,再说L1正则化,参加过算法岗面试的同学可能都碰到过那个经典面试题“为什么L1正则化比L2正则化更容易产生稀疏解?”。问题的答案现在当然已经是显学了,但这里“稀疏”这个性质又冒出来了。也就是说FTRL with L1非常注重模型的稀疏性。这也就是问题的答案,W&D采用L1 FTRL是想让Wide部分变得更加稀疏。

再白话一点就是,L1 FTRL会让Wide部分的大部分权重都为0,我们准备特征的时候就不用准备那么多0权重的特征了,这大大压缩了模型权重,也压缩了特征向量的维度。

Wide部分的稀疏性为什么这么关键?

稀疏性不见得一直是一个好东西,它不管怎样都会让模型的精度有一定的损伤。肯定是特征向量维度过高导致“稀疏性”成为了关键的考量。这就涉及到Google Wide部分的特征选取了,到底Google选了什么特征需要这么注重稀疏性。我们回到他的业务场景中来。

Wide部分

大家可以看到红圈内的Wide部分采用了什么特征,它居然采用了两个id类特征的乘积,这两个id类特征是:

User Installed App 和 Impression App

这篇文章是Google的应用商店团队Google Play发表的,我们不难猜测Google的工程师使用这个组合特征的意图,他们是想发现当前曝光app和用户安装app的关联关系,以此来直接影响最终的得分。

但是两个id类特征向量进行组合,在维度爆炸的同时,会让原本已经非常稀疏的multihot特征向量,变得更加稀疏。正因如此,wide部分的权重数量其实是海量的。为了不把数量如此之巨的权重都搬到线上进行model serving,采用FTRL过滤掉哪些稀疏特征无疑是非常好的工程经验。

为什么Deep部分不特别考虑稀疏性的问题?

大家注意观察可以发现Deep部分的输入,要么是Age,#App Installs这些数值类特征,要么是已经降维并稠密化的Embedding向量,工程师们不会也不敢把过度稀疏的特征向量直接输入到Deep网络中。所以Deep部分不存在严重的特征稀疏问题,自然可以使用精度更好,更适用于深度学习训练的AdaGrad去训练。

再说回模型的泛化能力和记忆能力

我想到这应该把文首的问题回答清楚了。最后我想再说回所谓wide部分的“记忆能力”。其实大家可以看到,所谓的“记忆能力”,可以简单理解为发现“直接的”、“暴力的”、“显然的”关联规则的能力。比如该问题中,Google W&D期望在wide部分发现这样的规则:

用户安装了应用A,此时曝光应用B,用户安装的B概率大。

而Deep部分就更黑盒一些,它把能想到的所有特征扔进这个黑盒去做函数的拟合,显然这样的过程会“模糊”一些直接的因果关系,泛化成一些间接的,可能的相关性。

从这个角度来说,所谓“泛化能力”和“记忆能力”就更容易被直观的理解了。

最后,感谢当初网友的提问,注重细节,见微知著我想永远是一个算法工程师可贵的能力

按惯例的讨论问题:

在模型结构日渐复杂的今天,你认为wide部分存在的意义还大吗?在你的模型中还保留这wide部分这种简单暴力的结构,还是已经用更复杂的结构来代替?

能把Wide部分和Deep部分分开训练吗?能让FTRL在线学习,而深度部分batch训练吗?

这里是「王喆的机器学习笔记」 的第三十二篇文章。

认为文章有价值的同学,欢迎关注同名微信公众号:王喆的机器学习笔记wangzhenotes),跟踪计算广告、推荐系统、个性化搜索等机器学习领域前沿。

关于W&D的细节讨论亦收录在我的新书「深度学习推荐系统」中,这本书系统性地整理、介绍了专栏中所有的重点内容,如果您曾在「王喆的机器学习笔记」中受益,欢迎购买。

《深度学习推荐系统(全彩)》(王喆)【摘要 书评 试读】- 京东图书

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335