Код
#статьи

Конкурент нейросетей: как искусственный иммунитет считает вагоны и управляет самолётами

Программисты изучили человеческий иммунитет и сделали алгоритмы, которые классифицируют объекты и защищают от хакерских атак.

Иллюстрация: Adam Rodd / WikiMedia / Colowgee для Skillbox Media

Из-за пандемии люди заинтересовались иммунитетом: раньше слова «антитело», «вакцинация» и «антиген» использовали только медики и учёные, но сейчас они звучат в новостях и по телевизору.

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

За последние тридцать лет в информатике появились алгоритмы, которые копируют принципы работы иммунитета. Построенные на них программы называют искусственными иммунными системами.

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

Иммунные системы, как и нейросети, — один из способов реализации искусственного интеллекта. Но с некоторыми задачами они справляются лучше.

Как работает человеческий иммунитет

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

В основе современного представления об иммунитете два понятия:

  • Антитела — белки, которые вырабатывают иммунные клетки (лимфоциты). Их задача — распознавать и бороться с чужеродными организмами, когда те проникают в тело.
  • Антигены — вещества, в ответ на которые вырабатываются антитела. Они есть в опасных бактериях и вирусах (их ещё называют патогенами).

Антитела химически связываются с антигенами (прилипают к ним). Но у антител есть специфичность — они умеют прилипать только к одному виду антигенов.

Чтобы успешно уничтожать патогены, нужно много видов антител, которые распознают разные антигены. Учёные считают, что в человеческом организме таких видов до 10 миллиардов.

Лимфоциты вырабатывают антитела подходящей формы для нейтрализации антигенов — фрагментов вирусов, бактерий и других опасных организмов. Иллюстрация: Polina Vari для Skillbox Media

Как мы болеем и выздоравливаем

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

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

Задача иммунной системы — создать антитела с максимальной аффинностью к новому вирусу. Но на такие «вычисления» уходит время: для большинства болезней это несколько мучительных недель, в течение которых мы ощущаем себя нездоровыми.

Когда иммунитет находит нужную форму антител, организм бросает все силы на то, чтобы массово их производить. Он клонирует точные копии лимфоцитов, которые научились распознавать антиген новой болезни. Это называют клональным отбором.

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

Иммунные клетки подбирают вид антител, который сможет нейтрализовать чужака. Антитела, изображённые внизу, бесполезны, потому что не могут выполнить свою задачу. Иллюстрация: Polina Vari для Skillbox Media

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

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

Почему организм не атакует сам себя

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

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

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

Искусственная иммунная система

У естественного иммунитета есть несколько полезных характеристик:

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

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

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

С середины 1980-х искусственным иммунитетом занимались многие учёные. Одну из первых работающих систем создала американка Стефани Форрест. В 2000 году она опубликовала научную статью «Архитектура искусственной иммунной системы».

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

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

Как работают алгоритмы искусственного иммунитета

Почти все современные имитации иммунитета основаны на алгоритмах отрицательного и клонального отбора. Популярны и иммунные сети.

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

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

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

Алгоритм колониальной селекции, наоборот, реагирует на реальные аномалии, когда в систему уже проник антиген. Основная задача этого алгоритма — подстроить антитела под антиген, который нужно нейтрализовать.

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

Вот как выглядит псевдокод алгоритма колониальной селекции:

Начало
   Шаг 1. Инициализация
      Создаём начальную популяцию антител.
   Шаг 2. Вычисление аффинности и отбор
      Для каждого антитела вычисляем его аффинность к антигену.
      Выбираем часть самых эффективных антител, остальные удаляем.
      Результаты записываем в массив.
   Шаг 3. Клонирование антител
Генерируем копии антител пропорционально их аффинности.
#Чем выше аффинность, тем больше создаётся клонов, и наоборот.
   Шаг 4. Модификация антител
Подвергаем копии антител случайным изменениям с вероятностью, обратно пропорциональной их аффинности. 
#Чем ниже аффинность, тем выше вероятность мутации.
   Возврат к шагу 2
      Повторяем процесс до тех пор, пока не достигнут критерий остановки.
   Шаг 5. Сохранение в клетках памяти
      Сохраняем лучшие антитела в памяти компьютера.
Конец

И вот блок-схема того же алгоритма:

Блок-схема алгоритма клональной селекции. Иллюстрация: Polina Vari для Skillbox Media

Где применяют искусственный иммунитет

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

Иммунные системы решают много полезных задач:

Отслеживают вагоны поездов. Российские программисты разработали комплекс СТЗ АРНВ, который способен отслеживать железнодорожные вагоны по нанесённым на них номерам.

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

Номер может многое рассказать о вагоне и его владельце. Иллюстрация: Polina Vari для Skillbox Media

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

Авторы пишут, что их программа не ошибается в 97% случаев. На один номер она тратит 57 миллисекунд — то есть за 1 секунду считывает маркировку 18 вагонов. Но для того, чтобы выработать подходящие «антитела» и обучить на них нейросеть, ушло несколько недель.

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

Для этой системы не нужны камеры. Во время движения поездов конструкция колеблется, это записывают датчики и передают данные в искусственную иммунную систему. Со временем она вырабатывает «антитела», которые определяют аномалии по колебаниям. Это помогает понять, что с мостом или тоннелем что-то не в порядке — например, просел грунт или прогнил металл.

Управляют самолётами. Американские учёные предложили использовать симуляцию иммунитета, чтобы автоматически управлять самолётом. Если авиалайнер в режиме автопилота сойдёт с курса, «иммунная система» вовремя это определит и предложит скорректировать траекторию.

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

Борются с пандемией. В 2010 году учёные из Египта использовали искусственный иммунитет, чтобы моделировать меры против тогдашней эпидемии свиного гриппа (H1N1).

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

«Эта технология может спасти человечество»

Роман Душкин, директор по науке и технологиям «Агентства Искусственного Интеллекта», считает, что иммунные алгоритмы пригодятся в будущем: «Пик исследований искусственных иммунных систем пришёлся на 2000–2010-е годы. Но в то время у этих работ не было практического применения, поэтому многие учёные потеряли к ним интерес. Я думаю, что всё ещё восстановится, потому что тема очень интересная и перспективная».

Он сравнил иммунитет с полицией и военными: «В обществе Министерство обороны и МВД выполняют ту же роль, что иммунная система в организме. Если они замечают аномальное поведение внутри или за пределами государства, то за ним следят и принимают меры, чтобы ликвидировать угрозу».

«Когда мы научимся строить экосистемы, населённые искусственными интеллектуальными агентами, то им тоже понадобится аналог полиции, — рассуждает Душкин. — Иммунные системы смогут защитить такие экосистемы и от внешних вторжений (хакерских атак), и от внутренних проблем (аномального поведения программы или робота)».

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

Роман Душкин,
директор по науке и технологиям «Агентства Искусственного Интеллекта»

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

«Исследовать иммунитет нужно, чтобы лучше понимать теорию его работы на уровне многоагентной системы, — считает Душкин. — Когда мы сможем точечно воздействовать на ткани, органы и отдельные клетки, эти исследования очень пригодятся».

Кроме того, знания в сфере искусственного иммунитета нужны, чтобы создать ИИ и биологические компьютеры: «Такая вычислительная модель работает не в компьютере, а в пробирке — это называют биокомпьютерами или ДНК-компьютерами. Направление исследований интересное, но его пока сдерживает технологический барьер».

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

Как разобраться в искусственном иммунитете

В 1999 году в США вышла книга Artificial Immune Systems and Their Applications — фундаментальная работа, в которой авторы собрали теоретические и практические результаты исследований в сфере искусственных иммунных систем.

Над сборником трудились лучшие учёные, несколько глав написала Стефани Форрест. Редактором стал профессор Дипанкар Дасгупта, известный работами в сфере иммунных алгоритмов.

В 2006 году вышел русский перевод этой книги. Собранные в ней материалы до сих пор актуальны. Изучать сложную тему иммунных алгоритмов стоит начинать именно с неё.

Вывод. Зачем нужны такие алгоритмы

Алгоритмы искусственного иммунитета — перспективные инструменты, которые конкурируют с нейросетями и могут помочь создать настоящий ИИ.

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

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована