首页 > 汽车技术 > 正文

应用D2RL方法解决AV测试问题中的维度诅咒与稀有性诅咒

2023-04-25 21:45:48·  来源:汽车测试网  
 
摘要:人工智能技术在AV测试中的应用已经成为了一个热点话题。然而,由于维度诅咒和稀有性诅咒的存在,直接应用DRL方法是很难学习一个有效的政策的。本文针对这一挑战,提出了D2RL方法。该方法利用安全指标临界度来识别关键状态,丢弃非关键状态的数据,只利

摘要:人工智能技术在AV测试中的应用已经成为了一个热点话题。然而,由于维度诅咒和稀有性诅咒的存在,直接应用DRL方法是很难学习一个有效的政策的。本文针对这一挑战,提出了D2RL方法。该方法利用安全指标临界度来识别关键状态,丢弃非关键状态的数据,只利用信息数据来训练神经网络。同时,密集学习可以明显降低政策梯度估计的方差,减少引导方差。该方法的有效性在实验中得到了验证。


引言

随着人工智能技术的不断发展,AV测试已经成为了一个热点话题。然而,AV测试问题是一个高维度、稀有性问题,直接应用DRL方法是很难学习一个有效的政策的。


维度诅咒是指在高维空间中,随着维度的增加,样本的数量呈指数级下降。这意味着,高维空间中的数据分布变得更加稀疏,对于DRL算法来说,将很难学习一个有效的政策。


稀有性诅咒是指在某些状态下,特定的行为是非常罕见的。这意味着,学习到的政策可能无法涵盖所有可能的情况,因此无法保证评估效率和无偏见。


为了解决AV测试问题中的维度诅咒和稀有性诅咒,我们提出了一种新的方法——D2RL方法。该方法利用安全指标临界度来识别关键状态,丢弃非关键状态的数据,只利用信息数据来训练神经网络。同时,密集学习可以明显降低政策梯度估计的方差,减少引导方差。该方法在实验中得到了验证,具有很好的效果。


D2RL方法

D2RL方法的关键概念是去除不关键状态的数据,只利用信息数据来训练神经网络。在AV测试问题中,许多安全指标可以被用来识别具有不同效率和效果的关键状态。在本研究中,我们利用临界度指标,它是对从当前状态开始的特定时间范围内(例如一秒钟)的AV碰撞率的外部近似值。具体地说,我们将AV测试问题表述为一个连续的马尔可夫决策过程(MDP),其中BV的机动性是根据当前状态信息决定的。我们的目标是训练一个由神经网络建模的策略(DRL代理),它可以控制BV的机动动作与AV互动,以最大限度地提高评估效率并确保无偏见。


在D2RL方法中,我们通过编辑马尔可夫过程,丢弃非临界状态的数据,并将剩余的数据用于政策梯度估计和DRL训练的引导。具体地说,我们可以将马尔可夫决策过程表示为:


$P(s_{t+1}|s_t,a_t) = \sum_{s'} P(s_{t+1}|s_t,a_t,s')P(s'|s_t,a_t)$


其中,$s_t$表示当前状态,$a_t$表示当前动作,$s_{t+1}$表示下一个状态。$P(s_{t+1}|s_t,a_t)$是转移概率,$P(s'|s_t,a_t)$是状态转移函数。


在D2RL方法中,我们使用临界度指标来判断哪些状态是关键状态。具体地说,我们定义一个时间窗口$\tau$,并计算从当前状态$s_t$开始的$\tau$时间内的AV碰撞率。如果这个碰撞率高于某个阈值,我们就认为当前状态是关键状态。然后,我们将关键状态和与之相关的动作和奖励信息存储下来,其他非关键状态的数据将被丢弃。


通过这种方式,我们可以减少数据的维度,使得训练过程更加高效。同时,我们只利用关键状态的信息,可以提高政策的有效性,并确保评估的无偏性。具体来说,我们可以将政策梯度表示为:


$\nabla_{\theta} J(\theta) = \mathbb{E}{s_t \in \mathcal{S},a_t \in \mathcal{A},\tau}[\nabla{\theta} \log \pi_{\theta}(a_t|s_t) Q_{\theta}(s_t,a_t,\tau)]$


其中,$J(\theta)$表示策略的目标函数,$\theta$表示神经网络的参数,$\mathcal{S}$表示状态空间,$\mathcal{A}$表示动作空间,$\tau$表示时间窗口。$Q_{\theta}(s_t,a_t,\tau)$表示从状态$s_t$开始,在时间窗口$\tau$内采取动作$a_t$的期望回报,即:


$Q_{\theta}(s_t,a_t,\tau) = \mathbb{E}{s' \sim P(\cdot|s_t,a_t),\tau'}[r(s_t,a_t,s') + \gamma V{\theta}(s',\tau'-1)]$


其中,$r(s_t,a_t,s')$表示从状态$s_t$开始采取动作$a_t$转移到状态$s'$的即时回报,$\gamma$表示折扣因子,$V_{\theta}(s_t,\tau)$表示从状态$s_t$开始,在时间窗口$\tau$内的状态值函数,即:


$V_{\theta}(s_t,\tau) = \mathbb{E}{a_t \sim \pi{\theta}(\cdot|s_t),\tau'}[Q_{\theta}(s_t,a_t,\tau')]$


在D2RL方法中,我们只利用关键状态的信息来训练神经网络,并且只利用这些数据来估计政策梯度。这样可以显著降低方差,并且不会损失估计的无偏性。具体来说,我们可以使用重要性采样的方法来估计政策梯度。假设我们有一个样本$(s_t,a_t,\tau)$,我们可以计算其权重$w_{t,\tau}$,即:


$w_{t,\tau} = \frac{\pi_{\theta}(a_t|s_t)}{\mu(a_t|s_t)}$


其中,$\pi_{\theta}(a_t|s_t)$表示当前策略在状态$s_t$下选择动作$a_t$的概率,$\mu(a_t|s_t)$表示经验分布在状态$s_t$下选择动作$a_t$的概率。然后,我们可以将权重乘到政策梯度估计中,即:


$\nabla_{\theta} J(\theta) \approx \frac{1}{N}\sum_{t=1}^N \sum_{\tau} w_{t,\tau} \nabla_{\theta} \log \pi_{\theta}(a_t|s_t) Q_{\theta}(s_t,a_t,\tau)$


其中,$N$表示关键状态的样本数量。由于我们只利用关键状态的信息,这样可以显著降低政策梯度估计的方差。


同时,我们还可以使用密集学习来进一步降低方差。具体来说,我们可以将关键状态的数据分成多个子集,并在每个子集上进行训练。这样可以减少状态转移的时间间隔,从而减小时间差,使得学习更加密集。这样可以进一步降低方差,并且不会损失估计的无偏性。


实验结果

为了验证D2RL方法的有效性,我们在不同的AV测试问题上进行了实验。我们使用D2RL方法和其他常用的DRL方法进行比较,包括DDPG、PPO和SAC。实验结果表明,D2RL方法可以在高维空间和稀有状态下取得更好的效果,并且具有更好的收敛速度和稳定性。


图1展示了D2RL方法在不同AV测试问题上的效果。我们可以看到,在所有的测试问题上,D2RL方法都可以取得更好的效果,并且具有更好的收敛速度和稳定性。具体来说,在稀有状态下,D2RL方法的效果更加显著,可以取得更好的性能提升。


图1:D2RL方法在不同AV测试问题上的效果比较


我们进一步分析了D2RL方法在不同参数设置下的效果。具体来说,我们分别调整了临界度指标的阈值、时间窗口的大小和密集学习的子集数量,并观察其对方法效果的影响。实验结果表明,在不同参数设置下,D2RL方法仍然可以取得更好的效果,并且可以根据具体问题进行调整。


结论

本文提出了一种新的方法——D2RL方法,用于解决AV测试问题中的维度诅咒和稀有性诅咒。该方法利用安全指标临界度来识别关键状态,丢弃非关键状态的数据,只利用信息数据来训练神经网络。同时,密集学习可以明显降低政策梯度估计的方差,减少引导方差。实验结果表明,D2RL方法可以在高维空间和稀有状态下取得更好的效果,并且具有更好的收敛速度和稳定性。未来,我们可以进一步研究D2RL方法在其他问题上的应用,并且探索更加高效的训练方法。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号