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

Но сначала основы. Что такое машинное обучение и в чем отличие от глубокого обучения? Мы могли бы определить его следующим образом:

  • Алгоритмы машинного обучения могут наблюдать, анализировать и учиться непосредственно на основе данных. Они строят модель на основе выборочных данных (или обучающих данных), чтобы делать прогнозы или принимать решения относительно других данных, которые они никогда раньше не видели.
  • Глубокое обучение — это разновидность машинного обучения, в которой нейронные сети используются для принятия разумных решений. Дизайн искусственных нейронных сетей был вдохновлен функциональными принципами человеческого мозга. Это сходство часто делает глубокое обучение намного более мощным, чем традиционные модели машинного обучения.

Давайте посмотрим на плюсы и минусы обоих типов машинного обучения.

Когда использовать традиционное машинное обучение

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

Традиционное машинное обучение имеет смысл, когда:

  • Проблема ограничена и четко определена.
  • Изменчивость данных низкая.
  • Количество доступных данных ограничено.

Традиционные алгоритмы могут выполнять задачи классификации и регрессии, но не справляются с более сложными задачами, такими как обнаружение нескольких объектов, сегментация объектов или отслеживание объектов в видео. Большинство современных традиционных алгоритмов реализованы в библиотеке scikit-learn, бесплатной библиотеке машинного обучения для Python.

  • Алгоритмы классификации классифицируют данные по отдельным категориальным классам, таким как качество (например, на левом рисунке выше мы предсказываем, голоден робот или нет). Примерами алгоритмов классификации являются логистическая регрессия, K-ближайшие соседи, машины опорных векторов, деревья решений и случайный лес.
  • Алгоритмы регрессии используются для прогнозирования непрерывных переменных, таких как количество (например, на правом рисунке выше мы прогнозируем количество моркови, которое робот может съесть). Примерами алгоритмов регрессии являются линейная регрессия, машины опорных векторов, деревья решений и случайный лес.

Как вы могли заметить, некоторые алгоритмы могут выполнять обе задачи, но требуют разных целей обучения («функций потерь»). Спойлер: у нас готовится статья о традиционных алгоритмах машинного обучения для машинного зрения, в которой вы узнаете больше об этих алгоритмах.

Когда использовать глубокое обучение

Современные алгоритмы машинного обучения значительно продвинулись вперед благодаря повышению вычислительной мощности, объема памяти и производительности оптики. Глубокое обучение, вероятно, является одним из самых впечатляющих примеров. По сравнению с традиционными алгоритмами компьютерного зрения глубокое обучение позволяет достичь большей точности в чрезвычайно сложных задачах, таких как классификация изображений, обнаружение объектов, семантическая сегментация и одновременная локализация и сопоставление (SLAM).

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

Итак, какой алгоритм глубокого обучения вам нужен для вашей задачи компьютерного зрения? Давайте рассмотрим возможности для некоторых из наиболее распространенных промышленных проблем:

Спойлер: у нас готовится статья о передовых методах использования алгоритма глубокого обучения для промышленных приложений, которая даст вам больше информации о том, как добиться максимальной производительности вашего алгоритма.

Выбор ваш

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

Автор

В качестве консультанта Максим теперь наслаждается своими рабочими днями, работая над широким спектром проектов в области машинного зрения и машинного обучения. Разнообразие работы привлекает его: «До сих пор я…

Первоначально опубликовано на https://kapernikov.com 9 февраля 2022 г.