CTR预估中怎么样加入图片特征图片特征咋提取( 二 )



■网友
CTR加入图片特征难度应该有两点,1. 效果方面,因为点击率预估是为特定的用户,在特定的环境下推荐广告,用户是十亿级的,而广告一般是万,十万级的(一般曝光量大的广告就更少了),也就是用户维度是更难刻画的,如果用户的刻画没有很好的解决,广告ID+推广计划ID基本就够了(只说展示广告,搜索广告没做过)。2. 速度方面,如果将图片和其它特征一起学习,速度会非常慢,曝光可能达到十亿级,完全不可行。
我想过一个方法去解决,广告维度的特征只用广告ID(能唯一决定图片的ID),用户和环境特征不变,训练数据只使用广告ID曝光量大于一定数量级的广告曝光。广告ID通过Embedding方式表达,训练完之后,就得到了每个广告ID对应的embedding向量,这个向量(希望是)已经将定向和环境的因素剥离了。
有了每个广告ID对应的Embedding向量,我再将每个广告对应的图片作为输入,而学习的目标就是对应的Embedding向量。训练完成后,有新的图片进入系统后,会先用模型预测它的Embedding,而点击率模型会将它预测出来的Embedding作为特征进行训练,可以有效地降低训练时间。
呃,但是实践中第一步就没走通,我学习出来的广告ID对应的Embedding效果并不好,两个图片完全相同的广告往往Embedding有比较大的区别,但调参的时候,有时候还是能找出一些比较相似的方式。我之后就被派去做别的项目了,一直不清楚这方式是不是可行。
另外我把我想法讲给另一个同事的时候,他说这是Transfer Learning中很常见的做法,也基本和原创无关了。

■网友
问题没有附加的详细描述,那我就按一般的思路来说了。
【CTR预估中怎么样加入图片特征图片特征咋提取】 图片特征分两端,一个是ad特征这块,一个是user特征这块。
首先看ad特征,可利用如AlexNet,VGG等成熟的cnn模型,做fine-tunning。就是比如VGG后面三层全连接层是可学习的,把softmax层拿掉。
然后看user特征,这块可以拿过去一段时间用户点击过的ad对应的图片序列,像上面说的用VGG抽取特征后,再过一层lstm,然后可以用attention来做加权平均。attention可以与图片本身的特征,用户画像特征,点击时的上下文有关

■网友
谢邀。
transfer learning的思路

■网友
也不一定要end to end。如果你只需要简单的分类特征,用imagenet的pretrained最后的softmax应该就够了,毕竟也有1000个类了。如果用softmax不放心那就用隐层作为feature。
■网友
接个cnn就行了,要end to end就直接接到最终loss,不要就先做其他任务,把倒数第二层结果拿过来。
■网友
不知使用特征工程的方法,提取图片的主体颜色 亮度等信息作为特征加进去 ,会有效果吗


推荐阅读