На чисто инстинктивном уровне любой планирующий человек ведет себя так, будто он разделяет средства и цели. Хотите шоколада? Шоколад есть в супермаркете Publix. Добраться до супермаркета можно, если проехать одну милю на юг по Вашингтон-авеню. Проехать можно, если сесть в машину. Сесть в машину можно, если открыть дверь. Открыть дверь можно, если у вас есть ключи от машины. И вот вы кладете ключи в карман и готовитесь выйти из дома…
…как вдруг по радио сообщают, что землетрясение уничтожило весь шоколад в местном Publix. Что ж, нет смысла ехать в Publix, если там нет шоколада; нет смысла садиться в машину, если вы никуда не едете; и нет смысла держать ключи в кармане, раз уж вы никуда не едете. Так что вы вытаскиваете ключи из кармана, звоните в местную службу доставки пиццы и заказываете шоколадную пиццу. М-м, вкуснотища.
Я редко замечаю, чтобы люди сбивались с планов, которые сами же и придумали. Обычно люди не едут в супермаркет, если знают, что шоколад закончился. Но я также заметил, что, когда люди начинают явно говорить о системах целей, вместо того чтобы просто чего-то хотеть, и упоминать «цели», вместо того чтобы их использовать, они часто путаются. Люди — мастера планирования, а не его теоретики, иначе в мире было бы гораздо больше разработчиков искусственного интеллекта.
В частности, я заметил, что люди путаются, когда — в абстрактных философских дискуссиях, а не в повседневной жизни — они рассматривают различие между средствами и целями; выражаясь более формально, между «инструментальными ценностями» и «терминальными ценностями».
Как мне кажется, отчасти проблема заключается в том, что человеческий разум использует довольно ситуативную систему для отслеживания своих целей — она работает, но не идеально. В английском языке нет четкого разграничения между средствами и целями: фразы «Я хочу спасти жизнь своей сестре» и «Я хочу ввести сестре пенициллин» используют одно и то же слово «хочу».
Можем ли мы описать — хотя бы на обычном английском — то различие, которое здесь теряется?
В качестве первой попытки:
«Инструментальные ценности» желательны строго при условии их ожидаемых последствий. «Я хочу ввести сестре пенициллин» не потому, что накачанная пенициллином сестра — это само по себе благо, а в ожидании того, что пенициллин вылечит её от плотоядной пневмонии. Если бы вместо этого вы ожидали, что инъекция пенициллина растопит вашу сестру в лужицу, как Злую Ведьму Запада, вы бы столь же яростно боролись за то, чтобы не допустить введения пенициллина.
«Терминальные ценности» желательны безотносительно к другим последствиям: фраза «Я хочу спасти жизнь своей сестре» никак не связана с вашими ожиданиями того, введут ли ей после этого пенициллин.
Эта первая попытка страдает от очевидных изъянов. Если бы спасение жизни моей сестры привело к тому, что Землю поглотила бы черная дыра, я бы пошел поплакал в сторонке, но вводить пенициллин не стал бы. Значит ли это, что спасение жизни сестры не было «терминальной» или «самоценной» ценностью только потому, что теоретически оно зависит от последствий? Неужели я только потому пытаюсь спасти её жизнь, что верю, будто черная дыра после этого не поглотит Землю? Здравый смысл подсказывает, что дело вовсе не в этом.
Так что забудьте об английском. Мы можем составить математическое описание системы принятия решений, в которой терминальные и инструментальные ценности представляют собой разные и несовместимые типы данных — как целые числа и числа с плавающей запятой в языке программирования без автоматического приведения типов.
Идеальную байесовскую систему принятия решений можно построить всего из четырех элементов:
Outcomes : тип Outcome[]
список возможных исходов
{сестра выживает, сестра умирает}
Actions : тип Action[]
список возможных действий
{ввести пенициллин, не вводить пенициллин}
Utility_function : тип Outcome -> Utility
функция полезности, которая сопоставляет каждому исходу его полезность
(полезность может быть представлена в виде вещественного числа от минус до плюс бесконечности)
{сестра выживает → 1, сестра умирает → 0}
Conditional_probability_function :
тип Action -> (Outcome -> Probability)
функция условной вероятности, которая сопоставляет каждому действию распределение вероятностей по исходам
(вероятность может быть представлена в виде вещественного числа от 0 до 1)
{ввести пенициллин → (сестра выживает → 0.9, сестра умирает → 0.1), не вводить пенициллин → (сестра выживает → 0.3, сестра умирает → 0.7)}
Если вы не умеете читать систему типов напрямую, не волнуйтесь, я всегда буду переводить это на обычный язык. Программистам же описание в виде отдельных инструкций помогает сформировать в уме четкие, разграниченные объекты.
А сама система принятия решений?
Expected_Utility : Action A ->
(Sum O in Outcomes: Utility(O) * Probability(O|A))
«Ожидаемая полезность» действия равна сумме по всем исходам полезности этого исхода, умноженной на его условную вероятность при условии данного действия.
{EU(ввести пенициллин) = 0.9, EU(не вводить пенициллин) = 0.3}
Choose :
-> (Argmax A in Actions: Expected_Utility(A))
Выбрать действие с максимальной «ожидаемой полезностью».
{return: ввести пенициллин}
Для каждого действия рассчитайте условную вероятность всех последствий, которые могут за ним последовать, затем сложите полезности этих последствий, умноженные на их условную вероятность. После этого выберите наилучшее действие.
Это математически простая схема системы принятия решений. Но для реального мира такой способ вычисления решений неэффективен.
Что если, к примеру, для выполнения плана вам нужна последовательность действий? Формализм может легко это отразить, если принять каждое Действие за целую последовательность. Но это порождает экспоненциально огромное пространство — подобно пространству всех возможных предложений, которые можно набрать из 100 букв. Простой пример: если одним из возможных действий на первом шаге будет «прострелить себе ногу», человек при планировании сразу поймет, что в целом это плохая идея, и исключит все последовательности, начинающиеся с этого действия. Но в нашей модели мы сгладили эту структуру, сделав её плоской. У нас нет последовательностей шагов, есть только плоские «действия».
Так что да, здесь есть несколько мелких сложностей. Очевидно, что это так, иначе мы бы просто взяли и построили настоящий ИИ на этой основе. В этом смысле всё обстоит точно так же, как и с самой байесовской теорией вероятностей.
Но это один из тех случаев, когда рассмотреть абсурдно простую версию перед добавлением всяких заумных сложностей — поразительно хорошая идея.
Представьте философа, который утверждает: «Все мы в конечном счёте эгоисты; нас заботит только наше собственное состояние ума. Мать, утверждающая, что заботится о благополучии сына, на самом деле просто хочет верить, что у её сына всё хорошо — именно эта вера делает её счастливой. Она помогает ему ради собственного счастья, а не ради его». Вы говорите: «Ну, предположим, мать жертвует жизнью, чтобы вытолкнуть сына из-под колёс несущегося грузовика. Это не сделает её счастливой — только мёртвой». Философ на несколько мгновений заминается, а затем отвечает: «Но она всё равно сделала это потому, что ценила этот выбор выше других — из-за ощущения значимости, которое она придавала этому решению».
И тогда вы говорите:
ОШИБКА ТИПА: Не найден конструктор для Ожидаемая_Полезность -> Полезность.
Позвольте мне объяснить этот ответ.
Даже наш простой формализм демонстрирует чёткое различие между ожидаемой полезностью, которой обладают действия, и полезностью, которой обладают исходы. Конечно, и полезности, и ожидаемые полезности можно отобразить на вещественные числа. Но это всё равно что заметить, что скорость ветра и температуру можно отобразить на вещественные числа. Это не делает их одним и тем же.
Философ начинает с утверждения, что все ваши Полезности должны определяться на Исходах, состоящих из вашего состояния ума. Если бы это было так, ваш разум работал бы как двигатель, направляющий будущее в те области, где вы счастливы. Состояния будущего различались бы только вашим состоянием ума; вам было бы совершенно всё равно, какое из двух вариантов будущего выбрать, если у вас в них одинаковое состояние ума.
И в таком случае вы, действительно, вряд ли пожертвовали бы собственной жизнью ради спасения кого-то другого.
Когда мы возражаем, что люди иногда всё-таки жертвуют своими жизнями, ответ философа смещается к обсуждению Ожидаемых Полезностей на Действиях: «Чувство важности, которое она связывала с этим решением». Это резкий скачок, который должен заставить нас в негодовании вскочить со стула. Попытка преобразовать Ожидаемую_Полезность в Полезность вызвала бы явную ошибку в нашем языке программирования. Но в обычном языке всё это звучит одинаково.
Решения нашей простой системы принятия решений — это варианты с максимальной Ожидаемой_Полезностью, но это абсолютно ничего не говорит о том, куда она направляет будущее. Это ничего не говорит о полезностях, которые приписывает тот, кто принимает решение, или о том, какие исходы в реальном мире, скорее всего, наступят в результате. Это ничего не говорит о функции разума как двигателя.
Физическая причина физического действия — это когнитивное состояние (в случае нашего идеального субъекта принятия решений — Ожидаемая_Полезность), и эта ожидаемая полезность вычисляется путём оценки функции полезности на воображаемых последствиях. Чтобы спасти жизнь своего сына, вы должны вообразить событие спасения его жизни, но это воображение — не само событие. Это цитата — как разница между словом «снег» и снегом. Но это не значит, что то, что находится внутри кавычек, само по себе должно быть когнитивным состоянием. Если вы выбираете действие, которое ведёт к будущему, представляемому вами как «мой сын жив», то вы сработали как двигатель, направляющий будущее в область, где ваш сын жив. А не как двигатель, направляющий будущее в область, где вы представляете себе предложение «мой сын жив». Чтобы направить будущее туда, ваша функция полезности должна была бы возвращать высокую полезность при получении на вход «„мой сын жив“» — цитаты в цитате, вашего воображения о собственном воображении. Из рецепта получается плохой пирог, если его раскрошить и замесить в тесто.
И именно поэтому полезно сначала рассмотреть простые системы принятия решений. Подмешайте в систему достаточно сложностей, и некогда чёткие различия станет труднее разглядеть.
Теперь давайте взглянем на некоторые сложности. Очевидно, что функция Полезности (отображающая Исходы на Полезности) призвана формализовать то, что я ранее называл «терминальными ценностями» — ценностями, не зависящими от их последствий. А как быть в случае, когда спасение жизни вашей сестры ведёт к гибели Земли в чёрной дыре? В нашем формализме мы сгладили эту возможность. Исходы не ведут к другим Исходам, только Действия ведут к Исходам. Выздоровление вашей сестры от пневмонии, за которым следует поглощение Земли чёрной дырой, было бы сглажено в один-единственный «возможный исход».
И куда же делись «инструментальные ценности» в этом простом формализме? На самом деле они полностью исчезли! Видите ли, в этом формализме действия ведут напрямую к исходам, без каких-либо промежуточных событий. Здесь нет понятия о том, что можно бросить камень, который полетит по воздуху, собьёт яблоко с ветки, и то упадёт на землю. Бросок камня — это Действие, и оно ведёт прямиком к Исходу «яблоко лежит на земле» — в соответствии с функцией условной вероятности, которая превращает Действие непосредственно в Распределение вероятностей на Исходах.
Для того чтобы действительно вычислить функцию условной вероятности, а также для того чтобы отдельно рассматривать полезность пневмонии у сестры и поглощения Земли чёрной дырой, нам пришлось бы представить сетевую структуру причинности — то, как одни события ведут к другим.
И тогда инструментальные ценности начали бы возвращаться. Если бы причинно-следственная сеть была достаточно регулярной, вы могли бы обнаружить состояние B, которое, как правило, ведёт к C, независимо от того, как именно вы достигли B. Тогда, если бы вы по какой-то причине захотели достичь C, вы могли бы эффективно планировать, сначала найдя такое B, которое ведёт к C, а затем такое A, которое ведёт к B. Это и было бы феноменом «инструментальной ценности» — B обладало бы «инструментальной ценностью», потому что вело к C. Само состояние C могло бы быть терминальной ценностью — членом функции полезности общего исхода. Или же C могло бы быть просто инструментальной ценностью, узлом, который не оценивается функцией полезности напрямую.
Инструментальная ценность в этом формализме — исключительно подспорье для эффективного вычисления планов. От неё можно и нужно отказываться везде, где подобной регулярности не существует.
Предположим, например, что существует некое конкретное значение B, которое не ведёт к C. Выбрали бы вы такое A, которое ведёт к этому B? Или ладно, оставим абстрактную философию: если бы вы хотели поехать в супермаркет за шоколадом, и хотели поехать туда на машине, и вам нужно было бы попасть внутрь машины, стали бы вы открывать её, срывая дверь паровым экскаватором? (Нет.) Инструментальная ценность — это «дырявая абстракция», как говорим мы, программисты; иногда приходится отбрасывать кэшированное значение и вычислять фактическую ожидаемую полезность. Быть эффективным, не будучи при этом самоубийцей, — значит в том числе замечать, когда удобные короткие пути перестают работать. Хотя этот формализм и порождает инструментальные ценности, он делает это лишь там, где существует необходимая регулярность, и строго в качестве удобного упрощения вычислений.
Но если усложнить формализм до того, как вы поймёте его простую версию, то можно начать думать, будто инструментальные ценности живут какой-то своей странной жизнью, даже в нормативном смысле. Будто, раз заявив, что B обычно хорошо, потому что ведёт к C, вы тем самым обязуетесь всегда стремиться к B, даже в отсутствие C. Люди совершают подобные ошибки в абстрактной философии, хотя в реальной жизни никогда бы не стали вскрывать дверь своей машины паровым экскаватором. Вы можете начать думать, будто невозможно создать консеквенциалиста, максимизирующего исключительно совокупную приспособленность, поскольку он умрёт с голоду, если вы не включите в него явную терминальную ценность «потребление пищи». Люди совершают эту ошибку, хотя сами никогда не стояли бы целыми днями у дверей машины, открывая их из страха остаться снаружи из-за отсутствия терминальной ценности для открывания автомобильных дверей.
Инструментальные ценности живут в (сетевой структуре) функции условной вероятности. Это делает инструментальную ценность строго зависимой от фактических убеждений при заданной фиксированной функции полезности. Если я считаю, что пенициллин вызывает пневмонию, а отсутствие пенициллина её лечит, то воспринимаемая мной инструментальная ценность пенициллина упадёт с высокой до низкой. Измените фактические убеждения — измените функцию условной вероятности, связывающую действия с ожидаемыми последствиями, — и инструментальные ценности изменятся соответственно.
В моральных спорах некоторые разногласия касаются инструментальных последствий, а некоторые — терминальных ценностей. Если ваш оппонент в дискуссии говорит, что запрет на оружие приведёт к снижению уровня преступности, а вы утверждаете, что запрет приведёт к росту преступности, то вы согласны в отношении вышестоящей инструментальной ценности (преступность — это плохо), но расходитесь во мнениях о том, какие промежуточные события ведут к каким последствиям. Но я не думаю, что спор о женском обрезании — это действительно спор о фактах, касающийся того, как наилучшим образом достичь общей ценности справедливого отношения к женщинам или стремления сделать их счастливыми.
Это важное различие часто сливают в унитаз в пылу яростных споров. Люди с расхождениями во взглядах на факты, но с общими ценностями, решают, что их оппоненты — непременно социопаты. Как будто ваши заклятые враги — сторонники или противники контроля над оружием — действительно хотят убивать людей, что с точки зрения реалистичной психологии крайне маловероятно.
Боюсь, человеческий мозг не поддерживает строгую типизацию для различий между терминальными и инструментальными моральными убеждениями. Убеждения «Мы должны запретить оружие» и «Мы должны спасать жизни» не ощущаются по-разному как моральные убеждения — не так, как зрение отличается по ощущениям от слуха. Несмотря на все остальные способы, которыми человеческая система целей усложняет всё вокруг, именно это одно различие ей удаётся превратить в мешанину из вещей с условной ценностью.
Чтобы вычленить терминальные ценности, нам приходится исследовать эту мешанину ценных вещей, пытаясь понять, какие из них заимствуют свою ценность из другого источника. Это трудная задача! Если вы говорите, что хотите запретить оружие ради снижения преступности, может потребоваться некоторое время, чтобы осознать, что «снижение преступности» — это не терминальная ценность, а вышестоящая инструментальная ценность, связанная с терминальными ценностями человеческих жизней и человеческого счастья. А у сторонника прав на оружие могут быть связи с вышестоящей инструментальной ценностью «снижения преступности» плюс связь с ценностью «свободы», которая для него может быть как терминальной ценностью, так и ещё одной инструментальной ценностью...
Мы не можем распечатать всю нашу сеть ценностей, выведенных из других ценностей. Мы, вероятно, даже не храним всю историю того, как эти ценности там появились. Рассматривая правильные моральные дилеммы вида «сделали бы вы X, если бы Y», мы часто можем понять, откуда взялись наши ценности. Но даже этот проект полон подводных камней: обманчивых дилемм и изобилующих пробелами философских аргументов. Мы не знаем, каковы наши собственные ценности или откуда они взялись, и не можем выяснить этого иначе, как затеяв чреватые ошибками раскопки в области когнитивной археологии. Простое сознательное разграничение «терминальной ценности» и «инструментальной ценности», отслеживание того, что это значит, и правильное использование этого различия — тяжёлая работа. И только изучая простой формализм, мы можем увидеть, насколько легко это должно быть в принципе.
И это ещё не говоря обо всех прочих сложностях человеческой системы вознаграждения — использовании механизмов подкрепления в целом, и о том, что есть шоколад приятно, и предвкушать поедание шоколада приятно, но это разные виды удовольствия...
Но я не слишком жалуюсь на этот беспорядок.
Не знать собственных ценностей, возможно, не всегда весело, но по крайней мере не скучно.
*