Составлено Сарой Чен, Мэтью Дин и Кэти Чжоу в рамках курсового проекта Stanford CS224W Winter 2023.

Понюхать. Понюхать. Что это за запах? Это резкий и резкий аромат, который также… слегка кислит? Это… может быть… да! Это CH3COOH, или, как его чаще называют, уксус.

Более 70 лет ученые на стыке химии, неврологии и (в последнее время) машинного обучения исследовали, как молекулярные структуры веществ влияют на их запах для человека. Это удивительно сложная задача. Небольшая разница может привести к совершенно разным вкусам, а молекулы с совершенно разной структурой могут иметь похожие запахи [1, 4]. Недавние достижения в области глубокого обучения позволили решить эту проблему с помощью ResNets, GNN и других архитектур.

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

Для нашего последнего проекта мы обучили графовую нейронную сеть (GNN) предсказывать запахи различных химических молекул. Графики — это естественный способ моделирования молекулярных данных, когда атомы рассматриваются как узлы, а связи между атомами — как ребра. GNN, обученные на графических данных, способны фиксировать особенности химических веществ и структурные связи. Хотя традиционные подходы ML, такие как регуляризованные линейные модели и случайные леса, обеспечивают хорошие прогнозы [2, 5], GNN, по-видимому, превосходят традиционные методы [4] и предоставляют дополнительные методы для интерпретации изученной модели.

Набор данных

Мы исследовали две обонятельные базы данных:

Каждая запись содержит строку в нотации SMILES, описывающую структуру молекулы, и набор меток, описывающих запах молекулы.

Мы формализовали задачу как бинарную классификацию молекул на острые или неострые классы из графового представления молекулярной структуры, вдохновленной аналогичной работой Distill [3]. Эта задача усложняется из-за дисбаланса классов. В обоих наборах данных было всего около 200 молекул с острыми метками.

Модель

Сначала мы обсудим на высоком уровне, как работают графовые нейронные сети, прежде чем углубляться в детали нашей архитектуры. Как и все нейронные сети, GNN пытаются изучить встраивание данных графа в некоторое многомерное пространство встраивания. Ключевым моментом GNN является использование структуры локального графа при изучении этих вложений. Узлы в нашем графе инициализируются некоторыми начальными функциями. Затем каждый уровень GNN выполняет двухэтапную передачу сообщений + обновление агрегации. На этапе передачи сообщения узлы применяют функцию к своим вложениям (сообщению) и отправляют сообщение всем соседям, имеющим общее ребро. На этапе агрегации узлы собирают все сообщения, полученные от своих соседей, и используют сообщения для обновления своих собственных вложений.

Для нашего конкретного проекта мы использовали архитектуру Graph Isomorphism Network (GIN), предложенную Xu et al. [6]. GIN — это наиболее выразительная GNN с полностью инъективной функцией агрегации соседей для различения узлов в графе. Правило обновления внедрения GIN:

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

Контрастная самостоятельная предтренировка

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

Контрастное обучение на графах изначально было предложено You et al. [7], в которой изложен подход, максимизирующий согласие между представлениями графа с возмущенными ребрами и отброшенными узлами.

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

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

Мы применяем эти методы, используя репозиторий GraphSSL [8].

В частности, мы обучаем GIN с максимальным объединением. Мы решили тренироваться на GIN, потому что его выразительность позволяла наиболее позитивно передать контрастное отношение, согласно Hu et al. [10]. Сеть предварительной подготовки определяется в следующем фрагменте кода.

Мы используем полученные веса в качестве отправной точки для точной настройки GIN в нашей последующей задаче классификации остроты.

Полученные результаты

Мы использовали следующую конфигурацию при обучении модели и настройке гиперпараметров:

  • Разделение между поезд-вал-тест: 0,7, 0,1, 0,2
  • Оптимизатор: Адам
  • Потеря: взвешенная бинарная кросс-энтропия из-за дисбаланса классов
  • Метрики оценки: оценка F1, AUC-ROC

Мы искали лучший набор гиперпараметров для предтренировочного испытания и тренировочного поезда в наборах данных Leffingwell и DREAM Olfaction Challenge. Мы провели предварительную тренировку для 30 эпох и тренировку для 70. Ниже приведены полученные нами комбинации гиперпараметров:

Ниже приведены некоторые кривые потерь, полученные во время обучения:

На приведенной ниже диаграмме показаны результаты, полученные с использованием наилучшего набора гиперпараметров. В целом, модель обеспечивает лучшую производительность на наборе данных Леффингвелла. Предварительное обучение не повлияло на оценку прогнозов AUC-ROC, но значительно повысило оценки моделей F1.

Объяснимость

Мы использовали GNNExplainer [9] для:

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

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

GNNExplainer извлекает наиболее важные компоненты графика, которые напрямую влияют на прогноз, удаляя избыточную информацию. Он направлен на поиск подграфа, который минимизирует различия в прогнозах между подграфом и графом вычислений. Он применяет к графу «маски ребер» и «маски объектов» узлов, которые присваивают значение важности каждому атрибуту функций узлов и ребер.

GNNExplainer оптимизирует маски, максимизируя взаимную информацию между подграфом G_s и вычислительным графом G:

Задача прогнозирования запаха на уровне графа требует, чтобы GNNExplainer учитывал весь граф, а не отдельные узлы. GNNExplainer уровня графа берет объединение графов вычислений по всем узлам в графе, которые являются окрестностями узлов k-hop.

  1. Функции атрибутов

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

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

2. Структурная важность

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

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

Обсуждение

Мы обнаружили, что контрастное предварительное обучение часто приводит к положительному переносу в нашей прикладной области, особенно к показателю F1 модели. Основное различие между оценкой F1 и AUC-ROC заключается в том, что F1 использует предсказанные классы, а AUC-ROC принимает предсказанные оценки в качестве входных данных. Следовательно, с более сильно несбалансированным набором данных, таким как наш, F1 является более показательной метрикой, а контрастное предварительное обучение помогло с прогнозами на несбалансированном наборе данных.

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

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

Ниже блокнот Collab и ссылка на GitHub с нашим кодом:





Рекомендации

[1] Ральф Гюнтер Бергер. Аромат и химия. молекулярный мир запахов. Гюнтер Охлофф, Вильгельм Пикенхаген и Филип Крафт. Angewandte Chemie International Edition, 51(13):3058–3058, 2012 г.

[2] Лей Чжан, Хайтао Мао, Юй Чжуан, Лу Ван, Линьлинь Лю, Ячао Дун, Цзянь Ду, Ванцуй Се и Чжихун Юань. Прогнозирование запаха и разработка смеси ароматов с использованием модели машинного обучения и профилей плотности заряда молекулярной поверхности. Химическая инженерия, 245:116947, 2021.

[3] Бенджамин Санчес-Ленгелинг, Эмили Рейф, Адам Пирс, Александр Б. Вильчко. Нежное введение в графовые нейронные сети, 2021 г. https://distill.pub/2021/gnn-intro/.

[4] Бенджамин Санчес-Ленгелинг, Дженнифер Н. Вей, Брайан К. Ли, Ричард С. Геркин, Алан Аспуру-Гузик и Александр Б. Вильчко. Машинное обучение для запаха: изучение обобщенных перцептивных представлений о малых молекулах, 2019 г.

[5] Келлер А., Геркин Р.С., Гуан Ю. и др. Прогнозирование обонятельного восприятия человека по химическим характеристикам молекул запаха. Наука (Нью-Йорк, штат Нью-Йорк). 2017;355(6327):820–826. doi:10.1126/science.aal2014

[6] Кейулу Сюй, Вейхуа Ху, Юре Лесковец и Стефани Егелька. Насколько эффективны графовые нейронные сети?, 2019.

[7] Юнин Ю, Тяньлун Чен, Юндуо Суй, Тинг Чен, Чжанъян Ван и Ян Шен. Графическое контрастное обучение с дополнениями, 2021 г.

[8] @paridhimaheshwari2708. ГрафикSSL. https://github.com/paridhimaheshwari2708/GraphSSL, 2021 г.

[9] Рекс Ин, Дилан Буржуа, Цзясюань Ю, Маринка Зитник и Юре Лесковец. Gnnexplainer: Генерация объяснений для графовых нейронных сетей, 2019.

[10] Вейхуа Ху, Боуэн Лю, Джозеф Гомес, Маринка Зитник, Перси Лян, Виджай Панде и Юре Лесковец. Стратегии предобучения графовых нейронных сетей, 2020.

[11] Юй Ван, Цилун Чжао, Минъюань Ма и Цзинь Сюй. Декодирование связи структуры и запаха на основе нейронной сети гиперграфа и машины факторизации глубокого внимания, 2022 г.