Если на вас напал паук, скорее всего, вы никогда больше не приблизитесь к пауку.
В модели нейронной сети плохой опыт работы с пауком немного снизит вероятность того, что вы приблизитесь к пауку, в зависимости от скорости обучения.
Это не хорошо. Как вы можете запрограммировать страх в нейронную сеть, чтобы вам не нужно было сотни примеров укусов пауком, чтобы игнорировать паука. А также, что это не просто снижает вероятность того, что вы решите подойти к пауку?
Ответы:
Есть много подходов, которые вы можете использовать для этого. Создание реалистичного искусственного аналога для страха, реализуемого биологически у животных, может быть возможным, но в ответе страха реального животного достаточно много, что не применимо к более простым ИИ-ботам, доступным сейчас. Например, животное, входящее в состояние страха, обычно использует гормоны, чтобы сигнализировать об изменениях по всему телу, способствуя расходу ресурсов и риску («бой или бегство»).
В базовом обучении с подкреплением нейронной сети не нужно было бы принимать непосредственное решение о включении «режима страха». Вместо этого вы можете использовать некоторый дизайн в агенте и алгоритме обучения, чтобы помочь учиться на редких, но значимых событиях. Вот несколько идей:
Опыт воспроизведения. Возможно, вы уже делаете это в сценарии Пакмана, если вы используете DQN или что-то подобное. Сохранение состояния перехода и награды, которая вызвала большую положительную или отрицательную награду, и многократное обучение из нее должны компенсировать вашу озабоченность
Приоритетное подметание. Вы можете использовать большие различия между прогнозируемым и фактическим вознаграждением за смещение выборки из памяти воспроизведения в сторону значимых событий и событий, тесно связанных с ними.
Планирование. С прогнозирующей моделью - может быть, основанной на выборочных переходах (для этого вы можете повторно использовать память воспроизведения опыта), или, возможно, обученной сетью прогнозирования переходов состояний - тогда вы можете смотреть на несколько шагов вперед, моделируя. Существует тесная связь между RL и заблаговременным планированием, они очень похожи по алгоритму. Разница в том, какие состояния и действия рассматриваются, и моделируются ли они или испытываются. Воспроизведение опыта стирает черту здесь - оно может быть представлено как обучение по памяти или улучшение прогнозов для планирования. Планирование помогает путем оптимизации решений без необходимости повторения опыта - комбинация планирования и обучения может быть гораздо более эффективной, чем любая из них в отдельности.
Разумный выбор исследовательских действий. Эпсилон-жадный, где вы либо совершаете жадные действия, либо совершаете совершенно случайные действия, полностью игнорирует, сколько вы уже узнали об альтернативных действиях и их относительных достоинствах. Вы можете использовать что-то вроде Upper Confidence Bound с агентом на основе значений.
В детерминистском мире увеличьте размер пакета для обучения и планирования, поскольку вы можете верить, что когда вы однажды узнаете о переходе, вы знаете о нем все.
Вам нужно будет экспериментировать в каждой среде. Вы можете создать обучающих агентов, которые более консервативны в изучении мест с низким уровнем вознаграждения. Однако, если среда такова, что необходимо идти на риск, чтобы получить наилучшие награды (что часто бывает в играх), тогда может быть неоптимальным с точки зрения времени обучения иметь «робкого» агента. Например, в вашем примере с Pacman иногда следует избегать призраков, иногда их следует преследовать. Если агент поначалу выучил сильное отвращение, это может занять много времени, чтобы преодолеть это и научиться преследовать их после употребления бонуса.
Для вашего примера паука, как конструктора эксперимента, вы знаете, что каждый раз укус плохой и что агент должен избегать его как можно больше. Для большинства алгоритмов RL таких знаний нет, кроме как полученных на основе опыта. Модель мира MDP не должна соответствовать здравому смыслу, возможно, укус паука плохой (награда -10) 90% времени и хороший 10% времени (+1000 награда). Агент может обнаружить это только будучи укушенным несколько раз. , , Обычно RL не начинается с какой-либо системы, которая делает предположения о подобных вещах, и невозможно выработать общее правило для всех возможных MDP. Вместо этого для базовой системы RL вы можете рассмотреть изменение гиперпараметров или сосредоточиться на ключевых событиях, как предложено выше. Вне базовой системы RL может быть полезным копирование других вещей,
источник
Я думаю, что есть 2 способа сделать это: 1) явно запрограммировать страх как ограничение или параметр в некотором логическом выражении, или 2) использовать большой набор обучающих данных для обучения страху.
Подумайте об основной игре Pacman - трудно ли сказать, что Пакман боится призраков или не боится их, но они являются ПРИЗРАКАМИ, а Пакман избегает их, поэтому я думаю, что мы можем использовать это как базовый пример «страха». Так как в этой игре страх = избегание, вы можете логически запрограммировать избегание как своего рода расстояние. Я попробовал это с изучением подкрепления Пакмана. Я пытался установить расстояние в 5 квадратов до призраков, и каждый раз, когда Пакман мог видеть призрака в пределах 5 квадратов, он двигался в другом направлении. Я обнаружил, что, хотя Пакман будет пытаться избегать призраков, он не знает стратегии (или обладает интеллектом). Пакман просто уходил от призраков, пока его не посадили.
Я хочу сказать, что вы можете запрограммировать свою сеть так, чтобы пауки не получали бит, но без обучения вы просто создадите базовый параметр, который может вызвать проблемы, если к вам придет 100 супер агрессивных пауков! Лучший способ - использовать некоторую базовую логику, чтобы избежать пауков, но затем обучить сеть вознаграждению, избегая лучших пауков.
Сейчас есть много ситуаций страха, поэтому этот один пример с Пакманом не обязательно применим ко всем ... Просто пытаюсь дать некоторое представление о моем опыте обучения страху с помощью подкрепления в Пакмане.
источник
Страх такого рода - иррациональный ответ (большой негативный стимул в ответ на небольшой риск). Моделирование страха должно было бы смоделировать фактор «грубости», связанный, например, с пауками, чтобы происходил обычно непропорциональный ответ. Фактор «грубости» может проявляться во многих других формах, чтобы усилить реакцию на ранее неприятный, хотя и не особо опасный опыт. Такой страх также может быть вызван слухами (вспомните истерию, вызванную сенсационной новостью). NN обычно реагирует только минимально на минимальный риск.
источник
Я бы посоветовал, чтобы агент взвесил свое обучение на конкретном событии, основываясь на серьезности последствий этого события. Например. Пусть она разработает модель угрозы, подобную той, которая обычно разрабатывается в области информационной безопасности. Высокий риск, но низкая вероятность - это то, что можно учитывать и оценивать.
Попытка напрямую имитировать человеческий страх была бы глупой, вы, скорее всего, в конечном итоге получите ИИ, у которых есть фобии, если вы преуспели слишком хорошо.
источник