1. 引言
近年来,电子商务领域经历了显著的增长,然而,传统的物流模式已成为制约其发展的瓶颈。伴随着科技的持续进步,社会各领域逐步实现智能化,这进一步提升了公众对生活品质的期望。在此背景下,高昂的物流成本和漫长的配送延迟已不再为消费者所容忍。传统的物流手段难以满足日益增长的客户需求,从而影响了专业人员在全球化市场中的竞争力[1]。信息通信技术的迅猛发展推动了包括全球供应链管理在内的多个领域向数字化转型的深刻变革[2]。智能化供应链的构建为电子商务企业赢得了竞争优势[3]。在电商经济供应链中,物流智能化扮演着至关重要的角色,其对电商经济的深远影响不容忽视。
在过去几十年,由于SLAM技术[4],机器人导航技术得到了很好的发展,相应地,电子商务领域,物流也变得更加智能化。对于SLAM而言,操作人员根据位置和环境地标生成地图,地图的精度在很大程度上影响接下来的导航。这种依赖于地图先验知识的导航方式需要高昂的人工成本以及高精度的传感器,而且在某些环境里面还有可能导致安全问题等。因此,开发一种简单的无地图导航策略显得格外重要。2013年,Mnih等人提出了深度强化学习(Deep Reinforcement Learning, DRL)的概念[5],他们提出了深度Q网络(DQN),该网络仅基于图像输入就能学会玩Atari 2600游戏,并且取得了较好的成绩。自那时起,研究人员提出了许多使用DRL算法处理自主导航任务的方法。这些方法将导航描述为马尔可夫决策过程(MDP),其中传感器观测作为状态,目标是最大化行动的预期回报。这种导航方法不需要地图,而且可以降低对传感器精度的依赖。后来,Mnih等人在2015年在《自然》杂志上发表了关于DQN的相关工作,报告称经过训练的网络在玩了49款游戏后可以达到与人类相当的水平[6]。这一发表引发了广泛的关注,越来越多的研究人员意识到强化学习的各种优点,越来越多的人加大了强化学习在各个领域里面的应用的力度,包括但不限于机器人导航。但DQN及其变种只能处理离散和低维的动作空间,许多实际任务,尤其是物理控制任务,具有连续和高维的动作空间,为了解决这个问题,可以将动作空间离散化,但动作的数量将随着自由度的增加而指数级增长。2015年,Lillicrap等人在文献[7]中提出了DDPG,它使用基于策略梯度的方法来直接优化策略,可以用于具有连续动作空间的问题。如今,强化学习在机器人导航领域的应用越来越成熟,很多人在此领域提出了各种方法,提出了各种导航机制。在[8]中,他们利用激光扫描作为输入,提出了一种通过深度强化学习(DRL)进行目标驱动的未知环境探索的自主导航系统。除了激光扫描,也有的研究人员利用视觉图像开发基于DRL的导航系统[9]-[12]。有的学者将DRL与其他技术相结合,带来了不错的效果,在[13]中,他们提出了一种新颖的目标引导的变压器增强强化学习(GTRL)方法,将物理目标状态作为场景编码器的输入,以指导场景表征与目标信息相结合,实现高效的自主导航。他们都为导航技术的研究提供了巨大的学术价值。
在基于深度强化学习迅速发展的背景下,为了解决传统室内物流车导航存在的人工成本大,依赖高精度传感器等问题,我们设计了一个基于深度强化学习的物流车导航模型,使智能物流车能够在连续动作空间中进行导航,该模型以TD3为框架,我们在仿真环境下训练该模型,考虑到折扣因子以及奖励函数等对模型的影响较大,我们进行了大量的实验,不断探索折扣因子以及奖励函数等对模型的影响,加快模型收敛速度。我们与其他导航方法对比,评估我们模型的性能。本文希望能为智能物流提供一种可行的智能物流车导航模型,同时也希望能够为电商经济作出贡献。
2. 相关工作
在过去几十年里,机器人导航技术发展迅速,各种各样导航算法被提出。Dijkstra算法是一种用于寻找图中两点间最短路径的算法,它适用于没有负权边的加权图,并且可以找到从单一源点到所有其他点的最短路径,目前,有很多相关的学术论文供广大学者研究[14]-[16]。A*算法是一种启发式搜索算法[17],它结合了最佳优先搜索和Dijkstra算法的优点,通过一个估价函数来估算到达目标的最小成本,并优先探索这些路径,尽管A*算法通常比Dijkstra算法更快找到最短路径,但在某些情况下,特别是在高维空间中,其计算成本可能高于Dijkstra算法。RRT (Rapidly-exploring Random Tree)是一种用于路径规划的随机算法[18],相比于Dijkstra算法而言,RRT不需要预先知道环境的全局信息,也不需要构建一个完整的图来表示环境,它通过随机探索来逐渐构建路径,这使得RRT非常适合于未知或动态变化的环境,而且RRT通过随机采样来探索环境,这可以减少不必要的计算,特别是在障碍物分布稀疏的环境中。RRT* (Rapidly-exploring Random Tree with Optimization)是一种改进的RRT算法[19],旨在解决RRT算法在找到的路径可能不是全局最优路径的问题,RRT通过在路径上随机扩展并选择新的扩展点,以提高路径的效率和安全性。这使得RRT能够找到更短、更平滑的路径,虽然RRT*增加了路径优化步骤,但这一步骤通常只需要计算较少数量的扩展点,因此其总体计算效率可能仍然高于RRT。遗传算法(Genetic Algorithm,GA)是一种启发式搜索和优化算法,它受自然界中遗传和自然选择过程的启发,遗传算法(GA)是解决约束和不约束优化问题最早建立的一些启发式方法之一[20],为了解决路径规划问题,通常在应用GA之前对环境地图进行网格化,目前有很多相关的技术[21] [22],GA的优势在于它能够处理非线性、多峰的复杂优化问题,并且不需要问题的显式数学模型,然而,GA也存在一些局限性,如可能陷入局部最优解、计算成本较高以及参数设置对结果的影响较大等。
近年来,基于深度强化学习导航的技术迅速发展,深度强化学习是一种将深度学习与强化学习相结合的算法框架,用于解决需要大量经验学习复杂决策的问题。在导航技术领域,DRL算法可以用来训练机器人或无人地面车辆(UGV)在复杂环境中自主导航,避开障碍物,并到达目标位置,DRL算法能够处理高维环境信息,如激光雷达(LiDAR)或摄像头数据,通过深度神经网络(如卷积神经网络CNN)提取环境特征,DRL算法能够在实时环境中做出快速决策,这对于实时导航至关重要。2013年,Mnih等人提出了深度强化学习(DRL)的概念[5],他们提出了深度Q网络(DQN),深度Q网络(DQN)的主要贡献在于它将Q学习算法与深度神经网络相结合,使得强化学习算法能够处理高维输入,如图像和视频,并能够解决传统强化学习方法中难以处理的样本效率和稳定性问题。2015年,Lillicrap等人在文献[7]中提出了DDPG (Deep Deterministic Policy Gradient, DDPG),深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)是一种用于连续控制任务的深度强化学习算法,DDPG是Actor-Critic方法的一种变体,它结合了深度神经网络和确定性策略梯度算法,使得算法能够处理高维连续动作空间的问题。异步优势演员–评论家(Asynchronous Advantage Actor-Critic, A3C) [23]是演员–评论家(Actor-Critic)算法的一种扩展,它通过使用多个独立的代理在不同的环境中并行学习,并共享参数,从而提高了学习效率,A3C的成功使得强化学习算法能够处理大规模的复杂环境,并在多个Atari 2600游戏、模拟器环境和机器人控制等领域取得了显著的成就。软演员–评论家(Soft Actor-Critic, SAC)是演员–评论家(Actor-Critic)算法的一种变体[24],它通过引入熵正则化来鼓励探索,从而提高了算法的性能,SAC的成功使得强化学习算法能够处理连续控制任务,并在多个模拟器环境和机器人控制等领域取得了显著的成就。与A3C和DDPG等算法相比,SAC在性能和稳定性方面具有优势,特别是在需要探索的环境中。目前,很多研究人员在这些框架的基础上搭建自己的导航模型,我们在TD3 (Twin Delayed Deep Deterministic Policy Gradient)这一经典深度强化学习算法的基础上,构建了适用于智能物流小车的导航框架。
3. 方法
3.1. Value-Based Reinforcement Learning
基于价值的强化学习(Value-Based Reinforcement Learning)是一种强化学习的方法,它通过学习价值函数来指导决策过程。这种方法主要关注于预测状态(或状态–动作对)的价值,而不是直接学习策略。价值函数的目的是映射一个状态在该状态的期望价值,即从该状态开始并按照某种策略行动时,代理可以获得的期望折现回报。
对于一个代理,它在t时刻的奖励(Discounted Return)记为
。
通过对
求期望,得到动作价值函数(Action-value function),记为
。
我们通过对动作价值函数求最大化,得到最优动作价值函数(Optimal Action-Value function),记为
。
最优动作价值函数反应了代理在状态t时刻,采取相应行为a的好坏程度,通过最优动作价值函数,可以使代理选择出最优行为。但是最优动作价值函数很难得到,于是,可以采取其他方法得到最优动作价值函数,DQN,使用卷积神经网络来表示最优动作价值函数,即使用神经网络
近似
。对于
,其中,w是模型参数,s是模型输入,模型的输出是相应行为a的分数,通过这些分数的高低,可以指导代理选择动作。可以通过时序差分(Temporal-Difference, TD)学习算法训练
,以下是一次迭代过程:
(1) 观测当前动作
和执行的动作
(2) 预测对应的值:
(3) 求导:
(4) 更新状态
和奖励
(5) 计算TD target:
(6) 做梯度下降更新模型参数:
3.2. Policy-Based Reinforcement Learning
基于策略的强化学习(Policy-Based Reinforcement Learning)是强化学习的一种方法,其主要目标是找到最优策略
,以最大化期望的累积回报。这种方法的核心在于直接学习策略,而不是通过学习价值函数来间接指导策略。在基于策略的方法中,直接近似策略
而不需要学习价值函数。策略被参数化,例如,可以使用神经网络来表示策略
。这种方法的关键在于直接优化策略,以便在给定状态下选择能够最大化回报的行动。
对于一个代理,它在t时刻的奖励(Discounted return)记为
。
通过对
求期望,得到行为价值函数,记为
。
通过对行为价值函数求期望,得到状态价值函数(State-value function),记为
。
通过使用神经网络
近似
,则
可以用
近似,则可以得到策略梯度(Policy Gradient),记为
。
采用蒙特卡洛近似计算期望,通过概率密度函数
采样动作
,则
使用
近似策略梯度
。使用策略梯度更新策略网络的步骤如下:
(1) 观测t时刻状态
(2) 根据策略网络
随机采样得到
(3) 计算价值函数:
(4) 计算导数:
(5) 计算近似策略梯度:
(6) 更新策略网络:
3.3. Actor-Critic Methods
Actor-Critic方法是强化学习领域中的一种重要算法,它结合了基于策略的方法(Actor)和基于价值的方法(Critic)。这种混合方法旨在解决单独使用每种方法时的局限性,在Actor-Critic框架中,一个代理(即“行动者”)学习一个策略来做出决策,而一个价值函数(即“评论家”)评估行动者所采取的行动。同时,评论家通过估计这些行动的价值或质量来评估它们,Actor-Critic方法的关键在于其两个主要组成部分:行动者和评论家。行动者的目标是学习一个最大化预期奖励的policy,而评论家的目标是学习一个准确的价值函数,用于评估行动者的行动。其具体流程如图1所示。
Figure 1. Actor-Critic algorithm flowchart
图1. Actor-Critic方法流程图
在强化学习的上下文中,策略网络负责映射环境状态s到动作的概率分布π (a|s),从而生成动作a。在此基础上,价值网络对状态–动作对(s, a)进行评价,输出一个动作值q (s, a)。策略网络的参数优化目标为最大化由价值网络评估的期望回报。为了确保策略网络的自我改进过程的有效性,价值网络的评估必须具备较高的准确性。因此,价值网络亦需经历持续的参数更新过程。价值网络的参数更新依赖于接收到的即时奖励r,并通过时序差分(Temporal-Difference, TD)学习算法来调整其神经网络参数。具体而言,该过程旨在最小化价值网络预测的q值与实际获得的回报之间的差异,从而提高价值网络在强化学习中的评估能力。
4. 实验及结果分析
我们在装配了NVIDIA GeForce RTX 4060的计算机上训练我们的导航模型,我们每次微调超参数后需要训练两天,我们在测试时每次固定500个回合进行测试。我们在探索超参数对模型的收敛速度影响时,我们对比了三个指标,平均奖励,平均回合长度,成功率。在实验过程中,我们不断探索超参数对模型的影响,折扣因子决定了智能体对未来奖励的重视程度。折扣因子接近1时,智能体会更加重视长期奖励,而折扣因子接近0时,智能体则更倾向于考虑即时奖励。奖励函数在深度强化学习导航模型中扮演着至关重要的角色,它定义了智能体的学习目标,塑造其行为,影响收敛速度和鲁棒性,平衡探索与利用,解决稀疏奖励问题,因此,设计一个合适的奖励函数对于模型的学习效率、稳定性和最终性能至关重要。
首先我们探索最佳折扣因子,我们发现折扣因子不能过小,否则无法短时间收敛,或者无法收敛,于是,我们设置了四个折扣因子,0.60000,0.80000,0.90000,0.99999,除了0.99999以外,其余的折扣因子都无法使模型快速收敛,于是,我们将模型的折扣因子选为0.99999。最佳折扣因子确定以后,我们通过调整奖励函数,观察其对模型的影响,我们对比观察相应的平均奖励,平均回合长度,成功率等指标。
图2为奖励r = 100 (到达目标)和r = −100 (碰撞)的各指标变化图,我们选取了500个回合做测试,由图可知,每个回合的奖励大多数集中在70~100之间,这些大多是导航成功获得的奖励,也有一些奖励很小,这些是导航失败导致的。回合长度集中在20~100之间,这些大多是导航成功的回合长度,而有些回合长度为500,代表到了最大步数后没有到达目标点。成功率是累计的平均成功率,每个回合结束时,就会统计平均成功率,所以前面时,平均成功率不稳定,随着回合的增加,成功率越来越稳定,最终的成功率为0.814。
Figure 2. Chart of indicator changes with reward r = 100 (reaching the target) and r = −100 (collision)
图2. 奖励r = 100 (到达目标)和r = −100 (碰撞)的各指标变化图
图3为r = 120 (到达目标)和r = −120 (碰撞)时的各指标变化图,由于改变了奖励函数,所以奖励大多数集中在了100附近,这些都是到达目标的奖励,而那些负奖励则是碰撞后的奖励。值得注意的是,每个片段到达目标点的长度相较于r = 100 (到达目标)和r = −100 (碰撞)而言整体变少,同时,成功率也偏大一些,最终稳定在0.820附近。
Figure 3. Chart of indicator changes with reward r = 120 (reaching the target) and r = −120 (collision)
图3. 奖励r = 120 (到达目标)和r =−120 (碰撞)的各指标变化图
图4为r = 140 (到达目标)和r = −140 (碰撞)时的各指标变化图,相比于r = 120 (到达目标)和r = −120 (碰撞)而言,平均长度偏低一些,但是成功率也偏低一些,最终的平均成功率为0.810,我们计算出这三组不同的指标,如表1所示。
Figure 4. Chart of indicator changes with reward r = 140 (reaching the target) and r = −140 (collision)
图4. 奖励r = 140 (到达目标)和r = −140 (碰撞)的各指标变化图
Table 1. Calculation values of various indicators corresponding to different reward values
表1. 不同奖励值对应的各指标计算值
不同奖励值 |
平均奖励 |
平均回合长度 |
成功率 |
r = 100 (到达目标)和r = −100 (碰撞) |
62.678 |
101.408 |
0.814 |
r = 120 (到达目标)和r = −120 (碰撞) |
73.405 |
96.738 |
0.820 |
r = 140 (到达目标)和r = −140 (碰撞) |
89.387 |
91.314 |
0.810 |
由表1可知,奖励函数的设定对于模型的影响较大,一个较为适合的奖励函数会加快模型的收敛速度以及提升模型的性能,奖励函数过大或者过小都会使模型不能快速收敛,我们调整到达目标以及碰撞时的奖励,而其他的奖励不变,我们通过大量的实验,最终确定了最佳奖励函数,r = 120 (到达目标)和r = −120 (碰撞),在这两个值附近的其他值与之相差不大,这个值训练出来的模型成功率最高,然而r = 140 (到达目标)和r = −140 (碰撞)时,模型的平均回合长度最低。
5. 总结与展望
面向电子商务仓储的深度强化学习物流车导航技术,正引领着物流自动化和智能化的新浪潮。该技术巧妙地将深度学习的感知能力与强化学习的决策优势相结合,针对物流和仓储管理的具体挑战,实现了物流车在复杂仓储环境中的自主导航与精准定位。我们提出的导航技术不仅为电商经济在物流领域提供了一种高效的解决方案,还极大地减少了人工干预,降低了运营成本,并提升了货物处理的准确性和速度。展望未来,我们将不懈追求技术创新,持续优化算法以应对更加多样化的仓储场景,增强导航系统的稳定性和适应性。同时,我们也将探索与人工智能其他领域的融合,如机器视觉和自然语言处理,以进一步提升物流车的智能水平,推动电子商务仓储向更加智能、高效的方向发展。