Законы Азимова в псевдокоде или применение трех законов сегодня [закрыто]
Сначала я спросил об этом в Writers.SE, но мне посоветовали сделать лучше здесь .
Я работаю над научно-фантастическим романом, который будет включать большое количество и разнообразие синтетических форм жизни. На меня оказали сильное влияние работы Азимова, и, хотя я не могу четко указать законы, которые я использую для управления искусственной жизнью, я хочу иметь твердую опору для того, как мои роботы - или как бы они ни назывались - способны принимать этические решения. С точки зрения сюжета, я также хочу реалистичные способы, которыми эти правила могут быть взломаны или иным образом подорваны.
Я хотел бы найти / заняться обсуждением того, как некоторые алгоритмы, которые могли бы заставить работать законы робототехники Азимова , могли бы быть воплощены в современные концепции программирования. Если это уже существует, то отлично! Если нет, то я надеюсь, что мы сможем поговорить об этом или что люди могут направить меня в нужное место.
Я знаю, что мог бы задать этот вопрос на чистом сайте кодирования, но я не хочу быть заваленным строками исходного кода. В то же время я не хочу читать тома философии, которые не имеют основ в современном компьютерном программировании. Я ищу что-то среднее между . Итак, я подумал, что в SO-сообществе должны быть другие научные люди, имеющие опыт в подобных исследованиях.
Я хочу, чтобы мой конечный продукт был тяжелым SF, и у меня есть степень по программному обеспечению, но я не хочу тратить 20 лет на робототехнику, чтобы исследовать эту тему. Если кто-то хочет, чтобы я разъяснил, просто прокомментируйте или сделайте попытку ответа. Я очень ценю любую помощь в поиске некоторых ответов на этот вопрос.
Изменить: Спасибо за комментарии . кто-нибудь хочет и может начать чат по этой идее?
Кевин ♦ HorusKol Кевин ♦ ВалорумОчень спекулятивный вопрос, но давайте попробуем:
Шаг № 1: Определить робота
- Робот - это в основном компьютер с подключенными датчиками и приводами.
- Вы можете убрать датчики и исполнительные механизмы, не уменьшая сущности робота, который покидает компьютер или мозг.
- Компьютер основан на трех вещах (как хорошо знает человек с вашим уровнем образования): ввод, обработка и вывод
Шаг № 2: Законы в удобочитаемой форме
- Робот не может причинять вред человеку или, в результате бездействия, позволять человеку причинять вред.
- Робот должен подчиняться приказам, данным ему людьми, за исключением случаев, когда такие приказы противоречат Первому Закону.
- Робот должен защищать свое существование, пока такая защита не противоречит Первому или Второму Закону.
- Нулевой закон : робот не может причинить вред человечеству или, по бездействию, позволить человечеству причинить вред.
Шаг № 3: Предпосылки алгоритма
- Способность ощущать, объективно оценивать и сравнивать «Вред»
- Тщательное знание человеческих уязвимостей (физиологических, пищевых, психологических)
- Точное понимание причинных законов его рабочей области (например, устройство А излучает излучение; бетонная колонна В может выдержать только силу в 10 000 ньютонов и т. Д.)
- Таким образом, он обладает способностью прогнозировать последствия всех действий, которые ему открыты, и действия, которые могут предпринять люди, со степенью точности, приемлемой для людей.
Шаг № 4: Алгоритм
- Исходные данные : входные данные датчиков (визуальные, слуховые, тактильные, дистанционные датчики, каналы в реальном времени из распределенных сетей, таких как Интернет и т. Д.)
- Обработанные входные данные для алгоритма : массивный вектор / матрица прогнозируемых вероятностей: например, скорость и направление автомобиля A, проецируемые на человека H в течение 3 секунд; Рефлекс человека-водителя: 0,3 секунды; ETA этого робота до местоположения H: 2 секунды -> Продолжайте обрабатывать эти переменные до тех пор, пока не будет превышен порог риска, и (в этом случае, до того, как ETA автомобиля достигнет двух секунд) начните профилактические действия.
- Необработанная продукция : оцененная матрица риска возможных действий
- Оценка возможных превентивных действий в зависимости от потраченного времени, риска для себя и других, вероятности успеха, серьезности вреда, которому подвергается человек: например, убрать человека с дороги? предупредить водителя? предупредить человека, если машина движется медленно?
- Окончательный результат : действие
- Во время выполнения действия выполните непрерывный цикл оценки, чтобы увидеть изменение переменных риска, чтобы при необходимости можно было корректировать действия.
Последствия
- Обратите внимание, что это в основном система оценки рисков.
- Обратите внимание на то, что предложение «через бездействие, разрешить» очень сложно реализовать - только роботы с глубоким пониманием людей смогут вмешиваться в действия человека, чтобы предотвратить вред
- Обратите внимание, что нулевой закон требует данных о рисках, охватывающих все человечество, которые будет трудно реализовать в отдельных роботах - для этого потребуется суперкомпьютер.
Микалай
В дополнение к ответу @HNL, вот несколько диаграмм, показывающих внутренности робота.
Общая схема
Фактически сама «обработка» может быть разделена на 2 слоя, аналогично человеческой нейронной системе - должна быть система высокого уровня, выполняющая задачи высокого уровня (например, «Ходить по магазинам»), и задачи низкого уровня, такие как «Левая нога», - сделать следующий шаг'. Это кажется более логичным с технической точки зрения. Это легче развивать. Также проще повторно использовать некоторые модули. Задачи уровней имеют разную направленность - система высокого уровня управляет отношениями и этикой, а задачи низкого уровня - физические движения и взаимодействие с вещами.
Итак, процесс внутри «нейронной системы» выглядит следующим образом:
Модуль анализа ситуации создает описание, которое будет использоваться следующим модулем. Для системы высокого уровня это описывает вовлеченных людей (мастер, который дал заказ), местоположения (магазин), и т. Д. Низкий уровень описывает ближайшее физическое окружение (тротуар, улица, которую нужно пересечь, и т. Д.)
Модуль принятия решений принимает решение. Модуль высокого уровня - это место, где мы реализуем 3 закона в первую очередь. Модуль низкого уровня определяет, должен ли робот ждать зеленого света или останавливать движение, чтобы, например, не наступать на кошку.
Модуль действий принимает решение и выполняет действия. Высокий уровень: чтобы ходить по магазинам, мне нужно выяснить, что требуется, пройтись по улице и т. Д. Действия высокого уровня разбиты на ряд действий низкого уровня (двигать руками, ногами, что-то говорить и т. Д.)
Обратная связь дает роботу возможность видеть / предвидеть свои действия или их последствия.
Модуль принятия решений
Ввод - это описание ситуации (вывод из модуля синтаксического анализа). Модуль принятия решений использует несколько различных подходов для анализа.
Сначала, пройдя через нейронную сеть, роботы понимают задачу, затем применяют логические правила. Законы роботов могли строго указываться при обработке исключений, поэтому он мог реагировать немедленно. Остальные задачи должны проходить через нейронные сети / логические модули (возможно, несколько раз), чтобы узнать какой-то план выполнения.
Резюме
Во-первых, с технической точки зрения робот выполняет задачи. Задачи высокого уровня разбиты на последовательность простых задач, которые разбиты на последовательность задач низкого уровня, таких как движения определенной части робота. Робот постоянно анализирует ситуацию и принимает решение о необходимости изменения очереди задач.
Вот некоторые мысли о взломе и подрывной деятельности:
Даже если датчики робота настолько хороши, что робот может отслеживать всех людей в городе, вы должны ограничить ответственность робота. Например, робот не может помочь людям, которые находятся в другой части города. (Это на самом деле противоречит 1-му закону). Так что, вероятно, с этической точки зрения вы должны ограничить возможности датчиков робота.
Вы не можете дать роботам способности к прогнозированию - на улице робот будет вычислять судьбы людей навсегда. Это может быть либо «робот-оракул», либо просто интересная неисправность.
Из-за модульной природы, вы можете подключить к роботу модуль анализа различных ситуаций. Например, подключите робота к компьютерной игре и посмотрите, что получится.
Модуль принятия решений должен быть разным в разных странах / культурах. Хороший пример - разные жесты в разных культурах и робот должны реагировать по-разному. (Наверняка японский робот будет сбит с толку в Европе).
Вы можете дать роботам возможность общаться друг с другом через сеть. Чтобы они могли объединять и координировать свои действия для удовлетворения законов. С другой стороны это может быть катастрофа, как Скайнет.
Когда часть модуля принятия решений сломана и робот убивает человека - робот должен все же «понять» это - ситуация будет проходить через сенсоры к «мозгу» и «памяти». Что должен делать робот в этом случае? Сообщить о себе как о сломленном или выработать «самооборонительный» инстинкт?
Там может быть интересным потоком стирания памяти. Например, есть нейронная сеть, которая неявно содержит некоторые правила, и отдельная «память», где роботы хранят некоторые факты. Таким образом, если вы удалите только сырую память, поведение робота и некоторый опыт все равно будут находиться в нейронной сети, и робот сможет каким-то образом восстановить «стертое» прошлое себя.
GolanTrev
Из историй, которые я прочитал, похоже, что Азимов проделал большую работу, обходя детали того, как на самом деле работает позитронный мозг. Это то, что породило один и тот же вопрос, а именно, как реализовать три закона в искусственном мозге. НХЛ проделала огромную работу, суммируя роботов как компьютерные объекты с кучей датчиков и исполнительных механизмов, прикрепленных к ним. Но затем он каким-то образом воспринял компьютер как мега-вычислительную машину. Мы не обладаем подобными мега-вычислительными способностями, как люди, хотя мы можем сами оценивать риски и принимать меры. Однако, поскольку здравый смысл может подвести нас (довольно часто на самом деле), это было бы очень хорошим дополнением и должно рассматриваться как дополнительный независимый модуль, если хотите. Этот модуль, будучи наполненным воспоминаниями или некоторыми фактами, извлеченными из чувств, даст еще больше информации в виде полезных выходных данных другим частям искусственного мозга.
Джефф Хокинс сказал в своей книге « Об интеллекте» , возможно, нам следует говорить не об «искусственном интеллекте», а скорее об «истинном интеллекте, индуцированном искусственным устройством». Я бы предложил всем, кто интересуется подобными вещами, прочитать эту очень интересную книгу. Для меня это было вдохновляющим. Поскольку я «работаю» в области машинного обучения, я был довольно расстроен указаниями, принятыми до сих пор в этой области, как и Хокинс некоторое время назад.
Возможно, нам следует заняться проблемой с точки зрения более точного подражания биологии, как предполагает его работа, используя так называемую «иерархическую временную память». Интеллект (и, следовательно, память) фактически состоит из иерархии ассоциаций множества стимулов (включая обратные связи действий), закодированных в виде цепей в мозге. Если некоторые виды поведения глубоко укоренились в нас, это отчасти связано с некоторыми видами вознаграждений, которые наш мозг время от времени выпускает в виде гормонов. Гормоны облегчают (или подавляют) построение определенных ассоциаций, которые мозг считает хорошими (плохими) для нас (которые не обязательно являются хорошими (плохими) в абсолюте . к сожалению). В этом смысле и в отношении трех законов, я думаю, что для того, чтобы он был действительно адаптирован к нашим обществам, робот должен сначала иметь ограниченные средства действия (например, меньшее количество исполнительных механизмов) и должен подвергаться воздействию общества и его окружающей среды как насколько это возможно, прежде чем им позволят полностью взаимодействовать с ними. Некоторое желаемое поведение и ассоциации могут быть усилены с помощью установленных фиксированных стимулов, чтобы дать сильные намеки на то, что хорошо или плохо в конкретном контексте. Эти фиксированные стимулы - самые близкие вещи, которые я могу придумать, чтобы закодировать три закона на практике. Эти ассоциации должны быть каким-то образом заморожены, чтобы они были достаточно эффективными. У людей могут развиться плохие или хорошие привычки, которые трудно изменить в конце концов. Делая это особенно трудно изменить, мы должны быть в порядке.
Я не думаю, что совершенство когда-либо будет достигнуто с такой архитектурой. В некоторых случаях он потерпит неудачу, как это делают сами люди, но с помощью информации, предоставляемой некоторыми дополнительными модулями, такими как «мега-вычислительный», это может быть несколько смягчено. Я готов поспорить, что искусственный мозг в смысле одной вычислительной машины тоже никогда не зайдет так далеко. Фактически, сам интеллект человеческого мозга может быть в значительной степени превзойден интеллектом, индуцированным такими устройствами. Он может накапливаться вместо того, чтобы быть потерянным в какой-то момент (например, в конце жизни человека). Все, что остается человеку - это язык, чтобы извлечь его ум или знания из собственного мозга. К сожалению, для передачи этих знаний другому мозгу требуется время. Кроме того, как бы вы ни старались, это часто меняется в процессе. Другая проблема заключается в том, что иногда мы никогда не создаем важных ассоциаций, которые, тем не менее, являются скрытыми и находятся на грани того, чтобы быть созданными, если им уделить немного больше времени. Вывод, много времени потеряно. Вы никогда не увидите больше, чем верхушка интеллектуального айсберга в одном мозгу за такую короткую жизнь, как наша. Возможно, решением наших ограничений было бы найти способ для нашего мозга общаться с таким устройством. Думаю, было бы намного сложнее, но не невозможно. Полагаю, что этика тоже указала бы на нос.
Я был бы признателен, если бы это было на форуме, где я мог бы поговорить об этом больше, потому что я отвлекся. Кстати, я не тот, кто придумал это . Хокинс перенес это в мой мозг через свою книгу. И для него мы, возможно, должны рассмотреть формы интеллектуальных агентов в более широком смысле, не обязательно человеческие или подобные животным сущности. Также не стесняйтесь украсть эти идеи для вас в следующей книге :).
BennyMcBenBen
PW Singer утверждает, что законы робототехники Азимова не работают. Он поднял вопрос о реализации «Трех законов робототехники» Азимова в своей книге « Wired for War » (2009), в частности, на странице 423 в издании в мягкой обложке.
Есть только три проблемы с этими законами. Во-первых, это выдумка. Это сюжетное устройство, которое Азимов придумал, чтобы помочь вести свои истории. Действительно, его рассказы почти всегда вращались вокруг следования законам роботов, но затем сбились с пути и непредвиденных последствий, которые в результате. В рекламе фильма 2004 года к экранизации известной книги Азимова « Я, робот» лучше всего сказано: «Правила были созданы для того, чтобы их нарушать».
Например, в одной из историй Азимова роботов заставляют следовать законам, но им придают определенное значение «человек». Предваривая то, что сейчас происходит в реальных кампаниях по этнической чистке, роботы признают только людей определенной группы как «людей». Они следуют законам, но все еще проводят геноцид.
Вторая проблема заключается в том, что никакая технология еще не может воспроизвести законы Азимова внутри машины. Как сказал Родни Брукс: «Люди спрашивают меня, следуют ли наши роботы законам Азимова. Есть простая причина [они этого не делают]. Я не могу в них строить законы Азимова». Даниэль Уилсон немного более витиеват. «Правила Азимова аккуратны, но они также чушь собачья. Например, они на английском. Как, черт возьми, ты это программируешь?»
Наконец, большая часть финансирования исследований в области робототехники поступает из военного завода. Ему явно нужны роботы, которые могут убивать, не будут получать приказы от какого-либо человека и не заботятся о своей жизни. Так много для законов один, два и три.
Как программист, я не хотел бы иметь эти законы в качестве требований к программному обеспечению. Они имеют дело с абстрактными понятиями: травма, бездействие, человек, порядок, существование, человечество. Эти понятия не определены в законах, и вам будет трудно заставить группу людей договориться о том, что они имеют в виду.
Предполагая, что люди могут договориться о конкретных, наблюдаемых определениях этих абстрактных концепций и технические препятствия могут быть преодолены, можно утверждать, что многие стороны, особенно военные, не заинтересованы в кодировании этих законов в роботизированное поведение.
Энтони ХАарон Дигулла
Я бы предложил изучить следующие углы:
В своих историях о роботах Азимов исследовал изменения в поведении, если изменить относительный вес законов. Например, в шахтерской среде вес первого закона был уменьшен, иначе роботы не позволили бы людям покинуть свои космические корабли (из-за опасности заболеть радиацией). Таким образом, существует а) глубокая аргументация, почему существует три закона и б) почему они находятся в таком порядке.
Конечно, реальность гораздо сложнее, чем в рассказах. Если у вас есть поезд, бегущий по пути, и на пути есть три человека, вы бы перевернули перекресток, если это спасло эти три жизни? Что, если на другом треке будет один человек? Что, если в поезде будет 500 человек, и есть небольшая вероятность, что поезд выскочит из рельсов, возможно, убив пассажиров и 3 человек на пути? Вы убили бы трех человек, если бы это означало, что дорожка была в достаточно хорошей форме, чтобы обеспечить благополучие тысяч людей в следующем городе, который зависит от товаров, привезенных поездом?
Чтобы оценить риск, нужно уметь его замечать. Датчики редко бывают идеальными. Мощность процессора ограничена. Алгоритмы ограничены. Если три человека видят преступление, вы получаете четыре истории. Почему? Поскольку наш мозг получает 100 миллионов бит информации каждую секунду от датчиков тела, но только 40 из них попадают в наше сознание - мы были бы полностью ошеломлены, если бы нам пришлось иметь дело со всем. Таким образом, информация сжимается. Иногда важные части теряются. Эти части воссозданы со здравым смыслом и воспоминаниями, которые мы никогда не замечали. Можем ли мы создать робота, который работает лучше, или этот искусственный мозг зажарит себя за несколько минут?
Всегда есть угловые случаи. Есть социальные правила. Обществу все равно, будет ли убит разумный робот, но как насчет робота? А как насчет Движения за права роботов? Сколько из этих социальных правил может знать робот? Или, может быть, они знают больше правил, чем любой человек может понять, и, таким образом, действуют таким образом, что ни один человек не может понять?
Всегда помните, что вещи никогда не бывают идеальными. У вас всегда есть баланс между преимуществами и недостатками. Если робот может обрабатывать много информации, причины этого могут быть лишь поверхностными. Если это глубокий мыслитель, объем информации должен быть как-то ограничен.
У него есть цели или скрытая повестка дня (подумайте о HAL в 2001 году)?
Синдром трансформации: если робот развивался сам, насколько легко общение с человеком? В конце концов, люди будут похожи на муравьев для робота: примитивных, простых, маленьких, но все еще сложно найти муравьев, чтобы построить небоскреб.