FEDOT
Что такое FEDOT?
FEDOT — open-source фреймворк автоматического машинного обучения (AutoML), который позволяет автоматически создавать и оптимизировать цепочки задач (пайплайны) машинного обучения или отдельные их элементы.
Основной акцент в работе фреймворка делается на относительно сложное управление взаимодействиями между различными вычислительными блоками пайплайнов. В первую очередь, это касается этапа непосредственного создания модели машинного обучения. FEDOT позволяет не просто подобрать лучший вариант модели и обучить ее, а создать сложную (композитную) модель.
Это позволяет совместно использовать несколько моделей различной сложности, что позволяет добиться лучшего качества моделирования, чем при использовании любой из них по-отдельности. В рамках фреймворка мы описываем композитные модели в виде графа, определяющего связи между блоками предобработки данных и блоками моделей.
Фреймворк не ограничивается отдельными AutoML-задачами, такими как предобработка исходных данных, подбор признаков или оптимизация гиперпараметров моделей, а позволяет решать более общую задачу структурного обучения — для заданного набора данных строится решение в виде графа (DAG), узлы которого представлены моделями МО, процедурами предобработки и трансформации данных.Структура этого графа, а также параметры каждого узла и подвергаются обучению. Результирующий граф вычислений мы называем композитной моделью, т.к. обычно в нем содержатся сразу несколько моделей МО и блоков предобработки данных (как показано на рисунках ниже).
Структура этой модели может включать в себя множество элементов, которые последовательно соединены друг с другом и формируют иерархическую структуру. Примеры моделей, которые могут быть получены с помощью FEDOT, показаны ниже на рисунке: от простейшего варианта А до сложного мультимодального варианта C.
Различные вариант пайплайнов, которые могут быть
автоматически получены с помощью фреймворка FEDOT
Создание наиболее подходящей для конкретной задачи структуры модели осуществляется автоматически. Для этого используется эволюционный алгоритм оптимизации GPComp, который создает популяцию из множества ML-пайплайнов и последовательно ищет лучшее решение, применяя методы эволюции — мутации и кроссовера и избегая при этом нежелательного переусложнения структуры модели (за счет применения процедур регуляризации и многокритериальных подходов).
Чтобы лучше понять идею, рекомендуем ознакомиться с intro-роликом
Да, в настоящее время существует множество популярных AutoML-фреймворков, позволяющих достигать качественных результатов моделирования (H2O, TPOT, AutoTS, LAMA и т.д).
FEDOT имеет с ними множество общих черт: например, он реализован на Python и доступен под открытой лицензией BSD-3. Однако, есть и отличия. Архитектура фреймворка позволяет гибко расширять его возможности – добавлять новые модели, методы предобработки, алгоритмы настройки гиперпараметров или другие типы данных. Взаимодействие фреймворка с различными этапами пайплайна моделирования показано на рисунке.
Основные особенности фреймворка:
- Архитектура FEDOT обладает высокой гибкостью и поэтому фреймворк может быть использован для автоматизации создания математических моделей для различных задач, различных типов данных и моделей;
- FEDOT поддерживает популярные ML-библиотеки (scikit-learn, keras, statsmodels и др.), но при необходимости можно интегрировать в него другие инструменты;
- Алгоритмы оптимизации пайплайнов не привязаны к типам данных или задачам, но для повышения эффективности можно использовать специальные шаблоны под определенный класс задач или тип данных — прогнозирование временных рядов, NLP, табличные данные и др;
- Фреймворк не ограничен только машинным обучением, в пайплайны возможно встроить модели, специфичные для конкретных областей (например — модели в ОДУ или ДУЧП);
- Дополнительные методы настройки гиперпараметров различных моделей также могут быть «бесшовно» добавлены в FEDOT (в дополнение к уже поддерживаемым);
- FEDOT поддерживает any-time режим работы: в любой момент времени можно остановить алгоритм и получить результат;
- Итоговые пайплайны могут быть экспортированы в удобном json-формате без привязки к фреймворку, что позволяет добиться воспроизводимости эксперимента;
Таким образом, по сравнению с другими фреймворками FEDOT
01
Не ограничивается одним классом задач, а претендует на универсальность и расширяемость.02
Позволяет строить сложные, состоящие из нескольких разнотипных, модели, использующие входные данные различной природы - тексты, изображения, таблицы и т.д.03
Позволяет более гибко управлять сложностью моделей и за счет этого достигать лучших результатов.Какие задачи можно решать с помощью фреймворка?
- Геология: гибридное моделирование дебита нефти (описание)
- Медицина: предсказание эффективности лечения осложнений COVID-19 (описание)
- Гидрометеорология: прогнозирование моделирование временных рядов уровня моря (описание)
- Промышленность: прогнозирование сигналов сенсоров (описание)
- Emergency DataHack 2021 – I место Задача – прогнозирование уровня реки Лена в ходе половодья (код).
- AgroCode Hack 2022 Задача – выявление неэффективных протоколов лечения (код).
- Цифровой прорыв 2022 – III место Задача – прогнозирование экономических данных (код).
- AIRI Molhack 2022 – III место Задача – прогнозирование энергии молекул (код).
Наша R&D команда открыта для вариантов сотрудничества как с другими научными коллективами, так и с представителями бизнеса.
01
Совместные исследования в области AutoML, алгоритмов оптимизации и машинного обучения в целом02
Применение возможностей FEDOT в новых разных предметных областях науки01
Консультация и помощь в применении AutoML методов на бизнес-кейсах02
Адаптация и реализация новых функций FEDOT для ваших типов данных, задач и инфраструктуры03
Улучшение и оптимизация существующего ML-решения при помощи FEDOT04
Построение новых сервисов “с нуля” или внедрение в существующие решения функций FEDOT для автоматизации рутинных задачФреймворк FEDOT разработан научной группой моделирования природных и социальных систем (NSS Team) в Национальном Центре Когнитивных Разработок.
Правообладатель - ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ИТМО».
Программное обеспечение распространяется на условиях открытой лицензии 3-Clause BSD.