ВВЕДЕНИЕ 4
1. Обзор методов решения задачи построения атом-атомного отображения
химической реакции 6
1.1. Алгоритмы фрагментной сборки 6
1.2. Алгоритмы нахождения общей подструктуры 6
1.3. Оптимизационные алгоритмы 7
1.4. Алгоритмы целочисленной линейной оптимизации 8
1.5. Алгоритмы машинного обучения 9
2. Теоретические основы нейронных сетей 11
2.1. Понятие о нейронных сетях 11
2.2. Топологии нейронных сетей 13
2.3. Методы обучения 18
3. Нейронные сети для решения задачи построения атом-атомного
отображения химической реакции 21
3.1. Многослойный персептрон 22
3.2. Модель сверточно-разверточной сети 26
3.3. Модель Atom2Vec 27
3.4. Модель Transformer 28
4. Анализ результатов 32
4.1. Многослойный персептрон 33
4.2. Модель сверточно-разверточной сети 35
4.3. Модель Atom2Vec 36
4.4. Модель Transformer 38
ЗАКЛЮЧЕНИЕ 39
СПИСОК ЛИТЕРАТУРЫ 40
ПРИЛОЖЕНИЕ 1. Описание классов для хранения
информации 43
ПРИЛОЖЕНИЕ 2. Выгрузка данных из rdf-файла 61
ПРИЛОЖЕНИЕ 3. Реализация персептрона 63
ПРИЛОЖЕНИЕ 4. Сверточно-разверточная сеть 70
ПРИЛОЖЕНИЕ 5. Конфигурация сверточно-разверточной сети 77
ПРИЛОЖЕНИЕ 6. Модель кодировок позиций 78
ПРИЛОЖЕНИЕ 7. Модель Transformer 85
ПРИЛОЖЕНИЕ 8. Конфигурация нейронных сетей 102
Рассматриваемая в данной работе тема относится к области хемоинформатики - науки, которая образовалась на стыке химии и информатики около 40 лет назад. Для исчерпывающего описания поставленной задачи необходимо дать определения основным понятиям, которые относятся к данной тематике [1].
Самое основное определение - это процесс, над которым ставится задача.
«Химическая реакция — превращение одного или нескольких исходных веществ (реагентов) в другие вещества, при которых ядра атомов не меняются, при этом происходит перераспределение электронов и ядер, и образуются новые химические вещества» [2].
Понимание того, как протекает реакция и что именно изменяется в реагентах, является ключевым для использования информации, получаемой в ходе таких реакций. Немаловажный момент для достижения данного понимания - это определение точных местоположений каждого атома исходных продуктов после реакции.
Наиболее точным методом для установления всех местоположений является ЯМР-спектроскопия, но, так как этот метод экспериментальный, он используется редко в связи с высокими трудовыми и денежными затратами.
Еще одним способом определения местоположений атомов является задача атом-атомного отображения, которая и лежит в основе данного исследования.
Атом-атомное отображение (ААО) - это процедура установления соответствия атомов исходных реагентов и продуктов реакции в соответствии с механизмом реакции. Данные об ААО используются для определения изменяющейся части молекулы реагента и продукта - реакционного центра [3]. На рисунке 1 отображен пример ААО одной из химической реакции. Цифрами в левой и правой частях реакции обозначены соответствующие атомы.
Задача поиска ААО является NP-полной, т.е. может потребовать много времени для ее решения. Поиск корректного ААО играет значительную роль в хемоинформатике и используется для решения следующих задач [3-9]:
— классификация реакций,
— составление баз данных химических реакций,
— изучение механизмов реакций,
— открытие новых классов реакций,
— моделирование.
Целью данной работы является апробация нейронных сетей различных топологий с соответствующими постановками и представлениями входных и выходных данных реакций для понимания целесообразности и возможности их применения. В задачи данной работы входит:
1) Составление набора постановок задачи ААО для применения нейронных сетей при решении;
2) Подбор нейронных сетей различных топологий для решения поставленной задачи;
3) Исследование возможности и качества применения подобранных нейронных сетей для решения поставленной задачи.
Данная работа, содержащая в себе нестандартный подход к представлению входных данных, предоставляет базовый фундамент для дальнейших исследований возможностей решения задачи ААО различными нейронными сетями. Как и предполагалось, задача нахождения ААО нетривиальна, чтобы решать ее с помощью простых моделей, что было проверено опытным путем.
Ключевым моментом всей работы является тот факт, что в ходе исследований удалось создать модель представления атомов, которая имеет фиксированную размерность и которая содержит в себе семантику, описывающую процессы реакций. В ходе работы наибольшие затруднения возникали именно с формулировкой задачи таким образом, чтобы было возможно применить ту или иную нейронную сеть. Созданное фиксированное векторное представление атомов открывает множество вариаций для новых постановок не только задачи ААО, но и других задач, в которых используется информация об атомах. Также нужно отметить, что данное представление было получено на сравнительно небольшой выборке при помощи метода, разработанного в 2013 году. На данный момент были представлены гораздо более продвинутые методы в сфере обработки естественного языка, которые могут быть применены к атомам аналогичным описанному в данной работе образом.
Были рассмотрены как и простые «прямые» подходы, так и более сложные постановки задачи. Полученные результаты показывают, что использование нейронных сетей для прогнозирования состояний атомов после реакции обосновано и вполне может быть доработано до состояния, когда построенные модели будут давать более высокую точность.