AlgART / Тексты
Проект "Рой Субъектов"
Реконструкция интеллекта
в Субъектном Рое
Новый подход к искусственному разуму
Д.М.Алиевский, Р.М.Кадушников
В настоящем проекте предлагается новый подход к проблеме создания искусственного разума. Наш подход - оптимизация под эту проблему самого процесса программных разработок. С этой целью, мы создали особую субъектную технологию разработки компьютерных программ, которая в случае ее распространения должна резко (возможно, на несколько порядков) ускорить любые разработки, приближающие появление полноценного искусственного разума.
Что такое "искусственный разум"
При традиционном понимании слова "искусственный" (по аналогии с "искусственным алмазом" или "искусственной кожей"), искусственный разум - это мыслящее существо, разум которого практически не уступает человеческому, а в чем-то, возможно, и превосходит его. Имеются в виду все аспекты человеческого разума, включая интуицию, эмоции, гениальные озарения. "Искусственность" означает, что люди, создавшие такое существо, по крайней мере в принципе представляют себе его конструкцию и способ функционирования, так же как изобретатель велосипеда знает устройство и принцип работы собранного им транспортного средства.
Мы будем придерживаться именно такого понимания термина "искусственный разум". В данном проекте мы рассматриваем проблему создания такого разума.
Необходимо сделать несколько важных замечаний по поводу проблемы искусственного разума.
1. О последствиях. Создание человечеством искусственного разума, если оно когда-нибудь произойдет, будет иметь последствия, совершенно несопоставимые по значимости со всеми предыдущими достижениями цивилизации. Человечество перестанет быть единственным разумным видом на планете, и ему придется конкурировать с новыми существами (или существом).
Более того, искуственный разум "от рождения" будет обладать колоссальным преимуществом перед человеком: он будет знать, как он устроен. Действительно, будучи по определению столь же разумен, как и люди, он сможет получить от них всю информацию о своем устройстве. Следовательно, искуственный разум сможет сам работать над собственным усовершенствованием.
Далее, в сегодняшнем компьютерном мире ускорение всех вычислительных процессов - чисто техническая проблема, решаемая за очень небольшое время. (Быстродействие компьютеров удваивается примерно каждые полтора года.) Логично предположить, что аналогичные возможности сохранятся и в том будущем, когда будет создан искусственный разум. Даже если увеличение тактовой частоты окажется невозможным из-за каких-либо физических ограничений, всегда остается "метод грубой силы": распараллеливание вычислений на произвольное число процессоров. Но это означает, что очень скоро после своего "рождения" искусственный разум сможет думать в 10, в 100, в 1000000 раз быстрее, чем человек. Поэтому время дальнейшего самоусовершенствования для искусственного разума будет на много порядков меньше, чем время его первоначального изобретения человеком. Отсюда следует, что если от рождения искусственный разум и будет в чем-то уступать человеку (по определению искусственного разума, эта разница не будет принципиальной), то очень скоро он будет превосходить человека по всем параметрам. Иначе говоря, по отношению к человеку искусственные разумные существа (или существо) окажутся сверхразумом.
Вывод: конкуренцию с искусственным разумом человечество наверняка проиграет. Конечно, конец эры человечества может и не быть трагедией (для человечества). Например, эти сверхсущества, возможно, разберутся в устройстве самого человека и трансформируют всех желающих людей в подобных себе существ. Впрочем, очевидно, любые наши суждения о поступках и дальнейшей эволюции сверхразума относятся к области чистой фантазии.
Указанный выше процесс самосовершенствования искуственного разума, весьма вероятно, окажется экспоненциальным: чем умнее будет становиться разум, тем быстрее он будет совершенствоваться. Также можно предположить, что экспоненциально будут нарастать его возможности по преобразованию окружающего мира. Поэтому вполне возможно, что акт создания искусственного разума будет сравним со взрывом сверхбомбы, причем совершенно неясны пределы, до которых распространится во Вселенной влияние этого "взрыва".
2. О целях. Очевидно, мы не можем прогнозировать все последствия создания искусственного разума. Поэтому, если браться за решение данной задачи, к ее решению следует подходить крайне ответственно - гораздо ответственнее, чем к созданию ядерного оружия. Вероятно, правильнее было бы рассматривать задачу создания искусственного разума как чисто научное исследование, цель которого - попытаться промоделировать и понять, что такое разум, чувства, интуиция, и, может быть, ответить на некоторые "вечные" вопросы - скажем, что такое "я", существует ли душа и другие. По соображениям безопасности, имеет смысл ограничить данное исследование созданием полуразумных существ, моделирующих различные аспекты разума по отдельности, а существование этих существ-моделей ограничить виртуальной реальностью.
3. О возможностях. Сразу следует оговориться, что решение поставленной задачи мы считаем невозможным в обозримом будущем.
Даже самый маленький шаг в сторону решения этой задачи был бы великим достижением человеческой науки. Пример такого шага - создание действующей модели одноклеточного организма, моделирующей все его основные функции - в том числе, способность популяции таких организмов со временем эволюционировать, породив все разнообразие современной биосферы (в предположении, что теория эволюции верна и все современные организмы действительно произошли от одноклеточных).
Необходимо заметить, что распространенное сегодня толкование термина "искусственный разум" - системы искусственного интеллекта, интеллектуальные агенты и прочее - не имеет никакого отношения к искусственному разуму в нашем понимании. Авторы подобных систем (назовем их для краткости "ИИ-системы" - системы искусственного интеллекта) идут по пути воспроизведения внешних признаков интеллекта. Человек разговаривает - значит, ИИ-системы должны общаться между собой, причем желательно на естественном языке, а то и с помощью голосовой речи. Человек занимается бизнесом - значит, ИИ-системы должны заключать сделки. Человек умеет читать и считать - то же самое делают ИИ-системы. Человек умеет радоваться и огорчаться - ИИ-системы с успехом моделируют человеческую мимику.
Очевидно, все это в принципе ничем не отличается от марионеток, которые создавали в прошлые века. Единственная разница - нынешние ИИ-системы обычно служат не для развлечения, а для замены человека в рутинных операциях.
Работа над настоящим искусственным разумом, по-видимому, должна начинаться с моделирования процессов, обеспечивающих существование низкоорганизованных животных, которые нам, людям, были бы наиболее понятны. Один из таких процессов - это зрение и распознавание зрительных образов, а также работа других органов чувств вместе с обработкой в мозгу поступающей от них информации. Даже в этой, сравнительно узкой области на сегодня сделаны лишь самые первые шаги.
Другое интересное направление - моделирование интуиции человека-математика, т.е. умения придумывать правдоподобные гипотезы на основе набора известных аксиом и теорем, а затем проверять их (доказывать или опровергать). См. [2].
Постановка задачи
Вместо собственно задачи создания искусственного разума мы ставим другую задачу, которую по отношению к данной можно назвать метазадачей. Задача эта является отчасти социальной, отчасти инженерно-программистской. А именно, мы ставим следующую цель: создать такую технологию разработки, распространения и использования программного обеспечения, которая бы по возможности минимизировала срок, необходимый для появления искусственного разума.
Мы исходим из следующей принципиальной гипотезы.
Гипотеза о достаточности научной базы. Современная научно-техническая база принципиально достаточна для создания искусственного разума. Конкретнее, разум во всех своих его аспектах может быть воплощен в виде достаточно сложной компьютерной программы или комплекса программ, причем без привлечения каких-либо принципиально новых, неизвестных сегодня идей или концепций.
Поясним данную гипотезу.
Сегодня существуют программы, реализующие, причем не хуже человека, некоторые элементы человеческого мышления: шахматные программы, системы распознавания текста, отчасти системы перевода с языка на язык, и т.д. Предположим, автор (или группа авторов) одной из таких программ получил в свое распоряжение неограниченный запас времени - миллиард лет. Допустим, все это время автор посвятит дальнейшей работе над алгоритмами, моделирующими различные аспекты человеческого разума, при этом не старея, не теряя квалификации, не забывая своих прежних достижений и органично объединяя разработанные им программы в единый комплекс. Однако, никаких новых научных открытий автор не совершает и не узнает, человеческую логику, психологию или мозг не исследует, ограничиваясь здравым смыслом и теми научными знаниями, которые есть сегодня.
Мы утверждаем: указанным способом рано или поздно будет создан полноценный искусственный разум. Мы предлагаем технологию, позволяющую реализовать процесс, аналогичный описанному (работе одного "вечного" автора в течение миллиарда лет), исходя из реальных возможностей человечества.
Гипотеза о достаточности научной базы в полном объеме может оказаться (и скорее всего окажется) неверной. Но ее можно перефразировать для любых более скромных требований - например, указанным способом, может быть, можно создать модель амебы или кошки. Тогда наша технология позволит быстрее приблизиться к созданию такой модели.
Скорость накопления интеллекта
Назовем общей скоростью накопления интеллекта количество новых алгоритмов, создаваемых в мире за единицу времени для решения прикладных задач, обычно решаемых людьми или животными - от распознавания образов и ориентировки в пространстве до выбора тактики поведения в обществе. Наша цель - увеличить на много порядков современную скорость накопления интеллекта.
Рассмотрим основные факторы, снижающие, с нашей точки зрения, общую скорость накопления интеллекта.
f1. (Главный фактор, снижающий скорость на 4-5 порядков.) Сегодня в большинстве случаев 99,999..% прикладных алгоритмов, реализуемых программистами, идентичны или очень похожи на уже реализованные кем-то алгоритмы. Стандартный способ решения задачи программистом: изучить литературу (обычно в Internet) и реализовать один из известных алгоритмов. Библиотеки существуют лишь для самых простых и для самых важных задач. Количество создаваемых в год библиотек для решения новых прикладных задач несопоставимо мало по сравнению с количеством создаваемых в год новых прикладных программ. Еще меньше количество придумываемых в год действительно новых алгоритмов; они обычно публикуются в научных журналах либо остаются коммерческой тайной крупных корпораций или правительств.
Данное явление - частный случай более общего социального эффекта: крайне низкого КПД при интеллектуальном сотрудничестве большого числа людей. В случае программных разработок этот эффект можно также выразить графиком, выражающим зависимость скорости программных разработок в группе от количества разработчиков:
Скорость разработок | ||
Число разработчиков |
Возможно, одна из причин такой зависимости - очень низкая скорость передачи логической информации между людьми по традиционным вербальным каналам (не более 10-100 байт/с) по сравнению со скоростью переработки информации в человеческом мозге (даже при распознавании простейших образов - не менее 107 байт/с). Если правильно использовать компьютерные сети, то есть шансы обойти эту причину: для компьютеров соответствующая разница в скорости гораздо меньше, причем обе скорости с развитием компьютерной техники продолжают расти.
f2. (Снижение скорости в 10-100 раз.) Большая часть лиц, имеющих собственные оригинальные идеи по поводу решения прикладных задач - ученые, инженеры, прикладные специалисты, студенты - сегодня лишены возможности запрограммировать эти идеи в виде пригодной к общему употреблению (в частности, коммерческой) программы. Для этого нужно обладать квалификацией программиста-профессионала; знания языка Бэйсик или Паскаль на уровне 50-страничной популярной брошюры недостаточно.
С другой стороны, программистские фирмы, живущие за счет производства программного обеспечения, обычно не могут заниматься реализацией интересных идей для решения новых задач. Круг задач, традиционно решаемых программистами, в основном сложился и теперь следует за развитием рынка, отчасти стихийным, отчасти определяемым политикой крупнейших фирм - производителей ПО.
f3. (Снижение скорости в 20-100 раз.) Собственно разработка алгоритма в создании коммерческой программы (а также в большинстве freeware- и shareware-программ) занимает 1-5%. Остальное приходится на пользовательский интерфейс, художественное оформление, создание справочной системы и документации, для коммерческих программ - рекламно-маркетинговую кампанию.
Субъектная технология: основные принципы
Мы предлагаем технологию разработки, распространения и использования программ, изначально разработанную и оптимизированную для преодоления указанных 3 факторов. Эту технологию мы называем субъектной.
Если указанные факторы удастся вполне преодолеть, то есть шансы повысить общую скорость программных разработок на 5-7 порядков. Возможно, этого окажется достаточно для создания искусственного разума (или, например, модели амебы или кошки) в обозримом будущем - например, в течение ближайших 10000 лет (вместо 1 миллиарда).
Как программисты, мы прежде всего предлагаем инженерно-программистскую часть технологии. Мы приглашаем специалистов к сотрудничеству для разработки социальной и экономической сторон данной технологии.
Сформулируем основные требования, которым должна удовлетворять субъектная технология.
Что касается факторов f2 и f3, здесь требования к технологии достаточно очевидны: простота используемых языков программирования и средств разработки интерфейса. Желательна также широкая распространенность и популярность этих языков и средств. Например, языком программирования мог бы служить Basic, JavaScript или Pascal, а средством разработки интерфейса - системы проектирования Web-страниц.
Чтобы преодолеть фактор f1, технология должна предусматривать активнейшее использование программами друг друга. Идеальным представляется примерно такой вариант.
Принцип Корпоративности. Любое решение какой-либо прикладной задачи в рамках субъектной технологии “от рождения” представляет собой нечто такое, что может быть непосредственно использовано для решения других задач - как процедура, опубликованная в CACM, но не как, например, дистрибутивный комплект Microsoft Office. Решение должно, по возможности, включать в себя готовые к компиляции исходные тексты для всех ключевых элементов алгоритма - это очень важно, чтобы алгоритм можно было свободно использовать в других задачах. Решение, выполненное на любом компьютере, подключенном к Internet, должно (в силу технологии) сразу стать доступным для всех компьютеров мира, подключенных к Internet - за исключением ограничений, которые может наложить автор для соблюдения своих авторских и материальных интересов. Более того, должен быть возможен автоматизированный поиск по Internet всех решений задач в субъектной технологии, удовлетворяющих некоторому набору критериев: например, поиск всех алгоритмов распознавания цифр, набранных заранее известным шрифтом, работающих на 486DX/100 со скоростью не менее 10 символов/сек и с надежностью не менее 99.7%. Тогда, очевидно, будет возможным и создание "комплексных" решений, использующих во время работы самые лучшие из существующих сегодня решений вспомогательных задач, и даже динамически подключающих неизвестный заранее набор решений с компьютеров Internet.
Если аккуратно реализовать принцип корпоративности, то, как мы считаем, фактор f1 будет почти полностью преодолен, а график роста скорости программных разработок в зависимости от числа разработчиков станет не менее чем линейным. Действительно, любой разработчик, решающий прикладную задачу, будет, в современной терминологии, автором прикладной библиотеки, которая в момент написания фактически сразу будет опубликована (доступна через Internet). Решать одни и те же задачи повторно не придется, так как всегда можно будет с помощью поисковых систем обнаружить, что где-то в Internet решение этой или близкой задачи уже есть, и его можно будет просто вызвать как процедуру. Если существующее решение не подходит, всегда можно будет (как это часто делается в программистской практике) несколько изменить исходные тексты алгоритма и скомпилировать собственный вариант решения, тем самым добавив в Internet еще одно решение задачи.
Решение прикладной задачи, оформленное в соответствии с принципом корпоративности, мы будем называть субъектом.
Понятие Роя и реконструкция интеллекта
Основная часть предлагаемого нами ускорения процесса создания искусственного разума связана с вовлечением в эту задачу очень большого количества людей. В результате получаемая модель разума приобретает некоторые особенности.
Каждый компонент модели (субъект) неразумен - не более разумен, чем самая обычная компьютерная программа. Элементы разума могут появиться только у совокупности всех субъектов - за счет огромного количества заложенных в них алгоритмических решений и возможности в реальном времени выбирать среди них наиболее подходящее. В этом совокупность субъектов напоминает пчелиный рой или муравейник - как известно, это наиболее "высокоинтеллектуальные" биологические образования после человека и высших позвоночных, собранные, однако, из весьма примитивных организмов. Поэтому совокупность субъектов в Internet мы называем Субъектным Роем.
Основной способ развития Субъектного Роя - это реализация отдельными людьми алгоритмов, моделирующих некоторые частные особенности мышления. Можно сказать, что каждый человек - участник данного проекта конструирует в рамках Роя некоторый набор своих "двойников" - субъектов, повторяющих некоторые мыслительные способности этого человека: например, знание, как решать определенный класс задач распознавания образов, или как нарисовать красивую картину, или как доказывать некоторые теоретико-числовые теоремы, или как переводить с английского языка на немецкий. Поэтому для процесса наполнения Субъектного Роя мы предлагаем название реконструкция человеческого интеллекта, а получаемые в результате модели разума - реконструктивным разумом.
1995–1996 гг.
Литература
1. Пойа. Математическое открытие. - М.: Наука, 1976.
2. Зенкин А. А. Когнитивная компьютерная графика. - М.: Наука, 1991.