2

Ich möchte, dass mein RL-Agent das Ziel so schnell wie möglich erreicht und gleichzeitig die Häufigkeit der Verwendung einer bestimmten Ressource T minimiert (was manchmal notwendig ist).Wie sollte man die unmittelbare Belohnung in einem RL-Programm einrichten?

Ich dachte über die Einrichtung der unmittelbaren Belohnungen als -1 pro Schritt, eine zusätzliche -1 wenn der Agent T und 0 verwendet, wenn es das Ziel erreicht.

Aber die zusätzliche -1 ist völlig willkürlich, wie kann ich entscheiden, wie viel Strafe sollte der Agent für die Verwendung von T bekommen?

Antwort

1

Sie sollten eine Belohnungsfunktion verwenden, die Ihre eigenen Werte nachahmt. Wenn die Ressource teuer ist (wertvoll für Sie), dann sollte die Strafe für den Verzehr hart sein. Das gleiche gilt für die Zeit (die auch eine Ressource ist, wenn Sie darüber nachdenken).

Wenn das Verhältnis zwischen den beiden Strafen (die für den Zeitverbrauch und die für den Ressourcenverbrauch) in Übereinstimmung mit der Bewertung dieser Ressourcen steht, wird der Agent genau in Ihrem Interesse handeln. Wenn Sie es falsch verstehen (weil Sie vielleicht die genauen Kosten der Ressource oder die genauen Kosten des langsamen Lernens nicht kennen), dann wird es eher um eine pseudooptimale Lösung als um eine optimale Lösung gehen, was in vielen Fällen der Fall ist in Ordnung.

Verwandte Themen