Главное > Рациональность
О рациональном агенте, опорной машине и идеализме
Gradient:
Пришла в голову такая цепочка рассуждений. Вот, допустим, мы создали ИИ, примерно рационального агента. Примерно воплотили концепцию AIXI, то есть ИИ строит кучу моделей реальности и измеряет их сложность, а затем проставляет им штрафы в зависимости от погрешности на ретроданных и от сложности. Для прогноза будущего использует гистограмму от прогнозов каждой модели - например, если первая модель выдала 9 со штрафом 2, а вторая выдала 11 со штрафом 1, то будет гистрограммный прогноз: 1/3 за 9, 2/3 за 11. Ну, это грубое описание, реально моделей будет много, для штрафа есть формулы, одиночная модель будет выдавать гауссиану...
Мы тут же влетим в проблему построения опорной машины. Дело в том, что даже программу для распознавания объектов на картинке мы из сырого кода получать перебором будем долго. Нейросетка для видеоанализа - это мегабайты, а их надо будет подобрать как код (необязателен полный перебор, но это будет определённо не очень умный оптимизирующий процесс). Поэтому ИИ придётся создавать свою библиотеку функций, чтобы часто используемые концепции можно было повторно использовать. То есть ИИ будет описывать реальность на каком-то высокоуровневом языке, а ещё будет иметь транслятор на тот язык, который дал нашему ИИ программист.
Программист: все твои программы будут написаны на Брейнфаке, так как он легко генерится эволюцией и Тьюринг-полный.
AIXI: Ага. *пишет Питон на Брейнфаке, потому что это самый короткий способ получить нейросети, и пишет нейросети. Опорная машина построена, и это Питон*
Я очень упрощённо пишу, скорее всего здесь будет попытка каким-то оптимизатором подобрать удачную модель мира, но теоремы говорят, что скорее всего в этой модели мира будет язык программирования, так как изначально заданный язык будет не очень хорошо описывать наш мир.
Вот. У нас есть "правильная" опорная машина - в ней маловероятные гипотезы описываются сложными конструкциями, а высоковероятные - простыми. То есть априорная вероятность гипотезы обратно пропорциональна длине кода. Всё круто?
А теперь добавим ещё пару вводных.
1) Мы дали нашему ИИ способность моделировать других агентов, ставя себя на их место. Просто дали ему инструмент, которым он может запускать виртуальную копию себя, и этот инструмент оказался удобен для прогнозирования животных и людей.
2) Мы запустили наш ИИ достигать целей, находясь среди людей. То есть крайне важно предсказывать людей, которые целеустремлённые агенты, а значит, для них отлично работает наш подход с виртуальной копией. Ну, или не отлично, но лучше, чем иные варианты.
ИИ настраивает свою опорную машину так, что в ней задача "прогнозировать человека" - это что-то простое. В смысле, выражается очень короткой языковой конструкцией, потому что эту функцию часто приходится дёргать.
То есть человеческий разум становится для ИИ онтологически базовой сущностью (или близко к этому), так как разум=моноблок. То есть ИИ становится идеалистом, в философском смысле. Начинает верить в души =)
Заменяем в этом рассуждении "ИИ" на "человек", "опорную машину" на "картину мира" (не карту, а тот список блоков, из которых она строится), а человеческое общество оставляем.
Я правильно понимаю, что человек практически неизбежно должен был стать идеалистом? И любой интеллект, обитающий в коллективе и умеющий в эмпатию, по умолчанию идеалист? Если человек (или наш модельный ИИ) не увидит огромную вселенную, в которой люди занимают ничтожно малую часть, что может его сподвигнуть стать материалистом (ну или иным не-идеалистом?)
Ну или может, я где-то ошибся в рассуждениях, или недостаточно обосновал?
kuuff:
--- Цитировать ---Я очень упрощённо пишу, скорее всего здесь будет попытка каким-то оптимизатором подобрать удачную модель мира, но теоремы говорят, что скорее всего в этой модели мира будет язык программирования, так как изначально заданный язык будет не очень хорошо описывать наш мир.
--- Конец цитаты ---
Я не очень верю таким теоремам. Эти теоремы созданы людьми, со всеми их интеллектуальными ограничениями. Чтобы доказать теорему о реальности, надо создать модель этой реальности, модель была создана человеком, и человек заложил туда кучу своих ограниченностей. Теорема была доказана о модели, а не о реальности, а соответствие модели и реальности всегда под вопросом.
--- Цитировать ---То есть человеческий разум становится для ИИ онтологически базовой сущностью (или близко к этому), так как разум=моноблок. То есть ИИ становится идеалистом, в философском смысле. Начинает верить в души =)
--- Конец цитаты ---
Хех. Любой человек, в том числе и Гарри Поттер из ГПиМРМ верит в души. Душа -- это историческое название для психики. Спорить о существовании души -- глупо: она и существует и не существет. Она не существует в реальности, но существует в моделях, которые человек использует для мышления о реальности (точнее не так: в некоторых моделях реальности она существует, в некоторых моделях она не существует). И человек не может думать о некоторых аспектах реальности, не включая в свои модели категории "душа" (может быть стыдливо называя её "психикой" или словом "mind" или ещё как-то). Реально спор Поттера с Дамблдором был не о существовании души, а о том, может ли душа существовать в отрыве от тела. Получалось так, что они спорят в терминах, которые замутняют ситуацию, но так получалось потому, что Поттер слишком глуп ещё, а Дамблдор просто не приучен думать так, чтобы пересматривать свои категоризации реальности, в пользу данного конкретного спора.
Психология отказалась от использования слова "душа" для того, чтобы религия не очень возмущалась: религия хочет монополию на работу с душами.
Gradient:
--- Цитировать ---Я не очень верю таким теоремам. Эти теоремы созданы людьми, со всеми их интеллектуальными ограничениями. Чтобы доказать теорему о реальности, надо создать модель этой реальности, модель была создана человеком, и человек заложил туда кучу своих ограниченностей. Теорема была доказана о модели, а не о реальности, а соответствие модели и реальности всегда под вопросом.
--- Конец цитаты ---
- попробую тогда действовать несколько менее широко, чем эта теорема. Некий оптимизатор решает задачу "построить модель реальности так, чтобы эта модель уложилась в минимум кода и имела минимум погрешности". Модель реальности строится из базовых блоков, взятых из некоторого языка программирования. При построении модели у нас получится, что какие-то из блоков мы переиспользуем, и потому если оптимизатор достаточно быстро ведёт перебор, то он вынесет эти повторяющиеся блоки кода в функции. Это выглядит довольно разумным, потому что так бы действовал челвоек, так действует deep learning (более ранние слои порождают абстракции, которые используют более поздние слои). Хотел бы ещё сослаться на эволюцию, но тут не хватает знаний. Детали, которые используются часто, окажутся сжаты в функции, вызовы функций относительно компактны в коде, так что по умолчанию AIXI будет плохо замечать сложность, скрытую за функциями.
Если расчёт экспоненты - это расчёт суммы ряда, то в коде получается около 7 действий (зависит от того, как считать, но примерно так). Если же экспонента вынесена в функцию, то конкретно вызов функции - это 1 действие. Если у нас экспонента встречается в 1000 мест, и при этом она вынесена в функцию, то общая сложность все работы с экспонентой получится 7 + 1000. 7 операторов при написании функции, 1000 вызовов. Создание языка программирования я имел в виду именно в этом смысле.
Да, конечно, на практике идеального оптимизатора не существует, но это иногда не мешает рассуждать о том, что сделал бы AIXI, если бы этот оптимизатор был, и делать то же самое, называя это рациональностью =)
Или вы видите тут какую-то проблему в рассуждениях? Мне кажется, я выдал довольно короткую цепочку (она просто продублирована разными словами), там не должно быть сложностей проверки, как с доказательством теоремы Ферма.
--- Цитировать ---Хех. Любой человек, в том числе и Гарри Поттер из ГПиМРМ верит в души. Душа -- это историческое название для психики. Спорить о существовании души -- глупо: она и существует и не существет. Она не существует в реальности, но существует в моделях, которые человек использует для мышления о реальности (точнее не так: в некоторых моделях реальности она существует, в некоторых моделях она не существует). И человек не может думать о некоторых аспектах реальности, не включая в свои модели категории "душа" (может быть стыдливо называя её "психикой" или словом "mind" или ещё как-то).
--- Конец цитаты ---
- это хорошее замечание.
Да, люди прогнозируют действия друг друга, не используя редукционизм, а используя полунатурное моделирование (эмпатию?), либо моделирование чёрным ящиком (как с любым незнакомым явлением), либо комбинируя подходы.
Но... Существуют люди, которые явно или неявно утверждают: "Разум - прост. Это онтологически базовая сущность. Поэтому будем считать, что мир создан Богом, это же намного проще по Оккаму, чем физическая модель Большого Взрыва, и живые существа порождены разумным замыслом, так как в нём меньше блоков, чем в модели эволюции".
То есть априорная вероятность любой физической модели в такой ситуации сильно ниже, чем априорная вероятность модели разумного замысла =) Конечно, факты будут двигать эти вероятности (если у нас агент похож на рационального).
Такая расстановка априорных вероятностей выглядит для меня довольно плохой практикой. Кажется, довольно неправильно в любой непонятной ситуации искать проявления разума, причём часто ещё и нечеловеческого. Но в то же время у меня создаётся впечатление, что такие априорные вероятности выставятся автоматом у рационального агента, который проводит достаточно много времени в обществе и мало времени изучает неразумную природу.
kuuff:
--- Цитата: Gradient от 25 Августа 2020, 15:30 --- - попробую тогда действовать несколько менее широко, чем эта теорема. Некий оптимизатор решает задачу "построить модель реальности так, чтобы эта модель уложилась в минимум кода и имела минимум погрешности".
--- Конец цитаты ---
Такая модель реальности -- это реальность. Для этого достаточно написать дифуры КМ, а всё остальное будет не кодом, а данными, начальными условиями для дифур.
И, я отмечу, это я не просто придираюсь к словам, это фундаментальная вещь: любая модель реальности -- это инструмент, заточенный под решение какого-то класса задач. Нет универсальной модели реальности. Универсальная модель реальности будет неотличима от реальности. Например, что такое "минимум погрешностей" определяется тем классом задач, которые ты собираешься решать, и тем какие требования задачи предъявляют к точности решения.
--- Цитата: Gradient от 25 Августа 2020, 15:30 ---Модель реальности строится из базовых блоков, взятых из некоторого языка программирования. При построении модели у нас получится, что какие-то из блоков мы переиспользуем, и потому если оптимизатор достаточно быстро ведёт перебор, то он вынесет эти повторяющиеся блоки кода в функции. Это выглядит довольно разумным, потому что так бы действовал челвоек, так действует deep learning (более ранние слои порождают абстракции, которые используют более поздние слои).
--- Конец цитаты ---
Было бы хорошо, если бы было так, но реально всё хуже. Человек учится решать простые задачи, эти задачи часто несвязаны друг с другом. Потом уровни абстракции повышаются, разные категоризации реальности (возникшие при решении разных классов задач) начинают перемешиваться, а потом человек приходит в школу, и начинает повышая уровни абстракции мышления копать вниз к микроустройству Вселенной. В результате получается такой бардак, что сам чёрт ногу сломит. Психология 150 лет не может разобраться. Философы тысячелетиями голову ломают.
--- Цитировать ---Детали, которые используются часто, окажутся сжаты в функции, вызовы функций относительно компактны в коде, так что по умолчанию AIXI будет плохо замечать сложность, скрытую за функциями.
--- Конец цитаты ---
И это неплохой пример тому, о чём я говорю. У тебя есть модель программирования, и ты пытаешься её натянуть на концепцию интеллекта. То есть у тебя заранее есть модель, и ты обтачиваешь напильником категорию "интеллект", чтобы она влезла в модель программирования. Что ты получишь в результате? Насколько твоя модель интеллекта, которую ты создашь, будет соответствовать реальному интеллекту?
Все доказательства теорем, которые ты будешь строить в рамках этой модели -- будут доказывать теоремы об этой модели интеллекта, а не об интеллекте. Может быть эти теоремы можно распространить на интеллект, может быть нет. Откуда мы можем знать?
--- Цитировать ---Такая расстановка априорных вероятностей выглядит для меня довольно плохой практикой. Кажется, довольно неправильно в любой непонятной ситуации искать проявления разума, причём часто ещё и нечеловеческого.
--- Конец цитаты ---
Это, возможно, наилучшая практика. Если гипотеза о том, что интеллект человека возник в результате социальных игр, то он заточен на то, чтобы моделировать работу других психик. И если мы берём и начинаем приписывать интеллект чему-то, что явно интеллекта не имеет, то мы начинаем использовать развитые нейронные сети (созданные для анализа и предсказания поведения других людей) для анализа этого чего-то. Последнее время я сознательно думаю о программах, как об одушевлённых сущностях. Когда я задаю вопрос программе "да, что ж тебе не хватает в этой жизни, сучара бацильная, зачем ты творишь эту пургу" -- это не просто способ спустить эмоции, это реальный вопрос, которым я озадачен, я так думаю.
Это то же самое, что ты пытаешься сделать с интеллектом, заталкивая его в модель программирования: ты очень хорошо научился мыслить в модели программирования, и для тебя естественно пытаться использовать её для всего, хоть самым отдалённым образом похожего на программирования. Это часто работает. Но надо знать ограничения метода, иначе можно сделать неверные или излишне категоричные выводы.
Добавлено 25 Августа 2020, 16:23:
Кстати:
Everything seems like a nail, when you are holding a hammer.
Всё выглядит гвоздём, когда ты держишь в руке молоток.
https://en.wikipedia.org/wiki/Law_of_the_instrument
https://ru.wikipedia.org/wiki/%D0%97%D0%BE%D0%BB%D0%BE%D1%82%D0%BE%D0%B9_%D0%BC%D0%BE%D0%BB%D0%BE%D1%82%D0%BE%D0%BA
Туда же до кучи, можно вспомнить анекдот, про поиски ключей там, где светло, а не там, где потерял.
Человеческие мозги так устроены. Математику осваивают через геометрию -- о рядах, группах, теории полей Галуа можно думать в геометрических терминах. Как это происходит сложно описать, но я проходил через это, и совершенно точно говорю: я визуализировал группы, когда думал о них. Я визуализировал гомоморфизмы. Я визуализировал ряды. Вся математика, которую мне вколачивали в голову на матмехе, каким-то образом у меня в голове рисовалась. У меня плохо с осознанием этих образов -- я научился их осознанно замечать недавно, когда учился на психфаке, до этого они иногда мелькали картинками, и я не обращал на них внимания и часто неосознавал вообще. Но всё мышление о математических проблемах идёт у меня через геометрические образы. Все слова типа "для любого эпсилона, существует дельта..." это лишь способ описания тех образов: я представляю себе картинку, и начинаю её описывать. И всегда так делал.
Зрительная кора хорошо развита? Почему бы не использовать её, думая о конечных группах?
Gradient:
--- Цитировать ---Такая модель реальности -- это реальность. Для этого достаточно написать дифуры КМ, а всё остальное будет не кодом, а данными, начальными условиями для дифур.
--- Конец цитаты ---
- тут я вижу много проблем.
Во-первых, начальные условия ещё попробуй найди. Я не уверен, что это проще, чем построить нейросеть, например, которая даёт прогноз +- 0.01%.
Во-вторых... Допустим, мой ИИ смотрит на мир через датчики биржевого бота. Или через камеры беспилотника. Или через сенсоры ядерного реактора. Тут ещё построить бы модель, которая за данными этих датчиков улавливает квантмех.
В-третьих, это слишком тяжеловесная модель. Если мне нужен горизонт планирования на хотя бы час вперёд (и так раз в секунду), эта модель вряд ли годится.
Ну и в-четвёртых, КМ не является полной моделью мира, как ни прискорбно. Она плохо работает с гравитацией.
Я согласен, что модель выбирается под задачу. В случае с ИИ - скорее строится под задачу.
Я бы согласился, что такая модель реальности - это и есть реальность, если бы имел машину времени. А так - для принятия решений, у которых гарантировано хоть какое-то подобие оптимальности, нужно предвидеть будущее. Есть и другой подход, но об этом чуть позже.
--- Цитировать ---И это неплохой пример тому, о чём я говорю. У тебя есть модель программирования, и ты пытаешься её натянуть на концепцию интеллекта. То есть у тебя заранее есть модель, и ты обтачиваешь напильником категорию "интеллект", чтобы она влезла в модель программирования. Что ты получишь в результате? Насколько твоя модель интеллекта, которую ты создашь, будет соответствовать реальному интеллекту?
--- Конец цитаты ---
- тут не совсем так. Не, я понимаю, вы указываете на то, что я довольно предвзят к каким-то видам моделей, и это что-то похожее на ту самую опорную машину.
Но я не особенно пытаюсь моделировать человеческий интеллект.
Я отталкиваюсь вот от чего: есть концепция рационального агента. Это идеальный игрок, который максимизирует полезность настолько хорошо, насколько это вообще возможно. Человек не является РА. Но человек может для достижения целей постараться действовать как РА. Не столь важно, будет ли РА реализован через человека или через ИИ - по идее, они будут выдавать схожие результаты. Узнав поведение одного, мы можем примерно знать поведение другого в сходных ситуациях.
Есть тот вид рационального агента, которого описывает Юдковский, пользуясь связкой терминов "инструментальная рациональность" и "эпистемологическая рациональность". Это... Если перевести его рассуждения на язык математики, получается AIXI, то есть примерно тот ИИ, который я описал. В идеале. На практике есть разные ограничения.
По идее, из концепции "максимизируй полезность" необязательно следует "для этого строй модели мира, тестируй их на практике, меняй их вероятности по теореме Байеса, а априорную вероятность выводи через Колмогоровскую сложность". Но... Я не видел чего-то лучше. Всё, что видел, является либо урезанными вариантами AIXI, и в связи с этим можно предсказать, где имено система навернётся. Либо различными порождениями эволюции и подобных процессов, где происходит выбор не в пространстве действий, а в пространстве стратегий, но такой подход намного менее эффективен по данным.
Поэтому я полагаю, что выводы, применимые к AIXI, хорошо переносятся на других рациональных агентов. Не на любые другие интеллекты, а на других РА
--- Цитировать ---Было бы хорошо, если бы было так, но реально всё хуже. Человек учится решать простые задачи, эти задачи часто несвязаны друг с другом. Потом уровни абстракции повышаются, разные категоризации реальности (возникшие при решении разных классов задач) начинают перемешиваться, а потом человек приходит в школу, и начинает повышая уровни абстракции мышления копать вниз к микроустройству Вселенной. В результате получается такой бардак, что сам чёрт ногу сломит
--- Конец цитаты ---
- я задумывался об этом. Я наблюдаю, что все эти задачи так или иначе завязаны на навигацию тела в пространстве и восприятию через глаза и уши (в меньшей степени через другие органы чувств). Все остальные задачи накручены поверх как многоуровневые абстракции. То есть в принципе можно было бы вывести единую предсказательную модель именно потому, что мы всегда смотрим через одни и те же сенсоры, в каком-то смысле. На практике эта модель была бы слишком огромная и не влезала бы в сознательную память, и работала бы как что-то типа машинлёрнинга, то есть чистый блэкбокс. Возможно, у нас даже есть такая модель, и именно она подсказывает, что мы увидим в следующую секунду. В таком случае её базовыми блоками являются, видимо, нейроны, а не что-то более абстрактное.
--- Цитировать ---И если мы берём и начинаем приписывать интеллект чему-то, что явно интеллекта не имеет, то мы начинаем использовать развитые нейронные сети (созданные для анализа и предсказания поведения других людей) для анализа этого чего-то. Последнее время я сознательно думаю о программах, как об одушевлённых сущностях.
--- Конец цитаты ---
- да, это полезная эвристика.
Тогда... Окей, мои рассуждения о рациональных агентах не вполне переносятся на людей, которые РА не являются и не очень пытаются. Опорная машина не равна онтологии, это лишь базовый набор эвристик
--- Цитировать ---Зрительная кора хорошо развита? Почему бы не использовать её, думая о конечных группах?
--- Конец цитаты ---
- если воспринимать зрительную кору как набор эвристик (и аппаратное обеспечение, их поддерживающее), то да, выглядит разумно
Навигация
Перейти к полной версии