Сегодня мало кто задумывается о настоящих причинах неприятия кибернетики в СССР («Кибернетика — это реакционная лженаука…» см. «Краткий философский словарь», Госполитиздат, 1954). Для нынешнего поколения это просто еще один символ глупости «тоталитарного режима». Но неужели все дело только в том, что кибернетика была «продажной девкой империализма»?
Конечно, кибернетика пришла к нам с Запада, что было подозрительно: большинство западных разработок и научных направлений в СССР не признавались передовыми. Не считая некоторых достаточно частных образцов, вроде производства транзисторов или эхолотов, у нас так или иначе старались скрывать заимствования. При таком положении дел у кибернетики было еще и дополнительное отягчающее обстоятельство. Эта наука, по крайней мере, в том виде как ее представлял Норберт Винер, претендовала на роль всеобщей науки о мироздании, об устройстве сложных системных объектов, в том числе мышления. Такие претензии были возможны на Западе, с его разнообразием точек зрения, но в целом не чуждого романтике целостного системного знания, а в СССР уже существовало собственное тотальное, целостное и системное знание — диалектический материализм. К сожалению, большинству советских диаматчиков вполне хватало просто базовой идеологии, и мало кто из отрицателей кибернетики внимательно изучал основателей диалектики: Платона, Кузанского, Фихте, Гегеля или даже Маркса. В результате вся борьба с кибернетикой свелась лишь к глубокомысленному заявлению, что кибернетика — это НЕ диалектическое знание, а потому она абсолютно неверна.
Редкий случай, но позиция «я Пастернака не читал…», оказалась во многом разумной, хотя это выяснилось позже. А в середине XX века вместо того, чтобы ассимилировать новое знание, как положено диалектике по самой ее сути, идеологи от диалектического материализма поступили как раз не диалектично, а формально — произвели абстрактное отрицание свалившейся на их головы кибернетики и отмели ее напрочь. Целый пласт знаний, построенных на методологии обратной связи и на глубоко проработанной формальной логике, оказался вытесненным из «большой науки». И хотя официально еще в 1958 году обвинения с кибернетики вроде бы сняли, еще долгое время сторонникам этой теории приходилось нелегко. Кибернетика смогла развиваться во многом как инженерное решение для военных и прикладных нужд, потеряв при этом идеологию и прикрывшись сугубо прикладным характером исследований. Развитие математической логики и других «нестандартных» логик, как теоретической базы для инженерных, кибернетических решений, тоже открестилось от философии и спряталось под защиту таких математиков, как Ляпунов. На Западе же это направление шло в сочетании с так называемой аналитической философией, занимавшейся вопросами логики познания, логики науки. Список фамилий в учебнике по современной логике практически совпадает со списком персон в истории аналитической философии, поэтому обо все этом приходилось если не молчать, то хотя бы говорить очень тихо. Так и развелись кибернетика с диалектикой, не успев познакомиться. Мы многое проиграли из-за такого развития ситуации. Во всяком случае, моду на ИТ, построенные в парадигме кибернетики, нынче держит не Россия.
В чем же корни состоявшихся достижений кибернетики и информационных технологий, которые стали реализацией принципов кибернетики и развивались практически параллельно с ней? Первый рывок в разработках оборудования и программного обеспечения, был осуществлен за счет того, что арсенал средств из математики и естественных наук, накопленный за пару тысяч лет, в течение всего лишь нескольких десятилетий фактически весь был слит в ИТ. Так кибернетика, вобравшая в себя формальную логику и ее модификации, оказалась той самой всеобщей наукой, чрезвычайно успешной в глазах общественного мнения. Основанные на ней ИТ быстро заняли важное место в разных сферах жизни общества. Кибернетика задумывалось как наука об организации сложных систем и управлении ими, которая работает везде: в ИТ, в менеджменте, в военном деле и т.д. Вот только если вернуться к начальным целям и ожиданиям ее отцов-основателей, то окажется что главная задача — моделирование мыслительной деятельности человека — все также далека, как и полвека назад. Например, ничего не получается с искусственным интеллектом (ИИ), причем настолько, что сегодня многие стараются не замечать этой проблемы вообще. Конечно, маркетологи расскажут, что некоторые функции нечеткой логики, встроенные в новейшую стиральную машину, — это и есть ИИ. Но достаточно столкнуться проблемой поиска, как становится понятно, что мы совсем недалеко ушли от первых персептронов.
Так что же не позволило кибернетике создать искусственный интеллект? Когда нашей компании понадобился анализатор текстов на естественном языке, мы его сделали — он выполнял «высокоинтеллектуальные» вещи, вытаскивая из текстов объекты, справлялся, даже если они были выражены в разной форме и разными словами. Но делалось это по шаблонам, либо по правилам порождения шаблонов, заложенным заранее. Любые попытки реально смоделировать в машине понимание и порождение текстов, получение целостного образа содержания, приводили к бесконечной рекурсии, к логическому кругу, ибо мышление человека устроено совсем не так, как работает сегодня любая компьютерная система.
В чем же причина парадокса понимания машиной текстов, неразрешимого в существующих технологиях? Как реализуется понимание без заранее заданного шаблона его смысла? У человека, читающего незнакомый текст, гипотеза о целостном смысле всего текста появляется уже на первом шаге знакомства с его первым фрагментом (А). Затем эта гипотеза переопределяется чтением второго фрагмента (В). Однако прочитанный вторым фрагмент (В) был осознан уже с учетом наличия гипотезы (А) и теперь ее надо заново переопределить, понять с учетом фрагмента (В), но и второй фрагмент после нового понимания первого тоже должен будет измениться. А определяет В, но сам, в свою очередь, определяется через А. И так по всем фрагментам текста. Определяемое становится определяющим — взаимное определение.
Для логик, лежащих в основе программных систем, это ситуация означает бесконечный цикл, логический круг, который принципиально недопустим. Однако, в человеческом мышлении — это основа основ. Обычно привлекательное для программирования решение таких проблем — обратная связь, не помогает, так как не в состоянии смоделировать этот особый механизм мышления. И причина в том, что все параметры этой связи, критерии остановки циклов задает опять же человек извне системы. То есть для искусственного интеллекта необходимы самые основные действия, которые может выполнить только естественный интеллект.
Точно так же машина сегодня не может работать с противоречиями. Так, чтобы одновременно было и А и не-А, чтобы нарушался закон запрещения противоречий (ЗЗП).
Один из мыслителей, оказавший значительное влияние на развитие современной математики, Николай Кузанский, живший в XV веке, занимался предельными переходами и довольно просто доказал, что отрезок и окружность тождественны при переходе в бесконечность — отрезок становится бесконечной прямой, а окружность бесконечного радиуса приобретает минимальную кривизну и сливается с этой прямой. Но ведь окружность — это замкнутая кривая, а линия — разомкнута. Либо одно, либо другое — соблюдается ЗЗП в математике! А предельный переход прямо приводит к тому, что замкнутое и разомкнутое — это одно и то же. Причем ладно бы, если бы совпали какие-то несущественные признаки, а то ведь самые важные, качественно определяющие взятые объекты! Математический анализ, в его современном понимании, пользуется предельными переходами. При этом и качества, например, «треугольности», или «прямоугольности» без дополнительного обсуждения считаются неизменными. А почему, собственно, это так? Похоже, математика боится единства противоречий. И тем самым сама ограничивает себя в своих основаниях. Вообще, ЗЗП, как выясняется, соблюдается в математике везде, кроме самих ее оснований.
Про то, что квантовые объекты одновременно и частица (то есть нечто локализованное в пространстве) и волна (то есть принципиально распределенное по пространству, не локальное) смысла говорить нет, но именно философские основы бытия стали важнейшими для физиков, которые поменяли мировоззрение науки в ХХ веке. Скажем, Гейзенберг к концу жизни очень активно занимался идеями Платона. И не случайно идеи по Платону не подчиняются аристотелевой логике, для них правилом является как раз нарушение ЗЗП. Главная интрига спора между Платоном и Аристотелем в случае квантовых объектов оказывается очень к месту.
Какова логика, которая сейчас положена в основание кибернетики и ограничение которой начинают сказываться при попытке построить Искусственный Интеллект? Это формальная логика дедуктивного вывода из набора заданных аксиом по правилам, подчиняющимся определенным законам. Важнейшие из этих законов, открытые еще Аристотелем, — законы тождества и запрещения противоречия.
Сегодня практики от ИТ все еще собирают урожай, очень давно посеянный великими умами. Зачем же привязывать программирование к философии? В формальной логике легко узнается презрение компьютерщиков к такой «удаленной» от жизни науке, как философия. Но в любых ИТ-разработках всегда есть некие представления о том, как работает мышление, каковы законы реальных ситуаций. Знание этих оснований способно существенно облегчить работу над сложными проектами. Добрая половина сегодняшних программ по лингвистическому анализу текстов имеет в своем основании соображения одного из отцов аналитической философии Людвига Витгенштейна. Вкратце его философское воззрение состоит в том, что все доступные нам законы мышления и реальности запечатаны в логике языка. Никакой другой логики у мысли нет, мышление целиком совпадает со структурами языка. И я лично в своей разработке честно занималась структурами языка, предполагая, что занимаюсь логикой самого мышления, породившего анализируемый в машине текст, и, соответственно, логикой смысла текста. Если бы я тогда знала, что это всего лишь частный подход к соотношению языка и мышления, то либо упростила бы свою задачу по созданию алгоритмов анализа смысла текста, либо сразу бы озадачилась логикой базы знаний, то есть логикой мышления, отличной от структур языка. Именно решение задачи о логике мышления, не совпадающего с грамматикой, лексикой и т.п. может дать результаты по автоматической обработке текста на естественном языке, поскольку именно мышление с его особой логикой, со специфическими операциями порождало этот текст.
В мышлении человека и в фундаментальных основаниях науки реализуется своя логика — логика, признающая существование противоречий в одном объекте, причем в один и тот же момент. Логика взаимоопределяющихся аксиом, самоорганизующихся и развивающихся систем. Но ведь это же и есть диалектическая логика, причем в ее классическом выражении — в платоновском! И никакой обязательный диамат советских времен не способен был ее скомпрометировать. Про мышление чуть ли не теми же словами, что у нас, можно прочитать в поздних диалогах Платона, в работах Кузанского и Гегеля.
Разбираясь в сложностях своего проекта и обнаружив, что же в современных технологиях приводит в тупик нашу собственную разработку, мы увидели, что еще Платон больше понимал про механизмы мышления, чем многие нынешние разработчики систем искусственного интеллекта.
Каким же должен быть следующий шаг? Мне как разработчику искусственного интеллекта нужна новая эффективная логика, которая поддерживает такие механизмы мышления, как переопределение посылок и работа с противоречиями.
Переопределение исходных посылок, аксиом заложенных разработчиком должно осуществляться автоматически в самой информационной системе. Речь идет о таких посылках, как набор терминов языка, или параметров классификации. Мышление человека справляется с такой задачей, когда определяемое становится определяющим.
И реальность, и мышление могут содержать в себе противоречия (одновременно есть и А и не-А). Сегодня все технологии программирования в соответствии с формальными логиками выбирают либо «А», либо «не-А», выполняя закон запрещения противоречия. Фактически из конкретной ситуации они выбирают только один из моментов заключенного в ней противоречия. А из категориальных пар, которые мышление человека удерживает целостно (часть/целое, форма/содержание, общее/частное), могут работать одновременно только с одним из моментов пары, не сохраняя единства с остальными. Рассмотрение базовых интеллектуальных действий, а также логики реальных процессов показывает, что определение объекта А одновременно, с необходимостью в одном и том же действии требует определения объекта не-А. А и не-А существуют в единстве — определяются в одном и том же акте, и находятся во взаимоопределении.
Именно эта логика позволит мне реализовать то, что делает интеллект: самостоятельно внутри системы выбирать параметры описания ранее неизвестных ей объектов; при разной форме текстов выявить за ними единое содержание; реализовать автоматическое добавление нового аспекта классификации, автоматическое расширение языка описания объектов в поступающей информации; самостоятельное качественное изменение, развитие информационной системы. Только так машина сможет работать с неформализованной, качественно меняющейся информацией, которая и характеризует реальные, не машинные ситуаций. Это и есть настоящая постановка задачи искусственного интеллекта.
Реализация описанного типа логики — это шанс выйти из тупика, в который зашла кибернетика. А заодно решить тщательно скрываемую проблему современного мира ИТ— сегодня развитие программных продуктов идет, на мой взгляд, лишь за счет навешивания на них новых бантиков и рюшечек.
Итак, кибернетика разошлась с диалектикой. В России из-за тотальности диалектического материализма, а на Западе к середине XX века диалектика вообще исчезла как давно устаревшая и мало понятная философская схема. Так что общеизвестные модели в области искусственного интеллекта никак не учитывают диалектику, которая в лагере аналитических философов, кибернетиков, разработчиков программного обеспечения, словно в отместку, считается лженаукой. Предлагаю прекратить эту дурную бесконечность взаимных обвинений и начать разбираться по сути — думаю, что мы стоим перед новым этапом моделирования важных механизмов мышления и, соответственно, перед новым решением изначальных задач самой кибернетики.
Анна Елашкина (Elashkina@noolab.ru) — руководитель отдела исследований компании Noolab (Новосибирск).