記事「ニューラルネットワークが簡単に(第31部):進化的アルゴリズム」についてのディスカッション

 

新しい記事「ニューラルネットワークが簡単に(第31部):進化的アルゴリズム」はパブリッシュされました:

前回の記事では、非勾配最適化手法の調査を開始しました。遺伝的アルゴリズムについて学びました。今日は、このトピックを継続し、進化的アルゴリズムの別のクラスを検討します。

EAは過去2週間の期間テストされましたが、訓練サンプルには含まれていません。これは、EAが実際の条件に近い状態でテストされたことを意味します。テスト結果は、提案された方法の実行可能性を示しました。下のチャートでは、残高が増加するダイナミクスを確認できます。通常、テスト期間中に107回の取引が実行されました。これらのうち、ほぼ55%が利益を上げていました。勝てる取引と負ける取引の比率はほぼ1:1ですが、平均的な勝ち取引は平均的な負け取引よりも43%高くなっています。したがって、結果のプロフィットファクターは1.69です。リカバリーファクターは3.39に達しました。

訓練済みモデルのテスト結果

作者: Dmitriy Gizlyk

 


エラーが発生しました。解決方法を教えてください。

2022.10.21 18:23:12.259 Evolution (EURUSD,H1) 1 undeleted objects left
2022.10.21 18:23:12.259 Evolution (EURUSD,H1) 1 object of type CBufferFloat left
2022.10.21 18:23:12.259 Evolution (EURUSD,H1) 1280 bytes of leaked memory
2022.10.21 18:23:13.785 Evolution (EURUSD,H1) EURUSD_PERIOD_H1_Evolution.nnw
2022.10.21 18:23:13.858 Evolution (EURUSD,H1) OpenCL: GPU device 'NVIDIA GeForce RTX 3080' selected
2022.10.21 18:23:16.085 Evolution (EURUSD,H1) Error of execution kernel SoftMax FeedForward: 5109
2022.10.21 18:23:16.085 Evolution (EURUSD,H1) Train -> 206



2022.10.21 18:23:12.281 Experts experts Evolution (EURUSD,H1) loaded successfully.


そして、何も起こらず、無音、ビデオカードの音も聞こえません。通常、ビデオカードは作業中にノイズを出します(同じFractal OCLを例にしています)。
 
Ivan Butko #:


エラーが表示されます。解決方法を教えてください。

2022.10.21 18:23:12.259 Evolution (EURUSD,H1) 1 undeleted objects left
2022.10.21 18:23:12.259 Evolution (EURUSD,H1) 1 object of type CBufferFloat left
2022.10.21 18:23:12.259 Evolution (EURUSD,H1) 1280 bytes of leaked memory
2022.10.21 18:23:13.785 Evolution (EURUSD,H1) EURUSD_PERIOD_H1_Evolution.nnw
2022.10.21 18:23:13.858 Evolution (EURUSD,H1) OpenCL: GPU device 'NVIDIA GeForce RTX 3080' selected
2022.10.21 18:23:16.085 Evolution (EURUSD,H1) Error of execution kernel SoftMax FeedForward: 5109
2022.10.21 18:23:16.085 Evolution (EURUSD,H1) Train -> 206


In the log
2022.10.21 18:23:12.281 Experts experts Evolution (EURUSD,H1) loaded successfully.


そして、何も起こらず、無音、ビデオカードの音も聞こえません。通常、ビデオカードは作業中にノイズを出します(同じFractal OCLを例にしています)。

母集団のサイズを小さくしてみてください。実験では5-10に設定してください。もし誤差がなくなるようであれば、増やしてみてください。そして実験的に許容限界を見つけてください。

 
Dmitriy Gizlyk #:

母集団のサイズを小さくしてみてください。実験では5~10に設定する。もし誤差がなくなるようであれば、それを増やす。そして実験的に許容限度を見つける。

試しに5から10に設定して1回やってみた。

2022.10.22 01:42:08.768 Evolution (EURUSD,H1) Error of execution kernel SoftMax FeedForward: 5109.


モデルを保存すると、ウィンドウの左側に「モデルの読み込みエラー、ファイルを選択、エラーID: 5004」と表示されます。たぶん、これが影響しているのでしょう。


また、作成されたファイルは16メガバイトでなければなりません!mqlでこのようなサイズを見るのは珍しい。




UPD

ラップトップで試してみたが、これもトレーニングしようとしない:

2022.10.22 13:07:36.028 Evolution (EURUSD,H1) EURUSD_PERIOD_H1_Evolution.nnw
2022.10.22 13:07:36.028 Evolution (EURUSD,H1) OpenCL: GPU device 'Intel(R) UHD Graphics' selected
2022.10.22 13:07:37.567 Evolution (EURUSD,H1) 9 undeleted objects left
2022.10.22 13:07:37.567 Evolution (EURUSD,H1) 1 object of type CLayer left
2022.10.22 13:07:37.567 Evolution (EURUSD,H1) 1 object of type CNeuronBaseOCL left
2022.10.22 13:07:37.567 Evolution (EURUSD,H1) 7 objects of type CBufferFloat left
2022.10.22 13:07:37.567 Evolution (EURUSD,H1) 2688 bytes of leaked memory

In log:

2022.10.22 13:07:34.716 Experts expert Evolution (EURUSD,H1) loaded successfully
2022.10.22 13:07:37.568 Experts Evolution (EURUSD,H1) initialising failed with code 1
2022.10.22 13:07:37.580 Experts expert Evolution (EURUSD,H1) removed.


 
Ivan Butko #:

モデルを保存するとき、ウィンドウの左側に「モデルの読み込みエラー、ファイルを選択、エラーID: 5004」と表示されます。もしかしたら、これが影響しているのかもしれません。


これはエラーではなく、NetCreatorが左側のモデルを読み込もうとしているだけで、ファイルは指定されていません。5004エラーはファイルを開くエラーです。

 
Ivan Butko #:

試しに5から10に設定して1回やってみた。同じエラー:

2022.10.22 01:42:08.768 Evolution (EURUSD,H1) 実行カーネルのエラー SoftMax FeedForward: 5109

前回の記事のファイルをすべて使用しましたか?

 
Dmitriy Gizlyk #:

前回の記事のファイルをすべて使いましたか?

はい。

もしエラーがOpenClに関係しているのなら、プロセッサーを何らかの方法で切り替える必要があるのかもしれません。
違う端末で試してみました。

 

学習済み モデルの履歴の同じ部分が繰り返しテストされる場合、結果はランダムになる

ファイル:
qoymbc.gif  928 kb
 
Ivan Butko #:

学習済み モデルの履歴の同じ部分が繰り返しテストされる場合、結果はランダムになる

これは、訓練されていないモデルや、分析されたデータが1つの行動を優先することを許さない場合に可能である。見てわかるように、アルゴリズムは確率分布からアクションをランダムに選択する。モデルがすべての行動に対して等しい確率を生成する場合、出力はランダムな結果となる。

 
Dmitriy Gizlyk #:

これは訓練されていないモデルでも可能である

モデルを訓練するには、設定で設定された1000世代を必ず実行する必要がありますか?(3080では1日以上のトレーニングが必要です。)

 

モデルトレーニングのプロセスについては、すでに過去の記事で説明している。私はそれらにこだわるつもりはない。"

繰り返したくないのはわかりますが、せめて読者がその情報を見つけることができる記事への参照を与えていただけませんか?