Обсуждение статьи "Нейросети — это просто (Часть 36): Реляционные модели обучения с подкреплением (Relational Reinforcement Learning)"

 

Опубликована статья Нейросети — это просто (Часть 36): Реляционные модели обучения с подкреплением (Relational Reinforcement Learning):

В рассмотренных ранее моделях обучения с подкреплением мы использовали различные варианты сверточных сетей, которые способны идентифицировать различные объекты в исходных данных. Основное преимущество сверточных сетей в способности идентифицировать объекты вне зависимости от их расположением. В тоже время, сверточные сети не всегда справляются с различными деформациями объектов и шумом. Но эти проблемы способна решить реляционная модель.

Основное преимущество реляционных моделей является способность выстраивания зависимостей между объектами. Что позволяет структурировать исходные данные. Наиболее наглядно реляционную модель можно представить в виде графов. Объекты и события представлены в виде узлов. А связи демонстрируют зависимости между соответствующими объектами и событиями.

Граф

Использование графов позволяет нам наглядно выстроить структуру зависимостей между объектами. К примеру, если мы захотим описать паттерн пробития канала мы составим граф, в вершине которого будет формирование канала. Описание формирования канала также может быть представлено в виде графа. Далее мы создадим 2 узла пробития канала (верхней и нижней границы). Оба узла будут иметь одинаковые связи с предшествующим узлом формирования канала, но не связаны между собой. Для исключения входа в позицию при ложном пробое мы можем дождаться отката к границе канала. Это будут ещё 2 узла отката к верхней и нижней границе канала, которые будут иметь связи с узлами пробития соответствующей границы канала. Но они опять не будут иметь связей между собой.

Описанная структура хорошо ложится в граф и даёт четкое структурирование данных и последовательности событий. Нечто подобное мы рассматривали при построении ассоциативных правил. Но это сложно увязывается с используемыми нами ранее сверточными сетями.

Казалось бы, сверточные сети используются для идентификации объектов в данных. Мы можем обучить модель выделять какие-то точки разворота движения или небольшие тенденции. Но на практике процесс формирования канала может быть растянут во времени с различной интенсивностью тенденций внутри канала. А сверточные модели не всегда хорошо справляются с подобными искажениями. К тому же, ни сверточные, ни полносвязные нейронные слои не могут разделить 2 различных паттерна, которые состоят из одних и тех же объектов с различной последовательностью.

Также следует отметить, что сверточные нейронные сети способны только выявлять объекты. Но не способны выстраивать зависимости между ними. А значит нам нужно найти некий иной алгоритм, который бы мог обучаться подобным зависимостям. И здесь мы должны вспомнить о моделях внимания. Именно модели внимания позволяют акцентировать внимание на отдельных объектах, выделяя их из общего массива данных.

Автор: Dmitriy Gizlyk

 
Are the created neural networks in this article ( Forward model, Inverse model) compatible with the previous article?
 
happy side #:
Are the created neural networks in this article ( Forward model, Inverse model) compatible with the previous article?

Yes

 
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

I keep getting the same error when I try to train, I tried to make the neural network with the NetCreator as well but the same error occurred.

what could be causing the problem?

 
Дмитрий начал смотреть код, файл библиотеки отсутствует
 
happy side #:

I keep getting the same error when I try to train, I tried to make the neural network with the NetCreator as well but the same error occurred.

what could be causing the problem?

ERR_OPENCL_CONTEXT_CREATE

5103

Error creating the OpenCL context

Before use this library you must install OpenCL on your PC

 
Dmitry Gizlyk # :

ERR_OPENCL_CONTEXT_CREATE

5103

Error creating the OpenCL context

Before using this library you must install OpenCL on your PC

I use a Nvidia Tesla A100 GPU, it already has OpenCL enabled but the same error occurs 
 
Kekeletso Mofokeng #:
I use a Nvidia Tesla A100 GPU, it already has OpenCL enabled but the same error occurs 

Does OpenCL enable in options of MetaTrader?


 
Dmitry Gizlyk # :

Does OpenCL enable in options of MetaTrader?


Yes, it's enabled but I was able to identify the problem. My strategy tester uses Processor instead of GPU but my Processor doesn't have OpenCL I think. How do I make the tester use GPU instead if CPU 

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

Hey Dmitry!

Wonderful work.

In this part, training a neural network last a hell more time than previous. Do you have the same experiences?

Regards,

Tomasz

 
Здраствуйте Дмитрий! Подскажите как в тестере стратегий "подсунуть" бинарный файл (.nnw )уже обученной сети? Если правильно понимаю, в тестере, опять создается виртуальная песочница,  файл даже если принудительно скопировать в эту директорию тестера, то при презапуске тестера, все файлы из нее удаляются. Вот эта директория как пример. C:\Users\ACER\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\MQL5\Files     Сеть естественно строится по новой и необученной.   Или как можно решить эту проблему иначе?    
Причина обращения: