Технический директор направления машинного обучения и искусственного интеллекта ООО «ИРЦЭ»
Опубликовано на портале GlobalCIO | DigitalExperts
Не все проекты в области искусственного интеллекта (ИИ) бывают успешными и приносят ожидаемый экономический эффект. Одна из причин заключается в непонимании заказчиками специфики технологий машинного обучения и базовых критериев реализации проекта. Александр Головков, кандидат технических наук, технический директор направления машинного обучения и искусственного интеллекта ООО «Институт развития цифровой экономики», предлагает рассмотреть 4 важных аспекта, которые важно знать компаниям на старте.
Продукты с участием машинного обучения (ML) широко используются в банковском секторе, сфере безопасности, ритейле, промышленности, телекоме. Внедрение систем анализа и обработки данных позволяет повысить производительность труда, оптимизировать ключевые бизнес-процессы и снизить издержки. По данным IDC, 30% крупных компаний уже используют технологии искусственного интеллекта (ИИ), остальные 70% планируют внедрить их в течение ближайших двух лет. В 2019 году российские компании инвестировали $172,5 млн. в ИИ. «Коронакризис» замедлит динамику ИТ-рынка в целом, но в дальнейшем приведет к взрывному росту вложений в технологии искусственного интеллекта, включая машинное обучение.
Что нужно учитывать, если ваша компания внедряет проект в сфере искусственного интеллекта?
Акцент на сборе данных
Как правило, все начинается со сбора и разметки данных. Из них формируются тренировочные датасеты для обучения математических моделей. Сами по себе датасеты должны быть схожи (гомогенны) с данными, которые далее будут «в полях». У них должны быть предельно одинаковые характеристики, так как модели знают и видят только то, на чем они учились. Именно поэтому сбор исходных данных и формирование из них тренировочных выборок является необходимой задачей перед стартом проекта. Иногда для достижения хорошего уровня точности перед сбором требуется сформировать ограничения и правила сбора.
Например, в случае анализа изображений, это могут быть условия съемки: фото под определенным углом, приближением и др. Это обеспечит максимальную информационную наполненность фото: отсутствие размытости, высокое разрешение, видимость всех объектов. Как следствие, это уменьшит обучающую выборку, затраты на разметку и увеличит точность распознавания.
Не следует экономить на разметке
За сбором данных следует процесс разметки. В задаче детектирования объектов на фото процесс разметки заключается в обведении нужных объектов на изображениях прямоугольной областью с помощью специализированного софта. Этап требует больших человеческих ресурсов. Как следствие, денежные затраты на разметку могут составлять более 80% бюджета всего проекта. ML-продукты не могут быть дешевыми по определению.
К примеру, если взять гипотетическую минимальную обучающую выборку в 5000 изображений, со 100 объектами на каждом, то мы получим 500 000 прямоугольных областей, которые помимо разметки – обведения прямоугольником на фото – еще необходимо вручную классифицировать, то есть указать, к какому классу этот объект относится. Умножая 500 тыс. объектов на цену разметки, скажем на 10 руб., мы получаем 5 млн. руб. вложений. В реальных проектах сумма может разниться в зависимости от предметной области и специфики конкретной задачи, однако в целом исчисляется миллионами рублей.
Чем точнее, тем дороже
Размеченная обучающая выборка далее «тренирует» модели до нужного качества работы. Чем больше похожа обучающая выборка на реальные данные, тем лучше будут работать модели. Обратное также верно: чем меньше схожесть данных, тем меньше точность работы. Однако процент точности, полученный в рабочих процессах, никогда не будет соответствовать качеству на тренировочных датасетах. Сколько бы ни были похожи обучающая выборка и тестовые наборы, реальная точность всегда будет ниже. 100%-ная точность – это теоретический, практически недостижимый предел. Чтобы к нему приблизиться, необходимо обеспечить максимальное сходство выборок. Но чем больше вариативности данных мы используем в обучении, тем больше нужно исходных размеченных данных, тем выше денежные затраты на разметку. Зависимость растет экспоненциально при приближении к идеальным 100% точности.
Новая задача — новое обучение
Перед стартом проекта без исходных данных невозможно определить процент точности работы моделей. Сложно экспертно определить, как будет работать система на данных, которых она не видела. Модели, работающие с хорошей точностью на одних данных, могут сильно ошибаться на других. В связи с этим любые строгие гарантии точности работы системы «в полях» технически неверны. Более того, из-за невозможности объять все варианты данных в обучающей выборке, практически не существует коробочных ML-решений. Под каждую конкретную задачу нужно заново собирать и размечать данные, обучать модели.
Приведу пример в области обработки изображений в сфере ритейла. Допустим, есть модель, обученная распознавать шоколадки. У нее хорошая точность как на тренировочной, так и на тестовой выборке из полей. Теперь подадим на вход системы фотографию витрины с пачками сигарет. Прямоугольные шоколадки в целом схожи с пачками сигарет, однако визуальные паттерны товаров могут сильно отличаться. Поэтому будет много ошибок распознавания, например, когда верхняя лицевая сторона пачки распознается как один товар, а нижняя, где находится предупреждение о вреде курения, как другой. Система, обучавшаяся на целостных прямоугольных шоколадках, не знает, что верхняя и нижняя область пачки составляет один прямоугольник – пачку сигарет.
Технологии машинного обучения стремительно развиваются, однако понимание специфики ML со стороны бизнеса серьезно отстает от современных реалий. Поэтому важно доносить до заказчиков базовые ограничения и критерии успеха ML-систем на стадии презентаций, пресейлов, продаж, переговоров.
Затраты на внедрение систем машинного обучения могут быть обоснованно высокими. Существует высокий риск провала проекта, если предлагается высокая точность системы за относительно малые вложения. Только понимание бизнесом специфики ML и выбор опытного подрядчика обеспечит высокую эффективность при разработке ML-систем. Взаимопонимание между бизнесом и техникой, успешный результат проекта принесут серьезную выгоду и быструю окупаемость даже при условии больших затрат на старт проекта.