Materials ML

Коротко

Definition

Materials ML — это проект по предсказанию свойств материалов с помощью методов машинного обучения, прежде всего GNN и pretrained моделей для молекул и кристаллов.

Основная идея проекта: взять готовый датасет материалов, построить понятный baseline, а затем сравнить его с графовой или pretrained моделью вроде CGCNN, MatGL или близких materials ML подходов.

Фокус проекта:

  • предсказание свойств материалов;
  • работа с кристаллическими структурами;
  • сравнение классических и графовых моделей;
  • развитие практических навыков materials ML;
  • подготовка понятной защиты проекта.

Цель

Предсказать численное свойство материала по его составу или структуре.

Основной целевой вариант:

То есть проект можно сформулировать так:

Предсказание энергии образования материалов с помощью графовых нейронных сетей или pretrained materials ML моделей.

Практическая цель — не просто обучить модель, а показать полный ML-подход:

  1. Выбор датасета.
  2. Анализ постановки задачи.
  3. Подготовка данных.
  4. Baseline.
  5. Основная модель.
  6. Оценка качества.
  7. Анализ ошибок.
  8. Обоснование выбора модели.

Контекст

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

Машинное обучение можно использовать как быстрый фильтр:

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

  • как материал представляется для модели;
  • почему граф подходит для молекул и кристаллов;
  • какие есть альтернативы;
  • как оценивать качество;
  • какие ограничения есть у модели.

Проект связан с ML для материалов, GNN для молекул и кристаллов и Геометрическое ML в химии.

Данные

Основные кандидаты

Возможные датасеты:

  • matminer perovskites;
  • Materials Project;
  • готовые датасеты с formation energy;
  • датасеты с band gap или другими численными свойствами.

Наиболее удобный стартовый вариант — готовый датасет perovskites из matminer, если в нём уже есть target вроде formation energy.

Преимущество такого варианта:

  • не нужно долго собирать данные;
  • можно быстро перейти к modeling;
  • задача понятна как регрессия;
  • данные связаны с materials science;
  • можно построить baseline и сравнение моделей.

Target

Основной target:

  • formation energy.

Это численное свойство, поэтому задача относится к регрессии.

Метрики:

  • MAE;
  • RMSE;
  • R².

Подробнее см. Метрики качества регрессоров.

Представления материала

Материал можно представить несколькими способами.

Табличные признаки

Простое представление:

  • composition-based descriptors;
  • статистики по элементам;
  • плотность;
  • структурные descriptors;
  • признаки из matminer.

Такой вариант связан с табличными данными.

Он удобен для baseline:

Графовое представление

Если доступна кристаллическая структура, материал можно представить как граф:

  • вершины — атомы;
  • рёбра — соседства атомов;
  • признаки вершин — типы атомов и атомные свойства;
  • признаки рёбер — расстояния и локальная геометрия.

Это связано с графовыми данными и GNN для молекул и кристаллов.

Pretrained materials model

Если использовать pretrained модель, например MatGL-подход, можно не обучать всю GNN с нуля.

Возможные режимы:

  • feature extraction;
  • fine-tuning;
  • transfer learning на целевую задачу.

Это связано с переносом обучения.

Подход

Рациональный подход для проекта — идти от простого к сложному.

Шаг 1. Baseline

Сначала построить простую модель на табличных descriptors.

Возможные baseline:

Baseline нужен, чтобы понять, даёт ли сложная модель реальный выигрыш.

Шаг 2. GNN или pretrained model

После baseline сравнить его с графовым подходом.

Варианты:

  • CGCNN-подобная модель;
  • MatGL pretrained model;
  • M3GNet / MEGNet-like подход;
  • другая GNN для кристаллов.

Главное — объяснить, почему графовое представление подходит к задаче:

  • материал состоит из атомов;
  • свойства зависят от локальных окружений;
  • структура важна, а не только состав;
  • GNN умеет агрегировать информацию по соседям.

Шаг 3. Анализ ошибок

После обучения важно не ограничиваться одной метрикой.

Нужно посмотреть:

  • на каких материалах ошибка максимальна;
  • зависит ли ошибка от химического семейства;
  • хуже ли модель работает на редких элементах;
  • есть ли выбросы;
  • отличаются ли ошибки baseline и GNN;
  • насколько модель обобщает на новые структуры.

Архитектура решения

Минимальная архитектура проекта:

dataset
  -> data validation
  -> preprocessing
  -> train / validation / test split
  -> baseline model
  -> GNN or pretrained model
  -> metrics
  -> error analysis
  -> report / presentation

Компоненты

КомпонентНазначение
Dataset loadingЗагрузка matminer / Materials Project данных
Data validationПроверка пропусков, target, дубликатов
Feature pipelineТабличные descriptors или графовое представление
BaselineПростая модель для сравнения
Main modelGNN или pretrained materials model
EvaluationMAE, RMSE, R²
Error analysisАнализ ошибок по группам материалов
ReportОбъяснение подхода, результатов и ограничений

Ландшафт подходов

В проекте важно показать, что выбранная модель существует не в вакууме.

Классические descriptors + ML

Материал описывается вручную рассчитанными признаками, затем применяется классическая модель.

Плюсы:

  • проще реализовать;
  • быстрее обучается;
  • легче интерпретировать;
  • хороший baseline.

Минусы:

  • качество сильно зависит от descriptors;
  • структура может быть учтена неполно;
  • сложные локальные окружения трудно описать вручную.

GNN для кристаллов

Материал представляется как граф атомов.

Плюсы:

  • естественно учитывает структуру;
  • учит признаки из данных;
  • подходит для молекул и кристаллов;
  • хорошо согласуется с современной materials ML литературой.

Минусы:

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

Pretrained materials models

Используется модель, уже обученная на большом корпусе материалов.

Плюсы:

  • может работать лучше на малых датасетах;
  • использует знания из больших materials databases;
  • соответствует современным практикам transfer learning.

Минусы:

  • сложнее объяснить и настроить;
  • возможен domain mismatch;
  • нужно понимать, на чём модель была предобучена;
  • не всегда легко воспроизвести.

Почему выбирается GNN / pretrained model

Выбор GNN или pretrained materials model оправдан тем, что материалы имеют естественную структурную природу.

Для кристаллов важны:

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

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

Pretrained model дополнительно полезна, если целевой датасет не очень большой: часть знаний уже получена на более крупном source dataset.

Связанные концепты

Текущий статус

Проект находится на стадии формализации темы и выбора минимально реалистичного pipeline.

Уже определено:

  • домен: materials ML;
  • основной тип задачи: регрессия;
  • возможный target: formation energy;
  • возможные датасеты: matminer perovskites, Materials Project;
  • возможные модели: GNN, CGCNN, MatGL / pretrained materials models;
  • ключевые связанные темы: графовые данные, GNN для молекул и кристаллов, метрики регрессии, предобработка.

Следующие шаги

  1. Зафиксировать конкретный датасет.
  2. Проверить доступные колонки и target.
  3. Посчитать размер датасета и число пропусков.
  4. Сформулировать точную задачу.
  5. Выбрать split.
  6. Построить простой baseline.
  7. Выбрать основную графовую или pretrained модель.
  8. Сравнить качество baseline и основной модели.
  9. Сделать анализ ошибок.
  10. Подготовить выводы для защиты.

Открытые вопросы

Ключевые вопросы перед реализацией:

  1. Использовать только composition descriptors или полную структуру?
  2. Какой target выбрать: formation energy, band gap или другое свойство?
  3. Достаточно ли данных для обучения GNN с нуля?
  4. Лучше ли использовать pretrained MatGL / M3GNet-подход?
  5. Какой split будет честным для оценки обобщения?
  6. Нужно ли сравнивать с gradient boosting baseline?
  7. Какие ограничения проекта важно явно проговорить на защите?

Риски и ограничения

Слишком сложная модель для малого датасета

Если данных мало, GNN с нуля может переобучиться. В таком случае лучше использовать pretrained model или классический baseline.

Нечестный split

Если похожие материалы попадут и в train, и в test, качество будет завышено.

Нужно внимательно выбрать стратегию разбиения.

Слабый baseline

Если не построить baseline, будет непонятно, даёт ли GNN реальный выигрыш.

Несопоставимые данные

Разные источники могут использовать разные методы расчёта или измерения. Это может добавить шум в target.

Слишком широкий scope

Проект должен оставаться выполнимым за ограниченное время. Лучше сделать один аккуратный target и одну понятную сравнительную схему, чем пытаться покрыть весь materials ML.

Критерий успеха

Минимальный успешный результат:

  • выбран конкретный датасет;
  • построен baseline;
  • обучена или применена GNN/pretrained model;
  • рассчитаны MAE, RMSE, R²;
  • сделано сравнение моделей;
  • проведён анализ ошибок;
  • сформулированы ограничения;
  • объяснено, почему графовый подход уместен.

Хороший результат:

  • GNN или pretrained model показывает преимущество над простым baseline;
  • есть понятный анализ, где модель ошибается;
  • результаты можно объяснить на защите;
  • pipeline воспроизводим.