RL-Umgebungen in Amazon SageMaker - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

RL-Umgebungen in Amazon SageMaker

Amazon SageMaker RL verwendet Umgebungen, die reale Szenarien nachbilden. Der Simulator verarbeitet ausgehend vom aktuellen Zustand der Umgebung und einer Aktion des oder der Agenten die Auswirkung der Aktion und gibt den nächsten Zustand und eine Belohnung zurück. Simulatoren können hilfreich sein, wenn das Training eines Agenten in der realen Welt nicht sicher wäre (beispielsweise beim Fliegen einer Drone) oder wenn das Konvergieren des RL-Algorithmus lange dauert (z. B. beim Schachspielen).

Die folgende Darstellung enthält ein Beispiel der Interaktionen mit einem Simulator für ein Autorennspiel.

Die Simulationsumgebung besteht aus einem Agenten und einem Simulator. Hier verarbeitet ein Convolutional Neural Network (CNN) Bilder eines Simulators und generiert Aktionen zum Steuern des Spielecontrollers. Mit mehreren Simulationen generiert diese Umgebung Trainingsdaten der Form state_t, action, state_t+1 und reward_t+1. Das Definieren der Belohnung ist nicht unbedeutend und beeinflusst die Qualität des RL-Modells. Wir möchten einige Beispiele für Belohnungsfunktionen zur Verfügung stellen, sie aber durch den Benutzer konfigurierbar machen.

OpenAI Gym-Schnittstelle für Umgebungen in SageMaker RL verwenden

Um OpenAI Gym-Umgebungen in SageMaker RL zu nutzen, verwenden Sie die folgenden API-Elemente. Weitere Informationen zu OpenAI Gym finden Sie in der Fitnessstudio-Dokumentation.

  • env.action_space— Definiert die Aktionen, die der Agent ausführen kann, gibt an, ob jede Aktion kontinuierlich oder diskret ist, und gibt das Minimum und das Maximum an, wenn die Aktion kontinuierlich ist.

  • env.observation_space— Definiert die Beobachtungen, die der Agent aus der Umgebung erhält, sowie die Mindest- und Höchstwerte für kontinuierliche Beobachtungen.

  • env.reset()— Initialisiert eine Trainingsepisode. Die reset() Funktion gibt den anfänglichen Zustand der Umgebung zurück und der Agent nutzt den anfänglichen Zustand zum Einleiten seiner ersten Aktion. Die Aktion wird dann step() wiederholt gesendet, bis die Episode einen abschließenden Zustand erreicht. Wenn step() gibt done = True zurück, endet die Episode. Das RL-Toolkit ruft reset() auf, um die Umgebung zu reinitialisieren.

  • step()— Verwendet die Agentenaktion als Eingabe und gibt den nächsten Zustand der Umgebung, die Belohnung, ob die Episode beendet wurde, und ein info Wörterbuch zur Übermittlung von Debugging-Informationen aus. Die Umgebung ist für das Validieren der Eingaben zuständig.

  • env.render()—Wird für Umgebungen mit Visualisierungen verwendet. Das RL-Toolkit ruft diese Funktion auf, um Visualisierungen der Umgebung nach jedem Aufruf der step()-Funktion zu erfassen.

Verwendung von Open-Source-Umgebungen

Sie können Open-Source-Umgebungen wie EnergyPlus und RoboSchool in SageMaker RL verwenden, indem Sie Ihren eigenen Container bauen. Weitere Informationen zu EnergyPlus finden Sie unter https://energyplus.net/. Weitere Informationen zu RoboSchool finden Sie unter https://github.com/openai/roboschool. Die HVAC- und RoboSchool-Beispiele im SageMaker-Beispiel-Repository zeigen, wie Sie einen benutzerdefinierten Container für die Verwendung mit SageMaker RL erstellen:

Verwenden von kommerziellen Umgebungen

Sie können kommerzielle Umgebungen wie MATLAB und Simulink in RL verwenden, indem Sie Ihren eigenen Container erstellen. Sie müssen Ihre eigenen Lizenzen verwalten.