euler icon indicating copy to clipboard operation
euler copied to clipboard

请教下为啥无监督类的训练用两个网络分别encoder这么设计?

Open lixusign opened this issue 5 years ago • 6 comments

当前看walk系列的算法包括hne 都是 src encoder一个网络, pos、negs encoder一个网络。这么做的好处是啥,为啥不用一个网络? 可以用一个网络吗?

另外如果这么设计我可不可以用,pos&negs的网络参数作为emb的结果,话说这俩网络原理上啥区别?

lixusign avatar Jun 03 '20 03:06 lixusign

可以用一个,可以用两个,只是我们这边实验用两个网络效果更好,两个网络分别学习不同场景下的encoder

alinamimi avatar Jun 03 '20 03:06 alinamimi

请问 "两个网络分别学习不同场景下的encoder" 怎么理解? 我看导出emb的时候,是走的src的网络,可以走pos&negs的网络吗? 具体出来的emb 直观上两个网络有啥感受上的区别,比如近邻关系的区别?

其实这里面有个问题: 比如我图规模比较大,我做反向传播的时候,用hashembedding加速lookup的过程,这样在反向传播的过程中hash的key还没有,需要实时insert 这样就学习不到那些。所以效果可能不好。

2个网络稠密的variable存储规模大了一倍。

lixusign avatar Jun 03 '20 03:06 lixusign

node做为src时候的Encoder和作为pos&neg时的Encoder可能是不同的。infer的时候可以用pos&neg的Embedding,需要改一下代码。具体用一个还是两个取决于具体场景和算法

alinamimi avatar Jun 03 '20 03:06 alinamimi

小白求介绍下经验呗,代码我改了,但感觉还是得测效果说话,原理上感觉在一个基坐标下的emb都可以作为最终的emb。 这块“具体用一个还是两个取决于具体场景和算法” 求举个栗子🌰

lixusign avatar Jun 03 '20 03:06 lixusign

简单的话,你就都尝试一下,哪个效果好用哪个

alinamimi avatar Jun 03 '20 03:06 alinamimi

我个人理解的是 异构网络 可能走src的emb 更好一点,因为有各种边的att, 同构网络 走pos&nges的网络就可以

lixusign avatar Jun 03 '20 03:06 lixusign