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

这个问题是一个很有意思的问题,可能近几年毕业的同学都不大清楚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选了什么特征需要这么注重稀疏性。我们回到他的业务场景中来。