DQN 中的初始化状态
Initialization state in DQN
我正在用某个值 s'
初始化我的环境状态。
每次新的剧集开始时,我都会重新初始化环境状态。但我注意到,当我创建环境并初始化状态时,可以说 [10,3]
,训练后获得的策略根本不接近最优。但是,对于其他状态,可以说 [20,3].[20,7]....
等,我得到的结果非常接近最佳。所以问题是,从状态 [10,3]
开始是否有可能导致网络卡在局部最小值?
严格回答问题,当然,它可能会导致次优策略。一个基本的情况是,如果代理没有进行足够的探索,并且从您选择用于初始化的状态进入最终状态并不那么容易。这最终会导致智能体找到局部最小值,因为它从未离开 'local space'。
您可能想问自己的一个问题是 - 为什么不随机初始化状态?当然,在某些情况下使用一个主要状态进行初始化更有意义,但如果您的算法从其他起点学习得更好,则可能值得尝试使用不同的状态初始化每个情节并让代理概括状态space 更好。另一个建议是检查您的探索策略,看看它是否产生了足够的影响。
我正在用某个值 s'
初始化我的环境状态。
每次新的剧集开始时,我都会重新初始化环境状态。但我注意到,当我创建环境并初始化状态时,可以说 [10,3]
,训练后获得的策略根本不接近最优。但是,对于其他状态,可以说 [20,3].[20,7]....
等,我得到的结果非常接近最佳。所以问题是,从状态 [10,3]
开始是否有可能导致网络卡在局部最小值?
严格回答问题,当然,它可能会导致次优策略。一个基本的情况是,如果代理没有进行足够的探索,并且从您选择用于初始化的状态进入最终状态并不那么容易。这最终会导致智能体找到局部最小值,因为它从未离开 'local space'。
您可能想问自己的一个问题是 - 为什么不随机初始化状态?当然,在某些情况下使用一个主要状态进行初始化更有意义,但如果您的算法从其他起点学习得更好,则可能值得尝试使用不同的状态初始化每个情节并让代理概括状态space 更好。另一个建议是检查您的探索策略,看看它是否产生了足够的影响。