Построение первой модели нейронной сети средствами MQL5

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

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

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

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

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

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

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

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