タグ付けされた質問 「reinforcement-learning」

7
ビジュアル入力を使用してDiablo 2を再生するように人工ニューラルネットワークをトレーニングする方法
私は現在、ANNにビデオゲームをプレイしてもらうことを目指しています。ここのすばらしいコミュニティから助けを借りたいと思っていました。 私はディアブロ2に落ち着きました。したがって、ゲームのプレイはリアルタイムで、アイソメトリックの観点から、プレーヤーはカメラの中心にある1つのアバターを制御します。 物事を具体的にするために、タスクは、ヘルスを0に落とさずにキャラクターx経験値を取得することです。この場合、経験値はモンスターを倒すことによって獲得されます。これはゲームプレイの例です: 今、私はネットを画面上のピクセルから取得した情報のみに基づいて動作させたいので、効率的に再生するためには非常に豊かな表現を学習する必要があります。ゲームの世界をオブジェクトに分割し、それらと対話する方法。 そして、これらすべての情報はどういうわけかネットに教えられなければなりません。私の人生では、これをどのように訓練するかを考えることはできません。私の唯一のアイデアは、画面からゲームの本質的に良い/悪いもの(健康、ゴールド、経験など)を視覚的に抽出し、その統計を強化学習手順で使用する別のプログラムを用意することです。それは答えの一部になると思いますが、それで十分だとは思いません。生の視覚的入力から目標指向の動作までの抽象化のレベルが多すぎて、私の生涯でネットを訓練するにはそのような限られたフィードバックがありません。 だから、私の質問:このタスクの少なくとも一部を実行するようにネットをトレーニングするには、他にどのような方法が考えられますか?何千ものラベル付けされた例を作成せずに。 もう少し方向付けをします。この設定で有用な情報を抽出するために、強化学習の他のソースや、監視されていない方法を探しています。または、手動でラベル付けする必要なしに、ゲームの世界からラベル付けされたデータを取得する方法を考えることができる場合は、監視付きアルゴリズム。 更新(12/04/27): 不思議なことに、私はまだこれに取り組んでおり、進歩しているようです。ANNコントローラを機能させる最大の秘訣は、タスクに適した最新のANNアーキテクチャを使用することです。したがって、時間差の逆伝播(つまり、標準の強化学習)で微調整する前に、教師なしで(ゲームをプレイしているビデオで)訓練した因数分解された制限付きボルツマンマシンで構成される深い信念ネットを使用してきましたフィードフォワードANN)。 ただし、特にリアルタイムでのアクション選択の問題と、ANN処理用にカラー画像をエンコードする方法について、さらに価値のある入力を探しています:-) 更新(10/21/15): 私がこの質問を過去にしたことを思い出しただけで、これはもうおかしな考えではないことを述べておかなければならないと思いました。前回の更新以降、DeepMindは、ニューラルネットワークで視覚入力からAtariゲームをプレイできるようにするためのネイチャーペーパーを公開しました。確かに、私が彼らのアーキテクチャを使用してDiablo 2の限られたサブセットをプレイするのを妨げている唯一のことは、基礎となるゲームエンジンへのアクセスの欠如です。画面にレンダリングしてからネットワークにリダイレクトするのは、適度な時間でトレーニングするには遅すぎるだけです。したがって、おそらくこのようなボットがディアブロ2をプレイするのはすぐにはわかりませんが、それは、オープンソースまたはレンダリングターゲットへのAPIアクセスで何かをプレイするためです。(おそらく地震?)

4
値の反復とポリシーの反復の違いは何ですか?
強化学習では、ポリシーの反復と値の反復の違いは何ですか? 私が理解している限り、値の反復では、ベルマン方程式を使用して最適なポリシーを解きますが、ポリシーの反復では、ポリシーπをランダムに選択し、そのポリシーの報酬を見つけます。 私の疑問は、PIでランダムポリシーπを選択している場合、複数のランダムポリシーを選択している場合でも、それが最適なポリシーであることがどのように保証されるかということです。

1
勾配ポリシー導出について
元のリソースであるAndrej Karpathyブログから、ポリシーグラデーションの非常に単純な例を再現しようとしています。その記事には、カートポールとポリシーグラディエントの例と、ウェイトとソフトマックスのアクティブ化のリストがあります。これは、完璧に機能する CartPoleポリシーグラディエントの非常に単純な再作成例です。 import gym import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import PolynomialFeatures import copy NUM_EPISODES = 4000 LEARNING_RATE = 0.000025 GAMMA = 0.99 # noinspection PyMethodMayBeStatic class Agent: def __init__(self): self.poly = PolynomialFeatures(1) self.w = np.random.rand(5, 2) def policy(self, state): z = state.dot(self.w) exp = …

1
TypeError:lenはシンボリックテンソルに対して適切に定義されていません。(activation_3 / Identity:0)形状情報については、 `len(x)`ではなく `x.shape`を呼び出してください
私はopenAIジムの1つのゲームにDQLモデルを実装しようとしています。しかし、それは私に次のエラーを与えています。 TypeError:lenはシンボリックテンソルに対して適切に定義されていません。(activation_3 / Identity:0) 形状情報x.shapeではなく、呼び出してくださいlen(x)。 ジム環境の作成: ENV_NAME = 'CartPole-v0' env = gym.make(ENV_NAME) np.random.seed(123) env.seed(123) nb_actions = env.action_space.n 私のモデルは次のようになります: model = Sequential() model.add(Flatten(input_shape=(1,) + env.observation_space.shape)) model.add(Dense(16)) model.add(Activation('relu')) model.add(Dense(nb_actions)) model.add(Activation('linear')) print(model.summary()) 次のように、そのモデルをkeral-rlのDQNモデルに適合させます。 policy = EpsGreedyQPolicy() memory = SequentialMemory(limit=50000, window_length=1) dqn = DQNAgent(model=model, nb_actions=nb_actions, memory=memory, nb_steps_warmup=10, target_model_update=0.001, policy=policy) dqn.compile(Adam(lr=1e-3), metrics=['mse', 'mae']) dqn.fit(env, nb_steps=5000, …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.