2020.01.13王韬
今天重新阅读了学长的论文"Control of Quadrotor Drone with Partial State Observation via Reinforcement Learning",结合之前学的强化学习和神经网络知识,又有了新的收获,明确了下一步的方向,分享如下
思路历程
Whereas, without inertial sensor, full state observation could be difficult to aquire. Thus, in this paper, we present a recurrent reinforcement learning method to utilize the recent observation to strengthen the partial state information obtained from visual sensor and map the strengthened information to control signal.
- 文章的出发点是无人机在没有惯性原件的帮助下,我们只能观测到部分状态信息,将视觉信号进行特征提取,用强化学习的方式将之前的信息进行处理,从而达到良好的控制
The advantage of the deep reinforcement learning for the complex control problems is that a generalized neural network could be used to replace a specific predefined control model as the map from the observation to control signal, which is especially important for the quadrotor control without inertial sensor, since it is not easy to explicitly define the mapping structure from the history partial observation to full state information.
- 这里也说明了使用深度强化学习的目的是因为在将历史状态映射到全状态信息的过程中,很难去清晰地构造映射结构,因此构造了神经网络结构,通过四层网络的学习得到对当前状态的判断
网络结构
- 上图虚线左侧的循环神经网络的输入为视觉模块传入的状态信息,包括了位置信息和四个螺旋桨的角速度,激活函数是tanh;除此之外,虚线右侧为两层前向网络,用来将把提取到的全状态信息映射为动作采用的分布和状态的价值,两者分别对应了后续Actor-Critic网络。
角速度归一化便于数据处理,在下文的策略优化部分中,由于策略是β分布,所以需要归一化不超过边界值,并且提升在边界采样的概率。
τ是软归一化因子,有一定的限制作用
策略优化(Policy Optimization)
运用β-distribution表示策略分布,由于分布函数比较复杂,根据大数定理,当采样数量足够大的话,采样样本可以无限近似地表示原分布,所以在此之后运用蒙特卡洛采样来训练模型。
目标函数
策略的优化方向
价值函数
采用合理的价值函数在强化学习中是极其重要的,这里张学长提出了创新之处,用坐标的三次方差来作为Reward的一部分
- 四旋翼在计算奖赏时,更加偏重于误差的主要部分
- 由于在数字较大的时候三次绝对值方差远远大于二次方,这样使四旋翼对离目标位置更远的时候更加敏感,位置较近时则与二次方相差不大
- 这里的R0是一个正数,以保证Reward的非负性,否则动作会自我标记完成,没有在当前位置稳定便很快地停下来(奖励为负数的情况在很多以快速完成为目标的强化学习中应用有优势)
- Bonus是一个很大的值,四旋翼到达目标状态便会获得这个Bonus,这样可以大大加快算法的收敛
- γ为折扣因子(discount factor), 是一个[0,1]之间的数字。γ若为1,表明对之后的动作与当前动作同样关心;若小于1,则表示更加关心当前动作带来的奖励
训练目标
小组下一步方向
小组接下来具体的工作还要结合ROS下的四旋翼和双旋翼飞行器模拟器中提供的四旋翼模型去修改优化。个人认为为了简化问题,利用惯性元件已知全状态(已知惯性信息的情况下),可以省略循环神经网络,直接利用状态信息构建上文的两层网络进行输出,把重点放在Actor-Critic网络的训练上,借鉴上文的三次方差奖励函数,尽快完成任务后再优化。