Инструменты пользователя

Инструменты сайта


Боковая панель

Перевод этой страницы:

ru:addons:capmonster:learning:module-teach

Это старая версия документа.


Общая концепция обучения

В начале рекомендуется выбрать ядро по-проще и сделать быстрое обучение с большим количеством (треть) символов для теста. Быстренько провести пару десятков итераций обучения и посмотреть что получилось. Скорректировать параметры и обучить еще раз. Если все хорошо, можно обучать сеть более мощной структуры и более качественно.

Настройки ядра

Мощность ядра - чем больше мощность ядра, тем лучше качество распознавания символа. Но меньше скорость работы ядра и, в итоге, больше процессорного времени тратится на распознавание каптчи.
Не стоит сразу делать очень мощное ядро, попробуйте с самого слабого, возможно полученного результата распознавания вам будет вполне достаточно.
При изменении этого параметра рядом вы можете увидеть оценку сложности ядра.
Сложность ядра отражает количество процессорного времени, требуемое на отработку ядра в одной точке. Нет каких-то единиц измерения, просто число, которое поможет вам сравнить два ядра. Если у одного ядра сложность в два раза больше чем у другого, это значит, что и работать оно будет в два раза дольше при прочих равных условиях ).
На сложность ядра, кроме мощности, также очень сильно влияет размер окна распознавания символа.
В итоге, управляя этими двумя параметрами вы сможете создать ядро, которое устроит вас и по качеству распознавания и по скорости.

Настройки обучения

Скорость обучения - чем медленнее обучение тем оно более качественно. Но не стоит сразу учить долго и качественно. Попробуйте сначала обучить по-быстрому, вполне возможно, всплывут какие-то ошибки, вы их исправите и тогда можно будет обучить модуль более качественно. А, возможно, полученного результата будет вполне достаточно.

Разброс центров символов - при обучении собранные вами символы предъявляются ядру и их центр находится в той точке, которую вы указали. Но можно немного можно увеличить разброс этой точки. Это может привести к улучшению распознавания, а может и к ухудшению. В разделе тестирования модуля написано когда этот параметр может быть полезен.

Интенсивность обучения на ложных данных - рекомендуется увеличить, если при распознавании или обучении ошибка распознавания символа (3) - ложное срабатывание встречается намного чаще других ошибок.

Доля обучающих символов - собранные вами символы будут участвовать в обучении ядра, но не все. Часть из них пойдет на тест ядра во время обучения (первый график). Тест тоже очень важен, он помогает понять как проходит обучение и какие параметры можно исправить, чтобы более качественно переобучить ядро. В тесте должно быть хотя бы 30-50 символов чтобы понять как идет обучение.
Отдавать большую часть символов на тест тоже не стоит, ведь чем больше символов участвует в обучении ядра тем лучше.
Можно сделать так: первый раз обучить с большим количеством тестовых символов, а потом, когда все параметры будут подобраны, переобучить ядро почти на всех собранных символов, оставив на тест минимум из возможного.

Настройки распознавания

Порог распознавания - Когда ядру показывают область на капче (или при обучении), он выдает для каждого известного ему символа число в отрезке от 0 - если он не видит никаких признаков этого символа и до 1 - если он абсолютно уверен, что здесь в этой точке находится этот символ.
Но нам нужно не число, а точный ответ, есть тут символ или нет. Для этого и нужен порог распознавания. Все ответы ядра, где он выдает для какого-то символа число больше, чем порог распознавания мы считаем за «да, тут есть этот символ». Если ядро выдает число меньше, то мы символ не принимаем.

Минимальное расстояние между символами в каптче Каптч для теста Частота тестирования ***быстрое распознавание*

Три типа ошибок распознавания символа

Есть три основных типа ошибок при распознавании символа:
1) Неправильное распознавание - это когда символ, действительно есть, но распознается он не правильно. Например мы показываем модулю символ «а», а он находит там символ «с».
2) Пропуск символа - это когда символ есть, но модуль вообще не видит никакого символа. Т.е. мы показываем ему символ «а», а модуль выдает, что тут ничего нет.
3) Ложное срабатывание- это когда символа нет, например между двумя символами, но модуль там что-то находит.

Интерфейс обучения

Ход обучения

Проблемы обучения и их исправление

ru/addons/capmonster/learning/module-teach.1409055775.txt.gz · Последние изменения: 2015/07/14 15:50 (внешнее изменение)