深度图像特征在推荐和广告中的应用(二)

 

一直对图像很感兴趣,最近在关注一个问题:如何经过深度学习抽取图像特征,用于广告和推荐。网络

CNN 是一个简单的网络结构,初学者通常从MNIST入手,说起CNN第一印象可能只有经典的图像分类的那个model。深刻了解才会发现,学术圈和工业界是如何经过稍稍改变 Feature Map 以后的结构和目标函数等实现各类复杂任务,这其中迸发的想象力让人激动。架构

 

Deep CTR Prediction in Display Advertising

这篇文章发表在 ACM MM16,是阿里当时的实习生作的,如今应该是正式员工了。与腾讯那篇“Image Feature Learning for Cold Start Problem in Display Advertising” 不一样的是,这篇文章把特征提取与点击率预估整合在一块儿,作到了end to end的训练。函数

一样来看一个例子:学习

 

b 比 a 点击率低,是由于 b 的主体和背景的对比度过低;d 比 c 点击,是由于用户对多男模的图片不太喜欢,这种case 跟腾讯广告同窗举得还不太同样 😆spa

总体的网络架构以下:3d

左侧的卷积网络用来提取图像特征,结构相似于 VGG16。由于上面网络结构较为复杂,能够先用图像分类任务来解决CNN的预训练问题。code

右侧是全链接层,相似于embedding,区别在于全链接层有非线性变换。输入层是 one-hot-encode 形式,约 20w维,很是稀疏,在计算的时候,不少0输入节点的前向后向计算均可省略,特征存储也能够用下标的方式输入,减小计算和存储资源消耗。blog

广告的样本数量很大,可是CNN计算较为耗时,若是按照 PSLR 的方式去批次训练,训练过程过于漫长。做者把有相同图片的样本聚合在一块儿,相同图片只用计算一次CNN。举个例子,batchsize 为 5000,图片只有 10张,则CNN只用计算 10 次,右侧的全链接层很是稀疏,计算效率很高,5000个样本的计算时间可能比10张图片CNN计算时间还短。图片

实验对比资源

  • 5千万样本,10w张图片

  • 对比实验的结果:

特征区域的可视化

图片中的猫、纹理、文字对点击率有影响

 

附:公众号 

相关文章
相关标签/搜索