[PYTHON] Deep Strengthing Learning 3 Praktische Ausgabe: Block Breaking

Aidemy 2020/11/22

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur KI-Fachschule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der dritte Beitrag von Deep Strengthing Learning. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ ・

Stärkung der Lernpraxis durch Brechen von Blöcken

Eine Umgebung schaffen

·Code スクリーンショット 2020-11-20 14.52.49.png

Ein Modell bauen

・ Hier wird ein mehrschichtiges neuronales Netzwerk aufgebaut. Die Eingabe ist __ "4 Frames Block Breaking Screen" __. Um den Rechenaufwand zu verringern, wird die Bildgröße auf den Graustufenmaßstab 84 × 84 Pixel geändert. -Das Modell verwendet Sequential (). Glätten Sie wie in Kapitel 2 die Eingabe mit __Flatten () __, fügen Sie die vollständig verbundene Ebene mit Dense und die Aktivierungsfunktion mit Activation hinzu.

·Code スクリーンショット 2020-11-20 15.21.21.png

Verlaufs- und Richtlinieneinstellungen

·Code スクリーンショット 2020-11-20 15.59.01.png

Agenteneinstellungen

・ Code![Screenshot 2020-11-20 16.08.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/22bcf494-f1c6-0c09- 0a70-8f2b885c4b41.png)

Umsetzung des Lernens

・ Führen Sie nach Abschluss der Einstellungen im vorherigen Abschnitt das Lernen mit dem DQN-Algorithmus durch. __ "dqn.fit ()" __, geben Sie die Umgebung im ersten Argument an und wie viele Schritte in "nb_steps" im zweiten Argument zu lernen sind. -Auch das Lernergebnis kann im HDF5-Format mit __ "dqn.save_weights ()" __ gespeichert werden. Das erste Argument ist der Dateiname, und das zweite Argument ist "überschreiben", um anzugeben, ob überschrieben werden soll.

·Code スクリーンショット 2020-11-21 11.15.16.png

Test durchführen

-Test mit einem ausgebildeten Agenten. __ Mach mit "dqn.test ()" __. Das Argument ist dasselbe wie fit, und die Anzahl der Episoden "nb_episodes" wird anstelle der Anzahl der Schritte nb_steps angegeben. ・ Übrigens ist es in diesem Blockbruch eine Episode, bis der Ball fallen gelassen wird.

Dueling DQN

Was ist Duell DQN?

-__ Dueling DQN (DDQN) __ ist eine erweiterte Version von DQN, bei der es sich um eine Modifikation des Endes der DQN-Netzwerkschicht handelt. -In DQN wurde der Q-Wert nach den ersten drei "Faltungsschichten" über die vollständig verbundene Schicht ausgegeben, aber DDQN teilt diese __ vollständig verbundene Schicht in zwei __ auf, während der __ Zustand vorliegt. Ausgabewert V__ und Ausgabeaktion A__ dagegen. Durch Ermitteln des Q-Werts aus der letzten vollständig verbundenen Schicht, die diese beiden als Eingaben verwendet, ist die Leistung höher als bei DQN.

・ Abbildung![Screenshot 2020-11-21 11.32.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/eaf40627-b0cc-5f53- 1bfe-5bf6e6330637.png)

Duell DQN Implementierung

・ Code![Screenshot 2020-11-21 12.12.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/1d6b9e57-b793-07c2- 684c-856785593a98.png)

・ Ergebnis![Screenshot 2020-11-21 12.13.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/3445992d-30e4-50c0- defc-754ab85a2bb4.png)

Zusammenfassung

Recommended Posts

Deep Strengthing Learning 3 Praktische Ausgabe: Block Breaking
Stärkung des Lernens 1 Einführungsausgabe
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Tiefes Lernen
Einführung in Deep Learning ~ Dropout Edition ~
Lerne beim Machen! Tiefes Verstärkungslernen_1
Verbessertes Lernen, um von null bis tief zu lernen
Tiefes Lernen von Grund auf neu (Vorwärtsausbreitung)
<Kurs> Deep Learning Day4 Stärkung des Lernens / Tensorflusses
[Einführung] Stärkung des Lernens
Deep Learning Memorandum
Zukünftiges Verstärkungslernen_1
Python Deep Learning
Deep Learning × Python
Erstes tiefes Lernen ~ Kampf ~
Aktieninvestitionen durch tiefgreifendes Lernen (Policy Gradient Method) (1)
Erweitertes Lernen 1 Python-Installation
Stärkung des Lernens 3 OpenAI-Installation
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Deep Learning 1 Übung des Deep Learning
Stärkung des Lernens der dritten Zeile
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
Ich habe versucht, tief zu lernen
[Lernen stärken] Banditenaufgabe
Deep Learning Großtechnologie
Python + Unity Enhanced Learning (Lernen)
Deep Learning / Softmax-Funktion
Selbstgesteuertes Lied durch tiefes Lernen (gestapelte LSTM-Ausgabe) [DW Tag 6]
Stärkung des Lernens 18 Colaboratory + Acrobat + ChainerRL
Deep Learning von Grund auf 1-3 Kapitel
Versuchen Sie es mit TensorFlow
Verbessertes Lernen 7 Protokollieren Sie die Ausgabe von Lerndaten
Deep Learning Gaiden ~ GPU-Programmierung ~
Stärkung des Lernens 17 Colaboratory + CartPole + ChainerRL
Stärkung des Lernens 28 colaboratory + OpenAI + chainerRL
Stärkung des Lernens 19 Colaboratory + Mountain_car + ChainerRL
Stärkung des Lernens 2 Installation von Chainerrl
Deep Learning Bilderkennung 1 Theorie
[Lernen stärken] Tracking durch Multi-Agent
Deep Running 2 Tuning von Deep Learning
Stärkung des Lernens 6 First Chainer RL
Verbessertes Lernen ab Python
Stärkung des Lernens 20 Colaboratory + Pendulum + ChainerRL
Deep Learning / LSTM Scratch Code
<Kurs> Tiefes Lernen: Tag 1 NN
Deep Kernel Learning mit Pyro
Verstärkungslernen 5 Versuchen Sie, CartPole zu programmieren?
Verstärkungslernen 9 ChainerRL Magic Remodeling
Deep Learning für die Bildung von Verbindungen?
Einführung in Udacity Deep Learning Nanodegree
Praktisches Memo zum maschinellen Lernsystem
Themen> Deep Learning: Tag 3 RNN
Einführung in Deep Learning ~ Lernregeln ~
Lernen mit dem Lehrer (Rückkehr) 2 Advanced Edition