ИСКУСТВЕННЫЕ ИММУННЫЕ СИСТЕМЫ И ИХ ПРИМЕНЕНИЕ

Научная статья
Выпуск: № 6 (6), 2012
Опубликована:
2012/11/30

Челнаков С.А.

Воронежский государственный педагогический университет

ИСКУСТВЕННЫЕ ИММУННЫЕ СИСТЕМЫ И ИХ ПРИМЕНЕНИЕ

Аннотация

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

Данную задачу можно разбить на следующие подзадачи:

а) выделение подмножества существенных черт и особенностей естественной иммунной системы, необходимых для решения данной задачи;

б) описание искусственной иммунной сети и ее компонентов с учетом требований, полученных на предыдущем этапе;

в) построение обучающей выборки – набора изображений букв для обучения сети;

г) разработка собственно алгоритма для полученной искусственной иммунной сети;

д) разработка интерфейса пользователя.

Классификация отдельных клеток и молекул является важнейшим свойством естественной иммунной сети. Условно можно выделить 2 вида такой классификации: классификация «свой – чужой» и более детальный анализ тех клеток и молекул, которые были классифицированы как чужеродные.

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

В естественной иммунной системе классификация происходит за счет химических реакций. Для искусственной иммунной системы можно предложить следующий способ. Монохромное изображение можно представить как матрицу размера M x N булевых значений, в которых true стоит на тех местах, которые в изображении соответствуют пикселям черного цвета, которые и формируют изображение. Лимфоцит, в свою очередь, можно представить как массив из P пар чисел. Каждая такая пара представляет собой координаты пикселя в изображении. Введем некое число S < P. Будем говорить, что лимфоцит реагирует на данный анти-ген, если количество элементов матрицы антигена со значениями true, определяемых номерами строк и столбцов массива пар чисел лимфоцита, больше либо равно S. На основе данного определения можно посчитать количество лимфоцитов, реагирующих на данный антиген. Так как каждый лимфоцит имеет приписанный номер антигена (идеального или образцового), то можно узнать, на какой антиген должно реагировать большинство из этих лимфоцитов. В идеальном случае (если антиген подан без искажений и иммунная сеть хорошо обучена) именно идентификатор этого антигена и будет ответом.

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

Описание работы алгоритма

Шаг 0: Обучение иммунной сети.

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

Шаг 1: Собственно распознавание.

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

Хранение иммунной системы в постоянной памяти

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

Количество распознаваемых символов – антигенов.

Размеры эталонных изображений.

Собственно иммунная сеть – совокупность всех лимфоцитов, ее составляющих.

Для каждого лимфоцита надо хранить следующую информацию:

Номер антигена, на который реагирует данный лимфоцит.

Список координат значащих пикселей символа.

Список координат незначащих пикселей символа.

Список координат представляет собой набор пар чисел (X, Y).

В качестве среды разработки была использована Visual Studio 2008 Professional, язык программирования – C#. Этот язык является полностью объект-но-ориентированным, что позволяет создать систему классов, каждый из которых представляет ту или иную сущность в данной предметной области.

Visual Studio обладает большим количеством необходимых стандартных ком-понентов, облегчающих создание удобного интерфейса пользователя. Также платформа .Net обеспечивает удобную работу с графическими файлами, позволя-ет легко создавать многооконные приложения.

Так как приложение написано в Visual Studio на платформе .Net, то необходи-мым условием является наличие установленного .Net Framework версии 3.5.

Заключение

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

Литература

Искусственные иммунные системы и их применение /[под ред. Д. Дасгупты] - М. : ФИЗМАТЛИТ, 2006 - 344 с.