Искусственные иммунные системы

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{TOCright}} '''Искусственные иммунные системы''' (англ. ''Artificial Immune Systems'', AIS) — семейство вычислительных мето...)
 
(2 промежуточные версии не показаны)
Строка 1: Строка 1:
 +
{{well|Статья написана с использованием LLM ChatGPT (GPT-5.6 Sol Medium) и проверена участником [[Участник:Valeriia Berdnikova |Valeriia Berdnikova]] 15:00, 19 июля 2026 (MSD). Промпт приводится полностью в [[Обсуждение:Искусственные иммунные системы]].}}
{{TOCright}}
{{TOCright}}
-
'''Искусственные иммунные системы''' (англ. ''Artificial Immune Systems'', AIS) — семейство вычислительных методов, использующих упрощённые идеи биологической иммунной системы для решения задач [[Машинное обучение|машинного обучения]], [[Оптимизация|оптимизации]], [[Кластеризация|кластеризации]] и [[Обнаружение аномалий|обнаружения аномалий]]. К основным моделируемым механизмам относятся распознавание «своего» и «чужого», аффинность, клональная селекция, созревание аффинности, иммунная память, подавление похожих решений и объединение нескольких сигналов.<ref name="CastroTimmis2002">{{книга |автор=de Castro L. N., Timmis J. |заглавие=Artificial Immune Systems: A New Computational Intelligence Approach |ссылка=https://link.springer.com/book/9781852335946 |место=London |издательство=Springer |год=2002 |isbn=978-1-85233-594-6 |язык=en}}</ref>
+
'''Искусственные иммунные системы''' (англ. ''Artificial Immune Systems'', AIS) — семейство методов [[Вычислительный интеллект|вычислительного интеллекта]], использующих упрощённые идеи биологической иммунной системы и [[Биоинспирированные алгоритмы|биоинспирированных вычислений]] для решения задач [[Машинное обучение|машинного обучения]], [[Оптимизация|оптимизации]], [[Кластеризация|кластеризации]] и [[Обнаружение аномалий|обнаружения аномалий]]. К основным моделируемым механизмам относятся распознавание «своего» и «чужого», аффинность, клональная селекция, созревание аффинности, иммунная память, подавление похожих решений и объединение нескольких сигналов.<ref name="CastroTimmis2002">{{книга |автор=de Castro L. N., Timmis J. |заглавие=Artificial Immune Systems: A New Computational Intelligence Approach |ссылка=https://link.springer.com/book/9781852335946 |место=London |издательство=Springer |год=2002 |isbn=978-1-85233-594-6 |язык=en}}</ref>
Искусственная иммунная система не является моделью организма во всей биологической полноте. Обычно она заимствует один или несколько принципов и преобразует их в алгоритмические операции над векторами, строками, графами или кандидатами решения. Биологическая метафора сама по себе не доказывает эффективность метода: качество алгоритма определяется его целевой функцией, представлением данных, вычислительной сложностью и результатами сравнения с альтернативами.
Искусственная иммунная система не является моделью организма во всей биологической полноте. Обычно она заимствует один или несколько принципов и преобразует их в алгоритмические операции над векторами, строками, графами или кандидатами решения. Биологическая метафора сама по себе не доказывает эффективность метода: качество алгоритма определяется его целевой функцией, представлением данных, вычислительной сложностью и результатами сравнения с альтернативами.
Строка 7: Строка 8:
== Общая схема ==
== Общая схема ==
-
Пусть объект, пример данных или кандидат решения представлен вектором
+
Пусть объект, пример данных или кандидат решения представлен вектором признаков
:: <tex>x\in\mathcal X.</tex>
:: <tex>x\in\mathcal X.</tex>
Строка 22: Строка 23:
* мутацию;
* мутацию;
* память;
* память;
-
* удаление слабых, избыточных или опасно похожих элементов.
+
* удаление слабых, избыточных или опасно похожих элементов для поддержания разнообразия популяции.
Универсальной искусственной иммунной системы не существует. Алгоритм отрицательного отбора, CLONALG, aiNet и дендритный клеточный алгоритм используют разные вычислительные модели и предназначены для разных классов задач.
Универсальной искусственной иммунной системы не существует. Алгоритм отрицательного отбора, CLONALG, aiNet и дендритный клеточный алгоритм используют разные вычислительные модели и предназначены для разных классов задач.
Строка 36: Строка 37:
=== Аффинность ===
=== Аффинность ===
-
'''Аффинность''' — численная мера соответствия между антигеном и антителом. При заданном расстоянии <tex>d(x,y)</tex> её можно определить, например, как
+
'''Аффинность''' — численная мера соответствия между антигеном и антителом. При заданной [[Метрика|метрике]] или расстоянии <tex>d(x,y)</tex> её можно определить, например, как
:: <tex>a(x,y)=\exp\left(-\frac{d(x,y)^2}{2\sigma^2}\right).</tex>
:: <tex>a(x,y)=\exp\left(-\frac{d(x,y)^2}{2\sigma^2}\right).</tex>
Строка 54: Строка 55:
* выбираются чаще;
* выбираются чаще;
* создают больше клонов;
* создают больше клонов;
-
* подвергаются локальному поиску;
+
* подвергаются [[Локальный поиск|локальному поиску]];
-
* могут сохраняться в памяти.
+
* могут сохраняться в памяти лучших решений.
Клональная селекция сближает AIS с [[Эволюционные вычисления|эволюционными вычислениями]], однако классические клональные алгоритмы обычно не используют скрещивание.
Клональная селекция сближает AIS с [[Эволюционные вычисления|эволюционными вычислениями]], однако классические клональные алгоритмы обычно не используют скрещивание.
Строка 67: Строка 68:
где <tex>a_i</tex> — нормированная аффинность, <tex>\rho>0</tex> — параметр интенсивности.
где <tex>a_i</tex> — нормированная аффинность, <tex>\rho>0</tex> — параметр интенсивности.
-
Слабые решения изменяются сильнее и исследуют пространство, а сильные решения изменяются осторожнее и уточняются локально.
+
Слабые решения изменяются сильнее и исследуют пространство, а сильные решения изменяются осторожнее и уточняются методами локальной оптимизации.
=== Иммунная память ===
=== Иммунная память ===
-
Память хранит высокоаффинные антитела или прототипы, найденные ранее. В задачах классификации память сокращает время распознавания похожих примеров. В оптимизации она сохраняет лучшие решения, а в динамических задачах может ускорять повторное обнаружение ранее встречавшихся режимов.
+
Память хранит высокоаффинные антитела или прототипы, найденные ранее. В задачах классификации память сокращает время распознавания похожих примеров. В оптимизации она сохраняет лучшие решения с помощью элитарного отбора, а в динамических задачах может ускорять повторное обнаружение ранее встречавшихся режимов.
-
Без механизма забывания память может разрастаться, сохранять устаревшие образцы и ухудшать адаптацию к изменяющемуся распределению данных.
+
Без механизма забывания память может разрастаться, сохранять устаревшие образцы и ухудшать адаптацию к [[Дрейф концепции|изменяющемуся распределению данных]].
=== Иммунные сети ===
=== Иммунные сети ===
Строка 97: Строка 98:
=== Вещественное представление ===
=== Вещественное представление ===
-
Для числовых признаков используются векторы
+
Для числовых признаков используются вещественные векторы
:: <tex>x\in\mathbf R^d.</tex>
:: <tex>x\in\mathbf R^d.</tex>
Строка 105: Строка 106:
:: <tex>\|x-c\|\leq r.</tex>
:: <tex>\|x-c\|\leq r.</tex>
-
В высокой размерности объём и взаимное расположение таких областей становятся трудными для настройки.
+
В [[Проклятие размерности|высокой размерности]] объём и взаимное расположение таких областей становятся трудными для настройки.
== Алгоритм отрицательного отбора ==
== Алгоритм отрицательного отбора ==
Строка 156: Строка 157:
=== Достоинства ===
=== Достоинства ===
-
* естественная постановка обучения только по нормальным данным;
+
* естественная постановка [[Обучение по одному классу|обучения только по нормальным данным]];
-
* возможность распределённого выполнения детекторов;
+
* возможность [[Распределённые вычисления|распределённого выполнения]] детекторов;
* отсутствие необходимости перечислять все типы атак;
* отсутствие необходимости перечислять все типы атак;
* понятная интерпретация каждого детектора как области аномалий.
* понятная интерпретация каждого детектора как области аномалий.
Строка 226: Строка 227:
=== Достоинства ===
=== Достоинства ===
-
* сочетает глобальный поиск и локальное уточнение;
+
* сочетает [[Глобальная оптимизация|глобальный поиск]] и локальное уточнение;
* сохраняет лучшие найденные решения;
* сохраняет лучшие найденные решения;
* не требует производных целевой функции;
* не требует производных целевой функции;
Строка 234: Строка 235:
=== Ограничения ===
=== Ограничения ===
-
* большое число вычислений функции приспособленности;
+
* большое число вычислений [[Функция приспособленности|функции приспособленности]];
* чувствительность к масштабу мутации;
* чувствительность к масштабу мутации;
* риск преждевременной концентрации около локального оптимума;
* риск преждевременной концентрации около локального оптимума;
Строка 245: Строка 246:
* непрерывная и комбинаторная оптимизация;
* непрерывная и комбинаторная оптимизация;
* обучение прототипов для классификации;
* обучение прототипов для классификации;
-
* выбор признаков;
+
* [[Отбор признаков|выбор признаков]];
* планирование и расписания;
* планирование и расписания;
-
* настройка параметров моделей;
+
* настройка гиперпараметров моделей;
-
* мультимодальный поиск.
+
* [[Мультимодальная оптимизация|мультимодальный поиск]].
== aiNet ==
== aiNet ==
Строка 305: Строка 306:
=== Ограничения ===
=== Ограничения ===
-
* попарное подавление требует порядка <tex>O(m^2)</tex> сравнений для сети из <tex>m</tex> антител;
+
* попарное подавление, близкое к удалению дубликатов требует порядка <tex>O(m^2)</tex> сравнений для сети из <tex>m</tex> антител;
* результат чувствителен к порогу подавления;
* результат чувствителен к порогу подавления;
* число кластеров не всегда определяется однозначно;
* число кластеров не всегда определяется однозначно;
Строка 389: Строка 390:
* учитывает временную связь сигналов и объектов;
* учитывает временную связь сигналов и объектов;
* не требует генерации огромного множества детекторов;
* не требует генерации огромного множества детекторов;
-
* допускает потоковую и распределённую обработку;
+
* допускает [[Потоковые данные|потоковую]] и распределённую обработку;
* выдаёт агрегированную оценку аномальности.
* выдаёт агрегированную оценку аномальности.
Строка 416: Строка 417:
=== Классификация ===
=== Классификация ===
-
В классификации антитела выполняют роль прототипов, правил или элементов памяти. Класс нового объекта определяется по наиболее аффинному антителу либо голосованием нескольких элементов памяти.
+
В классификации антитела выполняют роль прототипов, правил или элементов памяти. В задаче [[Классификация|классификации]] класс нового объекта определяется по наиболее аффинному антителу либо голосованием нескольких элементов памяти.
Известным примером является Artificial Immune Recognition System (AIRS), объединяющий клональную селекцию, ограниченные ресурсы и память.<ref name="AIRS2004">{{статья |автор=Watkins A., Timmis J., Boggess L. |заглавие=Artificial Immune Recognition System (AIRS): An Immune-Inspired Supervised Learning Algorithm |ссылка=https://doi.org/10.1023/B:GENP.0000030197.83685.94 |издание=Genetic Programming and Evolvable Machines |год=2004 |том=5 |номер=3 |страницы=291—317 |doi=10.1023/B:GENP.0000030197.83685.94 |язык=en}}</ref>
Известным примером является Artificial Immune Recognition System (AIRS), объединяющий клональную селекцию, ограниченные ресурсы и память.<ref name="AIRS2004">{{статья |автор=Watkins A., Timmis J., Boggess L. |заглавие=Artificial Immune Recognition System (AIRS): An Immune-Inspired Supervised Learning Algorithm |ссылка=https://doi.org/10.1023/B:GENP.0000030197.83685.94 |издание=Genetic Programming and Evolvable Machines |год=2004 |том=5 |номер=3 |страницы=291—317 |doi=10.1023/B:GENP.0000030197.83685.94 |язык=en}}</ref>
-
Классификационные AIS практически оправданы, если требуется компактный набор прототипов или адаптивное добавление новых образцов. Для обычных табличных данных их необходимо сравнивать с [[k ближайших соседей]], [[Метод опорных векторов|методом опорных векторов]], деревьями решений и ансамблями.
+
Классификационные AIS практически оправданы, если требуется компактный набор прототипов или адаптивное добавление новых образцов. Для обычных табличных данных их необходимо сравнивать с k ближайших соседей, [[Метод опорных векторов|методом опорных векторов]], [[Дерево решений|деревьями решений]] и [[Ансамбль алгоритмов|ансамблями]].
=== Кластеризация ===
=== Кластеризация ===
Строка 456: Строка 457:
=== Обнаружение аномалий ===
=== Обнаружение аномалий ===
-
Отрицательный отбор относится к методам [[Обучение по одному классу|обучения по одному классу]]: модель строится по нормальным данным. DCA относится к методам контекстного объединения сигналов.
+
Отрицательный отбор относится к методам обучения по одному классу: модель строится по нормальным данным. DCA относится к методам контекстного объединения сигналов.
AIS особенно оправданы, если:
AIS особенно оправданы, если:
Строка 466: Строка 467:
* важна возможность локального обновления.
* важна возможность локального обновления.
-
Если таких условий нет, следует сравнивать AIS с [[One-Class SVM]], Isolation Forest, локальным фактором выброса, статистическими моделями и автоэнкодерами.
+
Если таких условий нет, следует сравнивать AIS с One-Class SVM, Isolation Forest, локальным фактором выброса, статистическими моделями и [[Автоэнкодер|автоэнкодерами]].
== Сравнение с другими подходами ==
== Сравнение с другими подходами ==
Строка 508: Строка 509:
Классические методы часто имеют более ясную статистическую интерпретацию и меньше гиперпараметров.
Классические методы часто имеют более ясную статистическую интерпретацию и меньше гиперпараметров.
-
* [[k ближайших соседей]] близок к классификации по антителам памяти;
+
* k ближайших соседей близок к классификации по антителам памяти;
-
* [[k-means]] близок к прототипной кластеризации;
+
* k-means близок к прототипной кластеризации;
* One-Class SVM решает задачу отделения нормальной области;
* One-Class SVM решает задачу отделения нормальной области;
* Isolation Forest обнаруживает объекты, которые легко изолируются;
* Isolation Forest обнаруживает объекты, которые легко изолируются;
Строка 553: Строка 554:
Основные направления развития:
Основные направления развития:
-
* гибридизация с [[Глубокое обучение|глубоким обучением]], эволюционными и роевыми методами;
+
* гибридизация с глубоким обучением, эволюционными и роевыми методами;
* адаптивные и вещественные детекторы;
* адаптивные и вещественные детекторы;
* мультимодальная и многоцелевая оптимизация;
* мультимодальная и многоцелевая оптимизация;
Строка 567: Строка 568:
* слабая стандартизация реализаций;
* слабая стандартизация реализаций;
* ограниченная воспроизводимость сравнений;
* ограниченная воспроизводимость сравнений;
-
* масштабирование в высокой размерности;
+
* масштабирование в условиях высокой размерности;
* недостаток сквозных теоретических гарантий;
* недостаток сквозных теоретических гарантий;
* частое сравнение только со слабыми или устаревшими базовыми методами.
* частое сравнение только со слабыми или устаревшими базовыми методами.
Строка 591: Строка 592:
* решение естественно представляется популяцией прототипов;
* решение естественно представляется популяцией прототипов;
* нужно сохранять несколько локальных оптимумов;
* нужно сохранять несколько локальных оптимумов;
-
* система должна адаптироваться локально и инкрементально;
+
* система должна поддерживать локальное и инкрементальное обучение;
-
* данные и обработка распределены;
+
* данные и обработка организованы как распределённая система;
* существует содержательная предметная интерпретация сигналов;
* существует содержательная предметная интерпретация сигналов;
* производные целевой функции недоступны.
* производные целевой функции недоступны.
Строка 607: Строка 608:
* [[Машинное обучение]]
* [[Машинное обучение]]
 +
* [[Вычислительный интеллект]]
 +
* [[Биоинспирированные алгоритмы]]
* [[Эволюционные вычисления]]
* [[Эволюционные вычисления]]
* [[Генетический алгоритм]]
* [[Генетический алгоритм]]
* [[Обнаружение аномалий]]
* [[Обнаружение аномалий]]
-
* [[Обучение без учителя]]
+
* [[Обучение по одному классу]]
 +
* [[Классификация]]
* [[Кластеризация]]
* [[Кластеризация]]
* [[Оптимизация]]
* [[Оптимизация]]
-
* [[Метод опорных векторов]]
 
* [[Нейронная сеть]]
* [[Нейронная сеть]]
* [[Кибербезопасность]]
* [[Кибербезопасность]]
-
== Литература ==
+
== Примечания ==
<references/>
<references/>
-
* {{книга
+
== Литература ==
-
|автор=de Castro L. N., Timmis J.
+
-
|заглавие=Artificial Immune Systems: A New Computational Intelligence Approach
+
-
|ссылка=https://link.springer.com/book/9781852335946
+
-
|место=London
+
-
|издательство=Springer
+
-
|год=2002
+
-
|isbn=978-1-85233-594-6
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{книга
+
-
|редактор=Dasgupta D.
+
-
|заглавие=Artificial Immune Systems and Their Applications
+
-
|ссылка=https://link.springer.com/book/10.1007/978-3-642-59901-9
+
-
|место=Berlin
+
-
|издательство=Springer
+
-
|год=1999
+
-
|isbn=978-3-540-64390-6
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=Farmer J. D., Packard N. H., Perelson A. S.
+
-
|заглавие=The Immune System, Adaptation, and Machine Learning
+
-
|ссылка=https://doi.org/10.1016/0167-2789(86)90240-X
+
-
|издание=Physica D: Nonlinear Phenomena
+
-
|год=1986
+
-
|том=22
+
-
|номер=1—3
+
-
|страницы=187—204
+
-
|doi=10.1016/0167-2789(86)90240-X
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=Forrest S., Perelson A. S., Allen L., Cherukuri R.
+
-
|заглавие=Self-Nonself Discrimination in a Computer
+
-
|ссылка=https://doi.org/10.1109/RISP.1994.296580
+
-
|издание=Proceedings of the 1994 IEEE Symposium on Research in Security and Privacy
+
-
|год=1994
+
-
|страницы=202—212
+
-
|doi=10.1109/RISP.1994.296580
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=Hofmeyr S. A., Forrest S.
+
-
|заглавие=Architecture for an Artificial Immune System
+
-
|ссылка=https://doi.org/10.1162/106365600568257
+
-
|издание=Evolutionary Computation
+
-
|год=2000
+
-
|том=8
+
-
|номер=4
+
-
|страницы=443—473
+
-
|doi=10.1162/106365600568257
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=de Castro L. N., von Zuben F. J.
+
-
|заглавие=Learning and Optimization Using the Clonal Selection Principle
+
-
|ссылка=https://doi.org/10.1109/TEVC.2002.1011539
+
-
|издание=IEEE Transactions on Evolutionary Computation
+
-
|год=2002
+
-
|том=6
+
-
|номер=3
+
-
|страницы=239—251
+
-
|doi=10.1109/TEVC.2002.1011539
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=de Castro L. N., von Zuben F. J.
+
-
|заглавие=An Evolutionary Immune Network for Data Clustering
+
-
|ссылка=https://doi.org/10.1109/SBRN.2000.889718
+
-
|издание=Proceedings of the Sixth Brazilian Symposium on Neural Networks
+
-
|год=2000
+
-
|страницы=84—89
+
-
|doi=10.1109/SBRN.2000.889718
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=Watkins A., Timmis J., Boggess L.
+
-
|заглавие=Artificial Immune Recognition System (AIRS): An Immune-Inspired Supervised Learning Algorithm
+
-
|ссылка=https://doi.org/10.1023/B:GENP.0000030197.83685.94
+
-
|издание=Genetic Programming and Evolvable Machines
+
-
|год=2004
+
-
|том=5
+
-
|номер=3
+
-
|страницы=291—317
+
-
|doi=10.1023/B:GENP.0000030197.83685.94
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=Greensmith J., Aickelin U., Cayzer S.
+
-
|заглавие=Introducing Dendritic Cells as a Novel Immune-Inspired Algorithm for Anomaly Detection
+
-
|ссылка=https://doi.org/10.1007/11536444_12
+
-
|издание=Artificial Immune Systems: ICARIS 2005
+
-
|год=2005
+
-
|том=3627
+
-
|страницы=153—167
+
-
|doi=10.1007/11536444_12
+
-
|язык=en
+
-
}}
+
-
 
+
-
* {{статья
+
-
|автор=Greensmith J., Aickelin U., Tedesco G.
+
-
|заглавие=Information Fusion for Anomaly Detection with the Dendritic Cell Algorithm
+
-
|ссылка=https://doi.org/10.1016/j.inffus.2009.04.006
+
-
|издание=Information Fusion
+
-
|год=2010
+
-
|том=11
+
-
|номер=1
+
-
|страницы=21—34
+
-
|doi=10.1016/j.inffus.2009.04.006
+
-
|язык=en
+
-
}}
+
-
* {{статья
+
* de Castro L. N., Timmis J. [https://link.springer.com/book/9781852335946 Artificial Immune Systems: A New Computational Intelligence Approach]. — London: Springer, 2002.
-
|автор=Stibor T., Timmis J., Eckert C.
+
* Dasgupta D. (ред.) [https://link.springer.com/book/10.1007/978-3-642-59901-9 Artificial Immune Systems and Their Applications]. — Berlin: Springer, 1999.
-
|заглавие=A Comparative Study of Real-Valued Negative Selection to Statistical Anomaly Detection Techniques
+
* Farmer J. D., Packard N. H., Perelson A. S. [https://doi.org/10.1016/0167-2789(86)90240-X The Immune System, Adaptation, and Machine Learning] // Physica D: Nonlinear Phenomena. — 1986. — Т. 22. — № 1—3. — С. 187—204.
-
|ссылка=https://doi.org/10.1007/11536444_20
+
* Forrest S., Perelson A. S., Allen L., Cherukuri R. [https://doi.org/10.1109/RISP.1994.296580 Self-Nonself Discrimination in a Computer] // Proceedings of the 1994 IEEE Symposium on Research in Security and Privacy. — 1994. — С. 202—212.
-
|издание=Artificial Immune Systems: ICARIS 2005
+
* Hofmeyr S. A., Forrest S. [https://doi.org/10.1162/106365600568257 Architecture for an Artificial Immune System] // Evolutionary Computation. — 2000. — Т. 8. — № 4. — С. 443—473.
-
|год=2005
+
* de Castro L. N., von Zuben F. J. [https://doi.org/10.1109/TEVC.2002.1011539 Learning and Optimization Using the Clonal Selection Principle] // IEEE Transactions on Evolutionary Computation. — 2002. — Т. 6. — № 3. — С. 239—251.
-
|том=3627
+
* de Castro L. N., von Zuben F. J. [https://doi.org/10.1109/SBRN.2000.889718 An Evolutionary Immune Network for Data Clustering] // Proceedings of the Sixth Brazilian Symposium on Neural Networks. — 2000. — С. 84—89.
-
|страницы=262—275
+
* Watkins A., Timmis J., Boggess L. [https://doi.org/10.1023/B:GENP.0000030197.83685.94 Artificial Immune Recognition System (AIRS): An Immune-Inspired Supervised Learning Algorithm] // Genetic Programming and Evolvable Machines. — 2004. — Т. 5. — № 3. — С. 291—317.
-
|doi=10.1007/11536444_20
+
* Greensmith J., Aickelin U., Cayzer S. [https://doi.org/10.1007/11536444_12 Introducing Dendritic Cells as a Novel Immune-Inspired Algorithm for Anomaly Detection] // Artificial Immune Systems: ICARIS 2005. — 2005. — Т. 3627. — С. 153—167.
-
|язык=en
+
* Greensmith J., Aickelin U., Tedesco G. [https://doi.org/10.1016/j.inffus.2009.04.006 Information Fusion for Anomaly Detection with the Dendritic Cell Algorithm] // Information Fusion. — 2010. — Т. 11. — № 1. — С. 21—34.
-
}}
+
* Stibor T., Timmis J., Eckert C. [https://doi.org/10.1007/11536444_20 A Comparative Study of Real-Valued Negative Selection to Statistical Anomaly Detection Techniques] // Artificial Immune Systems: ICARIS 2005. — 2005. — Т. 3627. — С. 262—275.
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]

Текущая версия

Статья написана с использованием LLM ChatGPT (GPT-5.6 Sol Medium) и проверена участником Valeriia Berdnikova 15:00, 19 июля 2026 (MSD). Промпт приводится полностью в Обсуждение:Искусственные иммунные системы.


Содержание

Искусственные иммунные системы (англ. Artificial Immune Systems, AIS) — семейство методов вычислительного интеллекта, использующих упрощённые идеи биологической иммунной системы и биоинспирированных вычислений для решения задач машинного обучения, оптимизации, кластеризации и обнаружения аномалий. К основным моделируемым механизмам относятся распознавание «своего» и «чужого», аффинность, клональная селекция, созревание аффинности, иммунная память, подавление похожих решений и объединение нескольких сигналов.[1]

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

Общая схема

Пусть объект, пример данных или кандидат решения представлен вектором признаков

x\in\mathcal X.

В терминологии искусственных иммунных систем входные объекты часто называются антигенами, а элементы обучаемой популяции — антителами, рецепторами или детекторами.

Большинство AIS включает следующие компоненты:

  • представление антигенов и антител;
  • меру сходства или аффинности;
  • популяцию детекторов либо кандидатов решения;
  • механизм отбора;
  • клонирование или размножение;
  • мутацию;
  • память;
  • удаление слабых, избыточных или опасно похожих элементов для поддержания разнообразия популяции.

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

Биологическая интуиция и вычислительные абстракции

Распознавание «своего» и «чужого»

В ранних AIS нормальное состояние системы интерпретируется как множество «своих» образцов, а отклонения — как «чужие». Детекторы генерируются так, чтобы не реагировать на обучающие нормальные данные, но реагировать на ранее не наблюдавшиеся области пространства.

Эта схема является вычислительным упрощением. Биологическое распознавание не сводится к единственному бинарному правилу «своё — чужое»: иммунный ответ зависит от типа клеток, контекста, сигналов повреждения, состояния тканей и механизмов толерантности.

Аффинность

Аффинность — численная мера соответствия между антигеном и антителом. При заданной метрике или расстоянии d(x,y) её можно определить, например, как

a(x,y)=\exp\left(-\frac{d(x,y)^2}{2\sigma^2}\right).

Чем меньше расстояние, тем выше аффинность. В оптимизации аффинность обычно является преобразованием целевой функции:

a(x)=\frac{1}{1+f(x)}

для задачи минимизации неотрицательной функции f.

Конкретная формула не является обязательной частью AIS. Используются евклидово, манхэттенское и косинусное расстояния, расстояние Хэмминга, правила совпадения подстрок и предметно заданные функции сходства.

Клональная селекция

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

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

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

Созревание аффинности

В AIS созревание аффинности моделируется мутацией клонов. Частота или амплитуда мутации часто обратно пропорциональна аффинности:

p_i=p_{\max}\exp(-\rho a_i),

где a_i — нормированная аффинность, \rho>0 — параметр интенсивности.

Слабые решения изменяются сильнее и исследуют пространство, а сильные решения изменяются осторожнее и уточняются методами локальной оптимизации.

Иммунная память

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

Без механизма забывания память может разрастаться, сохранять устаревшие образцы и ухудшать адаптацию к изменяющемуся распределению данных.

Иммунные сети

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

Подавление близких антител поддерживает разнообразие и сокращает избыточность популяции. Эта идея используется в aiNet и других иммунных сетях для кластеризации и мультимодальной оптимизации.[1]

Представление и функция аффинности

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

Бинарное представление

Антигены и детекторы задаются строками:

x=(x_1,\ldots,x_L),\qquad x_i\in\{0,1\}.

Аффинность может определяться числом совпадающих битов или наличием общей последовательности из r подряд идущих символов.

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

Вещественное представление

Для числовых признаков используются вещественные векторы

x\in\mathbf R^d.

Детектор может быть точкой, гиперсферой с центром c и радиусом r либо более сложной областью. В случае гиперсфер объект распознаётся детектором, если

\|x-c\|\leq r.

В высокой размерности объём и взаимное расположение таких областей становятся трудными для настройки.

Алгоритм отрицательного отбора

Принцип работы

Алгоритм отрицательного отбора был предложен как вычислительная аналогия удаления лимфоцитов, реагирующих на собственные структуры организма.[1]

Пусть S — множество нормальных обучающих объектов. Сначала случайно создаются кандидаты в детекторы. Кандидат удаляется, если он распознаёт хотя бы один объект из S. Остальные детекторы покрывают область, не занятую нормальными данными.

Для детектора d условие допуска можно записать как

\max_{s\in S}a(d,s)<\theta_s,

где \theta_s — порог совпадения с нормальными объектами.

После обучения новый объект x считается аномальным, если

\max_{d\in D}a(d,x)\geq\theta_d,

где D — множество прошедших отбор детекторов.

Псевдокод

Вход: нормальная выборка 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 нормальным.

Основные параметры

  • размер и способ представления детекторов;
  • число детекторов M;
  • правило совпадения;
  • порог \theta_s;
  • радиус вещественных детекторов;
  • распределение генерации кандидатов;
  • допустимая доля ложных срабатываний.

Достоинства

Ограничения

  • генерация допустимых детекторов может быть очень медленной;
  • в пространстве остаются непокрытые «дыры»;
  • число детекторов быстро растёт с размерностью;
  • результат чувствителен к порогу совпадения;
  • нормальные данные должны достаточно полно представлять область «своего»;
  • изменение нормального режима требует обновления детекторов.

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

Применения

  • обнаружение сетевых вторжений;
  • контроль целостности файлов;
  • мониторинг системных вызовов;
  • диагностика технических неисправностей;
  • обнаружение отклонений в потоках датчиков.

CLONALG

Принцип работы

CLONALG — клональный алгоритм обучения и оптимизации, предложенный де Кастро и фон Зубеном.[1]

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

Число клонов можно задавать пропорционально аффинности:

n_i=\left\lfloor\beta N\frac{a_i}{\sum_j a_j}\right\rfloor,

где N — размер популяции, \beta — коэффициент клонирования.

В исходном 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. Вернуть память или лучшее найденное решение.

Основные параметры

  • размер популяции N;
  • число отбираемых антител;
  • коэффициент клонирования \beta;
  • интенсивность гипермутации \rho;
  • размер памяти;
  • число случайно заменяемых антител;
  • критерий остановки.

Достоинства

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

Ограничения

  • большое число вычислений функции приспособленности;
  • чувствительность к масштабу мутации;
  • риск преждевременной концентрации около локального оптимума;
  • отсутствие универсальных правил настройки параметров;
  • на гладких задачах уступает специализированным градиентным методам;
  • не имеет автоматического преимущества перед другими метаэвристиками.

Применения

aiNet

Принцип работы

aiNet — искусственная иммунная сеть, предназначенная для анализа данных и сохранения нескольких областей высокой плотности или нескольких оптимумов.[1]

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

Для пары антител b_i и b_j подавление может выполняться при условии

a(b_i,b_j)>\theta_{\rm sup},

где \theta_{\rm sup} — порог сетевого сходства.

После обучения оставшиеся антитела образуют сжатое представление выборки. Кластеры могут определяться компонентами графа антител или дополнительным алгоритмом кластеризации.

Псевдокод

Вход: данные 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. Построить кластеры по оставшейся сети.

Основные параметры

  • исходный и максимальный размеры сети;
  • коэффициент клонирования;
  • скорость мутации;
  • порог аффинности к данным;
  • порог подавления \theta_{\rm sup};
  • число новых случайных антител;
  • критерий сходимости.

Достоинства

  • сохраняет несколько кластеров или оптимумов;
  • уменьшает выборку до набора прототипов;
  • сочетает обучение и автоматическое подавление дубликатов;
  • не требует заранее задавать центры кластеров;
  • допускает визуализацию сети сходства.

Ограничения

  • попарное подавление, близкое к удалению дубликатов требует порядка O(m^2) сравнений для сети из m антител;
  • результат чувствителен к порогу подавления;
  • число кластеров не всегда определяется однозначно;
  • возможна потеря малых или разреженных кластеров;
  • сходимость зависит от конкретной реализации;
  • при высокой размерности расстояния могут терять различимость.

Применения

  • кластеризация;
  • сжатие и прототипирование данных;
  • анализ экспрессии генов;
  • поиск нескольких оптимумов;
  • обнаружение структуры в неразмеченных данных;
  • рекомендательные системы и сегментация пользователей.

Дендритный клеточный алгоритм

Принцип работы

Дендритный клеточный алгоритм (англ. Dendritic Cell Algorithm, DCA) использует не отрицательный отбор, а объединение нескольких потоков сигналов и их временную связь с наблюдаемыми объектами. Он был разработан для обнаружения аномалий и вдохновлён ролью дендритных клеток в координации иммунного ответа.[1]

Вычислительный DCA обрабатывает:

  • антигены — идентификаторы анализируемых процессов, соединений или объектов;
  • PAMP-сигналы — признаки, тесно связанные с известной аномальной активностью;
  • сигналы опасности — признаки возможного повреждения;
  • безопасные сигналы — признаки нормального поведения;
  • воспалительные сигналы — усилители остальных сигналов.

Каждая искусственная клетка в течение некоторого времени собирает антигены и сигналы. Входные сигналы s_k(t) преобразуются в выходы:

o_j(t)=\sum_k w_{jk}s_k(t),

где выходы обычно соответствуют стоимости ко-стимуляции, зрелому контексту и полузрелому контексту.

Клетка накапливает значения:

O_j=\sum_t o_j(t).

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

Для типа антигена a вычисляется доля зрелых представлений:

{\rm MCAV}(a)=\frac{N_{\rm mature}(a)}{N_{\rm total}(a)}.

Объект считается аномальным, если {\rm MCAV}(a) превышает заданный порог.

Псевдокод

Вход: поток антигенов и сигналов,
      популяция клеток, веса сигналов.
Выход: оценки аномальности антигенов.
1. Создать популяцию клеток с различными порогами миграции.
2. Для каждого временного шага:
   2.1. Передать клеткам текущие сигналы.
   2.2. Передать клеткам наблюдаемые антигены.
   2.3. Для каждой клетки вычислить выходные сигналы.
   2.4. Накопить ко-стимулирующий, зрелый
        и полузрелый выходы.
   2.5. Если порог миграции клетки превышен:
        определить её контекст;
        присвоить контекст собранным антигенам;
        заменить клетку новой.
3. Для каждого типа антигена вычислить MCAV.
4. Сравнить MCAV с порогом аномальности.

Основные параметры

  • способ преобразования исходных признаков в сигналы;
  • веса w_{jk};
  • размер популяции клеток;
  • распределение порогов миграции;
  • число антигенов, собираемых клеткой;
  • временное окно;
  • порог итоговой аномальности;
  • правила нормализации сигналов.

Достоинства

  • объединяет несколько источников информации;
  • учитывает временную связь сигналов и объектов;
  • не требует генерации огромного множества детекторов;
  • допускает потоковую и распределённую обработку;
  • выдаёт агрегированную оценку аномальности.

Ограничения

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

Подробная формализация информационного слияния в 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 следует выбирать не из-за биологического названия, а при наличии конкретного преимущества представления, поиска, адаптации или распределённой архитектуры.

Вычислительная сложность и масштабируемость

Отрицательный отбор

Если генерируется M детекторов и имеется n нормальных примеров, наивная проверка требует порядка

O(MnC_a),

где C_a — стоимость вычисления аффинности. Реальная стоимость может быть значительно выше, поскольку многие кандидаты отклоняются.

CLONALG

Для популяции размера N, числа клонов N_c и T поколений основная стоимость определяется числом оценок целевой функции:

O(T(N+N_c)C_f).

Если оценка f дорога, клонирование становится главным вычислительным ограничением.

aiNet

Помимо сравнения с данными aiNet выполняет попарное подавление. Для сети размера m одна полная процедура подавления требует

O(m^2C_a).

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

DCA

Стоимость DCA приблизительно линейна по числу клеток, сигналов и временных шагов. Однако хранение повторных представлений антигенов и агрегация контекста могут быть значительными при высокочастотном потоке.

Современное состояние направления

Искусственные иммунные системы сформировались как самостоятельное направление вычислительного интеллекта в 1990-х и 2000-х годах. Фундаментальные алгоритмы продолжают использоваться, однако AIS не являются доминирующим универсальным подходом в современном машинном обучении.

Основные направления развития:

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

Главные нерешённые проблемы:

  • высокая чувствительность к кодированию и аффинности;
  • большое число гиперпараметров;
  • слабая стандартизация реализаций;
  • ограниченная воспроизводимость сравнений;
  • масштабирование в условиях высокой размерности;
  • недостаток сквозных теоретических гарантий;
  • частое сравнение только со слабыми или устаревшими базовыми методами.

Типичные ошибки

  • буквальное отождествление вычислительных антигенов и клеток с биологическими объектами;
  • предположение, что биологическая правдоподобность гарантирует качество;
  • отсутствие сравнения с простыми статистическими базовыми методами;
  • подбор параметров по тестовой выборке;
  • использование евклидовой аффинности без масштабирования признаков;
  • чрезмерное число детекторов или клонов;
  • отсутствие механизма забывания при дрейфе данных;
  • игнорирование дисбаланса классов;
  • вывод об универсальности по одной прикладной выборке;
  • смешение CLONALG, отрицательного отбора, aiNet и DCA как одного алгоритма.

Когда применение оправдано

Искусственные иммунные системы практически оправданы, если:

  • требуется обучение преимущественно по нормальным данным;
  • решение естественно представляется популяцией прототипов;
  • нужно сохранять несколько локальных оптимумов;
  • система должна поддерживать локальное и инкрементальное обучение;
  • данные и обработка организованы как распределённая система;
  • существует содержательная предметная интерпретация сигналов;
  • производные целевой функции недоступны.

AIS обычно не являются первым выбором, если:

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

См. также

Примечания


Литература

Личные инструменты