Проверка подписи от руки - PullRequest
0 голосов
/ 21 января 2019

Я работаю над проектом проверки подписи.Я использовал Набор данных подписи ICDAR 2011 . В настоящее время я соединяю кодировку исходного изображения и подделку, чтобы получить обучающий образец (помеченный 0).Кодировки получены из предварительно обученной сверточной нейронной сети VGG-16 (удаление полностью связанного слоя).Затем я изменил полностью подключенный слой, имеющий следующую архитектуру:

  • Размер ввода: 50177
  • 1-й скрытый слой: 1000 единиц (активация: "сигмоид", выпадение: 0,5)
  • 2-й скрытый слой: 500 единиц (активация: "sigmoid", Dropout: 0.2)
  • Выходной слой: 1 единица (активация: "sigmoid")

проблема заключается в том, что, хотя точность обучающего набора увеличивается, точность проверки изменяется случайным образом. Он очень плохо работает на тестовом наборе

Я пробовал разные архитектуры, но, похоже, ничего не работает. Есть ли другой способ подготовить данные илия должен продолжать пробовать разные архитектуры ??

1 Ответ

0 голосов
/ 21 января 2019

Я не думаю, что использование модели VGG16 для извлечения функций для вашей задачи - правильный путь.Вы используете модель, которая была обучена на относительно сложных изображениях RGB, и пытаетесь использовать ее для набора данных, который в основном состоит из изображений градаций серого (сигнатур).И вы используете последний слой внедрения, который содержит самое сложное и специализированное представление набора данных ImageNet (исходного обучающего набора данных для модели VGG).

Функции, которые вы получаете, не имеют реального значения, и, вероятно, поэтомуТочность обучения и точность проверки вообще не коррелируются, когда вы пытаетесь настроить модель.

Я предлагаю либо использовать более ранний слой VGG16 для извлечения объектов (я говорю где-то вокруг слоя№ 5-6), или еще лучше, использует более простую модель, которая была обучена на более похожем наборе данных , например, на наборе данных MNIST.

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

Результаты тестов MNIST

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...