программирование. дополнительный прогресс с нейронной сетью.
продолжение дневника бывшего программиста, вспоминающего программирование и изучающего новое.
снова взялся за нейронную сеть, которую написал и обучил в апреле-мае.
причесал код, сделал более универсальным (избавился от привязки к константам типа вшитые в код размеры сети и проч.), оптимизировал и проч.
в итоге, теперь сетка научилась распознавать цифры, написанные в стиле почтового индекса (3x5 пикселей).
использован новый метод активации нейрона:
relu.
с точностью 0.5 выдает нужный результат в пределах пяти тысяч раундов обучения.
самый забавный случай был, когда сетка обучилась за 2 (ДВА!!!) шага для входного массива в три цифры (1, 2, 3):
на первом графике - величина ошибки обучения:
на втором графике собственно значения (черные горизонтальные, - это цель обучения),
с точностью 0.5 все четко:
зеленый - это распознанная=обученная "3" (3 плюс-минус 0.5),
оранжевый - распознанная=обученная "2" (2 плюс-минус 0.5),
синий, - распознанная=обученная "1" (1 плюс-минус 0.5).
считаю, это круто ;)
Удачи!
P.S. да, я принципиально (пока?) не пользуюсь стандартными библиотеками типа
keras.
продложение следует...