Я учусь использовать Unity и Mlagents. Я подготовил тренировочную среду, в которой у меня есть агент, который должен перерабатывать предметы по типу материала (металл, пластик c и c.).
Например: Когда агент сталкивается с пластиком c bottle и обнаруживает, что у него есть метка c, объект физически перемещается в пространство, предназначенное для пластика c, как и металл (и получает +1 награду), если он сталкивается с человеком (Human Tag) получает наказание -2.
Пока все работает хорошо, агент при обучении (усиленное обучение) правильно выполняет свою задачу.
Проблема в том, что внутри код состоит только из строк вроде: если агент сталкивается с человеком, он наказывается (-2), если агент сталкивается со стеной, он наказывается (-1), если агент сталкивается с пластиковым c объектом, объект перемещается в заданное c пространство для пластика c (+1), если агент сталкивается с металлическим объектом, объект перемещается в заданное c пространство для металла (+1)
Вопрос: Как не могли бы вы дать агенту «шанс» ошибиться в классификации объекта и извлечь из этого урок позже? В настоящее время он просто действует в соответствии с «if». будет наказан, но ... Может ли агент извлечь из этого урок? это означало бы, что агент будет «контролировать» случайный параметр во время своего обучения и тренировки.
Я был бы признателен за любую идею или предложение.