Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Какой метод коллективного распознавания использовать для классификации цифр/символов?

87K
30 августа 2016 года
ChicoID
2 / / 30.08.2016
Структура вопроса следующая: сначала даю понятие о коллективном распознавании, далее объяснение разных методов коллективной классификации, которые я нашел и в конце я привожу свой вопрос. Кто уже съел собаку в этом деле и им возможно не требуется объяснять, что это такое и какие методы есть, может просто взглянуть на заголовки приведенных мною методов и перейти к вопросу.

Что такое коллективное распознавание/классификация
Под коллективным (групповым) распознаванием подразумевается использование множества классификаторов, каждый из которых принимает решение о классе одной сущности, ситуации, образа с последующим объединением и согласованием решений отдельных классификаторов с помощью некоторого алгоритма. Использование множества классификаторов, как правило, приводит к более высокой точности распознавания и лучшим показателям вычислительной эффективности.

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

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

Один из подходов предполагает, что вместе с каждым классификатором используется специальный алгоритм (рефери), который предназначен для оценки компетентности классификатора. Под компетентностью классификатора в данной области пространства представления объектов классификации понимается его точность, т.е. вероятность правильной классификации объектов, чье описание принадлежит этой области.

Общая же схема обучения коллективному распознавания на основе оценки компетентности состоит из 2 шагов (рис. 1). На 1-м шаге производится обучение и тестирование каждого конкретного базового классификатора. Этот шаг не отличается от обычных схем обучения. На следующем шаге, после тестирования каждого классификатора, обучающая выборка, которая использовалась на этапе тестирования для некоторого классификатора, разделяется на два подмножества, L+ и L−. При этом в первое подмножество включаются те экземпляры исходной тестовой выборки, которые при тестировании были классифицированы правильно. Во второе подмножество включаются остальные экземпляры тестовой выборки, т.е. те, которые были классифицированы ошибочно. Рассматривая эти множества данных в качестве областей компетентности и некомпетентности классификатора соответственно, их можно использовать в качестве обучающих данных для обучения алгоритма «рефери». При классификации новых данных задача рефери состоит в том, чтобы для каждого входного примера определить, принадлежит ли он области компетентности алгоритма или нет, и если принадлежит, то какова вероятность правильной классификации этого примера. После этого рефери поручает наиболее компетентному классификатору решать задачу классификации.

Нейросетевые подходы.
Нейросетевые подходы коллективной классификации делятся на методы, которые используют объединение классификаторов с помощью нейронной сети, ансамбли сетей (ensembles of neural networks) и те, которые используют нейронные сети, построенные из модулей.

Нейросеть для объединения классификаторов
Один из подходов, рассматривает использование нейронной сети для объединения решений базовых классификаторов (рис. 2).
Выходом каждого базового классификатора является вектор решений (вектор, содержащий в качестве значений мягкие метки), значения элементов которого принадлежат некоторому числовому интервалу [a, b]. Эти значения подаются на вход нейронной сети (она должна быть обучена объединению решений классификаторов базового уровня), выходом которой является решение в пользу того или иного класса. Выходом сети также может являться вектор, размерность которого равна количеству классов распознаваемых объектов, который на каждой позиции имеет значение некоторой меры доверия в пользу того или иного класса. В этом случае в качестве решения может быть выбран класс с максимальным значением такой меры.

Система объединения решений функционирует следующим образом:
  1. выбирается и обучается множество базовых классификаторов;
  2. подготавливаются мета-данные для обучения нейронной сети. Для этого базовые классификаторы тестируются с использованием интерпретированной выборки данных и формируется для каждого тестового примера вектор решений базовых классификаторов, к которому добавляется компонента, в которую вносится имя истинного класса принадлежности тестированного примера;
  3. выборка мета-данных используется для обучения нейронной сети, выполняющей объединение решений.

Метод модульных нейросетей
Для модульных нейронных сетей предлагается использовать так называемую шлюзовую сеть (“gating network”), нейронную сеть для оценки компетентности классификаторов для конкретного входного вектора данных предъявляемых классификаторам. Этот вариант рассматривает нейросетевую парадигму для объединения решений на основе оценок компетентности. Соответствующая теория здесь называется mixture of experts — «смесь экспертов». Каждому классификатору ставится в соответствие программа «рефери», которая предсказывает степень его компетентности по отношению к конкретному входу, подаваемому на вход множества классификаторов базового уровня (рис. 3).
В зависимости от входного вектора Х решения различных классификаторов могут быть выбраны и использованы для принятия объединенного решения. Количество входов предсказывающей сети равно размерности входного вектора пространства признаков. Количество выходов сети равняется количеству классификаторов, т.е. L. Предсказывающая нейросеть обучается предсказывать меру компетентности каждого классификатора при предъявлении ей конкретного входного вектора, т.е. оценку того факта, что классификатор выдает правильное решение. Степень компетентности оценивается числом из интервала [0,1].

Ансамбли нейронных сетей
Также, предлагается архитектура системы объединения решений, которая состоит из нескольких экспертов (нейросетей). Объединение знаний нейронных сетей в ансамбле доказало свою эффективность, продемонстрировав перспективность применения технологий коллективного распознавания в преодолении проблемы "хрупкости".

Ансамбль нейронных сетей – это набор нейросетевых моделей, принимающий решение путем усреднения результатов работы отдельных моделей. В зависимости от того, как конструируется ансамбль, его использование позволяет решить одну из двух проблем: склонность базовой нейросетевой архитектуры к недообучению (эту проблему решает мета-алгоритм boosting), либо склонность базовой архитектуры к переобучению (мета-алгоритм bagging).

Существуют различные универсальные схемы голосования, для которых победителем является класс:
  1. максимальное – с максимальным откликом членов ансамбля;
  2. усредняющее – с наибольшим средним откликом членов ансамбля;
  3. большинством – с наибольшим числом голосов членов ансамбля.

Мой вопрос
Вопрос состоит в том, какую схему коллективного распознавания лучше использовать для распознавания символов и цифр. Источники данных, с которых я брал информацию о различных схемах групповой классификации датируются 2006 годом и боюсь, что некоторые методы могли устареть. Какую схему будет более рационально использовать с точки зрения актуальности какого-либо метода.

Мною были упомянуты следующие схемы:
  • на базе областей компетентности
  • на базе использования одной нейронной сети для объединения классификаторов
  • на базе использования модульной нейросети
  • на базе ансамблей нейронных сетей

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


Источники с более подробным описанием (оттуда я брал информацию о различных методах коллективного распознавания):
Методы и алгоритмы коллективного распознавания: Обзор (В. И. Городецкий, 2006)
Актуальные вопросы использования сверточных нейронных сетей и их комитетов в распознавании образов цифр (Кузьмицкий Н.Н., 2012)[
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог