Насколько необходимы функции активации после плотного слоя в нейронных сетях?

В настоящее время я впервые обучаю несколько рекуррентных сверточных нейронных сетей с глубоким q-обучением.

Вход - матрица 11x11x1, каждая сеть состоит из 4 сверточных слоев с размерами 3x3x16, 3x3x32, 3x3x64, 3x3x64. Я использую stride=1 и padding=1. За каждым convLayer следует активация ReLU. Выходной сигнал подается в полностью связанный плотный слой с прямой связью со 128 элементами, а затем в слой LSTM, также содержащий 128 элементов. Два следующих плотных слоя дают отдельные пары достоинства и ценности.

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

1 ответ

Решение

Если мне нужно говорить в целом, использование функции активации поможет вам включить некоторые нелинейные свойства в вашу сеть.

Назначение функции активации - добавить нелинейное свойство к функции, которая представляет собой нейронную сеть. Без функций активации нейронная сеть могла бы выполнять только линейные отображения входов x в выходы y. Почему это так?

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

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

Другие вопросы по тегам