Igel как казуальное будущее ML (Machine learning для ёжиков)
Обзор одного из первых интерфейсов по машинному обучению.
В последние годы развитие Data Science шло неравномерно: новейшие математические методы для создания нейронных сетей со сложной архитектурой появляются буквально ежесезонно и программное обеспечение от них не отстаёт, предоставляя специалистам индустрии большее количество инструментов. В данном случае знание бизнеса представляет собой прикладной смысл и чистый пользовательский опыт, который не успевает адаптироваться к высоким темпам развития двух других областей. Порог реального вхождения в профессию растёт с популяризацией направления.
Пришло время для решения данной проблемы: уже некоторое время уважаемые в индустрии специалисты указывали на путь развития Data science и конкретно Machine Learning по упрощению и стандартизации в пользу создания пользовательских интерфейсов. Тенденцию развивает инструмент Igel (нем. «Ёж»), который будет рассмотрен в данной статье.
Igel – это инструмент машинного обучения, позволяющий создавать, обучать и оценивать модели без использования языков программирования. Проект находится на раннем этапе разработки и по сути своей демонстрирует концепт того, как в будущем будет выглядеть инструментарий специалиста по Data Science, которому не нужна тонкая настройка модели.
Igel работает на основе библиотеки Scikit-learn, которая позволяет обработать данные и решать стандартные задачи машинного обучения (классификация, кластеризация и регрессия). Инструмент поддерживает два способа использования: консольный и простой пользовательский интерфейс (UI), использующий браузер. Далее рассмотрим каждый способ отдельно.
Основные функции Igel:
- Решение задач регрессии/классификации/кластеризации
— пока без обработки текста, временных рядов и картинок
- Поддержка основных методов и моделей ML и их тонкой настройки
— в пределах предоставляемого списка параметров (он исчерпывающий)
- data preprocessing
— одно из слабых мест инструмента, грамотная предобработка данных всё ещё требует хорошего кода
- CV + GS
— доступна кросс-валидация и поиск по сетке
- Multi-processing
— возможность ведения параллельных вычислений
- Форматы yaml/json
О датасете. Для примерабыла взята стандартная задача по обучению нейрона функции XOR. Для исключения тривиальности и излишней простоты модели были даны условия, в которых требуется использование энкодера в режиме регрессии. Далее приведен сегмент тестового датасета и листа с ответами.
Через интерфейс. Предоставленный автором интерфейс для Igel довольно дружелюбен к пользователю, хоть и урезан в большинстве настроек. Для его использования достаточно скачать архив и открыть титульную страницу в браузере.
После открытия доступен выбор одной из трёх функций, которые ведут к шаблонам, после подтверждения всех параметров алгоритм выполняется.
Достоинства:
- Доступно человеку с минимальными представлениями о Data Science
- Отсутствие даже формального кода
- Удобные шаблоны для операций тренировки, оценки и предсказания модели, которые содержат основные разветвления вариантов использования
- Портативность
- Рекомендуемые параметры
Недостатки:
- Требуется заранее отформатированный набор данных и начальный файл. yaml модели (программа может создать файл по умолчанию, но он появится где-то в районе system32, опознать его сложно)
- Доступны не все функции. В частности создание файла модели критически необходимо. Можно отнести все недоработки первой версии инструмента к этому пункту
- Нет отслеживания прогресса программы, вы можете даже не понять когда она завершилась, потому что предупреждающего окна не будет
- Нет локализации
Консоль. Это наиболее функциональный и, как ни странно, удобный способ взаимодействия с инструментом. Да, от консольных команд избавиться не получится, зато на большинство команд есть инструкция и формат ввода, которые помогут с выполнением задач.
Для установки на компьютер необходимо иметь консоль с полным доступом к pip:
Далее пользователю даётся полный справочник по пользованию инструментом. Для большего удобства функции даны в правильной последовательности и для записи всех гиперпараметров имеется шаблон.
После использования большинства команд включается интерактивный режим, где пользователь уточняет задачу.
Итого для полного выполнения задачи машинного обучения:
Достоинства:
- Полный функционал
- Хорошая инструкция и интерактивный режим
- Возможна интеграция с используемыми средами (например, Jupyter Notebook)
- Доступна шкала прогресса
Недостатки:
- Требуется умение работать в консоли
- Требуется всё так же предобработанный датасет
- Локальные ошибки из-за сырости проекта
- Отсутствие локализации
В результате использования Igel можно отметить:
- Удобство шаблонного использования и возможность интеграции в UI
- Лёгкий и понятный интерфейс
- Использование Scikit-learn для обработки данных
- Обязательные и довольно жёсткие условия на формат используемых данных на раннем этапе и малом масштабе разработки.
В завершение статьи хочется обратить внимание, что появление интерфейса Igel не просто открывает новый подвид программного обеспечения для специалистов, но также обозначает тенденцию к повышению доступности и «дружелюбности» машинного обучения и отрасли в целом. Не приходится сомневаться, что дальнейшее развитие подобных проектов полностью изменит профессиональную деятельность в Data Science.
Источники:
Да, логично. Как и в веб-разработке.
php, фреймворк какой-нибудь, Wordpress, tilda
Да, такие инструменты помогают изучать востребованные направления и тем, кто не сильно погружен в программирование.