ИИ мечты: эмоции и иррациональность

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

Изначально я делал анализ работы мозга (эмоции, сознание, сны) чтобы воспроизвести баги и таким образом воспроизвести сознание. Долго ли, коротко ли, но мне в руки попалась игра "Degrees of Lewdity", которая заставила меня ощутить себя спящим, а так же осознать, что нелюбовь к математике местных (игровых) учеников - это страх перед учителем.

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

В этой статье я хотел бы рассказать о моей "спарке" FPT и KASEOSA.

08.Shoujo Musume @ 07.Yumemiru Kikai<br /> Hirasawa Susumu, Satoshi Kon
08.Shoujo Musume @ 07.Yumemiru Kikai
Hirasawa Susumu, Satoshi Kon

"Кирпичик" FPT

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

- Fear - Insequrity из DoL, "иррациональный страх" от трогания воспоминания с этим кирпичиком связанного.То есть: вы идёте по улице, всё нормально, но замечаете тень на ветке - и вот с воплем "гуки на деревьях!" вы скрываетесь за ближайшем укрытием. Просто несколько воспоминаний с предельным "Fear".

- Passion - "желаемость" этого действия, иррациональная тяга к нему. Психологическая зависимость.

- Tense - формальный параметр для учёта эмоциональной "напряжённости", нужно при расчётах.

FPTN это базовый кирпичик, который при испуге можно выложить. Он обеспечивает "иррациональность" поведения даже для ИИ сделанного в виде сценария в Twine.

Для разработчиков будет особенно интересно то, что это всего лишь 4 INT'a, при этом в расчётах непосредственно используется только 3 параметра.

Ключ, 1967, СССР. Механик скучает, пока учёный инструктирует чиби-робота перед диверсионным походом к феям.<br />
Ключ, 1967, СССР. Механик скучает, пока учёный инструктирует чиби-робота перед диверсионным походом к феям.

Эмоциональная модель KASEOSA

Kaseosa - это сплав из Бартла и алайментов из ADnD. Если честно, то я удивлён, что никто не хвастался использованием такой схемы. Хотя, для того чтобы понять как её сделать достаточно быстрой в работе и, самое главное, применимой "в динамике" мне потребовалось поломать голову.

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

Опережая вопрос: "почему это - эмоции?" - отвечаю: эти параметры вычисляются динамически как реакция на окружающие НПЦ события. И по факту они становятся аналогами эмоций, которые задаются нейромедиаторами. Потому я предпочту назвать их эмоциями.

K (klr) - Bartle 2.0 "Killer"

Этот показатель указывает стремление персонажа к самоутверждению за счёт окружающих. Насколько он лучше.

Например, это может быть вычисление ожидаемого стресса у окружающих и вычисление соотношения. Скажем: "мой стресс вырос на 256 попугаев, стресс 256 окружающих на 65536 попугаев. Итого - бессмысленно".

A (ach) - Bartle 2.0 "Acheiver"

Этот показатель указывает стремление персонажа к самоутверждению за накопления, получения/усиления возможностей. Для него источником стресса является именно развитие: получил деньги? +возможности. Ограбили - СТРЕСС.

S (scl) - Bartle 2.0 "Socializer"

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

По сути - это аналог "Good" из ADnD. Но нацеленный на "сиюсекундный" эффект. Само собой, высокий показатель K быстро создаст из клоуна - маньяка.

E (xpl) - Bartle 2.0 "Explorer"

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

O (ord) - AD'n'D 3.x "Order" (Lawful-Chaotic)

Тут стресс анализируется "в долгую" и зависит от того, насколько персонаж следует Порядку.

Этот показатель указывает насколько персонаж придерживается Порядка. Какого - не суть важно, главное, чтобы он в него верил. Даже если его порядок это хаотичное следование пути Зла - он всё равно lawful - ведь он идёт по Правилу. Так же и с Хаотиком - если его правила другие - то он внезапно может быть очень "правильным". Пока ему это выгодно.

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

S (str) - AD'n'D 3.x "Strategy" (Good-Evil)

Этот показатель указывает какой из вариантов персонажу ближе: следовать за своими эгоистичными интересами или за Общественным Благом.

То есть - стресс зависит от того, насколько ему важно внешнее состояние низкого стресса и внутреннее.

A (act) - Bartle 3.0 "Activity"

Правильнее, в прочем, было бы назвать "Proactivity", но "P" уже занята.
Этот параметр указывает на то, насколько персонаж склонен к активности в событиях.

Очень проактивный персонаж - сам инициирует события и ввязывает окружающих ("О, гоблины! Мочиии!!!"), а очень не активный будет ждать события ("О, гоблины. Было бы интересно, если бы они напали").

Стресс, соответственно, от несовпадения ожиданий (кто должен нападать) и реальности (кто напал).

Проактивный алкоголик пытается добиться понимания у Evil Socializer'a. Который мог бы помогать чиби-робо-фее, но слишком занят своей популярностью.
Проактивный алкоголик пытается добиться понимания у Evil Socializer'a. Который мог бы помогать чиби-робо-фее, но слишком занят своей популярностью.

Примеры "миксовых" алайментов:

"Evil Killer" - типичный злой персонаж, самоутверждающийся страданиям остальных.

"Evil Socializer" - типичный самовлюблённый поц, который лицемерно радует окружающих, но ему важно только то, чтобы ему было хорошо.

"Evil Explorer" - типичный гуру-красноглазик, у которого совета допроситься невозможно.

"Good Explorer" - как хороший Анон: доставляет,и ему доставляет то, что это он доставляет.

"Good Killer" - паладин, который бьёт плохих ради хороших,

"Good Acheiver" - собирает помощь нуждающимся.

"Lawful Socializer" - охранитель-традиционалист. Не может пройти мимо творящегося разврата, наркомании и проституции, не осудив это.

Насколько это тяжело для компьютера?

В целом, это вполне самодостаточная система классификации, которая позволит за 7*3=21 параметр при наличии сценария имитировать жизнь персонажа с эмоциями.
Да, его поведение будет достаточно ограничено по вариациям (как будто взрослые так не живут, лол), зато за счёт разнообразия параметров - персонажи будут демонстрировать самые разнообразные сочетания, а общение с некоторыми из них будет чистым хождением по минному полю (всем женатикам - привет).

При работе это будет 21 вызов на каждую доступную ветку сценария/оценку, другой вопрос, что это можно делать "лениво". В целом, Дварвийская Крепость прекрасно справляется на одном ядре с такими задачами.

Логика ИИ будет, конечно, квадратно-гнездовая. Но представьте, что можно создать целый город, где можно будет действительно погрузиться в культуру? А если добавить немного процедурной генерации?<br /> Workers&amp;Resources: Soviet Republic.<br />
Логика ИИ будет, конечно, квадратно-гнездовая. Но представьте, что можно создать целый город, где можно будет действительно погрузиться в культуру? А если добавить немного процедурной генерации?
Workers&Resources: Soviet Republic.

Применение в играх.

Тут я снова советую обратить внимание на игры на движке Twine/KSP. По сути, у нас есть цепочки событий, но они прописываются не только для игрока, но и "с другой стороны".

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

Возможно, будет интересно научить НПЦ проходить историю немного вперёд (как "маленькими шагами", так и "большими" используя всю "главу" как один шажок). Но тогда нужно будет решать уже вопрос с воображением и, по сути, бессознательным. А отсюда уже всего лишь 1 шаг до снов и раздвоения личности.

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

1010 показов
670670 открытий
2 комментария

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

Ответить

речи и ее особенностям, языку тела, мимикеПроцедурные анимации.
Вообще, эта проблема уже была решена в "The Sims" для x86 и "Summer Lesson" для PSVR

Ну и да, сейчас заканчиваю следующую простыню текста, как раз про это.

Ответить