Данный курс предназначен для ознакомления слушателей с применением методов машинного обучения в различных областях химии. В результате обучения слушатели получат представление и приобретут опыт практической работы в различных областях применения методов машинного обучения в химических задачах, при этом углубляясь также в особенности различных вариантов построения моделей и нейронных сетей. По итогам каждого практического занятия слушатели получают задачи для самостоятельного изучения. Также в конце курса слушатели выполняют собственное исследование в рамках выбранного направления и защищают этот проект.
Требования к студентам:
Темы, изучаемые в рамках курса:
Химические данные и их обработка
Лекция 1: Источники данных: молекулы, твердые структуры, данные лиганд-белок; базы данных: SIDER, ToxCast, PDBBind, PCBA, AQSOL, ZINC, QM9, Alchemy, PCQM4Mv2, MOFXDB, MC3D, JARVIS; таблицы лидеров для сравнения с имеющимися решениями. Задача представления, визуализации и препроцессинга данных в химии. Генерация 2D/3D структур на основе SMILES/InChI. Практическое занятие: Выгрузка данных из онлайн-источников. Конвертация в различные форматы (sdf/mol/xyz/smi для молекул, cif/poscar/pdb для периодических структур), оптимизация геометрии с использованием OpenBabel и psi4. Работа с библиотеками RDKit и Pandas для препроцессинга данных.
Лекция 2: Генерация 1D дескрипторов. Дескрипторы в библиотеках RDkit, Mordered. Молекулярные отпечатки пальцев. RACs дескрипторы для твердого тела. Введение метрики в пространстве структур и анализ похожести. Практическое занятие: Работа с датасетом QM9. Генерация дескрипторов. оптимизация геометрии, поиск совпадающих подструктур, поиск структурных дескрипторов по SMARTS. Разбивка на классы органических соединених. Оценка похожести молекул методом Танимото. Визуализация средствами RDKit и plotly.
Лекция 3: Визуальный поиск паттернов. Линейный и ядерный PCA, t-SNE. Задачи выбора признаков и извлечения признаков. Работа с перенасыщенным набором дескрипторов, проклятие большой размерности на примерах. Решение проблем скоррелированности и переобучения. Задача выбора оптимального подмножества дескрипторов. Практическое занятие: Работа с датасетом QM9. Визуальный анализ пространства дескрипторов с помощью PCA и t-SNE. Анализ t-SNE кластеров, их химическая интерпретация. Статистический анализ дескрипторов, скоррелированность дескрипторов. RFECV на основе XGBoost.
От линейной регрессии до RL-GAN
Лекция 4:Классические методы машинного обучения. Решение задач регрессии и классификации с табличными данными.
Практическое занятие: Работа с датасетами QM9 и hMOF. Применение моделей для предсказания изобарической теплоемкости в QM9 и адсорбции CO2 в hMOF. Использование полученных ранее знаний по препроцессингу химических данных. Зависимость результатов при использовании нормализации дескрипторов, при генерации логарифмических и квадратичных дескрипторов.
Лекция 5: Введение в ансамбли: стекинг, бэггинг, бустинг. Улучшение предсказаний на основе построения метамодели. Концепция AutoML – автоматизация препроцессинга данных, подбора гиперпараметров моделей и построения стек-ансамбля. Интерпретация результатов предсказания с помощью анализа отклонений, важности признаков, с помощью LIME, ICE и SHAP анализов. Практическое занятие: Знакомство с библиотеками optuna и h2o AutoML. Оптимизация гипер параметров лучшей модели для предсказания изобарической теплоемкости в QM9 средствами optuna. Построения стек-ансамбля для решения задачи адсорбции в hMOF с помощью h2o. Интерпретация результатов c помощью SHAP.
Лекция 6: Нейронные сети: общие сведения, многослойный перцептрон, дропауты и пакетная нормализация, сверточные слои.
Практическое занятие: Разбор архитектур двух нейронных сетей. Исследование распространения ошибки. Примеры влияние параметров дропаутов и наличие слоев пакетной нормализации на качество обучения и возможность углубления и расширения слоев.
Лекция 7: 2D и 3D дескрипторы на основе структурной информации, графовые представления молекул и периодических структур, кулоновские матрицы, представление информации с помощью радиальных функций, инвариантность представления относительно трансляционных и ротационных симметрий.
Практическое занятие: Работа с библиотеками deepchem и torch_geometric. Построение кулоновских матриц, атомных, связевых, больших линейных графов для молекул из базы QM9.
Лекция 8: Графовые нейронные сети. Обзор моделей, зарекомендовавших себя в молекулярных задачах: GCN, DTNN, DAG, Weave, MPNN. Графовые нейронные сети для задач твердого тела: CGCNN, ALIGNN.
Практическое занятие: Предсказания изобарической теплоемкости в QM9 с помощью Weave и MPNN и адсорбции CO2 в hMOF с помощью CGCNN. Сравнение результатов с предсказаниями классических моделей. Оптимизация гиперпараметров CGCNN с помощью optuna. Использование верхних сверточных слоев из предобученной CGCNN модели. Введение в transfer learning
Лекция 9: Обзор классических концепций поиска новых соединений в различных разделах химии, таких как разработка лекарств, топливная промышленность, катализ. Рассмотрение различных генеративных подходов машинного обучения. Состязательные сети. MolGAN, WGAN. Вариационный автоэнкодер. Обучение с подкреплением на основе прогнозов предиктивной модели. Преимущественная генерация “хороших” структур.
Практическое занятие: Обзор модели вариационного автоэнкодера для генерации молекул-кандидатов в задаче поиска новых топливных молекул. Изменение архитектуры нейронной сети под различные форматы представления молекулярной структуры. Рассмотрение скоростей кривых обучения генератора и дискриминатора и влияние дисбаланса обучения на результаты генерации для MolGAN.
Обзор решенных прикладных задач
Лекция 10: Прикладные примеры. Докинг и энергия связывания лиганд-белок. Классические функции оценки, расчетные методы, ML подход: KDeep, Pafnucy, SBDFI. Свертка аминокислотной последовательности. AlphaFold.
Практическое занятие: Работа с датасетом PDBBind. Препроцессирование pdb файлов, очистка от растворителя, исправления неправильной маркировки аминокислот, добавление водородов. Оценка связывания лиганд-белок с использованием различных детерминированных и ML функций оценки, сравнение с экспериментом. Fasta-файлы и пример запуска OmegaFold.
Лекция 11: Прикладные примеры. Молекулярная механика и концепция силовых полей. Обзор ML потенциалов: ANI, FFLUX, TensorMol. Расчет энергии и сил с помощью ANI-2x. Машинно-обученные силовые поля.
Практическое занятие: Сравнение эмпирических ППЭ, полученных на базе классических силовых полей и с помощью ANI-2x, с более точными квантово-химическими рассчитанными сечениями для торсионных и валентных деформаций молекул. Дообучение силового поля на основании подготовленного датасета по энергиям различных конформаций молекул.
Лекция 12: Прикладные примеры. Метод вариационного Монте-Карло с использованием ML потенциалов. FermiNet и PauliNET.
Практическое занятие: Расчет молекулы водорода и атома лития методом полного КВ в различных базисах, экстраполяция в CBS. Сравнение с результатами PauliNETv2.
LLM
Лекция 13: Общий обзор устройства LLM моделей. Борьба с галлюцинациями и улучшение ответов в специализированной области знаний путем передачи научного контекста. Поиск ответов со ссылками на контекст. Примеры использования LLM для работы с химическими текстами.
Практическое занятие: Тематическая кластеризация базы научных статей на основе анализа абстрактов. Библиотеки langchain и huggingface_hub. Ответы на вопросы по научной текстовой базе с помощью Falcon 7B.
Защита проектов: На последней неделе студенты защищают проекты по интересующим их темам и вопросам машинного обучения, возможно, пригодным для применения в рамках их научной работы. В течении семестра студенты должны обсудить с преподавателем интересующую их задачу для потенциального применения в ней методов машинного обучения, и после согласования им будет предложен теоретический (описание метода или его части) или экспериментальный (применение метода на практике) проект для защиты.
Преподаватели курса:
Безруков Дмитрий Сергеевич
Образование
К.ф.-м.н., химический факультет
Московский государственный университет имени М.В. Ломоносова
Специализация
Компьютерное моделирование в химииПупеза Александр Константинович
Образование
Химический факультет
Московский государственный университет имени М.В. Ломоносова
Специализация
Методы машинного обучения в химииЗанятия проводятся в ауд. 152 на химическом факультете МГУ им. М. В. Ломоносова
В программе курса 28 занятий: 14 лекций и 14 практикумов
+ отчетное занятие с представлением итогового самостоятельного проекта
Формат проведения: офлайн
Старт курса: 14 февраля 2024
Занятия будут проходить по средам с 10.50 до 14.15
Набор на курс 2023/2024 года закрыт
ПО ПЯТНИЦАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: А. А. Ганичев
ПО ЧЕТВЕРГАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: А. П. Маракулин
ПО ПОНЕДЕЛЬНИКАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: Д. Д. Пензар
ПО СУББОТАМ
09:00–10:30 1 пара
10:40–12:10 2 пара
12:10–13.00 Перерыв
13:00–14:30 3 пара
14:40–16:10 4 пара
Преподаватель: И. А. Конюшок