пятница, 22 августа 2008 г.

Искусственный интеллект. Интегральная теория

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

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

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

Более того, в статье Диалог с роботом я рассказывал о подходах к организации общения между роботом и человеком. Все эти подходы, особенно наиболее удачные, очень далеки от искусственного интеллекта... В этой же статье я приводил ссылки на негативные высказывания о современном ИИ от Артемия Лебедева, и Андрея Плахова.

А некоторые, как например Д.В. Евстигнеев, автор интеллектуального мобильного робота (на его проект я не раз ссылался из блога), пишут в самом начале своих работ, цитирую: «Существует ошибочное представление о том, что интеллектуальный робот - это робот с искусственным разумом, сравнимым с интеллектом человека. Однако поклонники фильма "Терминатор" будут разочарованы - ни о каком искусственном разуме речи не идет...» И опускают понятие интеллектуального робота "ниже плинтуса", объясняя это "сложностью в реализации".

Автор "интегральной теории" утверждает, что за 50 лет никакого движения в области создания искусственного интеллекта не произошло, и ничего более серьезного, чем знаменитая "Элиза" и ее аналоги, создано не было. Таким образом, с практической точки зрения подтверждено, что прогресса в области не наблюдается. В принципе, факт, я бы сказал, достаточно логичный и оспаривать его я бы не стал.

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

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

Между прочим, читая "интегральную теорию", я впервые увидел достойное описание принципа работы нейронных сетей, генетических алгоритмов и им подобных:

Программа A меняет данные в некоторой области B. Программа C интерпретирует содержимое области B не как данные, а как набор исполняемых кодов (или как их чаще называют - правил) - возникает программа D. Имеется также обратная связь между результатами выполнения программы D и программой A. В результате чего появляется возможность направленного изменения области B.

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

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

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

Согласитесь, мысль очень интересная, как и сам материал предлагаемой "интегральной теории".

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

Интегральная теория базируется на теории объектов, вкратце которую можно объяснить следующими положениями (даю без доказательств и расшифровок, подробнее читайте в первоисточнике):

  • Каждому рассматриваемому физическому телу, процессу или явлению природы сопоставляется понятие объекта
  • Объект Y обладает более высоким порядком чем объект X, если при рассмотрении замкнутой системы, состоящей только из объектов X и Y, выясняется что при помощи объекта Y можно управлять объектом X
  • Объект может управлять другим объектом, если он может изменять его свойства.
  • Свойствами объекта являются признаки его отличия от других объектов
  • Обычно объектом 1-го порядка является в реальном мире некоторый материальный предмет. Объект 1-го порядка может быть описан как n-мерная переменная.
  • Объекту 2-го порядка соответствует в реальном мире некоторый процесс преобразования объекта 1-го порядка из одного состояния в другое. Этот тип объектов может быть описан с помощью функции зависимости одной многомерной переменной от другой.

Здесь же дается понятие интеллекта. «ИНТЕЛЛЕКТ - это свойство, присущее объекту 3-го порядка и отсутствующее в объекте 2-го порядка (т.е. по отношению к нему оно будет являться фундаментальным свойством). Соответственно, ИИ - искусственно созданный объект 3-го порядка.»

Из представленных выше положений теории объектов очевидно, что объекты 3-го порядка способны изменять свойства объектов 2-го порядка, а значит, по сути, генерировать новые зависимости, новые алгоритмы. Более того, входными данными для объекта 3-го порядка исходя из теории могут являться только объекты 2-го порядка: на вход интеллект получает зависимости (алгоритмы).

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

Вообще, сразу скажу. Текст для прочтения сложен. Для понимания еще сложнее. Многие скажут - "слишкам многа букаф :)". Даже у меня статья немаленькая. А в первоисточнике букв больше во много-много раз. Но ради такой серьезной цели - это еще даже мало!

Объяснить в маленькой статье весь смысл текста, мне, бесспорно, не удастся. Читайте сами. Введение мне еще удалось. Но доказательства, рассуждения, примеры - пожалуй, пропущу. Приведу лишь самое главное - краткое описание общего принципа работы интеллектуальных объектов, или объектов 3-го порядка, принцип, каким я его понял...

Итак, главная функция объекта 3-го порядка - это генерация объектов второго порядка. Генерация принципиально новых алгоритмов из существующих наборов элементарных действий. Как может осуществляться такая генерация? Есть три способа:

  1. перебор
  2. по аналогии
  3. с помощью логического вывода

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

  1. Пусть есть некоторые данные, обладающие определенными свойствами.
  2. Поставим цель - преобразовать этот набор данных в некоторый другой, т.н. "целевой". Тогда алгоритм преобразования будет сгенерированным объектом второго уровня, который должен получиться в итоге.
  3. Естественно, что в случае алгоритмирования мы всегда имеем конечный набор элементарных операций с данными. Методом перебора пытаемся применить эти операции к исходному набору данных, и повторяем перебор до тех пор, пока получающийся набор данных не будет соответствовать "целевому".
  4. Список и порядок операций в том случае, если задача была решена успешно - и будет сгенерированным алгоритмом.

Метод перебора не является оптимальным. Далее автор расширяет его, подключает память, а после памяти - еще и логический вывод. В общем, почитайте, рекомендую. И не забудьте заглянуть в FAQ на сайте! Очень и очень полезно ознакомиться...

P.S. Говорят, интегральная теория появилась давненько. Говорят - это много воды и мало дельных мыслей. Говорят, автор противоречит сам себе. Говорят много чего. А все равно в России умных остается 10% населения... Абсолютно любые теории можно оспорить. И эта - тоже не идеальна. Сходу можно указать сразу несколько несоответствий, противоречий... Но я не буду этого делать, т.к. все-таки автор, судя по всему, неглупый человек. И корпел над этой работой много много много дней. А я ее всего лишь прочитал. И очень может быть, в ней есть существенная доля истины... До скорых встреч!

1 комментарий:

  1. Спасибо за наводку! Нашел немало далеко не глупых идей.

    ОтветитьУдалить

Внимание! Реклама и прочий спам будут беспощадно удаляться.