Цель и определение, когда использовать скрытые слои

9

В продолжение этого вопроса ...

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

  1. Какова точная цель скрытого слоя?
  2. Как определить, сколько скрытых слоев использовать?

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

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

Ответы:

9

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

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

Смотрите эту ссылку для получения дополнительной помощи: http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html

Нил Тибревала
источник
1
эта ссылка весьма полезна
the_e
6

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

  1. Скрытый слой необходим для захвата нелинейных зависимостей между функциями ваших данных и переменной, которую вы пытаетесь предсказать. Если вы не используете скрытый слой, вы также можете использовать линейную регрессию (для регрессии) или логистическую регрессию (для классификации).
  2. Испытывая различное количество скрытых слоев и оценивая, насколько хорошо они работают, например, в режиме перекрестной проверки. Обычно достаточно одного скрытого слоя, и производительность NN оптимизируется путем изменения его размера и регуляризации.

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

Фред Фу
источник