Почему точность моей сверточной нейронной сети увеличивается после удаления полностью связанного слоя перед последним слоем softmax? - PullRequest
0 голосов
/ 09 июля 2020

Я разработал сверточную нейронную сеть (например, Keras), в которой есть несколько параллельных сверточных блоков с разными размерами ядра. Затем каждый выходной результат этих сверточных слоев подается в другие сверточные блоки, которые работают параллельно. Затем все выходы объединяются. Следующее сплющивание сделано. После этого я добавил полностью связанный слой и подключился к последнему слою softmax для классификации по нескольким классам. Я обучил его и получил хорошие результаты в проверочном тесте.

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

Ответы [ 2 ]

2 голосов
/ 09 июля 2020

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

Взрывающиеся или исчезающие градиенты. Вы можете попробовать решить эту проблему с помощью осторожного weight initialization, правильного regularization, добавления shortcuts или gradient clipping. Вы не тренируетесь в течение достаточного количества эпох, чтобы изучить более глубокую сеть. Вы можете попробовать еще несколько эпох. У вас недостаточно данных для обучения более глубокой сети.
0 голосов
/ 09 июля 2020

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...