I_A*_*ary 6 python reinforcement-learning tensorflow
我正在从事A2C强化学习,我的环境中代理的数量在增加和减少。由于代理数量的增加和减少,状态空间也会发生变化。我试图通过这种方式解决改变状态空间的问题:
如果状态空间超过选择为 的最大状态空间,则将选择n_input
多余的状态空间,
np.random.choice
其中随机选择提供了一种在将状态空间转换为概率后从状态空间创建随机样本的方法。
如果状态空间小于最大状态,我用零填充状态空间。
def get_state_new(state):
n_features = n_input-len(get_state(env))
# print("state",len(get_state(env)))
p = np.array(state)
p = np.exp(p)
if p.sum() != 1.0:
p = p * (1. / p.sum())
if len(get_state(env)) > n_input:
statappend = np.random.choice(state, size=n_input, p=p)
# print(statappend)
else:
statappend = np.zeros(n_input)
statappend[:state.shape[0]] = state
return statappend
Run Code Online (Sandbox Code Playgroud)
它有效,但结果不如预期,我不知道这是否正确。
我的问题
有没有参考论文处理这样的问题以及如何处理状态空间的变化?
我使用不同的解决方案解决了问题,但我发现编码是解决我的问题的最佳解决方案
\n[1]
提到的,额外连接的自动驾驶车辆 (CAV) 不包含在状态中,如果它们小于最大 CAV,则状态将用零填充。我们可以选择可以共享多少代理的状态,并将其状态添加到代理\xe2\x80\x99s\n状态中。对于编码器,我使用带有注意代码的神经机器翻译
\nclass Encoder(tf.keras.Model):\n def __init__(self, vocab_size, embedding_dim, enc_units, batch_sz):\n super(Encoder, self).__init__()\n self.batch_sz = batch_sz\n self.enc_units = enc_units\n self.embedding = tf.keras.layers.Embedding(vocab_size, embedding_dim)\n self.gru = tf.keras.layers.GRU(self.enc_units,\n return_sequences=True,\n return_state=True,\n recurrent_initializer=\'glorot_uniform\')\n\n def call(self, x, hidden):\n x = self.embedding(x)\n output, state = self.gru(x, initial_state = hidden)\n return output, state\n\n def initialize_hidden_state(self):\n return tf.zeros((self.batch_sz, self.enc_units))\n
Run Code Online (Sandbox Code Playgroud)\n1- Vinitsky, E.、Kreidieh, A.、Le Flem, L.、Kheterpal, N.、Jang, K.、Wu, C....和 Bayen, AM(2018 年 10 月)。混合自主交通中强化学习的基准。机器人学习会议(第 399-409 页)
\n2- Kochkina, E.、Liakata, M. 和 Augenstein, I. (2017)。Turing at semeval-2017 任务 8:使用分支 lstm 进行谣言立场分类的顺序方法。arXiv 预印本 arXiv:1704.07221。
\n3- Ma, L. 和梁 L. (2020)。增强 CNN 对噪声的鲁棒性,以对可变长度的 12 导联 ECG 进行分类。arXiv 预印本 arXiv:2008.03609。
\n\n5- 赵X.、夏L.、张L.、丁Z.、尹D.和唐J.(2018 年 9 月)。用于逐页推荐的深度强化学习。第 12 届 ACM 推荐系统会议论文集(第 95-103 页)。
\n 归档时间: |
|
查看次数: |
694 次 |
最近记录: |