0

Я написал простую искусственную нейронную сеть Feed Forward для распознавания символов.Необычные результаты Neural Network

У меня есть набор из 6 возможных символов в сетке 5x5 пикселей.

Эти {X, +, -, \, /, |}

Например X бы:

X = [1,0,0,0,1, 
    0,1,0,1,0, 
    0,0,1,0,0, 
    0,1,0,1,0, 
    1,0,0,0,1] 

Значение для серых шумных районов может быть между 0 и 1.

Моего ИНС состоит из 25 входных нейронов (The 5x5 сетка), 6 скрытых нейронов с предубеждениями и 6 выходных нейронов.

Каждый выходной нейрон отображается на символ. Выходы между 0 и 1 определяют, какой символ он распознает. I - символ выбирается для максимального значения выходных узлов.

i.e - Если выход {X : 0.9, + : 0.2, - : 0.1, \ : 0.15,/: 0.15, | : 0.2}, то признанным символом будет X.

Кажется, что он работает очень хорошо. Затем я провел следующий эксперимент:

Я получил тестовые входы (6 символов выше) и создал шумовую функцию addNoise(n), где n - это процент шумов, добавленных случайным образом к этому входу.

Для каждого значения шума между 0 и 1 я проверил тест 2000 раз (шум случайным образом изменяется незначительно каждый раз). Я получил следующий график, когда делаю это на X.

enter image description here

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

Как вы можете видеть после того, как я ввел примерно 40% (400 по оси x) шум на вход X-теста, он начинает предсказывать другие символы.

С добавлением 70% шума X, есть равные шансы Сети прогнозирования X и \.

Во всяком случае, мой вопрос:

Не следует линии на графике для \ и / быть почти идеально выровнены, так как они идентичны по отношению к X символ?

Для уточнения после 70% шума сеть равномерно перемешивается X и \.

Однако, после ~ 88% шума, сеть равномерно перемешивается X и /.

Почему моя сеть может выдавать такие результаты?

ответ

1

Вы предполагаете, что сеть изучает представление характера X во время обучения. Возможно, внутреннее представление, которое оно изучило, было сильно смещено в сторону / с небольшим количеством \, смешанным. I.e Если вход имеет сильный компонент / и некоторый компонент \ - тогда предскажите X. Эта информация достаточно, чтобы различать X от других символов (когда они чисты). Обучение NN основано на функции потерь, если это представление уже удовлетворяет нашим классам, сети нет необходимости изучать более надежные представления.

В этом гипотетическом случае, впрыскивающем небольшое количество шума, будет смущать компонент \ легко по сравнению с /, который потребует большого количества шума.