亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 DQN(深度 Q 網絡)中分配狀態?

如何在 DQN(深度 Q 網絡)中分配狀態?

C#
MMMHUHU 2022-12-24 12:22:55
我正在使用自動駕駛儀進行飛行模擬,所以我需要制作一個 DQN(深度 Q 網絡)來控制自動駕駛儀,但我不知道最佳狀態數。模擬是統一完成的,所有的環境和物理也都完成了,DQN 只需要輸出 (W,A,S,D) 來控制飛機,我找到了一個控制 CARTPOLE 的代碼,理論上應該可以訓練和控制飛機就好了,唯一的問題是我不知道我選擇的狀態是否正確。這是代碼:        import os    import random    import gym    import numpy as np    from collections import deque    from keras.models import Sequential    from keras.layers import Dense    from keras.optimizers import Adam    class DQNAGENT:        def __init__(self,state_size,_action_size):            self.state_size = state_sizes            self.action_size = actions_sizes            self.memory = deque(maxlen=2000)            self.gamma = 0.95            self.epsilon = 1.00            self.epsilon_decay_rate = 0.995            self.epsilon_min = 0.01            self.learning_rate = 0.001            self.model = self.build_model()        def buildmodel(self):            model = Sequential()            model.add(Dense(24, input_dim=self.state_size, activation='relu'))            model.add(Dense(24, activation='relu'))            model.add(Dense(self.action_size, activation='linear'))            model.compile(loss='mse',optimizer=Adam(lr=self.learning_rate))            return model        def remember(self, state, action, reward, next_state, done):            self.memory.append((state, action, reward, next_state, done))        def act(self, state):            if np.random.rand()  self.epsilon_min:                self.epsilon *= self.epsilon_decay_rate        def load(self, name):            self.model.load_weights(name)        def save(self, name):            self.model.save_weights(name)代理類是將要接受培訓的代理,這些功能沒問題,但在Main中,狀態大小設置為零,因為我還不知道這三行的數量我無法轉換為能夠運行我的項目因為它從 Gym 包中獲取這些變量,但我需要手動輸入這些變量,我的環境將包括空速、飛機位置、機場位置等,這就是我想寫的,所以如果有人能幫我弄清楚這是否正確甚至更好地告訴我什么是最佳狀態,我們將非常感激。
查看完整描述

1 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

狀態只是您的代理在當前“框架/步驟”中擁有的信息。
這是代理選擇動作所需要的agent.act(state)

CartPole示例中,狀態是一個包含 4 個值的框:

  • 推車位置

  • 推車速度

  • 極角

  • 尖端極速

在您的飛行自動駕駛儀中,狀態將是您的代理人做出決定所需的信息,例如:

  • 當前緯度

  • 現在的速度

  • ...


查看完整回答
反對 回復 2022-12-24
  • 1 回答
  • 0 關注
  • 89 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號