Нелинейная динамика и синергетика. Искусственный интеллект
Искусственный интеллект
Человечество накопило большой массив задач, которые компьютеры умеют эффективно решать. Можно рассчитать параметры ядерного взрыва, можно построить модель космологического расширения Вселенной, можно быстро найти решение какого-нибудь важного уравнения, составить долгосрочный экономический прогноз и многое-многое другое. При этом одних задач достаточно настольного компьютера, для решения других — требуется мощный суперкомпьютер. Но как нам поступить, если мы хотим "собрать" универсальный вычислитель, который способен один решать задачи разных уровней сложности?
Предположим, что мы делаем не вычислитель, быстро решающий уравнения — наша цель создать "искусственное мыслящее существо", которое в условиях неопределенностей способно распознать реальную ситуацию, выбрать адекватную ей задачу и решить ее. Например, среди всего реализованного набора задач компьютер сам принимает решение о выборе блока, ответственного за решение определенной задачи, который отвечает на запрос: "Да, я распознаю ситуацию, я контролирую её, это моя цель, с ней следует поступать так или этак в зависимости от развития ситуации и т. п.".
Такие системы, которые работают в ситуациях, описываемых в терминах нечеткой логики, плохо "вписываются" в традиционную концепцию архитектуры компьютера, в которой операции обычно выполняются последовательно, данные загружаются последовательно, для выполнении того или иного действия надо последовательно пройти некоторые шаги А, Б, В, …, задаваемые алгоритмом решения. При достаточно большом количестве шагов и громадных объемах данных, зачастую решаемая задача перестает быть актуальной.
Что можно ждать в перспективе? Простое решение, по которому сейчас идут практически все разработчики вычислительных систем — собрать всевозможные вычислительные блоки вместе и наращивать их вычислительную мощность — в сегодняшних условиях уже наталкивается на серьёзные проблемы. Это одновременная доставка и структуризация огромных объёмов информации, выбор "ведущего" блока, синхронизация работы многоядерных систем, оптимизация энергетических затрат на производство вычислений, отвод тепла от процессорных блоков и многие другие проблемы.
Наверное, когда-то мы сможем собрать блоки (микросхемы), решающие выбранные нами задачи (желательно все), в "клубок" закрученной спирали, как в молекулах ДНК в клетках биологического организма рис. 2.1), которые одновременно решают огромное количество задач (аналоги вычислительных функций).
Как могут решаться важные для универсального вычислителя задачи с доступом к памяти, с параллелизмом, данными? Гипотетически можно представить, что химическое или электромагнитное воздействие (например, луч света или другой вид излучения) на такой "клубок" может одновременно воздействовать сразу на все блоки, и каждый из них одновременно с другими "примеряет" поступающую информацию "на себя". Традиционная альтернатива параллелизму — перебирать блоки по очереди и смотреть, кому и что лучше подходит. В том блоке, который распознал адекватность текущей информации его задаче и которому информация "подошла" лучше остальных, можно сопоставить возникновение состояния некоторого информационного резонанса.
Рассмотрим пример интеллектуальной системы, работающей на перечисленных выше принципах. Представим себе робота, взаимодействующего с реальным миром через стандартные устройства — датчики, видео и фотокамеры, микрофоны, радиолокаторы, сервомеханизмы. Центральный компьютер робота состоит из тысяч устройств (блоки из "моделей"), обрабатывающих наборы данных, поступающих из внешнего мира, и создающих внутреннее представление (отражение) реального мира в "мозгу" робота. Это представление по очевидным причинам будет создаваться с помехами и должно постоянно корректироваться.
Центральный компьютер использует созданное представление мира для расчета базисной стратегии и оптимальных траекторий перемещения, позволяющих избежать опасностей и выполнить поставленное задание. Функционирование робота в подобных условиях можно представить как одновременное выполнение совокупности параллельных задач, контролируемых разными устройствами в центральном компьютере. Следует отметить, что если резонансные устройства не конкурируют за общий ресурс (видеокамеру, исполнительное устройство и т. д.), то нет необходимости выбирать из них главное.
Работа всех устройств робота (в том числе и вычислительных) регулируется вектором параметров, размерность которого может быть очень большой. Поиск оптимальных значений этих параметров возможен только после постановки задачи, включающей в себя определение функционала качества. В этом случае функционал качества будет оцениваться центральным компьютером. Основные возможные критерии — соответствие внутренней картины мира реальным условиям (число коррекций), число и качество информационных резонансов и т. д. Настройку параметра с высокой размерностью удобнее всего производить рандомизированным алгоритмом стохастической оптимизации [Граничин О. Н. , Поляк Б. Т., 2003], который хорошо ложится на логику квантовых вычислительных устройств и по многим параметрам предпочтительнее других подобных алгоритмов для оптимизации систем в реальном времени.
Ещё один, более конкретный пример. Предположим, что у нас есть набор устройств, способных распознавать определенные виды изображений (каждое из устройств настроено на какой-либо конкретный объект). Все эти устройства получают в реальном времени изображение с некоторой цифровой камеры. В каждый момент времени только одно из устройств, объявившее себя "главным", может управлять камерой. Существует также одно устройство, управляющее камерой в случаях, когда никто не объявил себя главным. Оно может действовать по какому-нибудь простому алгоритму — например, осматриваться вкруговую или сканировать некоторый важный участок, в котором ожидается появление объектов. Картинка с камеры постоянно подается на входы всех распознавателей, и те в свою очередь пытаются распознать в ней свой объект.
Результатом их работы является степень совпадения в процентах (например, объект является движущимся животным или человеком с вероятностью 75%). Под информационным резонансом естественно понимать превышение "степени достоверности" у какого-то из устройств заранее установленного порога (например, 90%), в результате это устройство объявляет себя главным и берет на себя управление камерой для более детального изучения объекта или слежения за ним.
Резюмируя сказанное выше, можно заключить, что рост мощности "классических" вычислительных устройств и постоянное расширение классов научных и прикладных задач, усложнение этих задач, проблемы с вводом и обработкой данных в суперкомпьютерах с неизбежностью приведут к смене парадигмы вычислений. Из этого с неизбежностью следует необходимость поиска путей создания принципиально новых вычислительных систем, основанных на гибридных стохастических устройствах.