Я хочу использовать глубокое обучение в своем проекте. Я просмотрел пару статей, и у меня возник вопрос: есть ли разница между нейронной сеткой свертки и глубоким обучением? Являются ли эти вещи одинаковыми или имеют какие-то существенные различия, и что лучше?
25
Ответы:
Глубокое обучение - это ветвь машинного обучения, основанная на глубоких нейронных сетях (DNN), то есть нейронные сети с как минимум 3 или 4 слоями (включая входной и выходной уровни). Но для некоторых людей (особенно нетехнических) любая нейронная сеть квалифицируется как глубокое обучение, независимо от ее глубины. А другие считают 10-слойную нейронную сеть мелкой.
Сверточные нейронные сети (CNN) являются одной из самых популярных архитектур нейронных сетей. Они чрезвычайно успешны при обработке изображений, но также и для многих других задач (таких как распознавание речи, обработка естественного языка и многое другое). Современные CNN довольно глубоки (по крайней мере, десятки слоев), поэтому они являются частью Deep Learning. Но вы можете создать мелкий CNN для простой задачи, в этом случае это не (действительно) глубокое обучение.
Но CNN не одиноки, есть много других архитектур нейронных сетей, включая Рекуррентные нейронные сети (RNN), Автоэнкодеры, Трансформаторы, Сети глубокой веры (DBN = стек ограниченных машин Больцмана, RBM) и многое другое. Они могут быть мелкими или глубокими. Примечание: даже неглубокие RNN могут считаться частью глубокого обучения, поскольку для их обучения требуется развернуть их во времени, что приведет к глубокой сети.
источник
В областях адаптивной обработки сигналов / машинного обучения глубокое обучение (DL) является особой методологией, в которой мы можем обучать машины сложным представлениям.
Как правило, они будут иметь формулировку, которая может отобразить ваши входные данные , вплоть до целевой цели , через серию иерархически сложенных (отсюда и «глубоких») операций. , Эти операции обычно являются линейными операциями / проекциями ( ), за которыми следует нелинейность ( ), например:y W i f iИкс Y Wя ея
В настоящее время в DL существует множество различных архитектур : одна такая архитектура известна как сверточная нейронная сеть (CNN). Другая архитектура известна как многослойный персептрон (MLP) и т. Д. Различные архитектуры пригодны для решения различных типов проблем.
MLP, возможно, является одним из наиболее традиционных типов архитектур DL, которые можно найти, и именно тогда каждый элемент предыдущего уровня подключается к каждому элементу следующего уровня. Это выглядит так:
В MLP матрицы кодируют преобразование из одного уровня в другой. (Через матрицу умножить). Например, если у вас есть 10 нейронов в одном слое, соединенном с 20 нейронами следующего, то у вас будет матрица , которая отобразит вход на выход , через: . Каждый столбец в кодирует все ребра, идущие от всех элементов слоя к одному из элементов следующего слоя.W ∈ R 10 x 20 v ∈ R 10 x 1 u ∈ R 1 x 20 u = v T W WWя W ∈ R10 х 20 v ∈ R10 х 1 u ∈ R1 х 20 ты = vTW W
Тогда MLP потеряли популярность, отчасти потому, что их было трудно тренировать. Хотя есть много причин для таких трудностей, одна из них была также потому, что их плотные связи не позволяли им легко масштабироваться для различных проблем компьютерного зрения. Другими словами, у них не было встроенной переводной эквивалентности. Это означало, что если бы в одной части изображения был сигнал, к которому они должны были быть чувствительны, они должны были бы заново изучить, как быть чувствительными к нему, если этот сигнал двигался. Это потратило впустую емкость сети, и таким образом обучение стало трудным.
Это где CNN пришли! Вот как это выглядит:
CNN решили проблему трансляции сигнала, потому что они сворачивали каждый входной сигнал с детектором (ядром) и, таким образом, были чувствительны к одной и той же функции, но на этот раз везде. В этом случае наше уравнение все еще выглядит так же, но весовые матрицы на самом деле являются сверточными теплицевыми матрицами . Математика такая же, хотя.Wя
Принято считать, что «CNN» относятся к сетям, в которых у нас есть сверточные слои по всей сети, и к MLP в самом конце, поэтому об этом следует помнить.
источник
Глубокое обучение = глубокие искусственные нейронные сети + другие виды глубоких моделей .
Глубокие искусственные нейронные сети = искусственные нейронные сети с более чем одним слоем. (см. минимальное количество слоев в глубокой нейронной сети или в Википедии для дальнейших дискуссий…)
Convolution Neural Network = тип искусственных нейронных сетей
источник
На этом слайде Yann LeCun подчеркивается, что только модели с иерархией элементов (элементы нижнего уровня изучаются на одном уровне модели, а затем эти элементы объединяются на следующем уровне) являются глубокими .
CNN может быть глубоким или неглубоким; Это зависит от того, следует ли это построение «иерархии объектов», потому что некоторые нейронные сети, включая двухслойные модели , не являются глубокими.
источник
Deep learning
это общий термин для обозначения сложной нейронной сети с несколькими слоями. Не существует стандартного определения того, что именноdeep
. Обычно вы можете думать, что глубокая сеть - это нечто слишком большое для вашего ноутбука и ПК для обучения. Набор данных будет настолько огромным, что вы не сможете разместить его в своей памяти. Вам может понадобиться графический процессор, чтобы ускорить ваше обучение.Deep
больше похоже на маркетинговый термин, чтобы сделать что-то более профессиональным, чем иначе.CNN
это тип глубокой нейронной сети, и есть много других типов. CNNs популярны, потому что они имеют очень полезные приложения для распознавания изображений.источник