论文Paper
xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems
论文链接:https://arxiv.org/abs/1803.05170
- 输入: m*D的矩阵, 为m个特征,每个特征为D维向量
- CIN: 参数W的shape为(1, h_prev*m, h), h为隐层节点个数, h_prev为前一个隐层的节点个数, m个原始输入的特征个数
- 隐层输出: h*D的矩阵, 为h个隐节点, 每个隐节点为D维向量
输入层shape: (batch_size, field_size, embedding_size)
输入层的split: embedding_size 个变量,每个为(batch_size, field_size, 1)
前一个隐层输出的split: embedding_size个变量, 每个为(batch_size, h_prev, 1)
matmul: 输入层split 与 前一个隐层输出的split 进行matmul, matmul时前一个隐层输出的split, 输出为(embedding_size, batch_size, field_size, h_prev)
reshape: (embedding_size, batch_size, field_size, h_prev) =》 (embedding_size, batch_size, field_size * h_prev)
transpose: (embedding_size, batch_size, field_size * h_prev) =》 (batch_size, embedding_size, field_size * h_prev)
conv1d => conv2d
输入:(batch_size, embedding_size, field_size * h_prev) => (batch_size, 1, embedding_size, field_size*h_prev)
filter: (filter_width=1, field_size * h_prev, h) => (1, filter_width=1, field_size*h_prev, h)
输出:(batch_size, embedding_size, h) =>