У меня проблема с реализацией многослойного персептрона с помощью Matlab Neural Networks Toolkit.
Я пытаюсь реализовать нейронную сеть, которая распознает один символ, хранящийся в виде двоичного изображения (размер 40x50).
Изображение преобразуется в двоичный вектор. Выход кодируется в 6 битах. Таким образом я использую простую функцию newff (с 30 персептронами в скрытом слое):
net = newff(P, [30, 6], {'tansig' 'tansig'}, 'traingd', 'learngdm', 'mse');
Затем я тренирую свою сеть с дюжиной символов в 3 разных шрифтах со следующими параметрами поезда:
net.trainParam.epochs=1000000;
net.trainParam.goal = 0.00001;
net.traxinParam.lr = 0.01;
После тренировки сеть правильно распознала всех персонажей из учебных наборов, но ...
Он не может распознавать более двух символов из других шрифтов.
Как я могу улучшить эту простую сеть?