0% found this document useful (0 votes)
23 views14 pages

Almost Free Embeddings Outperform Trained Graph Neural Networks in Graph Classification

A report from 2020 comparing the performance of untrained Gnaph Convolutional Networks (trained and untrained) in labeled graph classification on a range of publicly available datasets. Bilingual (En, Ru)

Uploaded by

vadeem.safronov
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views14 pages

Almost Free Embeddings Outperform Trained Graph Neural Networks in Graph Classification

A report from 2020 comparing the performance of untrained Gnaph Convolutional Networks (trained and untrained) in labeled graph classification on a range of publicly available datasets. Bilingual (En, Ru)

Uploaded by

vadeem.safronov
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Almost Free Inductive Embeddings out-perform

trained Graph Neural Networks in Graph


Classification in a range of benchmarks
To train or not to train - that is not the question
(Anonymous)

Untrained Graph Convolutional Network [1] (uGCN) with randomly assigned weights has
been my primary baseline encoder for a range of tasks on graph data due to extremely low
cost, simplicity of implementation, and quite obvious elegance. Yet no one (to the best of my
knowledge) had reported benchmarks for actual performance of this simple model against
it's big sister - a fully grown (end-to-end trained) Graph Convolutional Network (CGN) in
supervised setting. And so I did.

Motivation: to find out whether or not uGCN produces high quality representations that can
be used in a range of downstream tasks on graphs in the inductive setting, so that trained
models can generalize to previously unseen data (inspired by recently reported results [2] for
the transductive setup).

Results were entertaining. In the worst case scenario simple models (uGCN + degree kernel
+ random forest) scored 54:90 vs end-to-end trained GCNs, while a more realistic scenario
resulted in devastating 93:51, suggesting that we can have almost free embeddings that
outperform or closely match end-to-end trained GCNs in graph classification tasks at
a fraction of cost. Tiny models took only ~10 minutes to train while the whole experiment
lasted ~4 hours. Let’s proceed into details and find out what has happened!

Just in case your reading preferences favour code over essays, please feel free to
experiment with the accompanying colab notebook.

Preliminaries

Many important real-world datasets come in the form of graphs or networks: social networks,
knowledge graphs, protein-interaction networks, the World Wide Web, etc. (just to name a
few) [1].

A Graph usually written as G=(V, E) is a mathematical model consisting of a set of vertices V


and a set of edges E - pairwise connections e(i, j) between vertices i and j. An extension of
Graph is a Labeled Property Graph that allows for feature vectors xi assigned to vertices vi
(we also can assign features to edges, yet this is beyond the scope of today's experiment).

A Graph Neural Network [3] (GNN) is a machine learning model (a parametric function that
adjusts, or in other words learns, parameters from data) that extends a well known family of
biologically inspired algorithms into a domain of unstructured graph data. IMHO, message
passing is the simplest intuition for the mechanics of GNNs and it is reasonable to refer to
the mnemonic rule 'tell me who is your friend and I will tell you who you are'. Graph
Convolutional Networks (GCNs) are very well described by their inventor here
(https://tkipf.github.io/graph-convolutional-networks/) and I find it challenging to tell the story
better.

Multi-layer GCN with first-order filters. Image by Thomas Kipf.

Data

Let's run a series of experiments on publicly available data. We are going to (i) get data from
TUDatasets [4] (a collection of benchmark datasets), and (ii) restrict our exercise to binary
classification (property prediction) of small molecules. Yet another limitation in our endeavour
is (iii) use of graphs with labeled vertices.

Induced constraints leave us with a list of datasets widely used to benchmark novel
algorithms. These are: AIDS, BZR, COX2, DHFR, MUTAG, and PROTEINS. All these data
are already available as a part of Pytorch Geometric [5] (a library for deep learning on
graphs) in two versions: original and cleaned of duplicates [6]. That leaves us with 12
datasets at hand.

AIDS Antiviral Screen Data [7]


(https://wiki.nci.nih.gov/display/NCIDTPdata/AIDS+Antiviral+Screen+Data)
The DTP AIDS Antiviral Screen has checked tens of thousands of compounds for evidence
of anti-HIV activity. Available are screening results and chemical structural data on
compounds that are not covered by a confidentiality agreement. Original dataset contains
2000 molecules, and its cleaned version leaves us with 1110 data points.

Benzodiazepine receptor (BZR) ligands [8]


(https://pubmed.ncbi.nlm.nih.gov/14632439/)
Original dataset contains 405 molecules, and its cleaned version leaves us with 276 data
points.
Cyclooxygenase-2 (COX-2) inhibitors [8]
Original dataset contains 467 molecules, and its cleaned version leaves us with 237 data
points.

Dihydrofolate reductase (DHFR) inhibitors [8]


Original dataset contains 756 molecules, and its cleaned version leaves us with 578 data
points.

MUTAG [9]
(https://pubmed.ncbi.nlm.nih.gov/1995902/)
The MUTAG dataset consists of 188 chemical compounds divided into two classes
according to their mutagenic effect on a bacterium. Its cleaned version leaves us with 135
structures.

PROTEINS [10]
(https://pubmed.ncbi.nlm.nih.gov/12850146/)
Protein graphs from protein files of the protein data bank (PDB) - a dataset of enzymes and
not-enzymes. Original dataset contains 1113 molecules, and its cleaned version leaves us
with 975 data points.

Experiment Design

Tournament be it!

For every dataset we run 12 rounds of training and testing.

For every round we:

(1) make randomized 80/20 split in Pytorch Geometric (starting with random seed = 42
and incrementing the seed by 1 for every following round), so that 80% of data points
(graphs) are assigned into the training set, while the rest 20% go into the test set;

(2) train models on the training set and assess accuracy on the test set.

For tiny models that means preprocessing in order to generate features fed into a
classifier.

For GCNs we run 200 epochs of training and testing with learning rate = 0.01 and
report:
(A) average accuracy for the 10 final epochs - a realistic scenario;
(B) best accuracy achieved along the training process (as if we saved intermediate
states in order to pick the best performing model) - best case scenario for GCNs (and
worst for our tiny models);

(3) best model gets 1 point;


(4) if there’s a tie situation the point goes to the tiniest model.

There are 288 points to be awarded: 12 datasets * 12 rounds * 2 scenarios.

Models

Degree kernel (DK) - a histogram of node degrees (number of edges incident to a particular
vertex), normalized to a number of nodes in a given graph (so that a feature vector for every
graph consists of fraction sizes for nodes with particular number of connections - these sum
to 1).

Untrained Graph Convolutional Network (uGCN) - a feed forward Graph Convolution


Network with randomly assigned weights for 3 layers with ReLU activations in between. We
apply global mean pooling to the output 64-dimensional vectors (node embeddings) in order
to obtain representations for graphs.

A combination of DK and uGCN (Mix) - concatenation of graph representations obtained


by DK and uGCN models.

Random Forest (RF) classifier (from Scikit-learn [11] package) of 100 trees with maximum
depth 17 is trained on the above.

Graph Convolutional Network (CGN) - an end-to-end classifier consisting of 3 convolution


layers (64-dimensional) with ReLU activations in between, a global mean pooling layer (until
this moment GCN closely matches uGCN), followed by a dropout layer and a linear
classifier. We are going to refer to the models in best case scenario (B) as GCN-B, and to
the models in the realistic scenario (A) as GCN-A.

Results

After 144 rounds (12 datasets * 12 rounds) of benchmarking between simple models and
end-to-end trained GCNs the grand total of 288 points distributed as:

147:141

Accuracy on test sets varied between splits and there were situations where tiny models
dominated over the complex contenders.
Datasets where tiny models win: AIDS, DHFR(A), and MUTAG. Image by author, made with
the Seaborn [12] extension of Matplotlib [13].

For example, the degree kernel took all the 48 points on the AIDS dataset demonstrating
10+ percent better accuracy than an end-to-end trained GCN.

Datasets where GCNs shine: BZR, COX2, and PROTEINS.

Points collected:
90 - GCN-B;
71 - DK;
51 - GCN-A;
21 - uGCN.

Please check out the colab notebook for a detailed report of performance.

Overall, performance consistently varied between cleaned and original versions of datasets.
That reminds of the value of having high quality data for reasonably good benchmarks. After
all, the data is small and this might be the reason why we have such unstable results. The
good news is that there is a trend in the research community to address the issue and a
great deal of work is done in order to enable fair benchmarking.

Conclusion

As we see, the experiment proves the conjecture that in the graph property prediction on
small molecules we can have almost free embeddings that outperform or closely match
end-to-end trained GCNs in graph classification tasks at a fraction of cost. These
findings are in line with the results of [2] in that conceptually Label Propagation is very much
alike the message passing in Graph Convolutional Networks. An explanation of such a good
performance, perhaps, is in the dilemma: whether we should adjust spectral filter parameters
so that output embeddings become linearly separable, or just opt for a more robust classifier
as we just did.

Variance of performance between rounds yet again reminds that every benchmark is uneasy.
It is worth mentioning the Free Lunch Theorem and state that use of several models is highly
likely a good choice. Also worth noticing that splits do affect performance - for the same
dataset the same models demonstrate significantly different quality of decisions made. That
is why when benchmarking between models, please make sure you do train and test these
on identical data. Besides, setting random seeds is not a panacea...

Next steps could be benchmarking on bigger datasets. Also it is worth exploring different
problems, such as: link prediction, node and link classification, regression on graphs and so
on - Graph Convolutional Networks (trained and not that much) - are very capable models.

Afterword

I first publicly spoke about uGCN as of one-size-almost-for-all solution over two years ago at
PyData-Lisbon Meetup, naming it A Royal Majestic Shortcut Through The Fourier Space,
and assembled the first pipeline for graph classification around that time in order to
demonstrate the power of graph convolutions to a girl eager to launch her aerospace startup.
This essay is a spin-off of a real experiment (on private data) where we could insignificantly
exceed performance set by tiny models after many hours of training.

Nowadays, as Machine Learning on Graphs has turned into a celebrity, new architectures for
Graph Neural Networks emerge every week. However, there is relatively little understanding
of why GNNs are successful in practice and whether they are necessary for good
performance [2].

Before you step into the wonderful world of Machine Learning on Graphs, please get familiar
with the basics. There’s great effort put into making the latest findings (as well as classical
methods) available to a wider audience free of charge. To name just a few of many
endeavors worth attention: cs224w curriculum and lectures, Open Graph Benchmark [14],
and a recent work on foundations of Geometric Deep Learning [15] that provides a clear
framework for making new architectures yet to be developed. One more thing - do always
start with simple baselines like kernel methods or Unsupervised Graph Convolutional
Networks - quite often these tiny models excel.

Be sustainable, use efficient algorithms. Sometimes not learning is power.

In August 2018, outside the Swedish parliament building, Greta Thunberg started a school
strike for the climate. Her sign reads, “Skolstrejk för klimatet,” meaning, “school strike for
climate”.
Date 27 August 2018, 11:58:37
Source Own work
Author Anders Hellberg
https://commons.m.wikimedia.org/wiki/File:Greta_Thunberg_4.jpg
References

[1] Kipf & Welling, Semi-Supervised Classification with Graph Convolutional Networks
(2017), International Conference on Learning Representations
[2] Huang et al., Combining Label Propagation and Simple Models out-performs Graph
Neural Networks (2021), International Conference on Learning Representations
[3] Scarselli et al., The Graph Neural Network Model (2009), IEEE Transactions on Neural
Networks ( Volume: 20, Issue: 1, Jan. 2009)
[4] Morris et al.,TUDataset: A collection of benchmark datasets for learning with graphs
(2020), ICML 2020 Workshop on Graph Representation Learning and Beyond
[5] Fey & Lenssen, Fast Graph Representation Learning with PyTorch Geometric (2019),
ICLR Workshop on Representation Learning on Graphs and Manifolds
[6] Ivanov, Sviridov & Burnaev, Understanding isomorphism bias in graph data sets (2019),
arXiv preprint arXiv:1910.12091
[7] Riesen & Bunke, IAM Graph Database Repository for Graph Based Pattern Recognition
and Machine Learning (2008), In: da Vitora Lobo, N. et al. (Eds.), SSPR&SPR 2008, LNCS,
vol. 5342, pp. 287-297
[8] Sutherland et al., Spline-fitting with a genetic algorithm: a method for developing
classification structure-activity relationships (2003), J. Chem. Inf. Comput. Sci., 43,
1906-1915
[9] Debnath et al., Structure-activity relationship of mutagenic aromatic and heteroaromatic
nitro compounds (1991), J. Med. Chem. 34(2):786-797
[10] Dobson & Doig, Distinguishing enzyme structures from non-enzymes without alignments
(2003), J. Mol. Biol., 330(4):771–783
[11] Pedregosa et al., Scikit-learn: Machine Learning in Python (2011), JMLR 12, pp.
2825-2830
[12] Waskom, seaborn: statistical data visualization (2021), Journal of Open Source
Software, 6(60), 3021
[13] Hunter, Matplotlib: A 2D Graphics Environment (2007), Computing in Science &
Engineering, vol. 9, no. 3, pp. 90-95
[14] Hu et al., Open Graph Benchmark: Datasets for Machine Learning on Graphs (2020),
arXiv preprint arXiv:2005.00687
[15] Bronstein et al., Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and
Gauges (2021), arXiv preprint arXiv:2104.13478

Учиться, учиться, и ещё раз учиться?


TLDR: копеечные модельки обошли модные графовые нейронки в предсказании
свойств молекул. Код здесь. Берегите Природу.

Необученная графовая свёрточная нейронная сеть [1] (uGCN) со случайной


инициализацией весов уже пару лет занимает первое место в моём списке алгоритмов
для задач машинного обучения на графах из-за копеечной стоимости, простоты
реализации, да вполне очевидной элегантности решения. В то же время, насколько
мне известно, никто ещё не не проводил соревнований между этой простой моделью и
её старшей сестрой - полноценно обученной графовой свёрточной нейронной сетью
(GCN) в режиме обучения с учителем. Вот я сделал.

Мотивация: показать, что uGCN выдаёт качественные представления, которые можно


использовать в последующих задачах машинного обучения в индуктивном режиме
(вдохновлено недавним отчётом [2] о производительности простых моделей в
трансдуктивном случае).

Полученные результаты - занимательны. В худшем случае простые модели (uGCN +


degree kernel + random forest) показали счёт 54:90 против полноценно обученных GCN,
в то время как реалистичный сценарий закончился разгромным реваншем 93:51,
указывающим на то, что мы можем позволить себе почти бесплатные эмбеддинги,
которые превосходят или показывают результаты на уровне полноценно обученных
GCN в задаче предсказания свойств графа (например - эффекта медикаментов: яд
или лекарство) за долю стоимости. Простые модели обучались ~10 минут в то время
как весь эксперимент продлился ~4 часа. Перейдём же к деталям и разберёмся с тем,
что произошло!

Основные понятия

Многие из важных наборов данных об окружающем нас мире имеют связный характер:
социальные сети, графы знаний, взаимодействия белков, всемирная паутина WWW и
т.д. (просто несколько примеров) [1].

Граф, обыкновенно записываемый как G=(V, E) - это математическая модель,


множество множеств, состоящее из набора вершин V и множества рёбер E - попарных
связей e(i, j) между вершинами i и j. Расширением Графа является модель Граф со
Свойствами (Labeled Property Graph), позволяющий задать вектор признаков xi для
вершины i (мы также можем определять свойства для рёбер, однако это выходит за
рамки сегодняшнего эксперимента). Графовая нейронная сеть [3] (GNN) - это модель
машинного обучения (параметрическая функция, которая подбирает, другими словами
- выучивает, параметры из данных), расширяющая возможности хорошо известного
семейства алгоритмов, вдохновлённых биологией, до работы с неструктурированными
данными в виде графов. На мой взгляд, передача сообщений - это самая простая
интуиция для понимания механики работы GNN и вполне оправдано обратиться к
мнемоническому правилу 'скажи мне, кто твой друг и я скажу тебе кто ты'. Графовые
свёрточные нейронные сети (GCN) очень подробно описал их изобретатель здесь
(https://tkipf.github.io/graph-convolutional-networks/) и мне, право, непросто что-то ещё
добавить к этой замечательной истории.

Дабы не заниматься самоцитированием, могу предложить читателю ознакомиться с


рассказом о том, где и как врубиться в эмбеддинги графов, а также - с примером
использования GCN в структурном моделировании организационных изменений.

Многослойная GCN с фильтрами первого порядка.


Данные

Проведём серию экспериментов на общедоступных данных. Мы обратимся к (i)


коллекции TUDatasets [4] и ограничим наше упражнение задачей бинарной
классификации (предсказанием свойств) небольших молекул. Ещё одним условием
нашего мероприятия будет (iii) использование графов с признаками вершин.

Заданные ограничения оставляют нам несколько наборов данных, широко


используемых для сравнения современных алгоритмов. Вот наш итоговый список:
AIDS, BZR, COX2, DHFR, MUTAG и PROTEINS. Все обозначенные наборы данных
доступны как часть Pytorch Geometric [5] (библиотека для глубокого обучения на
графах) в двух версиях: оригинальной и очищенной от дубликатов [6]. Итого у нас
будет 12 датасетов.

AIDS Antiviral Screen Data [7]


(https://wiki.nci.nih.gov/display/NCIDTPdata/AIDS+Antiviral+Screen+Data)
Результаты экспериментов по выявлению химических соединений, негативно
влияющих на вирус иммунодефицита человека. Представляет собой результат
тестирования и химическую структуру соединений не покрытых соглашениями о
неразглашении. В оригинальном наборе содержится 2000 молекул, а очищенная
версия оставляет нам 1110 точек данных, каждая из которых представляет собой граф,
вершины которого описывают 37 признаков.

Benzodiazepine receptor (BZR) ligands [8]


(https://pubmed.ncbi.nlm.nih.gov/14632439/)
Оригинальный набор содержит 405 молекул, очищенная версия - 276, по 35 признаков
на вершину.

Cyclooxygenase-2 (COX-2) inhibitors [8]


Оригинальный набор содержит 467 молекул, очищенная версия - 237, по 35 признаков
на вершину.

Dihydrofolate reductase (DHFR) inhibitors [8]


Оригинальный набор содержит 756 молекул, очищенная версия - 578, 35 признаков на
вершину.

MUTAG [9]
(https://pubmed.ncbi.nlm.nih.gov/1995902/)
В наборе содержится 188 химических соединений, разделённых на два класса
согласно их мутагенному воздействию на бактерии. В очищенной версии - 135
молекул, 7 признаков на вершину.

PROTEINS [10]
(https://pubmed.ncbi.nlm.nih.gov/12850146/)
Энзимы и не-энзимы. В оригинальном наборе содержится 1113 молекул, по 3 признака
на вершину. Очищенная версия - 975 структур.
Дизайн Эксперимента

Мы устроим турнир!

Для каждого набора данных проведём 12 раундов обучения и тестирования.

В каждом раунде:

(1) псевдослучайным образом разделим данные в пропорции 80/20 в Pytorch


Geometric (начиная со стартового параметра генератора random seed = 42 и
увеличивая его на единицу в каждом последующем раунде), таким образом 80%
точек данных (графов) будут использованы в качестве обучающей выборки, а
оставшиеся 20% - будут тестовой выборкой;

(2) обучим модели и оценим долю верных ответов (accuracy) на тесте.

Для простых моделей это значит предобработку для того, чтобы создать
признаки, на которых будет обучен классификатор.

Для GCN мы проводим 200 эпох обучения и тестирования со скоростью


обучения learning rate = 0.01 и принимаем во внимание:
(А) среднее значение доли верных ответов для 10 финальных эпох обучения -
реалистичный сценарий;
(В) наибольшее значение доли верных ответов, достигнутое в процессе
обучения (как если бы мы сохраняли промежуточное состояние для того, чтобы
выбрать наилучшую модель впоследствии) - наилучший сценарий для GCN (и
наихудший для простых моделей);

(3) лучшей модели присуждается 1 балл;

(4) в случае ничьей балл присуждается лёгкой модели.

Всего будет распределено 288 баллов: 12 датасетов * 12 раундов * 2 сценария.

Модели

Degree kernel (DK) - степенное ядро - гистограмма степеней вершин (количество


рёбер, соединённых с вершиной), нормированное к числу вершин в графе (таким
образом вектор признаков для каждого графа состоит из размеров долей вершин с
количеством связей, равным индексу признака, от всего множества вершин - в сумме
они дают единицу).

Необученная графовая свёрточная нейронная сеть (uGCN) со случайной


инициализацией весов - 3 слоя с промежуточной нелинейной активацией (ReLU, т.е.
f(x) = max(x, 0)). Аггрегация усреднением полученных после прямого прохода
64-разрядных векторов (эмбеддинги вершин) позволяет получить компактное
представление графа.

Комбинация DK и uGCN (Mix) - конкатенацией представлений графа, полученных с


помощью моделей DK и uGCN.

Для каждой из первых трёх моделей обучаем классификатор - случайный лес из 100
деревьев с максимальной глубиной в 17 ветвлений.

Графовая свёрточная нейронная сеть (GCN) - полноценно обученный классификатор,


состоящий из 3 свёрточных слоёв размерностью 64 с промежуточной нелинейной
активацией (ReLU), агрегацией усреднением (до этого момента архитектура GCN
очень похожа на uGCN), за которой следует слой регуляризации дропаутом
(произвольным обнулением разрядов с вероятностью 50%) и линейный
классификатор. Мы будем обозначать результаты модели, отобранные в наилучшем
для GCN сценарии (B) как GCN-B, а модели в реалистичном сценарии (А) как GCN-A.

Результаты

После 144 раундов (12 датасетов * 12 раундов) сравнения качества предсказаний на


отложенной выборке между простыми моделями и полноценно обученными
графовыми свёрточными сетями 288 баллов распределились как:

147:141

Доля верных ответов на тестовых выборках варьировалась между раундами и


ситуации, в которых простые модели доминировали над более сложными
противниками.

Наборы данных, в которых простые модели побеждают: AIDS, DHFR(A) и MUTAG.

Например, DK собрала все 48 баллов для набора данных AIDS, демонстрируя отрыв
более чем на 10% (абсолютное значение) от доли верных ответов полноценно
обученной GCN.

Здесь побеждают GCN: BZR, COX2 и PROTEINS.

Индивидуальный зачёт:
90 - GCN-B;
71 - DK;
55 - Mix (uGCN + DK);
51 - GCN-A;
21 - uGCN.

Достаточно подробный протокол соревнований приведён в блокнотике с кодом.


В целом, результаты стабильно варьировались между очищенными и оригинальными
наборами данных. Это ещё раз напоминает о важности качества данных для
проведения адекватных сравнений между моделями. Хорошая новость в том, что в
исследовательском сообществе уже есть движение в данном направлении и
значительные усилия лучших умов в области уже направлены на организацию честных
турниров.

Выводы

Как видим, проведенный эксперимент подтверждает предположение о том, что в


задаче предсказания свойств молекул мы можем позволить себе использовать почти
бесплатные эмбеддинги, которые превосходят или показывают результаты на уровне
полноценно обученных нейронных сетей. Наблюдения согласуются с вдохновляющими
этот эксперимент результатами [2] в том, что концептуально метод Label Propagation
очень похож на передачу сообщений в графовой свёрточной нейронной сети.
Объяснение эффективности скорее всего следует искать в том, что на самом деле
мощнее - подбирать параметры фильтров для того, чтобы внутренние представления,
выученные сетью стали линейно разделимыми, либо же просто использовать
классификатор помощнее, как это сделано в рассмотренном примере.

Дисперсия результатов между раундами соревнования напоминает о том, что всякое


сравнение - дело непростое. Здесь стоит упомянуть Free Lunch Theorem и напомнить о
том, что использовать сразу несколько моделей в построении решения - скорее
хороший тон. Также важно отметить влияние разбиения на выборки в ходе сравнения -
на одном и том же наборе данных одна и та же модель может показывать очень разное
качество. Поэтому сравнивая модели, убедитесь, что обучаете и тестируете их на
идентичных выборках. К слову, фиксация параметров генератора псевдослучайных
чисел - не панацея…

Дальнейшими шагами может быть сравнение производительности моделей в рамках


наборов данных больших размеров. Также стоит проверить результаты и в других
задачах, таких как: предсказание связи, классификация вершин, регрессия на графах,
и прочих - графовые нейронные сети (как обученные, так и просто так) - на многое
способны.

Послесловие

В лекции открытого курса по графам знаний uGCN названа Королевской Лазейкой


Через Пространство Фурье, этот ярлык приклеился с тех пор, когда впервые выступил
на публике с рассказом о силе графов и провёл первые эксперименты с
классификацией картинок (как графов) для того, чтобы продемонстрировать мощь
спектральных фильтров одной юной леди, запускавшей стартап в милой моему сердцу
аэрокосмической области. Данная заметка появилась в результате того, что пару
недель назад в реальной задаче на закрытых данных простенькие модели показали
результат, который полноценно обученные GCN смогли превзойти всего на 2% (96
против 98) и мне вздумалось проверить вопрос о том, кто кого заборет ещё на
каких-нибудь данных.
В наши дни машинное обучение на графах превратилось в знаменитость, всё больше
исследователей обращают внимание на эту область и новые архитектуры графовых
нейронных сетей появляются каждую неделю. Однако на самом деле мы ещё не очень
хорошо понимаем почему GNN так успешны и нужны ли они для хорошего качества
решения [2].

Перед тем, как ступать на очаровательный путь машинного обучения на графах,


пожалуйста ознакомьтесь с основами этого дела. Значительные усилия прилагаются к
тому, чтобы сделать новейшие достижения (да и классические методы тоже)
доступными широкой аудитории совершенно бесплатно. Упомяну лишь несколько из
таких инициатив: материалы и лекции стенфордского cs224w, площадку для
тестирования качества алгоритмов Open Graph Benchmark [14] и недавнюю работу об
основах геометрического глубокого обучения [15] - методологию разработки новых
архитектур нейронных сетей. Напоследок, ещё раз напомню о том, что начинать
проекты машинного обучения стоит с простых методов, вроде ядер и необученных
графовых свёрточных сетей - достаточно часто эти модельки показывают неприлично
хороший уровень.

Берегите Природу, используйте алгоритмы эффективно. Порою неученье - сила.

You might also like