本文对常用于军事目的的十种算法进行简短综述,然后分析它们对数据流和GaAs的潜在适用性,GaAs是芯片上超级计算机的特定架构和技术。每当一种算法或设备被用于军事场合时,自然会假设与速度、可靠性、规模、能量、尺寸和精确度有关的严格要求。上述两种范式在满足这些要求中的大部分方面是有希望的。
这是对优化和学习的十种具体算法的一个小型综述,结合对它们在未来芯片上的超级计算机中的数据流实现的适用性的分析,如[1]所述,以及它们对GaAs技术的适用性,这也是未来芯片上的超级计算机的一个选择。显然,这些算法的计算量需要在一个小的物理空间内有大量的计算能力。
在第2节中,每个算法都用适当的数学和逻辑概念进行了说明,并使用[2]中的准则进行介绍,即以下几点:
1.要解决的问题是什么。
2.在引入所提出的算法之前,现有的最佳算法是什么。
3.为什么新提出的算法会更好?
4.在哪些条件下,它的优势有多大?
上述每个问题都尽可能简明扼要地介绍,以便有效地深入了解其本质。
在第3节中,每一种算法都从适合数据流技术的角度进行了描述,数据流技术对高速、高精度、低功耗和低尺寸的航空航天和国防应用很有前途。
在第4节中,从适合GaAs技术的角度描述了每种算法,GaAs技术对航空航天和国防领域典型的高辐射环境下的超高速处理比较有用。
第5节介绍了与本综述所关注的各种情况下的性价比有关的结论。
人工智能(AI)算法已经进入国防领域,它们的广泛使用正在改变战争和一般国防的经典理论。算法被用于检测、规划、现场作战和辅助支持,这些都是国防部门的主要任务。算法和智能传感器被用来在边境口岸、海关检查站和其他旅行口岸检测潜在的危险人物和物体。作为这些算法的输出,所获得的洞察力被用来部署积极的警务工作,并对危机情况提供更全面的了解。在计划中,可用的数据和算法被用来更好地预测资源需求和任务及培训演习的相关费用。在实地行动中,这些可以提供实时信息和快速评估,以改善任务结果,保护人员、资产和信息。一些系统和武器配备了各种辅助决策系统,而无人驾驶车辆和机器人则以较高的精度和较少的资源执行涉及安全风险的任务。
在本文中,我们介绍了十种算法,这些算法被用于核心、战术和支持作战的军事应用中。基础问题的实例,即算法的输入,通常规模很大。因此,有大量的数据需要快速处理,最好是实时的、准确的和可靠的,同时保证信息的保密性和控制,即使在恶劣的条件下操作。
在DARPA赞助的项目中,最常发现的算法与我们下面介绍的问题和算法有关。算法和问题的选择似乎略微偏向于计算机视觉,因为它似乎是发展自动驾驶汽车的基本技术,取代了驾驶员的眼睛,从而使汽车能够在危险的地点检测到感兴趣的物体。
军队中每天都有大量的优化问题,这些问题具有一定的不确定性,通常呈现在各种场景中。应用范围从每月或每天的空运或海运货物的调度[4],到网络劳动力规划[5]或医疗设施部署规划[6]。这些都需要快速、准确和可靠的大规模随机规划问题的求解器。
Benders分解法是一种数学规划技术,用于解决具有特定块结构的超大型线性规划问题[7]。
假设一个问题分两个或多个阶段发生,后面阶段的决策取决于前面阶段的结果。第一次尝试对第一阶段的问题进行决策时,事先不知道关于后面阶段决策的最优性。第一阶段的决策是主问题,而后续阶段被视为独立的子问题,其信息被传递回主问题。如果检测到任何违反子问题约束的情况,该约束将被添加到主问题中,然后被解决。主问题代表了一个初始的凸集,它被从子问题中收集到的信息进一步约束,因此随着信息的增加,可行空间会缩小。如果矩阵A和B代表约束条件,Y代的可行集,我们要解决的问题被表示为最小化问题,如下所示:
在图1中,我们说明了Bender分解算法。一旦得到初始主问题和子问题,在得出初始MP和子问题后,算法从主问题开始,然后在它们之间交替进行,直到找到一个最优解。较小的问题基本上是多项式时间可计算的问题,而它们的独立性允许有效利用并行性。
一般来说,线性规划是一个NP完全的问题,而Benders分解是一种能缓慢收敛到所需解决方案的方法。
机械臂和自主装甲车的绝对精度是可能的,这要归功于计算机视觉应用于从多个摄像机收集的高分辨率输入,这些输入最终需要转化为相同的坐标系,以便为后续算法创建一致的数据。这是用所谓的图像配准算法完成的。
图像配准包括对源图像进行空间转换,以便与目标图像对齐,如图2所示。对齐是通过一个特定的映射来进行的,这个映射被称为 "同构",定义如下。
有大量的算法可以准确地进行图像配准。当图像被暴露在噪声中,导致一个场景在图像中显得杂乱无章时,现有的最佳解决方案具有多项式时间复杂性(见[8])。
最近,高分辨率图像的实时配准(详见[9]),正在由高速硬件来解决,这些硬件利用并行性和自适应采样技术来满足高速便携式多媒体设备的要求(见[10])。
图像和视频拼接是通过拼接几个有多处重叠的图像/视频来获得全面的图像/视频视野,从而消除图像或视频中的视野限制。视频拼接本质上是对多图像拼接的概括,具有一系列新的限制和挑战。
首先,图像需要使用之前解释过的图像配准将其转换为相同的坐标系。然后,根据使用情况,选择一个适当的算法来寻找拼接缝隙。
较早开发的算法通常根据一个估计的单一变换对多个重叠的图像进行全局变形和对齐。最近开发的算法将该问题转化为更高级的优化问题,考虑到摄像机的移动,这需要稳定视频。因此,视频拼接可以被设定为优化一个由稳定项和拼接项组成的目标函数,在此基础上进行迭代优化算法。显然,即使是拼接低分辨率的视频也需要大量的计算(见[11])。把这个问题带到国防应用的现实场景中,需要对位置不固定的摄像机获得的高分辨率视频进行拼接。
模式识别涉及自动识别数据中的规律性,并将数据分为不同类别。
分类是指识别一个(或多个)观测值属于一组类别(子群体)中的哪一个的问题。这方面的例子是将视频流中的识别对象标记为敌人,或者根据观察到的设备特征(类型、某些特征的存在等)来分配网络诊断中的一个设备。对于分类问题,我们将考虑逻辑回归、kNN、感知机和SVM。
聚类是一种分类和预测分类标签的方法,对于这个类别,我们将介绍kmeans算法。
最后,我们还将考虑集成学习,其本质是将多种学习算法结合在一起的有监督的元算法。
逻辑模型在统计学中被用来评估某个事件或现有的一组事件的概率,如通过/失败、赢/输、生/死或敌/友。它也可以扩展到对几类事件进行建模,如确定图像中的人是否有火箭筒,图像中是否包含特定物体等。在图像中检测到的每个物体都被赋予0到1的概率,其总和为1。
kNN是一种监督学习算法,它将标记好的训练好的样本存储为一对(X1, Y1), (X2, Y2), ...... ,(Xn, Yn),在Rd×{1, 2}中取值。训练阶段只包括存储这些样本。为了进行预测,kNN算法找到查询点的k个最近的邻居,并根据最近的k个最相似的点计算出类标签。
感知机是一种学习阈值函数的算法:一个将其输入x(实值向量)映射到输出值f(x)(单一二进制值)的函数。单层感知机的自然扩展是多层感知机,它基本上包含了许多组织成层的感知机,从而获得在合理时间内解决更复杂问题的能力。
一个可靠的、高度准确的实时目标检测算法在防御中是最重要的。在给定的视频中实时检测某类语义物体的实例(如人类、动物、道路或车辆)。输入是以连续视频流的形式给出的,而输出则是分配给每个检测到的目标的注释描述符,该描述符在其出现的帧中以适当的方框为界。
YOLO算法被认为是最先进的算法。YOLO的处理管道包括一个单一的神经网络,它首先预测图像中的界线框,之后问题被简化为对空间分离的界线框的回归。
YOLO首先将图像分割成单元,通常是19x19的网格。然后每个单元负责预测K个边界盒。YOLO根据单元格包含某个类别的概率,为盒子和类别确定一个置信度分数。详细来说,一个类别的置信度分数是界线框置信度分数和类别概率的乘积。然后对所有单元格重复这一过程。然后,需要用所谓的非最大抑制法过滤掉不必要的界线框,通过这种方法,选择一个具有最高类别概率的界线框。这样做直到我们剩下所有不同的目标类别的界线框。
预测结果与地面实况之间的误差之和被用来计算损失。损失函数包括:分类损失、定位损失(预测的边界框和地面实况之间的误差)和置信度损失(框的客观性)。
这种方法在军事上的应用有两个额外的限制:(1)在准确性和速度之间不做权衡;(2)出于安全考虑,不使用在安全范围外预训练的网络。
这些限制和问题的性质要求在数据流上有巨大的连续处理能力,以使这种算法能够成功使用。
为了检测网络中的入侵行为(IDS),需要对其流量进行特殊的签名分析。正常的网络流量往往表现出与攻击相似的特征,而黑客经常应用混淆的方式进行网络入侵。
机器学习为准确识别IDS提供了广泛的有效工具,其限制条件是训练数据集不应与恶意数据有关。支持向量机(SVM)是这项任务的一个有希望的候选者[14]。
这种算法的目的是在N维空间中找到一个超平面,在保持最大余量的同时将数据点分开,也就是各个类的点之间的最大距离。
尽管SVM的空间和时间复杂度是多项式的(分别是对输入大小的二次和三次),但网络中的数据量要求有特殊的结构,以使这种算法能有效地用于上述目的。
k-means聚类是一种矢量量化的方法,其目的是将n个观测值划分为k个聚类,每个观测值都属于平均值最近的聚类,作为聚类的原型。这导致数据空间被划分为Voronoi单元。
集成模型使用多个不同的建模算法或不同的训练数据集来预测一个结果。然后,集成模型将每个使用过的模型的预测结果汇总,得出其对未见过的数据的最终预测结果。特别是,Boosting是一种集成模型,已被广泛用于军事应用中(见[15])。
在实践中,AdaBoost算法是通过级联上述SVM弱分类器的数量来实现的。
数据流范式[16], [17], [18]已经被引入,与传统的控制流范式[19]形成对比。在控制流中,编写程序的目的是为了对通过硬件的数据流进行微观控制。在数据流中,编写程序的目的是为了配置硬件,因此,在理想情况下,电压差可以通过硬件移动数据。
与控制流范式相比,数据流范式可以实现10倍、100倍、甚至1000倍的速度提升。同时,功率的降低可以达到10倍左右。精度可以在整个算法中变化,这就节省了芯片面积。设备的尺寸也得到了减少,系数高达10倍。
从这种模式中受益最多的算法是那些以耗时的循环和每个特定循环迭代中的大量数据可用性为特征的算法。在本文综述的算法中,最适合数据流实现的算法是:逻辑回归、K-means和集成模型。
这些算法的数据流实现的例子,以及其他类似的算法,可以在appgallery.maxeler.com 或[16]中找到。关于更多信息,感兴趣的读者可以参考文献[19]、[17]、[18]。
GaAs技术也可用于处理器的设计和算法的实现。它提供了明显更高的处理器速度和精度或辐射硬度,这使得它适合在航空航天和国防环境中使用。另一方面,可以放置在单个芯片上的晶体管数量较少,而栅极延迟在很大程度上取决于栅极扇出。
这些特点决定了处理器设计和算法实现的具体要求。一方面,没有多少逻辑可以放置在单个芯片上,另一方面,片外和片内延迟的比例相对较高。这就要求利用高度流水线架构,其中流水线元件的复杂性相对较小。
在DARPA的赞助下,实现各种类型的处理器工作在[20]和[21]中描述。重要的概念在[22]和[23]中被描述。这些概念也与本文描述的算法的实现有关。
基于上述事实,可以预期最有效的实现是那些可以使用许多小元素,以流水线方式连接的算法,如图像/视频配准和拼接。其他例子包括感知器、SVM、kmeans和集成建模。这些说法通过本文共同作者任教的大学中的一些学生项目得到了验证。
所综述的算法是根据在选定的军事应用中的使用频率选择的。我们从基于数据流范式和GaAs技术的实施角度来研究这些算法。
研究发现,有些算法比其他算法更适合于数据流。也就是说,最适合的算法是那些以循环对整个运行时间的高贡献为特征的算法,以及那些在每个循环迭代中具有高水平数据重用性的算法。
就利用GaAs技术带来的潜在好处而言,那些可以在大量小模块上实现的、以流水线或系统方式连接的算法有望获得最佳性能提升。此外,对片外和片内延迟的大比率不太敏感的算法更适合这种技术,因为这种技术可以提供高速度,但不允许使用大芯片。
最后,这项调查开辟了与三角中的协同作用有关的新研究途径:算法-架构-技术。为了从众多的选择中适当地选择一种特定的算法,有必要进行本文所介绍分析。