Машинное обучение, исследования и промышленность
[Машинное обучение — это] область исследования, которая дает компьютерам возможность обучаться без явного программирования.
- Артур Сэмюэл, 1959 г.
Машинное обучение (ML) стало обычной практикой во всех областях, связанных с базами данных, особенно в исследованиях и промышленности. ML может дать ответы на:
- проблемы классификации (например: соответствуют ли вибрации двигателя правильному состоянию (i) или (ii) ненормальному состоянию?),
- проблемы регрессии (например: какой будет цена SNP500 через 6 часов?),
- или даже проблемы кластеризации (например: могу ли я выделить группы с похожими двигательными характеристиками среди моих испытуемых?).
В то время как традиционный вычислительный подход требует много времени и энергии для разработки и оптимизации, ML позволяет программировать неявно. По мере того как алгоритм обучается «сам по себе» на основе доступных данных, код упрощается, в целом становится быстрее, а большая часть оптимизации будет автоматизирована. Следует отметить, что машинное обучение можно выполнять и без данных, но об этом будет отдельная статья.
Когда мы говорим о машинном обучении, наиболее часто упоминаемыми темами остаются выбор модели и ее оценка. Эти шаги необходимы, но недостаточны для успешной реализации в реальном мире. Внедрение решения ML в организации должно соответствовать нескольким критериям.
Минимизация рисков
В зависимости от области применения этот шаг может быть важным. Давайте возьмем пример проблемы классификации для прогнозирования рака в компьютерном зрении. Важно управлять типами ошибок. Ни одна модель не будет иметь 100% точность. Независимо от алгоритма, это вызовет тип I (ложноположительный) и тип II(ложноотрицательный) ошибки. В медицинской визуализации может быть интереснее взвесить чувствительность алгоритма: последствия ложноположительного результата гораздо менее важны, чем ложноотрицательного результата, в результате чего у пациента остается необнаруженная опухоль.
Масштабируемость
Для разработки модели обычно используется собственный компьютер или платформы облачных вычислений, такие как IBM Watson Studio, Google Colab или Alibaba Cloud. Важно помнить о контексте применения машинного обучения. Если запрошенная задача является сложной и требуется модель глубокого обучения, как часто мне придется переобучать ее, чтобы поддерживать современные характеристики? Оптимизирован ли алгоритм для оборудование, на котором оно будет выполняться (CPU, GPU, TPU и т. д.)? Следует иметь в виду, что решение может оставаться эффективным в течение 5 или 10 лет. Если через 10 лет количество пользователей увеличится в 10 или 100 раз, будет ли алгоритм по-прежнему эффективным и подходящим? Сможет ли мое оборудование (сервер, облачный сервис) управлять вычислениями, хранить данные и результаты без снижения производительности моего сервиса?
Аналитические решения Единый метод интеллектуального анализа данных/прогнозного анализа
Чтобы оптимизировать преимущества такой реализации, необходимо реализовать несколько ключевых шагов[1]. На всех этапах все члены организации являются неотъемлемой частью проекта, даже просто для предоставления необходимых знаний для понимания конкретной проблемы.
- Понять и проанализировать проблему: определить текущее состояние решения организации и определить цели внедрения (увеличить количество клиентов за счет индивидуализации предложений?). Затем необходимо будет определить предварительные условия реализации (полезные данные и средства их получения, производительность модели и т. д.).
- Проект: определите все необходимые компоненты для реализации, а затем начните строить модель на основе уже существующих, преобразованных или просто синтезированных данных, чтобы приступить к оценке различных путей и их осуществимости в виде прототипов.
- Настроить и внедрить: на основе прототипов, созданных на этапе проектирования, что является наиболее эффективным и адаптированным к проблеме? Затем начинается этап реализации в реальных жизненных ситуациях. Этот итеративный и поэтапный подход позволяет нам начать адаптацию существующей программной и аппаратной архитектуры, чтобы мы могли вставить наше решение. Модель, почти функциональная, теперь требует лишь нескольких корректировок, чтобы запустить ее в производство.
- Развертывание: создается дорожная карта. Затем модель развертывается и настраивается в производственной среде, и устанавливаются сроки для различных измерений точности модели, ее переобучения и периодичности обслуживания используемого оборудования.
- Поддерживайте и оптимизируйте: модель полностью готова к работе и начинает приносить пользу (более качественная медицинская диагностика, увеличение дохода, лучший UX и т. д.). Точность модели и ее параметры регулярно проверяются, чтобы оставаться на переднем крае.
Идти дальше
А. Жерон, «Практическое машинное обучение с помощью Scikit-Learn, Keras и TensorFlow: концепции, инструменты и методы создания интеллектуальных систем», 2019 г.
использованная литература
[1] IBM, «Унифицированный метод аналитических решений, реализация с принципами Agile», n-d.