Инвариантность перестановки GNN к входным данным?
У меня проблема с инвариантностью перестановок и эквивариантностью графовых нейронных сетей. В моей настройке у меня есть набор узлов, которые связаны через набор ребер. Я хотел бы предсказать бинарные классы относительно. узлы, например, метка представляет собой вектор из нулей и единиц.
На этапе построения графа я в основном складываю «положительные» и «отрицательные» узлы друг над другом несортированным образом в предположении, что GNN является эквивалентным перестановкам. Таким образом, матрица признаков узла: [X_p, X_n]^T. Таким образом, пока вектор метки переставляется таким же образом, он должен работать нормально при эквивариантности перестановки.
Однако я обнаружил, что точность моего прогноза сильно падает, как только я перемешиваю матрицу признаков узла (аналогично вектору меток). Это приводит меня к интерпретации, что наивная операция стекирования облегчила проблему обучения.
Все операции, которые выполняла GNN, были MLP (X*W), ReLU, суммы агрегации соседства, сигмоид или использование преимущества связности узлов через матрицу смежности (edge_index в torch_geometric). Таким образом, порядок узлов не может повлиять на результат обучения, поскольку все операции инвариантны к перестановкам. Тем не менее, происходит обратное.
Буду признателен за любую помощь. Большое тебе спасибо!