Машинное обучение против глубокого обучения

11

Меня немного смущает различие между терминами «машинное обучение» и «глубокое обучение». Я прогуглил это и прочитал много статей, но это все еще не очень ясно для меня.

Известное определение машинного обучения Тома Митчелла:

Компьютерная программа называется извлечь из опыта Е относительно некоторого класса задач T и измерения производительности P , если его производительность на задачах в Т , как измерено P , улучшается с опытом E .

Если я возьму задачу классификации изображений классификации собак и кошек в качестве моего такта T , из этого определения я понимаю, что если бы я дал алгоритму ML набор изображений собак и кошек (опыт E ), алгоритм ML мог бы научиться различать новое изображение как собаку или кошку (при условии, что показатель эффективности P четко определен).

Затем приходит глубокое обучение. Я понимаю, что глубокое обучение является частью машинного обучения и что приведенное выше определение справедливо. Производительность при задаче Т улучшается с опытом Е . Все хорошо до сих пор.

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

введите описание изображения здесь

Меня смущает тот факт, что в (традиционном) машинном обучении функции должны быть изготовлены вручную. Из приведенного выше определения Тома Митчелла, я думаю , что эти функции будут извлечь из опыта Е и производительности P . Чему иначе можно научиться в машинном обучении?

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

user2835098
источник
2
Это очень хорошо описано в книге Глубокого обучения Goodfellow et al. в первой главе (Введение).
17

Ответы:

4

В дополнение к тому, что сказал Химаншу Рай, «глубокое обучение» - это подполе, которое включает в себя использование нейронных сетей. Эти нейронные сети пытаются изучить базовое распределение, изменяя веса между слоями. Теперь рассмотрим случай распознавания изображений с использованием глубокого обучения: модель нейронной сети разделена между слоями, эти слои связаны между собой ссылками, называемыми весами, и когда начинается процесс обучения, эти слои корректируют веса таким образом, что каждый слой пытается обнаружить какую-либо особенность и помогите следующему слою в его обработке. Ключевой момент, на который следует обратить внимание, заключается в том, что мы явно не просим слой учиться обнаруживать края, или глаза, нос или лица. Модель учится делать это сама. В отличие от классических моделей машинного обучения.

Avhirup
источник
8

Как область исследований, Глубокое обучение - это просто подотдел машинного обучения, поскольку машинное обучение - это подотчет искусственного интеллекта.

1) Обучение без присмотра

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

Как вы уже знаете, успешное обучение « традиционной » модели машинного обучения (например, SVM, XGBoost ...) возможно только после соответствующей предварительной обработки и разумного извлечения функций для выбора значимой информации из данных. То есть хорошие векторы признаков содержат признаки, характерные для точек данных с разными метками и согласованные для точек данных с одной меткой. Таким образом, Feature Engineering - это процесс выбора функций вручную специалистами. Это очень важный, но утомительный процесс!

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

Необслуживаемая функция обучения, кредиты: Тони Бельтрамелли (фото предоставлено Тони Белтрамелли)

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

Несмотря на то, что Deep Neural Networks может выполнять изучение функций без присмотра, это не мешает вам самостоятельно разрабатывать функции проектирования, чтобы лучше представлять свою проблему. Необучаемое изучение функций, извлечение функций и разработка функций не являются взаимоисключающими!

Источники:

2) Линейная отделимость

Глубокие нейронные сети могут решать некоторые нелинейно разделимые задачи, изгибая пространство объектов так, что объекты становятся линейно разделимыми. Еще раз, это возможно благодаря топологии сети, организованной в слоях, отображающих входные данные в новые представления данных.

Скрытый слой изучает представление так, чтобы данные были линейно разделены, кредиты: Кристофер Олах (Фото предоставлено: Кристофер Олах)

Источники: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/

3) Статистическая инвариантность

Наконец, глубокие нейронные сети превосходят традиционные алгоритмы машинного обучения в некоторых областях, потому что некоторые архитектуры демонстрируют статистическую инвариантность (например: пространственная статистическая инвариантность с сверточными нейронными сетями и временная статистическая инвариантность с рекуррентными нейронными сетями)

Проверьте это видео Udacity для получения дополнительной информации: https://www.youtube.com/watch?v=5PH2Vot-tD4

Тони
источник
4

Вдохновленный Эйнштейном: «Если вы не можете объяснить это шестилетнему ребенку, вы сами этого не понимаете».

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

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

Источник. Конечно, это еще не все, но для начинающих это может быть слишком запутанным.

ZenVentzi
источник
-3

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

Химаншу Рай
источник
Еще один вопрос: например, в CNN функции (или фильтры) - это не то же самое, что веса?
user2835098
Нет, они являются весами для слоя свертки, но продукт, полученный из свертки, то есть карты признаков, являются признаками.
Химаншу Рай
Я не согласен. Скрытые переменные также присутствуют в алгоритмах случайного леса и повышения. И вы все еще разрабатываете особенности в глубоком обучении. Как область обрезки в одном из лучших алгоритмов распознавания изображений в 2017 году
keiv.fly