Как создать «разум» для робота
Создаем послойно
Создание искусственного интеллекта действительно интересная задача. Как же это сделать? Разные типы информации обрабатываются в разных участках мозга, но неким образом сводятся в рабочее целое. С этой проблемой сталкиваются создатели роботов и систем ИИ. Простейший вариант «мозга» робота довольно примитивен: это электронная схема, которая заставляет робота беспорядочно двигаться. Следующий этап — наделить его способностью реагировать на происходящее кругом.
На практике строить простые машины, которые воспринимают мир и реагируют на него так же, как простейшие формы жизни, несложно. Например, схема такого робота при регистрации громкого звука может реверсировать электродвигатель. Другой робот останавливается при наступлении темноты. Третий, оснащенный солнечной батареей, может двигаться в направлении яркого света, чтобы перезарядиться (то есть «поесть»). Роботы могут регистрировать присутствие других роботов и стараться держаться ближе друг к другу.
Конечно же, у робота иное представление о мире, которое зависит от типа сенсоров. Например, мы можем построить робота, который «видит» благодаря эхолокатору, подобно летучей мыши, издающей ультразвук, слышит эхо от окружающих предметов и изменяет направление полета, огибая объекты на своем пути.
Если взять все эти компоненты, каждый из которых представляет собой очень простой способ реагирования на мир, и объединить их, то возникнут интересные и более сложные проявления: например, роботы, которые ищут источник энергии, но прячутся в темном месте при первом намеке на опасность. Каждый компонент создается отдельно, а потом мы объединяем их в более сложное целое. Это метод декомпозиции, используемый в вычислительном мышлении, который применяется при конструировании роботов с целью получить комплексное поведение, как у животных.
Робототехник Родни Брукспридумал простой способ осуществления этой идеи. Его предикативная архитектурапохожа на слоеный пирог. Каждый слой при активации вызывает разное поведение — например, бесцельное перемещение или реагирование на свет. Действия, которые запускаются нижними слоями, включаются в более высокий слой (используются или поглощаются) при активации поведения, соответствующего этому слою. Это вариант абстракциив сочетании с декомпозицией.
Более сложные системы контроля над роботами (верхние слои) могут обеспечить некое элементарное внутреннее представление о мире. Например, они «знают» (используя алгоритм для сопоставления с образцом), какую последовательность действий и в каком порядке стоит запустить, когда в мире робота возникает конкретная ситуация — например, раздался сигнал тревоги.
Иногда с системой ИИ или роботизированной системой случается непредвиденное и она начинает вести себя иначе, чем запланировал создатель. Серия простых действий, запущенных в определенном порядке, приводит к возникновению неопределенного поведения:роботы начинают совершать не предусмотренные для них действия. Например, программа Boids имитирует простые правила полета птиц — демонстрирует движение примерном в том же направлении, что и любые птицы рядом, но не допускает сближения с соседями. Благодаря этим простым правилам получается элегантная имитация полета настоящей птичьей стаи.
Естественно отобранные
Итак, мы посмотрели, как непосредственно создают роботов с разумным поведением. Есть и другой способ: создать искусственный разум с помощью процесса, напоминающего эволюцию путем естественного обора. Естественный отбор основан на выживании наиболее приспособленных, как если бы каждое поколение детей участвовало в гонке на выживание. Только если они будут успешны в гонке на выживание, они вырастут и смогут завести собственных детей (рис. 41). Родители передают детям качества, которые их самих привели к успеху, но из-за скрещивания и мутаций дети не являются точной копией родителей, и в гонке на выживание они проявляют себя лучше или хуже. Дети соревнуются друг с другом. В каждом поколении выживают только те, кто успешно выступает в гонке, и постепенно популяция становится все больше приспособленной к выживанию. Конечно же, в реальной жизни это скорее непрерывный процесс, а не серия раундов.
Вычислительное моделированиеэтого естественного процесса привело к появлению новых способов производить вычисления и писать программы. Создается начальное количество возможных вариантов, и каждый из них проходит испытание на годность,обычно с помощью компьютерной симуляции. Затем отдельные решения ранжируются по результатам. Самые эффективные сохраняются, но потом в них случайным образом вносят простые изменения — например, обменивают их свойства на качества других «выживших» и таким образом получают «детей» следующего поколения. Остальные варианты отбрасываются. Так продолжается в течение многих тысяч поколений. Компьютер снова и снова тестирует варианты, пока не появляется чемпион, который гораздо лучше справляется с работой, чем те, от кого он произошел.
Читать дальше
Конец ознакомительного отрывка
Купить книгу