Dlaczego siatki nie działają na grafach
Sieci neuronowe convolucyjne odnoszą sukces dzięki prostemu regularnemu wzorcowi: obraz jest ustaloną siatką pikseli, więc małym filtrze można skierować w spójny i dobrze zdefiniowany sposób po całej siatce, a każdy piksel ma taką samą liczbę sąsiadów w tych samych względnych położeniach. Grafy nie oferują takiej możliwości. Sieć społecznościowa może mieć osobę z trzema przyjaciółmi i inną z tysiącem; mol może mieć atom karboneuszowy powiązany z cztery sąsiady, a atom wodoru tylko jeden. Nie ma naturalnej kolejności sąsiedztwa węzła ani ustalonego rozmiaru sąsiedztwa, więc trik okienka przesuwającego się, który sprawia, że convolucja jest tak skuteczna dla obrazów, nie ma miejsca, gdzie mógłby chwycić. Sieci neuronowe grafowe (GNN) zostały zaprojektowane od podstaw, aby radzić sobie z tą nierównomierność, traktując zmienne rozmiary i niestosowne sąsiedztwa jako obywatela pierwszej klasy, a nie jako nieporadkę do przekształcenia.
Przekazywanie Wiadomości: Każda Węzeł Słuchuje swoich Sasiadow
Ponadmiędziany pomysł obliczeniowy założony na prawie wszystkich współczesnych sieciach grafowych (GNN) polega na przekazywaniu wiadomości. Każdy węzeł zaczyna od pewnego początkowego wektora cech — być może typu elementu atomowego lub atrybutów profilu użytkownika — a następnie, w jednym rundzie, każdy węzeł zbiera wiadomości ze swoich bezpośrednich sąsiadów, łączy je i używa wyniku do zaktualizowania własnej reprezentacji. Konkretnie, węzeł wysyła przekształcany wersja swoich obecnych cech po każdej krawędzi, odbiorca zbiera wszystkie przychodzące wiadomości w jeden podsumowujący wektor, a mały sieci neuronowej łączy ten podsumowujący wektor z wcześniejszym stanem węzła, tworząc aktualizowaną wersion. Po tym kroku, reprezentacja każdego węzła odzwierciedla nie tylko własne atrybuty, ale także przetworzoną wersję tego, z kim jest połączony, co dokładnie jest rodzajem kontekstu relacyjnego, który sieci oparte na siatkach nie mają sposobu na zapisanie.
Stosowanie warstw do osiągnięcia dalszej przestrzeni na grafie
Jedno przejście wiadomościowskie pozwala węzłowi zobaczyć tylko jego bezpośrednie sąsiady, czyli sąsiadów o jednym hopcie oddalonych. Stosując drugą warstwę, każdy węzeł teraz agreguje informacje z sąsiadów, którzy sami już przyspieszono informacje do swoich własnych sąsiadów, co rozszerza jego efektywny widok na dwa hopcie. Stosowanie k warstw pozwala informacjom dotrzeć na dystans k hopci przez graf, stopniowo rozszerzając obszar docenia węzła tak samo, jak stosowanie warstw konwolucyjnych rozszerza obszar docenia nad obrazem. Jest to potężna narzędzie, ale przypisuje się mu znane zagrożenie nazywane przesmazaniem: zbyt wiele warstw spowoduje, że reprezentacja każdego węzła zacznie łączyć informacje z tak wielu części grafu, że różne węzły zaczną wyglądać prawie identycznie, usuwając strukturę, którą sieć miała nauczyć. W praktyce większość GNNów stosowanych do rzeczywistych zadań pozostaje niewielko głęboka, zwykle dwu do sześciu warstw, osiągając równowagę między dotarciem dalekiego kontekstu a zachowaniem jednostajnej tożsamości każdego węzła.
Funkcje agregacyjne i niezależność od permutacji
Krok, w którym węzeł kombinuje wiadomości ode wszystkich swoich sąsiadów do jednego wektora, nazywa się funkcją agregacyjną, a wybór jej rodzaju ma znaczenie. Funkcja sumy zachowuje informację o tym, ile sąsiadów przyczyniło się do komunikacji, co może być najbardziej wyrażeniem z punktu widzenia teoretycznego; średnia normalizuje przez wielkość sąsiedztwa, co jest bardziej stabilna dla węzłów o bardzo różnym liczebnością połączeń; a maksimum wybiera jedynie najbardziej wyraźny sygnał sąsiada, który może być użyteczny do wykrywania obecności konkretnego wzoru niezależnie od jego popularności. Niezależnie od tego, jaką funkcję wybierzemy, musi ona spełniać jedno niepodzielne wymaganie: niezależność od permutacji. Sąsiedzi węzła nie przychodzą w jakimkolwiek naturalnym porządku, więc podawanie ich do funkcji agregacyjnej w inny porządek musi prowadzić do dokładnie takiego samego wyniku. Suma, średnia i maksimum naturalnie spełniają to wymaganie, co jest powodem, dla którego dominują one nad operacje zależne od porządku; bez niezależności od permutacji, taka sama graf mógłby dać inny wynik tylko dlatego, że lista sąsiadów została zapisana w innej kolejności.
Od molekuł do grafów społecznych
Z powodu natury relacjonalnej wielu zestawów danych rzeczywistych, GNN (globally connected neural networks) zdobyły szerokość zastosowań w różnorodnym spektrum dziedzin. W badaniach leków i chemii molekuła modelowana jest jako graf atomów połączonych wiązaniami, a GNN może przewidzieć właściwości takie jak rozpuszczalność, toksyczność lub siła powiązania bezpośrednio z tej struktury, znacząco przyspieszając etap początkowy filtrywania kandydatów w porównaniu do ręcznie zaprojektowanych opisów chemicznych. W analizie sieci społecznych GNN wspierają zadania takie jak prognozowanie, które użytkownicy są najprawdopodobniej zamiłowani do stworzenia relacji, wykrywanie skupień fałszywych kont koordynowanych lub klasyfikacja prawdopodobnych zainteresowań użytkownika poprzez łączenie profilu własnego z sygnałami pochwyconymi z ich połączeń. Systemy rekomendacji coraz częściej przedstawiają interakcję między użytkownikami a przedmiotami jako graf dwustronny, używając przekazywania wiadomości, aby kształtować wycinkę produktu przez wszystkich, którzy go kupili, a wycinkę użytkownika przez wszystko, co on kupił, tworząc rekomendacje, które zaszczycają wzorców kolaboracyjnych znacznie bogatszych niż proste oceny podobieństwa. Prognozowanie ruchu, detekcja fałszerstw i nawet przewidywanie struktury protein opierają się na tej samej podstawowej myśli: struktura powinna informować o reprezentacji.
Często zadawane pytania
Jak GNN różni się od regularnej sieci neuronowej konwolucyjnej?
CNN korzysta z ustalonego, regularnego struktury obrazu, gdzie każdy piksel ma zawsze taką samą liczbę sąsiadów w przewidzianych położeniach, co pozwala na jednorodne przesuwanie filtrów po wejściu. GNN jest zaprojektowany do pracy z grafami, gdzie wierzchołki mogą mieć całkowicie różne liczby sąsiadów bez naturalnej kolejności między nimi, dlatego zamiast przesuwanymi filtrami używa przesyłania wiadomości i przekazywania informacji w sposób niezależny od permutacji, niezależnie od ilości sąsiadów ani ich kolejności.
Co oznacza 'over-smoothing' i dlaczego ogranicza to głębokość GNN?
Over-smoothing występuje, gdy zbyt wiele warstw przesyłania wiadomości jest stosowanych, co powoduje, że reprezentacja każdego wierzchołka powtarzająco łączy się informacjami z coraz większym obszarem grafu, aż w końcu nieokreślone wierzchołki stają się prawie nierozróżnialne od siebie. Ponieważ każda dodatkowa warstwa rozszerza obszar odbioru wierzchołka o kolejny skok, głębokie GNN ryzykują utratę lokalnej struktury, której powinni byli zachować, co jest przyczyną tego, że większość praktycznych GNN pozostaje stosunkowo słaby, często tylko dwie do sześć warstw.
Dlaczego wybór między sumowaniem, średnimi i maksimum wagi agregacji ma znaczenie?
Każdy agregator zachowuje różne informacje: suma zachowuje zrozumienie wielkości sąsiedztwa oraz siły sygnału, a średnia normalizuje do porównywalności między wierzchołkami o bardzo różnym liczebnością sąsiadów, a maksimum izoluje najsilniejszy sygnał sąsiada. Poprawny wybór zależy od zadania, ale wszystkie trzy mają wspólną cechę niezależności od permutacji, co oznacza, że wynik nigdy nie zależy od przypadkowej kolejności przetwarzania sąsiadów.
Czy GNN może obsługiwać krawędzie z własnymi cechami, takimi jak typ wiązania lub siła przyjaźni?
Tak. Wiele wariantów GNN rozszerza proste przesyłanie wiadomości tak, że wiadomość przekazywana po krawędzi zależy nie tylko od cech wysyłającego wierzchołka, ale również od własności przypisanych do krawędzi, takich jak typ chemicznej wiązania, odległość lub wagę interakcji. To pozwala sieci rozróżniać, na przykład pojedyncze wiązanie od podwójnego wiązania, czy bliskie przyjaźń od casualnej znajomości, zamiast traktować każdą połączenie identycznie.
Czy GNN potrzebuje etykiet dla każdego wierzchołka, aby nauczyć się czegoś użytecznego?
Niekoniecznie. Choć wiele GNN jest treningowanych do zadań nadzorowanych, takich jak prognozowanie toksyczności moluolu, podejścia samozdobrowane i niesuperywizowane również mogą nauczyć użyteczne węzełowe wyczerpywania przez przewidywanie struktury grafu, np. czy istnieje krawędź między dwoma wierzchołkami, co jest szczególnie wartościowe w dziedzinach takich jak sieci społeczne, gdzie tylko mały procent węzłów może posiadać jasno określone etykiety.
▶ Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Graph Neural Networks: Learning on Relational Data i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.