Однако по мере продвижения в деле создания всё более мощных вычислительных систем становилось ясно, что разработать интеллект in silico так просто не получится, и исследователей в этом отношении ждало такое же разочарование, как создателей различных механических кукол (автоматонов), которым казалось, что ещё чуть-чуть – и их куклы обретут разум. Как не получилось с механикой, так же не получилось и с электроникой. Это способствовало вовлечению в исследования нейрофизиологов и других специалистов в части анатомии, физиологии и других аспектов функционирования нервной системы и других регуляторных систем организмов человека и животных.
И вот в 1943 г. американские нейрофизиолог Уоррен Мак-Каллок и математик Уолтер Питтс публикуют статью, которая открыла миру новую вычислительную модель, основанную на понятии искусственного нейрона. Да, эта модель была довольно упрощённой и не принимала во внимание большое количество свойств органических нейронов, однако она позволяла производить вычисления. Эта статья фактически открыла широчайшее направление исследований, которое сегодня превалирует в области искусственного интеллекта – искусственные нейронные сети. Вслед за У. МакКалоком и У. Питтсом следует отметить таких учёных, как канадский физиолог Дональд Хебб, который описал принципы обучения искусственного нейрона (он предложил первый работающий алгоритм обучения искусственных нейронных сетей), а также американский нейрофизиолог Фрэнк Розенблатт, который разработал на искусственных нейронах устройство, моделирующее процесс восприятия, – перцептрон.
Но всё, как обычно, оказалось не таким простым, как казалось. Несмотря на то что исследователям удалось смоделировать один нейрон и составить из таких моделей нейронную сеть, сознания в ней так и не зародилось. С одной стороны, это было связано с тем, что на тех вычислительных мощностях, которые были доступны учёным в середине XX века, можно было смоделировать нейронную сеть, состоящую из пары сотен нейронов и нескольких слоёв. Такой объём совсем не соответствует десяткам миллиардов нейронов в головном мозге человека с сотнями тысяч связей для каждого нейрона. С другой стороны, становилось понятно, что «карта не является местностью», так что ждать самозарождения сознания в нейронной сети, даже если она будет очень сложной, слишком странно. Поэтому исследователи обратились к такой науке, как психология.
Одним из первых учёных, кто обратил внимание на этот аспект искусственного интеллекта и его отношения к человеческому разуму, был русский учёный-медик и кибернетик Николай Михайлович Амосов. В ряду его обширной библиографии есть такие знаковые работы, как «Искусственный разум», «Автоматы и разумное поведение» и «Алгоритмы разума». Несмотря на глубокую степень проработки ряда важнейших вопросов, в этих работах всё так же остаётся нераскрытым вопрос о природе сознания. И получается довольно парадоксальная ситуация. Есть практически полное понимание того, как работает нейрон на уровне клетки и субклеточных структур вплоть до биохимических реакций и метаболических путей преобразования веществ, что фактически и эмулирует вычислительные процессы в рамках одной клетки. Также есть понимание, но уже не такое целостное, того, как работают нейронные сети. А ещё есть понимание психологии человека, его поведения и высших когнитивных и интеллектуальных функций. Это понимание ещё менее глубокое, но есть множество операционных гипотез, которые позволяют описывать, объяснять и предсказывать. Но при этом нет никакого понимания того, что находится посередине. Каким образом биохимические реакции нейрона и электрохимические процессы в нейронных сетях приводят к возникновению сознания, интеллекта и разума? Ответа на этот вопрос до сих пор нет. И в итоге получается, что психология – это попытки «дизассемблировать» высшую психологическую деятельность центральной нервной системы человека, но они отвязаны от базовых химических и физических процессов.
Наконец, учёные задумались и о таком важном аспекте интеллектуальной деятельности, как «коллективный интеллект». Само человеческое общество в целом часто показывает более высокий уровень интеллектуальной деятельности, чем каждый его отдельный представитель. Ведь многие сложные научные концепции и технические объекты могут быть изобретены и разработаны исключительно в рамках объединения усилий разноплановых специалистов. Однако не только человеческое общество показывает подобный паттерн поведения. Он виден и в жизни, например, общественных насекомых, когда каждая отдельная особь, вообще не имеющая и тени разума, делает вклад в поведение своего «суперорганизма», который кажется вполне интеллектуальным. Муравьи и пчёлы – это вершина эволюции насекомых на Земле. Эти наблюдения натолкнули исследователей в области искусственного интеллекта на идеи о «роевой модели интеллекта» в рамках так называемых многоагентных систем. Это – одно из самых быстро развивающихся сегодня направлений науки и техники. Здесь сложно назвать какую-либо ключевую личность, поскольку тема возникла совсем недавно. Но эта тема очень горячая и ещё долго будет оставаться на острие научного поиска.
* * *Итак, мы рассмотрели большую часть научных направлений, которые лежат в основе искусственного интеллекта. Это, можно сказать, его базис и научные и технологические предтечи, предпосылки. Когда же родилось само направление исследований, которое назвали «искусственный интеллект»? Для ответа на этот вопрос необходимо обратиться к работам философов и практиков искусственного интеллекта Марвина Мински и Джона Маккарти. Второй так вообще является автором самого термина «искусственный интеллект» (а кроме того, он разработал язык программирования LISPи является одним из основоположников функционального программирования). Эти учёные основали в 1959 г. Лабораторию информатики и искусственного интеллекта в рамках Массачусетского технологического института, и это была первая научная лаборатория, которая занималась данной проблемой.
Именно Джон Маккарти сформулировал основополагающие принципы искусственного интеллекта, определив то, что потом было названо «чистым подходом», или «нисходящим искусственным интеллектом», и выразилось в гипотезе Ньюэлла-Саймона о том, что осмысленные действия можно выполнять только при наличии в некоторой системе механизма символьных вычислений, а сами такие символьные вычисления являются необходимым условием наличия в этой системе интеллекта. Другими словами, подход Джона Маккарти выражался в том, что системы искусственного интеллекта должны имитировать высокоуровневые психологические процессы разумного существа, такие как логическое мышление, логический вывод, речь, творчество и т. д.
С другой стороны, его друг и коллега Марвин Мински сформулировал совершенно противоположное определение искусственного интеллекта, которое получило наименование «грязного подхода», или «восходящего искусственного интеллекта». В основе этой парадигмы лежит попытка моделирования естественных процессов, происходящих в самой природе человека. В первую очередь это, конечно же, моделирование нейросетевых процессов в разных аспектах. Наиболее широко проявившейся технологией в рамках грязного подхода стали искусственные нейронные сети, которые моделируют разные процессы человеческого разума на логическом уровне. Можно было бы попробовать смоделировать биохимический уровень, однако для этого не хватает вычислительных мощностей даже сегодня, не говоря уже про те давние времена. Другой известной технологией являются различные генетические и эволюционные методы решения задач. Но в целом этот подход не является «искусственным интеллектом» в том понимании Джона Маккарти, как он определил данный термин.
При этом необходимо понимать, что первоначально предназначением той междисциплинарной области исследований, которая получила название «искусственный интеллект», было моделирование когнитивных функций человека для их исследования на модели, чтобы понять природу интеллекта, разума и сознания человека. Другими словами, искусственный интеллект первоначально рассматривался как довольно фундаментальная область исследований, и только через какое-то время появилась задача по практическому применению наработок, которая нашла своё отражение в создании большого количества искусственных систем, решающих задачи, традиционно относившиеся к прерогативе человека.
Фактически две парадигмы, описанные выше, лежат в основе всякого подхода к разработке искусственного интеллекта. На сегодняшний день таких подходов выделяют семь:
1) интуитивный;
2) логический;
3) символьный;
4) структурный;
5) эволюционный;
6) квазибиологический;
7) агентный.
Надо отметить, что агентный подход к разработке искусственного интеллекта чаще всего рассматривается в рамках так называемой гибридной парадигмы, которая представляет собой смесь нисходящей и восходящей парадигм, берет из них лучшее и старается нивелировать отрицательные стороны. Гибридная парадигма и агентный подход будут рассмотрены в самом конце этой главы.
Интересно то, что в рамках искусственного интеллекта, который, как уже было отмечено, является междисциплинарным научным направлением исследований, имеется ряд задач, которые решаются методами всех или некоторых перечисленных подходов. В частности, к таким задачам традиционно относят:
• поиск информации;
• обработка естественного языка;
• представление знаний;
• машинное обучение;
• распознавание образов;
• интеллектуальный анализ данных, или «дата-майнинг»;
• обработка НЕ-факторов знания;
• принятие решений;
• робототехника;
• роевой интеллект.
Нельзя сказать, что это полный и консистентный список задач, к тому же некоторые из представленных задач в какой-то части пересекаются. Тем не менее это хороший список, являющийся анкером, от которого можно отталкиваться при изучении подходов и методов искусственного интеллекта. Другие исследователи могут предлагать иной список и классификацию задач, но далее в этой книге будет рассматриваться решение именно этих задач разными методами искусственного интеллекта, составляющими те или иные подходы в рамках одной из трёх парадигм.
Что интересно, если попытаться расположить в матрице подходы и парадигмы в строках, а решаемые задачи в столбцах, то получится своеобразная «периодическая система технологий искусственного интеллекта», в ячейках которой будут перечислены различные методы конкретного подхода для решения конкретной задачи. Вот так может выглядеть такая матрица.
Периодическая система технологий искусственного интеллекта
Далее в этой книге во второй главе описано большинство представленных методов решения типовых задач искусственного интеллекта. Ну а пока рассмотрим каждый из перечисленных подходов к построению искусственных интеллектуальных систем подробнее.
Интуитивный подход к искусственному интеллекту был предложен Аланом Тьюрингом в своей ставшей уже знаменитой статье «Вычислительные машины и разум», опубликованной в 1950 г. В ней он предложил процедуру, которая, по его мнению, должна определить на интуитивном уровне, обладает некоторая система интеллектом или нет. Впоследствии эта процедура получила наименование «тест Тьюринга», подвергалась многочисленной критике, была расширена для систем с богатым набором сенсоров и, в общем, дожила до наших дней в качестве вполне себе операционной процедуры. Тем не менее сам подход не является конструктивным, поскольку Тьюринг нигде не говорил о том, как построить интеллектуальную систему.
Честно говоря, сам Тьюринг изложил свой тест немного путано (да ещё и в нескольких вариантах), так что сегодня исследователи ломают копья на тему того, каким образом интеллектуальная система должна проходить данный тест. Но большинство исследователей сходится в одном: прохождение системой теста Тьюринга – необходимый фактор для того, чтобы признать за системой наличие интеллекта, но отнюдь не достаточный. Впрочем, и с этим утверждением многие будут спорить, так как сама природа человеческого интеллекта до сих пор не ясна, потому и бессмысленна разработка какого-либо теста для проверки на наличие интеллекта, «похожего на человеческий». Тем более что основная критика интуитивного подхода заключается в том, что моделирование естественного интеллекта не является единственной возможностью создания интеллектуальной системы. Искусственный интеллект может быть построен на совершенно иных принципах, как это ранее бывало со многими иными изобретениями (колесо для передвижения, реактивная тяга для полёта по воздуху, радиоволны для систем связи и т. д.).
Тем не менее, несмотря на то что тест Тьюринга и интуитивный подход в целом не могут считаться серьёзными инструментами в вопросе разработки искусственного интеллекта, сам по себе тест Тьюринга позволяет определить тот минимальный набор технологий и решаемых задач, которые должна обеспечивать система, чтобы считаться интеллектуальной. Кратко перечислим их.
1. Обработка естественного языка: интеллектуальная система должна уметь общаться с человеком на естественном языке, воспринимая все его неоднозначности, неопределённости и умолчания.
2. Представление знаний: в рамках искусственного интеллекта должны быть представлены как общие, так и специальные знания, при этом система должна постоянно обучаться и пополнять свою базу знаний, в том числе и в процессе диалога с человеком.
3. Логический вывод: используя знания и получаемые на вход запросы от человека, интеллектуальная система должна осуществлять правдоподобный логический вывод, который позволяет сформировать ответ на том же естественном языке. 4. Машинное обучение: система искусственного интеллекта должна быть адаптивной и приспосабливаться к меняющейся ситуации в общении, используя имеющиеся у неё знания в качестве шаблонов и применяя их к схожим ситуациям и, само собой разумеется, актуализируя по результатам свои знания об окружающей среде.
5. Дополнительные сенсоры и исполнительные устройства используются в так называемом «полном тесте Тьюринга», в котором система искусственного интеллекта должна действовать в естественной среде обитания человека, воспринимая её при помощи таких же датчиков, какие есть у человека (видеокамеры, аудиосенсоры, газоанализаторы и др.), и воздействуя на среду при помощи разного рода манипуляторов.
Перечисленное уже наводит на размышления о том, что тест Тьюринга направлен на выявление того, что искусственный интеллект должен успешно «мимикрировать» под человека, хотя для наличия интеллектуальных способностей это совершенно не требуется. Ни одна из перечисленных технологий сама по себе не необходима для того, чтобы считать искусственный объект интеллектуальным. Но в целом наличие этих пяти пунктов с прохождением полного теста Тьюринга позволяет говорить о том, что система может иметь интеллект, похожий на человеческий.
Логический подход основывается на формальной логике. Ведь ещё древнегреческий философ Аристотель сделал успешную попытку формального описания законов человеческого мышления. Сложно сказать, насколько эти законы универсальны, ведь кроме человеческого мышления у нас нет никаких иных примеров, но общее осмысление данного вопроса подсказывает, что формальная логика относится к чистому математическому знанию, т. е. находится в мире чистых идей, а потому может быть общезначимой. Другими словами, мышление, основанное на формальной логике Аристотеля, может быть универсальным, а потому реализация логических правил в искусственной системе может сделать её интеллектуальной. Однако тут имеется та же самая ловушка, как и в случае интуитивного подхода к искусственному интеллекту. Логическое мышление является необходимым условием, но никак не достаточным. Система, обладающая разумом, будет показывать поведение, подчиняющееся законам формальной логики. Но если какая-либо система действует по этим законам, это совсем не значит, что она интеллектуальна.
В рамках математики разработано большое количество формализмов, описывающих логику. Двоичная логика Аристотеля является базовой, над которой надстроены такие варианты, как многозначная логика Лукасевича, нечёткая логика Заде, бесконечнозначная логика антиномий, интуиционистская логика и некоторые другие. Каждый новый формализм был разработан для того, чтобы учесть какие-либо нюансы человеческого мышления и способа принятия решений человеком. Ведь в процессе исследований в направлении логического подхода становилось понятным, что двоичная логика, хотя и является универсальным инструментом размышления и вывода знаний, плохо справляется с такими простейшими аспектами человеческого поведения, как принятие решений в условиях неопределённости, неполноты знания, неточности измерений и т. д.
Однако логический подход сталкивается с серьёзными трудностями, когда возникает необходимость описания неформальных знаний, которые плохо формализуются. Более того, из-за неполноты нашего понимания природы человеческого мышления логический подход всё так же страдает от невозможности полностью описать процесс мышления и принятия решений. Такие феномены, как озарение, интуитивный поиск решения или эмоциональные влияния на принятие решений, не могут быть описаны в рамках логического подхода, хотя они, вне всяких сомнений, являются одним из компонентов человеческого разума.
Тем не менее логический подход составляет основу упомянутой ранее нисходящей парадигмы искусственного интеллекта.
Символьный подход ставит во главу искусственного интеллекта способность человека манипулировать символами (в общем понимании этого термина) при осуществлении своей интеллектуальной деятельности. Тут нужно вспомнить термин «вторая сигнальная система», предложенный русским физиологом Иваном Петровичем Павловым для описания абстрактной системы обозначений, которые используются при мышлении человеком в отрыве от непосредственных ощущений, получаемых всеми сенсорными подсистемами нервной системы. Именно наличие второй сигнальный системы, по мнению некоторых исследователей, отличает разумное существо от животного.
Для упрощения рассмотрим кибернетическую цепочку возникновения реакции человека на стимул из внешней среды на примере зрения. Фотоны различной длины волны попадают на рецепторы сетчатки глаза, где запускают каскад биохимических реакций, результат которых заключается в генерации нервного импульса, идущего по глазному нерву в нервные центры в головном мозге человека. Далее этот импульс диспетчеризуется в ядрах зрительного перекрёста и таламусе, после чего попадает в различные зоны коры головного мозга – первичную зрительную кору, вторичную зрительную кору и т. д., пока след от этого импульса не будет обработан в высших слоях неокортекса, где, как предполагается, и осуществляется манипуляция символами. Именно здесь конкретные каскады биохимических реакций в клетках сетчатки и всех промежуточных нейронах каким-то образом преобразуются в абстрактные символы, имеющие огромное количество ассоциативных связей. И когда человек видит, скажем, кошку, то в его памяти возникают различные образы, именно на символьном уровне связанные с понятием «Feliscatus» («кот домашний», биологическое наименование вида). Человек осознаёт именно эти образы и ассоциативные связи, но никак не осознаёт лежащих в их основе электрофизических и биохимических процессов. Так что разум человека, его интеллект оперирует именно символом «кот домашний», пробегая по отдельным ассоциативным связям, выбор которых зависит от текущего контекста.
Обработка символов построена на выполнении правил различного вида. В дальнейшем мы рассмотрим несколько формализмов, которые конкретизируют и реализуют символьный подход к искусственному интеллекту. Однако все они основаны именно на манипулировании символами как синтаксическими конструкциями. Особенно это касается математических формул, поскольку наибольших успехов символьный подход достиг именно в формальной математике, в таких областях, как автоматическое доказательство теорем, символьная математика, автоматические вывод и рассуждения и т. д. Однако и тут возникает такая же возможность для критики, как и в случае интуитивного подхода, – где возникает сознание, в какой момент интеллектуальная система начинает осознавать себя. И как бы хорошо она ни манипулировала символами, ответить на этот вопрос на сегодняшний день возможным не представляется. Мы ещё вернёмся к этому аспекту в главе про философию сознания и искусственного интеллекта, а пока перейдём к следующему подходу.
Структурный подход, или коннекционизм, исходит из понимания того, что интеллект, разум и сознание являются функцией сложности сети переплетённых и взаимодействующих базовых элементов. Поскольку нервная система человека состоит из нейронов и ряда других специальных клеток, то основой структурного подхода в искусственном интеллекте является использование искусственных нейронных сетей.
Здесь уже упоминалось, что первый искусственный нейрон был разработан Уорреном Мак-Каллоком и Уолтером Питтсом в первой половине XX века. Также в то время Фрэнком Розенблаттом была разработана первая архитектура искусственных нейронных сетей – перцептрон. Фактически это самые первые примеры математических моделей и программных систем, разработанных в духе коннективизма. И здесь необходимо отметить, что в процессе развития перцептронов появились некоторые расширения первоначальной модели, предложенной Ф. Розенблаттом. Самый простой классификатор основан на количестве слоёв в перцептроне: однослойный, с одним скрытым слоем (классический) и многослойный. Все эти типы были в своё время описаны самим Ф. Розенблаттом.
Другая классификация включает: элементарный перцептрон, простой перцептрон, перцептрон с последовательными связями, перцептрон с перекрёстными связями, перцептрон с обратными связями, перцептрон с переменными связями. Первые три класса были описаны Ф. Розенблаттом, а следующие три развиты в дальнейшем при детальной проработке модели искусственных нейронных сетей.
Итак, структурный подход основан на идее о том, что наиболее важной для эмерджентного проявления разума и других подобных функций вплоть до сознания является сетевая структура. Это значит, что моделирование должно затрагивать не только базовые элементы типа нейронов, но и их взаимосвязанные сети. При этом полагается, что сеть элементов как сложная система обладает нелинейными свойствами относительно базовых элементов, а потому при увеличении количества взаимосвязанных элементов сложность модели изменяется нелинейно и зачастую даже непредсказуемым образом, так что при переходе некоторого порога сложности как раз и начинают проявляться те самые эмерджентные эффекты, которых мы так ждём. До сегодняшнего дня главным и фактически единственным представителем структурного подхода являются искусственные нейронные сети.
Эволюционный подход реализует так называемую «искусственную эволюцию» и фактически решает оптимизационную задачу поиска значения целевой функции в заданном пространстве решений с установленными ограничениями. Этот подход содержит большое количество эвристических методов, некоторые из которых используются даже для гарантированного нахождения оптимума для мультимодальных недифференцируемых функций в пространствах высоких размерностей. Важным методом эволюционного подхода являются генетические алгоритмы, которые мы рассмотрим чуть позже. Но здесь также есть несколько других важных методов, в числе которых находятся эволюционное программирование и даже нейроэволюция, когда искусственному отбору подвергаются нейронные сети.
Итак, в рамках эволюционного подхода обычно выделяют следующие технологии и методы: эволюционное программирование, генетическое программирование, эволюционные стратегии, генетические алгоритмы, дифференциальная эволюция и нейроэволюция. Другими словами, а что, если вычислительные процессы могли бы эволюционировать так же, как это делают биологические виды в своей экологической среде? Возможно, получилось бы «выращивать» программы для оптимального решения поставленной задачи? Эволюционное программирование как раз и основано на этой идее.
Если же в качестве объектов отбора выступают сами программы, то получается уже генетическое программирование. Ведь, действительно, программы пишутся на определённом языке программирования и в конечном итоге представляют собой строки символов. Эти строки можно подвергнуть генетическим преобразованиям и отбору. Эта очень мощная идея получила своё развитие в том, что программы начали писать и оптимизировать другие программы, и уже исследователи, запустившие процесс, не могут разобрать и интерпретировать полученные исходные коды, которые работают правильно и часто очень эффективно.
Генетические алгоритмы – это наиболее яркий представитель эволюционного подхода. Сами по себе они опять являются одним из эвристических методов оптимизации для поиска оптимального решения (или, как минимум, субоптимального). Они работают с данными, которые могут быть представлены в виде «хромосом» – последовательностей генов, т. е. списков каких-либо значений, к которым можно применить генетические операции. Здесь главное – чтобы на генах были определены эти самые генетические операции, которые возвращали бы приемлемый результат, имеющий смысл.