我正在使用基于模型的单代理强化学习方法进行自主飞行。
在这个项目中,我使用模拟器来收集训练数据(状态、动作、结束状态),以便Locally Weighted Linear Regression
算法可以学习MODEL
.
由STATE
向量定义:[Pitch , Yaw , Roll , Acceleration]
定义无人机在空间中的位置。当给予它时,POLICY
它还有另一个特点[WantedTrajectory]
也由ACTION
向量定义:[PowerOfMotor1 , PowerOfMotor2 , PowerOfMotor3 , PowerOfMotor4]
的REWARD
计算取决于所采用轨迹的准确性:给定起始空间状态、想要的轨迹和结束空间状态,实际采用的轨迹越接近想要的轨迹,奖励的负数就越小。
算法policy iteration
如下:
start from a state S0
loop
1) select the best action according to the Policy
2) use LWLR to find the ending state
3) calculate reward
4) update generalized V function
endloop;
这样,所采取的行动也取决于想要的轨迹(由用户选择),代理自主选择 4 个电机的功率(尝试采用想要的轨迹并获得更大、更少负面的奖励)并且策略是动态的因为它取决于更新的价值函数。
唯一的问题是选择POLICY
如下(S = Pitch、Yaw、Roll、Acceleration、WantedTrajectory):
π(S) = argmax_a ( V( LWLR(S,a) ) )
(因此,在所有动作之间,从该状态引导代理处于具有最大 Value 的状态)在计算方面的成本很高,因为动作空间非常大。
有没有办法根据已经泛化的 VALUE FUNCTION 泛化 POLOCY ?