Чому сітки не працюють на графах
Згорткові нейронні мережі завдячують своїй успішності простому закономірності: зображення є фіксованою сіткою пікселів, тому невеликий фільтр може ковзати по ній послідовно та з добре визначеним способом, і кожен піксель має однакову кількість сусідів у тих самих відносних позиціях. Графи не пропонують такої можливості. Соціальна мережа може мати одну людину з трьома друзями та іншу з трьома тисячами; молекула може мати вуглецевий атом, пов'язаний із чотирма сусідами, і водень, пов’язаний лише з одним. Не існує природного порядку сусідів вузла та не має фіксованої величини сусідства, тому трюк із ковзаючим вікономним вікном, який робить згортку настільки ефективною для зображень, просто не має куди вхопитися. Графічні нейронні мережі (GNN) були розроблені з нуля, щоб справлятися з цією нерегулярністю, розглядаючи змінну величину та безвпорядковані сусідами як першорядного громадянина, а не як проблему, яку потрібно було відформатувати.
Передача повідомлень: Кожна Нода Слухає Своїх Соседів
Основна обчислювальна ідея, що лежить в основі майже кожної сучасної GNN, — це передача повідомлень. Кожен вузол починається з деякого початкового вектор атрибутів — можливо, типу елемента атома або атрибутів профілю користувача — і потім, за один раунд, кожен вузол отримує повідомлення від своїх безпосередніх сусідів, об'єднує ці повідомлення разом і використовує результат для оновлення своєї власної репрезентації. Конкретно, вузол надсилає трансформований версію своїх поточних атрибутів вздовж кожного краю, приймаючий вузол агрегує всі вхідні повідомлення в один зведений вектор і невеликий нейронна мережа поєднує цей зведений вектор із власним попереднім станом вузла, щоб створити оновлене відображення. Після цього представлення кожного вузла відображає не лише його власні атрибути, але й відчуття того, до кого він підключений, що є саме тим родовим контекстом, який мережі на основі сітки не може вловити.
Надкладання шарів для досягнення більшого охоплення в графі
Один цикл обміну повідомленнями дозволяє вузлу бачити лише своїх безпосередніх сусідів – сусідів на відстані одного кроку. Якщо надкласти другий шар, кожен вузол тепер агрегує інформацію від сусідів, які вже самостійно поглинули інформацію від своїх власних сусідів, таким чином його ефективний огляд розширюється до двох кроків. Надкладання k шарів дозволяє інформації подорожувати на відстані k кроків у графі, поступово розширюючи поле сприйняття кожного вузла так само, як і надкладання згорткових шарів розширює поле сприйняття зображення. Це потужний інструмент, але він супроводжується добре відомою пасткою – перерозгладжуванням: якщо надкласти занадто багато шарів, то представлення кожного вузла починає зливатися з інформацією від такої великої кількості графа, що окремі вузли починають виглядати майже однаково, вимиваючи ту структуру, яку мав навчитися розпізнавати мережевий агент. У практиці більшість GNN, які використовуються для реальних завдань, залишаються відносно неглибокими, зазвичай від двох до шести шарів, що забезпечує баланс між досягненням віддаленого контексту та збереженням індивідуальної ідентичності кожного вузла.
Агрегаційні функції та інваріантність відносно перестановок
Крок, коли вузол об’єднує повідомлення від усіх своїх сусідів в один вектор, є агрегатою функцією, і вибір має значення. Агрегація суми зберігає інформацію про те, скільки сусідів внесла свій внесок, що може бути найбільш вираженим варіантом з теоретичної точки зору; агрегація середнього нормалізує за розміром сусідства, що зазвичай стабільніше для вузлів із дуже різною кількістю зв’язків; а агрегація максимума вибирає єдиний найбільш помітний сигнал сусіда, що може бути корисним для виявлення присутності конкретного шаблону незалежно від того, наскільки поширений він є. Яка функція обрана, повинна задовольняти одну непереконливу властивість: інваріантність відносно перестановок. Сусіди вузла не приходять у будь-якому вродженому порядку, тому введення їх у агрегаційну функцію в різному порядку повинен давати точно той самий результат. Сума, середнє та максимум природним чином задовольняють це, що й пояснює, чому вони, а не порядок-чутливі операції, домінують у дизайні GNN; без інваріантності відносно перестановок одна й та сама графа може дати різну відповідь просто тому, що її список сусідів випадково записаний в іншому порядку.
Від молекул до соціальних графів
Оскільки велика частина реальних даних природним чином пов'язана, GNN отримали широку підтримку в широкому спектрі галузей. У відкритті ліків та хімії молекула моделюється як граф атомів, з’єднаних зв’язками, і GNN може передбачати властивості, такі як розчинність, токсичність або зв’язуючу здатність, безпосередньо з цієї структури, що значно прискорює ранні етапи скринінгу кандидатів порівняно з хімічними описовими величинами, створеними вручну. У аналізі соціальних мереж GNN використовується для таких завдань, як прогнозування ймовірності того, що користувачі стануть друзями, виявлення кластерів сфабрикованих облікових записів або класифікація ймовірного інтересу користувача шляхом поєднання його власного профілю з сигналами, отриманими від його зв’язків. Системи рекомендацій все більше формують взаємодію між користувачами та предметами як біпартітну графіку, використовуючи передачу повідомлень для того, щоб вбудований об'єкт був сформований усіма, хто його купив, і вбудований об’єкт користувача був сформований усім, що він купив, створюючи рекомендації, які захоплюють співпрацюючих патернів набагато багатше, ніж прості оцінки подібності. Прогнозування трафіку, виявлення шахрайства та навіть прогнозування структури білків покладаються на одну й ту саму основну ідею: дозвольте структурі формувати представлення.”]} παρουσίαση: {
Часті запитання
Як відрізняється GNN від звичайного згорткового нейронної мережі?
Згорткова нейронна мережа (CNN) покладається на фіксовану, регулярну сітку зображень, де кожен піксель має постійну кількість сусідів у передбачуваних позиціях, дозволяючи одному фільтру рівномірно ковзати по вхідним даним. GNN побудований для графів, де вузли можуть мати дуже різну кількість сусідів без природного порядку між ними, тому замість ковзання фільтрів він використовує перестановно-нечутливе обміну повідомленнями для агрегації інформації про сусідів незалежно від кількості сусідів або їх порядку.
Що таке «перенасичення» (over-smoothing) і чому це обмежує глибину GNN?
Перенасичення виникає, коли надмірно багато шарів обміну повідомленнями утворюються, змушуючи представлення кожного вузла повторювано змішуватися з інформацією від все більшої кількості сусідів графа до тих пір, поки окремі вузли не стають майже невідрізними один від одного. Оскільки кожен додатковий шар розширює охоплення вузла на один додатковий стрибок, глибокі GNN ризикують стерти саме локальну структуру, яку вони повинні захоплювати, тому більшість практичних GNN залишаються відносно неглибокими, часто лише з двох до шести шарів.
Чому важливий вибір між агрегацією суми, середнього та максимума?
Кожен агрегатор зберігає різну інформацію: сума зберігає відчуття розміру сусідства та загальну міцність сигналу, середнє нормалізує для порівнянності вузлів з дуже різною кількістю сусідів, а максимум ізолює найсильніший сигнал від одного сусіда. Правильний вибір залежить від завдання, але всі троє поділяють основну властивість перестановної нечутливості, тому результат ніколи не залежить від випадкового порядку обробки сусідів.
Чи можуть GNN обробляти ребра з власними ознаками, наприклад, типами зв’язків або міцністю дружби?
Так. Багато варіантів GNN розширюють простий обмін повідомленнями так, щоб повідомлення, що передається вздовж ребра, було сформоване не лише за ознаками відправника вузла, але й за ознаками, прикріпленими до самого ребра, такими як тип хімічного зв’язку, відстань або вага взаємодії. Це дозволяє мережі розрізняти, наприклад, одинарний зв'язок від подвійного зв’язку або близьку дружбу від випадкової знайомства, замість того, щоб поводитися з кожним з’єднанням однаково.
Чи потребують GNN розмічених даних для кожного вузла, щоб навчитися чогось корисного?
Не обов'язково. Хоча багато GNN навчаються для задач із контролем, таких як прогнозування токсичності молекули, самоконтрольовані та безконтрольні підходи також можуть вивчати корисні представлення вузлів шляхом передбачення структури графа, наприклад, чи існує зв’язок між двома вузлами, що особливо цінно в таких областях, як соціальні мережі, де лише невелика частина вузлів має явні мітки.
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Graph Neural Networks: Learning on Relational Data і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Graph Neural Networks: Learning on Relational Data