GNN Practice 1
by @teasgen
Created on November 5|Last edited on November 6
Comment
Я имплементировал две графовые свертки: GСN и GAT. А третью GraphSage взял из семинара.
После чего на одинаковом наборе данных Cora обучил графовые нейросети для классификации, для этого реализовал перебор топ3 важных (по моему мнению) гиперпараметров
GraphSage
Гиперпараметры:
- num_layers: [1, 2, 5]
- hidden_dim: [32, 64]
- lr: [1e-2, 1e-3]
Cora dataset
Showing first 10 runs
Showing first 10 runs
Run set
52
Лучшая конфигурация для Cora: [5, 32, 1e-2], набирающая test_acc = 0.800 на последнем чекпоинте
CiteSeer dataset
Run set
48
Лучшая конфигурация для CiteSeer: [2, 32, 1e-3], набирающая test_acc = 0.702
Для второго датасета подбор гиперпараметров более важен, чем для Cora, помимо этого обучение сильно дольше, что можно увидеть по логам обучения в колабе. Однако сетка все равано обучалсь до нормального качества.
GСN
Гиперпараметры:
- num_layers: [1, 2, 5, 10]
- hidden_dim: [32, 64]
- lr: [1e-2, 1e-3, 3e-4]
Cora dataset
Run set
52
Лучшая конфигурация: [2, 64, 1e-3], набирающая test_acc = 0.805. Отмечу, что для этой сети сильно важнее подбор гиперпараметров, иначе как видно про графику test_acc многие комбинации просто не подходящие.
CiteSeer dataset
Run set
48
Лучшая конфигурация: [2, 32, 1e-2], набирающая test_acc = 0.711
GAT
Гиперпараметры:
- num_layers: [1, 2, 5, 10]
- heads: [1, 2]
- lr: [1e-2, 1e-3]
Cora dataset
Run set 2
52
Лучшая конфигурация: [1, 64, 1e-3], набирающая test_acc = 0.787 на чекпоинте из 230 эпохи. К моему удивлению эта свертка выступила хуже всех, возможно требуется поискать лучше гиперпараметры или оптимизатор + шедулер, но это занимает очень много времени((
Run set 2
48
Лучшая конфигурация: [2, 32, 1e-2], набирающая test_acc = 0.679
Вывод
Лучшая модель в моем сетапе - GCN, которая в целом дает такой же результат, как и GraphSage, однако последний проще в настройке гиперпараметров. GAT у меня не получилось завести до качества лучше других моделей, так что есть поле для дальнейших экспериментов, однако все предложенные свертки получилось успешно имплементировать и получить приемлимое качество, а так же протестировать на двух open source датасетах.
| Dataset | Model | Accuracy |
|---|---|---|
| Cora | GraphSage | 0.800 |
| GCN | 0.805 | |
| GAT | 0.787 | |
| CiteSeer | GraphSage | 0.702 |
| GCN | 0.711 | |
| GAT | 0.679 |
Add a comment