Обсуждение статьи "Пишем глубокую нейронную сеть с нуля на языке MQL"

 

Опубликована статья Пишем глубокую нейронную сеть с нуля на языке MQL:

Статья познакомит вас с глубокой нейронной сетью, написанной на MQL, и с различными функциями активации этой сети, такими как функция гиперболического тангенса для скрытых слоев и Softmax для выходного слоя. Мы будем изучать нейросеть постепенно, двигаясь от первого шага до последнего, и вместе создадим глубокую нейронную сеть.

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

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

artificialneuron

Автор: Anddy Cabrera

 

Красивая анимация.

Двухслойная нейросеть - "мелкая" нейросеть, никак не глубокая. К глубоким нейросетям относятся сети с количеством скрытых слоев больше трех. В связи с особенностями обучения таких нейросетей были разработаны методы глубокого обучения. 

Статья как пример программирования на МКЛ наверное полезна. Для ознакомления с темой MLP- безусловно нужная. Как пример применения нейросети - не полная и далеко отстающая от текущего состояния темы.

Как правило без оптимизации гиперпараметров нейросеть не дает удовлетворительного качества. 

Мне только не понятно зачем строить велосипед из подручных средств, если есть море готовых программ по этой теме?

 
Для понимания НС хорошо и понятно.
 

Поправка. В статье есть определение глубокой сети. Я не увидел ее.

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

Для понимания работы нейросети как раз важно понять как происходит обучение нейросети обратным распространением ошибки. Ну это я уже придираюсь :)

Удачи 

 
Большое спасибо автору за статью. Мне, как человеку далёкому от нейросетей, она очень помогла вникнуть в суть дел и очень заинтересовала с точки зрения дальнейшего ознакомления с темой. Ещё раз спасибо!
 

как  то можно в эту сеть встроить обратное распространение ошибки? 

почему то есть мнение, что такая сеть более гибко бы настраивалась и предоставляла лучшие входа - выхода...

ведь Сеть с обратным распространением ошибки - это же ведь  не совсем другие сети?
 
Roman Shiredchenko #:

как  то можно в эту сеть встроить обратное распространение ошибки? 

почему то есть мнение, что такая сеть более гибко бы настраивалась и предоставляла лучшие входа - выхода...

ведь Сеть с обратным распространением ошибки - это же ведь  не совсем другие сети?

НН с обратным распространением ошибки на MQL5 см. тут - https://www.mql5.com/en/code/27396

Это перенос оригинального сишного кода отсюда - https://www.mql5.com/ru/code/9002 - там есть теория вкратце.

BPNN MQL Predictor Demo with library
BPNN MQL Predictor Demo with library
  • www.mql5.com
This is a demo indicator with BPNN neural network library ported from C++ to MQL.
 
Stanislav Korotky #:

НН с обратным распространением ошибки на MQL5 см. тут - https://www.mql5.com/en/code/27396

Это перенос оригинального сишного кода отсюда - https://www.mql5.com/ru/code/9002 - там есть теория вкратце.

спс посмотрю...

 
Анимация супер, автор заморочился
 
Нужна помощь.  Нейросеть работает только со свечой первого порядка? Как добавить значения свечи 2 и 3 порядка? Не могу понять по коду? Подскажите если кто то знает.
 
В тестере таблица настроек весов отображается не корректно, данные затененные, изменить не возможно?