Введение 3
Постановка задачи 8
Обзор литературы 9
Глава 1. Роевые алгоритмы искусственного интеллекта 11
§1. Основной роевой алгоритм 11
§2. Локальный роевой алгоритм 14
§3. Важные моменты роевых алгоритмов 16
§4. Основные модификации роевых алгоритмов 19
Глава 2. Математическая основа стайного движения в рое 22
§1. Графы и Сети 23
§2. о-Решётки и Квази о-Решётки 25
§3. Энергия отклонения конфигурации сети 27
Глава 3. Моделирование стайного движения множественными объектами 31
§1. Алгоритмы стайного движения в пространстве 31
§2. Коллективная динамика роя 34
§3. Результаты моделирования 36
Выводы 40
Заключение 41
Список литературы 42
Сейчас нейронные сети пользуются популярностью. Причиной этого является мощность вычислительной техники. С помощью множества компьютеров появилась возможность создания сети с огромной вычислительной мощью, которая сможет решить задачи, ранее не доступные ученым. Например, смоделировать вселенную, распознать речь и получение быстрого ответа на интересующий вопрос.
В конце 1940 появились электронно-вычислительные машины (ЭВМ), что привело к началу развития искусственной нейросети. В тоже время канадский физиолог и нейропсихолог Дональд Хебб создает алгоритм нейронной сети и закладывает принципы его работы в ЭВМ. Стоит отметить и другие даты в истории развития искусственных нейросетей:
1954 год — на рабочей ЭВМ впервые на практике применили нейросеть;
1958 год — американским ученым по нейрофизиологии и искусственного интеллекта, Фрэнком Розенблаттом был разработан алгоритм распознавания образов и предоставлено его краткое изложение для общественности;
1960 год — ЭВМ не могла должным образом из-за слабых мощностей выполнять сложные задачи, возложенные на нее, поэтому интерес к технологии немного угас; За двадцатилетний период полным ходом шла «компьютеризация», и мощности тогдашних компьютеров хватило, чтобы вновь разжечь интерес к нейросетям. В 1980 году появилась система с механизмом обратной связи и начались разработки алгоритмов по самообучению; Спустя следующие 20 лет, мощности компьютеров выросли настолько, что в 2000 году ученые-исследователи смогли применять нейросети во многих сферах. Появились программы распознавания речи, имитация зрения, когнитивного восприятия информации. Нейросеть, машинное обучение, робототехника, компьютеризация стали частью нечто большего, под названием «искусственный интеллект».
Нейронные сети — это современный тренд, применяемый в науке и технике. С их помощью улучшаются программы и создаются целые системы, способные автоматизировать, ускорять и помогать в работе человеку. Основная цель — научить систему самостоятельно принимать решения в сложных ситуациях так, как это делает человек.
В состав нейрона входит тело клетки и ядро. У тела клетки в свою очередь есть множество ответвлений, которое называется дендритами. Длинные дендриты имеют отдельное название — аксоны, которые связывают нейроны между собой с помощью синапсов (по ним проходит импульс). Таким образом, сигнал поступает на дендрит (вход), передается на другой нейрон по аксону (выход). При передачи импульса в точках синапса частоты и амплитуды могут изменяться. Тело нейрона представимо в виде сумматора, а кодом, 0 или 1, регулируются частота, импульс сигнала перед тем, как попасть на сумматор в раздел "Веса". Описанное является основной составляющей нейрона. На рис. 2 представлена математическая и графическая модель нейрона.
Искусственная нейронная сеть — это построенная по математическим правилам модель естественной нейросети, которая воплощена в жизнь с помощью программных и аппаратных составляющих.
Нейронные сети делятся на множество типов, переплетающихся между собой в задачах. Классификация происходит по принципу применения, по типу входной информации, по характерам обучения и связей и по сфере применения.
Сверточные: популярнейший тип сети, часто используемый для рас-познавания информации в фотографиях и видео, обработке языка, системах для рекомендаций. Основные характеристики: отличная масштабируемость (распознавание образов любого разрешения); использование объемных трехмерных нейронов; механизм пространственной локализации(работают нелинейные фильтры и охватывается большее число пикселей графического изображения).
Рекуррентные: связи между элементами могут обрабатывать серии различных событий во времени или работать с последовательными цепочками в пространстве. Такой тип часто применяют там, где что-то целое разбито на куски.
Обучение нейронной сети
Самым главным и важным критерием является возможность обучения нейросети. Нейросеть же представляет совокупность нейронов с проходящими по ним сигналами. На входе подается конкретная информация, которая проходит через тысячи нейронов, а что будет на выходе остается неизвестным. Так вот, чтобы получить нужный результат, необходимо менять параметры сети.
Входной сигнал изменить мы не можем, как и повлиять на сумматор (или вывести его из системы), иначе система перестанет быть нейросетью. Единственное, чем мы можем манипулировать - это коэффициентами или коррелирующими функциями, после чего применить их на веса связей.
Таким образом, можно дать определение обучения нейронной сети — это поиск набора весовых коэффициентов, которые при прохождении через сумматор позволят получить на выходе нужный сигнал.
Коэффициенты весов вручную задавать нельзя. Иначе, нейросеть запомнит правильный выходной сигнал, что приведет к мгновенному выводу информации и иллюзии, что обучение прошло быстро. Но при малейшем изменении входного сигнала на выходе появится неправильный результат. Поэтому, вместо указания конкретных коэффициентов для одного входного сигнала, можно создать обобщающие параметры с помощью выборки. С помощью такой выборки можно обучать сеть, чтобы она выдавала корректные результаты. В этом моменте, можно поделить обучение нейросети на обучение с учителем и без учителя.
Обучение с учителем. Обучение таким способом подразумевает концепцию: даете выборку входных сигналов нейросети, получаете выходные и сравниваете с готовым решением. Сеть нужно тренировать сотнями и тысячами часов, поэтому в 99 процентов случаев тренировкой занимается компьютерная программа.
Обучение без учителя. Концепция состоит в том, что делается выборка входных сигналов, но правильных ответов на выходе вы знать не можете. Как происходит обучение? В теории и на практике, нейросеть начинает кластеризацию, то есть определяет классы подаваемых входных сигналов.
Затем, она выдает сигналы различных типов, отвечающие за входные объекты.
Роевые алгоритмы искусственного интеллекта
Алгоритм роя частиц, разработанный Д. Кеннеди (James Kennedy) и Р. Эберхартом, моделирует многоагентную систему, где агенты-частицы двигаются к оптимальным решениям, обмениваясь при этом информацией с соседями.
Текущее состояние частицы характеризуется координатами в пространстве решений (то есть, собственно, связанным с ними решением), а также вектором скорости перемещения. Оба этих параметра выбираются случайным образом на этапе инициализации. Кроме того, каждая частица хранит координаты лучшего из найденных ей решений, а также лучшее из пройденных всеми частицами решений — этим имитируется мгновенный обмен информацией между птицами.
На каждой итерации алгоритма направление и длина вектора скорости каждой из частиц изменяются в соответствие со сведениями о найденных оптимумах:
vi= vi+ a1+ rand() * (pbesti — xi) + a2 * rand() * (gbesti —хД (1) где v — вектор скорости частицы, ai, a2— постоянные ускорения, pbest- лучшая найденная частицей точка, gbest— лучшая точка из пройденных всеми частицами системы, X— текущее положение частицы, а функция randQвозвращает случайное число от 0 до 1 включительно.
После вычисления направления вектора v, частица перемещается в точку. В случае необходимости, обновляются значения лучших точек для каждой частицы и для всех частиц в целом. После этого цикл повторяется.
Модификации: LBEST (Кеннеди и Эберхарт, 1995) [5]; Inertia Weighted PSO (Юхи Ши (Yuhui Shi) и Рассел Эберхарт, 1998) [6]; Time-Varying Inertia Weighted PSO (Юхи Ши и Рассел Эберхарт, 1999) [7]; Canonical PSO (Марис Клер (Maurice Clerc) и Джеймс Кеннеди, 2002) [8];Fully Informed Particle Swarm (Руи Мендес (Rui Mendes), Джеймс Кеннеди и Жозе Невес (Jose Neves), 2004) [9].
Постановка задачи
Целью данной работы является разработка методов искусственного интеллекта по моделированию работы различных элементов физиологических систем организма. В качестве базовых математических алгоритмов были приняты алгоритмы роевого поведения элементов/частиц исследуемых систем. Поэтому, предпочтение отдавалось тем физиологическим системам организма, которые хотя бы в малой степени, позволяли сделать такие допущения. Каковым была взята за основу — кровеносная система. В данной работе, наиболее предпочтительным роевым алгоритмом был рассмотрен алгоритм моделирующий стайное поведение частиц — агентов системы.
Поставленной цели соответствует решению следующих задач:
1. Исследовать некоторые методы искусственного интеллекта: роевого интеллекта, стайного поведения;
2. Определить, как методы роевого интеллекта реализуют работу кровеносной системы (но возможно и технологической, информационной, социальной и др.);
3. Разработать нейросетевой алгоритм роевого интеллекта (РИ) для общей модели кровеносной системы;
4. Провести моделирование его практической реализации для стайного движения роевых частиц в неоднородной среде с препятствиями.
В работе представлен математических аппарат для разработки и анализа алгоритмов стайного движения роя. Рассмотрены два случая сбора роя в стаю в пространстве и фрагментации перед обходом множества препятствий. Математическим моделированием показана возможность использования такого рода алгоритмов для описания роевых механизмов взаимодействия.
[1] Берд Р., Стюарт В., Лайтфут Е. Явления переноса. М.: Химия, 1974. 688 с.
[2] Под ред. Д. Дасгупты. Пер. с англ. под ред. А. А. Романюхи. Искусственные имунные системы и их применение. М.:ФИЗМАТЛИТ, 2006. 344 c.
[3] Чернышев Ю., Григорьев Г., Венцов Н. Искусственные имунные системы: обзор и современное состояние. 2014г.
[4] Роевой интеллект и его наиболее распространённые методы реализации Водолазский И. А, Егоров А. С., Краснов А. В. 2017
[5] R. C. Eberhart, J. Kennedy, “A new optimizer using particle swarm theory” // Proceedings of the Sixth International Symposium on Micro Machine and Human Science MHS’95, стр. 39-43, 1995 г.
[6] Y. Shi, R. Eberhart, “A modified particle swarm optimizer” // The 1998 IEEE International Conference on Evolutionary Computation Proceedings, стр. 69-73, 1998 г.
[7] Y. Shi, R. Eberhart, “Empirical study of particle swarm optimization” // Proceedings of the 1999 IEEE Congress on Evolutionary Computation, стр. 1945-1950, 1999 г.
[8] M. Clerc, J. Kennedy, “The particle swarm - explosion, stability, and convergence in a multidimensional complex space” // IEEE Transactions on Evolutionary Computation, №6 (1), стр. 58-73, 2002 г.
[9] R. Mendes, J. Kennedy, J. Neves, "The fully informed particle swarm: Simpler, maybe better"// IEEE Transactions on Evolutionary Computation, №8 (3), стр. 204-210, 2004 г.
[10] C. W. Reynolds, "Flocks, herds, and schools: a distributed behavioral model"// Computer Graphics (ACM SIGGRAPH ’87 Conference Proceedings, Anaheim, California, July 1987), 21(4), стр. 25-34, Июль 1987 г.
[11] J. Toner, Y. Tu, "Flocks, herds, and schools: A quantitative theory of flocking". Physical Review E, 58(4), стр. 4828-4858, Октябрь 1998г.
[12] Ishida Y. "Fully distributed diagnosis by pdp learning algorithm: towards immune network pdp model"// IEEE Intern. Joint Conf. on Neural Networks, San Diego, 1990, vol. 1, стр. 777-782.
[13] Timmis J., Neal M., Hunt J. An artificial immune system for data analysis. Biosystems, 2000, vol. 55, стр. 143-150.
[14] Puteh M., Hamdan A. R., Omar K., Bakar A. A. Flexible immune network recognition system for mining heterogeneous data. 7th Intern. Conf. ICARIS-08, Springer, Berlin, Heidelberg, 2008, стр. 232-241.