Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Chaitanya K. Joshi , Rishabh Anand作者

用深度学习解决旅行推销员问题,研究者走到哪一步了?

最近,针对旅行推销员等组合优化问题开发神经网络驱动的求解器引起了学术界的极大兴趣。这篇博文介绍了一个神经组合优化步骤,将几个最近提出的模型架构和学习范式统一到一个框架中。透过这一系列步骤,作者分析了深度学习在路由问题方面的最新进展,并提供了新的方向来启发今后的研究,以创造实际的价值。


组合优化问题的背景

组合优化是数学和计算机科学交叉领域的一个实用领域,旨在解决 NP 难的约束优化问题。NP 难问题的挑战性在于详尽地寻找 NP 难问题的解超出了现代计算机的限制,因此不可能在大规模问题上最优地解决 NP 难问题。

我们为什么要关心这个问题?因为针对流行问题的稳健可靠的近似算法具有巨大的实际应用价值,并且也是现代产业的支柱。例如,旅行推销员问题 (TSP) 是最流行的组合优化问题 (COP),从物流和调度到基因组学和系统生物学等多种应用中都有出现。

旅行推销员问题是如此著名,或者说难以攻克,甚至有专门的 xkcd 漫画!


TSP 和路由问题

TSP 也是路由问题的经典示例——路由问题是一类 COP,它需要一系列节点(例如城市)或边(例如城市之间的道路)以特定顺序遍历,同时需要满足一组约束或优化一组变量。TSP 要求按照确保所有节点都被访问一次的顺序遍历一组边。从算法的角度来看,我们的销售人员的最佳「旅行」路线是一系列选定的边,这些边满足了哈密顿循环中的最小距离或时间,请参见图 1 中的说明。

图 1:TSP 提出以下问题:给定一个城市列表和每对城市之间的距离,销售人员访问每个城市并返回出发城市的最短路线是什么?(来源:MathGifs)


在现实世界和实际场景中,路由问题或车辆路由问题 (VRP) 可能会涉及超出普通的 TSP 的挑战性约束。例如,带有时间窗口的 TSP (TSPTW) 将「时间窗口」约束添加到 TSP 图中的节点。这意味着某些节点只能在固定的时间间隔内访问。另一种变体是,容量车辆路线问题 (CVRP) ,旨在为访问一组客户(即城市)的车队(即多个销售人员)找到最佳路线,每辆车都具有最大承载能力。

图 2:TSP 和相关的车辆路径问题类别。VRP 的约束的条件和 TSP 的不同,该图呈现了相对充分研究的那些约束条件。在真实世界中可能存在具有更复杂和非标准约束的类 VRP 问题!(来源:改编自 Benslimane 和 Benadada,2014 年)

深度学习解决路由问题

为路由问题开发可靠的算法和求解器需要大量的专家直觉和多年的反复试验。例如,线性规划、切割平面算法和分支定界问题中最先进的 TSP 求解器 Concorde 耗费了人们 50 多年的时间才得到;这是一段关于其历史的鼓舞人心的视频(https://www.youtube.com/watch?v=q8nQTNvCrjE)。Concorde 可以找到多达数万个节点的最优解,但执行时间极长。正如读者所想象的那样,为复杂的 VRP 设计算法会更具挑战性,也更耗时,尤其是在现实世界的限制条件下,例如混合容量或时间窗口问题。

于是,机器学习社区开始关注以下问题:

我们可以使用深度学习来让解决 COP 所需的专家直觉流程自动化,甚至增强专家直觉吗?

有关更深入的动机,请参阅 Mila 的这项精妙调查:https://arxiv.org/abs/1811.06128

神经组合优化

如果把 COP 问题比作一根钉子,那么神经组合优化可以说是一种尝试使用深度学习方法来解决问题的锤子。神经网络经过训练之后,可以直接从问题实例本身中学习来产生 COP 的近似解。这一系列研究始于 Google Brain 的开创性 Seq2seq 指针网络和使用强化学习来实现神经组合优化的论文。如今,图神经网络通常是深度学习驱动的求解器的核心架构选择,因为它们解决了这些问题相关的图结构。

神经组合优化旨在通过以下方式改进传统的 COP 求解器:


  • 非手工的启发式方法。神经网络不需要应用专家手动设计启发式和规则,而是通过模仿最佳求解器或通过强化学习来学习这些启发式和规则(下一节中展示了一个示例)。

  • GPU 快速推理。对于问题规模较大的情况,传统求解器的执行时间通常很长,例如 Concorde 用了 7.5 个月的时间解决了拥有 109,399 个节点的最大 TSP。另一方面,一旦用来近似求解 COP 的神经网络训练完成,那么使用的时候就具有显着有利的时间复杂度,并且可以通过 GPU 进行并行化。这使得它们非常适合解决实时决策问题,尤其是路由问题。

  • 应对新颖且研究不足的 COP。神经组合优化可以显着加快针对具有深奥约束的新问题或未研究问题的特定 COP 求解器的开发进度。此类问题经常出现在科学级的发现或计算机体系结构中,一个令人兴奋的成功例子是谷歌的芯片设计系统,它将为下一代 TPU 提供动力。你没看错——下一个运行神经网络的 TPU 芯片是由神经网络设计的!


神经组合优化步骤

使用 TSP 作为典型示例,我们现在提出一个通用的神经组合优化步骤,可用于表征现代深度学习驱动的几个路由问题的方法。

最先进的 TSP 方法将城市的原始坐标作为输入,并利用 GNN 或 Transformer 结合经典图搜索算法来建设性地构建近似解。其架构可以大致分为:(1)自回归模型,以逐步的方式构建解集;(2) 非自回归模型,一次性产生所有解。可以通过监督学习或通过强化学习最小化 TSP 遍历的长度来训练模型以模仿最佳求解器。

图 3:神经组合优化步骤(来源:Joshi 等人,2021)。

Joshi 等人在 2021 年提出的 5 阶段步骤将突出的模型架构和学习范式整合到一个统一的框架中。这个步骤将使我们能够剖析和分析深度学习在路由问题方面的最新发展,并为激励未来的研究提供新的方向。

第一步通过图定义问题

图 4:问题定义:TSP 是通过城市 / 节点的全连接图定义的,此图可以进一步稀疏化。

TSP 是通过一个全连接图定义的,其中节点对应于城市,边表示它们之间的道路。该图可以通过启发式算法(例如 k-nn 最近邻算法)进行稀疏化。这使模型能够扩展到所有节点的成对计算都难以处理的大型实例中 [Khalil 等人,2017 年],或者通过减少搜索空间来更快地学习 [Joshi 等人,2019 年]。

第二步:获取图节点和边的隐空间嵌入

图 5:图嵌入:每个图节点的嵌入是使用图神经网络编码器获得的,该编码器通过递归聚合来自每个节点的邻居的特征来构建局部结构特征。

GNN 或 Transformer 编码器将 TSP 图中的每个节点和边,或者在两者中选择一个,作为输入来计算隐空间表示或嵌入特征。在每一层当中,节点从其邻居那里收集特征,再通过递归消息传递来表示局部图结构。堆叠 L 层后,网络就能从每个节点的 L 跳邻域中构建节点的特征。

Transformers [Deudon et al., 2018, Kool et al., 2019] 和 Gated Graph ConvNets [Joshi et al., 2019] 等各向异性和基于注意力的 GNN 已成为编码路由问题的默认选择。邻域聚合期间的注意力机制至关重要,因为它允许每个节点根据其对解决手头任务的相对重要性来权衡其邻居节点。

重要的是,Transformer 编码器可以看作是全连接图上的注意力 GNN,即图注意力网络 (GAT)。请参阅此博客文章以获得直观的解释。

第三、四步:将嵌入转换为离散解

图 5:解码和搜索:为每个节点或每条边分配属于解集的概率(这里,MLP 对每条边进行预测以获得边概率的「热力图」),然后转换为离散决策中经典的图搜索技术,例如贪心搜索或束搜索。

一旦图的节点和边被编码为隐空间表示,我们必须将它们解码为离散的 TSP 解决方法。具体来说,可以通过两步过程完成:首先,将概率分配给每个节点或每条边来将节点或边添加到解集当中,无论是相互独立地(即非自回归解码)或是通过图遍历有条件地(即自回归解码)。接下来,通过经典的图搜索技术(例如由概率预测引导的贪心搜索或束搜索)将预测概率转换为离散决策(稍后我们将在讨论近期趋势和未来方向时,讨论更多关于图搜索的内容)。

解码器的选择需要在数据效率和实现效率之间权衡:自回归解码器 [Kool et al., 2019] 将 TSP 转换为 Seq2Seq 模型, 或基于一组无序城市节点的有序旅游路线的语言翻译任务。他们通过每次选择一个节点来明确地模拟路由问题的顺序归纳偏差。另一方面,非自回归解码器 [Joshi et al., 2019] 将 TSP 视为生成边缘概率热力图的任务。NAR 方法明显更快,更适合实时推理,因为它是一次性而不是逐步地生成预测。然而,NAR 方法忽略了 TSP 的顺序性,与 AR 解码相比,训练效率可能较低 [Joshi 等人,2021]。

第五步:模型训练


最后,整个编码器 - 解码器模型以端到端的方式进行训练,就像用于计算机视觉自然语言处理深度学习模型一样。在最简单的情况下,可以通过模仿最优求解器(即通过监督学习)来训练模型以产生接近最优的解。对于 TSP,Concrode 求解器用于为数百万个随机实例生成最佳旅游路线的有标签训练数据集。带有 AR 解码器的模型通过强制教学(teacher-forcing )模式进行训练,来输出节点的最佳旅行序列 [Vinyals et al., 2015],而带有 NAR 解码器的模型经过训练后,可以从未遍历的边集中识别出在旅行期间遍历的边 [Joshi et al., 2019]。

然而,为监督学习创建标记数据集是一个昂贵且耗时的过程。特别是对于大规模问题实例,最佳求解器在准确性上的保证可能不复存在,这会导致用于监督训练的解决方案不精确。从实践和理论的角度来看,这远非是理想的方式 [Yehuda et al., 2020]。

对于未充分研究的问题来说,在缺乏标准解决方案的情况下,强化学习通常是一种优雅的替代方案。由于路由问题通常需要顺序决策以最小化特定于问题的成本函数(例如 TSP 的旅行长度),它们可以优雅地投入 RL 框架中,该框架训练智能体以最大化奖励函数(损失函数的负值) . 带有 AR 解码器的模型可以通过标准策略梯度算法 [Kool et al., 2019] 或 Q 学习 [Khalil et al., 2017] 进行训练。

各阶段中的成果简介

我们可以通过 5 阶段步骤来描述 TSP 深度学习中的杰出成果。回想一下,步骤包括:(1)问题定义→(2)图嵌入→(3)解码→(4)解搜索→(5)策略学习。下表从 Oriol Vinyals 及其合作者发表的指针网络论文开始介绍,红色突出表示该论文具有主要创新和贡献。


未来工作的最新进展和途径

有了统一的 5 阶段步骤,我们接下来重点介绍深度学习路由问题的一些最新进展和趋势。同时还将提供一些未来的研究方向,重点探讨如何提高对大规模和真实世界实例的泛化能力。

利用等方差和对称性

作为最有影响力的早期作品之一,自回归注意力模型 [Kool et al., 2019] 将 TSP 视为可以用 Seq2Seq 解决的语言翻译问题,并将 TSP 旅行顺序构建为城市排列。该公式的一个直接缺点是它没有考虑路由问题的潜在对称性。

图 6:一般来说,TSP 有一个唯一的最优解 (L)。然而,在自回归公式下,当解表示为节点序列时,存在多个最优排列 (R)。(来源:Kwon 等人,2020)


POMO: Policy Optimization with Multiple Optima [Kwon et al., 2020] 建议在建设性自回归公式中利用起始城市的不变性。他们训练了与之前相同的注意力模型,但不同之处在于他们使用了一种新的强化学习算法(上述步骤中的第 5 步),该算法利用了多个最优旅行排列。

图 7:在旋转、反射和转换后,城市坐标的欧几里得对称群的 TSP 解保持不变。将这些对称性纳入模型可能是解决大规模 TSP 的原则性方法。

同样地,Ouyang 等人在 2021 年对注意力模型进行了升级,考虑了输入城市坐标的旋转、反射和平移(即欧几里得对称群)的不变性。他们提出了一种自回归方法,通过同时在问题定义阶段(步骤 1)执行数据增强并在图形编码(步骤 2)期间使用相对坐标来确保不变性。他们在 TSPLib 数据集上进行的从随机实例到现实世界的零样本泛化实验显示他们的模型具有很好的效果。

未来的工作可能会在架构设计上遵循几何深度学习 (GDL) 蓝图。GDL 告诉我们要明确考虑数据或问题的对称性和归纳偏差,并将其结合起来。由于路由问题需要被嵌入在欧几里得坐标中,以及路由是循环的,因此将这些约束直接纳入模型架构或学习范式可能是一种原则性方法,可以提高对比训练期间更大的大规模实例的泛化能力。

改进后的图搜索算法

另一个有影响力的研究方向是一次性非自回归图卷积网络方法 [Joshi et al., 2019]。最近的几篇论文提出保留相同的门控 GCN 编码器(步骤 2),同时用更强大和灵活的图搜索算法替换束搜索组件(步骤 4),例如动态规划 [Kool et al., 2021] 或蒙特卡洛树搜索 (MCTS) [Fu et al., 2020]。

图 8:门控 GCN 编码器 [Joshi 等人,2019 年] 可用于为 TSP、CVRP 和 TSPTW 生成边预测「热力图」(透明红色)。这些可以由 DP 或 MCTS 进一步处理以输出路由(纯色)。GCN 从本质上减少了复杂搜索算法的解搜索空间,复杂搜索算法在搜索所有可能的路线时可能难以处理。(资料来源:Kool 等人,2021 年)

Fu 等人提出的 GCN + MCTS 框架有一种非常有趣的方法,该方法可以在很小的 TSP 问题上有效地训练模型,并以零样本的方式(类似 Joshi 等人最初探究的 GCN + 束搜索方式)成功地将学习的策略转移到更大的图上。他们通过更新问题定义(步骤 1)来确保 GCN 编码器的预测结果可以在 TSP 从小到大变化时仍然具有泛化能力:规模较大的问题实例被表示为许多较小的子图,这些子图的大小与 GCN 的训练图相同,然后在执行 MCTS 之前合并 GCN 的边预测结果。

图 9:GCN + MCTS 框架 [Fu et al., 2020] 将大型 TSP 问题表示为一组与用于训练的 GCN 的图大小相同的规模较小的子图。将 GCN 预测得到的子图的边热力图合并在一起,可以获得原图的热图。这种分而治之的方法确保了 GCN 的嵌入和预测能够很好地从较小的实例推广到较大的实例。(来源:Fu et al., 2020

这种分而治之的策略最初由 Nowak 等人在 2018 年提出,以确保 GNN 的嵌入和预测能够很好地泛化从较小到较大的 TSP 实例(最多 10,000 个节点)。将 GNN、分而治之和搜索策略融合在一起,来处理多达 3000 个节点的大规模 CVRP 问题同样充满无限可能。[Li et al., 2021]。

总体而言,这一系列的工作表明,模型的神经元和符号 / 搜索组件的设计之间的更强耦合对于分布外泛化至关重要 [Lamb 等人,2020]。然而,同样值得注意的是,在 GPU 上实现图搜索的设计高度定制化和并行化,可能对每个新问题都是一种挑战。

学习改进次优解

最近,从 Chen 等人在 2019 的工作和 Wu 等人在 2021 年的工作开始,许多论文探索了建设性的 AR 和 NAR 解的替代方案,包括迭代改进(次优)解学习或局部搜索学习。其他著名论文包括 Cappart et al., 2021, da Costa et al., 2020, Ma et al., 2021, Xin et al., 2021 和 Hudson et al., 2021.。

图 10:通过在局部搜索算法中的指导决策来学习改进次优 TSP 解的架构。(a) 原始的 Transformer 编码器 - 解码器架构  [Wu et al., 2021],该方法使用正弦位置编码来表示当前的次优旅行排列;(b)  Ma et al., 2021 通过在对称性问题上做了进一步的升级:具有可学习的位置编码的双端 Transformer 编码器 - 解码器,能够捕捉 TSP 旅行的循环性质;(c) 正弦曲线与周期性位置编码的可视化。


在所有这些工作中,由于深度学习用于指导经典局部搜索算法中的决策(这些算法被设计为无论问题规模如何都能工作),因此与建设性方法相比,这种方法隐含地导致对更大问题实例的更好的零样本泛化。实际来说,这是一个非常理想的属性,因为在非常大或真实世界的 TSP 实例上进行训练可能很棘手。

值得注意的是,NeuroLKH [Xin et al., 2021] 使用通过 GNN 生成的边概率热力图来改进经典的 Lin-Kernighan-Helsgaun 算法,并展示了对具有 5000 个节点的 TSP 以及跨对 TSPLib 数据集中,实例的强大零样本泛化能力。


这项工成果的限制之一是需要事先手工设计的局部搜索算法,对于新的或未充分研究的问题可能是会缺少的。另一方面,通过在解码和搜索过程中实施约束,建设性的方法可以说更容易适应新问题。

促进泛化的学习范式


未来的工作可以着眼于新的学习范式(步骤 5),这些范式明确关注监督和强化学习之外的泛化,例如 Hottung et al., 2020 探索了自动编码器目标,以学习路由问题解的连续空间,而 Geisler et al., 2021 训练神经求解器,使其对对抗性扰动具有鲁棒性。

目前,大多数论文都建议在非常小的随机 TSP 上有效地训练模型,然后以零样本的方式将学习到的策略转移到更大的图和真实世界的实例中。合乎逻辑的下一步是在少数特定问题实例上微调模型。Hottung et al., 2021 在 2021 年迈出了第一步,建议通过主动搜索为每个特定问题实例微调模型参数的子集。在未来的工作中,将微调作为元学习问题进行探索可能会很有趣,元学习问题的目标是训练模型参数,用于快速适应新的数据分布和问题。

另一个有趣的可以探索的方向是通过对流行的路由问题(如 TSP 和 CVPR)进行多任务预训练,然后针对特定问题的微调来解决具有挑战性约束的未充分研究的路由问题。与自然语言处理中作为预训练目标的语言建模类似,路由预训练的目标是学习通常来说会有用的潜在表示,这些表示可以很好地转移到新的路由问题上。

改进后的评估协议

除了算法创新之外,社区一再呼吁推出更现实的评估协议,这可以推动现实世界路由问题的进步和工业界的落实 [Francois et al., 2019, Yehuda et al., 2020]。最近, Accorsi et al., 2021 为实验设计和与经典运筹学 (OR) 技术的比较提供了一套权威指南。他们希望对标准化基准进行公平和严格的比较将成为将深度学习技术集成到工业路由求解器中的第一步。

总的来说,令人鼓舞的是,近期的论文不仅显示了对微小的随机 TSP 实例的轻微性能提升,而且还采用了 TSPLib 和 CVPRLib 等真实世界的基准测试数据集。此类路由问题集合包含来自全球城市和道路网络的图表及其精确解决方案,并已成为 OR 社区中新求解器的标准测试平台。

同时,我们必须在其他论文都在使用的前 n 个 TSPLib 或 CVPRLib 实例上不「过拟合」。因此,更好的合成数据集与公平的基准测试进展密切相关,例如 Queiroga et al., 2021 (https://openreview.net/forum?id=yHiMXKN6nTl) 最近提出了一个新的合成 了 10,000 个 CVPR 测试实例的库。


图 11:关注 ML4CO 等社区竞赛能有效地跟踪研究进展。(来源:ML4CO 网站)。对新构造的现实世界数据集进行定期竞赛,例如 NeurIPS 2021 的 ML4CO 竞赛和 IJCAI 2021 的 AI4TSP,也是跟踪深度学习和路由问题交叉点进展的一个有效手段。

我们强烈呼吁能够在 YouTube 上获取来自 ML4CO、NeurIPS 2021 的有价值的小组讨论和演讲。

总结


这篇博文介绍了一系列神经组合优化步骤,这些步骤将最近关于深度学习的论文统一到一个单一的框架中。然后,通过此框架的视角,我们分析和剖析最近的研究进展,并预测未来研究的方向。

最后一点想说的是,神经组合优化的更深刻的研究动机可能并不是为了在经过充分研究的路由问题上胜过经典方法。神经网络可以用作解决以前未遇到的 NP 难问题的通用工具,尤其是那些对于设计启发式算法而言并非微不足道的问题。我们赞叹神经组合优化最近在设计计算机芯片、优化通信网络和基因组重建方面的应用,并期待未来有更多有价值的应用!

原文链接:https://www.chaitjo.com/post/deep-learning-for-routing-problems/?continueFlag=b220d49bda26d4033730216fbc9275d5
入门旅行推销员问题
相关数据
哈密顿人物

William Rowan Hamilton爵士MRIA(1805年8月4日 - 1865年9月2日)是一位爱尔兰数学家,他为经典力学、光学和代数做出了重要贡献。 虽然哈密顿不是物理学家(他认为自己是一个纯粹的数学家)他的工作对物理学起着至关重要的作用,特别是他对牛顿力学的重新定义,现在称为哈密顿力学。 这项工作已被证明是对电磁学等经典场论的现代研究以及量子力学发展的核心。 在纯数学中,他最出名的是四元数的发明者。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动编码器技术

自动编码器是用于无监督学习高效编码的人工神经网络。 自动编码器的目的是学习一组数据的表示(编码),通常用于降维。 最近,自动编码器已经越来越广泛地用于生成模型的训练。

动态规划技术

动态规划(也称为动态优化),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划将复杂的问题分解成一系列相对简单的子问题,只解决一次子问题并存储它的解决方案(solution),下一次遇到同样的子问题时无需重新计算它的解决方案,而是简单地查找先前计算的解决方案,从而节省计算时间。动态规划适用于有最优子结构(Optimal Substructure)和重叠子问题(Overlapping Subproblems)性质的问题。

局部搜索技术

在计算机科学中,局部搜索是解决最优化问题的一种元启发式算法。局部搜索从一个初始解出发,然后搜索解的邻域,如有更优的解则移动至该解并继续执行搜索,否则返回当前解。局部搜索的优点是简单、灵活及易于实现,缺点是容易陷入局部最优且解的质量与初始解和邻域的结构密切相关。常见的改进方法有模拟退火、禁忌搜索等。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

调度技术

调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,如线程、进程或数据流;也可以指硬件资源,如处理器、网络连接或扩展卡。 进行调度工作的程序叫做调度器。调度器通常的实现使得所有计算资源都处于忙碌状态,允许多位用户有效地同时共享系统资源,或达到指定的服务质量。 see planning for more details

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

时间复杂度技术

在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为 n (必须比 n0 大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

边缘概率技术

边缘概率又称边缘分布,指在多维随机变量中,只包含部分变量的概率分布,边缘分布中实际上进行了降维操作。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

线性规划技术

在数学中,线性规划(Linear Programming,简称LP)特指目标函数和约束条件皆为线性的最优化问题。

运筹学技术

运筹学,是一门应用数学学科,利用统计学和数学模型等方法,去寻找复杂问题中的最佳或近似最佳的解答。运筹学经常用于解决现实生活中的复杂问题,特别是改善或优化现有系统的效率。研究运筹学的基础知识包括矩阵论和离散数学,在应用方面多与仓储、物流等领域相关。因此运筹学与应用数学、工业工程专业密切相关。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

图搜索技术

在计算机科学中,图遍历(也称为图搜索)是指在图中访问(检查/或更新)每个顶点的过程。这样的遍历是按访问顶点的顺序进行分类的。比如,树遍历就是图遍历的一个特例。 与树遍历不同,图遍历可能需要多次访问某些顶点,因为在转换到一个已经被探索的顶点之前,它并不一定是已知的。随着图形变得越来越密集,这种冗余变得更加普遍,导致计算时间增加;随着图形变得越来越稀疏,相反的情况也成立。 因此,通常需要记住哪些顶点已经被算法探索过了,这样就可以尽可能少地重新访问顶点(或者在最坏的情况下,防止遍历无限延续)。这可以通过将图中的每个顶点与在遍历期间的“颜色”或“访问”状态相关联来完成,然后在算法访问每个顶点时检查和更新。如果顶点已经被访问过,它就被忽略了,路径就不再被继续了;否则,算法会检查/更新顶点,并继续它当前的路径。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

图神经网络技术

图网络即可以在社交网络或其它基于图形数据上运行的一般深度学习架构,它是一种基于图结构的广义神经网络。图网络一般是将底层图形作为计算图,并通过在整张图上传递、转换和聚合节点特征信息,从而学习神经网络基元以生成单节点嵌入向量。生成的节点嵌入向量可作为任何可微预测层的输入,并用于节点分类或预测节点之间的连接,完整的模型可以通过端到端的方式训练。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

旅行推销员问题技术

旅行推销员问题是这样一个问题:给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。它是组合优化中的一个NP困难问题,在运筹学和理论计算机科学中非常重要。 TSP是旅行购买者问题与车辆路径问题的一种特殊情况。 在计算复杂性理论中,TSP的做决定版本属于NP完全问题。

自回归模型技术

自回归模型,是统计上一种处理时间序列的方法,自回归模型被广泛运用在经济学、资讯学、自然现象的预测上。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

图卷积网络技术

假设有一张图,要做分类,传统方法需要手动提取一些特征,比如纹理啊,颜色啊,或者一些更高级的特征。然后再把这些特征放到像随机森林等分类器,给到一个输出标签,告诉它是哪个类别。而深度学习是输入一张图,经过神经网络,直接输出一个标签。特征提取和分类一步到位,避免了手工提取特征或者人工规则,从原始数据中自动化地去提取特征,是一种端到端(end-to-end)的学习。相较于传统的方法,深度学习能够学习到更高效的特征与模式。

暂无评论
暂无评论~