Diskussion zum Artikel "Neuronale Netze leicht gemacht (Teil 36): Relationales Verstärkungslernen"

 

Neuer Artikel Neuronale Netze leicht gemacht (Teil 36): Relationales Verstärkungslernen :

In den Verstärkungslernmodellen, die wir im vorherigen Artikel besprochen haben, haben wir verschiedene Varianten von Faltungsnetzwerken verwendet, die in der Lage sind, verschiedene Objekte in den Originaldaten zu identifizieren. Der Hauptvorteil von Faltungsnetzen ist die Fähigkeit, Objekte unabhängig von ihrer Position zu erkennen. Gleichzeitig sind Faltungsnetzwerke nicht immer leistungsfähig, wenn es zu verschiedenen Verformungen von Objekten und Rauschen kommt. Dies sind die Probleme, die das relationale Modell lösen kann.

Der Hauptvorteil relationaler Modelle ist die Möglichkeit, Abhängigkeiten zwischen Objekten aufzubauen. Das ermöglicht die Strukturierung der Quelldaten. Das relationale Modell kann in Form von Graphen dargestellt werden, in denen Objekte und Ereignisse als Knoten dargestellt werden, während Beziehungen Abhängigkeiten zwischen Objekten und Ereignissen aufzeigen.

Diagramme

Anhand der Graphen können wir die Struktur der Abhängigkeiten zwischen den Objekten visuell darstellen. Wenn wir zum Beispiel ein Kanalausbruchsmuster beschreiben wollen, können wir ein Chart mit einer Kanalformation an der Spitze erstellen. Die Beschreibung der Kanalbildung kann auch als Graph dargestellt werden. Als Nächstes erstellen wir zwei Kanalausbruchsknoten (obere und untere Grenze). Beide Knoten haben die gleichen Verbindungen zum vorherigen Kanalbildungsknoten, sind aber nicht miteinander verbunden. Um zu vermeiden, dass wir im Falle eines falschen Ausbruchs eine Position eingehen, können wir abwarten, bis der Kurs wieder an die Kanalgrenze zurückgeht. Dies sind zwei weitere Knotenpunkte für den Rollback an den oberen und unteren Rand des Kanals. Sie haben Verbindungen zu den Knotenpunkten der entsprechenden Kanalgrenzübergänge. Aber auch hier gilt, dass sie keine Verbindung zueinander haben.

Die beschriebene Struktur fügt sich in den Graphen ein und sorgt so für eine klare Strukturierung der Daten und des Ablaufs eines Ereignisses. Bei der Erstellung von Assoziationsregeln haben wir uns etwas Ähnliches überlegt. Aber das kann man kaum mit den Faltungsnetzen vergleichen, die wir früher verwendet haben.

Faltungsnetzwerke werden verwendet, um Objekte in Daten zu identifizieren. Wir können das Modell so trainieren, dass es Umkehrpunkte der Bewegung oder kleine Trends erkennt. In der Praxis kann der Prozess der Kanalbildung jedoch zeitlich ausgedehnt werden, wobei die Intensität der Trends innerhalb des Kanals unterschiedlich ist. Allerdings können Faltungsmodelle mit solchen Verzerrungen nicht gut umgehen. Darüber hinaus können weder Faltungsschichten noch vollständig verknüpfte neuronale Schichten zwei verschiedene Muster trennen, die aus denselben Objekten mit unterschiedlicher Reihenfolge bestehen.

Es sollte auch beachtet werden, dass Neuronale Faltungsnetze nur Objekte erkennen können, aber keine Abhängigkeiten zwischen ihnen aufbauen können. Daher müssen wir einen anderen Algorithmus finden, der solche Abhängigkeiten lernen kann. Kommen wir nun zurück zu den Aufmerksamkeitsmodellen. Die Aufmerksamkeitsmodelle (attention models), die es ermöglichen, die Aufmerksamkeit auf einzelne Objekte zu lenken und sie aus der allgemeinen Datenmenge herauszufiltern.

Autor: Dmitriy Gizlyk

 
Sind die in diesem Artikel erstellten neuronalen Netze (Vorwärtsmodell, Inverses Modell) mit dem vorherigen Artikel kompatibel?
 
happy side #:
Sind die in diesem Artikel erstellten neuronalen Netze (Vorwärtsmodell, Inverses Modell) mit dem vorherigen Artikel kompatibel?

Ja

 
CS      0       15:22:10.739    Core 01 2023.01.01 00:00:00   EURUSD_PERIOD_H1_RRL-learning.nnw
CS      0       15:22:10.739    Core 01 2023.01.01 00:00:00   OpenCL not found. Error code=5103
CS      2       15:22:10.739    Core 01 2023.01.01 00:00:00   invalid pointer access in 'NeuroNet.mqh' (2876,11)
CS      2       15:22:10.739    Core 01 OnInit critical error
CS      2       15:22:10.739    Core 01 tester stopped because OnInit failed
CS      2       15:22:10.740    Core 01 disconnected
CS      0       15:22:10.740    Core 01 connection closed

Ich erhalte immer wieder dieselbe Fehlermeldung, wenn ich versuche zu trainieren. Ich habe auch versucht, das neuronale Netz mit dem NetCreator zu erstellen, aber es trat derselbe Fehler auf.

Was könnte die Ursache des Problems sein?

 
Dmitry hat sich den Code angesehen, die Bibliotheksdatei fehlt
 
happy side #:

Ich erhalte immer die gleiche Fehlermeldung, wenn ich versuche zu trainieren. Ich habe auch versucht, das neuronale Netz mit dem NetCreator zu erstellen, aber der gleiche Fehler trat auf.

Was könnte die Ursache des Problems sein?

ERR_OPENCL_CONTEXT_CREATE

5103

Fehler beim Erstellen des OpenCL-Kontextes

Bevor Sie diese Bibliothek verwenden können, müssen Sie OpenCL auf Ihrem PC installieren

 
Dmitry Gizlyk # :

ERR_OPENCL_CONTEXT_CREATE

5103

Fehler beim Erstellen des OpenCL-Kontextes

Bevor Sie diese Bibliothek verwenden, müssen Sie OpenCL auf Ihrem PC installieren

Ich verwende eine Nvidia Tesla A100 GPU, auf der OpenCL bereits aktiviert ist, aber der gleiche Fehler tritt auf
 
Kekeletso Mofokeng #:
Ich verwende eine Nvidia Tesla A100 GPU, auf der OpenCL bereits aktiviert ist, aber der gleiche Fehler tritt auf

Ist OpenCL in den Optionen von MetaTrader aktiviert?


 
Dmitry Gizlyk # :

Ist OpenCL in den Optionen von MetaTrader aktiviert?


Ja, es ist aktiviert, aber ich war in der Lage, das Problem zu identifizieren. Mein Strategietester verwendet den Prozessor anstelle der GPU, aber mein Prozessor verfügt nicht über OpenCL, glaube ich. Wie kann ich den Tester dazu bringen, GPU statt CPU zu verwenden?

CS        0        20  : 01  : 11.215       Core 01  AMD EPYC 7  V13 64  -Core, 225278  MB 
 

Hallo Dmitri!

Wunderbare Arbeit.

In diesem Teil dauert das Training eines neuronalen Netzes sehr viel länger als in den vorherigen. Haben Sie die gleichen Erfahrungen gemacht?

Mit freundlichen Grüßen,

Tomasz

 
Hallo Dmitry, können Sie mir sagen, wie man eine Binärdatei (.nnw) in ein bereits trainiertes Netz im Strategietester "einschleust"? Wenn ich es richtig verstehe, wird im Tester wiederum eine virtuelle Sandbox erstellt, und selbst wenn die Datei zwangsweise in dieses Verzeichnis des Testers kopiert wird, werden beim Neustart des Testers alle Dateien daraus gelöscht. Hier ist dieses Verzeichnis als Beispiel. C:\Benutzer\ACER\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\MQL5\Files Das Netzwerk ist natürlich auf einem neuen und untrainierten Netzwerk aufgebaut. Oder wie kann ich dieses Problem anders lösen?