Бустинг и нейросети (на примере распознавание номера автомобиля)

Существует задача обучить нейросеть для распознавания букв и цифр на автомобильном номере. Алгоритм распознавания сегментирует номер на символы, бинаризует каждый символ, приводит к размеру 10/15 пикселей, результат  передает нейросети в виде  вектора из  150 значений(0 черный 1 белый пиксель). Всего нейросети 3: буквы, цифры, цифры региона. Сами нейросети  в 5 слоев  полно-связные (150-116-100-100-10/12) метод обучения incremental обучение проводилось в FANN.

Для обучение и теста используя реальные фото номеров снятые с разных камер в разных условиях. Тестовая выборка разбита на 7 частей (7 разных камер). Необходимо было проверить эффективность применение бустинга при обучение этих нейросетей.

  1. обучение применяя бустинг. Брал 1000 образцов(выборка для обучения) обучал сети, распознавал ей дорогие 2000  образцов те что были распознаны не правильно добавлял их в выборку для обучения снова обучал сети, и так пока не закончились образцы. в итоге концечная выборка состояла из  15000 образцов (всего 50000)
  2. берем все образцы и обучаем сеть. но для то чтобы посмотреть на скорость обучения и сравнить с первым методом  обучал частями  по 10 000( 10 … 20….50000).

График для обучения с битенгом, по оси Х  величина выборки по Y процент верно распознанных в тестовых выборках (в номерах по 7-8 символов ошибки умножаются, к тому же образцы сильно разнятся так как камеры разные условия и т.п. поэтому числа не высокие но задача была сравнить)

image

И такой же график но с обучением без бустинга.

image

И для сравнения возьмем среднее обоих методов обучения нормализуем по оси х.

image

По результатам сравнения можно сделать вывод: применение бустинга в обучении нейросетей для распознавания символов (в честности номеров автомобилей)  дает худшей результат чем обучение на все выборке.  Хотя стоит заметить что выборка для обучения с бустингом получилась в 3 раза меньше и скорость обучения нейросетей была в 9 раз выше.