私の最後に基づいてquestion 2台のロボットアームが互いに卓球をしている3Dゲームを構築しました。ロボットには6自由度があります。
状態は、によって構成されている:卓球ロボットのニューラルネットワークへの提言
- X、ロボットのボール
- 6角のyおよびz位置それらが取るよう
すべての値は、正規化されています[-1,1]の間の値。 連続した4つのフレームで、合計37個のパラメータが入力されます。
報酬のプレーヤーがボールプレイヤーが試合
を失ったときにプレイヤーが試合
- 0.3出力
6つのロボットジョイントはすべて、特定の速度であるため、すべてのジョイントは、正の方向に移動したり、移動したり、負の方向に動く可能性があります。 この結果、3^6 = 729の出力になります。これらの設定では、ニューラルネットワークはロボットの逆運動学を学習し、卓球をする必要があります。 私の問題は、私のネットワークが収束しますが、ローカルの最小値に固執しているように見えます。設定によっては、後で収束し始めます。 私は最初に1000ノードの2つと3つの隠れ層を持つネットワークを試しましたが、数エポック後にネットワークが収束し始めました。私は、1000のノードがあまりにも多く、それらを100に下げたことに気付きました。その結果、ネットワークは記述されたように動作し、最初に収束してからわずかに分岐します。そこで私は隠れたレイヤーを追加することにしました。現在、私は6つの隠れた層、それぞれ80のノードを持つネットワークを試しています。現在の損失は次のようになります。
経験豊かな機械学習の専門家はどう思いますか?私の設定に何か問題はありますか?どのタイプのネットワークを選択しますか?
私はすべての提案がうれしいです。
ご回答ありがとうございます。コンビナトリアル爆発を考慮すると、ヒットポジションとパドルの位置の距離など、より多くの報酬を追加するか、または最初にネットワークに良いプレイヤーの動きを示し、その後に学習させることができます。 なぜあなたはその論文が偽であると思いますか?私はフィールドでかなり新しいです、あなたの意見を聞きたいです。あなたが私にメッセージを書いたり、あなたの意見を表明する記事を送ってくれれば素晴らしいでしょう。 – Koanashi