Обсуждение статьи "Нейросети — это просто (Часть 45): Обучение навыков исследования состояний"

 

Опубликована статья Нейросети — это просто (Часть 45): Обучение навыков исследования состояний:

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

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

Чтобы проверить наше предположение был создан альтернативный советник обучения агента "EDL\StudyActor2.mq5". Единственное отличие альтернативного варианта от ранее рассмотренного заключается в алгоритме формирования вознаграждения. Мы так же использовали цикл для прогнозирования изменения состояния счета. Только в этот раз в качестве вознаграждения мы использовали показатель относительного изменения баланса.

      ActorResult = vector<float>::Zeros(NActions);
      for(action = 0; action < NActions; action++)
        {
         reward = GetNewState(Buffer[tr].States[i].account, action, prof_1l);
         ActorResult[action] = reward[0]/PrevBalance-1.0f;
        }

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

График кривой баланса на тестовой выборке

Результаты тестирования

Автор: Dmitriy Gizlyk

 

Как запустить тесты без использования OpenCL?

А то процессор поддерживает OpenCL, а видеокарта нет и ни тест, ни оптимизация не запускается...

 
Oleg Pavlenko #:

Как запустить тесты без использования OpenCL?

А то процессор поддерживает OpenCL, а видеокарта нет и ни тест, ни оптимизация не запускается...

Добрый день, Олег.

Данная реализация работает только с OpenCL. Для её отключения нужно переделывать весь алгоритм работы сети. Но если её можно запустить и на процессоре, если он поддерживает OpenCL и установлены соответствующие драйвера.

 
Dmitriy Gizlyk #:

Добрый день, Олег.

Данная реализация работает только с OpenCL. Для её отключения нужно переделывать весь алгоритм работы сети. Но если её можно запустить и на процессоре, если он поддерживает OpenCL и установлены соответствующие драйвера.

Вот такую ошибку я получаю(см. скриншот). На скрине видно, что видеокарта не поддерживает OpenCL, а с процессором все в порядке. Как можно это обойти и запустить в тестере или оптимизаторе? Что можете посоветовать?


 
Oleg Pavlenko #:

Вот такую ошибку я получаю(см. скриншот). На скрине видно, что видеокарта не поддерживает OpenCL, а с процессором все в порядке. Как можно это обойти и запустить в тестере или оптимизаторе? Что можете посоветовать?


Проблема в том, что вы запускаете "tester.ex5". Он проверяет качество обученных моделей, а у Вас их ещё нет. Сначала нужно запустить Research.mq5 для создания базы примеров. Затем StudyModel.mq5, который обучит автоэнкодер. Актер обучается в советнике StudyActor.mq5 или StudyActor2.mq5 (отличаются функцией вознаграждения. И только потом будет работать tester.ex5. Обратите, в параметрах последнего нужно указать модель актера Act или Act2. Зависимости от советника, используемого для обучения Актера.

 
Oleg Pavlenko_ _

This is the error I get (see screenshot). The screenshot shows that the video card does not support OpenCL, but everything is in order with the processor. How can I get around this and run it in a tester or optimizer? What can you advise?


You are out of luck buddy. I encounter the same issue with my i5-12400

Apparently some Intel 12th gen and 13th gen doesn't support fp64 calculation.

Intel secretly exclude fp64 from those two gen of processor though fp64 will be back on 14th gen.

 
Dmitriy Gizlyk #:

Проблема в том, что вы запускаете "tester.ex5". Он проверяет качество обученных моделей, а у Вас их ещё нет. Сначала нужно запустить Research.mq5 для создания базы примеров. Затем StudyModel.mq5, который обучит автоэнкодер. Актер обучается в советнике StudyActor.mq5 или StudyActor2.mq5 (отличаются функцией вознаграждения. И только потом будет работать tester.ex5. Обратите, в параметрах последнего нужно указать модель актера Act или Act2. Зависимости от советника, используемого для обучения Актера.

Запустил оптимизацию  Research.

В результате в журнале пишет такое:

Опять у меня что-то не так?

 
Oleg Pavlenko #:

Запустил оптимизацию  Research.

В результате в журнале пишет такое:

Опять у меня что-то не так?

Есть сообщения в журнале агентов тестирования? На некоторых этапах прерывания инициализации советник выводит сообщени.

 
sy4rul #:

You are out of luck buddy. I encounter the same issue with my i5-12400

Apparently some Intel 12th gen and 13th gen doesn't support fp64 calculation.

Intel secretly exclude fp64 from those two gen of processor though fp64 will be back on 14th gen.

This version don't use fp64. Only fp32. I have tested it at Iris Xe i7-1165


 
Dmitriy Gizlyk #:

Есть сообщения в журнале агентов тестирования? На некоторых этапах прерывания инициализации советник выводит сообщени.

Очистил все журналы тестера и запустил оптимизацию Research за первые 4 месяца 2023 года на EURUSD H1.

Запускал на реальных тиках:

Результат: всего 4 выборки, 2 в плюсе и 2 в минусе:

Может я что-то не так делаю, не те параметры оптимизирую или что-то не то с терминалом у меня? Непонятно... Пытаюсь повторить ваши результаты как в статье...

Ошибки начинаются в самом начале.

Сет и результат оптимизации, а также журналы агентов и тестера прилагаю в архиве Research.zip

Файлы:
Research.zip  36 kb
 
Архив  Research.zip
Файлы:
Research.zip  36 kb