Новая статья: Третье поколение нейросетей: "Глубокие нейросети"

 

На сайте mql5.com опубликована статья Третье поколение нейросетей: "Глубокие нейросети":

Статья посвящена новому и очень перспективному направлению в машинном обучении — так называемому "глубокому обучению" и конкретней "глубоким нейросетям". Сделан краткий обзор нейросетей 2 поколения, их архитектуры связей и основных видов, методов и правил обучения и их основных недостатков. Далее рассмотрена история появления и развития нейросетей 3 поколения, их основные виды, особенности и методы обучения. Проведены практические эксперименты по построению и обучению на реальных данных глубокой нейросети, инициируемой весами накапливающего автоэнкодера. Рассмотрены все этапы от выбора исходных данных до получения метрик. В последней части статьи приведена программная реализация глубокой нейросети в виде индикатора-эксперта на MQL4/R.

В статье будут рассмотрены основные понятия по теме "Глубокое обучение" (Deep Learning), "Глубокие нейросети" (Deep Network) без сложных математических выкладок, как говорят, "на пальцах".

Будут проведены эксперименты с реальными данными подтверждающие (или нет) теоретические преимущества "глубоких сетей" перед "мелкими" путем определения и сравнения метрик. Решаемая задача — классификация. Мы создадим индикатор и эксперт, использующие модель глубокой сети и работающих в связке по схеме клиент-сервер и проведем их тестирование.

Предполагается, что читатели знакомы с основными понятиями по теме "Нейросети". Поскольку терминология по теме глубокое обучение на русском языке не установилась, будут приводиться, в необходимых случаях, термины на английском.


4. Программная реализация (индикатор и эксперт)

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

Возможна реализация в двух вариантах:

  • Первый. Всю работу по обучению нейросети проводим в Rstudio врукопашную. После получения приемлемых результатов сохраняем нейросеть в соответствующем каталоге. Затем запускаем эксперт и индикатор на графике. Эксперт загружает обученную сеть. Индикатор на каждом новом баре готовит вектор новых входных данных и передает их эксперту. Эксперт предъявляет данные нейросети, получает сигнал и далее его выполняет. Эксперт занимается своими обычными обязанностями (открыть, закрыть, тралить, ММ и т.п.). Задача индикатора подготовить и передать эксперту новые входные данные на каждом новом баре и, что более важно, выводить на график сигналы, полученные от нейросети при предсказании. Визуальный контроль, как показала практика, наиболее эффективный способ оценки работы нейросети.
  • Второй. Запускаем на графике эксперт и индикатор. При первом запуске индикатор передает эксперту подготовленный большой набор входных и выходных данных. Эксперт запускает обучение, тестирование и выбор лучшей нейросети. После этого работа продолжается по первому варианту.

Мы построим связку индикатор-эксперт по первому варианту. Эксперт с минимумом "рюшечек".

Предваряя вопрос — почему так сложно? Такой вариант исполнения дает возможность подключать к одному эксперту несколько индикаторов, расположенных на разных символах/таймфреймах, и, соответственно, работать на них. Для этого нужно будет сделать небольшую модернизацию эксперта. Но об этом позже.

Ниже представлена схема взаимодействия индикатора и эксперта:

Рис. 31. Структурная схема взаимодействия индикатора и эксперта

Рис. 31. Структурная схема взаимодействия индикатора и эксперта

Автор: Vladimir Perervenko

Причина обращения: