©Кто владеет информацией, тот владеет миром

Глубокое обучение vs классическое машинное обучение

Глубокое обучение vs классическое машинное обучение
©WittySparks

За последние несколько лет глубокое обучение стало стандартной практикой решения большинства проблем искусственного интеллекта (ИИ), затмив при этом классическое машинное обучение. Очевидная причина заключается в высокой производительности глубокого обучения для широкого круга задач, включая речь, естественный язык, компьютерное видение и игры.

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

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

Преимущества глубокого обучения

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

На приведенном ниже графике показана точность классификации изображений различными методами на выборке данных ImageNet. Синий цвет указывает на количество ошибок классических методов МО, а фиолетовый цвет – на количество ошибок метода глубокой сверхточной нейронной сети (CNN). Как видите, глубокое обучение в разы превосходит классическое МО. А в 2015 году нейронная сеть сделала даже меньше ошибок, чем человек (отметим, что в группе испытуемых было всего 5 человек).

Масштабируемость. Глубокие сети лучше справляются с ростом количества данных, чем классические алгоритмы МО. Представленный ниже график наглядно это иллюстрирует. Часто, лучший совет по повышению точности в глубокой сети – это использование большего количества данных! С классическими алгоритмами МО этот трюк не работает. В данном случае для повышения точности необходимы более сложные методы.

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

Адаптация и применение в смежных областях. Методы глубокого обучения гораздо легче адаптировать к различным областям, чем классические алгоритмы МО. Во-первых, передача наработанных навыков обучения (transfer learning) позволяет использовать предварительно подготовленные глубокие сети для разных задач в пределах одной области. Например, в компьютерном зрении, заранее подготовленные сети для классификации изображений часто используются в качестве предварительного этапа в процессе обнаружения объектов и проведении сегментации. Использование предварительно подготовленных сетей облегчает обучение всей модели и часто помогает достичь более высокой производительности за более короткий период времени.

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

Преимущества классического машинного обучения

Лучше работает с небольшими объемами данных. Для достижения высокой производительности глубокие сети требуют чрезвычайно больших наборов данных. Предварительно обученные сети, упомянутые ранее, обучались на 1,2 млн изображений. Для многих задач такие большие наборы данных не доступны либо их приобретение окажется дорогостоящим и трудоемким. Для небольших наборов данных классические алгоритмы МО часто превосходят глубокие сети.

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

Легче интерпретировать. Из-за прямой разработки функций, применяемых в классическом МО, эти алгоритмы легко интерпретировать и понимать. Кроме того, настройка гиперпараметров и изменение конструкции модели более понятна, поскольку есть более глубокое понимание данных и основ алгоритмов. С другой стороны, глубокие сети – это «черный ящик», и уже сейчас исследователи не полностью понимают «начинку» глубоких сетей. Гиперпараметры и конструкция сети также довольно сложная задача из-за отсутствия теоретической основы.

©Reddit

По материалам Towards Data Science

Один хлопок? Или же бурные овации? Хлопая больше или меньше, вы показываете, какой пост действительно чего-то стоит.
Ольга Александровна ©Кто владеет информацией, тот владеет миром
Комментарии