q-learning

    1熱度

    1回答

    我正在使用Keras進行深q學習的實驗,並且我想要教授代理來執行任務。在我的問題 我wan't教的試劑,以避免撞擊物體在它的路徑,通過改變它的速度(加速或減速) 所述試劑水平移動和對象以避免在垂直方向移動的,我不要他學會改變速度以避免擊中它們。 我基於我對這個代碼:Keras-FlappyBird 我試圖3個不同模型(我不使用卷積網絡) 模型與S形的激活函數10密隱藏層,用400輸出節點 模型與L

    0熱度

    2回答

    學習者可能正處於訓練階段,在那裏它會更新一堆時代的Q表。 在這個階段,Q表會更新爲gamma(貼現率),學習率(alpha),並且動作將由隨機動作率選擇。 經過一段時間後,當獎勵變得穩定後,讓我稱之爲「訓練完成」。那麼在那之後我必須忽略這些參數(伽馬,學習率等)嗎? 我的意思是,在訓練階段,我從Q-表像這樣的動作: if rand_float < rar: action = rand.r

    1熱度

    1回答

    我正在開發自駕車計劃的代碼。我在我的choose_action函數中遇到問題。代理應該從選擇的有以下步驟最高Q值的動作選擇隨機行動: 「其他: 行動= maxQaction」 但我現在寫的方式,每次只會選擇相同的動作。任何人都可以建議如何隨機選擇最高的Q值,也許我可以使用列表。 Code: import random import math from environment import A

    1熱度

    2回答

    我做了一個簡單版本的曲線發燒,也被稱爲「Achtung Die Kurve」。我想讓機器弄清楚如何最佳地玩遊戲。我從谷歌的Tensorflow製作的一些Atari遊戲例子中複製並略微修改了現有的DQN。 我想找出一個合適的獎勵功能。目前,我用這個獎勵設置: 0.1每一幀它不會崩潰 -500每次崩潰 這是正確的做法?我需要調整值嗎?或者我需要一個完全不同的方法?

    0熱度

    1回答

    我確實瞭解政策梯度網絡中的反向傳播,但我不確定如何與自動區分的庫協同工作。 也就是說,他們如何將它轉換成監督學習問題。 例如,下面的代碼: Y = self.probs + self.learning_rate * np.squeeze(np.vstack([gradients])) 爲什麼爲Y爲動作不1-熱矢量取? 他正在計算假設動作正確的梯度,Y是一個熱點向量。然後他在相應的時間步驟中乘以

    0熱度

    1回答

    我有一個500 * 500的網格有7個不同的懲罰值。我需要製作一個RL代理,其行動空間包含11個動作。 (左,右,上,下,4個對角線方向,加速,減速和正常速度)。我怎麼解決這個問題? 選擇的「執行操作」的概率爲0.8。否則,會選擇一個隨機動作。而且,懲罰值可以動態改變。

    0熱度

    1回答

    我正在嘗試爲AI中的問題編寫深度q-學習網絡。我有一個函數predict(),它產生一個形狀(None, 3)的張量,輸入形狀(None, 5)。 (None, 3)中的3對應於每個狀態下可以採取的每個動作的q值。現在,在訓練步驟中,我必須多次呼叫predict(),並使用結果計算成本並訓練模型。爲此,我還有另一個可用的數據數組,名爲current_actions,它是一個列表,其中包含以前迭代中

    0熱度

    1回答

    我正在學習Q-Learning,並試圖在OpenAI Gym的FrozenLake-v0問題上構建Q-learner。由於問題只有16個狀態和4個可能的操作,所以它應該相當容易,但看起來像我的算法沒有正確更新Q表。 以下是我的Q學習算法: import gym import numpy as np from gym import wrappers def run( env,

    1熱度

    1回答

    我在開放式健身房的mountain car problem中實施DQN。這個問題很特殊,因爲積極的回報非常稀少。所以我想到了這個paper by google deep mind中提出的優先體驗重播。 但是也有一些困惑我某些事: 我們如何存儲回放存儲器。我得到那我是過渡的優先事項,有兩種方式,但這是什麼P(我)? 如果我們按照給定的規則不會P(i)每次添加樣本都會改變。 當它說「我們根據此概率分佈

    0熱度

    1回答

    我想用Q學習訓練CatPole-V0餵養tensorflow佔位符。當試圖更新用豐富的經驗,我收到以下錯誤重傳緩衝器: ValueError: Cannot feed value of shape (128,) for Tensor 'Placeholder_1:0', which has shape '(?, 2)' 相關的代碼片段是: def update_replay_buffer(re