Искусственные иммунные системы
Материал из MachineLearning.
Искусственные иммунные системы (англ. Artificial Immune Systems, AIS) — семейство методов вычислительного интеллекта, использующих упрощённые идеи биологической иммунной системы и биоинспирированных вычислений для решения задач машинного обучения, оптимизации, кластеризации и обнаружения аномалий. К основным моделируемым механизмам относятся распознавание «своего» и «чужого», аффинность, клональная селекция, созревание аффинности, иммунная память, подавление похожих решений и объединение нескольких сигналов.[1]
Искусственная иммунная система не является моделью организма во всей биологической полноте. Обычно она заимствует один или несколько принципов и преобразует их в алгоритмические операции над векторами, строками, графами или кандидатами решения. Биологическая метафора сама по себе не доказывает эффективность метода: качество алгоритма определяется его целевой функцией, представлением данных, вычислительной сложностью и результатами сравнения с альтернативами.
Общая схема
Пусть объект, пример данных или кандидат решения представлен вектором признаков
В терминологии искусственных иммунных систем входные объекты часто называются антигенами, а элементы обучаемой популяции — антителами, рецепторами или детекторами.
Большинство AIS включает следующие компоненты:
- представление антигенов и антител;
- меру сходства или аффинности;
- популяцию детекторов либо кандидатов решения;
- механизм отбора;
- клонирование или размножение;
- мутацию;
- память;
- удаление слабых, избыточных или опасно похожих элементов для поддержания разнообразия популяции.
Универсальной искусственной иммунной системы не существует. Алгоритм отрицательного отбора, CLONALG, aiNet и дендритный клеточный алгоритм используют разные вычислительные модели и предназначены для разных классов задач.
Биологическая интуиция и вычислительные абстракции
Распознавание «своего» и «чужого»
В ранних AIS нормальное состояние системы интерпретируется как множество «своих» образцов, а отклонения — как «чужие». Детекторы генерируются так, чтобы не реагировать на обучающие нормальные данные, но реагировать на ранее не наблюдавшиеся области пространства.
Эта схема является вычислительным упрощением. Биологическое распознавание не сводится к единственному бинарному правилу «своё — чужое»: иммунный ответ зависит от типа клеток, контекста, сигналов повреждения, состояния тканей и механизмов толерантности.
Аффинность
Аффинность — численная мера соответствия между антигеном и антителом. При заданной метрике или расстоянии её можно определить, например, как
Чем меньше расстояние, тем выше аффинность. В оптимизации аффинность обычно является преобразованием целевой функции:
для задачи минимизации неотрицательной функции .
Конкретная формула не является обязательной частью AIS. Используются евклидово, манхэттенское и косинусное расстояния, расстояние Хэмминга, правила совпадения подстрок и предметно заданные функции сходства.
Клональная селекция
В биологической модели клетки, лучше распознающие антиген, получают преимущество при размножении. В вычислительной модели решения с высокой аффинностью:
- выбираются чаще;
- создают больше клонов;
- подвергаются локальному поиску;
- могут сохраняться в памяти лучших решений.
Клональная селекция сближает AIS с эволюционными вычислениями, однако классические клональные алгоритмы обычно не используют скрещивание.
Созревание аффинности
В AIS созревание аффинности моделируется мутацией клонов. Частота или амплитуда мутации часто обратно пропорциональна аффинности:
где — нормированная аффинность,
— параметр интенсивности.
Слабые решения изменяются сильнее и исследуют пространство, а сильные решения изменяются осторожнее и уточняются методами локальной оптимизации.
Иммунная память
Память хранит высокоаффинные антитела или прототипы, найденные ранее. В задачах классификации память сокращает время распознавания похожих примеров. В оптимизации она сохраняет лучшие решения с помощью элитарного отбора, а в динамических задачах может ускорять повторное обнаружение ранее встречавшихся режимов.
Без механизма забывания память может разрастаться, сохранять устаревшие образцы и ухудшать адаптацию к изменяющемуся распределению данных.
Иммунные сети
Сетевая теория иммунитета рассматривает взаимодействия не только между антигенами и антителами, но и между самими антителами. В вычислительных моделях похожие элементы могут взаимно стимулироваться или подавляться.
Подавление близких антител поддерживает разнообразие и сокращает избыточность популяции. Эта идея используется в aiNet и других иммунных сетях для кластеризации и мультимодальной оптимизации.[1]
Представление и функция аффинности
Выбор представления определяет, какие закономерности способен обнаружить алгоритм.
Бинарное представление
Антигены и детекторы задаются строками:
Аффинность может определяться числом совпадающих битов или наличием общей последовательности из подряд идущих символов.
Бинарное представление удобно для правил доступа, категориальных признаков и последовательностей событий, но кодирование непрерывных данных может приводить к потере геометрии.
Вещественное представление
Для числовых признаков используются вещественные векторы
Детектор может быть точкой, гиперсферой с центром и радиусом
либо более сложной областью. В случае гиперсфер объект распознаётся детектором, если
В высокой размерности объём и взаимное расположение таких областей становятся трудными для настройки.
Алгоритм отрицательного отбора
Принцип работы
Алгоритм отрицательного отбора был предложен как вычислительная аналогия удаления лимфоцитов, реагирующих на собственные структуры организма.[1]
Пусть — множество нормальных обучающих объектов. Сначала случайно создаются кандидаты в детекторы. Кандидат удаляется, если он распознаёт хотя бы один объект из
. Остальные детекторы покрывают область, не занятую нормальными данными.
Для детектора условие допуска можно записать как
где — порог совпадения с нормальными объектами.
После обучения новый объект считается аномальным, если
где — множество прошедших отбор детекторов.
Псевдокод
Вход: нормальная выборка S, требуемое число детекторов M,
функция аффинности a, порог theta_s.
Выход: набор детекторов D.
1. D := пустое множество.
2. Пока |D| < M:
2.1. Сгенерировать случайный кандидат d.
2.2. Вычислить его аффинность ко всем s из S.
2.3. Если d не распознаёт ни один нормальный объект,
добавить d в D.
3. Для нового объекта x:
3.1. Если хотя бы один d из D распознаёт x,
отметить x как аномалию.
3.2. Иначе считать x нормальным.
Основные параметры
- размер и способ представления детекторов;
- число детекторов
;
- правило совпадения;
- порог
;
- радиус вещественных детекторов;
- распределение генерации кандидатов;
- допустимая доля ложных срабатываний.
Достоинства
- естественная постановка обучения только по нормальным данным;
- возможность распределённого выполнения детекторов;
- отсутствие необходимости перечислять все типы атак;
- понятная интерпретация каждого детектора как области аномалий.
Ограничения
- генерация допустимых детекторов может быть очень медленной;
- в пространстве остаются непокрытые «дыры»;
- число детекторов быстро растёт с размерностью;
- результат чувствителен к порогу совпадения;
- нормальные данные должны достаточно полно представлять область «своего»;
- изменение нормального режима требует обновления детекторов.
Сравнительные исследования показали, что вещественный отрицательный отбор не всегда конкурентоспособен со статистическими методами обнаружения аномалий, особенно в высокоразмерных пространствах.[1]
Применения
- обнаружение сетевых вторжений;
- контроль целостности файлов;
- мониторинг системных вызовов;
- диагностика технических неисправностей;
- обнаружение отклонений в потоках датчиков.
CLONALG
Принцип работы
CLONALG — клональный алгоритм обучения и оптимизации, предложенный де Кастро и фон Зубеном.[1]
Популяция антител представляет возможные решения или прототипы. Для каждого антигена выбираются наиболее аффинные антитела, которые клонируются и мутируют. Лучшие мутировавшие клоны добавляются в память, а слабые элементы популяции заменяются случайными.
Число клонов можно задавать пропорционально аффинности:
где — размер популяции,
— коэффициент клонирования.
В исходном CLONALG и его вариантах используются разные правила клонирования и гипермутации; приведённая формула является одной из возможных реализаций.
Псевдокод
Вход: антигены A, размер популяции N,
число выбираемых антител n, коэффициент клонирования beta.
Выход: память M или лучшее решение.
1. Случайно инициализировать популяцию P.
2. Для каждого антигена или шага оптимизации:
2.1. Вычислить аффинность всех антител.
2.2. Выбрать n наиболее аффинных антител.
2.3. Создать клоны; лучшие антитела дают больше клонов.
2.4. Мутировать клоны с интенсивностью,
обратной их аффинности.
2.5. Повторно вычислить аффинность клонов.
2.6. Добавить лучшие клоны в память.
2.7. Заменить часть слабых антител случайными.
3. Вернуть память или лучшее найденное решение.
Основные параметры
- размер популяции
;
- число отбираемых антител;
- коэффициент клонирования
;
- интенсивность гипермутации
;
- размер памяти;
- число случайно заменяемых антител;
- критерий остановки.
Достоинства
- сочетает глобальный поиск и локальное уточнение;
- сохраняет лучшие найденные решения;
- не требует производных целевой функции;
- допускает дискретное, бинарное и вещественное кодирование;
- может поддерживать несколько хороших решений.
Ограничения
- большое число вычислений функции приспособленности;
- чувствительность к масштабу мутации;
- риск преждевременной концентрации около локального оптимума;
- отсутствие универсальных правил настройки параметров;
- на гладких задачах уступает специализированным градиентным методам;
- не имеет автоматического преимущества перед другими метаэвристиками.
Применения
- непрерывная и комбинаторная оптимизация;
- обучение прототипов для классификации;
- выбор признаков;
- планирование и расписания;
- настройка гиперпараметров моделей;
- мультимодальный поиск.
aiNet
Принцип работы
aiNet — искусственная иммунная сеть, предназначенная для анализа данных и сохранения нескольких областей высокой плотности или нескольких оптимумов.[1]
Антитела представляют прототипы данных. Высокоаффинные антитела клонируются и мутируют в направлении антигенов. Затем выполняется сетевое подавление: слишком похожие антитела удаляются, чтобы уменьшить избыточность и сохранить разнообразие.
Для пары антител и
подавление может выполняться при условии
где — порог сетевого сходства.
После обучения оставшиеся антитела образуют сжатое представление выборки. Кластеры могут определяться компонентами графа антител или дополнительным алгоритмом кластеризации.
Псевдокод
Вход: данные X, начальная сеть B,
порог подавления theta_sup.
Выход: сеть прототипов B.
1. Инициализировать сеть антител. 2. Для каждого антигена x: 2.1. Вычислить аффинность антител к x. 2.2. Выбрать наиболее аффинные антитела. 2.3. Клонировать выбранные антитела. 2.4. Мутировать клоны обратно пропорционально аффинности. 2.5. Сохранить лучшие клоны. 2.6. Удалить антитела с низкой аффинностью к данным. 2.7. Сравнить антитела друг с другом. 2.8. Подавить один элемент каждой слишком похожей пары. 2.9. При необходимости добавить случайные антитела. 3. Построить кластеры по оставшейся сети.
Основные параметры
- исходный и максимальный размеры сети;
- коэффициент клонирования;
- скорость мутации;
- порог аффинности к данным;
- порог подавления
;
- число новых случайных антител;
- критерий сходимости.
Достоинства
- сохраняет несколько кластеров или оптимумов;
- уменьшает выборку до набора прототипов;
- сочетает обучение и автоматическое подавление дубликатов;
- не требует заранее задавать центры кластеров;
- допускает визуализацию сети сходства.
Ограничения
- попарное подавление, близкое к удалению дубликатов требует порядка
сравнений для сети из
антител;
- результат чувствителен к порогу подавления;
- число кластеров не всегда определяется однозначно;
- возможна потеря малых или разреженных кластеров;
- сходимость зависит от конкретной реализации;
- при высокой размерности расстояния могут терять различимость.
Применения
- кластеризация;
- сжатие и прототипирование данных;
- анализ экспрессии генов;
- поиск нескольких оптимумов;
- обнаружение структуры в неразмеченных данных;
- рекомендательные системы и сегментация пользователей.
Дендритный клеточный алгоритм
Принцип работы
Дендритный клеточный алгоритм (англ. Dendritic Cell Algorithm, DCA) использует не отрицательный отбор, а объединение нескольких потоков сигналов и их временную связь с наблюдаемыми объектами. Он был разработан для обнаружения аномалий и вдохновлён ролью дендритных клеток в координации иммунного ответа.[1]
Вычислительный DCA обрабатывает:
- антигены — идентификаторы анализируемых процессов, соединений или объектов;
- PAMP-сигналы — признаки, тесно связанные с известной аномальной активностью;
- сигналы опасности — признаки возможного повреждения;
- безопасные сигналы — признаки нормального поведения;
- воспалительные сигналы — усилители остальных сигналов.
Каждая искусственная клетка в течение некоторого времени собирает антигены и сигналы. Входные сигналы преобразуются в выходы:
где выходы обычно соответствуют стоимости ко-стимуляции, зрелому контексту и полузрелому контексту.
Клетка накапливает значения:
Когда ко-стимулирующий выход превышает индивидуальный порог миграции, клетка прекращает сбор данных. Контекст всех собранных ею антигенов определяется сравнением зрелого и полузрелого выходов.
Для типа антигена вычисляется доля зрелых представлений:
Объект считается аномальным, если превышает заданный порог.
Псевдокод
Вход: поток антигенов и сигналов,
популяция клеток, веса сигналов.
Выход: оценки аномальности антигенов.
1. Создать популяцию клеток с различными порогами миграции.
2. Для каждого временного шага:
2.1. Передать клеткам текущие сигналы.
2.2. Передать клеткам наблюдаемые антигены.
2.3. Для каждой клетки вычислить выходные сигналы.
2.4. Накопить ко-стимулирующий, зрелый
и полузрелый выходы.
2.5. Если порог миграции клетки превышен:
определить её контекст;
присвоить контекст собранным антигенам;
заменить клетку новой.
3. Для каждого типа антигена вычислить MCAV.
4. Сравнить MCAV с порогом аномальности.
Основные параметры
- способ преобразования исходных признаков в сигналы;
- веса
;
- размер популяции клеток;
- распределение порогов миграции;
- число антигенов, собираемых клеткой;
- временное окно;
- порог итоговой аномальности;
- правила нормализации сигналов.
Достоинства
- объединяет несколько источников информации;
- учитывает временную связь сигналов и объектов;
- не требует генерации огромного множества детекторов;
- допускает потоковую и распределённую обработку;
- выдаёт агрегированную оценку аномальности.
Ограничения
- сигналы обычно проектируются вручную;
- неправильное разделение сигналов на опасные и безопасные искажает результат;
- временные задержки могут связывать антиген с неверным контекстом;
- веса и пороги не имеют универсальных значений;
- алгоритм не является стандартным универсальным классификатором;
- сравнение с современными методами требует одинаковой предварительной обработки и честной настройки.
Подробная формализация информационного слияния в DCA была предложена в последующих исследованиях.[1]
Применения
- обнаружение сетевого сканирования;
- мониторинг процессов;
- анализ журналов событий;
- обнаружение отказов оборудования;
- корреляция потоков датчиков;
- кибербезопасность.
Применения искусственных иммунных систем
Классификация
В классификации антитела выполняют роль прототипов, правил или элементов памяти. В задаче классификации класс нового объекта определяется по наиболее аффинному антителу либо голосованием нескольких элементов памяти.
Известным примером является Artificial Immune Recognition System (AIRS), объединяющий клональную селекцию, ограниченные ресурсы и память.[1]
Классификационные AIS практически оправданы, если требуется компактный набор прототипов или адаптивное добавление новых образцов. Для обычных табличных данных их необходимо сравнивать с k ближайших соседей, методом опорных векторов, деревьями решений и ансамблями.
Кластеризация
Иммунные сети используют антитела как адаптивные центры. Клонирование приближает их к областям высокой плотности, а подавление удаляет дубликаты.
В отличие от k-means, aiNet может сохранять несколько центров в кластере и не ограничивается сферическими группами. Однако число кластеров и границы зависят от порога подавления и способа построения сети.
Оптимизация
В оптимизации антитело кодирует кандидат решения, а аффинность — качество целевой функции. CLONALG и opt-aiNet используют:
- отбор;
- клонирование;
- гипермутацию;
- память;
- поддержание разнообразия.
Такие методы подходят для негладких, дискретных и мультимодальных задач, где производные недоступны. Для выпуклых, дифференцируемых и крупномасштабных задач чаще эффективнее специализированные методы математической оптимизации.
Кибербезопасность
В кибербезопасности AIS применяются для:
- обнаружения вторжений;
- выявления необычных системных вызовов;
- анализа сетевых соединений;
- обнаружения вредоносной активности;
- корреляции сигналов безопасности.
Архитектуры на основе распределённых детекторов развивали идеи отрицательного отбора, динамической памяти и локального взаимодействия.[1]
Практическая система должна учитывать дрейф нормального поведения, дисбаланс классов, стоимость ложных тревог и устойчивость к целевым атакам.
Обнаружение аномалий
Отрицательный отбор относится к методам обучения по одному классу: модель строится по нормальным данным. DCA относится к методам контекстного объединения сигналов.
AIS особенно оправданы, если:
- нормальные режимы известны лучше аномальных;
- данные поступают потоком;
- детекторы должны быть распределены;
- имеется предметная интерпретация сигналов;
- важна возможность локального обновления.
Если таких условий нет, следует сравнивать AIS с One-Class SVM, Isolation Forest, локальным фактором выброса, статистическими моделями и автоэнкодерами.
Сравнение с другими подходами
Генетические алгоритмы
Генетические алгоритмы и клональные AIS используют популяцию, отбор и мутацию.
Основные различия:
- AIS часто клонируют лучшие решения вместо формирования потомков скрещиванием;
- интенсивность мутации может зависеть от аффинности;
- иммунная память хранит отдельную популяцию лучших элементов;
- сетевое подавление поддерживает несколько областей поиска;
- отрицательный отбор не имеет прямого аналога в стандартном генетическом алгоритме.
На практике граница между иммунными и эволюционными алгоритмами условна: многие современные варианты являются гибридными метаэвристиками.
Нейронные сети
Нейронные сети обучают параметризованное отображение путём оптимизации весов. AIS чаще используют явную популяцию прототипов или детекторов.
Преимущества нейронных сетей:
- эффективная работа с изображениями, текстом и сигналами;
- градиентное обучение;
- развитые программные библиотеки;
- масштабирование на большие выборки.
Возможные преимущества AIS:
- локальное и инкрементальное обновление;
- интерпретируемые прототипы;
- отсутствие требования дифференцируемости;
- поддержание нескольких решений.
Для высокоразмерных неструктурированных данных нейронные сети обычно обладают более сильными средствами автоматического извлечения признаков.
Классические методы машинного обучения
Классические методы часто имеют более ясную статистическую интерпретацию и меньше гиперпараметров.
- k ближайших соседей близок к классификации по антителам памяти;
- k-means близок к прототипной кластеризации;
- One-Class SVM решает задачу отделения нормальной области;
- Isolation Forest обнаруживает объекты, которые легко изолируются;
- байесовские методы моделируют вероятность данных;
- методы ансамблей часто лучше масштабируются на табличных выборках.
AIS следует выбирать не из-за биологического названия, а при наличии конкретного преимущества представления, поиска, адаптации или распределённой архитектуры.
Вычислительная сложность и масштабируемость
Отрицательный отбор
Если генерируется детекторов и имеется
нормальных примеров, наивная проверка требует порядка
где — стоимость вычисления аффинности. Реальная стоимость может быть значительно выше, поскольку многие кандидаты отклоняются.
CLONALG
Для популяции размера , числа клонов
и
поколений основная стоимость определяется числом оценок целевой функции:
Если оценка дорога, клонирование становится главным вычислительным ограничением.
aiNet
Помимо сравнения с данными aiNet выполняет попарное подавление. Для сети размера одна полная процедура подавления требует
При большой выборке обычно применяют ограничение размера сети, приближённый поиск соседей или пакетное обучение.
DCA
Стоимость DCA приблизительно линейна по числу клеток, сигналов и временных шагов. Однако хранение повторных представлений антигенов и агрегация контекста могут быть значительными при высокочастотном потоке.
Современное состояние направления
Искусственные иммунные системы сформировались как самостоятельное направление вычислительного интеллекта в 1990-х и 2000-х годах. Фундаментальные алгоритмы продолжают использоваться, однако AIS не являются доминирующим универсальным подходом в современном машинном обучении.
Основные направления развития:
- гибридизация с глубоким обучением, эволюционными и роевыми методами;
- адаптивные и вещественные детекторы;
- мультимодальная и многоцелевая оптимизация;
- потоковое обнаружение аномалий;
- распределённая кибербезопасность;
- автоматический выбор параметров;
- теоретический анализ сходимости и покрытия.
Главные нерешённые проблемы:
- высокая чувствительность к кодированию и аффинности;
- большое число гиперпараметров;
- слабая стандартизация реализаций;
- ограниченная воспроизводимость сравнений;
- масштабирование в условиях высокой размерности;
- недостаток сквозных теоретических гарантий;
- частое сравнение только со слабыми или устаревшими базовыми методами.
Типичные ошибки
- буквальное отождествление вычислительных антигенов и клеток с биологическими объектами;
- предположение, что биологическая правдоподобность гарантирует качество;
- отсутствие сравнения с простыми статистическими базовыми методами;
- подбор параметров по тестовой выборке;
- использование евклидовой аффинности без масштабирования признаков;
- чрезмерное число детекторов или клонов;
- отсутствие механизма забывания при дрейфе данных;
- игнорирование дисбаланса классов;
- вывод об универсальности по одной прикладной выборке;
- смешение CLONALG, отрицательного отбора, aiNet и DCA как одного алгоритма.
Когда применение оправдано
Искусственные иммунные системы практически оправданы, если:
- требуется обучение преимущественно по нормальным данным;
- решение естественно представляется популяцией прототипов;
- нужно сохранять несколько локальных оптимумов;
- система должна поддерживать локальное и инкрементальное обучение;
- данные и обработка организованы как распределённая система;
- существует содержательная предметная интерпретация сигналов;
- производные целевой функции недоступны.
AIS обычно не являются первым выбором, если:
- доступны большие размеченные выборки и сильные стандартные модели;
- требуется обучение высокоразмерных представлений из изображений или текста;
- задача является гладкой и допускает эффективную градиентную оптимизацию;
- критична минимальная задержка предсказания;
- отсутствует возможность тщательно настроить функцию аффинности.
См. также
- Машинное обучение
- Вычислительный интеллект
- Биоинспирированные алгоритмы
- Эволюционные вычисления
- Генетический алгоритм
- Обнаружение аномалий
- Обучение по одному классу
- Классификация
- Кластеризация
- Оптимизация
- Нейронная сеть
- Кибербезопасность
Примечания
Литература
- de Castro L. N., Timmis J. Artificial Immune Systems: A New Computational Intelligence Approach. — London: Springer, 2002.
- Dasgupta D. (ред.) Artificial Immune Systems and Their Applications. — Berlin: Springer, 1999.
- Farmer J. D., Packard N. H., Perelson A. S. The Immune System, Adaptation, and Machine Learning // Physica D: Nonlinear Phenomena. — 1986. — Т. 22. — № 1—3. — С. 187—204.
- Forrest S., Perelson A. S., Allen L., Cherukuri R. Self-Nonself Discrimination in a Computer // Proceedings of the 1994 IEEE Symposium on Research in Security and Privacy. — 1994. — С. 202—212.
- Hofmeyr S. A., Forrest S. Architecture for an Artificial Immune System // Evolutionary Computation. — 2000. — Т. 8. — № 4. — С. 443—473.
- de Castro L. N., von Zuben F. J. Learning and Optimization Using the Clonal Selection Principle // IEEE Transactions on Evolutionary Computation. — 2002. — Т. 6. — № 3. — С. 239—251.
- de Castro L. N., von Zuben F. J. An Evolutionary Immune Network for Data Clustering // Proceedings of the Sixth Brazilian Symposium on Neural Networks. — 2000. — С. 84—89.
- Watkins A., Timmis J., Boggess L. Artificial Immune Recognition System (AIRS): An Immune-Inspired Supervised Learning Algorithm // Genetic Programming and Evolvable Machines. — 2004. — Т. 5. — № 3. — С. 291—317.
- Greensmith J., Aickelin U., Cayzer S. Introducing Dendritic Cells as a Novel Immune-Inspired Algorithm for Anomaly Detection // Artificial Immune Systems: ICARIS 2005. — 2005. — Т. 3627. — С. 153—167.
- Greensmith J., Aickelin U., Tedesco G. Information Fusion for Anomaly Detection with the Dendritic Cell Algorithm // Information Fusion. — 2010. — Т. 11. — № 1. — С. 21—34.
- Stibor T., Timmis J., Eckert C. A Comparative Study of Real-Valued Negative Selection to Statistical Anomaly Detection Techniques // Artificial Immune Systems: ICARIS 2005. — 2005. — Т. 3627. — С. 262—275.

