Реализация гетерогенной нейронной сети с использованием нескольких мини-графов в TensorFlow
Использование
Задача (полу)контролируемой классификации узлов в графе.
Введение
Сначала мы представляем механизм на основе kNN для объединения разнообразных, но похожих графов, а затем представляем механизм внимания для изучения важности разнородной информации. Чтобы улучшить представление разреженных и многомерных признаков, создаётся соединение в стиле остаточной связи, которое встраивает ванильные признаки в скрытое состояние.
Общая архитектура нашего предложения показана здесь. Левая часть иллюстрирует генерацию гиперграфов на основе kNN с учётом обычных признаков узлов и их связанных отношений. Мы объединяем матрицу признаков сгенерированных гиперузлов из разных подграфов с входной матрицей признаков, чтобы сформировать окончательное представление признаков, которое подаётся в нейронные сети. Прогноз делается на основе изученного скрытого состояния, полученного из средней процедуры. Разные цвета узлов и рёбер указывают на разные типы узлов и отношений.
TensorFlow (>=1.12), pandas, numpy.
python HMGNN.py
Данные, используемые в быстром старте, — это набор данных Cora. Набор данных Cora состоит из 2708 научных публикаций, классифицированных по одному из семи классов. Набор данных Cora сохранён как .npy в каталоге ./data:
— labels.npy: форма=(2708, 7). Каждая публикация классифицируется по одному из семи классов;
— features.npy: форма=(2708, 1433). Каждая публикация описывается вектором слов 0/1. Словарь состоит из 1433 слов;
— edges_mat.npy: форма=(2, 10556). Граф состоит из 10 556 ссылок, и каждый элемент в edges_mat.npy представляет node_id.
Параметры определены в hparam.py. Основные параметры включают:
— feature dimensions: feature_dim=1433;
— epochs=10;
— learning_rate=0.0005;
— использование внимания: attention=True;
— использование ванильных признаков: residual=True.
Мы сравниваем наше предложение, HMGNN, с GCN, одним из классических подходов, основанных на свёрточных сетях графа. Обучающий набор данных используется для обучения модели, в то время как выбор модели основан на производительности на проверочном наборе данных. Рассматривается мера точности. Наш предложенный метод достигает лучшей производительности.
HMGNN | GCN | |
---|---|---|
train_acc | 0.908 | 0.860 |
val_acc | 0.867 | 0.854 |
В таблице выше показана точность HMGNN и GCN. На рисунках показаны подробные кривые потерь и точности на обучающем и проверочном наборах данных.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )