Обсуждение статьи "Нейросети — это просто (Часть 57): Стохастический маргинальный актер-критик (SMAC)" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Для вставки кода нужно применять соответствующую кнопку
С уважением, Владимир.
Каждый проход советника Test дает кардинально разные результаты, как будто модель отличается от всех предыдущих. Очевидно, что модель эволюционирует при каждом проходе Test, но поведение этого советника вряд ли можно назвать эволюцией, так что же за этим стоит?
Вот несколько фотографий:
Похоже, что операции покупки и продажи недостаточно контролируются в скриптах Test и, возможно, Research. Вот некоторые сообщения:
2024.04.27 13:40:29.423 Core 01 2024.04.22 18:30:00 Состояние текущего счета: Баланс: 9892.14, Кредит: 0.00, Комиссия: 0.00, Накоплено: 0.00, Активы: 0.00, Обязательства: 0.00, Капитал: 9892.14, Маржа: 0.00, FreeMargin: 9892.14
2024.04.27 13:40:29.423 Core 01 2024.04.22 18:30:00 failed market buy 0.96 EURUSD.pro sl: 1.06306 tp: 1.08465 [нет денег]
Если не предполагается превышение маржи, простые лимиты, установленные на buy_lot после строки 275 и после строки 296 на sell_lot, устранили бы такое поведение тестового скрипта.
Каждый проход советника Test дает кардинально разные результаты, как будто модель отличается от всех предыдущих. Очевидно, что модель эволюционирует при каждом проходе Test, но поведение этого советника вряд ли можно назвать эволюцией, так что же за этим стоит?
Вот несколько фотографий:
В этой модели используется стохастическая политика Актора. Поэтому в начале исследования мы можем видеть случайные сделки на каждом проходе. Мы собираем эти проходы и возобновляем изучение модели. И повторяем этот процесс несколько раз. Пока Актор находит хорошую политику действий.
Давайте сформулируем вопрос по-другому. Собрав образцы (исследование) и обработав их (изучение), мы запускаем тестовый скрипт. При нескольких последовательных запусках, без каких-либо исследований, результаты получаются совершенно разными.
Тестовый скрипт загружает обученную модель в подпрограмме OnInit (строка 99). Здесь мы загружаем в советник модель, которая не должна меняться во время обработки теста. Насколько я понимаю, она должна быть стабильной. Тогда и конечные результаты не должны измениться.
При этом мы не проводим никакого обучения модели. В Тестировании происходит только сбор дополнительных образцов.
Случайность скорее наблюдается в модуле Research и, возможно, в Study при оптимизации политики.
Actor вызывается в строке 240 для вычисления результатов фидфорвардинга. Если он не инициализируется случайным образом в момент создания, то, на мой взгляд, он не должен вести себя случайным образом.
Находите ли вы какие-либо заблуждения в приведенных выше рассуждениях?
Давайте сформулируем вопрос по-другому. Собрав образцы (исследование) и обработав их (изучение), мы запускаем тестовый скрипт. При нескольких последовательных запусках, без каких-либо исследований, результаты получаются совершенно разными.
Тестовый скрипт загружает обученную модель в подпрограмме OnInit (строка 99). Здесь мы загружаем в советник модель, которая не должна меняться во время обработки теста. Насколько я понимаю, она должна быть стабильной. Тогда и конечные результаты не должны меняться.
При этом мы не проводим никакого обучения модели. Тест выполняет только сбор дополнительных образцов.
Случайность скорее наблюдается в модуле Research и, возможно, в Study при оптимизации политики.
Actor вызывается в строке 240 для вычисления результатов фидфорвардинга. Если он не инициализируется случайным образом в момент создания, а я считаю, что это именно так, то он не должен вести себя случайным образом.
Находите ли вы какие-либо заблуждения в приведенных выше рассуждениях?
Актор использует стохастическую политику. Мы реализуем ее с помощью VAE.
Слой CNeuronVAEOCL использует данные предыдущего слоя как среднее и среднее арифметическое гауссова распределения и выбирает одно и то же действие из этого распределения. В начале мы закладываем в модель случайные веса. Таким образом, она генерирует случайные средние и STD. В итоге мы имеем случайные действия при каждом проходе теста модели. В момент исследования модель найдет некоторое среднее для каждого состояния, а STD будет стремиться к нулю.