Некоторое время назад я закончил Стэнфордский курс CS224W Машинное обучение с графиками. Это последняя четвертая часть серии сообщений в блоге, в которой я делюсь своими заметками после просмотра лекций. Остальные вы можете найти здесь: 1, 2, 3.

Лекция 17 - Рассуждения по графам знаний

Слайды, Видео

Графы знаний - это графы, которые фиксируют сущности, типы и отношения. Узлы на этих графах - это объекты, которые помечены своими типами, а края между двумя узлами фиксируют отношения между объектами.

Примеры: библиографическая сеть (типы узлов - бумага, название, автор, конференция, год; типы отношений - pubWhere, pubYear, hasTitle, hasAuthor, cite), социальная сеть (типы узлов - это учетная запись, песня, сообщение, еда, канал; типы отношений. дружите, любите, готовьте, смотрите, слушайте).

Графики знаний на практике:

  • Сеть знаний Google.
  • График продуктов Amazon.
  • Facebook Graph API.
  • IBM Watson.
  • Microsoft Satori.
  • Проект Ганновер / Литером.
  • Сеть знаний LinkedIn.
  • Яндекс Объект Ответ.

Графы знаний (KG) применяются в разных сферах, в том числе для предоставления информации, ответов на вопросы и разговоров.

Существует несколько общедоступных KG (FreeBase, Wikidata, Dbpedia, YAGO, NELL и т. Д.). Они массивные (миллионы узлов и ребер), но неполные (многие истинные ребра отсутствуют).

Учитывая массивный KG, перечислить все возможные факты сложно. Можем ли мы предсказать правдоподобное НО недостающие звенья?

Пример: Freebase

  • ~ 50 миллионов сущностей.
  • ~ 38K типов отношений.
  • ~ 3 млрд фактов / троек.
  • Полная версия является неполной, например 93,8% выходцев из Freebase не имеют места рождения и 78,5% не имеют гражданства.
  • FB15k / FB15k-237 - это полные подмножества Freebase, используемые исследователями для изучения моделей KG.
  • FB15k имеет 15K объектов, 1,3K отношений, 592K ребер.
  • FB15k-237 имеет 14,5 тыс. Сущностей, 237 отношений, 310 тыс. Ребер.

* некоторые списки / абзацы / формулы / захваты изображений могут быть отключены, проверьте исходный пост для лучшего опыта на «https://elizavetalebedeva.com/ml-with-graphs-notes-part-4/ женщина

Завершение KG

Мы изучаем методы, чтобы понять, как при огромном KG мы можем заполнить KG / спрогнозировать недостающие отношения.

Ключевая идея представительства KG:

  • Ребра в KG представлены в виде троек (ℎ, r, t), где голова (ℎ) связана (r) с хвостом (t) .
  • Сущности модели и отношения во встраиваемом / векторном пространстве .
  • Для истинной тройки (ℎ, r, t) цель состоит в том, чтобы вложение (ℎ, r) было близко к вложению t .

Как вставить ℎ, r? Как определить близость? Ответ в алгоритме TransE.

Интуиция перевода: для тройки (ℎ, r, t), ∈ ℝ d, h + r = t (векторы вложения будут выделены жирным шрифтом). Функция оценки: f (ℎ, t) = || ℎ + r - t ||

Обучение TransE максимизирует потерю маржи ℒ = Σдля (ℎ, r, t) ∈G, (ℎ, r, t ') ∉G [γ + fr (ℎ, t) - fr (ℎ, t')] , где γ - это запас, т. е. наименьшее расстояние, допустимое для модели между действительной тройкой (fr (ℎ, t)) и поврежденной ( fr (ℎ, t ')) ..

Типы отношений в TransE

  1. Отношения композиции: r1 (x, y) ∧ r2 (y, z) ⇒ r3 (x, z) ∀ x, y, z (Пример: муж моей матери мой отец). Он удовлетворяет TransE: r3 = r1 + r2 (посмотрите, как это выглядит в 2D-пространстве ниже)

2. Симметричные отношения: r (ℎ, t)r (t, h)h, t (Пример: Семья, Сосед по комнате). Это не удовлетворяет TransE. Если мы хотим, чтобы TransE обрабатывал симметричные отношения r для всех ℎ, t, которые удовлетворяют r (ℎ, t), r ( t, h) также имеет значение True, что означает ‖ ℎ + r - t ‖ = 0 и ‖ t + r - ℎ ‖ = 0. Тогда r = 0 и ℎ = t, однако ℎ и t - два разных объекта и должны быть сопоставлены с разными местоположениями.

3. Отношения 1 к N, N к 1, N к N: (ℎ, r, t1) и (ℎ, r, t2) оба существуют в графе знаний, например, r - это «StudentsOf». Это не удовлетворяет TransE. С TransE, t1 и t2 будут отображаться в один и тот же вектор, хотя это разные объекты.

TransR

Алгоритм TransR моделирует сущности как векторы в пространстве сущностей ℝd и моделирует каждое отношение как вектор r в пространстве отношений ℝk с помощью Mrℝk xd в качестве матрицы проекции.

Типы отношений в TransR

  1. Отношения композиции: TransR не удовлетворяет - каждое отношение имеет разное пространство. Это не естественно композиционно для множественных отношений.
  2. Симметричные отношения: для TransR мы можем отобразить ℎ и t в одно и то же место в пространстве отношения r.
  3. Отношения 1 к N, N к 1, N к N: мы можем выучить Mr так, чтобы t⊥ = Mrt1 = Mrt2, обратите внимание, что t1 не обязательно должно быть равно t2.

Типы запросов по КГ

  1. Односкачковые вопросы: где Хинтон закончил обучение?
  2. Path Queries: Где закончили лауреаты премии Тьюринга?
  3. Конъюнктивные вопросы: где канадцы с премией Тьюринга стали выпускниками?
  4. EPFO (экзистенциально-позитивный первый порядок): вопросы Куда делись канадцы, получившие премию Тьюринга или получившие Нобелевскую премию?

Односкачковые запросы

Мы можем сформулировать односкачковые запросы как ответы на задачи прогнозирования ссылок.

Прогнозирование ссылки: ссылка (ℎ, r, t) верна? - ›Односкачковый запрос. Является ли t ответом на запрос (ℎ, r)?

Мы можем обобщить односкачковые запросы на запросы пути, добавив в путь больше отношений.

Запросы пути

Запросы пути могут быть представлены как q = (va, r1,…, rn), где va - постоянный узел, ответы обозначаются как || q || .

Например, «Где получили диплом победителей премии Тьюринга?», va - «Премия Тьюринга», (r1, r2) - («победа», «выпускник»).

Чтобы ответить на запрос пути, проходим KG: начинаем с узла привязки «Премия Тьюринга» и пересекаем KG по отношению «Win», мы достигаем сущностей {«Pearl», «Hinton», «Bengio»}. Затем, начав с узлов {"Жемчуг", "Хинтон", "Бенжио"}, пересекая KG по отношению "Выпускник", мы достигаем сущностей {"Нью-Йоркский университет", "Эдинбург", "Кембридж", "МакГилл"}. Это ответы на вопрос.

Как мы можем пройти, если KG неполный? Можем ли мы сначала сделать прогноз связи, а затем пройти по завершенному (вероятностному) KG? Ответ - нет. Заполненный KG - это плотный граф. Сложность по времени прохождения плотного KG с объектами | V | для ответа (v, r,…, r) длины n составляет O (| V |).

Другой подход - пройти KG в векторном пространстве. Ключевой идеей является встраивание запросов (обобщение TransE на рассуждение с несколькими переходами). Если v является ответом на q, выполните поиск ближайшего соседа для всех v на основе f (v) = || - ||, временная сложность O (V).

Конъюнктивные запросы

Мы можем отвечать на более сложные запросы, чем запросы пути: мы можем начать с нескольких узлов привязки.

Например, «Где канадские граждане, получившие премию Тьюринга?», Начав с первого якорного узла «Премия Тьюринга» и пройдя по отношению «Win», мы дойдем до {«Pearl», «Hinton», «Bengio»}. Затем начнем со второго узла привязки «Канада» и, пройдя по отношению «гражданин», дойдем до {«Хинтон», «Бенжио», «Бибер», «Трюдо»}. Затем мы пересекаем два множества и получаем {«Хинтон», «Бенжо»}. После мы проделываем еще один траверс и приходим к ответам.

Опять же, другой подход - пересечь KG в векторном пространстве. Но как нам взять пересечение нескольких векторов в пространстве вложения?

Для этого создайте оператор нейронного пересечения ℐ:

  • Входные данные: текущие вложения запроса q1,…, qm.
  • Результат: встраивание запроса на пересечение q.
  • ℐ должно быть инвариантным к перестановкам: ℐ (q1,…, qm) = ℐ (qp (1),…, qp (m) ), [p (1),…, p (m)] - любая перестановка [1,…, m].

Обучение выглядит следующим образом: для объекта, встраивающего v, и запроса, встраивающего q, расстояние составляет fq (v) = || q - v ||. Обучаемые параметры: вложения сущностей d | V |, вложения отношений d | R |, оператор пересечения ϕ, β.

Весь процесс:

Обучение:

  • Пример запроса q, ответ v, отрицательный образец v ′.
  • Вставьте запрос q.
  • Вычислите расстояние fq (v) и fq (v ’).
  • Оптимизируйте потери ℒ.

Оценка запроса:

  • Для тестового запроса q вставьте запрос q.
  • Для всех v в кг рассчитайте fq (v).
  • Отсортируйте расстояние и ранжируйте все v.

Пересечение двух векторов - это операция, которая не следует интуиции. Когда мы пересекаем KG, чтобы получить ответы, каждый шаг создает набор достижимых объектов. Как мы можем лучше смоделировать эти наборы? Можем ли мы определить более выразительную геометрию для встраивания запросов? Да, с вставками боксов.

Query2Box: аргументы в пользу встраивания боксов

Идея состоит в том, чтобы встраивать запросы с гипер-прямоугольниками (прямоугольниками): = (Center (q), Offset (q)).

Пересечение двух векторов - это операция, которая не следует интуиции. Но пересечение ящиков четко определено. Боксы - это мощная абстракция, так как мы можем проецировать центр и управлять смещением для моделирования набора объектов, заключенных в блок.

Параметры аналогичны тем, что были раньше: вложения сущностей d | V | (объекты отображаются как блоки нулевого объема) , вложения отношений 2 d | R | (дополняют каждое отношение смещением) , оператор пересечения ϕ, β (входные данные - прямоугольники, а выходные - прямоугольные).

Кроме того, теперь у нас есть оператор геометрической проекции P: Box × Relation → Box: Cen (q ') = Cen (q) + Cen (r), Off (q ') = Off (q) + Off (r)..

Другой оператор - это оператор геометрического пересечения ℐ: Box × ⋯ × Box → Box. Новый центр - это средневзвешенное значение; новое смещение сжимается.

Query2box может обрабатывать различные шаблоны отношений:

  1. Отношения композиции: r1 (x, y) ∧ r2 (y, z) ⇒ r3 (x, z) ∀ x, y, z (Пример: муж моей матери мой отец). Он удовлетворяет Query2box: если y находится в поле (x, r1) и z находится в поле (y, r2), гарантируется, что z находится в поле (x, r1 + r2).

2. Симметричные отношения: r (ℎ, t)r (t, h)h, t (Пример: Семья, Сосед по комнате). Для симметричных отношений r мы могли бы присвоить Cen (r) = 0. В этом случае, пока t находится в поле (ℎ, r), гарантируется, что ℎ находится в поле (t , r). Итак, у нас есть r (ℎ, t)r (t, h).

3. Отношения 1 к N, N к 1, N к N: (ℎ, r, t1) и (ℎ, r, t2) оба существуют в графе знаний, например, r - это «StudentsOf». Встраивание блока можно обрабатывать, поскольку t1 и t2 будут сопоставлены с разными местоположениями в блоке (ℎ, r).

Запросы EPFO ​​

Можем ли мы встраивать еще более сложные запросы? Конъюнктивные запросы + дизъюнкция называются экзистенциально-положительными запросами первого порядка (EPFO). Например, Где канадцы, получившие премию Тьюринга или получившие Нобелевскую премию? Да, мы также можем спроектировать оператор дизъюнкции и встроить запросы EPFO ​​в маломерное векторное пространство. Для подробностей они предлагают проверить бумагу, но ссылка не работает (во время видео пропустили эту часть, гугл тоже не работал). не помогло понять, что именно они имели в виду…).

Лекция 18 - Ограничения графических нейронных сетей

Слайды, Видео

Резюме Graph Neural Networks: ключевая идея состоит в том, чтобы генерировать вложения узлов на основе окружений локальной сети с использованием нейронных сетей. Было предложено множество вариантов модели с различным выбором нейронных сетей (среднее агрегирование + линейное ReLu в GCN (Kipf & Welling ICLR'2017), максимальное агрегирование и MLP в GraphSAGE (Hamilton et al. НейРИПС'2017)).

Графические нейронные сети достигли высочайшего уровня производительности в следующих областях:

  • Классификация узлов [Kipf + ICLR’2017].
  • Классификация графов [Инь + NeurIPS’2018].
  • Link Prediction [Zhang + NeurIPS’2018].

Но GNN не идеальны:

  • Некоторые простые графические структуры не могут быть различимы обычными GNN.

  • GNN не устойчивы к шуму в данных графа (возмущение свойств узла, добавление / удаление ребер).

Ограничения обычных GNN при захвате структуры графа

Имея два разных графа, могут ли GNN отображать их в разные представления графов? По сути, это задача проверки изоморфизма графов. В общем случае полиномиальных алгоритмов не существует. Таким образом, GNN не могут полностью различать графы.

Чтобы ответить, насколько хорошо GNN могут выполнять тест изоморфизма графов, необходимо переосмыслить механизм захвата структуры графа GNN.

GNN используют разные вычислительные графики, чтобы различать разные графики, как показано на рисунке ниже:

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

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

Как можно разработать инъективную функцию с несколькими наборами с помощью нейронных сетей?

Для этого воспользуйтесь теоремой: любая инъективная функция с множеством множеств может быть выражена как 𝜙 (Σ f (x)), где 𝜙 - некоторая нелинейная функция, f - некоторая нелинейная функция, сумма сверхмножественная.

Мы можем смоделировать 𝜙 и f, используя многослойный персептрон (MLP) (Примечание: MLP - универсальный аппроксиматор).

Тогда агрегация соседей Graph Isomorphism Network (GIN) с использованием этого подхода становится инъективной. Объединение графов также является функцией мультимножества. Таким образом, объединение сумм также может дать объединение инъективных графов.

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

GIN обеспечивает самые современные результаты тестов в классификации графов. GIN гораздо лучше подходит для обучающих данных, чем GCN, GraphSAGE.

Такая же тенденция к точности обучения наблюдается во всех наборах данных. GIN превосходит существующие GNN также с точки зрения точности тестирования, поскольку он может лучше отображать структуру графа.

Уязвимость GNN к шуму в графических данных

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

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

Чтобы определить, насколько сети GNN устойчивы к злоумышленным атакам, рассмотрим пример классификации узлов с полу-контролем с использованием сверточных нейронных сетей Graph Convolutional Neural Networks (GCN). Входные данные - это частично помеченный граф с атрибутами, цель - предсказать метки непомеченных узлов.

Модель классификации содержит двухэтапную передачу сообщения GCN softmax (Â ReLU (ÂXW) W.. Во время обучения модель минимизирует потерю перекрестной энтропии для помеченных данных; во время тестирования она применяет модель для прогнозирования немаркированных данных.

Возможности атаки для целевого узла 𝑡 ∈ 𝑉 (узел, чья классификационная метка атака хочет изменить) и узлов атакующего 𝑆 ⊂ 𝑉 (узлы, которые атакующий может изменить):

  • Прямая атака (𝑆 = {𝑡})
  • Изменить функции цели (изменить содержание веб-сайта)
  • Добавить связи к цели (Купить лайки / подписчиков)
  • Удалить соединения с цели (отменить подписку на ненадежных пользователей)
  • Непрямая атака (𝑡 ∉ 𝑆)
  • Измените функции злоумышленников (Угоните друзей цели)
  • Добавить подключения к злоумышленникам (Создать ферму ссылок / спама)
  • Удалите соединения от злоумышленников (Создайте ферму ссылок / спама)

Идея высокого уровня для формализации этих возможностей атаки: цель состоит в том, чтобы максимизировать изменение предсказанных меток целевого узла с учетом ограниченного шума на графе. Математически нам нужно найти модифицированный граф, который максимизирует изменение предсказанных меток целевого узла: увеличить логарифмическую вероятность того, что целевой узел прогнозируется как 𝑐, и уменьшить логарифмическую вероятность того, что целевой узел 𝑣 будет предсказан как старый.

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

Были предложены некоторые эвристики для эффективного получения приближенного решения. Например: жадный выбор пошаговой модификации графика, упрощение GCN за счет удаления активации ReLU (для работы в закрытом виде) и т. Д. (Подробнее см. Zügner + KDD’2018).

Эксперименты по атакам для классификации полууправляемых узлов с помощью GCN

На левом графике ниже показаны прогнозы классов для одного узла, созданные 5 GCN с разными случайными инициализациями. Правый график показывает, что предсказанием GCN легко управлять с помощью всего 5 модификаций структуры графа (| V | = ~ 2k, | E | = ~ 5k).

Проблемы применения GNN:

  • Нехватка помеченных данных: ярлыки требуют дорогостоящих экспериментов - ›Модели лучше подходят для небольших обучающих наборов данных.
  • Прогнозирование вне распределения: примеры тестов сильно отличаются от обучения в области научных открытий - ›Модели обычно работают плохо.

Чтобы частично решить эту проблему, Hu et al. В 2019 году предлагается провести предварительное обучение GNN по актуальным, простым для получения графическим данным, а затем выполнить точную настройку для последующих задач.

Лекция 19 - Применение графических нейронных сетей

Слайды, Видео

В этой лекции мы опишем 3 приложения:

1. Рекомендация GNN (PinSage)

2. Гетерогенная GNN (декагон)

3. Целенаправленная генерация (GCPN)

PinSage: GNN для рекомендательных систем

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

  • Клиент X покупает компакт-диски Metallica и Megadeth.
  • Клиент Y покупает Megadeth, система рекомендаций также предлагает Metallica.

С точки зрения модели цель состоит в том, чтобы узнать, какие элементы связаны между собой: для заданного элемента (ов) запроса Q вернуть набор похожих элементов, которые мы рекомендуем пользователю.

Наличие универсальной функции подобия позволяет использовать множество приложений: Homefeed (бесконечная подача рекомендаций), Связанные контакты (поиск наиболее похожих / связанных контактов), Реклама и покупки (использовать для запроса обычный поиск и искать в базе данных объявлений).

Ключевая проблема: как мы определяем сходство?

1) На основе содержания: особенности пользователей и элементов в виде изображений, текста, категорий и т. Д.

2) На основе графиков. Взаимодействие пользователя с элементом в виде структуры графа / сети. Это называется совместная фильтрация:

  • Для данного пользователя X найдите других, кому понравились похожие предметы.
  • Оцените, что понравится X, основываясь на том, что нравится другим.

Pinterest - это коллекция булавок, созданная людьми. Пин - это визуальная закладка, которую кто-то сохранил из Интернета на созданной им доске (изображение, текст, ссылка). Доска представляет собой набор идей (контактов, имеющих что-то общее).

У Pinterest есть два источника сигнала:

  1. Особенности: изображение и текст каждой булавки.
  2. Динамический график: не рекомендуется применять к новым узлам без переобучения модели.

Обычно рекомендации находятся с помощью встраиваний:

  • Шаг 1. Эффективно изучите встраивание миллиардов контактов (элементов, узлов) с помощью нейронных сетей.
  • Шаг 2. Выполните запрос ближайшего соседа, чтобы рекомендовать товары в режиме реального времени.

PinSage - это GNN, которая предсказывает, связаны ли два узла в графе, и генерирует вложения для узлов (например, контактов) в графе Pinterest, содержащем миллиарды объектов. Ключевая идея состоит в том, чтобы заимствовать информацию из соседних узлов (простой набор): например, перила для кроватей Pin могут выглядеть как садовый забор, но ворота и полагаются смежными на графике.

Встраивание булавок необходимо для решения множества различных задач. Помимо задачи «Связанные пины», его также можно использовать для рекомендации связанных объявлений, рекомендаций по домашнему каналу, кластеризации пользователей по их интересам.

Конвейер PinSage:

  1. Соберите миллиарды обучающих пар из журналов.
  • Положительная пара: два вывода, которые последовательно сохраняются на одной доске в течение определенного промежутка времени (1 час).
  • Отрицательная пара: случайная пара из 2 контактов. С большой вероятностью контакты не на одной плате

2. Обучите GNN генерировать похожие вложения для обучающих пар. Обучите так, чтобы последовательно закрепленные булавки имели одинаковое встраивание

где D - это набор обучающих пар из журналов, - это «положительный» / истинный пример, это «отрицательный» пример, а Δ - «маржа» (сколько большее положительное парное сходство следует сравнивать с отрицательным).

3. Вывод: создание вложений для всех выводов.

4. Поиск ближайшего соседа во встраиваемом пространстве для получения рекомендаций.

Ключевые нововведения:

  1. Свёртки графиков на лету:
  • Выберите окрестности вокруг узла и динамически постройте граф вычислений
  • Выполните локализованную свертку графа вокруг определенного узла (на каждой итерации вычисляются только вложения исходного узла)
  • Не нужен весь график во время обучения

2. Выбор соседей путем случайных прогулок

  • Выполнение агрегирования для всех соседей невозможно: как выбрать набор соседей узла для свертки? В этом может помочь персональный рейтинг страницы.
  • Определение пула важности. Определите районы на основе важности, моделируя случайные прогулки и выбирая соседей с наибольшим количеством посещений.
  • Выберите узлы с наибольшим числом посещений K
  • Пул по выбранным узлам
  • Выбранные узлы не обязательно являются соседями.
  • По сравнению с GraphSAGE mean pooling, где сообщения усредняются для прямых соседей, PinSAGE Importance pooling использует нормализованные значения в качестве весов для взвешенного среднего количества сообщений от верхних K узлов.

3. Эффективный вывод MapReduce

  • Проблема: много повторяющихся вычислений при использовании локализованной свертки графа на этапе вывода.
  • Необходимо избегать повторных вычислений

4. Введите жесткие отрицательные образцы: модель силы, чтобы узнать тонкие различия между выводами. Учебная программа по жестким отрицаниям начинается со случайных отрицательных примеров, а затем с течением времени предоставляет более жесткие отрицательные примеры. Получите жесткие отрицания с помощью случайных прогулок:

  • Использовать узлы с числом посещений от 1000 до 5000 в качестве жестких отрицательных значений.
  • Есть что-то общее, но не слишком похожие

Эксперименты с PinSage

Рекомендации по связанным пинам: учитывая, что пользователь только что сохранил пин Q, спрогнозируйте, какой пин X он сохранит следующим. Настройка: вставьте контакты 3B, найдите ближайших соседей Q. Базовые вложения:

  • Визуальный: визуальные вложения VGG.
  • Аннотация: вложения Word2vec
  • Комбинированный: объединенные вложения.

DECAGON: гетерогенный GNN

До сих пор мы применяли GNN только к простым графам. GNN явно не используют информацию о типах узлов и ребер. Реальные сети часто неоднородны. Как использовать GNN для неоднородных графов?

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

Постановка проблемы:

  • Насколько вероятно, что пара препаратов 𝑐, 𝑑 приведет к побочному эффекту 𝑟?
  • График: молекулы в виде гетерогенных (мультимодальных) графов: графы с разными типами узлов и / или типов ребер.
  • Цель: по частично наблюдаемому графику спрогнозировать обозначенные ребра между узлами наркотиков. Или на языке запросов: для данной пары наркотиков 𝑐, 𝑑 насколько вероятно наличие края (𝑐, r, 𝑑)?

Описание задачи: спрогнозируйте помеченные грани между узлами лекарств, т. Е. Спрогнозируйте вероятность того, что между узлами лекарств c и s (𝑐, r, s). / em> (это означает, что комбинация препаратов (c, s) приводит к побочному эффекту полипрагмазии r.

Модель гетерогенной GNN:

  • Вычисляйте сообщения GNN от каждого типа ребра, а затем объединяйте их по разным типам ребер.
  • Вход: неоднородный граф.
  • Выход: вложения узлов.
  • Во время предсказания краев используйте пару вычисленных вложений узлов.
  • Вход: вложения узлов запрашиваемых пар наркотиков.
  • Выход: предсказанные края.

Настройка эксперимента

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

Модель Decagon показала улучшение на 54% по сравнению с исходным уровнем. Это первая возможность компьютерно отметить побочные эффекты полипрагмазии для последующего анализа.

GCPN: построение целевого графика (расширение GraphRNN)

Краткое описание графов, генерирующих графы: он генерирует граф, генерируя двухуровневую последовательность (использует RNN для генерации последовательностей узлов и ребер). Другими словами, он имитирует заданные графы. Но можем ли мы сделать построение графиков более целенаправленным и более оптимальным?

В статье [You et al., NeurIPS 2018] рассматривается Drug Discovery и ставится вопрос: можем ли мы изучить модель, которая может генерировать действительные и реалистичные молекулы с высоким значением данного химического свойства?

Молекулы представляют собой гетерогенные графы с типами узлов C, N, O и т. Д. И типами ребер с одинарной связью, двойной связью и т. Д. (Примечание: «H» могут быть автоматически выведены с помощью правил химической достоверности, поэтому игнорируются в молекулярных графах).

Авторы предлагают модель Сеть сверточной политики графов, которая объединяет представление графа и обучение с подкреплением (RL):

  • Графическая нейронная сеть собирает сложную структурную информацию и позволяет проверять достоверность при каждом переходе между состояниями (действительно).
  • Обучение с подкреплением оптимизирует промежуточные / конечные награды (высокие баллы).
  • Состязательная тренировка имитирует примеры из заданных наборов данных (реалистично).

Шаги GCPN и показаны на рисунке ниже:

  • (а) Вставьте узлы / подмости.
  • (б) Вычислить состояние через GCN.
  • © Пример следующего действия.
  • (d) Примите меры (проверьте химическую пригодность).
  • (e, f) Вычислить вознаграждение.

Чтобы установить награду в части RL:

  • Научитесь совершать правильные действия: на каждом этапе назначайте небольшую положительную награду за правильное действие.
  • Оптимизируйте желаемые свойства: в конце назначьте положительное вознаграждение за высокое желаемое свойство.
  • Создавайте реалистичные графики: в конце, состязательно обучите дискриминатор GCN, вычислите состязательные награды, которые поощряют реалистичные графики молекул

Награда r - это окончательное вознаграждение (вознаграждение для домена) и ступенчатое вознаграждение (вознаграждение за ступенчатую достоверность).

Обучение состоит из двух частей:

  1. Обучение с учителем: тренируйте политику, имитируя действия, указанные в реальных наблюдаемых графиках. Используйте градиент.
  2. Обучение RL: политика обучения для оптимизации вознаграждений. Используйте стандартный алгоритм градиента политики.

GCPN может выполнять разные задачи:

  • Оптимизация свойств: создание молекул с высоким заданным значением свойства.
  • Ориентация на свойства: генерировать молекулы, указанная оценка свойства которых попадает в заданный диапазон.
  • Оптимизация ограниченных свойств: отредактируйте данную молекулу за несколько шагов, чтобы получить более высокую оценку указанного свойства.

Первоначально опубликовано на https://elizavetalebedeva.com 6 мая 2021 г.