Сергей Горшков (serge_gorshkov) wrote,
Сергей Горшков
serge_gorshkov

Categories:

Логика, искусственный интеллект и договороспособность умных людей


  • Можно ли создать искусственный интеллект на основе логических вычислений?

  • Или, может быть, логика – бессмысленная абстракция, предназначенная для гипноза простых смертных и отвлечения их от подлинного постижения сути вещей?

  • Почему двум любым умным людям, взявшимся что-либо моделировать, крайне сложно договориться между собой о парадигме и инструментах моделирования?

  • Не является ли это аргументом против логического моделирования как такового?

  • Если все же логическое моделирование осмысленно, то каким должен быть его инструментарий?

  • Стоит ли вообще отвечать на все эти вопросы, или лучше выучить BPMN и получать хорошую зарплату? :)

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


Сова, заяц ПЦ и все-все-все

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



Мир не вылечить, и все перечисленное меня не слишком волновало, поскольку среди заказчиков, ИТшников и аналитиков встречаются счастливые исключения, с которыми можно сотрудничать и добиваться действительно значимых результатов. Короче, у меня не было стимула ударяться в теоретизирование на эту тему до тех пор, пока бомбы не стали падать слишком близко.

Благодаря Станиславу Кралину мне попалась статья Джона Совы (John Sowa), одного из виднейших авторитетов в области формализации знаний, называющаяся ««Пунктики» и заблуждения по поводу логики». Благодаря этой статье, обсуждению со Станиславом моего предыдущего поста, а также баталиям по поводу конкретных вопросов моделирования с Максимом Мирошниченко, я сформулировал несколько полезных мыслей, которые позволяют ответить на поставленные выше вопросы и забыть о них.

Джон наш Сова во вступлении к своей статье отлично вскрывает первую проблему:
«На протяжении всей истории развития искусственного интеллекта почитатели логики ее превозносили, хулители на нее клеветали, и все подряд – обсуждали в сбивающих с толку терминах. Среди пионеров искусственного интеллекта, Джон МакКарти (John McCarthy) всегда был сторонником логики, а Марвин Минский (Marvin Minsky) – скептиком, экспериментировавшим с широким диапазоном альтернатив. Роджер Шанк (Roger Schank) без всяких сомнений разоблачал логику при каждом удобном случае. Он описал различия между «аккуратистами» (neat), которые постоянно используют логику в процессе мышления, и «неряхами» (scruffies), такими как он сам, создающими нотации (способы моделирования) на ходу для каждой новой задачи».

Какая альтернатива может быть у логического мышления, у рационализма, на котором выросла вся современная технологическая цивилизация? Только интуиция, инсайт. Использование последних означает отказ от попыток формализовать и осмыслить происходящее, заставляет принимать решения, доверяя своему подсознанию и ощущениям. Можно ли таким способом, например, управлять бизнесом? Конечно, можно: миллионы людей именно так и поступают, и далеко не всегда проигрывают тем, кто руководствуется рациональными соображениями. Почему это происходит? Неужели в логике есть какие-то фундаментальные изъяны, а в нашем мышлении – что-то принципиально не познаваемое, что-то такое, что делает попытки его воспроизвести обреченными на неудачу? Конечно же, нет. Но есть объективные сложности, которые аналитики чаще всего не в состоянии преодолеть.

Одна из них заключается в противоречии между логикой и естественным языком, хорошо описанным тем же Совой. «Имеются два противоположных заблуждения относительно языка и логики: одно из них считает логику неестественной и нерелевантной окружающему миру, другое признает естественный язык неисправимо расплывчатым и предлагает заменить его логикой», - пишет он. Разумеется, срединный путь состоит в сочетании преимуществ обоих способов выражения знаний, а не в отрицании любого из них. Логика основана на языке и не может существовать без него, а язык без логики не имеет механизмов верификации и не позволяет передавать релевантные знания от одного субъекта другому.

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

Как прекратить заниматься ерундой и начать жить

Итак, юный аналитик со взором горящим, ныне прими от меня N заветов:

1. Не считай себя д’Артаньяном, а остальных – недоумками! Это крайне распространенный среди аналитиков грех, который умножает на ноль любые их достижения. Прими факт, что мысли другого человека не менее важны, чем твои. Ты можешь с ними не соглашаться, но всегда имей в виду, что в чем-то другой человек может оказаться прав. А правоту можно определить только по тому, решена ли практическая задача.

1.1.Не превращай свои достижения в религию. Немало известных мне умных людей, достигших определенных успехов в моделировании, настолько проникались верой в свою нев… необыкновенность, что начинали называть свои методики своим именем, искать апостолов, анафемствовать в адрес "конкурентов" и т.д. Вера не требует доказательств, но это вряд ли то, к чему стоит стремиться. К тому же, желающих записаться в апостолы и прихожане будет немного. Все, что может из этого получиться – небольшая секта.

1.2. Не путай аналитику и интеллектуальную игру. Грань между ними действительно тонка, но, заигравшись, можно подменить цели: например, вместо решения практических задач заняться сладким процессом интеллектуального самоутверждения. Это означает неизбежный проигрыш.

1.3. Научись слушать других, а не только проповедовать свою веру. Будь благоразумен в троллинге собеседников.

1.png


1.4. Слушая других, следи за руками собеседника. Если потерять бдительность, то, как поется в песне, «Tricksters, magicians will show you all that's real». В смысле, слушать других очень полезно, а вот выводы из сказанного лучше делать самому.

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

3. Осторожно относись к результатам рефлексии. В конце концов, даже солипсизм – логически непротиворечивая концепция, которую невозможно опровергнуть. У нас нет и не может быть никакого критерия, позволяющего установить «правильность» того или иного способа мышления и моделирования. Но есть методы, которые позволяют или не позволяют решать задачи. Солипсист не будет успешен в социальной жизни, но у него и задачи другие – их он решает успешно.

3.1. Если ты вдруг решил, что тот или иной аспект «реальности» надо моделировать именно так, и никак иначе – остановись и подумай. Где-то ты накосячил.

3.2. Не отрицай существования любых сущностей. Это синдром Зайца ПЦ. Для тех, кто не знаком с творчеством Линор Горалик – показываю, как это бывает:

2.png

Поскольку никто из нас не видел и не трогал, например, юридического лица, легко доказать себе, что их вовсе не существует. С другой стороны, из того, что каждый из нас видел и трогал стол, совсем не следует, будто существуют столы. Тут весь фокус в том, что понимать под словом «существует». Лично для меня существует все, о чем говорю я или кто-то другой. Мы можем эффективно моделировать образы в нашем сознании, но не реальные объекты – просто потому, что между реальностью и сознанием стоит наше восприятие, которое исключает любую «объективность». Слово «объективный» - оксюморон.
В общем, если заказчик говорит, что видит зеленых человечков – они должны быть отражены в модели. Потому что или заказчик чего-то от них хочет, или они от него – иначе бы он их не видел.

4. Не переопределяй базовые термины. Многие и без того половины слов не понимают. Если начать вкладывать свой смысл в простейшие слова вроде «субъект», «быть частью» и др. – ты станешь популярной персоной в том, что останется от твоей секты, но вне ее никто тебя не поймет и денег не заплатит.

Как поссорились Иван Иванович с Иваном Никифоровичем
«Славная темпоральная логика у Ивана Ивановича! отличнейшая! А какие экстенты! Фу ты, пропасть, какие экстенты!» - Н.В. Гоголь

В процитированной выше статье Джон Сова упоминает еще одну печальнейшую черту логиков, которая отделяет их от обычных людей неодолимой стеной: любовь к сочинению нотаций, не читаемых для обычного человека, и решительное пренебрежение созданием сколько-нибудь юзабельных программных интерфейсов. Я это понял задолго до прочтения этой статьи, и бОльшая часть нашей практической работы направлена на преодоление как раз этого недостатка. Любые логические выражения можно отлично записывать на контролируемом естественном языке, тут мы с Джоном сходимся во мнениях. Это снимает один из уровней с этой «головоломки, окутанной тайной внутри загадки», и хоть на шаг отдаляет нас от сектантства и приближает к обычным людям. В конце концов, мы моделируем для того, чтобы помогать им решать их задачи, а не для собственного удовольствия.

В любезно подсказанной мне Станиславом Кралиным одной дискуссии в одном форуме г-н Сова, OWL-скептик, предъявил претензию г-ну Хорроксу (Horrocks), известному OWL-оптимисту, упрекнув его в высокомерии и навязывании отраслевым экспертам чуждых им способов моделирования. Я, даром что OWL-оптимист, в этом пункте с Совой полностью согласен. Инструменты инструментами, а голову терять не надо.

Так и поссорились два милейших господина, хотя читать труды что одного, что другого – одно удовольствие. Точно также не могут между собой договориться об инструментах, повторю, два любых случайно взятых умных аналитика. А в чем же, собственно, проблема?

An Owl came to me, old and wise…

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

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

3.png

И еще один график:

4.png

Разумеется, эти графики носят исключительно качественный и интуитивный характер, никаких численных метрик тут не бывает.

Часто приходится слышать о том, что OWL чего-то не может. Отвлечемся от того, что не так уж много людей действительно до конца понимают, о чем вообще этот стандарт; от того, что многие описанные в нем вещи никто не заставляет воспринимать как ограничение, и т.д. Да, есть задачи, которые на нем решать не удобно – это края последней диаграммы. Но есть и задачи, которые с его помощью решаются неплохо. Я бы отождествил OWL с синей линией на графике.

Красную линию можно представить как любой более мощный формализм, основанный на OWL или не основанный. Пусть даже это будет наш любимый ISO 15926, или любой другой формализм, придуманный известными мне аналитиками. У каждого из них есть своя «фишка», которая дает выигрыш в эффективности решения конкретных задач. И эта же фишка сужает спектр их применения.

А с зеленой линией я бы отождествил RDF. В нем ведь нет ни классов, ни свойств – только вершины и ребра графа! Полная свобода интерпретации, позволяющая представить модели, построенные по крайне широкому кругу методик, но в то же время – есть неплохая программная поддержка. И сдается мне, что если «взять интеграл» по функциям, которыми эти кривые построены, то площадь под кривой RDF окажется наибольшей… То есть мера его полезности максимальна. Повторю – это не количественная оценка, а исключительно качественная и интуитивная.

Ну и какие же выводы, спросит читатель, продравшийся сквозь весь этот текст? А вот какие.

  1. Не парьтесь за методику моделирования: создавайте ее под каждую задачу отдельно, или используйте готовые наработки, не важно. В конце концов, это ваш мир и ваши задачи. Поступайте так, как считаете нужным, но не ешьте никому мозг.

  2. Споры о преимуществах тех или иных методов и технологий можно вести только относительно конкретных задач. Абстрактные вопросы типа «что лучше, OWL или UML?», «Парадигма Петрова или платформа Иванова» – не имеют ни малейшего смысла, и обсуждающие такие вопросы зря тратят свое и чужое время.

  3. Читайте книги, больше бывайте на воздухе и общайтесь с людьми :) Жизнь - это не только умствования.

Еще раз благодарю Максима Мирошниченко и Станислава Кралина за интереснейшее общение и обширный материал для этой статьи.
Tags: аналитика, мотивация, семантические технологии
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 52 comments