技术领域
[0001] 本发明涉及人工智能领域,尤其涉及一种决策方法。
相关背景技术
[0002] 随着人工智能技术以及现代制造业的发展,自动驾驶技术已经逐渐走进人们的日常生活,潜移默化的改变着人们的出行方式。无人驾驶技术可以简要的分为感知、与控制三个方面,决策方法相当于无人车辆的大脑,在很大程度上决定了无人车辆的智能化程度。一个良好的决策方法应该不仅能够操控无人车辆安全行驶,还应使得车辆的运行状态能够尽量的符合人类驾驶员的驾驶习惯以及乘坐人员的舒适性需求。
[0003] 当前无人驾驶车辆的决策方法大致可以分为基于规则约束的决策方法和基于学习的决策方法两种。
[0004] 基于规则约束的决策方法人为的制定了大量的逻辑规则来适应不同的驾驶环境,为了处理复杂多变的实际场景,规则制定者需要设计大量复杂繁琐的驾驶逻辑,在增加新逻辑的时候很容易造成矛盾,因此后续修改和维护很困难。另外,完全基于逻辑规则的系统往往很难完全满足乘车人的舒适性需求,驾驶风格相对生硬,拟人性不佳。
[0005] 基于学习的决策方法利用训练完成的深度神经网络代替逻辑规则做出,存在着一些基于学习算法的常见缺陷,比如,在处理一些未知场景时,由于网络效果的泛化性不佳,很容易输出一些异常的动作策略,为无人驾驶车辆的安全带来了隐患。另外,离线的深度神经网络一旦训练完成就已经固化,不能够从日常使用中进一步学习和完善,灵活性较差。
具体实施方式
[0036] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0037] 在应用本发明实施例提供的决策方法时,先要训练出第一系统和第二系统,下面对如何训练第一系统,进行描述。
[0038] 首先,获取第一原始场景信息,然后,根据所述第一原始场景信息,生成第一原始动作集,所述第一原始动作集包括至少一个原始动作。接着,根据所述第一原始场景信息和所述第一原始动作集,计算所述第一原始动作集中的每个原始动作对应的第一原始评价指标,获得第一原始评价指标集。接着,将所述第一原始评价指标集中数值最大的一个确定为目标第一原始评价指标,该目标第一原始评价指标对应的原始动作为目标第一原始动作。接着,根据所述目标第一原始动作,获得第二原始场景信息。接着,根据所述第二原始场景信息和所述第一原始动作集,计算所述第一原始动作集中的每个原始动作对应的第二原始评价指标,获得第二原始评价指标集。接着,将所述第二原始评价指标集中数值最大的一个确定为目标第二原始评价指标,该目标第二原始评价指标对应的原始动作作为目标第二原始动作。最后,根据所述目标第二原始动作,获得第三原始场景信息;迭代优化,直至得到的评价指标最大,此时,训练出第一系统。
[0039] 其中,第一、第二仅起区分作用,没有其它含义。
[0040] 下面,结合具体例子,对如何建立第一系统,进行详细的说明。
[0041] 在第一系统的训练过程中,针对每一个场景信息s,假设有四个动作a1,a2,a3,a4可以选择(例如:上下左右四个动作),那么深度Q学习算法,会针对这四个动作,分别计算其评价指标Q(评价指标),即Q(s,a1)、Q(s,a2)、Q(s,a3)和Q(s,a4)。然后选择评价指标最优的(也就是Q值最大的)那个动作作为最终的输出动作。接着,利用这个动作与环境交互,会得到新的场景信息s',然后和之前一样,求这四个动作在新场景信息s'下对应的新的评价指标,即Q(s',a1)....Q(s',a4),继续选择最优的评价指标对应的动作与环境交互,周而复始,迭代优化,最终能够得到一个合理的网络,即第一系统。
[0042] 图1为本发明实施例提供的决策方法流程示意图。该方法的应用场景为无人驾驶车辆。如图1所示,该方法包括以下步骤:
[0043] 步骤110,获取场景信息。
[0044] 在无人驾驶车辆中,通过摄像头、激光雷达等感知模块,识别出障碍物(比如,车辆和行人等)信息、预测模块预测出动态障碍物预测轨迹和道路信息(比如,车道线和交通灯等),将这些复杂的交通环境构建为一个简化的交通模拟环境,取这些交通环境中的一个或者多个,组成场景信息s。
[0045] 步骤120,第一系统根据所述场景信息,生成第一动作。
[0046] 其中,第一系统可以是分层强化学习决策系统,第一系统可以包括上层决策框架和下层决策框架,上层决策框架的输入为场景信息输出为第一动作,第一动作可以是换道、跟随、超车等。
[0047] 步骤130,计算所述第一动作的第一评价指标。
[0048] 该第一动作作为下层决策框架的输入,下层决策框架通过下面公式计算第一动作对应的第一评价指标:
[0049]
[0050] 其中,s为场景信息;g为第一动作;rt为第t次迭代中,执行当前动作获得的奖励值大小,γ为折扣率,Eπ为策略的期望,s0为初始场景信息,g0为初始动作。其中,rt一般根据s设定,或者根据s和g设定,本申请对此并不限定。
[0051] 后续,可以将第一动作记为aDRL。
[0052] 步骤140,第二系统根据所述场景信息,生成第二动作。
[0053] 步骤150,计算所述第二动作的第二评价指标。
[0054] 其中,第二系统可以是规则约束决策系统,该规则约束决策系统是预先训练好的,它可以进行一些判断,比如:“场景信息是前方车辆距离自身10m,左侧车道50m内无车辆,则第二动作aRule为[油门0.9,转向-0.5,刹车0.0]”;“前方车辆距离自身10m,左侧、右侧车道50m内均有车辆,则aRule为[油门0.0,转向0.0,刹车0.5]”。
[0055] 得到第二动作后,可以利用和计算第一评价指标时的公式一样,计算出第二动作的评价指标。
[0056] 可以理解的,在应用上述公式计算第二评价指标时,仅需将第一动作替换为第二动作即可。
[0057] 步骤160,比较所述第一评价指标和第二评价指标,当所述第一评价指标大于所述第二评价指标时,输出第一动作,当所述第一评价指标小于所述第二评价指标时,输出第二动作。
[0058] 具体而言,在无人车辆实际运行过程中,将t时刻的场景信息st输入到本发明设计的决策框架中,分别通过上述基于分层强化学习的决策系统与基于规则约束的决策系统,得到第一动作aDRL与第二动作aRule,使用策略评价函数Q获得第一动作aDRL的第一评价指标与第二动作aRule的第二评价指标,将第一评价指标和第二评价指标进行比较。
[0059] 若aDRL更优,则最终输出aFinal即为aDRL。反之,若aRule更优,则最终输出aFinal即为aRule。
[0060] 由此,应用本发明实施例提供的决策方法,可以针对同一场景信息,第一系统根据所述场景信息,生成第一动作;计算所述第一动作的第一评价指标;第二系统根据所述场景信息,生成第二动作;计算所述第二动作的第二评价指标;比较所述第一评价指标和所述第二评价指标,当所述第一评价指标大于所述第二评价指标时,输出第一动作,当所述第一评价指标小于所述第二评价指标时,输出第二动作。由此,解决了现有的决策方法拟人性不佳、灵活性较差以及增加新逻辑时所造成的维护困难的问题。本申请具有拟人性佳、灵活性好,增加新逻辑时维护简单。
[0061] 进一步地,所述方法之后,还包括:当所述第一评价指标大于所述第二评价指标时,将所述场景信息和第一动作进行关联;存储所述场景信息和第一动作,生成场景信息-第一动作对。
[0062] 当所述第一评价指标小于所述第二评价指标时,将所述场景信息分别和第一动作、第二动作进行关联;存储所述场景信息和第一动作以及所述场景信息和第二动作,生成场景信息-第一动作对以及场景信息-第二动作对。
[0063] 对该些场景信息、动作进行存储的目的,是在线的以批处理(mini-batch)的方式进行网络(第一系统)的优化训练,更新分层强化学习网络的权值。特别是在处理“基于规则约束系统”输出策略的评价指标更优的情况时,使用“监督+强化”的方式在线训练分层强化学习网络,保证分层强化学习网络输出的策略动作能够始终符合规则条件的安全限制,并在规则指导下继续优化。
[0064] 具体的,当车辆缓存中的数据达到一定数量后,从缓存中随机采样出一批数据,对上述基于分层强化学习的决策系统网络进行在线训练。若采样数据为(st,aDRL),则仅使用强化学习的方式对网络进行训练;若采样数据为(st,aRule),则使用强化学习与监督相结合的方式对网络进行训练。这种思想保证了决策框架的学习能力,使得整体决策方法能够随着使用而不断提升决策能力,整个决策体系更加健壮。
[0065] 专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0066] 结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0067] 以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。