Разница между глубоким CNN и плотным CNN

#machine-learning #neural-network #deep-learning #conv-neural-network

#машинное обучение #нейронная сеть #глубокое обучение #conv-нейронная сеть

Вопрос:

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

Есть ли какая-либо разница между глубокой сверточной нейронной сетью и плотной сверточной нейронной сетью?

Заранее спасибо!

Комментарии:

1. Я голосую за то, чтобы закрыть этот вопрос как не относящийся к теме, потому что он не касается программирования

2. Плотного CNN не существует…

Ответ №1:

Плотный CNN — это тип глубокого CNN, в котором каждый слой связан с другим слоем, более глубоким, чем он сам.

Что это значит?

В обычном CNN каждый уровень подключен только к своим братьям и сестрам. Рассмотрим 4 уровня, выход из L1 подключен только к L2, выход из L2 подключен только к L3, выход из L3 подключен только к L4.

В плотном CNN рассмотрим 4 уровня, выход из L1 подключен к L2, L3, L4, выход из L2 подключен к L3, L4, выход из L3 подключен к L4.

Вот рисунок, иллюстрирующий это (источник изображения взят из этой статьи):

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

Зачем нам нужно это делать?

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

Плотные CNN также менее подвержены переоснащению по сравнению с обычным CNN.

Подробнее читайте эту статью, за ней довольно легко следить.