Войти
Химия 17 лекций
Искусственный интеллект в химии и материаловедении

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

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

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

Продолжительность курса – 1 семестр (8 лекций, 9 семинаров и 5 практикумов)

Темы, изучаемые в рамках курса:

Блок 1: Введение. Язык python. Анализ молекулярных данных. Основные идеи и методы машинного обучения. Химические данные. Перевод данных к машинно-читаемому виду: дескрипторы. Нейронные сети.

Блок 2: Вычислительная химия твердого тела. Дескрипторы кристаллической структуры. Предсказание свойств материалов.

Блок 3: Методы глобальной оптимизации. Роевой интеллект. Оптимизация параметров моделей. Генеративные модели.

Блок 4: Оптимизация кода. High performance computing. Использование GPU и параллельных вычислений для ускорения расчетов.

Материалы к семинару 2: https://drive.google.com/drive...

Список всех тем лекций

Занятие 1. Введение в машинное обучение (лекция).
Структура курса Основные определения Общие принципы Данные Векторы Обучение Методы Нейронные сети Функции потерь и метрика Внешнее тестирование Область применения

Занятие 2. Обработка данных (семинар).
Область применения Установка Интерфейс Типы переменных Математические действия Работа с файлами Конструкции языка Функции Пример с аттрактором Лоренца Исключения и их обработка

Занятие 3. Язык Python (семинар).
Язык Python Обработка данных с помощью Python Тензоры Типы данных в Numpy Доступ к элементам и слайсы Арифметические операции над массивами Изменение размера массивов Матричное умножение Pandas Визуализация

Занятие 4. Химические данные (лекция).
Введение Особенности Озеро данных Curated data Форматы Базы данных

Занятие 5. Молекулярные дескрипторы (семинар).
Введение 0D-Дескрипторы 1D-Дескрипторы 2D-Дескрипторы Functional-Class Fingerprints (FCFPs) 3D/4D-Дескрипторы Область применимости Метод ближайших соседей Kernel Density

Занятие 6. Классические алгоритмы машинного обучения (семинар).
Введение Типы машинного обучения Метрики качества моделей Алгоритм решающих деревьев Линейная и логистическая регрессии Метод ближайших соседей Байесовский формализм Ансамблевые алгоритмы и случайный лес Бустинговые алгоритмы и XGBoost

Занятие 7. Нейронные сети (лекция).
Виды машинного обучения Искусственные нейронные сети Обучение нейронной сети Алгоритм обратного распространения ошибки Модификации метода градиентного спуска Инициализация весов Функции потерь Функции активации Регуляризация Нормализация Примеры использования полносвязных сетей Обучение свёрточной сети Автокодировщики Генеративно-состязательные сети

Занятие 8. Нейронные сети (семинар).
Написание нейронной сети Тренировка модели нейронной сети Формирование модели в Tensorflow Альтернативы tensorflow

Занятие 9. Методы представления структуры твердого тела (лекция).
Этапы построения предсказательной модели Классификация представлений материалов Нейросетевые потенциалы взаимодействия ACSFs AGNI SOAP Физически интерпретируемые комбинации дескрипторов Представления на основе химического состава Структурные фрагменты кристаллического графа Топологические дескрипторы Нейронные сети на графах Multi-fidelity learning

Занятие 10. Предсказательные модели в материаловедении (семинар).
Работа с кристаллографическими данными (CIF-файлами) Предсказание ширины запрещённой зоны двойных перовскитов Предсказание модуля сдвига неорганических кристаллов Предсказание энергии атомизации гибридных перовскитов Использование предобученных моделей элементов как отдельный метод Сопоставление с "разреженным" химическим представлением

Занятие 11. Методы глобальной оптимизации (лекция).
Введение Задачи моделирования Локальная оптимизация Глобальная оптимизация Байесовский формализм Эволюционные алгоритмы Swarm intelligence Минусы и плюсы глобальной оптимизации

Занятие 12. Методы глобальной оптимизации (семинар).
Гиперпараметры и их оптимизация Модификация гиперпараметров нейронной сети Random Forest оптимизация Grid Search Random Search Tree Parzen Estimator (TPE) search

Занятие 13. Генеративные модели (лекция).
Прямая и обратная задача "структура-свойство" Высокопроизводительный скрининг Глобальная оптимизация Схема генеративной модели новых материалов Генерация соединений произвольного химического состава Генерация соединений в заданной химической системе Перевод вокселов в латентное пространство Структурные признаки и их Фурье-сопряжённые образы Байесовская оптимизация на конкатенированных представлениях Воксельное представление нанопористых материалов Представление супрамолекулярного графа Составляющие успеха обратного молекулярного дизайна Часто применяющиеся подходы для обратного дизайна Обучение с подкреплением

Занятие 14. Генеративные модели (семинар).
Введение Исходная выборка молекул Представление молекулы - SELFIES Генерация новых молекул - "мутация" SELFIES строк Оптимизируемое свойство - penalized logP Построение модели для предсказания модуля сдвига HYPEROPT Оптимизация химического состава в латентном пространстве

Занятие 15. Основы параллельных вычислений (лекция).
Алгоритмы, плохой и хороший код Оптимизация времени выполнения python JIT компиляция Parallel reduction Параллелизм в python MPI, OMP, pthread Логика GPU, блоки и потоки MPI, CUDA-Aware MPI CPU vs GPU FP64 Варианты переноса кода на GPU Работа с памятью

Занятие 16. Основы параллельных вычислений (семинар).
Введение Пакет NUMPY Использование JIT-компиляторов Сохранение байткода на диск, кеширование Параллельные вычисления Ускорение вычислений

Занятие 17. Применение метода искусственного интеллекта в задачах химии. Заключение (лекция).
Summary всего курса Неосвещённые темы Новые квантово-химические методы (DFT) Новые атомистические методы ANN - reactions, synthesis conditions Natural language processing Что делать, если данных не хватает? Image recognition Алгоритмы глобальной оптимизации