Чтобы обучить нейросеть, необходимо:
А после - запустить весь процесс заново, до тех пор пока не будет достигнута требуемая точность.
Если первый этап еще можно сделать, не имея специального опыта и знаний, то остальные этапы - никак. Построение модели иногда требует особенных навыков, и как правило, очень мощное железо. А проанализировать качество модели может только тот, кто понимает метрики и умеет их применять.
Как бизнес может поступить?
Разработчиком такого сервиса и стала «Технологика», совместно с AI-стартапом.
Сервис должен помочь в автоматическом режиме с минимальными трудозатратами и знаниями бизнес пользователю натренировать нейронную сеть и выгрузить ее для использования в необходимой инфраструктуре (мобильное приложение, веб сервис, камера, IoT устройство и пр.) для разработчиков.
Система представляет собой платформу для тренировки моделей. Внутри всё группируется по проектам. Проекты делятся на два типа:
Наша система позволяет пользователю создавать и управлять сразу несколькими проектами. По всем проектам есть исчерпывающая информация: статус проекта, тип проекта, точность натренированной модели, дата создания и прочие данные.
Начиная новый проект, пользователь загружает датасет (набор изображений). На этих изображениях будет тренироваться будущая модель.
Далее эти данные нужно подготовить для обучения - разметить лейблами, которые наша система должна распознать.
После этого датасету дается оценка сбалансированности (balancing score) - а именно, каковы у него показатели разметки (сколько объектов, каких видов, сколько размеченных и неразмеченных изображений, оценка качества разметки).
В процессе тренировки пользователь в реальном времени видит на графиках, как улучшаются показатели точности модели.
После окончания процесса обучения, модель можно или проверить на работоспособность, загрузив фото/видео и получив ответ от модели (inference), или вернуться на шаг назад и добавить больше фото в датасет, если не устраивает точность определения модели.
Последний шаг - обученную модель можно скачать в виде APK, APK source code или в других форматах (TFLite (Quantized/Non-Quantized, Int8/Float16/Float32, Saved Model (.pb)) или YOLOv5 (.pt)), которые устанавливаются на различные камеры, телефоны, IoT девайсы.
По просьбе заказчика мы разработали дополнительную функцию - возможность генерации 3D-моделей. Она позволяет пользователям загружать фотографии любого объекта с различных ракурсов и получать подробную 3D-модель, которую затем можно использовать для 3D-печати.
Разработка системы состоит из 9 этапов:
На данный момент мы закончили 7 этап проекта: сделали систему рабочей и стабильной, подготовили к soft launch на 10 пользователей. Мягкий запуск позволит разрешить проблемы, которые не выявились на данный момент.
Сейчас стадия пересмотра. Мы сделали MVP, который уже в процессе использования. Постепенно появляются первые пожеланию по доработке системы на основе обратной связи от первых пользователей. У клиента в планах уже следующий этап по расширению поддерживаемых типов ml-задач (будем добавлять решения OCR задач и сегментацию изображений). Также этап доработок будет включать в себя пересмотр.