Closed tangmingkai closed 1 year ago
是的,因为最后还是拼了个0上去哈哈哈。从计算性能角度来看,影响不大,比如一个episode有1000步,最后一步包含terminal的样本只占了1/1000,优化了这个计算对整体性能影响提升不大。
但是可能在一些情况下,模型里面要加一些特判,否则会运行错误
比如?
相当于在terminal的时候,可以选择的action为空集,例如说用RL求TSP问题,网络自动从所有候选点中选择下一个点走,在terminal的时候,候选点为空集,就会出错。
TSP问题,你在调用value函数前,先判断一下是否已经选够那么多个点了不就可以了吗?
如果你非要让网络输出,那你像NLP领域一样,增加一个结束标志在action set里面不也可以吗?
“TSP问题,你在调用value函数前,先判断一下是否已经选够那么多个点了不就可以了吗?” 我打算用DQN,如果最后一次不去学的话,相当于最后一步的数据学不到了
"如果你非要让网络输出,那你像NLP领域一样,增加一个结束标志在action set里面不也可以吗?" 这种方案确实可以
在dqn中terminal==True的时候感觉应该不需要再跑一次网络的,会造成没用的运算