67

フィードフォワードニューラルネットワークの基本と、バックプロパゲーションアルゴリズムを使用してそれらをトレーニングする方法を知っていますが、強化学習を使用してANNをオンラインでトレーニングするために使用できるアルゴリズムを探しています。

たとえば、カートポールのスイングアップの問題は、ANNで解決したい問題です。その場合、振り子を制御するために何をすべきかわかりません。理想的な位置にどれだけ近いかしかわかりません。私はANNに報酬と罰に基づいて学ばせる必要があります。したがって、教師あり学習はオプションではありません。

もう1つの状況は、フィードバックが遅れ、報酬ではなくゴールと反ゴールに限定されるヘビゲームのようなものです。

山登り法や遺伝的アルゴリズムなど、最初の状況でのアルゴリズムをいくつか考えることができますが、どちらも遅いと思います。これらは2番目のシナリオにも適用できる可能性がありますが、信じられないほど遅く、オンライン学習には役立ちません。

私の質問は単純です:強化学習で人工ニューラルネットワークをトレーニングするための単純なアルゴリズムはありますか?私は主にリアルタイムの報酬状況に興味がありますが、目標ベースの状況のアルゴリズムが利用可能であれば、さらに優れています。

4

2 に答える 2

31

このトピックに関するいくつかの研究論文があります:

そしていくつかのコード:

これらは、このトピックに関する上位のGoogle検索結果のほんの一部です。最初の数冊の論文は、私が個人的に読んだことはありませんが、かなり良いように見えます。Google Scholarで簡単に検索すると、強化学習を使用したニューラルネットワークに関するさらに多くの情報が見つかると思います。

于 2012-05-23T14:42:13.097 に答える
9

報酬につながる出力がrネットワークr時間に逆伝播される場合、報酬に比例してネットワークを強化します。これはマイナスの報酬には直接当てはまりませんが、異なる効果を生み出す2つの解決策を考えることができます。

1)rmin-rmaxの範囲の報酬のセットがある場合は、0-(rmax-rmin)それらがすべて非負になるように再スケーリングします。報酬が大きいほど、作成される強化が強くなります。

2)負の報酬の場合、負の報酬につながるものと異なる限り-r、ランダムな出力時間を逆伝播します。rこれは、望ましい出力を強化するだけでなく、悪い出力を拡散または回避します。

于 2012-05-23T14:42:29.110 に答える