問題タブ [reinforcement-learning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - ニューラルネットワークによる強化学習
- 私はRL&NNとのプロジェクトに取り組んでいます
- ニューラルネットワークに供給されるアクションベクトル構造を決定する必要があります..
私は 3 つの異なるアクション (A & B & Nothing) をそれぞれ異なるパワー (例: A100 A50 B100 B50) で持っています。最良の結果を得るために、これらのアクションを NN にフィードする最良の方法は何でしょうか?
1- 入力 1 に A/B をフィードし、入力 2 にアクション パワー 100/50/何も入力しない
2- A100/A50/Nothing を入力 1 にフィードし、B100/B50/Nothing を入力 2 にフィードします。
3- A100/A50 を入力 1 にフィードし、B100/B50 を入力 2 にフィードし、Nothing フラグを入力 3 にフィードします。
4- また、100 & 50 をフィードするか、2 & 1 に正規化しますか?
1 つの方法を選択する理由が必要です。任意の提案をお勧めします
ありがとう
machine-learning - 強化学習とPOMDP
- 部分観測マルコフ過程で確率関数を実装するために多層NNを使用しようとしています。
- NNへの入力は次のようになると思いました:現在の状態、選択されたアクション、結果の状態。出力は[0,1]の確率です(現在の状態で選択されたアクションを実行すると結果の状態につながる可能性があります)
- トレーニングでは、前述の入力をNNにフィードし、すでに発生した各ケースのoutput=1.0を教えました。
問題:
ほぼすべてのテストケースで、出力確率は0.95に近いです。0.9未満の出力はありませんでした。ほぼ不可能な結果であっても、それはその高い確率を与えました。
PS:これは、起こったケースだけを教えたからだと思いますが、起こっていないケースは教えていません。しかし、エピソードの各ステップで、起こっていないアクションごとにoutput=0.0を教えることはできません。
この問題を克服する方法について何か提案はありますか?または、NNを使用したり、prob関数を実装したりする別の方法でしょうか?
ありがとう
machine-learning - 強化学習玩具プロジェクト
強化学習を学習および適用するための私のおもちゃのプロジェクト
は次
のとおりです。
- エージェントはロケットの位置を特定できます - 多少のノイズがあります- それらが「近い」場合のみ
-
エージェントはこれらのロケットに衝突するのを避けることを
学ばなければなりません..連続動作: 前方に加速する - 角度を付けて回転する
その場合に適した RL アルゴリズムのヒントと名前が必要です..
- POMDP だと思いますが、MDP としてモデル化してノイズを無視できますか?
- POMDP の場合、確率を評価するための推奨される方法は何ですか?
- この場合、値関数とポリシー反復のどちらを使用するのが適切ですか?
- 明示的な方程式を使用する代わりに、NN を使用して環境ダイナミクスをモデル化できますか?
- はいの場合、推奨される NN の特定のタイプ/モデルはありますか?
- アクションは離散化する必要があると思いますよね?
このようなトピックを学ぶには時間と労力がかかることは承知していますが、熱心に取り組んでいます..
すべてに答えられない場合は、いくつかの質問に答えることができます...
ありがとう
machine-learning - 時間差の更新ルール
更新ルール TD(0) Q-Learning:
Q(t-1) = (1-alpha) * Q(t-1) + (alpha) * (Reward(t-1) + gamma* Max( Q(t) ) )
次に、現在のベスト アクション (最適化) またはランダム アクション (エクスプローラー) のいずれかを実行します。
MaxNextQ は、次の状態で取得できる最大 Q です...
しかし、TD(1) では、更新ルールは次のようになると思います。
Q(t-2) = (1-alpha) * Q(t-2) + (alpha) * (Reward(t-2) + gamma * Reward(t-1) + gamma * gamma * Max( Q(t) ) )
私の質問:
この用語gamma * Reward(t-1)は、私が常に最善を尽くすことを意味しt-1ます.. これは探索を妨げると思います..
誰かヒントをくれませんか?
ありがとう
artificial-intelligence - 階層的強化タスクの構造を学ぶ
私は階層型強化学習の問題を研究してきました。多くの論文がポリシーを学習するための興味深い方法を提案していますが、それらはすべて、ドメイン内のアクションを説明するグラフ構造を事前に知っていると想定しているようです。たとえば、 Dietterichによる階層型強化学習のMAXQメソッドでは、単純なタクシードメインのアクションとサブタスクの複雑なグラフについて説明していますが、このグラフがどのように発見されたかについては説明していません。ポリシーだけでなく、このグラフの階層をどのように学習しますか?
algorithm - HexQ アルゴリズムの実装
強化学習における階層発見のためのHexQ アルゴリズムのオープンソース実装 (任意の言語) があるかどうか、誰かが知っていますか? さまざまなドメインで評価したいのですが、論文の説明から実装方法を理解するのに苦労しています。
artificial-intelligence - 活発な強化学習大会はありますか?
私は強化学習のパートタイムの研究をするのが好きです。近年(2009年まで)、rl-competition.orgで強化学習コンテストが開催され、いくつかの非常に興味深い問題が発生しましたが、これは中止されたようです。私は自分のスキルと知識を向上させ、それをこの分野の他の愛好家と比較して測定したいと思っています-そのような競争はまだありますか?
optimization - アイデア/参考文献/キーワードの検索: 検索アルゴリズムの適応パラメータ制御 (オンライン学習)
組み合わせ最適化における検索アルゴリズムのパラメータの適応パラメータ制御 (オンライン学習)に関するアイデア/経験/参考文献/キーワードを探しています。
もう少し詳しく:
私は、難しい組み合わせ最適化問題の最適化を担当するフレームワークを持っています。これは、反復的に使用されるいくつかの「小さなヒューリスティック」の助けを借りて行われます (大規模な近隣検索、破棄して再作成するアプローチ)。これらの「小さなヒューリスティック」のすべてのアルゴリズムは、ヒューリスティック ロジックをある程度制御しているいくつかの外部パラメーターを使用しています (現時点では、ランダムな値のみ; ある種のノイズ; 検索を多様化します)。
ここで、これらのパラメーターを収束を改善する方法で、可能な限り一般的に選択するための制御フレームワークが必要です。これにより、パラメーター制御を変更せずに新しいヒューリスティックを後で追加できるようになります。
少なくとも 2 つの一般的な決定事項があります。
- A: 次の反復で使用されるアルゴリズムのペア (1 つの破棄アルゴリズムと 1 つの再構築アルゴリズム) を選択します。
- B: アルゴリズムのランダム パラメータを選択します。
唯一のフィードバックは、新しく見つかったソリューションの評価関数です。それが強化学習の話題につながります。それは正しい方向ですか?
実際には学習のような行動ではありませんが、現時点での単純化されたアイデアは次のとおりです。
- A: 反復中に収集されたパフォーマンス値に応じたルーレット ホイールの選択 (近い過去は古いものよりも価値があります)。したがって、ヒューリスティック 1 がすべての新しいグローバル ベスト ソリューションを見つけた場合 -> これを選択する可能性が高くなります。
- B: まだわかりません。おそらく、(0,1) の範囲でいくつかの不均一なランダム値を使用することが可能であり、私は変化の勢いを集めています。したがって、ヒューリスティック 1 が前回 alpha = 0.3 を使用し、新しい最適解が見つからなかった場合、0.6 を使用して新しい最適解が見つかった場合 -> 1 に向かう勢いがある -> 次のランダム値は 0.3 よりも大きくなる可能性があります。考えられる問題:発振!
注意すべきこと: - 1 つの特定のアルゴリズムの良好な収束に必要なパラメーターは劇的に変化する可能性があります。- 特定の破壊/再構築アルゴリズムのペア (結合近傍と呼ばれることもある) には、相乗効果が期待できる可能性があります。そのようなものをどのように認識しますか?それはまだ強化学習エリアにあるのですか?- さまざまなアルゴリズムは、さまざまな数のパラメーターによって制御されます (1 つを取るものもあれば、3 つを取るものもあります)。
アイデア、経験、参考文献 (論文)、キーワード (ML トピック) はありますか?
(b) の決定について、オフライン学習の方法でアイデアがあれば。それについて言及することを躊躇しないでください。
ご意見ありがとうございます。
サーシャ
artificial-intelligence - Delphi / PascalのTD(λ)(時間差学習)
Tic-Tac-Toeを再生する人工ニューラルネットワークがありますが、まだ完成していません。
私がまだ持っているもの:
- すべてのタイムステップまたは移動「t」の整数値を持つ報酬配列「R[t]」(1 =プレーヤーAが勝ち、0 =引き分け、-1 =プレーヤーBが勝ちます)
- 入力値は、ネットワークを介して正しく伝播されます。
- 重みを調整するための式:

何が欠けている:
- TD学習:TD(λ)アルゴリズムを使用してネットワークのエラーを「逆伝播」する手順がまだ必要です。
しかし、私はこのアルゴリズムを本当に理解していません。
これまでの私のアプローチ...
遠位状態はそれほど多くの報酬を得てはならないため、トレース減衰パラメータλは「0.1」である必要があります。
学習率は、両方のレイヤー(入力と非表示)で「0.5」です。
報酬が遅れる場合です。ゲームが終了するまで、報酬は「0」のままです。すると、報酬は、最初のプレーヤーの勝利の場合は「1」、2番目のプレーヤーの勝利の場合は「-1」、引き分けの場合は「0」になります。
私の質問:
- ネットのエラー(TDエラー)はいつどのように計算しますか?
- エラーの「バックプロパゲーション」をどのように実装できますか?
- TD(λ)を使用して重みをどのように調整しますか?
よろしくお願いします:)
artificial-intelligence - 強化学習におけるマルコフ状態の数の削減
私は強化学習をいじり始めました(サットンの本を使用)。マルコフ状態空間を縮小しなければならない一方で、何が重要で何が重要でないかについての仮定を行わないことの間のパラドックスは完全には理解できません。
バックグラウンド
例えば。チェッカーの例では、サットンは、対戦相手の駒を倒すなど、ゲーム内の特定のアクションに報酬を割り当てるべきではないと述べています。彼は、これがゲームに勝てないピースを取るためにAIを最適化するかもしれないと主張します。したがって、報酬はあなたが達成したい結果(例えばゲームに勝つ)にのみ与えられるべきです。
質問1
(テキサスホールデム)ポーカーAIが、プレーヤーの手とテーブル上のカードのみのマルコフ状態であると仮定します。これには、約52 * 51 * 50 * 49 * 48 * 47 * 46/1 * 2 * 3 * 4 * 5 * 6*7の状態があります。ここで、AIがプレーヤーのお金のプールと彼らの賭けを考慮に入れたいと仮定します。これにより、8人のプレーヤーがそれぞれ$ 1〜200.000の間であると仮定すると、マルコフ状態空間は「無限の組み合わせ」に近づきます。
質問2
状態を減らす戦略の1つは、プレーヤーの現金を貧しい、中程度、または豊かなものに分割することです。これにより状態空間が大幅に減少しますが、a)3つのグループで十分であることをどのように知ることができますか?b)各グループの識別限界は何ですか?
乾杯、