Soft Actor Criticは、Actorネットワーク1つとCriticネットワーク2つ、合計3つのニューラルネットワークを用いる強化学習アルゴリズムです。これらのモデルは、CriticがActorネットワークの予測精度を高めるように設計された、いわばマスタースレーブの関係で連携します。本連載では、ONNXの導入も兼ねて、こうした概念を、ウィザード形式で構築されたエキスパートアドバイザー(EA)内のカスタムシグナルとしてどのように実装・活用できるかを探っていきます。
Soft Actor Criticは、私たちがこれまでに検討してきた近似方策最適化、ディープQネットワーク、SARSAなどに続く、もう一つの注目すべき強化学習アルゴリズムです。この手法もニューラルネットワークを活用しますが、重要な違いとして合計3つのネットワークを使用する点が挙げられます。それが、2つのCriticネットワークと1つのActorネットワークです。2つのCriticネットワークは、環境の状態と行動を入力として報酬予測(Q値)をおこない、その2つの出力のうち最小値を、Actorネットワークの損失関数の計算に使用します。
新しい記事「知っておくべきMQL5ウィザードのテクニック(第51回):SACによる強化学習」はパブリッシュされました:
Soft Actor Criticは、私たちがこれまでに検討してきた近似方策最適化、ディープQネットワーク、SARSAなどに続く、もう一つの注目すべき強化学習アルゴリズムです。この手法もニューラルネットワークを活用しますが、重要な違いとして合計3つのネットワークを使用する点が挙げられます。それが、2つのCriticネットワークと1つのActorネットワークです。2つのCriticネットワークは、環境の状態と行動を入力として報酬予測(Q値)をおこない、その2つの出力のうち最小値を、Actorネットワークの損失関数の計算に使用します。
Actorネットワークへの入力は環境状態座標であり、出力は平均ベクトルと対数標準偏差ベクトルの2つになります。ガウス過程(英語)を使用することで、これら2つのベクトルを使用して、Actorに可能な行動の確率分布を導出します。したがって、2つのCriticネットワークは従来の方法で訓練できますが、Actorネットワークは明らかに別の話です。ここでは説明すべきことがたくさんあるので、先に進む前にまず基本をもう一度確認しましょう。入力用の2つのCriticネットワークは、環境の現在の状態と行動を受け取ります。出力は、その状態でその行動を実行する場合の期待収益(Q値)の推定値です。2つのCriticを使用することは、Q学習でよく見られる問題である過大評価バイアスを軽減するのに役立ちます。
これまで使用してきた9つの環境状態と3つの可能な行動というモデルを引き続き使用します。行動の確率分布を処理するためには、この記事の冒頭でコードを共有したLogProbabilities関数が必要です。 ウィザードを使用してコンパイルし、データウィンドウの残りの4か月間のテスト実行を行うと、次のレポートが表示されます。
作者: Stephen Njuki