Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""

 

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Автор: Vladimir Perervenko

 

Спасибо за статью. "Простыню" разом не осилить.

 

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

 
zaskok:

Спасибо за статью. "Простыню" разом не осилить.

 

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

Вопрос не понял. О чем это Вы?
 
vlad1949:
Вопрос не понял. О чем это Вы?

ПОЗДРАВЛЯЮ! 

Очень содержательная и качественная статья! 

 
faa1947:

ПОЗДРАВЛЯЮ! 

Очень содержательная и качественная статья! 

Приветствую. 

Вот на этом примере можем разобрать кластеризацию входных и соответствие кластеров целевой и другие вопросы по классификации.

Закончу расчет и выложу

Успехов 

 
vlad1949:
Вопрос не понял. О чем это Вы?
Об этом.
 
vlad1949:

Приветствую. 

Вот на этом примере можем разобрать кластеризацию входных и соответствие кластеров целевой и другие вопросы по классификации.

Закончу расчет и выложу

Успехов 

Очень интересно. Хотелось бы сравнить варианты. Попробовал разобраться в кластеризации - просто караул сколько инструментов.
 

vlad1949:


...

  1. Индикатор i_SAE.mq4, положить в папку ~/MQL4/Indicators/
  2. Эксперт e_SAE.mq4, положить в папку ~/MQL4/Experts/
  3. Библиотека mt4Rb7.dll, положить в папку ~/MQL4/Libraries/.
  4. Заголовочный файл mt4Rb7.mqh, положить в папку ~/MQL4/Include/. Библиотеку и заголовочный файл разработал и предоставил добрый человек Bernd Kreuss. В наименовании я добавил индекс последнего изменения (b7). При наличии многих версий (как у меня) с одинаковыми именами случаются казусы, которые отнимают море времени на их отлов.

...

Непонятно, зачем в категории "Статьи по программированию на языке MQL5" публиковать разработки на MQL4?
 
Reshetov:
Непонятно, зачем в категории "Статьи по программированию на языке MQL5" публиковать разработки на MQL4?

Вопрос не ко мне. Это всё что Вы хотели сказать о статье??

Удивлен.

Удачи 

 
faa1947:
Очень интересно. Хотелось бы сравнить варианты. Попробовал разобраться в кластеризации - просто караул сколько инструментов.

Это так. Но здесь важно не столько сама кластеризация как определение оптимального количества кластеров на которые можно(нужно) разделить наш набор. 

Много писанины. Может завтра закончу.

Успехов 

 
zaskok:
Об этом.
Прошу автора сделать великолепную подгонку под выбранный им кусок истории и показать MQL-исходник (без DLL) советника. Чтобы можно было оценить суть НС по потрохам, а не только словам.