Применение нейросетевых технологий для идентификации изображения лица человека Текст научной статьи по специальности «Компьютерные и информационные науки»
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Макаренко Алексей Александрович, Калайда Владимир Тимофеевич
Статья содержит обзор основных нейросетевых технологий, применяемых для идентификации полутоновых изображений, и обсуждается возможность их использования для решения задачи обнаружения лица человека на изображении.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Макаренко Алексей Александрович, Калайда Владимир Тимофеевич
Алгоритм масштабирования и кластеризации в системе поиска лиц на изображениях
Система поиска, выделения и распознавания лиц на изображениях
Нейросетевые методы идентификации человека по изображению лица
Система поиска, выделения и распознавания лиц на изображениях. .
Методика локализации изображения лица для систем видеоконтроля на основе нейронной сети
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Neural nets involving in tasks of human face recognition
This paper includes a survey of base neural networks technologies applied to the half-tone images recognition tasks and contains a description of possibility of its use for human face localization on images.
Текст научной работы на тему «Применение нейросетевых технологий для идентификации изображения лица человека»
А.А. Макаренко, В.Т. Калайда
Применение нейросетевых технологий
для идентификации изображения лица человека
Статья содержит обзор основных нейросетевых технологий, применяемых
для идентификации полутоновых изображений, и обсуждается возможность их
использования для решения задачи обнаружения лица человека на изображении.
Многие направления науки и техники, имеющие отношение к получению, обработке, хранению и передаче информации, в значительной степени ориентируются в настоящее время на развитие систем, в которых информация имеет характер изображений. Одной из самых сложных задач для таких систем является распознавание изображений. Распознавание изображений широко примененяется в различных областях науки и техники. В технике это может быть контроль топологии печатных плат, текстуры ткани, робототехника (интеллектуальные системы). В информатике — контроль доступа к информации по идентификации личности (биометрическая идентификация). Кроме того, нарастающая угроза терроризма ставит задачу обеспечения безопасности в местах большого скопления людей (стадионы, концертные залы, кинотеатры, музеи), банковских учреждениях и бизнес-центрах, на транспортных объектах (аэропорты, железнодорожные станции, автовокзалы, морские порты), а также на стратегически важных объектах и пограничных переходах. В связи с этим возникает необходимость в создании надежных систем идентификации личности человека, в том числе и по изображению лица.
В настоящее время всё более широкое распространение получают биометрические системы идентификации человека. Традиционные системы идентификации требуют знания пароля, наличия ключа, идентификационной карточки либо иного идентифицирующего предмета, который можно забыть или потерять. В отличие от них биометрические системы основываются на уникальных биологических характеристиках человека, которые трудно подделать и которые однозначно определяют конкретного человека. К таким характеристикам относятся отпечатки пальцев, форма ладони, узор радужной оболочки, изображение сетчатки глаза. Лицо, голос и запах каждого человека также индивидуальны [1—3].
Распознавание человека по изображению лица выделяется среди биометрических систем, во-первых, тем, что, не требуется специальное или дорогостоящее оборудование. Для большинства приложений достаточно персонального компьютера и обычной видеокамеры. Во-вторых, не нужен физический контакт с устройствами. В большинстве случаев достаточно просто пройти мимо или задержаться перед камерой на небольшое время.
К недостаткам распознавания человека по изображению лица следует отнести то, что сама по себе такая система не обеспечивает 100%-й надёжности идентификации. Там, где требуется высокая надёжность, применяют комбинирование нескольких биометрических методов.
Задача обнаружения лица на изображении является первым шагом, предобработкой в процессе решения задачи идентификации личности человека по изображению лица (например, узнавания лица, распознавания выражения лица).
Задача обнаружения лица на изображении является более чем простой для человеческого зрения, однако при попытке построения автоматической системы обнаружения лиц приходится столкнуться со следующими сложностями:
• сильно варьирующийся внешний вид лица у разных людей;
• даже относительно небольшое изменение ориентации лица относительно камеры влечет за собой серьезное изменение изображения лица;
• присутствие индивидуальных особенностей (усы, борода, очки, морщины и т. д.) существенно осложняет автоматическое распознавание;
• изменение выражения лица может сильно сказаться на том, как лицо выглядит на изображении;
• часть лица может быть невидима (закрыта другими предметами) на изображении;
• условия съемки (освещение, цветовой баланс камеры, искажения изображения, привносимые оптикой системы, качество изображения) в значительной степени влияют на получающееся изображение лица;
В настоящее время для решения задачи обнаружения лица используются следующие подходы:
• метод главных компонентов [4];
• факторный анализ [5];
• моментный анализ [6];
• линейный дискриминантный анализ [5];
• метод опорных векторов [7];
• скрытые марковские модели [8];
• асЪгуе appearance models (активные модели внешнего вида) [9];
• вейвлетный анализ [10];
• подходы, основанные на искусственных нейронных сетях [11-15].
Наиболее перспективными среди них являются подходы с использованием искусственных нейронных сетей.
Нейронные сети давно и успешно применяются для решения многих задач распознавания. Достоинством использования нейросетей для решения задачи обнаружения лица является возможность получения классификатора, хорошо моделирующего сложную функцию распределения изображений лиц p (x | face J. Недостатком же является необходимость в тщательной и кропотливой настройке нейросети для получения удовлетворительного результата классификации.
Основные преимущества, которыми обладают нейронные сети, следующие.
Настройка нейронной сети для решения определённой задачи производится в процессе обучения на наборе тренировочных примеров. Таким образом, не требуется вручную определять параметры модели (выбирать ключевые признаки, учитывать их взаимоотношение и т.п.) — нейронная сеть извлекает параметры модели автоматически наилучшим образом в процессе обучения. Остаётся только построить тренировочную выборку. В задачах классификации при этом происходит неявное выделение ключевых признаков внутри сети, определение их значимости и системы взаимоотношений между признаками. В настоящее время разработаны мощные, гибкие и универсальные механизмы обучения различных типов нейронных сетей. Кроме того, архитектура нейронной сети и процедуры обучения позволяют гибкую настройку на конкретную решаемую задачу. Для большинства нейронных сетей процедура обучения является эвристическим алгоритмом, что, с одной стороны, обеспечивает приемлемость получаемых решений, а с другой стороны, не требует непомерных вычислительных ресурсов.
Нейронные сети обладают хорошей обобщающей способностью. Это значит, что опыт, полученный в процессе обучения на конечном наборе образов, нейронная сеть может успешно применять на всё множество образов. Кроме интерполяционных обобщающих способностей, нейронные сети (многослойные персептроны, например) могут хорошо экстраполировать, т. е. применять свой опыт на качественно иных образах, чем те, которые встречались в обобщающей выборке.
Нейронные сети не требуют наложения каких-либо ограничений на тренировочную выборку и не полагаются на то, что она обладает какими-либо априорными свойствами, в отличие, например, от статистических методов. Не требуется никакого предварительного изучения характера данных. Нейронная сеть принимает тренировочный набор «как есть» и учится производить правдоподобное решение, не претендуя на абсолютную истину. То есть строится наилучшая нефизическая модель, которая не является максимально точным соответствием реального процесса, но даёт приемлемую его аппроксимацию. Имеется ряд примеров, когда нейронные сети показывали себя лучше статистических методов. Кроме того, в статистике не имеется аналогов некоторых нейросетевых методов, таких, например, как карты Кохонена, машина Больцмана и, что важно для распознавания изображений, когнит-роны.
Естественным образом архитектура нейронных сетей реализуется на параллельных вычислительных средствах: специализированных микросхемах, оптических и квантовых компьютерах. Это открывает широкие перспективы применения нейронных сетей в будущем. Нейронная сеть характеризуется нечётким и распределённым хранением информа-
ции. То есть нет отдельного нейрона, отвечающего за какое-либо понятие или признак, и удаление или искажение работы этого нейрона не приведёт к фатальным последствиям.
Но несмотря на все достоинства, применение нейронных сетей к изображениям требует специальных усилий. Это связано, в первую очередь, со сложным характером изображений, особенно изображений трёхмерных объектов реального мира, какими и являются лица людей.
Технология обнаружения лица, используемая нами, описана в [15] и состоит из следующих этапов.
На этапе обучения нейронной сети предъявляется предварительно подготовленный набор изображений определенного размера, содержащий как изображения лица, так и нелицевые изображения (фон, части лиц и т.п.). Некоторые из этих изображений представлены на рис. 1.
Рис. 1 — Изображения из обучающей выборки
На данном наборе нейронная сеть учится отличать изображения лица от нелицевых изображений.
Этап детектирования изображения лица состоит в следующем: изображение, на котором необходимо найти лицо, последовательно масштабируется с некоторым коэффициентом, полученный таким образом набор изображений предъявляется нейронной сети. Предъявленное изображение сканируется входным слоем нейронной сети (то есть участки изображения с некоторым шагом подаются на вход нейронной сети), и происходит выделение кандидатов на каждом из изображений.
Основная идея, лежащая в основе нейронных сетей [16-18], — это последовательное преобразование сигнала параллельно работающими элементарными функциональными элементами.
Для решения задачи обнаружения лица на изображении применялось большое количество нейронных сетей различных архитектур. Рассмотрим вкратце основные из них.
Обзор нейросетевых архитектур Многослойные персептроны
Наиболее популярный класс многослойных сетей прямого распространения образуют многослойные персептроны, в которых каждый вычислительный элемент использует пороговую или сигмоидальную функцию активации.
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов (рис. 2). На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно с входными сенсорами Х1. Хп , и один выход. Нейрон характеризуется уникальным вектором весовых коэффициентов ю. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:
Выходы нейронов последнего, выходного, слоя описывают результат классификации У = У(Х). Особенности работы персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня иерархии с весами, определяемыми состояниями синапсов, и формирует ответный сигнал (переходит в возбужденное состояние), если полученная сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого нижнего уровня иерархии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно, сравнительно невелико. Состояние возбуждения нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной категории.
Данный вид нейронных сетей обучается с помощью алгоритма обратного распространения ошибки. Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев. Известные ошибки, делаемые нейронами выходного слоя, возникают вследствие неизвестных пока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемые сетью, — в обратном направлении, что и отражено в названии метода.
Была проведена практическая реализация нескольких различных конфигураций многослойного персептрона. Некоторые результаты работы одной из конфигураций нейронной сети представлены на рис. 3.
Рис. 3 — Результаты работы многослойного персептрона: слева — нейронная сеть правильно захватила лицо; справа — нейронная сеть не нашла повернутое лицо человека, выбрав часть головы
Радиально-базисные нейронные сети
представляет собой набор кластеров в пространстве образов и выполняет первый этап кластеризации входного образа — значение активационной функции каждого нейрона быстро
Рис. 2 — Структура многослойного персептрона
с пятью входами, тремя нейронами в скрытом слое, и одним нейроном выходного слоя
уменьшается с удалением от центра кластера. Второй слой нейронов имеет линейную активационную функцию и выполняет второй этап кластеризации — распределяет кластеры по классам.
Обучается такая сеть в два этапа. Первый этап осуществляется без учителя. На нём первый слой выделяет компактно расположенные группы кластеров. При этом корректируются центры кластеров. Второй этап обучения осуществляется с учителем. На нем второй слой учится распределять входные образы, пропущенные через первый слой, по классам. Это выполняется или матричными методами, или алгоритмом обратного распространения ошибки.
На рис. 5 представлены некоторые результаты работы радиально-базисной нейронной сети.
Рис. 4 — Структура радиально-базисной нейронной сети
Рис. 5 — Результаты работы радиально-базисной нейронной сети: слева — нейронная сеть правильно захватила лицо; справа — нейронная сеть не нашла повернутое лицо человека, выбрав часть головы
Самоорганизующиеся карты Кохонена
Алгоритм функционирования самообучающихся карт представляет собой один из вариантов кластеризации многомерных векторов. Обычно нейроны располагаются в узлах двумерной сетки с прямоугольными или шестиугольными ячейками (рис. 6). При этом, как было сказано выше, нейроны также взаимодействуют друг с другом. Величина этого взаимодействия определяется расстоянием между нейронами на карте.
Рис. 6 — Карты Кохонена
Сигнал в такую нейросеть поступает сразу на все нейроны, а веса соответствующих синапсов интерпретируются как координаты положения узла, и выходной сигнал формируется по принципу «победитель забирает все», то есть ненулевой выходной сигнал имеет нейрон, ближайший (в смысле весов синапсов) к подаваемому на вход объекту.
Самоорганизующиеся карты Кохонена используют алгоритм обучения без учителя. Обучение состоит из последовательности коррекций векторов, представляющих собой нейроны. На каждом шаге обучения из исходного набора данных случайно выбирается один из векторов, а затем производится поиск наиболее похожего на него вектора коэффициентов нейронов. После того как найден нейрон-победитель, производится корректировка весов ней-росети. При этом вектор, описывающий нейрон-победитель, и векторы, описывающие его соседей в сетке, перемещаются в направлении входного вектора.
На рис. 7 представлены результаты работы карт Кохонена.
Рис. 7 — Результаты работы самоорганизующихся карт Кохонена: слева — нейронная сеть правильно захватила лицо; справа — нейронная сеть не нашла повернутое лицо человека, выбрав боковую часть головы
В результате практической реализации вышерассмотренных нейронных сетей было выяснено, что они не обеспечивают необходимой надежности и универсальности, так как не обладают инвариантностью к изменению масштаба изображения, повороту и очень чувствительны к изменению условий съемки, фону и шумам на изображении.
Основной недостаток рассмотренных выше нейронных сетей — то, что изображение представлено в виде п-мерного вектора, не учитывающего ни двумерную локальную организацию пикселей, ни возможность деформации. То есть данные виды нейронных сетей не обладают инвариантностью к изменению масштаба и повороту. Описываемые далее типы нейронных сетей позволяют учесть топологию пространства изображения. Принципы работы таких сетей основываются на разбиении изображения на маленькие участки и иерархическом сопоставлении как взаимного их расположения, так и содержания.
В основу структуры неокогнитрона положена организация зрительной системы человека. Главная особенность неокогнитрона — это двумерная организация локальных участков и плоскостная иерархическая структура (рис. 8).
Рис. 8 — Структура неокогнитрона
Каждый слой состоит из плоскостей простых и сложных клеток. Каждый нейрон простой плоскости связан с локальным двумерным участком плоскостей предыдущего слоя, веса всех нейронов в пределах одной плоскости одинаковы, и плоскость реагирует на определённый образ, находящийся в участке изображения. Положение активированного таким образом нейрона в простой плоскости отмечает участок, в котором найден этот образ, независимо от искажения этого образа. Нейрон сложной плоскости связан с участком своей простой плоскости и обнаруживает активность нейронов на этом участке, уменьшая тем самым чувствительность к позиции образа.
Обучение неокогнитрона осуществляется по методу «обучение без учителя». Механизм обучения использует тип конкурентоспособного обучения. В основе его лежит выделение наиболее сильно возбужденного нейрона в области конкуренции и дальнейшее увеличение его весовых коэффициентов.
Практическая реализация неокогнитрона не проводилась в связи с его вычислительной сложностью, поэтому было решено обратить основное внимание на упрощенный вариант неокогнитрона — сверточную нейронную сеть.
Сверточные нейронные сети
Архитектура свёрточной нейронной сети основывается на принципах архитектуры нео-когнитрона, упрощённого и дополненного обучением алгоритмом обратного распространения ошибки.
В основе сверточной нейронной сети лежат идеи, предложенные Ле Куном и Бенджио (рис. 9) [19]:
• локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов);
• общие веса (обеспечивают детектирование некоторых черт в любом месте изображения и уменьшают общее число весовых коэффициентов);
• иерархическая организация с пространственными подвыборками.
Свёрточная нейронная сеть обеспечивает частичную устойчивость к изменениям масштаба, смещениям, поворотам, смене ракурса и прочим искажениям.
СопуоЫкта! ?иЬклпр1т^ СотгоЫошЛ БиЪзашр]^ КиИу
Рис. 9 — Архитектура сверточной нейронной сети
Архитектура сверточной нейронной сети, состоит из многих слоёв. Слои бывают двух типов: свёрточные и подвыборочные. Свёрточные и подвыборочные слои чередуются друг с другом.
В каждом слое имеется набор из нескольких плоскостей, причём нейроны одной плоскости имеют одинаковые веса, ведущие ко всем локальным участкам предыдущего слоя (как в зрительной системе человека). Изображение предыдущего слоя как бы сканируется небольшим окном и пропускается сквозь набор весов, а результат отображается на соответствующий нейрон текущего слоя. Таким образом, набор плоскостей представляет собой карты характеристик и каждая плоскость находит « свои» участки изображения в любом месте предыдущего слоя.
Следующий за свёрточным слоем подвыборочный слой уменьшает масштаб плоскостей путём локального усреднения значений выходов нейронов.
Таким образом, достигается иерархическая организация. Последующие слои извлекают более общие характеристики, меньше зависящие от искажений изображения.
Для обучения сверточных нейронных сетей может применяться как стандартный метод обратного распространения ошибки, так и его различные модификации.
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
Технология нейронных сетей предлагает подход, в корне отличный от традиционных методов идентификации изображений. Ее особенность в том, что не требуется предварительного изучения характера данных, «ручного» определения параметров модели (выбор ключевых признаков, их взаимосвязей и т.п.). Нейронная сеть извлекает параметры модели автоматически наилучшим образом в процессе обучения. Другой отличительной особенностью этой технологии является возможность реализации параллельных вычислений.
Ряд нейронных сетей (неокогнитрон, сверточные нейронные сети) разработаны по аналогии со зрительной системой человека и тем самым изначально предназначены для обработки изображений. Их эффективность доказана успешным применением для идентификации изображений букв, цифр, печатных плат и т. п.
В настоящее время наиболее популярными нейронными сетями, применяемыми для идентификации изображений, являются многослойные персептроны, так как они просты в реализации и обладают малой вычислительной сложностью. Однако проведенная нами практическая реализация нескольких различных конфигураций данных нейронных сетей показала, что они не полностью обеспечивают необходимую надежность и универсальность, так как не обладают инвариантностью к изменению масштаба изображения, повороту и очень чувствительны к изменению условий съемки, фону и шумам на изображении. Этим же недостаткам подвержены схемы самоорганизующихся карт Кохонена и радиально-базис-ных нейронных сетей.
Анализ литературы по проблеме, а также успешная реализация сверточных нейронных сетей [15] для задач идентификации и выделения сюжетной части изображения позволяют надеяться, что в этом направлении могут быть получены наиболее эффективные результаты.
1. Панканти Ш., Болле Р.М., Джейн Э. Биометрия: будущее идентификации // Открытые системы. — 2000. — № 3.
2. Филлипс Дж., Мартин Э., Уилсон С. Л., Пржибоски М. Введение в оценку биометрических систем // Открытые системы. — 2000. — № 3.
3. Глазунов А. Компьютерное распознавание человеческих лиц // Открытые системы. — 2000. — № 3.
4. Sung K.K., Poggio T. Learning Human Face Detection in Cluttered Scene — Lecture Notes in Computer Science — Computer Analysis of Images and Patterns, 1995. P. 432-439.
5. M.-H. Yang, N. Ahuja, and D. Kriegman. Face Detection Using Multimodal Density Models — Computer Vision and Image Understanding (CVIU), vol. 84, no. 2, pp. 264-284, 2001.
6. Калайда В. Т. Применение методов морфологического анализа для задач идентификации полутоновых изображений // Оптика атмосферы и океана. — 2003. — Т. 16. — № 09. -С. 862-865.
7. Jochen Maydt and Rainer Lienhart. Face Detection with Support Vector Machines and a Very Large Set of Linear Features — IEEE ICME 2002, Lousanne, Switzerland, pp. 33-40, Aug. 2002.
8. S. Marchand-Maillet and B.M. Erialdo. Pseudo two-dimensional hidden markov models for face detection in colour images — in Proceedings Second International Conference on Audio-and Video-based Biometric Person Authentication (AVBPA), 1999.
9. G.J. Edwards, C.J. Taylor, T.F. Cootes. Interpreting Face Images using Active Appearance Models — Int. Conf. on Face and Gesture Recognition 1998. pp. 300-330, 1998.
10. Chris Perkins, Tobin Fricke. Wavelets — Department of Electrical Engineering University of California at Berkeley, December 1, 2000, 18 p.
11. G. Burel and D. Carel. Detection and Localization of Faces on Digital Images — Pattern Recognition Letters, vol. 15, no. 10, pp. 963-967, 1994.
12. Takacs B., Wechsler H. Locating Facial Features Using SOFM — International Conference on Pattern Recognition, 1994. — Vol. 2. — P. 55-60.
13. S.-H. Lin, S.-Y. Kung and L.-J. Lin. Face Recognition/Detection by Probabilistic Decision-Based Neural Network — IEEE Trans. Neural Networks, vol. 8, no. 1, pp. 114-132, 1997.
14. H. Rowley, S. Baluja, and T. Kanade. Neural Network-Based Face Detection — Proc. IEEE Conf. Computer Vision and Pattern Recognition, pp. 203-208, 1996.
15. Garcia C.M., Delakis. A. Neural Architecture for Fast and Robust Face Detection — IEEE-IAPR International Conference on Pattern Recognition (ICPR2002), Quebec City, Aout 2002, p. 40-43.
16. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика. — 1992. — 184 с.
17. Ежов А.А., Шумский С.А. Нейрокомпьютинг и его применения в экономике и бизнесе. — Москва, 1998.
18. Горбань А.Н., Дунин-Барковский В. Л., Кирдин А.Н. и др. Нейроинформатика. -Новосибирск: Наука. Сибирское предприятие РАН, 1998.
19. Y. Le Cun and Y. Bengio. Convolutional networks for images, speech, and timeseries — The Handbook of Brain Theory and Neural Networks, M.A. Arbib, Ed., pp. 255-258. MIT Press, Cambridge, MA, 1995.
Калайда Владимир Тимофеевич
Канд. техн. наук, ст. науч. сотр. кафедры автоматизированных систем управления ТУСУРа Телефон: (3822) 49 22 42 Эл. почта: kvt@iao.ru
Макаренко Алексей Александрович
аспирант кафедры автоматизированных систем управления ТУСУРа Телефон: (3822) 49 09 10 Эл. почта: makaleks@mail.ru
А.А. Makarenko, V.T. Kalaida
Neural nets involving in tasks of human face recognition
This paper includes a survey of base neural networks technologies applied to the half-tone images recognition tasks and contains a description of possibility of its use for human face localization on images.
УДК 681.51.015.26:330.43 А.А. Мицель, Е.Б. Грибанова
Компьютерное имитационное моделирование экономических объектов
В статье рассмотрена компьютерная система имитационного моделирования экономических объектов. В систему включены 15 моделей различных экономических объектов. Приводятся примеры модели мониторинга рынка и результатов моделирования.
Под компьютерным имитационным моделированием в широком смысле понимают любые машинные эксперименты [1], с помощью которых можно получать представление об основных характеристиках исследуемого объекта.
В различных экономических системах мы сталкиваемся с действием случайных факторов. Применение традиционных средств поддержки управленческих решений и прогнозирования в этих условиях затруднено, и тем ценнее возможность использования метода имитационного моделирования, повышенный интерес к которому проявляется сегодня в развитых странах [2]. Поэтому в более узком смысле под имитационным моделированием будем подразумевать реализацию стохастических моделей.
Как известно, математическая модель некоторого явления или процесса может быть представлена функциональной зависимостью между совокупностью входных (независимых) переменных xi (i = 1. n) и одной или несколькими выходными (зависимыми) переменными у:
Разработка нейросетевого классификатора для систем тестирования тема диссертации и автореферата по ВАК РФ 05.13.16, кандидат технических наук Карпова, Наталья Александровна
Оглавление диссертации кандидат технических наук Карпова, Наталья Александровна
ГЛАВА 1. ИССЛЕДОВАНИЕ МЕТОДОВ КЛАССИФИКАЦИИ ОБЪЕКТОВ С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ.
1.1. КЛАССИФИКАЦИЯ ПРИМЕРОВ, ЯВЛЯЮЩИХСЯ РЕЗУЛЬТАТАМИ ТЕСТИРОВАНИЯ. .Л 5
1.2. ТЕСТ, ТРЕБОВАНИЯ К ТЕСТУ.21
1.3. ИСПОЛЬЗОВАНИЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ РЕШЕНИЯ ЗАДАЧ РАСПОЗНАВАНИЯ ОБРАЗОВ.28
Рекомендованный список диссертаций по специальности «Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)», 05.13.16 шифр ВАК
Инвариантный анализ двумерных сигналов 2004 год, кандидат технических наук Фам Чунг Зунг
Синтез нейронных сетей с адаптивной топологией 2006 год, кандидат технических наук Жолобов, Дмитрий Александрович
Распознавание радиолокационных целей по дальностному портрету с использованием аппарата нейронных сетей в целях мониторинга воздушного пространства 2006 год, кандидат технических наук Ле Дай Фонг
Статистические и нейросетевые алгоритмы синтеза и анализа стеганографически скрытой информации в аудио- и графических данных 2010 год, кандидат технических наук Дрюченко, Михаил Анатольевич
Методы кодирования текстовой информации для построения нейросетевых классификаторов документов 2000 год, кандидат технических наук Корж, Василий Вадимович
Введение диссертации (часть автореферата) на тему «Разработка нейросетевого классификатора для систем тестирования»
1. Актуальность темы
Одной из главных проблем, возникающих при решении задач классификации (или определении принадлежности объекта к тому или иному классу), является повышение ее точности при максимальной объективности и экономичной реализации. Постоянно возрастающие требования к точности, объективности и экономичности являются причиной разработки новых и совершенствования уже существующих систем обработки информации.
В задачах классификации точность измеряется количеством ошибок классификатора на тестовой последовательности. Под объективностью будем понимать независимость результатов классификации от субъективного восприятия экспертом априорной информации, необходимой для решения поставленной задачи. Экономичность предполагает минимум затрат на реализацию классификатора.
Существует возможность использовать для решения задач классификации интеллектуальные системы и технологии.
Экспертные системы (ЭС) относятся к числу интеллектуальных вычислительных систем и предназначены для моделирования или имитации поведения опытных специалистов экспертов [46, 68, 70] при решении конкретных задач. ЭС — это класс систем искусственного интеллекта, позволяющих осуществить эффективную компьютеризацию областей, в которых знания представлены в описательной форме и где затруднительно, а иногда и невозможно использовать широко распространенные математические модели [68]. Чаще всего такие системы представляют собой машинные программы.
Одним из классов задач, решаемых ЭС, является интерпретация данных, т.е. анализ поступающих в систему данных с целью идентификации ситуации в предметной области. В настоящее время наряду с используемыми ранее экспертными системами и системами поддержки принятия решений, широкое распространение заслуженно получили информационные технологии обработки информации, основанные на применении искусственных нейронных сетей.
За рубежом и у нас в стране большой интерес вызывает нейросетевой подход к построению систем искусственного интеллекта. Модели нейронных сетей разрабатывались давно (особенно интенсивно — в конце 50-х и начале 60-х гг). Однако в последние годы созрели предпосылки для выхода НС на уровень решения прикладных задач. Этому способствовали развитие микроэлектроники и компьютерной техники.
Возникло понятие нейросетевых технологий обработки информации, позволяющих создавать адаптивные системы, в которых обработка информации осуществляется на основе параллельных ассоциативных операций. Правила ассоциирования генерирует сама схема, действуя не по алгоритмической программе, а обучаясь на примерах и корректируя свое функционирование по результатам деятельности. Основными областями применения нейросетевых технологий считают классификацию и распознавание образов, экспертные системы (ЭС) и базы знаний, адаптивное управление процессами и робототехнику.
Существует класс задач, в которых требуется классифицировать примеры, являющиеся результатами тестирования исследуемых объектов. В настоящее время для решения таких задач используется методика, основанная на представлении результатов тестирования двоичным кодом с последующим подсчетом, полученных в результате этого, единиц и нулей. Данная методика перестает быть эффективной, как только сложность предлагаемых в тесте заданий перестает быть одинаковой, поскольку не учитывается значимость каждого из заданий.
При двух заданных классах используются дихотомические классификаторы [6, 57, 73, 77]. При большем количестве классов осуществляется либо последовательная дихотомическая классификация, для которой всякий раз требуется своя обучающая выборка достаточной мощности. Либо решается более сложная и менее изученная задача мультимодальной классификации [54].
Использование самоорганизующихся искусственных нейронных сетей, дает возможность наиболее объективного решения этого класса задач за счет устранения эксперта от непосредственного участия в процессе классификации.
В связи с этим, становится актуальной разработка методик объективной классификации предъявляемых примеров с помощью нейросетевых технологий, основанных на самоорганизации.
С появлением серийно выпускаемых средств аппаратной поддержки моделирования нейронных сетей, которые получили название нейрокомпьютеров, эта область науки вступила в стадию бурного роста.
Реализация нейрокомпьютеров требует больших разработок в области параллельной обработки данных, предполагающей совместное использование целых групп процессоров для решения выполняемых компьютером задач ( до 100 параллельных процессоров (ун-т Токио) выполнено Х.Танака, предусматривается более 10 тыс. процессоров, в Голландии ун-ты Лейдена, Амстердама, Ульрехта, Нейменгема) [61].
Отечественные и зарубежные ученые Волгин Л.И., Галушкин А.И., Горбань А.И., Дунин-Барковский В.А., Ивахненко А.Г., Каляев A.B., Кохонен Т., Минский М., Мкртчан С.О., Неймарк Ю.И., Позин Н.В., Цыпкин Я.З. выполнили множество фундаментальных работ.
В РФ в последние годы разворачиваются работы в области разработки аппаратных и программных средств нейрокомпьютеров. Создан Научный центр нейрокомпьютеров РАН и Госкомоборонпрома РФ (г. Москва). В ряде ВУЗов страны открыты кафедры нейротехнологий, созданы проблемные подразделения (Казань) [61].
Все это подтверждает актуальность и важность исследований.
С дальнейшим развитием работ в области нейронных сетей и нейрокомпьютеров во многих странах связывают большие научные, технические и экономические перспективы, что находит свое отражение в развитии специальных научных исследовательских программ (Япония — проект «Human Frontiers» 6,6 млрд дол,: создание нейрокомпьютеров; Европа -программы BRAIN, ESPIRIT, ANNIE; США — проект Мин. обороны США, 7 лет, 400 млн. дол., Россия — ведутся работы под эгидой ГКВТЙ,ГКНТ,АН РФ) [61].
Вопросы реализаций технических средств обработки информации находятся в зависимости от прогресса в технологии аппаратных средств и методов их построения. Проблема реализации нейроподобных структур и нейрокомпьютеров является задачей первостепенной важности, т.к. нейронные сети (НС) характеризуются чрезвычайно большим числом элементов обработки информации, очень сильной взаимосвязью нейронов и сложными процедурами обучения.
Сравним достоинства имитационных и самоорганизующихся моделей по следующим критериям:
1) Гибкость моделей по отношению к новым ситуациям и реализациям.
При имитации требуется расширение модели, расширение блочной структуры с применением программы адаптации при самоорганизации в случае изменения выборки данных и при добавлении воздействий требуется повторение вычислений на компьютере.
2) Многообразие моделируемых ситуаций (или сценариев).
При имитации вырабатываются сценарии, при синтезе моделей дедуктивно определяется ее структура, обладающая соответствующими степенями свободы (параметры, структуры, блоки).
При самоорганизации модель определена только для данной выборки данных с оптимальной сложностью, с учетом оценки коэффициентов модели.
3) Реализуемость модели.
При имитации необходима соответствующая алгоритмическая модель, программа для компьютера (использование готовых программ с блочной структурой имеет низкую эффективность), необходима хорошая специальная подготовка пользователей.
При самоорганизации используется программное обеспечение, которое в деталях знать пользователю нет необходимости.
Реализуемость как вероятность Ро достижения поставленной цели за заданное время То при самоорганизации выше, чем при имитации [104].
4) Стоимость построения модели.
При самоорганизации подготовка и оценка расчетов, вычислительное время значительно меньше, чем при имитации.
5) Объем эмпирической информации.
Информация, требуемая для имитации достаточна и для самоорганизации. Самоорганизация для имитации может дать следующее:
— обоснование выбора существенных факторов;
— сравнение различных вариантов модели.
Имитационные методы основанные на построении физических моделей, подобных уравнениям математической физики. В этих моделях уравнения выражают субъективные представления автора о модели и процессах, происходящих в исследуемых объектах [40].
Самоорганизация направлена на всемерное уменьшение априорной информации, вносимой в моделирование системы на ЭВМ автором модели. Ее цель — частично устранить участие человека в процессе моделирования, сделать его необременительным, не вызывающим проблем. Это достигается в информационных эргатических системах при помощи перехода на язык постановки критериев общего вида, которым должна удовлетворять модель, в некоторых случаях участвовать в доопределении (процедуре окончательного выбора) [37-42].
Свойства имитационного моделирования и системного анализа.
1) для моделирования требуется глубокое знание объекта, основанное на большом объеме априорной информации, закладываемой в ЭВМ автором модели;
2) данные наблюдений при этом специально не нужны, но могут использоваться для масштабирования или для получения оценок коэффициентов по методу наименьших квадратор;
3) результаты анализа при этом основываются на субъективных априорных представлениях автора;
4) могут быть получены модели, непригодные для решения некоторых задач.
Объективный характер алгоритмов самоорганизации определяется тем, что эксперты назначают только критерии выбора и в остальном в самоорганизацию модели не вмешиваются. В случае разногласия они могут перейти на более высокий уровень критериев (предельная помехоустойчивость, заблаговременность прогнозов, время счета на машине и т.д.), где споры быстро разрешаются. По алгоритмам самоорганизации решаются задачи объективного системного анализа, нелинейной идентификации и долгосрочного количественного прогноза процессов.
В процессе самообучения распознающая система должна сама найти некоторую с точки зрения человека случайную классификацию, поскольку механизм ее чаще всего непонятен ему, и затем должна ее придерживаться [42].
Постановка задачи. Требуется классифицировать результаты выполнения теста. Представляется целесообразным формально представить результат его выполнения в виде многомерного вектора ответов на тестовые задания. Определив координаты вектора ответов, можно найти расстояние от него до центров классов, соответствующих классифицированным оценкам 2, 3, 4 или 5.
Для решения задачи классификации многомерного вектора ответов используем метод определения расстояния в многомерном пространстве. Принадлежность вектора ответов к тому или иному классу определяется минимальным из полученных расстояний от вектора ответов до центра класса, соответствующего одной из оценок по пятибалльной системе (рис.1, стр. 13). Оценка 1> будет принадлежать к тому классу, для которого выполняется условие (рис. 1) г =тт < \Х-Х(\\К-Х(4)\,\Х-Х(3)\,\Х-Х<2)\>где г-расстояние,
Х- координата конца вектора ответов обучаемого на задания теста;
— координата классифицированной оценки, соответствующей г-му баллу. Наименьшее из значений г определяет принадлежность оценки к соответствующему классу.
Цель и задачи исследования. Разработка, Теоретическое и экспериментальное исследование метода и алгоритма мультимодальной классификации, тестируемых объектов с использованием искусственных нейронных сетей.
Основными задачами исследования являются:
1. Разработка информационной модели процесса классификации тестируемых объектов, объясняющей причины возникновения противоречивых решений.
2. Разработка мультимодального нейросетевого классификатора, имеющего минимальную сложность, способного к обучению на непредставительной обучающей последовательности.
3. Разработка и экспериментальное исследование нейросетевого классификатора для системы тестирования знаний.
1. Предложена информационная модель классификации тестируемых объектов, позволяющая обнаружить противоречивые решения,
2. Обосновано использование алгоритмов самоорганизации для синтеза мультимодальной нейронной сети в условиях непредставительной обучающей последовательности.
3. Предложены критерии для самоорганизации нейросетевых классификаторов, имеющих минимальную сложность. Нейронная сеть, синтезированная в классе дискретных полиномов, имеет минимальную степень и минимальное количество полиномиальных членов.
4. Решена задача обучения нейросетевого классификатора при нечетких указаниях учителя путем выявления ошибочно классифицированных им примеров.
5. Разработана и экспериментально исследована технология нейросетевой классификации результатов тестирования знаний с использованием тестов закрытого типа.
Практическая ценность работы.
1. Разработана методика тестирования знаний с использованием мультимодального нейросетевого классификатора.
2. Нейросетевой классификатор позволяет обнаружить противоречивые решения.
3. Нейронные сети, синтезированные в классе дискретных полиномов методом самоорганизации, имеют минимальную сложность, определяемую количеством полиномиальных членов.
4. Синтез нейросетевого классификатора возможен на малой обучающей выборке.
5. Предложена методика повышения качества обучения нейронной сети за счет выявления и исключения из обучающей выборки нечетких примеров.
Внедрение результатов работы. Результаты диссертационной работы внедрены в производственный процесс на АООТ «Пензенский завод точных приборов», ОАО «НИИПТхиммаш», в учебном процессе в ПГПУ им. В.Г. Белинского, многопрофильной гимназии № 44 г. Пензы.
Апробация результатов работы. Результаты диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах: Нейроинформатика и ее приложения (Красноярск, 1998), Физика в системе современного образования (Санкт-Петербург, РГПУ им. Герцена, 1999), Новые технологии и системы обработки информации и управления (Пенза, ПГУ, 199799), Новые технологии в преподавании физики: школа и ВУЗ (Москва, МГПУ, 1999), Физический эксперимент и его совершенствование (Пенза, ПГПУ, 1998), Физико — математическое образование: традиции* проблемы, инновации (Кострома, КГУ, 1999), Новые технологии обучения (Пенза, ИПКиПРО, 1999).
Похожие диссертационные работы по специальности «Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)», 05.13.16 шифр ВАК
Применение нейросетевых методов для обработки сигналов в каналах с помехами 2000 год, кандидат технических наук Кузнецов, Александр Владимирович
Методы построения искусственных нейронных сетей для задач классификации на основе применения полигауссовских вероятностных моделей 2011 год, кандидат технических наук Трофимов, Ярослав Александрович
Нейросетевые алгоритмы компьютерного контроля знаний: разработка и исследование 2008 год, кандидат технических наук Титов, Алексей Михайлович
Обучение нейронных сетей: Методы, алгоритмы, тестовые испытания, прим. прил. 1997 год, кандидат физико-математических наук Гилев, Сергей Евгеньевич
Синтез алгоритмов нейросетевого распознавания образов и восстановления зависимостей в условиях непараметрической неопределенности 2010 год, кандидат технических наук Зарипова, Юлия Хайдаровна
Заключение диссертации по теме «Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)», Карпова, Наталья Александровна
1. Предложена методика разработки тестов.
2. На обучающей выборке состоящей из 23 примеров, являющихся результатами тестирования, был синтезирован НС-классификатор, включающий 4 нейрона. Обученный классификатор обеспечивает безошибочную классификацию.
3. На тестовой последовательности состоящей из 23 примеров результаты нейросетевой классификации и указаний расходились в трех случаях.
4. Объективный анализ расхождений показал, что эти расхождения произошли из-за необъективного характера указаний.
1. Предложена информационная модель классификации тестируемых объектов, позволяющая обнаруживать противоречивые решения.
2. Обосновано использование алгоритмов самоорганизации для синтеза мультимодальной нейронной сети в условиях непредставительной обучающей последовательности.
3. Предложены критерии самоорганизации нейросетевых классификаторов, синтезированных в классе дискретных полиномов, имеющих минимальную степень и минимальное количество полиномиальных членов.
4. Самоорганизация полиномиальной нейронной сети осуществима при априори неизвестной степени аппроксимирующего полинома.
5. Разработан способ выявления нечетко классифицированных учителем примеров, который позволяет повысить качество обучения нейронной сети.
6. Предложенный метод позволяет обнаруживать противоречивые решения, вырабатываемые нейросетевым классификатором.
7. Разработана и экспериментально исследована технология нейросетевой классификации результатов тестирования знаний с использованием тестов закрытого типа.
8. Синтезированы нейронные сети минимальной сложности, обеспечивающие безошибочную классификацию объектов тестирования.
Результаты, полученные в работе, могут быть использованы для классификации объектов и состояний различных технологических процессов и технических систем.
Предложенное решение задачи может быть использовано как доя оценки знаний и профессиональной пригодности, так и других качеств личности.
Список литературы диссертационного исследования кандидат технических наук Карпова, Наталья Александровна, 1999 год
1. Аванесов B.C. Теоретические основы разработки заданий в тестовой форме: Пособие для профессорско-преподавательского состава высшей школы. — М.: МГТА, 1995.-95С.
2. Аведьян Э.Д. Алгоритмы обучения нейронных сетей: Дис. . д-ра техн. наук: 05.13.01. -М.,1997.-213с.-Библиогр.:с.201 -210.
3. Антомонов Ю.Г. Организация биосистем. Моделирование биосистем.-Биокибернетика, бионика. Киев, 1970.-c.9-14.
4. Аржененко А.Ю., Чугаев Б.Н. Оптимальные бинарные вопросники. М.: Энергоатомиздат, 1989.-128с.
5. Алексеев А.А., Буторин Д.А., Дорогов А.Ю. Нейронные сети со структурой быстрого алгоритма// Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред.А.Н.Горбаня. Красноярск: КГТУД998.-С.53.
6. Афанасьев Ю.С., Жернаков C.B. Нейрокомпьютеры для диагностики и прогназирования состояния ГТД// Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред.А.Н.Горбаня. Красноярск: КГТУ,1998. — С. 67-68.
7. Анастази А. Психологическое тестирование. В 2т,- Пер. с англ. -М.: Педагогика,1982.-т.1.-с.35-36, с.97-126; т.2.-с.36-70.
8. Альварис Х.Р. Одноместный вариант системы обучения на персональном компьютере// Программное оснащение персональных компьютеров: Сб. ст. под ред. Брусенцова Н.П.-М.: Изд-во МГУ,1990.-е.47-50.
9. Аванесов B.C., Володин Б.В. Вопросы применения тестов для контроля знаний студентов// Научная организация учебного процесса. Вып.3,ч.1.-М. .МИФИ, 1976. С.102-107.
10. Бобряков А.В. Модификация нейронов и структуры сети Хопфилда для решения оптимизационных задач// Нейроинформатика и ее приложения:
11. Тезисы докладов VI Всероссийского семинара/Под ред.А.Н.Горбаня. -Красноярск: КГТУД998. С.15.
12. Бир Ст. Мозг фирмы. М,: Радио и связь, 1993. — 416с.
13. Бир Ст. Кибернетика и управление производством. М.: гос.изд-во физ-мат. лит-ры, 1968.-275с.
14. Божич В.И. Коммутационные системы нейроподобных структур и нейрокомпьютеров: Дис. .д-ра техн.наук:05.13.13.-Таганрог, 1991,- 477с. ил.-Библиогр.: с.403-426.
15. Бондаровская В. Никонова й. Обучающая система ШЬ//Информатика и образование.-1990.-№2.-с.116-117.
16. Боровков И.К. Разработка структур и исследование функциональных свойств нейроподобных сетей с локальными связями для решения задач анализа изображений: Дис. .канд.тех. наук:05.13.13,- Таганрог, 1992.-309с.: ил.-Библиогр.: с.219-233.
17. Бугаев А.И. Методика преподавания физики в средней школе. М.: Просвещение, 1981 .-287с.
18. Букатова И.Л., Елинсон М.И. Современные системы управления и задачи микроэлектроники.- Микроэлектроника, 1981, том 10, вып.1, С.42-58.
19. Буняев М, Давыдов И. Автоматизированная система подготовки обучающих курсов «Радуга»//Информатика и образование, 1998. -№4.-С.65-68.
20. Вопросы объективизации оценки результатов обучения. М., 1976.-66с-(Обзор информ./НИИВШ. Сер. Высш.и сред.спец.образование за рубежом).
21. Выгузов В.Г., Выгузова А.В., Коротков П.И., Степанов П.А., Ширчев А.Г. Тестовый контроль с использованием ПЭВМУ/Преподавание физики в высшей школе. Сб-к науч.трудов. МПГУ. М.: Прометей, 1996.-№7.- С.20-22.
22. Галкин Л.И. Машинно-ориентированные методы синтеза нейроподобных элементов и нейронных сетей: Дис. .канд. техн. наук: М.,1973.-139с.
23. Галуев Г.А. Разработка и исследование цифровых нейроподобных ансамблей и сетей с перестраиваемой структурой: Дис.канд.техн. наук: 05.13.01.-Таганрог,1983.-212с., ил. Библиогр.: 194-204.
24. Галуев Г.А. Архитектура цифровых нейрокомпьютеров//Электронное моделирование, 1991. №2. — С.21-25.
25. Галушкин А.И., Судариков В.А., Шабанов Е.В. Методика решения задач на нейрокомпьютере//Нейрокомпьютер, 1992. №1. — С.22-28.
26. Галицкий А.В. Синтез синаптических связей активной нейронной сети//Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. Красноярск: КГТУ, 1998. -С.29.
27. Гилев С.Е. Обучение нейронных сетей: (Методы, алгоритмы, тестовые испытания, прим. прил.): Дис. .канд. физ.-мат. наук: 05.13.16,- Красноярск, 1997187с.-Библиогр.: с.133-151.
28. Горбань А.Н. Обучение нейронных сетей. М.: Параграф, 1990.-159с.
29. Горбатов Д.С. Критериально-ориентированное тестирование как средство диагностики учебных достижений школьников: Дис. . канд. техн. наук: 13.00.01.-Воронеж, 1996.-186с.-Библиогр.: с.156-276.
30. Головкин Б.А. Параллельные вычислительные системы. М.: Наука, 1980.-520с.
31. Грановская P.M. Восприятие и модели памяти. Л.: Наука, 1974.-362с.
32. Горбаченко В.И. Решение дифференциальных уравнений в частных производных на клеточных нейронных сетях// Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. Красноярск: КГТУ, 1998. — С.45.
33. Елинсон М.И., Шаров AM. Создание эффективных распознающих систем и задачи микроэлектроники. Микроэлектроника, 1981. — Том 10, вып.1. — С.69-71.
34. Еремин Д.М. Разработка и исследование нейросетевого регулятора для систем автоматического управления: Дис. .канд.техн. наук: 05.13.01.-М.,1995.-170с.: ил. Библиогр.: С.147-154.
35. Зарецкий Д.В., Зарецкая ЗА., Первин Ю.А. Педагогические и психологические основы создания открытых программно-методических систем// Информатика и образование,1998.-№1.-С.75-81.
36. Захаров А.И., Матюшкин A.M. Проблемы адаптивных систем обучения. -М., Прогресс,1970.-387с.
37. Ивахненко А.Г., Юрачковский Ю.П. Моделирование сложных систем по экспериментальным данным. М.: Радио и связь, 1987. — 120с.
38. Ивахненко А.Г. Электроавтоматика. Киев: Гостехиздат УССР, 1957.-439с.
39. Ивахненко А.Г., Мюллер Й.А. Самоорганизация прогнозирующих моделей. Киев: Техника,1985. — 233с.
40. Ивахненко А.Г., Зайченко Ю.П., Димитров В.Д. Принятие решений на основе самоорганизации. М.:Сов. Радио, 1976.-280с.
41. Ивахненко А.Г. Перцептрон система распознавания образов.- Киев: Наукова Думка, 1975.- 431с.
42. Ивахненко А.Г. Самообучающиеся системы распознавания и автоматического управления. Киев: Технша, 1969. — 392с.
43. Измерение знаний при проведении массовых обследований: Метод, рекомендации. М.: МПГИ, 1984,- 107с.
44. Ивахненко А.Г., Степашко B.C. Численное исследование помехоустойчивости многокритериальной селекции моделей// Автоматика. -1982.-№4.-С. 26-36.
45. Ильина Т.А. Тестовая методика проверки знаний и программированное обучение//Сов. педагогика, 1967.-№2,- С. 122-125.
46. Искусственный интеллект: В 3 кн. Системы общения и экспертные системы: Справочник/ Под ред. Э.В. Попова. М.: Радио и связь, 1990. — 461с.
47. Карпова H.A. Использование тестового контроля в управлении образовательной деятельностью студентов на практических занятиях по физике.// Новые технологии в преподавании физики: школа и ВУЗ: Сб. аннотаций докладов. М.: МПГУД999. — С. 12.
48. Кабардин О.Ф., Кабардина С.И., Орлов В.А. Контрольные и проверочные работы по физике. М.: Изд.дом «Дрофа», 1996.-192с.
49. Карпова H.A. Построение информационной модели процесса тестирования знаний//Новые технологии и системы обработки информации и управления. Сб. науч. тр. университетского семинара № 1. Пенза: ПТУ, 1999.
50. Карпова H.A. Управление в системе тестирования знаний// Новые технологии и системы обработки информации и управления. Сб. науч. тр. университетского семинара № 1. Пенза: ПТУ, 1999.
51. Карпова H.A. Модель нейросетевой классификации для систем обработки информации и управления// Новые технологии и системы обработки информации и управления. Сб. науч. тр. университетского семинара № 1. -Пенза: ПТУ, 1999.
52. Карпова H.A. Синтез нейронных сетей на основе алгоритмов самоорганизации// Новые технологии и системы обработки информации и управления. Сб. науч. тр. университетского семинара № 1. Пенза: ПТУ, 1999.
53. Карпова H.A. Об опыте применения технических систем на базе ЭВМУ/Использование научно-технических достижений в физическом эксперименте: Межвуз. сб. науч. тр. Пенза: ПГПУ, 1997. — С.27-32.
54. Карпова H.A. Нейросетевой метод оценки результатов обучения//Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. Красноярск: КГТУД998. -С.85.
55. Каляев А.В., Галуев Г.А. Современное состояние и перспективы развития нейрокомпыотерной техники// Электронное моделирование, 1990. 12, №2. -С.14-19.
56. Каляев А.В., Галуев Г.А., Чернухин Ю.В., Брюхомицкий Ю.А. Интеллектуальные системы на основе цифровых нейрокомпьютеров с программируемой архитектурой//Вопросы радиоэлектроники, Сер. ЭВТ, вып.З, 1991. С.3-15.
57. Классификация измерительной информации в энергетических системах с помощью нейронных сетей// Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. Красноярск: КГТУД998.-С.90.
58. Кибернетика и проблемы обучения. Сб. переводов /Под ред. А.И. Берга. -М.: Изд-во» Прогресс»,1970.-387с.
59. Кирсанов Э.Ю. Цифровые нейрокомпьютеры: архитектура и схемотехника Казань: КГТУ, 1995,- С.131.
60. Кирсанов Э.Ю. Оценка производительности нейрокомпьютеров// Нейрокомпьютеры, 1992. №2,- С.37-42.
61. Кирсанов Э.Ю, Методы и средства построения высокопроизводительных нейрокомпьютеров общего и специального назначения: Дис. . д-ра техн. наук: 05.13.05.-Казань, 1996.-381с.: ил.- Библиогр.:С.328-350.
62. Колягин А.Ю, Применение обучающих систем для контроля знаний учащихся:( На примере курсов информатики и математики в педвузе): Дис. . канд. пед. наук : 13.00.02,-М.: 1991.~172с.:ил.-Библиогр.:С,145-155.
63. Кофман Н.Б. Совершенствование контроля системы знаний и умений учащихся с применением программированных заданий: Дис. .канд.пед.наук: 13.00.01 .-Алма.Ата, 1986.-169с.:ил.-Бибилиогр.: С.146-169.
64. Крайзмер Л.П., Матюхин С.А., Майоркин С.Г. Память кибернетических систем. М.: Сов.радио, 1971, — 400с.
65. Краснова Т.Д., Челышкова М.Б., Лебедева С.Н. Определение надежности и валидности тестов по физике: (науч.-мет. сб.)/ОВВОКИУ.-Одесса, 1986.-С.44— 50.
66. Кохонен Т. Ассоциативная память. М.: Мир, 1980.-290с.
67. Куффлер С., Николас Д. От нейрона к мозгу. -М.: Мир, 1979. 439с.
68. Компьютерные технологии обработки информации: Учебное пособие/Под ред. C.B. Назарова. М.: Финансы и статистика, 1995. — 248с.
69. Лорьер Ж.-Л. Системы искусственного интеллекта: Пер. с франц. -М.: Мир,1991.-568с.
70. Масалович А.И. От нейрона к нейрокомпьютеру .//Журнал д.ра Дробба.1992.-Ш.-С.20-24.
71. Максименко Л.А. Разработка новых принципов совершенствования технических систем на основе нейроподобной технологии. :Дис. . д-ра техн. наук: 05.13.09.-Краснодар, 1990.-391с.:ил.-Библиогр.:С.356-388.
72. Милованов A.B., Воронин A.B. Программная реализация самообучающейся нейроподобной среды для распознавания образов// Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. Красноярск: КГТУД996. — С.95.
73. Машбиц Е.И., Андриевская В.В., Комисарова Е.Ю. Диалог в обучающей системе. Киев: Высша школа, 1989.-С.47-92.
74. Милованов A.B., Воронин A.B. Феноменологическая модель нейроподобной возбудимой среды для распознавания плоских геометрических образов// Нейроинформатика и ее приложения: Тезисы докладов VI
75. Всероссийского семинара/Под ред. А.Н. Горбаня. Красноярск: КГТУД998. -С.121.
76. Миленький А.В. Классификация сигналов в условиях неопределенности. -М.: Советское радио,1975. 328с.
77. Минаев Ю.Л. Анализ и прогнозирование результатов обучения с помощью нейросетевой компьютерной программы//Нейроинформарика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. -Красноярск: ЕГТУД998. С.122-123.
78. Неймарк Ю.И., Таранова Н.И. Об отборе и кодировании признаков при распознавании образов//Динамика систем/под ред Ю.И. Неймарка. Нижний Новгород,1995. — С.45-54.
79. Нечаев В.А. Системы управления и тренажерные комплексы морских подвижных объектов изучения и освоения мирового океана.: Дис. .докт. техн. наук:05Л3.01.- Пенза, 1998.-472с.
80. Нейрокомпьютер как основа мыслящих ЭВМ.-М. .Наука,1992.-40с.
81. Нейрокомпьютеры и интеллектуальные роботы/Под ред Н.М.Амосова.-Киев: Наук, думка, 1994.-272с.
82. Несенюк А.П. Концепция неопределенных величин в задачах управления с неполной информацией//Автоматика,1983. №3. — С.ЗЗ — 41.
83. Пак Н.И., Симонова А. Л. Методика составления тестовых заданий//Информатика и образование, 1998.-№5.-С.27-32.
84. Нейрокомпьютер как основа мыслящих ЭВМ: Сб. ст. М.: Наука,1993. -219с.
85. Позин Н.В. Моделирование нейронных структур. -М.: Наука,1970.-264с.
86. Программированное обучение за рубежом/Сб. ст. под ред. И.И. Тихонова. -М.: Высшая щкола, 1968.-275с.
87. Рудинский А.В., Ермоленко А,С. Вычисление весов признаков при технический реализации систем искусственного интеллекта//
88. Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А. Н. Горбаня. Красноярск: КГТУ, 1998. — С. 156-157.
89. Рачковский Д.А. Разработка и исследование многоуровневых ансамблей сетей нейроподобных элементов: Дис. .канд.техн. наук: 05.13.09,-Киев, 1990.-213с.:ил.-Библиогр.:С.198-213.
90. Розенблат Ф. Принципы нейродинамики. Перцептроны и теория механизмов мозга. М.: Мир, 1965.-480с.
91. Рузавин Г.И. Методы научного исследования. М.: Мысль, 1974.-С.56.
92. Семенов В.В. и др. Компьютерные технологии в дистанционном обучении. -М.,1997.-64с.-(Новые информационные технологии в образовании: Аналитические обзоры по основным направлениям развития высшего образования/НИИВШ; Вып. 12).
93. Савельев Б.А., Щетинин В.Г., Лебедев А.Б. Автоматизированная система контроля линейных размеров/У Автоматизация и механизация управления. -1984.-Ш.-С.51-54.
94. Сентоготаи Я., Арбиб М. Концептуальные модели нервной системы. М.: Мир, 1976.-198C.
95. Сергеева Т.А. Новые информационные технологии и содержание обучения// Информатика и образование, 1990.-№2.-С.З-10.
96. Симонов В.П. Педагогический менеджмент. Учебное пособие. М.: Российское педагогическое агенство, 1997.-264с.
97. Соловьев С.Ю. Математические методы и принципы построения автоматизированных систем инженерии знаний.: Дис. .докт. физ.-мат. наук. :05.13.15 .-Тверь, 1996.-242с.
98. Соколов E.H., Вайткявичюс Г.Г. Нейроинтеллект: от нейрона к нейрокомпьютеру. М.: Наука, 1989.-238с.
99. Сенашова М.Ю. Методы вычисления допустимых погрешностей сигналов и весов синапсов нейронных сетей// Нейроинформатика и ее приложения: Тезисыдокладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. Красноярск: КГТУД998. -С.162.
100. Сарычев А.П. Устойчивое оценивание коэффициентов в многорядных алгоритмах МГУА//Автоматика, 1985. № 5. — С.З — 8.
101. Тужилов И.В., Федотов Н Г. Автоматическая генерация признаков для нейросетевого распознавания образов// Нейроинформатика и ее приложения: Тезисы докладов VI Всероссийского семинара/Под ред. А.Н. Горбаня. -Красноярск: КГТУД998. С.180 — 181.
102. Ту Д., Гонсалес Р. Принципы распознавания образов. М.:Мир, 1978.-411с.
103. Уоссерман Ф. Нейрокомпыотерная техника. М.: Мир, 1992.-240с.
104. Форрестер Дж. Мировая динамика. М.: Наука, 1978.-165с.
105. Челышкова М.Б. Организация контроля учебной деятельности студентов в условиях педагогического сотрудничества: Дис. .канд. пед наук: 13.00,00.-Киев, 1990.-175с.
106. Штерн Г.П. Нейроподобные системы с потоковым кодированием информации: Дис. .канд. техн. наук: 05.13.11.-Ярославль, 1995.-122с:ил.-Библиогр.:с.117-122.
107. Щербаков М.А. Искусственные нейронные сети. Конспект лекций. Пенза: ПГТУ, 1996.-44с.
108. Щетинин В.Г. Костюнин А.В. Принятие решений на нейронных сетях оптимальной сложности//Автоматизация и современные технологии,1998. -№4 С.38-43.
109. Щетинин В.Г. Синтез минимальных решающих правил и распознавание хронических лейкозов на основе принципа внешнего дополнения//В кн.
110. Математические методы распознавания образов (ММРО-6)».- М.: РАН, 1995.-С.76-77.
111. Щетинин В.Г. Самоорганизация минимальной нейронной сети//В сб. «Нейроинформатика и ее приложения»,- Красноярск: СО РАН, 1996,- С.43-44.
112. Щетинин В.Г. Исследование методов многорядной самоорганизации разделяющих функций и разработка дискриминаторов. Дис. . канд. техн. наук: 05.13.01. -Пенза,1996. 131с.: ил.- Библиогр. С.109 — 120.
113. Юдин Д.Б. Многослойные нейронные сети и многошаговое обобщенное математическое программирование//Доклады РАНД996.Т.348, №2, С.173-175.
114. Юдин Д.Б. Алгоритмы обучения нейронной сети (алгоритмы пополнения знаний)//Автоматика и телемеханика,1996.-№ 11 .-С.148-154.
115. Barach John Paul. Simulation of action protentials in a one dimensional bidomain.// IEEE Frans.Diomtd.Eng. 1988. Vol.35.№5.P.340-345.
116. Billings S.A., Jamaluddin H.D., Chen S. Properties of neural networks with applications to modeling non-linear dynamical systems.//bitJ.Control. 1992. V.55.№1.P. 193-224.
117. Cybenko G. Approximation by superprositions of a sigmoidal function. //Mathematics of Control, Signals and Systems. 1989.№2.P.303-313.
118. Conner Doug. Data transformation explains the basics of neural network.//EDN. 1988. Vol.33 .№10.P. 138-141.
119. Fortuna L.,Geaziani S.,Prestí M.L.,Muscato G. Improving back-propagation learning using auxiliary neural networks.//Int.J.Control.l992.V.55.№i4.P.793-807.
120. Funahashi K. On the approximate realization of continuous mappings by neural networks.//Neural Networks. 1989.№2.P. 183-192.
121. SchetininV.G.,Kostunin A.V. Self-organizing Method in Modeling: GMDH Type Algorithms/ed. By S.Farlow,-Stationstics:N,Y.andBasell,1984.-P.l 12-117.
122. Larry J.Stensaas. Prosthtsts and methods for promoting nerve regeneration/ZPatent U.S. №4662884.1988.№2.P.71.
123. Lippmann R. An introduction to computing with neural nets.//IEEE ASSP Mag.-1987.-4.№2/-P.4-22.
124. Lippmann R. Review of Neural Networks for Speech Recognition.//Neural Computation.-1989.-l .-P.l-38.
125. Palm Gtinter. Associative informationsspeicherung in Nervennetzen 1/Kimstliche intell: Wesen und Bedent neuer Computerllleist. Dusseldorf .1987.P. 163-177.
126. Parker D.B. Optimal algorithms for adaptive networks: second order back propagation, second order direct propagation and second orderdirect propagation and second order Hebbian learning.//Proc. lsl IEEE Int.Conf. Neurfl Networks. 1987/P. 593-600.
127. Rumelhart D.E., Hinton G.E., Williams R.J. Learning internal representations by error propagation //Parallel Distributed Processing /D.E.Rumelhart, J.L.McClelland (eds.).- Cambridge: MIT Press.-1986.-V.l-Ch.8.-P.318-362.
128. Rumelhart D.E.,Hinton G.E.,Williams R.J. Learning representations by back-propagations errors.//Nature.-1986.-323 .-P.533-536.
129. Reeke George N.,Edelman Geersid M., Sulzbach Dan. Selective neural network and their implication for recognition automat //Int. J.Supercomput.Aahhl/1987.Vol.l.№14.P.44-49.
130. Ryan Thowas W.,Winter C.L.,Turner Charies J. Dinamic control of an artificial neural system: the property inheritance network.//Appl.Opt.l987.Vol.26.P.4961-4971.
131. Sejnowski T.J.,Rosenberg C.R. Parallel networks that learn ty pronounce English text.// Complex Systems.-1987.-V.l.-P.145-168.
132. Taniguchi Ikuo, ^hch ^sexo I^ycHH raHKancH//I.Inst. Electron.Inform, and Commeen.Eng. 1988. Vol.71 .№3 .P.242-244.
133. Thakoor A.P., Moopen A., Lambe John, Khlanna S.K. Electronic hardware implementation of neural network.//Appl.opt.l987.Vol.26.№23. P.5088-5092.
134. Tsividis Y., Satyanarayana S. Analogue circuit for variabl-synfnse electronic neural netwjrk.//Electron.Lett. 1987. Vol.23 .№24.P. 1313-1314.140
135. Widrow B., Hoff M.B. Adaptive Switching Circuits. 11 IRE WESCON Conv.Record.-1960.-Part.4.-P.96-l 04.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.
- Инвариантный анализ двумерных сигналов
- Синтез нейронных сетей с адаптивной топологией
- Распознавание радиолокационных целей по дальностному портрету с использованием аппарата нейронных сетей в целях мониторинга воздушного пространства
- Статистические и нейросетевые алгоритмы синтеза и анализа стеганографически скрытой информации в аудио- и графических данных
- Методы кодирования текстовой информации для построения нейросетевых классификаторов документов
- Применение нейросетевых методов для обработки сигналов в каналах с помехами
- Методы построения искусственных нейронных сетей для задач классификации на основе применения полигауссовских вероятностных моделей
- Нейросетевые алгоритмы компьютерного контроля знаний: разработка и исследование
- Обучение нейронных сетей: Методы, алгоритмы, тестовые испытания, прим. прил.
- Синтез алгоритмов нейросетевого распознавания образов и восстановления зависимостей в условиях непараметрической неопределенности
Digital Science & Education LP (Company number LP022131), 85 Great Portland Street, First Floor, London, United Kingdom, W1W 7LT
Классификация данных при помощи нейронных сетей

Определённым компромиссом между параметрическим и метрическими методами является использование для решении задач классификации нейронных сетей. Нейронные сети являются непараметрическими моделями, не требующими предположений о вероятностном распределении данных, но при этом и не используют меры расстояний. Это делает их универсальными классификаторами, позволяя получать результаты даже в случаях, когда параметрические и метрические классификаторы не обеспечиваю приемлемого решения.
Классификация является одной из важнейших задач интеллектуального анализа данных. Она решается с помощью аналитических моделей, называемых классификаторами. Востребованность классификации обусловлена сравнительной простотой алгоритмов и методов её реализации, и высокой интерпретируемостью результатов по сравнению с другими технологиями анализа данных.
В настоящее время разработано большое количество различных видов классификаторов, для построения которых используются как статистические методы (логистическая регрессия, дискриминантный анализ), так и методы машинного обучения (нейронные сети, деревья решений, метод k-ближайших соседей, машины опорных векторов и др.).
Необходимость использования в анализе данных большого числа разнообразных методов классификации, обусловлена тем, что решаемые с её помощью задачи могут иметь свои особенности, связанные, например, с числом классов (бинарная классификация или с несколькими классами) или с представлением исходных данных — их объёмом, размерностью и качеством, что требует выбора адекватного классификатора. Поэтому выбор классификатора, соответствующего особенностям решаемой задачи анализа, является важным фактором получения правильного решения.
Различные виды классификаторов имеют свои преимущества и недостатки. Так, классификаторы, в которых используются методы статистики имеют хорошую математическую обоснованность, но при этом сложны в использовании и требуют знания вероятностного распределения исходных данных и оценки его параметров (поэтому их называют параметрическими), а также имеют фиксированную структуру модели. Кроме этого, статистические методы оценивают только вероятность принадлежности объекта классу, но не «объясняют» почему.
Классификаторы, основанные на машинном обучении не требуют оценки параметров распределения исходных данных, а мера сходства в них формализуется с помощью функции расстояния (обычно, евклидова). Такие классификаторы называются метрическими. Как правило, они проще в реализации и использовании, чем параметрические, а их результаты удобнее для интерпретации и понимания. Но при этом метрические классификаторы являются эвристическими моделями — обеспечивают решение только в ограниченном числе практически значимых случаев, могут дать неточное или не единственное решение. Поэтому использовать их результаты нужно с известной долей осторожности.
Определённым компромиссом между параметрическим и метрическими методами является использование для решении задач классификации нейронных сетей (НС). Действительно, НС являются непараметрическими моделями, не требующими предположений о вероятностном распределении данных, но при этом и не используют меры расстояний. Это делает их универсальными классификаторами, позволяя получать результаты даже в случаях, когда параметрические и метрические классификаторы не обеспечиваю приемлемого решения.
Особенности применения НС в качестве классификаторов
Следует отметить, что задача классификации для НС, вообще говоря, не является основной (как, например, для деревьев решений или алгоритма k ближайших соседей). Изначально, основной задачей для НС является численное предсказание (когда на входе и выходе модели числовые значения, что иногда не совсем корректно называют регрессией).
Однако, используя специальные способы представления данных, можно адаптировать НС для работы с категориальными данными, т.е. получать на вход и формировать на выходе категориальные значения. Для этого категориальные признаки соответствующим образом кодируются с помощью числовых значений.
Тем не менее, можно выделить ряд преимуществ использования НС в качестве классификаторов:
- НС являются самообучающимися моделями, работа которых практически не требует вмешательства пользователя;
- НС являются универсальными аппроксиматорами, позволяющими аппроксимировать любую непрерывную функцию с приемлемой точностью;
- НС являются нелинейными моделями, что позволяет эффективно решать задачи классификации даже при отсутствии линейной разделимости классов (рис. 1).
Следует отметить, что каких-либо специальных нейросетевых архитектур для классификации не существует. Наиболее часто используемой для классификации архитектурой НС являются сети прямого распространения, на входные нейроны которых подаются значения признаков классифицируемого объекта, а на выходе формируется метка или числовой код класса. Обычно используются многослойные персептроны. В таких сетях элементы вектора признаков поступают на входные нейроны и распределяются на все нейроны первого скрытого слоя НС, и в результате размерность задачи изменяется.
Последующие слои, таким образом, разделяют объекты на классы в пространстве признаков более высокой размерности, чем исходное. Например, если размерность вектора признаков исходных данных равна 4, и скрытый слой содержит 6 нейронов, то выходной слой производит разбиение объектов на классы в 6-мерном пространстве.
Это позволяет сделать процесс более эффективным: правильно подобрав конфигурацию и параметры НС можно получить хорошие результаты классификации даже в тех случаях, когда классификаторы других типов, работающие только в размерности обучающих данных, не обеспечивают приемлемых результатов. Недостатком является то, что конфигурация сети, наилучшим образом аппроксимирующая функцию разделения классов в пространстве признаков, заранее неизвестна. Поэтому приходится подбирать её экспериментально, либо использовать опыт аналогичных решений.
Если распределение классов таково, что для их разделения требуется сложная функция, размерность НС может оказаться неприемлемо большой. В этом случае проблему можно снять с помощью специальной предобработки исходных данных.
Подготовка исходных данных
Какими бы совершенным ни были методы и алгоритмы, используемые для классификации, они не дадут корректных результатов, если применяются к грязным «данным». Поэтому первым шагом построения классификационной модели на основе НС, является предобработка и очистка данных.
Первым шагом в этом направлении является отбор признаков, значимых с точки зрения различия классов. Действительно, объекты предметной области могут описываться большим числом признаков. Но не все они позволяют надёжно различать объекты различных классов. Например, если объекты разных классов имеют примерно одинаковый размер, то использование «габаритных» признаков не имеет смысла. Не желательно также использовать признаки, значения которых являются случайными и не отражают закономерностей распределения объектов по классам.
Кроме этого важную роль играет выбор количества используемых признаков. С одной стороны, чем больше признаков применяется при построении классификатора, тем больше информации используется для разделения классов. Но при этом возрастают вычислительные затраты и требования к размеру НС (количеству настраиваемых в процессе обучения параметров — весов связей нейронов). С другой стороны, снижение количества используемых признаков ухудшают разделимость классов. Например, может сложиться ситуация, когда у объектов различных классов окажутся одинаковые значения признаков и возникнет противоречие.
Например, в задаче классификации заёмщиков на «плохих» и «хороших» можно оставить всего два признака «Доход» и «Возраст». Тогда весьма вероятно, что два заёмщика с одним и тем же возрастом и доходом окажутся в разных классах. Чтобы сделать заёмщиков различимыми нужно добавить ещё один признак, например, число иждивенцев. Таким образом, отбор признаков для обучения классификатора на основе НС является поиском компромисса.
Ещё одним важным видом предобработки обучающих данных является нормализация значений признаков к диапазону 0..1. Нормализация необходима, поскольку классифицирующие признаки имеют различную физическую природу и их значения могут различаться на несколько порядков (например «Доход» и «Возраст»).
Кроме этого, перед построением классификатора на основе НС следует провести профайлинг данных с целью оценки их качества, и при необходимости применить к ним средства очистки данных: заполнение пропусков, подавление аномальных значений и выбросов, исключение дубликатов и противоречий.
Кодирование выходных значений
Принципиальным отличием задачи классификации от задачи численного предсказания является то, что выходная переменная дискретная (метка класса или её числовой код). Поскольку НС являются моделями, использующими обучение с учителем, переменная класса должна быть задана для каждого обучающего примера.
В простейшем случае, если классификация бинарная, задача может быть решена с помощью НС с единственным нейроном выходного слоя, на выходе которого формируется два возможных состояния (например, 0 и 1). Если классов несколько, то необходимо решать проблему их представления на выходе сети. На практике обычно используется выходной вектор, элементами которого являются метки или номера классов.
При этом отношение объекта к классу определяется установкой в 1 соответствующего элемента выходного вектора ( i -го элемента для j -го класса), в то время, как остальные элементы устанавливаются в 0. Тогда, например, второму классу будет соответствовать единица на 2-м выходе сети и 0 на остальных (рис. 2).
Для кодирования могут использоваться и другие значения кроме 1. Но при интерпретации результата обычно считается, что класс определяется номером выхода сети, на котором появилось максимальное значение. Например, если на выходе сети был сформирован вектор выходных значений (0.2, 0.6, 0.4), то максимальное значение имеет второй компонент вектора. Следовательно, класс, к которому относится этот пример, будет 2.
Очевидно, что при таком способе кодирования, чем сильнее максимальное значение отличается от остальных, тем выше уверенность в том, что сеть отнесла объект именно к данному классу. Формально эту уверенность можно ввести в виде показателя, равного разности между максимальным значением на входе сети (которое, собственно, и определяет принадлежность к классу) и ближайшим к нему значением на другом выходе.
Например, для рассмотренного выше примера уверенность сети в том, что пример относится ко второму классу, определится как разность между второй и третьей компонентой вектора и равна 0.6−0.4=0.2 . Соответственно чем выше уверенность, тем больше вероятность того, что сеть дала правильный ответ. Этот метод кодирования является самым простым, но не всегда самым эффективным способом представления классов на выходе сети.
Например, в другом способе представления, номер класса кодируется в двоичной форме в выходном векторе сети. Тогда если число классов равно 5, то для их представления будет достаточно трёх выходных нейронов, а код, соответствующий, скажем, 3-му классу будет 011. Недостатком подхода является отсутствие возможности использования показателя уверенности, поскольку разность между любыми элементами выходного вектора всегда равна 0 или 1. Следовательно изменение любого элемента выходного вектора неминуемо приведёт к ошибке. Поэтому для увеличения «расстояния» между классами удобно использовать код Хэммминга, который позволит точность классификации.
Ещё один подход заключается в разбиении задачи с k классами на k∗(k−1)/2 подзадач с двумя классами каждая (кодирование «2 на 2»). Подзадача в данном случае заключается в том, что сеть определяет наличие одной из компонент вектора. Т.е. исходный вектор разбивается на группы по два компонента в каждой таким образом, чтобы в них вошли все возможные комбинации компонент выходного вектора. Из комбинаторики известно, что число этих групп можно определить как количество неупорядоченных выборок без повторений по два из исходных компонент, то есть:
Тогда, например, для задачи с четырьмя классами мы имеем 6 выходов (подзадач) распределенных следующим образом:
| № подзадачи (выхода) | Компоненты выхода |
|---|---|
| 1 | 1-2 |
| 2 | 1-3 |
| 3 | 1-4 |
| 4 | 2-3 |
| 5 | 2-4 |
| 6 | 4-4 |
Здесь 1 на выходе говорит о наличии одной из компонент. Тогда определить номер класса по результату расчета сети можно следующим образом: определяем, какие комбинации получили единичное (точнее близкое к единице) значение выхода (т.е. какие подзадачи были активированы), и полагаем, что в качестве номера класса следует выбрать тот, который вошел в наибольшее количество активированных подзадач (см. таблицу).
| № класса | Компоненты выхода |
|---|---|
| 1 | 1, 2, 3 |
| 2 | 1, 4, 5 |
| 3 | 2, 4, 6 |
| 4 | 3, 5, 6 |
Этот метод кодирования во многих задачах позволяет получить лучшие результаты классификации, чем классические подходы.
Выбор размера сети
Для построения эффективно работающего классификатора очень важно правильно выбрать размер сети, а именно количество связей между нейронами, которые настраиваются в процессе обучения и обрабатывают входные данные при её работе. С одной стороны, если весов в сети будет мало, то она не сможет реализовывать сложные функции разделения классов. С другой стороны, увеличение числа связей приводит к возрастанию информационной ёмкости модели (веса работают как элементы памяти).
В результате, когда число связей в сети превысит число примеров обучающей выборки, сеть будет не аппроксимировать зависимости в данных, а просто запомнит и будет воспроизводить комбинации вход-выход из обучающих примеров. Такой классификатор будет прекрасно работать на обучающих данных и выдавать произвольные ответы на новых, не участвовавших в процессе обучения. Иными словами, сеть не приобретёт обобщающую способность и использовать на практике построенный на её основе классификатор будет бессмысленно.
Чтобы правильно выбрать размер сети применяют два подхода – конструктивный и деструктивный. Первый заключается в том, что вначале берется сеть минимального размера, и затем её постепенно увеличивают до достижения требуемой точности. При этом после каждого увеличения ее заново обучают. Также существует так называемый метод каскадной корреляции, при котором после окончания каждой эпохи обучения происходит корректировка архитектуры сети с целью минимизации ошибки.
При деструктивном подходе вначале берется сеть завышенного размера, и затем из нее удаляются нейроны и связи, которые оказывают наименьшее влияние на точность классификатора. При этом полезно помнить следующее правило: число примеров в обучающем множестве должно быть больше числа настраиваемых весов сети. В противном случае сеть не приобретёт обобщающую способность и будет выдавать на новых данных произвольные значения.
Для контроля обобщающей способности сети, на основе которой строится классификатор, полезно использовать тестовое множество, формируемое из случайно отбираемых примеров обучающего набора данных. Примеры тестового множества не участвуют в процессе обучения сети (т.е. не влияют на подстройку её весов), а просто подаются на её вход вместе с обучающими примерами.
Если сеть показывает высокую точность как на обучающем, так и на тестовом множестве (примеры которого, по сути, играют роль новых данных), то можно говорить о том, что сеть приобрела обобщающую способность. Если сеть выдаёт хорошие результаты только на обучающих данных и плохие на тестовых, то обобщающая способность ею не приобретена.
Часто ошибку сети на обучающем множестве называют ошибкой обучения, а на тестовом — ошибкой обобщения. Соотношение размеров обучающего и тестового множеств, в принципе, может быть любым. Главное, чтоб в обучающем множестве оставалось достаточно примеров для качественного обучения модели.
Очевидным способом улучшения обобщающей способности сети является увеличение числа обучающих примеров или сокращение числа связей. Первое не всегда возможно из-за ограниченного объема набора данных и возрастания вычислительных затрат. Сокращение же числа связей приводит к ухудшению точности сети. Поэтому выбор размера модели часто оказывается достаточно сложной задачей, требующей многократных экспериментов.
Выбор архитектуры сети
Как отмечалось выше, никаких специальных архитектур нейросетей для решения задач классификации не используется. Типичным решением здесь являются плоскослоистые сети с последовательными связями (персептроны). Обычно опробуется несколько конфигураций сети с различным количеством нейронов и способов организации их в слои.
При этом основным показателем для выбора является объем обучающего множества и достижения обобщающей способности сети. Обычно используется алгоритм обучения Back Propagation (обратного распространения) с валидационным множеством.
Алгоритм построения классификатора
Построение классификатора на основе нейронной сети содержит ряд шагов.
- Подготовка данных
- Составить базу данных из примеров, характерных для данной задачи
- Разбить всю совокупность данных на два множества: обучающее и тестовое (возможно разбиение на 3 множества: обучающее, тестовое и валидационное)
- Произвести отбор признаков, значимых с точки зрения задачи классификации.
- Выполнить трансформацию и при необходимости очистку данных (нормализацию, исключение дубликатов и противоречий, подавление выбросов и т.д.). В результате желательно получить линейно разделяемое по классам пространство множества примеров.
- Выбрать систему кодирования выходных значений (классическое кодирование, «2 на 2»-кодирование и т.д.)
- Выбрать топологию сети: количество слоев, число нейронов в слоях и т.д.
- Выбрать активационную функцию нейронов (например, логистическую, гипертангенс и др.)
- Выбрать алгоритм обучения сети
- Оценить качество работы сети на основе валидационного множества, или другого критерия, оптимизировать архитектуру (уменьшение весов, прореживание пространства признаков)
- Остановится на варианте сети, который обеспечивает наилучшую способность к обобщению и оценить качество работы по тестовому множеству
- Выяснить степень влияния различных факторов на принимаемое решение (эвристический подход)
- Убедиться, что сеть обеспечивает требуемую точность классификации (число неправильно распознанных примеров мало)
- При необходимости вернуться на этап 2, изменив способ представления примеров или изменив базу данных
- Практически использовать сеть для решения задачи
Для того, чтобы построить эффективно работающий классификатор, необходимо иметь качественные исходные данные. Никакой из методов построения классификаторов, основанный на нейронных сетях или статистических методах, никогда не обеспечит нужного качества модели, если имеющийся набор примеров не будет достаточно полным и репрезентативным для решаемой задачи.
Другие материалы по теме:
NLP. Основы. Техники. Саморазвитие. Часть 2: NER
Первую часть статьи об основах NLP можно прочитать здесь. А сегодня мы поговорим об одной из самых популярных задач NLP – извлечении именованных сущностей (Named-entity recognition, NER) – и разберем подробно архитектуры решений этой задачи.

Задача NER – выделить спаны сущностей в тексте (спан – непрерывный фрагмент текста). Допустим, есть новостной текст, и мы хотим выделить в нем сущности (некоторый заранее зафиксированный набор — например, персоны, локации, организации, даты и так далее). Задача NER – понять, что участок текста “1 января 1997 года” является датой, “Кофи Аннан” – персоной, а “ООН” – организацией.

Что такое именованные сущности? В первой, классической постановке, которая была сформулирована на конференции MUC-6 в 1995 году, это персоны, локации и организации. С тех пор появилось несколько доступных корпусов, в каждом из которых свой набор именованных сущностей. Обычно к персонам, локациям и организациям добавляются новые типы сущностей. Самые распространенные из них — числовые (даты, денежные суммы), а также сущности Misc (от miscellaneous — прочие именованные сущности; пример — iPhone 6 ).
Зачем нужно решать задачу NER
Нетрудно понять, что, даже если мы хорошо научимся выделять в тексте персоны, локации и организации, вряд ли это вызовет большой интерес у заказчиков. Хотя какое-то практическое применение, конечно, есть и у задачи в классической постановке.
Один из сценариев, когда решение задачи в классической постановке все-таки может понадобиться, — структуризация неструктурированных данных. Пусть у вас есть какой-то текст (или набор текстов), и данные из него нужно ввести в базу данных (таблицу). Классические именованные сущности могут соответствовать строкам такой таблицы или же служить содержанием каких-то ячеек. Соответственно, чтобы правильно заполнять таблицу, нужно перед этим выделить в тексте те данные, которые вы будете в нее вносить (обычно после этого есть еще один этап — идентификация сущностей в тексте, когда мы понимаем, что спаны “ООН” и “Организация Объединенных Наций” относятся к одной и той же организации; однако, задача идентификации или entity linking — это уже другая задача, и о ней мы подробно рассказывать в этом посте не будем).
Однако, есть несколько причин, почему NER является одной из самых популярных задач NLP.
Во-первых, извлечение именованных сущностей — это шаг в сторону “понимания” текста. Это может как иметь самостоятельную ценность, так и помочь лучше решать другие задачи NLP.
Так, если мы знаем, где в тексте выделены сущности, то мы можем найти важные для какой-то задачи фрагменты текста. Например, можем выделить только те абзацы, где встречаются сущности какого-то определенного типа, а потом работать только с ними.
Допустим, вам приходит письмо, и хорошо бы сделать сниппет только той части, где есть что-то полезное, а не просто “Здравствуйте, Иван Петрович”. Если уметь выделять именованные сущности, сниппет можно сделать умным, показав ту часть письма, где есть интересующие нас сущности (а не просто показать первое предложение письма, как это часто делается). Или же можно просто подсветить в тексте нужные части письма (или, непосредственно, важные для нас сущности) для удобства работы аналитиков.
Кроме того, сущности – это жесткие и надежные коллокации, их выделение может быть важно для многих задач. Допустим, у вас есть название именованной сущности и, какой бы она ни была, скорее всего, она непрерывна, и все действия с ней нужно совершать как с единым блоком. Например, переводить название сущности в название сущности. Вы хотите перевести «Магазин “Пятерочка”» на французский язык единым куском, а не разбить на несколько не связанных друг с другом фрагментов. Умение определять коллокации полезно и для многих других задач — например, для синтаксического парсинга.
Без решения задачи NER тяжело представить себе решение многих задач NLP, допустим, разрешение местоименной анафоры или построение вопросно-ответных систем. Местоименная анафора позволяет нам понять, к какому элементу текста относится местоимение. Например, пусть мы хотим проанализировать текст “Прискакал Чарминг на белом коне. Принцесса выбежала ему навстречу и поцеловала его”. Если мы выделили на слове “Чарминг” сущность Персона, то машина сможет намного легче понять, что принцесса, скорее всего, поцеловала не коня, а принца Чарминга.
Теперь приведем пример, как выделение именованных сущностей может помочь при построении вопросно-ответных систем. Если задать в вашем любимом поисковике вопрос «Кто играл роль Дарта Вейдера в фильме “Империя наносит ответный удар”», то с большой вероятностью вы получите верный ответ. Это делается как раз с помощью выделения именованных сущностей: выделяем сущности (фильм, роль и т. п.), понимаем, что нас спрашивают, и дальше ищем ответ в базе данных.
Наверное, самое важное соображение, благодаря которому задача NER так популярна: постановка задачи очень гибкая. Другими словами, никто не заставляет нас выделять именно локации, персоны и организации. Мы можем выделять любые нужные нам непрерывные фрагменты текста, которые чем-то отличаются от остального текста. В результате можно подобрать свой набор сущностей для конкретной практической задачи, приходящей от заказчика, разметить корпус текстов этим набором и обучить модель. Такой сценарий встречается повсеместно, и это делает NER одной из самых часто решаемых задач NLP в индустрии.
Приведу пару примеров таких юзкейсов от конкретных заказчиков, в решении которых мне довелось принять участие.
Вот первый из них: пусть у вас есть набор инвойсов (денежных переводов). Каждый инвойс имеет текстовое описание, где содержится необходимая информация о переводе ( кто, кому, когда, что и по какой причине отправил). Например, компания Х перевела 10 долларов компании Y в такую-то дату таким-то образом за то-то. Текст довольно формальный, но пишется живым языком. В банках есть специально обученные люди, которые этот текст читают и затем заносят содержащуюся в нем информацию в базу данных.
Мы можем выбрать набор сущностей, которые соответствуют столбцам таблицы в базе данных (названия компаний, сумма перевода, его дата, тип перевода и т. п.) и научиться автоматически их выделять. После этого остается только занести выделенные сущности в таблицу, а люди, которые раньше читали тексты и заносили информацию в базу данных, смогут заняться более важными и полезными задачами.
Второй юзкейс такой: нужно анализировать письма с заказами из интернет-магазинов. Для этого необходимо знать номер заказа (чтобы все письма, относящиеся к данному заказу, помечать или складывать в отдельную папку), а также другую полезную информацию — название магазина, список товаров, которые были заказаны, сумму по чеку и т. п. Все это — номера заказа, названия магазинов и т. п. — можно считать именованными сущностями, и их тоже несложно научиться выделять с помощью методов, которые мы сейчас разберем.
Если NER – это так полезно, то почему не используется повсеместно?
Почему задача NER не везде решена и коммерческие заказчики до сих пор готовы платить за ее решение не самые маленькие деньги? Казалось бы, все просто: понять, какой кусок текста выделить, и выделить его.
Но в жизни все не так легко, возникают разные сложности.
Классической сложностью, которая мешает нам жить при решении самых разных задач NLP, являются разного рода неоднозначности в языке. Например, многозначные слова и омонимы (см. примеры в части 1). Есть и отдельный вид омонимии, имеющий непосредственное отношение к задаче NER — одним и тем же словом могут называться совершенно разные сущности. Например, пусть у нас есть слово “Вашингтон”. Что это? Персона, город, штат, название магазина, имя собаки, объекта, что-то еще? Чтобы выделить этот участок текста, как конкретную сущность, надо учитывать очень многое – локальный контекст (то, о чем был предшествующий текст), глобальный контекст (знания о мире). Человек все это учитывает, но научить машину делать это непросто.
Вторая сложность – техническая, но не нужно ее недооценивать. Как бы вы ни определили сущность, скорее всего, возникнут какие-то пограничные и непростые случаи — когда нужно выделять сущность, когда не нужно, что включать в спан сущности, а что нет и т. п. (конечно, если наша сущность — это не что-то слабо вариативное, типа емейла; однако выделять такие тривиальные сущности обычно можно тривиальными методами — написать регулярное выражение и не думать ни о каком машинном обучении).
Пусть, например, мы хотим выделить названия магазинов.
В тексте «Вас приветствует Магазин Профессиональных Металлоискателей», мы, почти наверное, хотим включать в нашу сущность слово “магазин” — это явно часть названия.
Другой пример — «Вас приветствует “Волхонка Престиж” — ваш любимый магазин брендов по доступным ценам». Наверное, слово “магазин” не надо включать в аннотацию — это явно не часть названия, а просто его описание. Кроме того, если включить в название это слово, нужно также включать и слова “- ваш любимый”, а этого, пожалуй, совсем не хочется делать.
Третий пример: «Вам пишет магазин зоотоваров “Немо”». Непонятно, является ли “магазин зоотоваров” частью названия или нет. Кажется, в этом примере любой выбор будет адекватным. Однако важно, что этот выбор нам нужно сделать и зафиксировать в инструкции для разметчиков, чтобы во всех текстах такие примеры были размечены одинаково (если этого не сделать, машинное обучение из-за противоречий в разметке неизбежно начнет ошибаться).
Таких пограничных примеров можно придумать много, и, если мы хотим, чтобы разметка была консистентной, все их нужно включить в инструкцию для разметчиков. Даже если примеры сами по себе простые, учесть и исчислить их нужно, а это будет делать инструкцию больше и сложнее.
Ну а чем сложнее инструкция, там более квалифицированные разметчики вам требуются. Одно дело, когда разметчику нужно определить, является ли письмо текстом заказа или нет (хотя и здесь есть свои тонкости и пограничные случаи), а другое дело, когда разметчику нужно вчитываться в 50-страничную инструкцию, найти конкретные сущности, понять, что включать в аннотацию, а что нет.
Квалифицированные разметчики — это дорого, и работают они, обычно, не очень оперативно. Деньги вы потратите точно, но совсем не факт, что получится идеальная разметка, ведь если инструкция сложная, даже квалифицированный человек может ошибиться и что-то неправильно понять. Для борьбы с этим используют многократную разметку одного текста разными людьми, что еще увеличивает цену разметки и время, за которое она готовится. Избежать этого процесса или даже серьезно сократить его не выйдет: чтобы обучаться, нужно иметь качественную обучающую выборку разумных размеров.
Это и есть две основных причины, почему NER еще не завоевал мир и почему яблони до сих пор не растут на Марсе.
Как понять, качественно ли решена задача NER
Расскажу немного про метрики, которыми люди пользуются для оценки качества своего решения задачи NER, и про стандартные корпуса.
Основная метрика для нашей задачи – это строгая f-мера. Объясним, что это такое.
Пусть у нас есть тестовая разметка (результат работы нашей системы) и эталон (правильная разметка тех же текстов). Тогда мы можем посчитать две метрики – точность и полноту. Точность – доля true positive сущностей (т. е. сущностей, выделенных нами в тексте, которые также присутствуют в эталоне), относительно всех сущностей, выделенных нашей системой. А полнота – доля true positive сущностей относительно всех сущностей, присутствующих в эталоне. Пример очень точного, но неполного классификатора – это классификатор, который выделяет в тексте один правильный объект и больше ничего. Пример очень полного, но вообще неточного классификатора – это классификатор, который выделяет сущность на любом отрезке текста (таким образом, помимо всех эталонных сущностей, наш классификатор выделяет огромное количество мусора).
F-мера же – это среднее гармоническое точности и полноты, стандартная метрика.
Как мы рассказали в предыдущем разделе, создавать разметку — дорогое удовольствие. Поэтому доступных корпусов с разметкой не очень много.
Для английского языка есть некоторое разнообразие — есть популярные конференции, на которых люди соревнуются в решении задачи NER (а для проведения соревнований создается разметка). Примеры таких конференций, на которых были созданы свои корпуса с именованными сущностями — MUC, TAC, CoNLL. Все эти корпуса состоят практически исключительно из новостных текстов.
Основной корпус, на котором оценивается качество решения задачи NER — это корпус CoNLL 2003 (вот ссылка на сам корпус, вот статья о нем). Там примерно 300 тысяч токенов и до 10 тысяч сущностей. Сейчас SOTA-системы (state of the art — т. е. наилучшие на данный момент результаты) показывают на этом корпусе f-меру порядка 0,93.
Для русского языка все намного хуже. Есть один общедоступный корпус (FactRuEval 2016, вот статья о нем, вот статья на Хабре), и он очень маленький – там всего 50 тысяч токенов. При этом корпус довольно специфичный. В частности, в корпусе выделяется достаточно спорная сущность LocOrg (локация в организационном контексте), которая путается как с организациями, так и с локациями, в результате чего качество выделения последних ниже, чем могло бы быть.
Как решать задачу NER
Сведение задачи NER к задаче классификации
Несмотря на то что сущности часто бывают многословными, обычно задача NER сводится к задаче классификации на уровне токенов, т. е. каждый токен относится к одному из нескольких возможных классов. Есть несколько стандартных способов сделать это, но самый общий из них называется BIOES-схемой. Схема заключается в том, чтобы к метке сущности (например, PER для персон или ORG для организаций) добавить некоторый префикс, который обозначает позицию токена в спане сущности. Более подробно:
B – от слова beginning – первый токен в спане сущности, который состоит из больше чем 1 слова.
I – от словам inside – это то, что находится в середине.
E – от слова ending, это последний токен сущности, которая состоит больше чем из 1 элемента.
S – single. Мы добавляем этот префикс, если сущность состоит из одного слова.Таким образом, к каждому типу сущности добавляем один из 4 возможных префиксов. Если токен не относится ни к какой сущности, он помечается специальной меткой, обычно имеющей обозначение OUT или O.
Приведем пример. Пусть у нас есть текст “Карл Фридрих Иероним фон Мюнхгаузен родился в Боденвердере”. Здесь есть одна многословная сущность — персона “Карл Фридрих Иероним фон Мюнгхаузен” и одна однословная — локация “Боденвердере”.

Таким образом, BIOES — это способ отобразить проекции спанов или аннотаций на уровень токенов.
Понятно, что по такой разметке мы однозначно можем установить границы всех аннотаций сущностей. Действительно, про каждый токен мы знаем, верно ли, что сущность начинается с этого токена или заканчивается на нем, а значит, закончить ли аннотацию сущности на данном токене, или расширять ее на следующие токены.
Подавляющее большинство исследователей использует этот способ (или его вариации с меньшим количеством меток — BIOE или BIO), но у него есть несколько существенных недостатков. Главный из них заключается в том, что схема не позволяет работать с вложенными или пересекающимися сущностями. Например, сущность “МГУ имени М.В. Ломоносова” — это одна организация. Но Ломоносов сам по себе – это персона, и это тоже было бы неплохо задать в разметке. С помощью описанного выше способа разметки мы никогда не сможем передать оба эти факта одновременно (потому что у одного токена можем сделать только одну пометку). Соответственно, токен “Ломоносова” может быть либо частью аннотации организации, либо частью аннотации персоны, но никогда не тем и другим одновременно.
Другой пример вложенных сущностей: “Кафедра математической логики и теории алгоритмов механико-математического факультета МГУ”. Здесь в идеале хотелось бы выделять 3 вложенных организации, но приведенный выше способ разметки позволяет выделить либо 3 непересекающиеся сущности, либо одну сущность, имеющую аннотацией весь приведенный фрагмент.
Кроме стандартного способа свести задачу к классификации на уровне токенов, есть и стандартный формат данных, в котором удобно хранить разметку для задачи NER (а также для многих других задач NLP). Этот формат называется CoNLL-U.
Основная идея формата такая: храним данные в виде таблицы, где одна строка соответствует одному токену, а колонки — конкретному типу признаков токена (в т. ч. признаком является и само слово — словоформа). В узком смысле формат CoNLL-U задает, какие именно типы признаков (т. е. колонки) включаются в таблицу — всего 10 типов признаков на каждый токен. Но исследователи обычно рассматривают формат шире и включают те типы признаков, которые нужны для конкретной задачи и метода ее решения.
Приведем ниже пример данных в CoNLL-U-подобном формате, где рассмотрены 6 типов признаков: номер текущего предложения в тексте, словоформа (т. е. само слово), лемма (начальная форма слова), POS-таг (часть речи), морфологические характеристики слова и, наконец, метка сущности, выделяемой на данном токене.

А как решали задачу NER раньше?
Строго говоря, задачу можно решать и без машинного обучения — с помощью rule-based систем (в самом простом варианте — с помощью регулярных выражений). Это кажется устаревшим и неэффективным, однако нужно понимать, если у вас ограничена и четко очерчена предметная область и если сущность, сама по себе, не обладает большой вариативностью, то задача NER решается с помощью rule-based методов достаточно качественно и быстро.
Например, если вам нужно выделить емейлы или числовые сущности (даты, денежные суммы или номера телефонов), регулярные выражения могут привести вас к успеху быстрее, чем попытка решить задачу с помощью машинного обучения.
Впрочем, как только в дело вступают языковые неоднозначности разного рода (о части из них мы писали выше), такие простые способы перестают хорошо работать. Поэтому применять их имеет смысл только для ограниченных доменов и на простых и четко отделимых от остального текста сущностях.
Несмотря на все вышесказанное, на академических корпусах до конца 2000-х годов SOTA показывали системы на основе классических методов машинного обучения. Давайте кратко разберем, как они работали.
Признаки
До появления эмбеддингов, главным признаком токена обычно являлась словоформа — т. е. индекс слова в словаре. Таким образом, каждому токену ставится в соответствие булев вектор большой размерности (размерности словаря), где на месте индекса слова в словаре стоит 1, а на остальных местах стоят 0.
Кроме словоформы, в качестве признаков токена часто использовались части речи (POS-таги), морфологические признаки (для языков без богатой морфологии — например, английского, морфологические признаки практически не дают эффекта), префиксы (т. е. несколько первых символов слова), суффиксы (аналогично, несколько последних символов токена), наличие спецсимволов в токене и внешний вид токена.
В классических постановках, очень важным признаком токена является тип его капитализации, например:
- “первая буква большая, остальные маленькие”,
- “все буквы маленькие”,
- “все буквы большие”,
- или вообще “нестандартная капитализация” ( наблюдаемая, в частности, для токена “iPhone”).
Кроме всего этого, активно использовались газетиры – словари сущностей. Мы знаем, что Петя, Елена, Акакий – это имена, Иванов, Руставели, фон Гете – фамилии, а Мытищи, Барселона, Сан Пауло – города. Важно отметить, что словари сущностей сами по себе не решают задачу (“Москва” может быть частью названия организации, а “Елена” — частью локации), но могут улучшить ее решение. Впрочем, конечно, несмотря на неоднозначность, принадлежность токена словарю сущностей определенного типа — это очень хороший и значимый признак (настолько значимый, что обычно результаты решения задачи NER делятся на 2 категории — с использованием газетиров и без них).
Если вам интересно, как люди решали задачу NER, когда деревья были большие, советую посмотреть статью Nadeau and Sekine (2007), A survey of Named Entity Recognition and Classification. Методы, которые там описаны, конечно, устаревшие (даже если вы не можете использовать нейросети из-за ограничений производительности, вы, наверное, будете пользоваться не HMM, как написано в статье, а, допустим, градиентным бустингом), но посмотреть на описание признаков может иметь смысл.
К интересным признакам можно отнести шаблоны капитализации (summarized pattern в статье выше). Они до сих пор могут помочь при решении некоторых задач NLP. Так, в 2018 году была успешная попытка применить шаблоны капитализации (word shape) к нейросетевым способам решения задачи.
Как решить задачу NER с помощью нейросетей?
NLP almost from scratch
Первая успешная попытка решить задачу NER с помощью нейросетей была совершена в 2011 году.
В момент выхода этой статьи она показала SOTA-результат на корпусе CoNLL 2003. Но нужно понимать, что превосходство модели по сравнению с системами на основе классических алгоритмов машинного обучения было достаточно незначительным. В последующие несколько лет методы на основе классического ML показывали результаты, сравнимые с нейросетевыми методами.
Кроме описания первой удачной попытки решить задачу NER с помощью нейростетей, в статье подробно описаны многие моменты, которые в большинстве работ на тему NLP оставляют за скобками. Поэтому, несмотря на то что архитектура нейросети, описанная в статье, устаревшая, со статьей имеет смысл ознакомиться. Это поможет разобраться в базовых подходах к нейросетям, используемых при решении задачи NER (и шире, многих других задач NLP).
Расскажем подробнее об архитектуре нейросети, описанной в статье.
Авторы вводят две разновидности архитектуры, соответствующие двум различным способам учесть контекст токена:
- либо использовать «окно» заданной ширины (window based approach),
- либо считать контекстом все предложение (sentence based approach).
Мы получили на вход список слов нашего предложения: например, “The cat sat on the mat”.


Пусть всего имеется K различных признаков для одного токена (например, такими признаками могут выступать словоформа, часть речи, капитализация, является ли наш токен первым или последним в предложении и т. п.). Все эти признаки мы можем считать категориальными (например, словоформе соответствует булев вектор длины размерности словаря, где 1 стоит только на координате соответствующей индексу слова в словаре). Пусть — булев вектор, соответствующий значению i-го признака j-го токена в предложении.
Важно отметить, что в sentence based approach кроме категориальных признаков, определяемых по словам, используется признак — сдвиг относительно токена, метку которого мы пытаемся определить. Значение этого признака для токена номер i будет i-core, где core — номер токена, метку которого мы пытаемся определить в данный момент (этот признак тоже считается категориальным, и вектора для него вычисляются точно так же, как и для остальных).
Следующий этап нахождения признаков токена — умножение каждого
на матрицу
, которая называется Lookup Table (таким образом булевы вектора “превращаются” в непрерывные). Напомним, что каждый из
— булев вектор, в котором на одном месте стоит 1, а на остальных местах – 0. Таким образом при умножении
на
, происходит выбор одной из строк в нашей матрице. Эта строка и является эмбеддингом соответствующего признака токена. Матрицы
(где i может принимать значения от 1 до K) – это параметры нашей сети, которые мы обучаем вместе с остальными слоями нейросети.Отличие описанного в этой статье способа работы с категориальными признаками от появившегося позже word2vec (мы рассказывали о том, как предобучаются словоформенные эмбеддинги word2vec, в предыдущей части нашего поста) в том, что здесь матрицы инициализируются случайным образом, а в word2vec матрицы предобучаются на большом корпусе на задаче определения слова по контексту (или контекста по слову).
Таким образом, для каждого токена получен непрерывный вектор признаков, являющийся конкатенацией результатов перемножения всевозможных
на
.Теперь разберемся с тем, как эти признаки используются в sentence based approach (window based идейно проще). Важно, что мы будем запускать нашу архитектуру по отдельности для каждого токена (т. е. для предложения “The cat sat on the mat” мы запустим нашу сеть 6 раз). Признаки в каждом запуске собираются одинаковые, за исключением признака, отвечающего за позицию токена, метку которого мы пытаемся определить — токена core.
Берем получившиеся непрерывные вектора каждого токена и пропускаем их через одномерную свертку с фильтрами не очень большой размерности: 3-5. Размерность фильтра соответствует размеру контекста, который сеть одновременно учитывает, а количество каналов соответствует размерности исходных непрерывных векторов (сумме размерностей эмбеддингов всех признаков). После применения свертки получаем матрицу размерности m на f, где m — количество способов, которыми фильтр можно приложить к нашим данным (т. е. длина предложения минус длина фильтра плюс один), а f — количество используемых фильтров.
Как и почти всегда при работе со свертками, после свертки мы используем пулинг — в данном случае max pooling (т. е. для каждого фильтра берем максимум его значения на всем предложении), после чего получаем вектор размерности f. Таким образом, вся информация, содержащаяся в предложении, которая может нам понадобиться при определении метки токена core, сжимается в один вектор (max pooling был выбран потому, что нам важна не информация в среднем по предложению, а значения признаков на его самых важных участках). Такой “сплюснутый контекст” позволяет нам собирать признаки нашего токена по всему предложению и использовать эту информацию, чтобы определить, какую метку должен получить токен core.
Дальше пропускаем вектор через многослойный персептрон с какими-то функциями активации (в статье — HardTanh), а в качестве последнего слоя используем полносвязный с softmax размерности d, где d — количество возможных меток токена.
Таким образом сверточный слой позволяет нам собрать информацию, содержащуюся в окне размерности фильтра, пулинг — выделить самую характерную информацию в предложении (сжав ее в один вектор), а слой с softmax — позволяет определить, какую же метку имеет токен номер core.
CharCNN-BLSTM-CRF
Поговорим теперь о архитектуре CharCNN-BLSTM-CRF, то есть о том, что было SOTA в период 2016-2018 (в 2018 появились архитектуры на основе эмбеддингов на языковых моделях, после которых мир NLP уже никогда не будет прежним; но эта сага не об этом). В применении к задаче NER архитектура впервые была описана в статьях Lample et al (2016) и Ma & Hovy (2016).
Первые слои сети такие же, как в пайплайне NLP, описанном в предыдущей части нашего поста.
Сначала вычисляется контекстно-независимый признак каждого токена в предложении. Признаки обычно собираются из трех источников. Первый – словоформенный эмбеддинг токена, второй – символьные признаки, третий — дополнительные признаки: информация про капитализацию, часть речи и т. п. Конкатенация всех этих признаков и составляет контекстно-независимый признак токена.
Про словоформенные эмбеддинги мы подробно говорили в предыдущей части. Дополнительные признаки мы перечислили, но мы не говорили, как именно они встраиваются в нейросеть. Ответ простой — для каждой категории дополнительных признаков мы с нуля учим эмбеддинг не очень большого размера. Это в точности Lookup-таблицы из предыдущего параграфа, и учим их мы точно так же, как описано там.
Теперь расскажем, как устроены символьные признаки.
Ответим сначала на вопрос, что это такое. Все просто — мы хотим для каждого токена получать вектор признаков константного размера, который зависит только от символов, из которых состоит токен (и не зависит от смысла токена и дополнительных атрибутов, таких как часть речи).
Перейдем теперь к описанию архитектуры CharCNN (а также, связанной с ней архитектуры CharRNN). Нам дан токен, который состоит из каких-то символов. На каждый символ мы будем выдавать вектор какой-то не очень большой размерности (например, 20) — символьный эмбеддинг. Символьные эмбеддинги можно предобучать, однако чаще всего они учатся с нуля — символов даже в не очень большом корпусе много, и символьные эмбеддинги должны адекватно обучиться.

Итак, мы имеем эмбеддинги всех символов нашего токена, а также дополнительных символов, которые обозначают границы токена, — паддингов (обычно эмбеддинги паддингов инициализируются нулями). Нам бы хотелось получить по этим векторам один вектор какой-то константной размерности, являющийся символьным признаком всего токена и отражающий взаимодействие между этими символами.
Есть 2 стандартных способа.
Чуть более популярный из них – использовать одномерные свертки (поэтому эта часть архитектуры называется CharCNN). Делаем это мы точно так же, как мы это делали со словами в sentence based approach в предыдущей архитектуре.
Итак, пропускаем эмбеддинги всех символов через свертку с фильтрами не очень больших размерностей (например, 3), получаем вектора размерности количества фильтров. Над этими векторами производим max pooling, получаем 1 вектор размерности количества фильтров. Он содержит в себе информацию о символах слова и их взаимодействии и будет являться вектором символьных признаков токена.
Второй способ превратить символьные эмбеддинги в один вектор – подавать их в двустороннюю рекуррентную нейросеть (BLSTM или BiGRU; что это такое, мы описывали в первой части нашего поста). Обычно символьным признаком токена является просто конкатенация последних состояний прямого и обратного RNN.
Итак, пусть нам дан контекстно-независимый вектор признаков токена. По нему мы хотим получить контекстно-зависимый признак.

Это делается с помощью BLSTM или BiGRU. В i-й момент времени слой выдает вектор, являющийся конкатенацией соответствующих выходов прямого и обратного RNN. Этот вектор содержит в себе информацию как о предыдущих токенах в предложении (она есть в прямом RNN), так и о следующих (она есть в обратном RNN). Поэтому этот вектор является контекстно-зависимым признаком токена.
Такая архитектура может использоваться в самых разных задачах NLP, поэтому ее считают важной частью пайплайна NLP.
Вернемся, однако, к задаче NER. Получив контекстно-зависимые признаки всех токенов, мы хотим по каждому токену получить правильную метку для него. Это можно сделать разными способами.
Более простой и очевидный способ – использовать в качестве последнего слоя полносвязный с softmax размерности d, где d — количество возможных меток токена. Таким образом мы получим вероятности токена иметь каждую из возможных меток (и можем выбрать самую вероятную из них).
Этот способ работает, однако обладает существенным недостатком — метка токена вычисляется независимо от меток других токенов. Сами соседние токены мы учитываем за счет BiRNN, но метка токена зависит не только от соседних токенов, но и от их меток. Например, вне зависимости от токенов метка I-PER встречается только после B-PER или I-PER.
Стандартный способ учесть взаимодействие между типами меток — использовать CRF (conditional random fields). Мы не будем подробно описывать, что это такое (вот здесь дано хорошее описание), но упомянем, что CRF оптимизирует всю цепочку меток целиком, а не каждый элемент в этой цепочке.
Итак, мы описали архитектуру CharCNN-BLSTM-CRF, которая являлась SOTA в задаче NER до появления эмбеддингов на языковых моделях в 2018 году.
В заключение поговорим немного о значимости каждого элемента архитектуры. Для английского языка CharCNN дает прирост f-меры приблизительно на 1%, CRF — на 1-1.5%, а дополнительные признаки токена к улучшению качества не приводят (если не использовать более сложные техники типа multi-task learning, как в статье Wu et al (2018)). BiRNN — основа архитектуры, которая, однако, может быть заменена трансформером.
Надеемся, что нам удалось дать читателям некоторое представление о задаче NER. Хотя это задача важная, она достаточно простая, что и позволило нам описать ее решение в рамках одного поста.
Иван Смуров,
руководитель NLP Advanced Research Group- Блог компании Content AI
- Машинное обучение
- Искусственный интеллект
- Natural Language Processing