MNIST: получает меньшую точность, чем результаты, которые я вижу в интернете - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь обучить полностью подключенную нейронную сеть для классификации рукописных чисел с использованием наборов данных MNIST. Нейронная сеть реализована мной в C ++. Это часть моего курсового проекта. Тем не менее, я считаю, что обучение как-то странно. Я не знаю, что происходит не так.

Мой преподаватель курса просит нас использовать Sigmoid в качестве функции активации и MSE в качестве функции потерь, даже для выходного слоя. У меня есть некоторые сомнения в правильности выбора. Но я все еще следую тому, что он сказал.

Моя структура сети:

28*28 (input layer) value: 0-1
|
|
500 (hidden layer) activation: sigmoid
|
|
10 (output layer) activation: sigmoid
|
|
loss: MSE

Скорость обучения составляет 0,4. Размер партии равен 100. Потеря быстро падает до 0,5, но больше не будет уменьшаться. Точность тестирования возрастает до 60% и больше не будет увеличиваться.

Мне интересно, правильно ли я реализовал нейронную сеть или мне не следует использовать Sigmoid и MSE. Спасибо!

1 Ответ

0 голосов
/ 15 апреля 2019

Изменение функции активации и потери .
Sigmoid используется в выходном слое для двоичной классификации, но MNIST является проблемой классификации нескольких классов И использовать категорическую кроссенропию. MSE (средняя квадратическая ошибка) используется для регрессии.

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