Topo2Seq:突破DETR局限,车道拓扑推理新高度

news2025/3/17 7:17:35

本篇针对先前DETR类框架远距离感知较弱且车道端点不对齐问题,提出了一种通过拓扑序列学习来增强拓扑推理的新方法Topo2Seq。在OpenLane-V2数据集上的实验结果表明,Topo2Seq在拓扑推理方面实现了最先进的性能。

©️【深蓝AI】编译

论文标题:Divide and Merge: Motion and Semantic Learning in End-to-End Autonomous Driving

论文作者:Yinzhe Shen, Ömer Şahin Taş, Kaiwen Wang, Royden Wagner, Christoph Stiller

论文地址:https://arxiv.org/pdf/2502.07631

01 摘要

从透视图(PV)中提取车道拓扑对于自动驾驶的规划和控制是至关重要的。该方法为自动驾驶汽车提取潜在的可行驶轨迹,而不依赖于高精(HD)地图。然而,DETR类框架的无序性和弱远距离感知可能会导致线段端点错位和拓扑预测能力有限等问题。受到语言模型中上下文关系学习的启发,道路的连接关系可以表征为显式的拓扑序列。本文引入了Topo2Seq,这是一种通过拓扑序列学习来增强拓扑推理的新方法。Topo2Seq的核心概念为车道线段解码器和拓扑序列解码器之间随机顺序的提示到序列学习。双解码器分支同时学习从有向无环图(DAG)和包含几何信息的车道图中提取的车道拓扑序列。随机顺序的提示到序列学习从车道线段解码器预测的车道图中提取无序关键点,然后将它们传入拓扑序列解码器的提示设计中,以重建有序且完整的车道图。通过这种方式,车道线段解码器从拓扑序列解码器中学习到强大的远距离感知和准确的拓扑推理。值得注意的是,拓扑序列解码器仅在训练过程中引入,不影响推理效率。在OpenLane-V2数据集上的实验评估证明了Topo2Seq在拓扑推理方面的最新性能。

02 介绍

近年来,自动驾驶中的车道拓扑推理越来越受关注。这是因为自动驾驶传统上依赖于离线的高精地图以提供路径信息。然而,道路条件可能不确定且具有挑战性,过时的在线高精地图对于自动驾驶汽车是灾难性的。仅仅依靠这些地图不足以满足高级自动驾驶的更高要求,例如L4和L5级别。

为了解决这些问题,自动驾驶汽车需要执行车道拓扑推理,这涉及从全景图像中实时感知周围道路流,并且提取中心线的几何位置及其拓扑关系。因此,车道拓扑推理对于端到端自动驾驶中的轨迹预测和规划是至关重要的。

早期工作着重于表征地图元素。语义地图学习方法为每个像素分配标签以标记地图元素。然而,不一致的语义预测和不足的实例感知可能会导致自动驾驶系统规划的混乱。此外,逐像素后处理在拓扑提取方面经常失败,并且造成耗时问题。作为一种升级的替代方案,矢量化地图学习方法采用可学习的查询来提取地图元素,它在DETR类框架中矢量化线条和多边形。这些方法提供了较高的检测精度和较快的推理速度。然而,它们在地图学习中缺乏全面的轨迹检测,例如车道方向和连通性。为了解决这些问题,关于车道拓扑推理的最新研究将中心线拓扑转化为车道图。这些端到端的框架旨在预测以有序点表征的线段和由邻接矩阵表示的拓扑关系。然而,这些方法没有显式建模车道之间的关系,而是依赖于MLPs来确定查询之间的连接概率。由于DETR类框架中的弱远距离感知和无序检测特性,简单的MLPs难以有效地学习车道之间的连通性。因此,现有方法存在若干局限性,如图1(a)所示。

▲图1| 先前方法与Topo2Seq的比较©️【深蓝AI】编译

在语言模型中,序列学习可以捕获长文本中的上下文关系,同时维持正确的顺序。受到语言模型的启发,将车道图表示为序列可以显式地捕获车道的几何位置和拓扑关系。然而,在序列到序列的方法中,自回归模型依赖于先验预测来生成后续输出,由于需要重复推理,因此效率相当低下。

本文引入了Topo2Seq,这是一种通过拓扑序列学习来增强拓扑推理的新方法。Topo2Seq利用了双解码器架构,包括车道线段解码器和拓扑序列解码器。拓扑序列解码器预测从有向无环图(DAG)中提取的车道拓扑序列,而车道线段解码器提取包含几何信息的车道图。然后,采用随机顺序的提示到序列学习,从车道线段解码器预测的车道图中提取无序关键点。这些关键点被传入拓扑序列解码器的提示设计中,从而能够重建有序且完整的车道图。

通过这种方式,车道线段解码器通过共享的解码器从拓扑序列解码器中获得强大的远距离感知和精确的拓扑推理,如图1(b)所示。值得注意的是,拓扑序列解码器仅在训练过程中引入,而不会影响推理效率。

本文的贡献总结如下:

1)本文提出了Topo2Seq,这是一种具有双解码器训练的新框架,它通过利用拓扑序列学习来增强拓扑推理;

2)本文显式地将车道图建模为序列,以捕获车道的远距离几何位置和拓扑关系;

3)本文引入了一种随机顺序的提示到序列学习机制,它使车道线段解码器能够从拓扑序列解码器中获得鲁棒的远距离感知和准确的拓扑推理能力;

4)本文在多视图拓扑推理基准OpenLane-V2上进行了大量实验,结果证明了Topo2Seq在拓扑推理方面的最先进性能。

03 方法

3.1. 问题表述

给定通过车辆环视相机获取的多视图图像 L,Topo2Seq 的目标是感知中心线及其拓扑结构。中心线被表示为一组有序的 3D 点 L = [k^0, k^1, \dots, k^{n-1}],其中 n 设置为 10,并且每个 3D 点表示为k_i = (x, y, z) \in \mathbb{R}^3。拓扑描述为一个邻接矩阵A \in \mathbb{R}^{m \times m},其中 m 为检测到的中心线数量。在该矩阵中,A_{ij} = 1表示车道 Li 的终点与车道 Lj 的起点对齐。然而,实现网络预测的连接车道的起点和终点的精确对齐通常具有挑战性。

3.2. 概述

如图2所示,Topo2Seq采用多视图图像作为输入。

▲图2| Topo2Seq的框架©️【深蓝AI】编译

本文利用图像主干网络、FPN 和 BEVFormer 将这些多视图图像编码为 BEV 特征F \in \mathbb{R}^{H \times W \times C}。车道线段解码器通过自注意力和与 BEV 特征F的交叉注意力来更新可学习的查询Q^l。更新后的查询被传入预测头进行车道分割。本文从预测车道图的起点和终点中提取关键点作为关键点提示 Y^k。真值 (GT) 车道图被转换为边序列Y^l。边序列与关键点提示 Y^k连接,并且被传入拓扑序列解码器中,其中它们与 BEV 特征F交互。预测序列由目标边序列监督,并且去量化为车道图。在测试过程中,拓扑序列解码器没有执行推理,而车道线段解码器预测了中心线和邻接矩阵。

车道线段解码器

本文将一组实例级查询表示为\{Q^l\}_{j=1}^{N_L},其中N_L为预设的查询数量,通常大于车道图中的中心线数量。查询被传入车道线段解码器中,以获得更新的查询:

\hat{Q}^l = \text{LaneDec}(F, Q^l)

其中,LaneDec 表示车道线段解码器。在每个车道线段解码器层内,车道查询通过自注意力模块、车道注意力模块和前馈网络来顺序更新。

本文采用 MLPs 来生成车道 L 和拓扑 A 的 3D 坐标。车道之间的拓扑由下式预测:

\hat{Q}^l_{emb_1}, \hat{Q}^l_{emb_2} = \text{MLP}(\hat{Q}^l), \text{MLP}(\hat{Q}^l)

A = \text{Sigmoid}(\text{MLP}(\text{Concat}(\hat{Q}^l_{emb_1}, \hat{Q}^l_{emb_2})))

其中,MLPs 相互独立。为了提供车道图更细节的表示,不仅可以预测拓扑结构,还可以预测左右车道边界的偏移、这些边界的类型和人行横道。

拓扑序列解码器

本文构建了拓扑序列解码器。每个解码器层包含一个自注意力模块、一个交叉注意力模块和一个前馈网络。自注意力模块中的因果掩码维持了自回归性质。整个结构在提取和细化 BEV 特征方面具有若干个优势:

(1) 增强的特征细化:该模型可以根据序列选择性地着重于 BEV 特征的相关区域。这种具有针对性的注意力有助于通过突出对准确重建车道图或者理解场景关键的区域来细化 BEV 特征;

(2) 改进的远距离依赖关系:拓扑序列解码器增强了对远距离关键点之间依赖关系的捕获。它将关键点之间的上下文信息加入到车道线段解码器中,使其能够预测更对齐的车道线段端点。

(3) 上下文集成:通过着重于特定的关键点提示,该模型可以降低 BEV 特征中不相关或者冗余信息的影响。这导致特征提取更高效,并且可能会减少最终预测结果中的噪声。训练拓扑序列解码器的输出结果可以表示为:

\hat{y}^E = \text{TopoSeqDec}(F, \text{Concat}(y^K, y^E))

其中,\text{TopoSeqDec}表示拓扑序列解码器,\hat{y}^E表示预测的边序列。

序列结构

本文遵循 RoadNet,将有向无环图 (DAG) 转换为边序列。车道上的每个关键点都可以作为起点或者终点,每条边可以表示为六个整数:

\hat{y}^E = [\text{int}(x_i), \text{int}(y_i), \text{cls}, \text{con}, \text{int}(bx_i), \text{int}(by_i)]

其中,前两个整数\text{int}(x_i)\text{int}(y_i)表示关键点的离散坐标。\text{cls}表示关键点的类别,可以为 Ancestor、Lineal、Offshoot 或者 Clone。con 表示关键点的连接。如果 cls 为 Ancestor 或者 Lineal,则 con 设置为 0。否则,con 被设置为父关键点的索引。由于三次贝塞尔曲线可以有效地表示两个关键点之间车道的轨迹,因此最后两个整数 int(bxi)、int(byi) 表示贝塞尔曲线的中间控制点。为了确定关键点的唯一顺序,本文选择 BEV 透视图右前方的位置作为起点,并且使用深度优先搜索进行排序。

在训练过程中,本文构建了两种类型的序列,如图 3 所示。其中,输入序列和目标序列用于监督。

▲图3| 输入序列和目标序列©️【深蓝AI】编译

输入序列以 Start token 为开始,随后是关键点提示,然后为 GT 边,剩余长度由噪声边填充。关键点提示y_k包括所有预测边以及噪声边的关键点。值得注意的是,所有预测边的关键点都是无序的,并且与边序列中的坐标顺序不对应。最后,关键点提示以 EOK token 结束。在目标序列中,关键点提示的位置由 pad tokens 填充,随后是真值边和噪声边,最后以 EOS token结束。

随机顺序的提示到序列学习

车道线段解码器预测的车道往往端点不对齐。表示两条车道需要四个端点,这可能会出现不同车道端点之间几何不一致的现象。相比之下,边序列仅使用三个点来表示具有完美对齐端点的两条相邻车道线,从而提高了自动驾驶的轨迹理解能力。为了利用序列到序列学习的远距离理解和顺序关系的能力,本文在关键点提示下促进了车道线段解码器和序列拓扑解码器之间的交互。 基于车道线段解码器的预测结果,本文根据置信度从高到低的顺序对预测的车道进行排序,并且使用预测的邻接矩阵滤除每条预测车道中任何重复的关键点:

y_k^E \leftarrow \begin{cases} k_{j}^{n-1} & A_{ij} = 1 \\ k_{j}^{0} k_{j}^{n-1} & A_{ij} = 0 \end{cases}

其中,关键点的坐标是离散的。随机顺序的提示到序列学习的目标表述如下:

\max \sum_{i=1}^{L} w_i \log P(y_i^E | \text{Concat}(y_i^E, y_i^E), \mathcal{F})

其中,w_i表示类别权重,y_i^E表示y_i^E之前的 tokens,y^E为预测的目标序列。输入关键点提示相对于边序列是无序的,这使得序列拓扑解码器能够引导网络推理离散关键点之间的关系。通过这种方式,网络推理了无序关键点提示之间的正确关联。此外,该过程促进网络细化高置信度的关键点位置,减少重复预测并且在 BEV 域中对齐端点。通过增强两个解码器之间的交互,该方法间接解决了基于序列到序列学习捕获远距离关系的局限性。

损失函数

Topo2Seq 中的整体损失函数定义如下:

L = \alpha_1 L_1 + \alpha_2 L_{\text{cls}} + \alpha_3 L_{\text{seg}} + \alpha_4 L_{\text{lt}} + \alpha_5 L_{\text{top}} + \alpha_6 L_{\text{seq}}

其中,L1 表示 L1 损失。L_{\text{cls}}表示焦点损失,用于车道分类。L_{\text{seg}} 包括交叉熵损失和 diss 损失。L_{\text{lt}}表示交叉熵损失,用于分类左右车道类型。L_{\text{top}}为焦点损失,用于监督预测邻接矩阵 A 和真值邻接矩阵 A¯ 之间的关系信息。Lseq 表示最大似然损失,它监督拓扑序列解码器。每个损失的权重表示为 α1,α2,α3,α4,α5 和 α6。

04 实验

4.1. 数据集

本文在OpenLane-V2数据集上评估了Topo2Seq模型,OpenLane-V2是一个最近发布的开源数据集,专门用于自动驾驶中的拓扑推理。OpenLane-V2来源于Argoverse2和nuScenes数据集。这些数据涵盖了全球各地并且包括具有挑战性的场景,例如白天和夜间、晴天和雨天,以及城市和郊区环境。本文主要在subsetA上评估Topo2Seq,它由每帧7张周围图像组成。训练集包含约27000帧,验证集包含约4800帧。

4.2. 实现细节

本文使用在 ImageNet 上预训练的 ResNet-50 作为图像骨干网络。FPN 用于获得多尺度特征。BEVFormer 将环视图像的多尺度特征编码为 BEV 特征。与最近的工作一致,BEV 感知范围设置为 x 轴 [−50.0m,+50.0m],y 轴 [−25.0m,+25.0m]。BEV 网格配置为 200×100。车道线段解码器的配置遵循 LaneSegNet 的配置。它由 6 层组成,查询数量设置为 200。该模型实现了 14.7 FPS 的帧率。输入序列和目标序列都由 802 个 tokens 组成,包括 201-token 关键点提示和 601-token 边序列。由于资源限制,本文在 4 个 NVIDIA A100 GPUs 上训练网络,总的 batch size 为 4。本文采用 AdamW 作为优化器。α1、α2、α3、α4、α5 和 α6 的值分别设置为 0.025、1.5、3.0、0.1、5.0 和 1.0。

本文评估了三种训练策略:

策略 1:使用随机排序的 GT 关键点作为关键点提示,对网络进行 24 个周期的训练,以获得稳定的输出,然后再进行 24 个周期的训练,着重于两个解码器之间的交互。

策略 2:仅对两个解码器之间的交互进行 24 个周期的训练。

策略 3:使用随机排序的 GT 关键点作为关键点提示,训练 12 个周期以获得稳定的输出,然后再进行 12 个周期的解码器交互训练。

4.3. 指标

本文在两种类型的任务上评估Topo2Seq:车道线段感知和中心线感知。对于车道线段感知,本文使用mAP、APls、APped和TOPlsls。对于中心线感知,我们使用DETl、TOPll以及DETl和TOPll之间重新定义的OLS。值得注意的是,在OpenLane-V2基准测试中,中心线和车道线段的标签未对齐,并且由于车道线段的数量较多,检测车道线段的标签更具挑战性。

4.4. 主要结果

本文首先在OpenLane-V2基准上比较Topo2Seq与最先进的方法。在OpenLane-V2 subsetA上的结果如表格1所示。

▲表1| 在OpenLane-V2基准上与最先进方法的比较车道线段感知©️【深蓝AI】编译

最先进方法的结果主要来自它们各自的论文。当训练24个周期(12个周期实现稳定输出,随后是12个周期的解码器交互训练)时,Topo2Seq在APls和TOPlsls上分别比LaneSegNet高出1.8%和1.5%。通过使用ResNet-50在总共48个周期内进行两阶段训练,Topo2Seq的mAP和TOPlsls分别达到了37.7%和29.9%。在相同的配置下,Topo2Seq在APls和TOPlsls上分别比LaneSegNet高出2.0%和2.6%。

在OpenLane-V2 subsetA上的中心线感知结果如表格2所示。

▲表2| 在OpenLane-V2基准上与最先进的方法比较中心线感知©️【深蓝AI】编译

在相同的24个训练周期下,Topo2Seq在OLS∗上相比于LaneSegNet提高了2.0%,在DET1上提高了2.4%,在TOPll上提高了1.7%。与使用相同48个训练周期的TopoMLP和LaneSegNet相比,Topo2Seq在DET1上比TopoMLP提高了4.2%,在OLS*上比LaneSegNet提高了2.5%,在DET1上提高了2.4%,在TOPll上提高了2.7%。这些结果表明,在训练过程中引入额外的序列解码器交互可以使网络在拓扑推理方面实现显著的改进。

4.5. 消融研究

本文研究了Topo2Seq中的每个重要设计。消融研究如表格3所示。

▲表3| 在OpenLane-V2基准上的消融研究©️【深蓝AI】编译

当将有序的GT关键点提示引入序列学习时,网络仅能学习关键点之间的轨迹,而不能推断它们之间的关系。这解释了为什么索引2的结果优于索引1,在TOPlsls上提高了2.7%。比较索引2和索引3的结果,可以看出,由于车道线段解码器的输出结果不准确且不稳定,过早与拓扑序列解码器交互会导致比使用随机排序的GT关键点作为关键点提示更差的性能。然而,与索引1中的结果相比,该方法在拓扑推理方面仍然略有改进。从索引2和索引4的结果可以看出,当将车道线段解码器的预测关键点引入到关键点提示中以实现两个解码器之间额外24个周期的交互训练时,mAP提高了2.8%,TOP提高了2.1%。这一结果表明,序列学习可以进一步增强车道线段解码器感兴趣区域中BEV特征的提取,特别是增强远距离感知和拓扑推理。

4.6. 定性结果

如图4所示,本文将LaneSegNet和Topo2Seq生成的车道图可视化。

▲图4| 定性结果©️【深蓝AI】编译

相比之下,Topo2Seq生成了具有端点对齐的高质量车道图,其远距离感知更可靠且拓扑关系更准确。这归功于与序列拓扑交互所继承的优势。

05 总结

本文提出了拓扑序列学习增强的拓扑推理方法Topo2Seq。本文从语言模型中获得灵感,通过序列到序列学习解决了基于DETR的拓扑推理框架中固有的远距离感知和关系建模的局限性。本文通过结合随机顺序的提示到序列学习,增强了拓扑序列解码器和车道线段解码器之间的交互。该方法使Topo2Seq能够生成具有更精确端点对齐和准确拓扑的车道图。在OpenLane-V2数据集上的实验结果表明,Topo2Seq在拓扑推理方面实现了最先进的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序地址空间:深度解析其结构,原理与在计算机系统中的应用价值

目录 1. 程序地址空间回顾 1.1 虚拟地址 2.进程地址空间 分页&虚拟地址空间 引入新概念 解释上述关于同样的地址不同的变量值问题 回答一个历史遗留问题 ​编辑 3.虚拟内存管理 虚拟内存是什么 虚拟地址空间区域划分 为什么要有虚拟地址空间 1. 程序地址空间回…

火语言RPA--列表项内容设置

【组件功能】:设置列表项内容 配置预览 配置说明 索引项位置支持T或# 列表对象待修改内容的索引位置。 内容值 支持T或# 默认FLOW输入项 修改的内容值。 示例 对象修改 描述 列表对象索引为0的数据修改为A字符串,并打印修改结果。 配置 输出结…

1.Qt SDK 的下载和安装

1Qt 下载官⽹: http://download.qt.io/archive/qt/ 2版本自行选择 3下载对应版本的.exe文件 4下载包下载完成 5双击.exe文件,默认下一步,要注册一个qt的账户 6记住程序安装的位置,后面要配置环境变量 7勾3个(组件自行…

嵌入式系统中的Board Support Package (BSP)详解:以Xilinx Zynq为例

嵌入式系统中的Board Support Package (BSP)详解:以Xilinx Zynq为例 引言 在嵌入式系统开发中,硬件与软件的无缝集成至关重要。Board Support Package (BSP) 作为连接硬件和操作系统的桥梁,在这一过程中扮演着核心角色。本文将深入探讨BSP的…

Vue 生命周期详解:从创建到销毁的全过程

Vue.js 是一个流行的前端框架,它通过组件化的方式帮助开发者构建用户界面。在 Vue 中,每个组件实例都有其生命周期,从创建、挂载、更新到销毁,Vue 提供了一系列的生命周期钩子函数,允许我们在组件的不同阶段执行自定义…

计算机基础:二进制基础12,十进制数转换为十六进制

专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:计算机基础:二进制基础11,十六进制的位基…

SpringCloud系列教程(十四):Sentinel持久化

Sentinel之前已经搭建和应用成功了,但是它有一个很大的缺点就是官方没有提供持久化的方案,从项目源码上看感觉这款工具也没有完成的太好,所以需要我们去对它进行二次开发。要补充的功能大概如下: 1、将Sentinel接入nacos中&#…

Slider,InputField,Scroll View,Scrollbar及Layout组件

Slider组件 Fill Rect:填充滑动条选中区域的背景图部分 Handle Rect:滑动条的球 Direction:滑动条的滑动方向 Min Value:起始位置的数值(浮点数) Max Value:结束位置的数值(浮点数) Whole Numbers:必须为整数(布尔…

ollama注册自定义模型(GGUF格式)

文章目录 ollama注册自定义模型(GGUF格式)下载模型注册模型(GGUF格式) ollama注册自定义模型(GGUF格式) 需要全程开启ollama nohup ollama serve > ollama.log 2>&1 &需要注意,尽管手动下载的GGUF格式模…

HarmonyOS NEXT 声明式UI语法学习笔记-创建自定义组件

基础语法概述 ArkTS的基本组成 装饰器:用于装饰类、结构、方法以及变量,并赋予其特殊含义。如上图都是装饰器,Component表示自定义组件,Entry表示表示自定义组件的入口组件,State表示组件中的状态变量,当状…

97.HarmonyOS NEXT跑马灯组件教程:基础概念与架构设计

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT跑马灯组件教程:基础概念与架构设计 1. 跑马灯组件概述 跑马灯(Marquee)是一种常见的UI组件&a…

81.HarmonyOS NEXT 状态管理与响应式编程:@Observed深度解析

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! HarmonyOS NEXT 状态管理与响应式编程:Observed深度解析 文章目录 HarmonyOS NEXT 状态管理与响应式编程:Observed深度解析…

股指期货有卖不出去的时候吗?

在股指期货的交易世界里,很多人都有这样的疑问:股指期货会不会有卖不出去的时候呢?答案是会的,下面咱们就来详细唠唠为啥会出现这种情况。 市场极端行情下难以卖出 1.跌停限制:股指期货和股票一样,也有涨…

开发、科研、日常办公工具汇总(自用,持续更新)

主要记录汇总一下自己平常会用到的网站工具,方便查阅。 update:2025/2/11(开发网站补一下) update:2025/2/21(补充一些AI工具,刚好在做AI视频相关工作) update:2025/3/7&…

HTML5 drag API实现列表拖拽排序

拖拽API(Drag and Drop API)是HTML5提供的一组功能,使得在网页上实现拖放操作变得更加简单和强大。这个API允许开发者为网页元素添加拖拽功能,用户可以通过鼠标将元素拖动并放置到指定的目标区域。 事件类型 dragstart&#xff1…

改变一生的思维模型【11】升维

升维思维模型:突破认知局限的破局法则 一、定义与核心逻辑 升维思维是通过增加分析维度,将问题投射到更高认知层次寻找解决方案的思考方式。其本质是跳出原有竞争维度,在更广阔的空间重构游戏规则。核心逻辑在于:当低维战场陷入…

【动手学深度学习】#2线性神经网络

主要参考学习资料: 《动手学深度学习》阿斯顿张 等 著 【动手学深度学习 PyTorch版】哔哩哔哩跟李牧学AI 目录 2.1 线性回归2.1.1 线性回归的基本元素线性模型损失函数解析解随机梯度下降 2.1.3 最大似然估计 2.2 线性回归从零开始实现2.2.1 生成数据集2.2.2 读取数…

计算机网络——NAT

一、什么是NAT? NAT(Network Address Translation,网络地址转换) 是一种将 私有IP地址 与 公有IP地址 相互映射的技术,主要用于解决IPv4地址不足的问题。它像一名“翻译官”,在数据包经过路由器或防火墙时…

同一子网通信

添加交换机后的通信流程 1. 同一子网内(使用交换机) 判断是否在同一子网: 主机A通过子网掩码判断主机B的IP地址是否属于同一子网。若在同一子网,主机A需要通过ARP获取主机B的MAC地址。 ARP请求(广播)&…

IntelliJ IDEA 快捷键系列:重命名快捷键详解

目录 引言一、默认重命名快捷键1. Windows 系统‌2. Mac 系统‌ 二、操作步骤与技巧1. 精准选择重命名范围‌2. 智能过滤无关内容‌ 三、总结 引言 在代码重构中,‌重命名变量、类、方法‌ 是最常用的操作之一。正确使用快捷键可以极大提升开发效率。本文针对 ‌Ma…