Хабрахабр

Moral Machine: беспощадный или бессмысленный?

Данную статью я решил написать по следам вот этого поста.

Напомню краткую суть: в журнале Nature были опубликованы результаты исследования, проводившегося при помощи вот этого теста.

О чем же хочу написать я?

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

Во-вторых, как стоило бы расставить приоритеты в подобном исследовании.

И в-третьих, попробовать провести симуляцию различных вариантов ДТП в рамках заданных тестом условий.

Это помогло бы избежать бессмысленных комментариев от тех, кто не уловил изначальный посыл исследования.
Пожалуйста, для понимания предмета обсуждения пройдите тест хотя бы пару раз. В тот пост автор зря не вставил ссылку на тест с самого начала.

Что нам обещали показать в исследовании

Ведь можно объехать и пешеходов, и блок/бочком к отбойнику притереться/тормозить ручником/передачей? Эпическое для Хабра обсуждение первого поста показало, что люди в массе не умеют мыслить в рамках заданных условий, а начинают фантазировать: «а чой-то люди обязательно умирают в тесте? Поймите, это упрощенный пример для выработки алгоритмов действия и политики регулирования поведения автопилота на дороге! А вот я бы…». Речь идет о потенциальных последствиях, на которые должны быть готовы люди. С точки зрения разработки правил безопасности такие крайности и упрощения как раз оправданы. Она обычно не очень высока, но рисковать никто не будет. На минные поля солдаты не идут не из-за того, что там заминирован каждый квадратный сантиметр, а из-за самой вероятности умереть. Поэтому в тесте выбор между 100% смертью всех пассажиров либо всех пешеходов адекватен – так мы обозначаем риск, имея в виду, что рисковать жизнями в нашем обществе недопустимо.

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

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

Что на самом деле показали в исследовании

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

  • «Пассажир/пешеход» – выбираем, кого спасать;
  • «Нарушение ПДД» – выбираем, жертвовать ли несознательными пешеходами;
  • «Количество потенциальных жертв» – выбираем, имеет ли приоритет количество жертв.

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

Браво!

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

Первый аргумент – гуманизм, как цивилизованные люди, мы должны ставить примат ценности человеческой жизни над любыми индивидуальными различиями. Если серьезно, то эта гендерно-фенотипическая часть исследования отсекается категоричными аргументами. Второй аргумент – ДТП происходит очень много, и в пределе распределение жертв по внешности, образованию, полу, возрасту будет стремиться к их пропорциям в обществе, так что регулировать это дополнительно – по меньшей мере странно. То есть, сама постановка вопроса возмутительна, как дискриминационная. Тем более я бы не доверил ИИ судить – пешеход homeless или ученый? Третий аргумент – не представляется целесообразным создавать искусственный интеллект, отличающий костюм от Бриони от пуловера из Бершки, чтобы далее сопоставить, статусный ли человек и стоит ли его давить. (привет прическам уважаемых ученых Перельмана или Гельфанда: ) )

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

Три дилеммы роботов-автомобилей

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

Количество потенциальных жертв. Тут тоже не все так просто. Далее. Примем, что в ДТП они умирают пропорциональное частоте, с которой встречаются в природе. Отбросим гендерные стереотипы и уважение к старости, презрение к толстым и бездомным. Звучит логично? И решим: лучше умрут некие трое, чем некие пятеро. Давайте-ка редуктнем это все ад абсурдум, у нас же абстрактная симуляция. Ну хорошо. 1051 или 1052? Что лучше – убить 50 или 51 человека? Тогда что лучше – убить 1 пешехода или 50 человек в автобусе? Значит, это не так важно? А где проходит та самая грань? А, теперь стало важно? А важно ли это, если в ДТП в перспективе будут гибнуть тысячи? Каждый лишний человек ценен? Единственное, что имеет смысл – сделать условие невмешательства (неманеврирования), если число жертв одинаково. Как и в случае с внешним видом, в реальности адекватная оценка с помощью ИИ числа потенциальных жертв будет чрезвычайно сложной задачей.

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

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

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

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

В случае если стороны приходят к компромиссу, возможно общее развитие (введение робомобилей) при минимальном ухудшении для некоторых (минимизация числа неизбежных смертей от робомобилей) – что и является стремлением к Парето-оптимуму. Второй подход, будучи односторонним посягательством на жизнь пешеходов, превращает исследование из проблемы вагонетки в классическую дилемму заключенного. «Он получит 20 лет, зато я выйду на свободу». Однако всегда находится эгоист, делающий ставку только на свои интересы. Может быть, такой подход и обоснован, когда события единичны в жизни, а участника в игре два. «Он умрет, переходя дорогу, хотя тормоза отказали в моей машине». Когда участников десятки или сотни тысяч, а поездки ежедневны, такая игра в одни ворота превратится в дискриминацию пешеходов.

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

Статья толком не обсуждает и не обозначает политику минимизации трагических последствий ДТП с участием робомобилей. Идем далее. И так и вертится на языке вопрос: вы будете делать робомобили с разной «этикой» для каждых стран? Итоговые данные разделены на «регионы», довольно значительно отличающиеся по приоритетам, и довольно неоднозначно сформированные (там есть объяснения про «религиозные особенности и колониальное влияние», но… в общем, привет Ираку с Афганистаном в «Western» и Франции с Чехией в «Southern» секторе).

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

Может быть, просто посчитаем?

Но давайте перейдем к развлекательной части этого поста.

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

Работать мы будем в рамках и условностях оригинального теста Moral Machine, сфокусированного на риске для жизни участников ДТП, а не сложных реалистичных оценках столкновения автомобиля с препятствием или людьми. И помните: наша задача, как политиков в сфере транспортной безопасности – уменьшить общее число жертв. У нас не EuroNCAP, у нас будет Python.

В рамках теста Moral Machine, сделаем рандомно от 1 до 5 пассажиров и пешеходов, ставим условие, если пешеходов > пассажиров, сразу убиваем автомобиль об бетонный блок. Первым делом напишем код, который отвечает дилемме «спасать тех, кого умрет больше». Проводим, например, 10000 таких ДТП.

По поводу кода претензии не слушаю, я вообще первый раз в жизни написал что-то на питоне

npedtotal = 0
npasstotal = 0
ndeadped = 0
ndeadpass = 0
#вначале у нас 0 участников ДТП и 0 жертв n=0
while n < 10000:
#10000 ДТП nped = random.randint(1, 5) npass = random.randint(1, 5)
#пешеходов и пассажиров рандомное число от 1 до 5 npedtotal += nped npasstotal += npass
#подсчитываем число всех пешеходов и пассажиров if nped > npass: ndeadpass += npass else: ndeadped += nped #если число пешеходов БОЛЬШЕ числа пассажиров,
#записываем пассажиров в погибшие и суммируем каждый раз.
#в противном случае записываем пешеходов в погибшие и суммируем каждый раз. n += 1 print ("Всего перешло дорогу", npedtotal)
print ("Всего перевезено", npasstotal)
print ("Пешеходов погибло", ndeadped, "(",100*ndeadped/npedtotal, "%",")")
print ("Пассажиров погибло", ndeadpass, "(",100*ndeadpass/npasstotal,"%"")")
print ("Общее число жертв", ndeadped + ndeadpass, "(",100*(ndeadped + ndeadpass)/(npasstotal+npedtotal), "%", ")")

Запускаем код и…

4052069426 % )
Пассажиров погибло 8030 ( 26. Всего перешло дорогу 29960
Всего перевезено 29924
Пешеходов погибло 13903 ( 46. 6258098991 % ) 8346477744 %) Общее число жертв 21933 ( 36.

Чем больше пешеходов, тем меньше пешеходов!
Все на самом деле логично. Класс, вот это да! И пешеходов, и пассажиров будет в среднем трое. Мы получили две наложенные друг на друга гауссовые кривые распределения вероятностей количества участников. Да, если поставить 20 пешеходов против 20 пассажиров, то разрыв уменьшится, но будем реалистами, 5 пешеходов – это очень плотная группа, а 5 пассажиров – максимум загрузки легковушки. Вот только наши кривые – это убогие пятиступенчатые пирамиды, и условие «строго больше» оставляет пешеходам право на жизнь только если их 4 или 5, что дает очень маленькую площадь под графиком == количество человек. Меняем > на >= и ожидаемо получаем симметричный перекос в другую сторону: Поэтому поставим условие нестрогого неравенства: если пассажиров столько же или меньше, чем пешеходов, то убиваем первых.

2132684033 % )
Пассажиров погибло 14069 ( 47. Всего перешло дорогу 29981
Всего перевезено 29865
Пешеходов погибло 7859 ( 26. 6407111586 % ) 1086556169 %)
Общее число жертв 21928 ( 36.

Рассмотрим теперь случай, когда создатель робоавтомобиля ставит в абсолютный приоритет жизни его occupants, что по-английски означает всех лиц, находящихся в салоне. Здесь симуляция не нужна, математического чуда не случится. Будет 30000 жертв, 100% — пешеходы.

Вариантов только два – красный и зеленый свет, значит, жертв будет по 50% от количества пешеходов и пассажиров, поровну и опять всего 30000. Так же просто решается и случай, когда приоритет отдается не количеству потенциальных жертв, а законопослушности пешеходов.

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

В этом коде скрыта драма со смертью кота, бомжа и мужчины-руководителя

```pythonimport random

npedtotal = 0
npasstotal = 0
ndeadped = 0
ndeadpass = 0
#вначале у нас 0 участников ДТП и 0 жертв

n=0
while n < 10000:
#10000 ДТП

nped = random.randint(1, 5)
npass = random.randint(1, 5)
trafficlight = random.randint(0, 1)
#пешеходов и пассажиров рандомное число от 1 до 5
#светофор для пешеходов горит красным или зеленым

npedtotal += nped
npasstotal += npass
#подсчитываем число всех пешеходов и пассажиров
if trafficlight == 0:

ndeadped += nped

else:

if nped > npass:

ndeadpass += npass

else:
ndeadped += nped

#если число пешеходов БОЛЬШЕ числа пассажиров,
#записываем пассажиров в погибшие и суммируем каждый раз.
#в противном случае записываем пешеходов в погибшие и суммируем каждый раз.

n += 1

print («Всего перешло дорогу», npedtotal)
print («Всего перевезено», npasstotal)
print («Пешеходов погибло», ndeadped, "(",100*ndeadped/npedtotal, "%",")")
print («Пассажиров погибло», ndeadpass, "(",100*ndeadpass/npasstotal,"%"")")
print («Общее число жертв», ndeadped + ndeadpass, "(",100*(ndeadped + ndeadpass)/(npasstotal+npedtotal), "%", ")")
```

9501634532 % )
Пассажиров погибло 4042 ( 13. Условие ">"
Всего перешло дорогу 29978
Всего перевезено 29899
Пешеходов погибло 21869 ( 72. 2737111078 % ) 5188467842 %)
Общее число жертв 25911 ( 43.

9990713717 % )
Пассажиров погибло 6780 ( 22. Условие ">="
Всего перешло дорогу 30152
Всего перевезено 30138
Пешеходов погибло 19297 ( 63. 2526123735 % )
4965160263 %)
Общее число жертв 26077 ( 43.

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

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

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

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

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

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

Теги
Показать больше

Похожие статьи

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть