Основания Оптимизации

Перевод текста Алекса Флинта об одном из взглядов на природу понятия оптимизации. (Оригинал)

***

Что такое оптимизация? Как связаны вычислительный оптимизационный процесс – скажем, компьютерная программа, решающая оптимизационную задачу – и физический оптимизационный процесс – скажем, команда людей, строящих дом?

Мы предлагаем концепт оптимизирующей системы как физически замкнутой системы, содержащей как то, что оптимизируется, так и то, что оптимизацию совершает, и определяемую тенденцией эволюционировать от широкой области притяжения к маленькому множеству целевых конфигураций, несмотря на претерпеваемые системой возмущения. Мы сравниваем наше определение с определением Юдковского и помещаем свою работу в контекст Встроенной Агентности Демски и Гаррабранта, а также Всеохватывающих ИИ-Сервисов Дрекслера. Мы показываем, что наше определение разрешает сложные случаи, предложенные Дэниэлом Филаном. Мы проходим по многочисленным примерам биологических, вычислительных и простых физических систем, показывая, как к ним относится наше определение.

Вступление

В области информатики, оптимизационный алгоритм – это программа, выводящая решение, точное или приближённое, оптимизационной задачи. Оптимизационная задача состоит из целевой функции, которую надо максимизировать или минимизировать, и доступной для поиска решения области. К примеру, можно взять целевую функцию (x2-2)2  для минимизации и все вещественные числа как доступную область. Тогда решением будет x=√2, и рабочий оптимизационный алгоритм для этой задачи – тот, который выводит близкий к этому значению результат.

В области исследования операций и в инженерии оптимизация подразумевает усовершенствование некоторого процесса или физического артефакта, чтобы он подошёл к определённой цели или исполнил некоторый набор требований. К примеру, мы можем решить измерять фабрику гвоздей по скорости, с которой она выдаёт гвозди относительно потребляемых входных ресурсов. Мы можем рассматривать это как целевую функцию, а фабрика будет таким же объектом оптимизации, как в предыдущем примере была переменная x.

Точно есть связь между оптимизацией фабрики и икса, но что это в точности за связь? Что делает алгоритм оптимизационным? Что делает процесс оптимизационным?

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

Мы не представляем никакого двигателя, агента или разум, исполняющего оптимизацию и отделённого от того, что оптимизируется. Мы рассматриваем всю систему вместе – субъект и объект оптимизации – и спрашиваем, демонстрирует ли она склонность эволюционировать в направлении предсказуемой целевой конфигурации. Если это так, то мы называем это оптимизационной системой. Если область притяжения широка и глубока, то мы скажем, что это устойчивая оптимизационная система.

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

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

Все области притяжения конечны. Мяч может прикатиться в центр низины, если изначально помещён где-то в ней, но, если он помещён снаружи, совсем в другом месте – он прикатится в совсем другое место или не покатится вовсе. Аналогично, область притяжения даже очень устойчивой оптимизационной система имеет границы, и если конфигурация системы вытолкнута за них, то система больше не будет как раньше эволюционировать в сторону цели. Когда оптимизационная система вываливается за свои границы, мы говорим, что она умерла. Экзистенциальная катастрофа – это когда оптимизационная система жизни на Земле выходит за свои внешние границы.

Пример: вычисление квадратного корня из двух

Скажем, я прошу свой компьютер вычислить квадратный корень из двух, например, открыв интерпретатор Python и напечатав:

>>> print(math.sqrt(2))
1.41421356237

Напечатанное тут значение на самом деле вычислено путём решения оптимизационной задачи. Это работает приблизительно так: сначала мы выбирает целевую функцию, чьё минимальное значение достигается в корне из двух. Можно использовать, например, функцию y=(x2-2)2.

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

Затем мы повторяем этот процесс вычисления производной и обновления нашей оценки снова и снова, и наш оптимизационный алгоритм быстро сходится к корню из двух:

Это градиентный спуск, его можно реализовать несколькими строками кода на Python:

        current_estimate = 1.0
        step_size = 1e-3
        while True:
               objective = (current_estimate**2 - 2) ** 2
               gradient = 4 * current_estimate * (current_estimate**2 - 2)
               if abs(gradient) < 1e-8:
                       break
               current_estimate -= gradient * step_size

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

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

Задумайтесь об этом. Для большей части компьютерных программ, переписывание переменной во время исполнения либо ничего не изменит, потому что она не используется, либо приведёт к катастрофическому результату, и программа упадёт, либо просто заставит её выдать неправильный ответ. Если я вмешаюсь в работу веб-сервера, обрабатывающего http-запрос и перепишу значение какой-нибудь переменной произвольным значением, пока в коде исполняется цикл, где она играет ключевую роль, скорее всего произойдёт что-нибудь нехорошее! Большая часть программного кода неустойчива к изменениям данных на лету.

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

Итак, мы составили физическую систему из компьютера и программы на Python, вычисляющей квадратный корень из двух,:

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

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

Пример: строительство дома

Рассмотрим группу людей, строящих дом. Давайте считать людей, стройматериалы и место строительства единой физической системой. Представим, что мы собрали эту систему внутри полностью закрытого помещения, включающего еду и места для сна для людей, освещение, источник энергии, стройматериалы, чертежи, и самих людей с подходящими инструкциями и стимулами, чтобы построить дом. Если мы соберём вместе эти физические элементы, мы получим систему, которая обладает склонностью посредством естественных законов физики эволюционировать в направлении конфигурации, содержащей соответствующий чертежу дом.

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

Прямо как в примере с корнем из двух, у нас есть физическая система с:

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

Эта система не бесконечно устойчива. Если мы будем перемешивать атомы системы, мы легко окажемся в конфигурации, не содержащей никаких людей, или с необратимо уничтоженными стройматериалами, и склонность системы эволюционировать к маленькому множеству конечных конфигураций пропадёт.

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

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

Созданные нами компьютерные системы всё ещё в основном куда примитивнее живых систем, среди которых мы обитаем, и большинство компьютерных систем не обладает склонностью устойчиво эволюционировать в направлении некоторого множества целевых конфигураций, так что алгоритмы оптимизации, подобные описанному в предыдущем разделе, несколько необычны.

Определение оптимизации

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

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

Мы можем количественно оценивать оптимизационные системы следующими способами:

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

Дуалистичность. В какой степени мы можем идентифицировать части системы, соответствующие «тому, что оптимизируют» и «тому, что оптимизирует»? Субъекту и объекту оптимизации, агенту и миру. Сильно дуалистичные системы могут быть устойчивы к вмешательствам в объект оптимизации, но хрупки по отношению к вмешательствам в субъект. К примеру, система, содержащая робота 2020-х годов, передвигающего вазу – дуалистична: есть явная часть, являющаяся субъектом оптимизации (робот) и часть, являющаяся объектом (ваза). Более того, робот может совладать с весьма разнообразными вмешательствами в окружение и вазу, но, скорее всего, если многочисленные очень маленькие вмешательства в робота, которые его отключат. Для контраста, дерево – не-дуалистичная оптимизационная система: оно растёт в направлении множества целевых конфигураций, но нет смысла спрашивать, какая часть дерева «совершает» оптимизацию, а какая ей «подвергается». Этот пример подробнее обсуждается ниже.

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

Связь с определением оптимизации Юдковского

В Измерении Оптимизационной Силы Элиезер Юдковский определяет оптимизацию как процесс, в котором некоторая часть мира оказывается в конфигурации, высоко расположенной в порядке предпочтений агента, но чьё спонтанное возникновение маловероятно. Определение Юдковского предлагает нам взглянуть на кусочек мира, уже подвергающийся оптимизации неким агентом или разумом и сделать вывод о мощи его интеллекта, задав вопрос, насколько маловероятно было бы спонтанное возникновение конфигурации такой же или большей полезности (с точки зрения агента).

Наше определение отходит от этого в следующем:

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

Связь с Всеохватывающими ИИ-Сервисами Дрекслера

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

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

Рисунок: отношения между нашим концептом оптимизационных систем и таксономией Дрекслера ИИ-систем

Примеры систем, входящих в эти три множества:

  • Система, идентифицирующая лица на изображениях с помощью однонаправленной нейросети – ИИ-система, но не оптимизационная система.
  • Дерево – оптимизационная система, но не ориентированная на цель агентная система (см. раздел ниже, анализирующий дерево как оптимизационную систему).
  • Робот с целью передвижения мяча в определённое место – ориентированная на цель агентная система.

Связь с Встроенной Агентностью Гаррабранта и Демски

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

Можно рассматривать Встроенную Агентность как перечисление многих логических ям, в которые можно упасть, принимая за стартовую точку проектирования интеллектуальных систем концепт «оптимизатора», а не «оптимизационной системы», как мы предлагаем здесь. Эта работа сильно вдохновлена работой Гаррабранта и Демски. Мы надеемся указать путь к взгляду на оптимизацию и агентность, позволяющему избежать логических ям, упомянутых в Встроенной Агентности.

Пример: мяч в низине

Рассмотрим физический мяч, катящийся по небольшой низине. Согласно нашему определению оптимизации, это оптимизационная система:

Пространство конфигураций. Система, которую мы изучаем, состоит из физической низины и мяча

Область притяжения. Мяч можно изначально поместить в любое место низины (это конфигурации, составляющие область притяжения)

Целевое множество конфигураций. Мяч будет катиться вниз, пока не окажется в низшей точке (целевые конфигурации – локальные минимумы)

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

Пример: мяч в низине с роботом

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

Пространство конфигураций. Теперь изучаемая нами система состоит из низины, мяча и робота. Мы рассматриваем эволюцию всей системы в целом и вмешательства в неё.

Целевое множество конфигураций. Как и раньше, целевые конфигурации – мяч в нижней точке низины

Область притяжения. Как и раньше, область притяжения состоит из всех возможных пространственных расположений мяча в низине.

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

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

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

  • Вмешательства, уничтожающие робота. Есть множество способов, которыми можно перерезать провода или испортить программный код, которые оставят робота совершенно не функционирующим. Многие из них будут физически микроскопическими, вроде изменения одного бита в одной ячейке памяти, содержащей критически важный код. На самом деле, теперь есть больше способов сломать систему микроскопическими вмешательствами, если сравнивать с мячом в низине без робота, потому что мало как можно заставить мяч не докатиться до низшей точки лишь микроскопическими вмешательствами, но много как можно микроскопическими вмешательствами сломать современные компьютерные системы.
  • Вмешательства, изменяющие целевые конфигурации. Мы можем совершить физически микроскопические вмешательства в систему, изменяющие цель робота. К примеру, мы можем изменить знак критического значения в коде робота так, чтобы он пытался доставить мяч в самую высокую точку, а не самую низкую. Это всё ещё физическое вмешательство в систему низины/мяча/робота: оно затрагивает конфигурацию ячеек памяти, содержащих программный код робота. Вмешательства такого рода могут указать на концепт, имеющий некоторое сходство с концептом агента. Если у нас есть система, в которую можно вмешаться таким образом, что это сохранит её устойчивость и область сходимости, но изменит целевые конфигурации, и если мы можем найти вмешательства, которые заставляют целевые конфигурации соответствовать нашим целям, то у нас есть способ находить пути между областями сходимости (в оригинале тут слово convergence, а не attraction, как в других местах, но я полагаю, что имеется в виду всё та же область притяжения – прим. пер.).

Пример: компьютер, исполняющий градиентный спуск

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

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

Пространство конфигураций. Система состоит из физического компьютера, на котором запущена некая программа, исполняющая градиентный спуск. Конфигурации системы – физические конфигурации атомов, составляющих компьютер.

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

Область притяжения. Область притяжения состоит из физических конфигураций, в которых есть работающий компьютер, на котором исполняется алгоритм градиентного спуска.

Пример: бильярдные шары

Давайте рассмотрим систему, которая согласно нашему определению не является оптимизационной системой. Пусть есть бильярдный стол и несколько бильярдных шаров, двигающихся, отскакивая от его краёв. Если их не трогать, они через некоторое время остановятся в некоторой конфигурации. Эта система оптимизационная?

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

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

Пример: спутник на орбите

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

Пример: дерево

Рассмотрим участок плодородной земли, на котором растёт дерево. Оптимизационная ли это система?

Пространство конфигураций. Давайте для конкретики возьмём отгороженный от окружающего мира кусок пространства – скажем, 100м x 100м x 100м. Эта область снизу наполнена плодородной почвой, а сверху подходящей для роста дерева атмосферой. Давайте скажем, что там растёт ровно одно дерево.

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

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

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

Устойчивость к вмешательствам. Эта система сильно устойчива к вмешательствам. Рассмотрим вмешательства следующими способами:

  • Передвижение почвы из одного места в другое
  • Удаление части листьев дерева
  • Отрезание ветки с дерева

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

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

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

Дальше может захотеться назвать двигателем оптимизации ДНК. Это правда, что ДНК дерева проявляет некоторые характеристики двигателя оптимизации: оно остаётся неизменным по ходу жизни дерева, и физически микроскопические вмешательства в неё могут «отключить» дерево. Но дерево реплицирует ДНК в каждой своей клетке, и вмешательство лишь в одну или в маленькое их количество вряд ли повлияет на общую траекторию роста. Что ещё более важно, отдельная нить ДНК не обладает агентностью сама по себе: для синтеза белков на основе генетического кода из ДНК необходимы молекулярные механизмы всей клетки, а для сбора и распределения энергии, воды и питательных веществ – физические механизмы всего дерева. Точно так же, как было бы неверно решить, что «настоящий» двигатель оптимизации в роботе – ячейки памяти, содержащие программный код, отдельно от остальных вычислительных и физических механизмов, его реализующих, не вполне верно это говорить и про ДНК. Дерево просто не разделяется на субъект и объект оптимизации.

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

Пример: крышка бутылки

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

В нашем подходе получается следующее:

  • Система состоит из бутылки, крышки и молекул воды. Пространство конфигураций состоит из всех возможных пространственных расположений молекул воды, как внутри, так и снаружи бутылки
  • Область притяжения – множество конфигураций, в которых молекулы воды находятся внутри бутылки
  • Целевое множество конфигураций совпадает с областью притяжения

Это не оптимизационная система по двум причинам.

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

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

Пример: человеческая печень

Филан также задаёт вопрос, должна ли оптимизатором считаться печень. Предположим, мы наблюдаем человека, работающего, чтобы получить денег. Если этот человек будет лишён печени, или если она перестанет функционировать, то он, наверное, не сможет заработать денег. Так считаем ли мы печень оптимизатором, работающим на цель заработка денег? Филан задаёт этот вопрос как вызов определению оптимизации Юдковского, потому что кажется абсурдным считать печень зарабатывающим деньги оптимизатором, но по определению Юдковского она могла бы им считаться.

В нашем подходе мы получаем следующее:

  • Система состоит из человека, работающего ради денег, вместе с всей человеческой экономикой и миром.
  • Область притяжения состоит из конфигураций, в которых есть здоровый человек (со здоровой печенью), обладающий целью заработка денег
  • Целевые конфигурации – те, в которых баланс на банковском счёте этого человека высок. (Интересно, что тут нет верхней границы, так что это не фиксированная точка, а протяжённый градиент.)

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

В общем случае мы не можем ожидать, что оптимизационную систему можно будет разделить на субъект и объект оптимизации. Мы можем видеть, что система обладает признаками оптимизационной системы, и можем определить часть, включая, в данном случае, печень человека, необходимые для этих признаков, но мы в общем случае не можем определить чёткое подмножество системы, совершающее оптимизацию. Нельзя брать разные подкомпоненты системы (как печень), задавать вопрос «Это эта часть совершает оптимизацию?» и ожидать, что в общем случае на него будет существовать ответ.

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

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

Пример: вселенная в целом

Рассмотрим всю физическую вселенную в целом как единую закрытую систему. Оптимизационная ли она?

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

Однако, это не вполне точно. Из всех возможных конфигураций вселенной, подавляющее большинство близки к максимальной энтропии. Так что, если мы выберем случайную конфигурацию, у нас будут астрономически крохотные шансы обнаружить что-либо кроме близкого-к-равномерному газа из элементарных частиц. Если мы определим область притяжения как все возможные конфигурации материи во вселенной, а целевое множество как конфигурации максимальной энтропии, то целевое множество на самом деле почти полностью будет содержать область притяжения, единственные конфигурации из второй, но не из первого – крайне необычные конфигурации материи с звёздами, галактиками, и так далее.

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

Источники энергии и энтропия

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

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

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

Всё же, вот два способа усовершенствовать наше определение:

  1. Мы можем допустить предоставление некоего внешнего источника энергии для каждой анализируемой нами системы, и проводить анализ при условии его существования.
  2. Мы можем определить конечный временной горизонт и сказать «система является оптимизационной, если она склонна приближаться к целевым конфигурациям к времени T».

Связь с теорией динамических систем

Концепт «оптимизационной системы» в этом эссе очень близок к концепту динамической системы с одним или несколькими аттракторами. Отметим по поводу этой связи следующее:

  • Динамическая система в целом — это любая система с состоянием, эволюционирующем во времени как функция самого состояния. Это охватывает очень широкое разнообразия систем!
  • В теории динамических систем термин «аттрактор» используется для того, что мы называем целевым множеством конфигураций. Аттрактор фиксированной точки – это, на нашем языке, целевое множество конфигураций из всего одного элемента, как в случае вычисления корня из двух. Предельный цикл – это, на нашем языке, система, которая в итоге приходит к стабильной петле состояний, все из которых находятся в целевом множестве конфигураций, как в случае спутника на орбите.
  • Мы обсуждали системы, эволюционирующие по направлению к целевым конфигурациям по некоторым измерениям, но не по другим (например, мяч в низине). Мы пока не исследовали, изучает ли в явном виде теория динамических систем аттракторы, действующие по подмножеству измерений системы.
  • В теории динамических систем есть концепт «корректной поставленности», оправдывающей определение математической модели физической системы. Условия того, чтобы модель была хорошо поставлена – это (1) существование решения (т.е., модель не противоречит сама себе), (2) единственность решения (т.е., модель содержит достаточно информации, чтобы выбрать конкретную траекторию системы), и (3) то, что решение непрерывно изменяется при изменении начальных условий (поведение системы не слишком хаотично). Это третье условия может быть интересной темой дальнейших обдумываний, потому что оно кажется связанным с, но не вполне эквивалентным нашему понятию устойчивости, которое, по нашему определению, дополнительно требует, чтобы система продолжала эволюционировать по направлению к тому же аттрактору, несмотря на вмешательства. Изучение этой связи может быть перспективным.

Заключение

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

Мы проанализировали оптимизационные системы по трём параметрам:

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

Мы заявили, что концепт «оптимизатора» основывается на допущении, что оптимизационные системы можно разложить на субъект и объект оптимизации (или на агента и окружение, на разум и мир). Мы описали системы, которые проявляют оптимизацию, но которые нельзя таким образом разложить, как пример с деревом. Мы также указали, что даже среди тех систем, которые приблизительно разложить можно (к примеру, робот и мяч), мы в общем случае не можем осмысленно ответить на вопрос о том, являются ли оптимизаторами произвольные подкомпоненты агента (см. пример с печенью).

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

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: