1. 简介
- DeepFM模型2017年由哈尔滨工业大学与华为公司联合提出,将FM的模型结构与Wide&Deep模型进行了整合。DeepFM对Wide&Deep模型的改进之处在于,它用FM替换了原来的Wide部分,加强了浅层网络部分特征组合能力。DeepFM模型结构如下,左边的FM部分与右边的DNN部分共享相同的Embedding层;
2. DeepFM模型结构
2.1 FM部分
FM部分.png2.2 Deep部分
Deep部分.png2.3 DeepFM目标函数
- 上式中,表示特征数;表示第个特征域对应的embedding,总共有个特征域;表示DNN隐层数量。
3. DeepFM模型理解
- DeepFM模型,注意事项:
(1)对于线性层,sparse id类特征和dense特征直接输入到linear层;
(2)FM 2阶交叉层:只有sparse id特征编码之后才会输入到该层,dense特征想要和sparse特征做特征交叉必须分桶处理;
(3)sparse id转成embedding向量之后才输入到DNN模型中;
(4)dense类特征输入到DNN模型需要做归一化处理; - deepfm tensorflow代码实现:https://github.com/shenweichen/DeepCTR/blob/master/deepctr/models/deepfm.py
参考资料
- 【DeepFM论文】DeepFM: A Factorization-Machine based Neural Network for CTR Prediction https://arxiv.org/pdf/1703.04247.pdf
- 【DeepFM模型及代码实现汇总】https://paperswithcode.com/paper/deepfm-a-factorization-machine-based-neural#code
网友评论