Как стать автором
Обновить
127.43
Рейтинг
SkillFactory
Школа Computer Science. Скидка 10% по коду HABR

Стаи рыб следуют алгоритмам композиционного обучения

Блог компании SkillFactoryМашинное обучениеЧитальный залНаучно-популярноеИскусственный интеллект
Перевод
Автор оригинала: Matt Sosna

Группа животных — это больше, чем сумма всех членов группы. Поведение одинокого муравья трудно назвать осмысленным, но их колония способна построить прочную и хорошо вентилируемую муравьиную кучу. Одинокий журавль может легко заблудиться в небе, но стая журавлей безошибочно выбирает правильный путь миграции. Во многих сложных когнитивных процессах мы регулярно наблюдаем отличия в поведении группы от поведения её отдельных членов. Как это возможно? Даже автор статьи, кандидат наук, не может понять, как примитивные рыбы — золотые нотемигонусы, абсолютно безнадёжные, безмозглые существа, собираясь в стаи, способны эффективно уклоняться от хищников. Автор прочитал десятки статей и учебников, проводил эксперименты, анализировал данные и консультировался с теоретиками, пытаясь понять, почему, когда речь идёт о рыбах, 1 плюс 1 получается не 2, а 3.

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


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

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

Машина

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

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

Одним из популярных композиционных методов является алгоритм случайного леса — модель, состоящая из десятков и даже сотен деревьев поиска решений. Способов объединения деревьев в группы (лес) очень много, но суть процесса всегда одна: каждое дерево независимо тренируется на бутстрэп-наблюдениях и случайных наборах признаков. (Если для каждого дерева использовать одни и те же данные, каждый раз будет создаваться одно и то же дерево!)

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

Теория

Повышенную точность модели случайного леса можно назвать коллективным интеллектом. Этот термин вошёл в обиход в 1906 году после того, как на ярмарке скота в Плимуте, штат Массачусетс, провели конкурс на угадывание веса быка. Угадать вес пытались почти 800 фермеров. Позже статистик сэр Фрэнсис Гальтон проанализировал все оценки и пришёл к выводу, что, несмотря на то что отдельные оценки сильно отличались друг от друга, среднее значение оценок было более точным, чем любая отдельно взятая оценка. Гальтон изложил свою теорию в знаменитом труде Vox Populi.

Для того чтобы коллективный интеллект работал, необходимо соблюдение двух основных требований. Первое требование — люди должны получать разную информацию. Если у всех будет одинаковая входная информация, решение группы не будет более точным, чем решение отдельного человека. Решение группы может быть даже менее точным, чем решения отдельных людей, так как некоторые члены группы под воздействием эффекта эхо-камеры могут выдавать неверные прогнозы[1].

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

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

Рыбы

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

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

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

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

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

Первый класс алгоритмов — алгоритмы усиления (бустинга) композиционного обучения. В методе случайного леса используется бэггинг, или бутстрэп-агрегирование, — метаалгоритм композиционного обучения, предназначенный для улучшения стабильности и точности алгоритмов машинного обучения, обеспечивающий параллельное обучение каждой модели независимо друг от друга. С другой стороны, такие методы, как AdaBoost и XGBoost, тренируют модели последовательно, другими словами, более поздние модели обучаются на ошибках более ранних. Рыбы, собирающиеся в стаи, быстро обнаруживают хищников благодаря ошибкам других рыб, и рыбы, понимающие ориентиры внешней среды, обычно определяют направление перемещения группы.

Второй класс алгоритмов базируется на предположении о том, что стаи рыб действуют как крупная нейронная сеть. (От биологических нейронов до искусственных нейронных сетей и стай рыб... мы прошли полный круг!) Уходя от хищников, многие виды рыб проявляют стартл-рефлекс — сверхбыстрый рефлекторный рывок в сторону от тревожного раздражителя[2].

Этот рефлекс приводит к каскадному срабатыванию стартл-рефлекса у других рыб, причём скорость такого срабатывания превышает скорость движения атакующего хищника.

Каскад стартл-рефлексов. 
Из научной работы Розенталя и других учёных 2015 года: https://www.pnas.org/content/pnas/early/2015/03/24/1420068112.full.pdf?with-ds=yes
Каскад стартл-рефлексов. Из научной работы Розенталя и других учёных 2015 года: https://www.pnas.org/content/pnas/early/2015/03/24/1420068112.full.pdf?with-ds=yes

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

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

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

Решения принимает нейронная сеть из нейронных сетей
Решения принимает нейронная сеть из нейронных сетей

Заключение

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

Хотите узнать больше? Советуем почитать, как бабуины принимают демократические решения о передвижении, как у диких птиц из поколения в поколение сохраняется инновационное поведение [значение понятия можно прочитать здесь, этой ссылки в оригинальной статье нет], как слизистые грибы помогли заново создать карту токийского метро, оптимизировав распределение ресурсов. Чтобы узнать о последних исследованиях в области коллективного поведения, также рекомендуем ознакомиться с интернет-ресурсом Отдела коллективного поведения Института поведения животных им. Макса Планка.

Сноски

1. Теория
Если вы никогда не встречаете иные точки зрения в Интернете или такие иные точки зрения представлены как точки зрения идиота, то, скорее всего, вы находитесь в эхо-камере. Такое происходит довольно часто, поскольку социальные сети, как ни странно, имеют самоизолирующий эффект. Для более объективного взгляда на мир необходимо знакомиться с различными точками зрения.

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

Эта статья — прекрасное напоминание о том, что многие решения в науке и технике позаимствованы у природы, либо просто существуют в ней уже очень давно. Если вы хотите экспериментировать с моделями машинного и глубокого обучения, повторяя и совершенствуя находки природы, находить новое в комбинациях разнообразных подходов к искусственному интеллекту, то вы можете обратить внимание на наш курс "Machine Learning и Deep Learning", партнёром которого является компания NVIDIA — лидер в области вычислений для ИИ.

Узнайте, как прокачаться и в других специальностях или освоить их с нуля:

Другие профессии и курсы
Теги:skillfactoryнаукарыбыколлективный интеллектмашинное обучениеалгоритмыбиологияповедениестаиприрода
Хабы: Блог компании SkillFactory Машинное обучение Читальный зал Научно-популярное Искусственный интеллект
Всего голосов 13: ↑11 и ↓2+9
Просмотры3.3K
Комментарии Комментарии 13

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
Местоположение
Россия
Сайт
www.skillfactory.ru
Численность
201–500 человек
Дата регистрации
Представитель
Skillfactory School

Блог на Хабре