alibaba / euler

A distributed graph deep learning framework.
Apache License 2.0
2.89k stars 559 forks source link

Euler的embedding是归一化的吗? #231

Open Zdm-Jdsc-lalala opened 4 years ago

Zdm-Jdsc-lalala commented 4 years ago

请问 euler的embedding是不是没有归一化呀,是因为效果与归一化一样吗?

alinamimi commented 4 years ago

没有归一化

Zdm-Jdsc-lalala commented 4 years ago

想得到embedding,再接上层任务,请问您有经验,归一化效果会更好吗?在想要不要归一化。

Zdm-Jdsc-lalala commented 4 years ago

还有个问题是聚合函数,都将embedding 给 dense了一下,这是为什么呀?比如下面这个 agg_embedding 的维度已经是dim了,还要接一个dense层,输出维度也是dim,多加了一层, 是因为什么呢?如果是端到端的效果,加一层,效果可能比较好,但是我看无监督的也会dense, 这块不太明白。 def call(self, inputs): self_embedding, neigh_embedding, adj = inputs adj = _sparse_ones_like(adj)

degree = tf.reshape(tf.sparse_reduce_sum(adj, 1), [-1, 1])
agg_embedding = tf.sparse_tensor_dense_matmul(adj, neigh_embedding)
if self.renorm:
  agg_embedding = (self_embedding + agg_embedding) / (1. + degree)
else:
  agg_embedding = self_embedding + agg_embedding / tf.maximum(degree, 1e-7)
return self.dense(agg_embedding)
zakheav commented 4 years ago

加dense单纯为了增加模型容量,同时也是为了框架通用性考虑