首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图神经网络在不可见图拓扑上的推广失败

图神经网络在不可见图拓扑上的推广失败
EN

Data Science用户
提问于 2021-06-10 20:25:19
回答 2查看 390关注 0票数 1

我使用PytorchGeometric来训练一个用于节点回归问题的图形卷积网络(图模型是传感器网络中的物理现象;传感器网络实际上是分布在电网中的测量网络(功率、电流、电压),而GNN的目标是预测图中的一些未测量变量)。在训练数据集中,有不同拓扑的图(即不同的edge_index张量),每个拓扑图都有输入张量和标号张量,它们由图中每个节点的浮点数组成。

训练曲线看上去很好,损失曲线收敛到一个很小的值,没有爆炸或消失的梯度。

在训练集中有1000个不同的图形拓扑和大约2000个训练样本。因此,当训练模型在训练集中拓扑发生2或3次的图上进行测试时,结果与每个节点的测试样本标签几乎相同(节点的输入值不同,只看到拓扑)。当训练模型在拓扑发生在训练集中的图上进行测试时,结果稍差。

但是,当模型在不可见的(但类似的)图拓扑上测试时,结果是完全错误的。训练和测试集中的所有图都是用相同的随机过程综合生成的,因此拓扑来自相同的图分布。

由于图形模拟了传感器网络中的物理现象,我期望GNN能够了解传感器信息对相邻变量的影响,即使是对看不见的图形也是如此。

我试着深入到图表中,并添加卷积层。我使用了卷积层:https://github.com/rusty1s/pytorch_几何/水滴/主/火炬_几何/nn/conv/gcn_conv.py#L188

有人有类似的问题吗?是否有一些GNN模型能够更好地在不可见的图形拓扑上进行推广?

干杯!

EN

回答 2

Data Science用户

发布于 2021-06-11 08:37:33

你的问题很有趣。

你有可能知道哪些是你的超参数吗?

似乎有一种过分适合或类似的东西。

尽管如此,以下是一些可能会有所帮助的想法:

1- GNN的大小可能太大,无法学习新的配置。

2- -也许可以使用掉掉一些神经权重,让更多的泛化。

3-我不知道GNN是否可以使用批处理来学习子图(具有特定的大小限制),而不是完全图。我目前正在处理类似的问题,但在一个不同的领域。

如果你有更多的信息来建议更多的想法,请告诉我。

票数 0
EN

Data Science用户

发布于 2021-06-11 17:23:50

我对你问题的非常规回答是,你偶然发现了一些在机器学习中常见的东西,即使它通常不被认可。

事实是,模型从所看到的数据中学习,并对这些数据进行建模,并尽可能地捕获它们的结构(有时它们捕获的结构比理想的甚至存在的要多,换句话说,它们捕获噪声)。

他们无法从看不见的数据中学习。如果发生的情况是看不见的数据只是可见数据的变化,那么一切(通常)都是好的。否则,对未见数据的平均性能并不比随机数据好。随着模型(和数据)变得更加复杂(如图形网络),这一点尤其正确。

一种可能的解决办法是避免你的网络适应过度,这样它们就能更好地推广,但这意味着培训(和验证)性能必然会下降。另一种解决办法是在培训期间将那些看不见的合成图形输入到您的网络中,尽管我不认为这最终会解决这个问题。第三种可能的补救方法是改变网络的体系结构(例如添加更多的层,..)。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/96492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档