В чем разница между «глубоким обучением» и многоуровневым / иерархическим моделированием?

31

Является ли «глубокое обучение» просто еще одним термином для многоуровневого / иерархического моделирования?

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

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

Являются ли эти две вещи действительно одним и тем же механизмом под двумя разными именами, используемыми двумя разными способами?

user4733
источник

Ответы:

38

сходство

Фундаментально оба типа алгоритмов были разработаны, чтобы ответить на один общий вопрос в приложениях машинного обучения:

Икс1,Икс2,...,Иксп

Иксп+1знак равноИкс1Икс2,Иксп+2знак равноИкс1Икс3,...

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

разница

Теперь позвольте мне понять, в чем заключается большая концептуальная разница между ними. Чтобы дать некоторое объяснение, давайте посмотрим на предположения, которые мы делаем в каждой из моделей:

1

2

Принципиальное отличие происходит от фразы «структура взаимодействий неизвестна» в Deep Learning. Мы можем предположить некоторые априоры в отношении типа взаимодействия, но алгоритм определяет все взаимодействия во время процедуры обучения. С другой стороны, мы должны определить структуру взаимодействий для многоуровневого моделирования (мы учимся изменять только параметры модели впоследствии).

Примеры

Икс1,Икс2,Икс3{Икс1}{Икс2,Икс3}

Икс1Икс2Икс1Икс3Икс2Икс3

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

Общие преимущества и недостатки

Многоуровневое моделирование

(-) необходимо определить структуру взаимодействия

(+) результаты обычно легче интерпретировать

(+) может применять статистические методы (оценить доверительные интервалы, проверить гипотезы)

Глубокое обучение

(-) требует огромного количества данных для обучения (и времени для обучения)

(-) результаты обычно невозможно интерпретировать (предоставляется в виде черного ящика)

(+) экспертных знаний не требуется

(+), будучи хорошо обученным, обычно превосходит большинство других общих методов (не зависит от конкретного приложения)

Надеюсь, это поможет!

Дмитрий Лаптев
источник
Почему глубокая нейронная сеть требует огромного количества данных для обучения? Я не слышал об этом раньше.
Джейс
1
@Jase Нейронные сети обычно имеют много параметров, поэтому во многих случаях, если вы используете небольшой набор данных, вы, вероятно, просто переопределите. Конечно, все зависит от задачи, но в настоящее время в большинстве наиболее впечатляющих результатов NN используются чрезвычайно большие наборы данных.
Дмитрий Лаптев
Согласился, что впечатляющие результаты получены для огромных наборов данных, но я не уверен, что мы не можем использовать выпадение и другие приемы, чтобы заставить его хорошо обобщать небольшие наборы данных.
Jase
1
@Jase Конечно, есть разные эвристики, которые вы можете использовать. Но, судя по моему опыту с обработкой изображений, почти все они вводят некоторую регуляризацию, которая в основном эквивалентна введению некоторого предварительного и, следовательно, смещения. Что не всегда то, что вы хотите.
Дмитрий Лаптев
Предположительно, вам не нужно определять структуру взаимодействий, если вы используете непараметрические параметры, например, иерархический Dirichlet.
Астрид
2

Несмотря на то, что этот вопрос / ответ был на месте, я подумал, что было бы полезно уточнить несколько моментов в ответе. Во-первых, фраза, поднятая в качестве основного различия между иерархическими методами и глубокими нейронными сетями: «Эта сеть фиксированная» это неверно. Иерархические методы не более «фиксированы», чем альтернативные нейронные сети. См., Например, статью « Глубокое обучение с иерархическим сверточным факторным анализом», Chen et. и др., Я думаю, вы также обнаружите, что требование определять взаимодействия также больше не является отличительной чертой. По моему опыту, пара моментов, которые не указаны в качестве плюса при иерархическом моделировании, - это значительно уменьшенная проблема переоснащения и способность обрабатывать как очень большие, так и очень маленькие тренировочные наборы. Неприятным моментом является то, что при использовании байесовских иерархических методов доверительные интервалы и проверка гипотез, как правило, не являются статистическими методами, которые будут применяться.

Энгус
источник