Deep Reinforcement Learning Atari: Wie versteht der Agent Bewegung?
Grundlegende Methoden zum Lernen der Tiefenverstärkung verwenden als Eingabe ein Bild für den aktuellen Status, führen einige Windungen für dieses Bild durch, wenden einen Algorithmus zum Lernen der Verstärkung an und es ist gelöst.
Nehmen wir als Beispiel das Spiel Breakout oder Pong. Was ich nicht verstehe ist, wie versteht der Agent, wenn sich ein Objekt auf es zubewegt oder von ihm wegbewegt? Ich glaube, dass die Aktion, die es wählt, in diesen beiden Szenarien unterschiedlich sein muss und von einem einzelnen Bild als Eingabe keine Vorstellung von Bewegung gibt.
Antworten
In dem Artikel Atari mit Deep Reinforcement Learning spielen , Mnih et al., 2013 , der einen großen Ausbruch beim Deep Reinforcement Learning darstellte (insbesondere beim Deep Q-Lernen), geben sie nicht nur das letzte Bild an das Netzwerk weiter. Sie stapeln die 4 letzten Bilder:
Für die Experimente in diesem Artikel wendet die Funktion φ aus Algorithmus 1 diese Vorverarbeitung auf die letzten 4 Frames einer Historie an und stapelt sie, um die Eingabe für die Q-Funktion zu erzeugen
Also fügen sie die Bewegung durch Sequenzialität hinzu. Aus verschiedenen Artikeln und eigenen Codierungserfahrungen geht hervor, dass dies der wichtigste gemeinsame Ansatz ist. Ich weiß nicht, ob andere Techniken implementiert wurden.
Eine Sache, die wir uns vorstellen könnten, wäre, die Kreuzkorrelation zwischen einem vorherigen und dem letzten Frame zu berechnen und dann das Kreuzkorrelationsprodukt dem Netz zuzuführen.
Eine andere Idee wäre, zuvor ein CNN zu trainieren, um Bewegungsmerkmale aus einer Folge von Frames zu extrahieren und diese extrahierten Merkmale Ihrem Netz zuzuführen. Dieser Artikel (Durchführen einer Partikelbild-Velocimetrie unter Verwendung künstlicher neuronaler Netze: ein Proof-of-Concept) , Rabault et al., 2017, ist ein Beispiel für ein CNN zum Extrahieren von Bewegungsmerkmalen.