Как вы программируете страх в нейронной сети?

8

Если на вас напал паук, скорее всего, вы никогда больше не приблизитесь к пауку.

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

Это не хорошо. Как вы можете запрограммировать страх в нейронную сеть, чтобы вам не нужно было сотни примеров укусов пауком, чтобы игнорировать паука. А также, что это не просто снижает вероятность того, что вы решите подойти к пауку?

zooby
источник
Страх - это сниженная скорость обучения с расширенным стохастическим компонентом, но без языкового центра система не может сказать: «Я боюсь».
FelicityC
Статья WP Обучение по принципу « один выстрел» en.wikipedia.org/wiki/One-shot_learning включает раздел об обучении с одним примером.
Хауме Оливер Лафонт

Ответы:

5

Есть много подходов, которые вы можете использовать для этого. Создание реалистичного искусственного аналога для страха, реализуемого биологически у животных, может быть возможным, но в ответе страха реального животного достаточно много, что не применимо к более простым ИИ-ботам, доступным сейчас. Например, животное, входящее в состояние страха, обычно использует гормоны, чтобы сигнализировать об изменениях по всему телу, способствуя расходу ресурсов и риску («бой или бегство»).

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

  • Опыт воспроизведения. Возможно, вы уже делаете это в сценарии Пакмана, если вы используете DQN или что-то подобное. Сохранение состояния перехода и награды, которая вызвала большую положительную или отрицательную награду, и многократное обучение из нее должны компенсировать вашу озабоченность

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

  • Планирование. С прогнозирующей моделью - может быть, основанной на выборочных переходах (для этого вы можете повторно использовать память воспроизведения опыта), или, возможно, обученной сетью прогнозирования переходов состояний - тогда вы можете смотреть на несколько шагов вперед, моделируя. Существует тесная связь между RL и заблаговременным планированием, они очень похожи по алгоритму. Разница в том, какие состояния и действия рассматриваются, и моделируются ли они или испытываются. Воспроизведение опыта стирает черту здесь - оно может быть представлено как обучение по памяти или улучшение прогнозов для планирования. Планирование помогает путем оптимизации решений без необходимости повторения опыта - комбинация планирования и обучения может быть гораздо более эффективной, чем любая из них в отдельности.

  • Разумный выбор исследовательских действий. Эпсилон-жадный, где вы либо совершаете жадные действия, либо совершаете совершенно случайные действия, полностью игнорирует, сколько вы уже узнали об альтернативных действиях и их относительных достоинствах. Вы можете использовать что-то вроде Upper Confidence Bound с агентом на основе значений.

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

Вам нужно будет экспериментировать в каждой среде. Вы можете создать обучающих агентов, которые более консервативны в изучении мест с низким уровнем вознаграждения. Однако, если среда такова, что необходимо идти на риск, чтобы получить наилучшие награды (что часто бывает в играх), тогда может быть неоптимальным с точки зрения времени обучения иметь «робкого» агента. Например, в вашем примере с Pacman иногда следует избегать призраков, иногда их следует преследовать. Если агент поначалу выучил сильное отвращение, это может занять много времени, чтобы преодолеть это и научиться преследовать их после употребления бонуса.

Для вашего примера паука, как конструктора эксперимента, вы знаете, что каждый раз укус плохой и что агент должен избегать его как можно больше. Для большинства алгоритмов RL таких знаний нет, кроме как полученных на основе опыта. Модель мира MDP не должна соответствовать здравому смыслу, возможно, укус паука плохой (награда -10) 90% времени и хороший 10% времени (+1000 награда). Агент может обнаружить это только будучи укушенным несколько раз. , , Обычно RL не начинается с какой-либо системы, которая делает предположения о подобных вещах, и невозможно выработать общее правило для всех возможных MDP. Вместо этого для базовой системы RL вы можете рассмотреть изменение гиперпараметров или сосредоточиться на ключевых событиях, как предложено выше. Вне базовой системы RL может быть полезным копирование других вещей,

Нил Слэйтер
источник
1
Это будет довольно сложный процесс, чтобы смоделировать что-то, например, страх ... разные скорости обучения для разных объектов (но, возможно, о нем позаботится увеличивающийся риск = увеличение скорости обучения), тогда у некоторых людей возникает иррациональный страх перед ошибками ... тогда существует теория, что наш разум работает логарифмически, то есть вы боитесь 1 тигра, вы все еще больше любите 2 тигров ... вы боитесь 100 тигров, но ваш страх не увеличивается так сильно для 101 тигра, как в пример 1 -> 2 случая тигра ..... можно ли все это моделировать?
DuttaA
1
@DuttaA: Я согласен, поэтому я предлагаю кучу вещей, которые не являются «настоящим страхом (тм)». Я думаю, что очень простой «инстинктивный страх», использующий RL, должен был бы каким-то образом добавить предыдущее низкое значение в функцию значения программно без реального опыта.
Нил Слэйтер
2

Я думаю, что есть 2 способа сделать это: 1) явно запрограммировать страх как ограничение или параметр в некотором логическом выражении, или 2) использовать большой набор обучающих данных для обучения страху.

Подумайте об основной игре Pacman - трудно ли сказать, что Пакман боится призраков или не боится их, но они являются ПРИЗРАКАМИ, а Пакман избегает их, поэтому я думаю, что мы можем использовать это как базовый пример «страха». Так как в этой игре страх = избегание, вы можете логически запрограммировать избегание как своего рода расстояние. Я попробовал это с изучением подкрепления Пакмана. Я пытался установить расстояние в 5 квадратов до призраков, и каждый раз, когда Пакман мог видеть призрака в пределах 5 квадратов, он двигался в другом направлении. Я обнаружил, что, хотя Пакман будет пытаться избегать призраков, он не знает стратегии (или обладает интеллектом). Пакман просто уходил от призраков, пока его не посадили.

Я хочу сказать, что вы можете запрограммировать свою сеть так, чтобы пауки не получали бит, но без обучения вы просто создадите базовый параметр, который может вызвать проблемы, если к вам придет 100 супер агрессивных пауков! Лучший способ - использовать некоторую базовую логику, чтобы избежать пауков, но затем обучить сеть вознаграждению, избегая лучших пауков.

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

CaptainPlanet
источник
1
Я думаю, что для некоторых вещей, таких как огонь, это должен быть инстинкт. Потому что к тому времени, когда у вас будет несколько «тренировочных примеров», вы будете очень обожжены. Но с другими вещами вам нужен только один пример, например, получить кусочек от хомяка, вы должны узнать, что у хомяков острые зубы, поэтому не кладите руку им в рот. Поэтому для некоторых вещей инстинкты должны просто мешать вам делать такие вещи, как положить руку в огонь. Или заставлю тебя отскочить назад. Но стоит ли вам бояться приближаться к огню, если вы узнаете, что можете получить удар от искры?
Zooby
2
@ zooby По моему опыту, маленькие дети не учатся бояться горячей печи или огня, пока они не сгорят. («Почему вы должны так пристально следить за ними!) Я бы сказал, что если алгоритм учит обучению избегать с помощью такой техники, как обучение с подкреплением, то он« учится бояться », тогда как, если он имеет Механизм избегания запрограммирован заранее, это будет «инстинкт».
DukeZhou
2

Страх такого рода - иррациональный ответ (большой негативный стимул в ответ на небольшой риск). Моделирование страха должно было бы смоделировать фактор «грубости», связанный, например, с пауками, чтобы происходил обычно непропорциональный ответ. Фактор «грубости» может проявляться во многих других формах, чтобы усилить реакцию на ранее неприятный, хотя и не особо опасный опыт. Такой страх также может быть вызван слухами (вспомните истерию, вызванную сенсационной новостью). NN обычно реагирует только минимально на минимальный риск.

SchroedingersCat
источник
1

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

Попытка напрямую имитировать человеческий страх была бы глупой, вы, скорее всего, в конечном итоге получите ИИ, у которых есть фобии, если вы преуспели слишком хорошо.

Кристофер Гриффит
источник