Составлено Сарой Чен, Мэтью Дин и Кэти Чжоу в рамках курсового проекта Stanford CS224W Winter 2023.
Понюхать. Понюхать. Что это за запах? Это резкий и резкий аромат, который также… слегка кислит? Это… может быть… да! Это CH3COOH, или, как его чаще называют, уксус.
Более 70 лет ученые на стыке химии, неврологии и (в последнее время) машинного обучения исследовали, как молекулярные структуры веществ влияют на их запах для человека. Это удивительно сложная задача. Небольшая разница может привести к совершенно разным вкусам, а молекулы с совершенно разной структурой могут иметь похожие запахи [1, 4]. Недавние достижения в области глубокого обучения позволили решить эту проблему с помощью ResNets, GNN и других архитектур.
С практической точки зрения, улучшения в прогнозировании молекулярного запаха могут способствовать открытию новых синтетических одорантов, уменьшая воздействие на окружающую среду сбора природных одорантов. Кроме того, понимание изученных моделей может способствовать нашему пониманию химии и неврологии.
Для нашего последнего проекта мы обучили графовую нейронную сеть (GNN) предсказывать запахи различных химических молекул. Графики — это естественный способ моделирования молекулярных данных, когда атомы рассматриваются как узлы, а связи между атомами — как ребра. GNN, обученные на графических данных, способны фиксировать особенности химических веществ и структурные связи. Хотя традиционные подходы ML, такие как регуляризованные линейные модели и случайные леса, обеспечивают хорошие прогнозы [2, 5], GNN, по-видимому, превосходят традиционные методы [4] и предоставляют дополнительные методы для интерпретации изученной модели.
Набор данных
Мы исследовали две обонятельные базы данных:
- База данных парфюмерных материалов и характеристик Leffingwell PMP 2001, которая включает 4100 молекул [4] и
- Набор данных DREAM Olfaction Challenge, включающий 4870 молекул [5].
Каждая запись содержит строку в нотации 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] для:
- Извлеките важность каждой атрибутивной функции, включая атрибуты узлов и ребер, влияющие на предсказание и
- Определите структурную значимость каждой части молекулы
Это помогает нам понять, как модель делает прогнозы, и может служить инструментом для химиков и ученых, чтобы сосредоточиться на конкретных химических свойствах и генерировать гипотезы о том, как молекулярная структура связана с их запахами.
GNNExplainer извлекает наиболее важные компоненты графика, которые напрямую влияют на прогноз, удаляя избыточную информацию. Он направлен на поиск подграфа, который минимизирует различия в прогнозах между подграфом и графом вычислений. Он применяет к графу «маски ребер» и «маски объектов» узлов, которые присваивают значение важности каждому атрибуту функций узлов и ребер.
GNNExplainer оптимизирует маски, максимизируя взаимную информацию между подграфом G_s и вычислительным графом G:
Задача прогнозирования запаха на уровне графа требует, чтобы GNNExplainer учитывал весь граф, а не отдельные узлы. GNNExplainer уровня графа берет объединение графов вычислений по всем узлам в графе, которые являются окрестностями узлов k-hop.
- Функции атрибутов
Используя эти подходы, мы получили оценки важности признаков узла и важности признаков края для всех извлеченных нами химических признаков. Мы усреднили важность признаков, полученных по всем молекулярным графикам, чтобы визуализировать акцент модели.
Атомный номер, степень, формальный заряд, гибридизация узлов и тип связи ребер оказались ключевыми факторами, влияющими на предсказание.
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 г.