van19
van19
第9章 手动一节,有这一行 gradients = 2/m * tf.matmul(tf.transpose(X), error) 实际执行时,由于2/m(m是整数)结果为0,导致gradients为0,算法不收敛
我也有此疑问, 按论文中的意思,y_FM= reduce_sum(first_order,1) + reduce_sum(second_order,1) y_DNN = reduce_sum(y_deep,1),这个和 concat([first_order, second_order, y_deep]) X weights["concat_projection"])是不等价的吧,毕竟weights["concat_projection"]是不全为1的向量(变量),而且只有wx和DNN最后一层需要乘,second_order的xixj项不需要乘weight 不知道是不是我理解不对? concat之后再输出,在计算结果上,和论文中 sigmoid(y_FM+y_DNN) 单独计算再加和是一样的。 我觉得first order乘以feature_bias是多余的。因为embedding的结果与deep、second order拼接最后接一个projection layer,只看feat_value-projection这一块就已经是等价LR 的形式(论文中的公式2),在前面乘以一个feature_bias又不加非线性激活函数完全没必要。 PS:在gayhub上讨论,是不是还是用英语更合适? _Originally posted by @futureer in https://github.com/ChenglongChen/tensorflow-DeepFM/issues/32#issuecomment-451852547_