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

Потребность в разработке функций

Во многих случаях вам необходимо иметь представление о предметной области, чтобы получить оптимальные результаты. Хотя некоторые сторонники глубокого обучения описывают свой подход как универсальный, я не думаю, что когда-либо это будет правдой.

Бритва Оккама

Учитывая две модели, которые работают более или менее одинаково, вы всегда должны предпочесть менее сложную. Об этом говорят даже авторы книги Deep Learning. По этой причине всегда будут случаи, когда глубокое обучение не будет предпочтительным, даже если ему удалось выжать дополнительный 1% точности на наборе тестирования.

Ансамбли

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

Простой пример: футбол или футбол?

Представим, что ваш очень требовательный начальник просит вас внедрить классификатор изображений, чтобы определять, содержат ли спортивные изображения сцены из игры Футбол (США) или Футбол (Футбол). Вы хорошо читаете литературу по глубокому обучению, поэтому вы тренируете двухклассный классификатор, используя сверточные нейронные сети (CNN), загружая в него тысячи помеченных изображений, содержащих оба вида спорта. Классификатор работает неплохо, и вы получаете точность, скажем, 95%.

Вы представляете работу своему боссу, и она очень впечатлена. Следующее, что вы знаете, ваш глубокий классификатор используется в наборе данных изображений из Испании. Конечно, время от времени изображение действительно некачественное и размытое, поэтому классификатору приходится нелегко. Предположим, он находит изображение, на котором вероятность того, что это футбол, составляет 60%. Должен ли он решить классифицировать его как таковой? Конечно, нет! Изображение с 60% вероятностью того, что это футбол, взятое из базы данных Испании, обязательно должно быть классифицировано как футбол… Футбол в Испании почти никто не смотрит!

Фактически, в этом примере глупый классификатор, который просто помечает все как Futbol для этого набора данных, будет иметь гораздо более высокую точность, чем 95%, и будет работать намного лучше, чем ваша фантазийная глубокая нейронная сеть!

Так что же происходит? Что ж, вы должны были лучше подумать о проблеме, которая у вас была под рукой, и понять, что это не только проблема распознавания изображений. Такие вещи, как «популярность» или «местоположение», могут иметь огромное значение. Конечно, это простые функции, вы можете подумать о многих других, но суть вы поняли.

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

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

Первоначально опубликовано на www.quora.com.