深度学习在各个领域的成功
深度学习在图像和音频等方向比传统方向有大的提升,导致很多产品能快速落地
第一行三张图片代表图片和音频方向相比传统提升30%-50%,第二行第一张代表深度学习在自然语言处理方面方向的应用(相比传统学习方法有提升,但是提升效果有限),后两张代表生成式模型(生成图片比较火的是GAN)
例如:写好故事框架有时间地点等,GAN自动生成视频(未来)
ctr:点击率
给定用户商品看用户点击的概率是多少
User、Movie采用one-hot编码,黄色部分代表历史看过电影向量
传统预测CTR方法:
LR和线性模型关系:LR是sigmoid函数,将数值压缩到0-1之间
LR模型
优点:简单、可解释(权值大)、易扩展、效率高、易并行
缺点:难以捕获特征组合(公式没有特征相关联部分)
针对缺点改进:
特征两两组合,一共有n方种可能,缺点:泛化能力弱(训练数据没看见特征组合权值为0,将来预测时候权值还是0)
改进泛化能力强一些:
改动地方是标红的地方,原来是某个数值,现在是低维向量内积
GBDT很容易找到有效组合特征,GBDT先找到有效的组合特征加到LR模型当中
目前最好的效果之一
FM:有n个特征有n*n种特征组合,GBDT找到有效的组合,降低不必要的组合,增加效率
深度学习基础模型
MLP
隐层神经元:加权求和、非线性变换
现在用的比较多的激活函数:RELU
层数比较多,用上述传统的激活函数,前面浅层权重学不到东西,所以用的比较多的是RELU,导数是常数
CNN(主要用于图片)
解释:输出一张图片,卷积层、下采样、卷积层、下采样、全连接、输出层
对整体模型参数量有效的降低,参数数量少不容易过拟合
每个卷积核捕获什么特征那
最底层学到线段 、高层图片纹理、再高一层模式、部件、实际物体轮廓
RNN(一维序列型数据,适合解决序列问题)
输入层、隐层、输出层,不同之处隐层之间有个传递过程(第t步不仅包括当前步的输入还包括上一层的输出)
RNN改进:
LSTM:
深度学习ctr预估模型
离散特征输入问题解决啦
Wide&Deep是目前比较低级的结构,由于上述几个原因
低阶特征晒到模型当中
加个attention对特征组合赋予一定的权重,表示哪些重要,哪些特征组合不重要,对特征组合做个甄别(AFM思想)
经验:
某些模型需要预训练
平行结构或菱形结构效果比较好(可能跟数据集有关)
深度网络深度(一般ctr两层或三层,不需要层数太多)
值得研究的地方是FM_Function这个部分到底怎么做?
深度学习做ctr模型比较单一
CTR预估案例:
目的:视频推荐用户能看,高点击率
问题:在几亿中找到用户喜欢的东西,进行推送,时间要求比较高
解决该问题分两步:
第一步:初筛,筛选可能感兴趣的内容,为后面筛选一个小集合
第二步:排序,排序,特征比较多,要求精度比较高
初筛
输入:用户历史行为(看过某个视频列表的输入向量转化dense),搜索词、群体性统计特征(性别、中老年等)
归为两大类:行为特征、统计特征
average把输入向量搞成定长的
给用户推荐信息,目前只有用户历史信息
给定用户兴趣向量对视频1000万视频进行投票,转化为一个分类问题
学用户的兴趣怎么用向量来表达
初筛:向量表达用户兴趣(筛选出50个)
训练过程:某个用户的embedding 、某个视频的embedding,之后算余弦,排序
预测用户观看时长架构如下:(时间越长越排到前面推荐给用户)
一个人多种兴趣,多种兴趣某一时刻只体现某一兴趣(局部激活)
流程:线上收集很多用户历史数据,点过哪些、看过哪些、买过哪些、建模,之后对用户兴趣进行了解,有很多广告,把最可能点的广告进行推送
收集的用户特征:
基础模型:
推送广告和历史进行算一下距离
出发点:刚才出发点怎么改进模型让ctr效果更好,jd 图片信息能否柔到模型当中
两阶段:初筛:精度不要求那么高,但是要求快;排序:精排,选取k个
网络结构
右面一部分:深度网络,可以认为是wide & deep 网络
左侧一部分:图片信息,怎么柔到模型当中,1-N表示过去点过N个商品图片,CNN提取图片特征
A|B test对比7天对比结果,引入图片对效果增大比较大
相同商品通过聚类,都可以聚到一类