FPGA加速自动驾驶博弈论算法
面向自动驾驶边缘计算中博弈论算法的基于FPGA的加速
摘要
在自动驾驶领域,自动驾驶汽车之间的通信十分频繁且不可避免,以感知周围环境。海量数据需要在边缘及时处理,以控制车辆制定合适的策略。对于一组车辆而言,协同策略是必要的,以避免非故意拥堵。然而,车辆组之间的竞争与合作却较少受到关注。本文探讨了采用博弈论进行决策的可能性,以实现自动驾驶汽车之间的双赢。博弈论中的勒姆克‐豪森算法是目前最著名的组合算法,可计算双矩阵博弈的纳什均衡。更重要的是,我们在现场可编程门阵列上实现了勒姆克‐豪森算法,以加速计算过程。我们阐述了解决性能瓶颈的设计挑战以及如何进行优化。我们在KCU116开发板上实现了勒姆克‐豪森加速器,相较于中央处理器运行获得了约2.4倍的加速比。
关键词 : 自动驾驶, FPGA加速器, 博弈论, 勒姆克‐豪森, 边缘计算
1. 引言
自动驾驶一直是众多行业汽车制造商、研究人员和科技公司关注的焦点,尽管完全自动驾驶汽车仍处于初期阶段。根据美国国家公路交通安全管理局的定义,完全自动驾驶汽车在每种驾驶场景中的性能应达到人类驾驶员的水平[1]。自动驾驶包含三个主要领域:环境感知、决策和控制系统。
考虑到驾驶可靠性和动态情况,决策系统的重要性堪比人脑。自动驾驶的两大优势是更高的交通效率和基础设施资源的更好利用。如果道路上只有一辆车行驶,那么它在应对周围环境时的情况将变得简单得多。然而,现实中的车辆需要与他人协作,以高效执行具有更高复杂度的操作[2]。当自动驾驶车辆需要完成相同任务时,竞争不可避免。
假设一组车辆在长距离行驶中具有相同的出发地和目的地,自动驾驶系统可能会推荐若干条路径。当所有车辆都选择最优路径时,可能导致该路径出现交通拥堵,而其他路径则处于自由车流状态。为了应对这种意外竞争并获得整体效益,将博弈论与决策系统相结合具有重要价值。
博弈论关注的是在结果取决于两个或更多具有冲突或共同目标的智能体所做选择的情况下,决策过程的研究。博弈论的成功已在网络管理、人工智能和信号处理等多个领域得到证实[3, 4]。为了提高认知无线电网络资源分配的性能,在网络中引入竞争机制有助于设计高效分布式算法并帮助认知无线电理解感知环境[5]。博弈论也可用于强化学习,强化学习是机器学习的一个子领域,关注根据来自周围环境的观察反馈系统性地调整智能体的行动[6]。另一方面,自动驾驶汽车可被视为另一种形式的网络。博弈论在自动驾驶汽车的决策系统中具有广阔的应用前景。
由于具有高能效、开发周期短、并行计算和可重构能力等优势,现场可编程门阵列(FPGA)已被广泛用于加速多种场景中的算法[7, 8]。近年来,大多数神经网络加速器均基于FPGA实现,以满足高吞吐量、低功耗和可移动性的需求[9]。对于目标检测、语音识别和视频处理等实时应用,已设计出多种基于FPGA的神经网络加速器[10, 11, 12]。类似地,博弈论在FPGA上的实现也具备上述优点。
此外,自动驾驶汽车的移动边缘计算可减轻云平台在数据聚合和信息分析方面的负载[13]。为缓解网络传输瓶颈,车辆间的直接通信可减少车辆间信息交换的延迟时间。博弈论在FPGA上的实现可通过通信单元轻松与边缘计算相结合。
在某种程度上,现场可编程门阵列适用于边缘计算。Saman等人研究了在现场可编程门阵列与图形处理单元之间,采用现场可编程门阵列进行边缘计算的适用性。他们指出,现场可编程门阵列具有三个主要优势,即提供对工作负载不敏感的吞吐量、在细粒度上适应时空并行性,以及更高的能效和热稳定性[14]。通常情况下,现场可编程门阵列的可编程性使其适用于多种算法的实现。
在本文中,我们发现当一组汽车拥有相同的计划任务和环境条件时,自动驾驶可能引发竞争。博弈论有望改进决策系统,以在自动驾驶汽车之间分配计划任务。我们选择博弈论中的勒姆克‐豪森算法来分析其性能和表现。探讨硬件实现。然后,我们将该算法在现场可编程门阵列上实现以获得更好的性能,并构建异构平台来测试该加速器。
本工作的主要贡献总结如下:
- 我们最初探讨了将博弈论算法应用于自动驾驶决策的可行性。
- 我们通过确定勒姆克‐豪森算法中最耗时的计算部分来分析其并行性。为了充分利用该并行性,还研究了基于FPGA的硬件设计在实现勒姆克‐豪森算法时面临的设计挑战。
- 据我们所知,我们将是首个在现场可编程门阵列上实现博弈论算法的团队。本工作是勒姆克‐豪森算法的首次现场可编程门阵列实现,特别展示了博弈论在自动驾驶中的价值。
本文的其余部分组织如下:第2节介绍了勒姆克‐豪森算法的背景并给出了相关工作。第3节概述了平台和加速器,此外还对热点分析和硬件设计进行了阐述。第4节描述了加速器中各组件的细节。实验结果在第5节中展示。第6节中,我们对工作进行了总结。
2. 背景与相关工作
2.1. 符号和定义
在博弈论中,双矩阵博弈通过两个矩阵来描述,这两个矩阵包含两名参与者的收益,例如玩家1和玩家2。我们假设玩家1有 m个纯策略,标签为
$M={1, 2, …, m}$。当玩家2有 n种策略并用
$N={m+ 1, m+ 2,…, m+ n}$标记时,玩家1的支付矩阵表示为 $A_{m×n}$。类似地,玩家2的支付矩阵为 $B_{m×n}$。矩阵 $A_{m×n}$中的任意元素 $a_{ij}$表示当玩家1采用第 i个纯策略且玩家2采用第 j个纯策略时,玩家1的收益。对于矩阵 $B_{m×n}$中的元素 $b_{ij}$,其含义类似。此处得到的纳什均衡是一种混合策略,其概率分布表示各个纯策略被采用的可能性[15]。
随机向量 $x=(x_1, x_2,…, x_m)^T$,其中 $x_i ≥ 0$ 和 $\sum_{i=1}^{m} x_i = 1$,用于表示玩家1的行动。类似地,玩家2对应的是 $y=(y_1, y_2,…, y_n)^T$,$y_j ≥ 0$ 和 $\sum_{j=1}^{n} y_j = 1$。利用这些符号,玩家1采取混合策略的整体期望收益可通过将 $A_{m×n}$中所有项按对应的 $x$和 $y$的概率加权求和得到,可简写为$x^T A y$。同理,玩家2的期望收益为 $x^T B y$。
对于混合策略博弈,始终存在一个纳什均衡。对于任意随机向量 $x’$和 $y’$,如果存在一对$(x, y)$且满足$x^T A y ≥ x’^T A y$和 $x^T B y ≥ x^T B y’$的约束条件,则可得到一个纳什均衡。纳什均衡的含义是,在其他参与者策略固定的情况下,每个参与者采取适当的行动以最大化自身的收益。若无法获得最大回报,没有人愿意改变自己的策略。
等价定义是满足最优反应条件的线性互补约束条件。
$x$ 是 $y$ 的最优反应,当且仅当对于所有 $i ∈ M$ 和 $x_i> 0 ⇒$,$(A y)_i= u=\max{(A y)_k | k ∈ M}$。
$y$ 是 $x$ 的最优反应,当且仅当对于所有 $j ∈ N$ 和 $y_j > 0 ⇒$,$(x^T B)_j = v=\max{(x^T B)_k | k ∈ N}$。玩家1的最优反应多面体$\bar{P}$和玩家2的最优反应多面体$\bar{Q}$表示为
$$
\bar{P}={(x, v) ∈ \mathbb{R}^M × \mathbb{R}) | x ≥ 0, 1^T x= 1, B^T x ≤ 1v} \tag{1}
$$
$$
\bar{Q}={(y, u) ∈ \mathbb{R}^N × \mathbb{R}) | A y ≤ 1u, y ≥ 0, 1^T y= 1} \tag{2}
$$
通常,标准化用于简化这些公式,并将多面体转换为多面体。也就是说,
$$
P={x ∈ \mathbb{R}^M | x ≥ 0, B^T x ≤ 1} \tag{3}
$$
$$
Q={y ∈ \mathbb{R}^N | A y ≤ 1, y ≥ 0} \tag{4}
$$
连同随机变换
$$
\text{nrml}(x)= x / (\sum x_i) \tag{5}
$$
$$
\text{nrml}(y)= y / (\sum y_j) \tag{6}
$$
2.2. 勒姆克-豪森算法
为了得到纳什均衡,勒姆克‐豪森算法沿着两个多面体[16]的搜索路径进行。在这两个多面体中,某些顶点对即为纳什均衡。勒姆克‐豪森算法的搜索路径交替地沿多面体P和Q的顶点对$(x, y)$进行。对于路径中的相邻顶点对,每次仅改变其中一个顶点,而另一个多面体中的顶点保持不变。该路径通常从人工均衡$(0,0)$开始,最终停止于一个纳什均衡[17]。纳什均衡的顶点对包含除$(0,0)$外的所有标签。
在每一步中,顶点的移动会丢弃一个旧标签并拾取一个新标签,这也称为转轴操作。在开始时,必须选择一个缺失标签以启动转轴操作。在后续的转轴操作中,通过比较两个列变量的系数,使用最小比值规则来确定应丢弃的标签。算法的简要描述见算法1。
算法1 勒姆克‐豪森算法
输入:非退化双矩阵博弈 $(A, B)$;
输出:该博弈的一个纳什均衡;
1:初始化表格 $P$和 $Q$,以及标签 $M$和 $N$。
2:选择缺失标签 $k_0 ∈ M$并令 $k=k_0$。
3:循环:
4:从表格 $P$中移除标签 $k$并更新表格 $P$,得到新的缺失标签 $k$。
5:如果标签 $k == k_0$,退出循环。
6:否则,从 $Q$中移除标签 $k$并更新表格$Q$,得到新的缺失标签 $k$。
7:如果标签 $k == k_0$,退出循环。
8:否则,继续循环。
9:输出$(\text{nrml}(x), \text{nrml}(y))$并得到纳什均衡。
使用“表格”数据结构,通过引入松弛变量将不等式转化为等式来实现该算法。未被标记的松弛变量称为基变量。
表格由以下三个部分组成,
$$
x ∈ P, s ∈ \mathbb{R}^N, x ≥ 0, s ≥ 0, B^T x+ s= 1 \tag{7}
$$
$$
y ∈ Q, r ∈ \mathbb{R}^M, y ≥ 0, r ≥ 0, r+ A y= 1 \tag{8}
$$
三个部分分别是支付矩阵、松弛矩阵和常数向量。开始时,松弛矩阵是单位矩阵,常数向量的元素均为1。
选择一个非基变量进入基(丢弃标签),并使用最小比值检验使相应的基变量离开基(添加标签)。最小比值检验比较常数向量的系数和剩余表格中某一列向量的系数。接下来是转轴操作,更新表格中的每个元素,该操作类似于矩阵行变换。其主要特征是刚离开基的变量决定了进入基的变量。最后,将非基变量设为零,并得到基变量的值。从这些基变量中恢复纳什均衡。
2.3. 相关工作
协同驾驶在实际道路交通中非常重要,协作车辆可以通过博弈论问题的解决方案进行引导[2]。文献[18]提出了一种基于博弈论的控制策略,通过车辆间通信,以自组织方式控制车辆,避免道路交叉交通场景中的碰撞并实现最小成本。然而,复杂模型所需的计算耗时较长。在文章[19]中,作者提出了一种面向车队驾驶的博弈论方法(GT4P),用于城市和高速公路车载自组织网络场景下的视频分发服务。但GT4P在确保视频传输方面的效率仅通过仿真结果得到验证。相比之下,我们将该算法实现在现场可编程门阵列上,以实现计算加速,展示了其在实际应用中的潜力。
另一方面,边缘计算使得数据能够在生成时更及时地在靠近其产生位置的地方进行处理。由于无需通过网络将数据长距离传输到云,边缘计算减少了延迟,非常适合自动驾驶等场景。[21]的研究提出了一种用于自动驾驶内容分发服务的两级边缘计算架构,以充分利用无线边缘的智能性。在接下来的部分中,为了以去中心化方式提高车辆的计算能力,论文[22]提出了一种名为自主车载边缘的框架,用于道路上的边缘计算,并引入了一个工作流以支持车载边缘的自主组织。类似地,我们的工作也实现在边缘端,无需云的参与,以实现实时响应。
现场可编程门阵列(FPGA)已被用于辅助数据处理并加速自动驾驶。文献[23]探讨了FPGA在自动驾驶系统中确定性延迟图像采集与处理系统中的作用,通过将中央处理器从输入数据路径中旁路来实现。尽管自动驾驶系统面临性能、可预测性、存储、热管理和功耗等诸多约束,文献[24]使用了包括FPGA、图形处理单元和专用集成电路(ASIC)在内的三种加速平台,以加速机器学习基准算法并降低系统的尾部延迟。
3. 架构概述
3.1. 平台描述
图1描述了由主机端和FPGA端组成的整个平台的概览。主机端负责生成测试数据,向FPGA卡发送数据并从卡接收结果。主机与FPGA之间的通信通过PCIe端口使用 AXI4‐流协议(Advanced eXtensible Interface 4‐Stream)进行。该流通道的数据宽度为256位,可容纳八个浮点数值。在FPGA端,实现了莱姆克‐豪森加速器以及用于PCIe(高速外围组件互连)IP核的直接内存存取(Direct Memory Access)子系统[25]。该加速器能够完成算法的全部功能。IP核的DMA模式被配置为通过 PCIe桥接器在主机内存与FPGA之间来回传输数据。主机上的驱动程序允许发送命令以连接主机与 FPGA并启动数据传输。
3.2. 加速器结构
如图2所示,基于现场可编程门阵列的加速器设计由多个主要组件构成,包括数据初始化、数据存储、比率检验、主元过程和均衡归一化。数据存储模块用于存储所有的表格数据和标签数据。由于未使用外部存储器,现场可编程门阵列上的存储资源限制了加速器能够处理的博弈规模。数据初始化模块负责通过高速外围组件互连接收收益数据,并将这些数据分配到表格中的正确位置,同时该模块还可初始化表格中其余数据以及标签值。比率检验模块用于确定表格中主元值的位置,并输出下一个主元对应的缺失标签。主元过程模块负责更新表格中的所有元素,其操作类似于矩阵初等行变换。对于均衡归一化模块,它从最终的表格中获取所需数据,并对这些数据进行标准化以计算纳什均衡。
3.3. 计算运行时间分析
有必要分析勒姆克‐豪森算法,以确定其运行时间主要消耗在何处,以及存在哪些操作阻碍了性能的提升。原始的勒姆克‐豪森算法不具备任何启发式技巧,因此整个计算过程相当直接。为了寻找纳什均衡,该算法从一个具有指定初始主元选择的固定人工均衡出发,直到所有约束条件均被满足时结束。通过对此算法的描述可知,主要的算术操作包括寻找主元值、表格更新以及概率的标准化。特别是,在每次主元过程中都需要更新两个表格中的所有元素。转轴操作的次数也起着重要作用,并且与博弈规模相关。当博弈规模增大时,转轴操作的次数也随之增加。当玩家1拥有 m种纯策略,玩家2拥有 n种纯策略时,该算法最多经过 $2\times(m+n)(m+n)$次转轴操作后停止。我们进行了一项实验,以分析转轴操作运行时间占比与博弈规模之间的依赖关系。从图3可以看出,该算法中最耗时的部分是反复执行的主元过程。换句话说,整个算法的执行性能由主元过程主导,该过程消耗了最多的运行时间。
3.4. 硬件设计分析
勒姆克‐豪森算法是一种迭代算法,因为当前的主元过程未完成并获得缺失标签之前,下一个主元过程无法开始执行。以线性方式对比率检验和主元过程进行流水线处理是不可行的。因此,这两个模块以环形方式连接。关于数据存储,现场可编程门阵列硬件平台提供的资源有限,尤其是片上内存。对于该算法,表格的存储占据了现场可编程门阵列上最多的内存资源。一方面,内存的端口数量有限,可能导致无法并行访问数据,从而引起读写拥塞。对于主元过程,表格需要被频繁更新,这意味着数据访问非常频繁。因此,将表格结构进行分区并独立存储数据是切实可行的。这样可以在算术运算中实现数据的并行访问。此外,应注意分析表格数据结构,减少无用数据,以提高内存利用率。最后,需要注意表格的重复读写以及所有浮点类型的算术运算。必须采用流水线设计,以便从内存中获取操作数、执行运算并将结果存回内存,从而降低延迟。
4. 硬件实现
在本节中,我们将详细描述基线实现的所有组件。然后,为了减少不必要的数据存储,我们在基线实现的基础上提出了一种内存缩减优化,以减少占用的内存。
4.1. 数据初始化和存储
两名玩家的收益数据分别通过两个不同的端口同时进入此模块,以减少数据传输时间。对于每个数据端口,均采用AXI4‐Stream协议与高速外围组件互连IP核中的直接内存存取子系统的DMA进行通信。所有收益数据的值均为32位宽的浮点类型。端口的位宽为256,因此一次传输可接收8个数据值。一旦完成一次传输,数据将被同时分离为8个值,并全部存储到对应位置中表格。由于独立的存储,标签的初始化与收益的初始化无关。一旦加速器开始工作,标签的初始化过程即开始。
为了提高数据访问效率,表格的三个部分被分别存储在内存中。每次转轴操作期间,都会获取表格的全部数据。独立存储使得表格能够同时更新,从而受益于并行计算。存储形式如图4所示。与将表格整体存储相比,这种方式具有更多的内存访问端口。
4.2. 比率检验
该模块用于生成下一个主元的缺失标签并定位主元值。通过除法运算完成两个向量系数的最小比率比较。其中一个向量是表格最右侧的值,另一个向量来自表格其余部分的某一列。由于表格采用部分存储方式,这两个向量能够同时预取并加载到流水线除法器中。具有最小比率的主元值所对应的标签即为下一个主元的缺失标签。
4.3. 主元过程
转轴操作由于需要对表格中的任意元素进行迭代更新,占据了最多的运行时间。更新一个元素需要四个值参与运算,分别是原始元素、行元素、列元素和主元值。其中主元值是指位于主元行和主元列,通过比值测试获得。列元素指的是在主元列中与原始元素具有相同行号的元素。行元素指的是在主元行中与原始元素具有相同列号的元素。在转轴操作开始之前,设置线缓冲区1用于存储列元素,同时设置另一个线缓冲区2用于存储行元素除以主元值的结果。在硬件实现中,主元行从表格中加载到全流水线除法器中,结果被存储到对应的线缓冲区2中。在转轴操作期间,原始元素和两个线缓冲区中的对应元素同时被加载,原始元素减去两个对应元素乘积所得的结果被存回。加载、计算和存储操作采用流水线方式设计。该流水线过程如图5所示。
4.4. 均衡归一化
在完成所有转轴操作后,表格的最右侧包含用于恢复纳什均衡的数据。具体而言,标签数组存储了玩家策略的顺序信息,而这些策略的概率则存储在表格对应的最右侧。设置了一个行缓冲区,用于存储根据行动序列重新排列概率后得到的新概率分布。最后,需要进行归一化处理以将概率限制在零到一之间。该模块还具有采用AXI4‐Stream协议的输出端口,输出值为浮点类型。
4.5. 内存减少
如我们所见,表格的大小与博弈规模相关。如果博弈规模为 $n × n$,则表格大小为$(2n+ 1) × n$。使用所示的勒姆克‐豪森算法所能解决的问题规模受限于FPGA上的内存资源。解决该瓶颈的一个可行方法是将表格以更高效的形式存储。通过对原始算法的详细分析发现,经过转轴操作后,表格中的某些元素会变为零。每次转轴操作后,主元值的系数变为1,而主元列中非基变量的其他系数则变为零。对于表格中对应位置的基变量而言,情况恰好相反。这些1和0的值是冗余的,占用了过多的内存。当记录这些值的变化轨迹时,可以在略微增加算法复杂度的代价下,将表格大小减少至$(n+ 1) × n$。内存减少的过程如图6所示。
5. 结果与分析
在本节中,我们首先介绍实验的环境设置。然后,我们展示了在FPGA上实现的提出加速器的测量结果。我们将我们的实现性能与中央处理器的性能进行了比较。
5.1. 实验设置
使用高层次综合设计工具Vivado HLS (v2017.2)完成了勒姆克‐豪森算法的硬件设计。该工具支持使用C/C++语言设计加速器,并将相应的RTL设计导出为可导入Vivado的IP核。整个平台由多个IP核在Vivado (v2017.2)中进行集成。我们选择的目标FPGA开发板是赛灵思Kintex Ultra‐Scale+ KCU116,该开发板上搭载了axcku5pFPGA芯片。软件实现作为参考,运行在英特尔酷睿 i5‐6500 处理器上。该中央处理器的工作频率为3.20吉赫兹。
为了评估性能,我们使用Gamut生成测试收益数据作为算法的输入。Gamut是一套专为测试博弈论算法而设计的博弈生成器,能够为多种博弈类别的实例随机生成无数种分布的博弈[26]。在此,我们应选择RandomGame类别。当参与者数量设置为两个时,将确保输出具有不同行动规模的随机双矩阵博弈。
5.2. 实验结果
我们首先报告基线和内存减少实现的资源利用率。具体而言,我们综合了多个不同规模的加速器副本,以找出规模与内存利用率之间的关系,以及减少优化的有效性。
资源利用率列于表1中。总体而言,内存减少方案比基线实现使用的资源更少。随着博弈规模的增加,基线实现和内存减少方案所占用的块RAM切片数量也随之上升。通过分析表1的结果发现,博弈规模与内存之间存在二次关系。该结果与理论分析一致。从两种实现方案的对比角度来看,内存减少方案可节省一半的内存空间。图7更全面地展示了这一对比。此外,其他资源利用率基本保持不变,因为电路配置相同。当博弈规模为336时,DSP(数字信号处理)的数量显著增加。由于规模较大,高层次综合工具可能会实例化更多的DSP来处理较大的中间数值。
目前尚无博弈论算法的现场可编程门阵列硬件实现,因此通过与软件版本的对比来验证加速器的加速比。加速器与基于软件的对应方案的性能比较如表2所示。该软件版本为自主开发,使用C++语言编写,并在Ubuntu操作系统上使用g++进行编译。
系统。最终的运行时间是多次运行的平均值。
两种实现均可在198兆赫兹的频率下运行。我们使用两种不同的博弈规模测试了性能。当博弈规模设置为48时,基线实现的加速比为2.34,而内存减少的加速比为1.24。当博弈规模设置为64时,基线实现的加速比为2.37,而内存减少的加速比为1.23。基线实现比内存减少实现了更高的加速比。尽管内存减少的性能尚不令人满意,但它确实比中央处理器花费的时间更少。两种实现的不同加速比是由用于处理并行计算所使用的资源造成的。从表1可以看出,内存减少消耗的资源比基线实现少。基线实现的内存大小大约是内存减少的两倍。此外,这个较大的内存被分割成两个独立的块,并且为了并行计算实例化了更多的资源。由于内存的减少,附加了额外的逻辑来跟踪位置变化,从而增加了整体延迟。性能和资源利用率之间存在权衡。
我们应注意,数据传输起着不可或缺的作用。我们获得的测试结果并未剔除传输时间。对于软件实现而言,由于中央处理器频率较高,该时间所占比例较小;然而对于硬件实现而言,该时间受限于直接内存存取的频率和通信协议。因此,当考虑传输时间时,所设计的加速器能够实现更好的加速比考虑。
| 表1:资源利用率 |
|---|
| 资源 |
| BRAM |
| DSP |
| FF |
| LUT |
| 表2:与中央处理器的性能比较 |
|---|
| 游戏规模 |
| 48 |
| 64 |
6. 结论
在本论文中,我们提出了面向自动驾驶边缘计算场景的博弈论算法的现场可编程门阵列(FPGA)加速器设计与实现,据我们所知,这是首个基于FPGA的博弈论硬件实现。我们的设计始于将博弈论应用于自动驾驶车辆决策系统的可行性分析,该类系统是边缘计算的典型形式。通过对经典博弈论算法——Lemke‐Howson算法的分析,我们利用FPGA硬件实现中的并行性,提出了相应的加速器设计方案。在满足FPGA芯片特定约束条件的前提下,提出了一种优化方法以简化存储结构。我们在Xilinx KCU116开发板上实现了该设计,对所提出的加速器进行了验证和性能测试。与中央处理器(CPU)上的性能相比,该加速器的初始加速比为2.4倍。作为首个在硬件上实现博弈论算法的工作,我们期望该设计能够为现有的自动驾驶系统研究提供启发,从而实现更优的性能。
更多推荐
所有评论(0)