Обсуждение статьи "Нейросети — это просто (Часть 11): Вариации на тему GPT"

 

Опубликована статья Нейросети — это просто (Часть 11): Вариации на тему GPT:

Сегодня, наверное, одной из самых передовых языковых моделей нейросетей является GPT-3, которая в максимальном своем варианте содержит 175 млрд. параметров. Конечно, мы не будем создавать подобного монстра в домашних условиях. Но давайте посмотрим, какие архитектурные решения мы можем использовать в своей работе и какие это нам даст преимущества.

Тестирование нового класса нейронной сети проводилось на том же датасете, что и предыдущие тестирования: инструмент EURUSD, таймфрейм H1, на вход нейронной сети подаются исторические данные за 20 последних свечей.

Результаты тестов подтвердили предположение, что большее количество параметров требует большего периода обучения. На первых эпохах обучения советник с меньшим количеством параметров показывает более стабильные результаты. Но с ростом периода обучения у советника с большим количеством параметров улучшаются показатели. В целом, ошибка у советника Fractal_OCL_AttentionMLMH_v2 после 33 эпох обучения снизилась ниже уровня ошибки советника Fractal_OCL_AttentionMLMH и дальше оставалась только ниже.

Автор: Dmitriy Gizlyk

 
how we can use this
 
Мощно! Дропаут пока не реализовали?
 

Большое спасибо за ваши статьи. Его алгоритмы очень хороши, для меня это лучшие алгоритмы в mql5 для нейронных сетей, так как они позволяют обновлять сеть в реальном времени, во время рынка, построчно. Я тестирую его алгоритмы на бразильском фьючерсном рынке, и результаты обнадеживают, прогноз достиг эффективности более 80% за последние 100 баров, что привело к положительным сделкам. С нетерпением жду следующей статьи. Результаты торгов, совершенных экспертом на демо-счете по его алгоритмам

 
MetaQuotes:

Новая статья Нейронные сети - это просто (часть 11): Опубликован обзор GPT:

Автор: Дмитрий Гизлык

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

Было бы хорошо иметь диаграмму, показывающую, как все классы держатся вместе.

Сейчас я нахожусь в NeuronBase, который является производным от Object, но использует NeuronProof, который является производным от NeuronBase, а также Layer, который использует практически все типы классов Neuron.

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

Наверное, проще начать с чистого листа и использовать концепции, которые вы объяснили в различных главах.

Я попробовал запустить спагетти-миску, и она заставила мой GPU дымиться, не производя ничего полезного, к сожалению.

В любом случае, спасибо за отличные материалы.

:-)

 
Anthony Eric Gillon Dawson:

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

Было бы хорошо иметь диаграмму, показывающую, как все классы держатся вместе.

Сейчас я нахожусь в NeuronBase, который является производным от Object, но использует NeuronProof, который является производным от NeuronBase, а также Layer, который использует практически все типы классов Neuron.

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

Вероятно, проще начать с чистого листа и использовать концепции, которые вы объяснили в различных главах.

Я попробовал запустить спагетти-миску, и она заставила мой GPU дымиться, не производя ничего полезного, к сожалению.

В любом случае, спасибо за отличные материалы.

:-)

Здравствуйте,
Проверьте NN.chm. Возможно, это поможет вам.

 
Dmitriy Gizlyk:

Здравствуйте,
Проверьте NN.chm. Возможно, это поможет вам.

Привет,


Да, спасибо.

Теперь код не так плох, и я могу ясно видеть, как изменить архитектуру сети, если это необходимо.

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

Я попытался провести некоторое обучение на GBPUSD, используя код как есть, но результаты не кажутся хорошими, ошибка поднимается от естественных 50% до 70% и остается там, не улучшаясь в последующие эпохи.

Есть предложения, с чего начать настройку?


BTW эта строка:

#define  FileName        Symb.Name()+"_"+EnumToString((ENUM_TIMEFRAMES)Period())+"_"+IntegerToString(HistoryBars,3)+StringSubstr(__FILE__,0,StringFind(__FILE__,".",0))

Необходимо исправить на:

#define  FileName        Symb.Name()+"_"+EnumToString((ENUM_TIMEFRAMES)Period())+"_"+IntegerToString(HistoryBars)+StringSubstr(__FILE__,0,StringFind(__FILE__,".",0))
Или это не будет работать должным образом. По крайней мере, в последней версии MT5 это не так. Также я уверен, что никто не хотел, чтобы в имени файла был пробел.
 
Привет :) Я скачал исходники и скомпилировал их без ошибок. В терминале эксперт выдает сообщение об ошибке и закрывается. не могли бы вы помочь мне, пожалуйста, в чем проблема? вот скриншот из него. его начать бегать, немного тренироваться и ошибаться.
 
Привет еще раз :) Я нашел проблему. В папке include конфиг Opencl был неудачным, потому что я протестировал свою систему, и GPU не поддерживает код, только процессор, немного изменений и все работает отлично, но медленно :S
 

Сначала я не очень понимал статью, потому что не до конца улавливал основную мысль.

Когда я спросил самого ChatGPT об этом тексте, он многое прояснил, и я понял большую часть прочитанного:


"Алгоритм Transformer - это модель, используемая для обработки естественного языка, то есть текста. Эта модель разбивает текст на последовательность слов (или "лексем"), а затем выполняет ряд операций над каждым из этих слов, чтобы лучше понять их значение.

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

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

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

Одним словом, алгоритм Transformer использует сложные математические операции, чтобы понять смысл текста".

 
Gergely Szabó #:
Привет еще раз :) Я нашел проблему. В папке include конфиг Opencl был неудачным, потому что я протестировал свою систему, и GPU не поддерживает код, только процессор, немного изменений и работает отлично, но медленно :S
У меня такая же ошибка, не могли бы вы рассказать мне, как вы ее решили?