Closed Duke-Allen closed 2 years ago
- 根据return来选动作
- 用的是RNN,需要输入上一个action进行记忆
- 每次append的是当前执行动作的状态,最后的terminal state还没有append进去
好的,第一点和第三点我明白了。但第二点是和算法无关吗,是因为使用的网络结构RNN,所以算法中都要使用上一个action吗,包括像reinforce这种策略梯度算法?是RNN的话不应该输入上一个隐藏状态吗?这里还不是很明白,请指教
对,和算法无关,这里面所有的算法都额外输入了上一个action;
因为原本神经网络就是输入当前的obs来得到action,所以obs已经被记忆下了;由于当前obs下的action还没有得到,所以要输入上一个action
您好,代码有些地方没看明白,所以有些问题想请教一下。
reinforce应该是策略梯度方法,在不加通信的情况下选动作是根据Q值来选的吗?为什么会出现Q值呢?
关于通信的问题,commnet以及g2anet都是可以加在那三个算法之上的,但代码中的通信我有点没看明白,比如COMA,在
coma.py
中初始化时有考虑输入上一个动作的,这么做是为什么呢?在
rollout.py
中与环境交互获取样本时后,为什么还要再重新添加一次obs和s呢?下面这几步的作用是什么呢?