Опытным путем была подобрана оптимальная структура нейронной сети для нашей задачи — три слоя по 384, 150 и 10 нейронов. Первый [входной) слой принимает значения соответствующих пикселов (16x24 = 384-) изображения цифры, нормализованные к отрезку от 0 до 1 (значение яркости), внутренний слой играет основную роль в распознавании, а последний выходной слой представляет собой вектор из 10 переменных от 0 до 1, каждая из которой соответствует одной из цифр: чем выше значение, тем больше подобие изображения, соответствующей цифре.
В данном случае используется только один внутренний слой, потому что логика, реализуемая нашей нейросетью, практически является «примеркой» усредненных шаблонов каждой цифры к изображению, поэтому нескольких последовательных операций не требуется. Для обучения нейросети воспользуемся заготовленными образцами, кроме того нам потребуется ещё один набор образцов для независимого тестирования, который должен формироваться случайным образом без учета зашумленности:
Первая попытка обучения на 100 образцах дала 43% успешных распознаваний на независимом тестовом наборе, что соответствует примерно 3% (0.43 Л 4), что уже близко к нашей цели. Дополнив базу образцов ещё 100 экземплярами, получаем 55% успешных распознаваний отдельных цифр и примерно 10% всей капчи. С учетом того, что на попытку распознавания одной капчи расходуется около 1-2 секунд процессорного времени, общие затрать! на успешный взлом одной капчи составят 10-20 секунд. Это, в целом, приемлемое время, однако увеличение количества образцов для обучения нейросети позволит значительно снизить эти расходы. Для тестирования используем следующий код:
Подписаться на:
Комментарии к сообщению (Atom)
Популярные сообщения
-
Книгу Джоела Московица шестнадцати процентное решение, можно приобрести здесь. Книга про бизнес, на налоговых сертификатах. Подпис...
-
Сегодня речь в этой заметке пойдет о антивирусной обороне. Конечно, Существует большое количество антивирусных программ. Впрочем, Сказат...
-
Исправлены серьзные уязвимости безопасности, мелкие ошибки (но не все - согласно словам авторов, часть багов, обозначенных в bug tracke...
-
Очень интересный вопрос. И будет очень интересный ответ. Так как на этот вопрос никто не смог мне ответить, я решил сам испробовать все в...
Комментариев нет:
Отправить комментарий