Предположим, я пытаюсь создать нейронную сеть для распознавания символов на простой сетке 5x5 пикселей. У меня есть только 6 возможных символов (символов) - X,+,/,\,|
Распознавание символов нейронной сети
На данный момент у меня есть НЧ-сеть с обратной связью - с 25 входными узлами, 6 скрытыми узлами и единственным выходным узлом (между 0 и 1 - сигмовидным).
Выход соответствует символу. Например, 'X' = 0.125
, '+' = 0.275
, '/' = 0.425
и т. Д.
Независимо от того, какой выход сети (при тестировании) соответствует любому персонажу, ближайшему к численному. i.e - 0.13 = 'X'
На входе 0,1 означает, что пиксель вообще не затенен, 0,9 означает полностью затененный.
После обучения сети по 6 символам я тестирую ее, добавляя некоторый шум.
К сожалению, если я добавлю немного шума в '/', сеть считает, что это '\'.
Я подумал, что, возможно, упорядочение 6 символов (например, e - какое числовое представление они соответствуют) могло бы иметь значение.
Возможно, количество скрытых узлов вызывает эту проблему.
Возможно, моя общая концепция отображения символов на числа вызывает проблему.
Любая помощь была бы чрезвычайно оценена, чтобы сделать сеть более точной.
Используйте сверточную нейронную сеть для этой задачи, а не MLP. Получение большего количества данных также является хорошим способом повышения производительности. –