В статье на прошлой неделе я описал первый этап внедрения машинного и глубокого обучения (ML/DL), связанный с экспериментами и прототипированием. На рисунке ниже показаны шаги, которые обычно проходят компании при внедрении решений AI, ML и DL. Как показано на рисунке, следующим шагом является осторожное использование ML/DL в продуктах, решениях и услугах в некритическом качестве. Хотя именно на этом этапе вводятся в действие модели ML/DL, и клиенты могут ощутить преимущества, изначально компании с осторожностью относятся к использованию этих моделей, поскольку они считаются непредсказуемыми. Следовательно, развертывание выполняется только для некритических функций в предложении.

Начинать с некритического развертывания компонентов ML/DL крайне важно, чтобы узнать о проблемах, с которыми может столкнуться компания при переходе к использованию компонентов ML/DL в более важных развертываниях, где потенциально исключительное, непредсказуемое и неустойчивое поведение серьезно подрывает получаемую ценность для клиента. от продуктов, решений и услуг

В нашем исследовании (см. ссылку ниже) мы определили, что компании, достигшие этого шага, сталкиваются с рядом основных проблем. Эти проблемы связаны с четырьмя этапами работы с компонентами ML/DL, т. е. сбором набора данных, созданием модели, обучением, оценкой и развертыванием. Ниже мы обсудим ключевые проблемы на каждом этапе.

На первом этапе, когда компании необходимо собрать наборы данных, организации сталкиваются с тремя основными проблемами. Во-первых, данные, которые потребуются для обучения и проверки, распределены по всей компании и должны быть собраны из множества различных хранилищ данных. Связанная с этим проблема, конечно, заключается в том, что данные из разных источников могут легко использовать различную семантику и схемы для схожих или связанных элементов данных. Во-вторых, в большинстве случаев модели ML/DL требовали помеченных моделей для обучения с учителем. Хотя у компании могут быть доступные данные, часто далеко не очевидно, какие метки должны быть связаны с каждым элементом данных. Наконец, доступные наборы данных обычно собираются для конкретных целей, в результате чего данные не отражают реальность, а содержат значительное преувеличение конкретных случаев или данных.

На втором этапе инженеры занимаются созданием модели, соответствующей решаемой проблеме и дающей желаемый результат, например, классификацию или прогноз. В то время как во время экспериментов и прототипирования приемлема любая модель, достигающая определенного уровня точности, на этом этапе модель будет представлена ​​клиентам. Это требует более высокого качества модели, но большинству компаний не хватает навыков и компетенций для улучшения базовой модели. Для этого требуется способность анализировать, какие элементы, алгоритмы или слои в модели вызывают недостаточную точность, а также способность предпринимать корректирующие действия для решения проблемы.

Этап обучения и оценки связан с обучением и оценкой модели, определенной на предыдущем этапе. Ключевой проблемой здесь часто является доступность данных для обучения и оценки. Несмотря на то, что существуют такие подходы, как k-кратная перекрестная проверка, и более опытные специалисты по данным будут знать, как их использовать, на практике компания находится на ранних стадиях внедрения решений AI/ML/DL, и количество доступных талантов в компании стремится к быть ограниченным.

Этап развертывания сталкивается с проблемами, возникшими на предыдущих этапах, и это часто приводит к значительному перекосу в обучении. Это означает, что при развертывании модель работает значительно хуже, чем при обучении. Обычно это вызвано разницей между данными, используемыми во время обучения, и данными, предоставляемыми во время операций.

В заключение, компании проходят ряд этапов при внедрении моделей AI/ML/DL. В этой статье мы обсудили проблемы, с которыми сталкиваются компании на втором этапе, когда компания развертывает первые модели ML/DL в некритических частях продуктов, решений и услуг. Основные проблемы связаны со сборкой помеченных наборов данных достаточного качества и количества, а также с навыками инженеров для улучшения неэффективных моделей. Эти проблемы могут вызвать значительный перекос в обучении при развертывании моделей.

Цель этой статьи состояла в том, чтобы наметить проблемы, чтобы помочь компаниям внедрить решения ML/DL, избегая при этом ловушек, которые мы описали. Машинное и глубокое обучение предлагают невероятные технологии, которые могут обеспечить невероятные результаты и преимущества. Однако это сопряжено со значительными инженерными проблемами, некоторые из которых мы описали выше. Удачи!

Ссылка: Люси Эллен Лвакатаре, Айсвария Радж, Ян Бош, Хелена Холмстрём Олссон и Ивица Црнкович, Классификация проблем разработки программного обеспечения для систем машинного обучения: эмпирическое исследование, XP 2019 (ожидается), 2019.

Чтобы получать больше информации раньше, подпишитесь на мою рассылку по адресу [email protected] или следите за мной на janbosch.com/blog, LinkedIn (linkedin.com/in/ janbosch) или Twitter (@JanBosch).