【论文笔记】CNN2GNN: How to Bridge CNN with GNN

2024-05-14 07:52

本文主要是介绍【论文笔记】CNN2GNN: How to Bridge CNN with GNN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Abstract

CNN在视觉任务上表现优异,通常堆叠大量卷积核来提高训练表现;
GNN成功用几个图神经层探索了图数据之间的潜在拓扑关系。
由于缺乏图结构,在非图数据上无法使用GNN,在大规模场景下推理延迟较高。
提出问题:如何桥接这两个异构网络?

本文提出了一个新颖的CNN2GNN框架,通过蒸馏将CNN和GNN统一在一起。

  1. 设计可微稀疏图学习模块(differentiable sparse graph learning module)作为网络的头部,动态学习图以进行归纳学习。
  2. 引入基于响应的蒸馏(response-based distillation),将知识从CNN转移到GNN,并桥接这两个异构网络。

1 Introduction

CNN通常会堆叠大量的卷积神经层来提高表示能力。但是庞大的网络需要大量的资源用于存储和优化。这些线性投影可能会限制提取多类型表示的能力,例如,CNN通常专注于学习样本内部表示,但忽略了提取实例集之间的潜在拓扑关系。
尽管知识蒸馏、迁移学习、网络剪枝可以压缩大型CNN,但压缩后仍然是基于线性投影,性能会下降。

图神经网络(GNN, graph neural network)在引文网络、社交网络、生物分子网络结构数据集等图场景上取得了优异的性能。
GNN是双线性模型,采取两个线性因子,投影矩阵 W \mathbf{W} W和图相关矩阵 P \mathbf{P} P,将数据投影到深层子空间并聚合来自邻居的信息。它可以在几个图神经层内提取图节点之间的潜在拓扑关系,并比CNN占据更少的计算资源。这两个线性投影因子让有限层的GNN能从数据中学习多种类型的信息,如在图像相关任务中同时提取样本内部表示和潜在的拓扑关系。

![[Pasted image 20240427145952.png]]

图1:CNN和GNN的优点。
1(a):CNN可以提取图像中动物的躯干和轮廓等样本内的表示。
1(b):GNN学习探索社交图数据中结点之间的关系。

线性因子使CNN需要堆叠大量神经元层,从而制造很大的开销。
图依赖性和高推理延迟等障碍限制了GNN直接扩展非图数据。
提出问题:*如何桥接这两个异构网络?

本文发现基于响应的异构蒸馏可以将知识从CNN蒸馏到GNN并回答这个问题。
为了消除CNN和GNN之间的障碍,设计了一个可微稀疏图学习模块作为GNN的头部。由于可微性,可以通过梯度下降进行训练并学习稀疏图以进行归纳学习。
随后,借助该头和异构蒸馏,蒸馏后的“增强型”GNN可以同时归纳学习单个实例的样本内表示,以及实例集之间的拓扑关系。

值得注意的是,Mini-ImageNet上经过蒸馏的“增强型”两层GNN的性能远高于包含数十层的CNN(如ResNet152)。

本文核心贡献:

  • 为了消除CNN和GNN之间的障碍,设计了一个图头(graph head)。它可以在非图数据上通过梯度下降归纳学习可微稀疏图。
  • 根据基于响应的蒸馏,提出了一个全新的CNN2GNN框架,从而从大型CNN到小型GNN进行蒸馏,并桥接两个异构网络。
  • 蒸馏后的“增强型”GNN可以同时归纳提取单个实例的样本内表示以及实例之间的拓扑关系。

3 Method

为了桥接CNN和GNN,本文提出了全新的CNN2GNN异构蒸馏架构。
它设计了一个深度图学习头部,根据下游任务可微地学习具有可操纵稀疏性的图,并消除了CNN和GNN之间的障碍。通过响应式蒸馏,蒸馏后的“增强”GNN将归纳地同时提取单个实例的样本内部表示和实例之间的拓扑关系。
架构图如图2所示。

![[Pasted image 20240427145922.png]]

图2:CNN2GNN模型的架构图。
2(a):训练过程。CNN教师和GNN学生分别用于学习样本内部表示和潜在的拓扑关系。 L student \mathcal{L}_\text{student} Lstudent可以连接这两个异构网络,并将知识从CNN传递到GNN。
2(b)和2©分别是采用机制1和机制2的归纳推断。
2(b):将一个测试实例与一个训练批次级联以进行预测。
2©:选择训练集中最相似的样本,为评估测试样本批次级别学习一个近似的图结构。

3.1 Motivation

在全连接层和卷积算子的辅助下,卷积神经网络(rCNNs)可以将图像实例投影到深度子空间中,以学习样本内部表示,并在图像相关任务中取得了出色的性能。其中,全连接层可以被公式化为线性模型,如下所示:
Linear ( x ) = w T x (1) \text{Linear}(x)=w^Tx\tag{1} Linear(x)=wTx(1)
其中 w w w是可学习的参数。同时,卷积算子在通道之间共享权重,因此它也可以被重新表述为类似于im2col的线性变换。因此,CNN通常堆叠数十个这些操作,并包含大量参数用于优化以提高性能,这可能需要大量的资源进行优化和存储。此外,正是线性投影限制了CNN探索不同信息,比如样本之间的关系(相似性或差异)。

最近,图神经网络(GNNs)由于图依赖性已经展现出优秀的表征能力,能够学习实例之间的潜在信息。
给定一个图 A A A,一个GNN层为:
Z = f g ( A , X , W ) = ϕ ( P X W ) (2) Z=f_g(A,X,W)=\phi(PXW)\tag{2} Z=fg(A,X,W)=ϕ(PXW)(2)
其中 W W W为投影参数, P = ϕ ( A ) P=\phi(A) P=ϕ(A) A A A的函数, ϕ ( A ) = D − 1 2 A D − 1 2 \phi(A)=D^{-\frac{1}{2}}AD^{-\frac{1}{2}} ϕ(A)=D21AD21 D D D A A A的度矩阵(degree matrix)。
需要注意的是,如果激活函数 ϕ ( ⋅ ) \phi(\cdot) ϕ()是ReLU,从Eq.2生成的深层特征可以线性地受到多个因素的影响,包括图因子 P P P和投影因子 W W W。其中, W W W的作用类似于CNN中的 w w w,用于学习单个实例的深层信息,而 P = ϕ ( A ) P = \phi(A) P=ϕ(A)将从邻居中聚合信息,提取样本之间的潜在结构信息。这表明,与CNN中的线性变换(如全连接和im2col)相比,GNN作为双线性模型可以用较少的神经层表示更多信息。

受到GNN引入更多线性因子并在特征空间中表示更多信息的双线性特性的启发,本文重新思考了CNN和GNN之间的实质差异。总的来说,本文提出的核心问题是如何连接CNN和GNN这两个异构网络?

不幸的是,处理这个问题有两个关键问题:

  • 图无法被访问
  • 图的不可依赖性
    具体来说,图因子不是非图数据的先验信息,因此GNN可能无法直接应用于图像相关的任务。
    由于图依赖性的限制,GNN通常采用传递学习(transductive learning)进行训练,并且具有较高的推理延迟,如 O ( R l ) O(R^l) O(Rl),其中 R R R是图度, I I I是层数,在 R R R很大的大场景下扩展是不切实际的。

本文3.2节首先处理这两个核心问题,在3.3节中详细阐述核心问题。

3.2 Differentiable Sparse Graph Head

为了连接这两个异构网络,一个自然的想法是用GNN模型替代CNN,并通过引入单个神经层中的两个线性因子来提高表征能力。不幸的是,由于图结构对于非图数据集(如图像)不是直接可访问的,因此GNN不能直接扩展到图像数据上。
此外,由于递归地从样本邻居中聚合信息,GNN需要使用传递学习进行训练,并且推断延迟随着图的度数呈指数增长,例如 O ( R l ) O(R^l) O(Rl),其中 R R R是图的度数, l l l是层数。在现实场景中,当 R R R很大时,传递学习策略会变得不切实际。因此,首先设计了一个可微的稀疏图头部,从非图数据中归纳地学习图

3.2.1 Sparse Graph Learning

给定一个非图数据集 X \mathcal{X} X,具有 n n n个样本,单个样本 x x x被视为图中的一个节点 v v v。此外,将单个样本 v i v_i vi的底层图结构视为条件概率 p ( v ∣ v i ) p(v|v_i) p(vvi),将边视为该分布 p ( v ∣ v i ) p(v|v_i) p(vvi)的结果。
图的生成等价于计算 p ( v ∣ v i ) p(v|v_i) p(vvi)
p i j = ( ⟨ v i , v s + 1 ⟩ − ⟨ v i , v j ⟩ ∑ j = 1 s ⟨ v i , v s + 1 ⟩ − ⟨ v i , v j ⟩ ) + (3) p_{ij}=(\frac{\langle v_i,v^{s+1}\rangle-\langle v_i,v_j\rangle}{\sum_{j=1}^s\langle v_i,v^{s+1}\rangle-\langle v_i,v_j\rangle})_+\tag{3} pij=(j=1svi,vs+1vi,vjvi,vs+1vi,vj)+(3)
其中 s s s是稀疏度, ( ⋅ ) + (\cdot)_+ ()+代表 max ⁡ ( ⋅ , 0 ) \max(\cdot, 0) max(,0) p ( ⋅ ∣ v i ) p(\cdot|v_i) p(vi)简写为 p i p_i pi。Eq.3中, ⟨ v i , v j ⟩ \langle v_i,v_j\rangle vi,vj v j v_j vj v i v_i vi的距离, ⟨ v i , v ⋅ ⟩ \langle v_i,v^\cdot\rangle vi,v表示到 v i v_i vi的第 ⋅ \cdot 短距离。
无向稀疏图构造为 A i j = ( p ( v j ∣ v i ) + p ( v i ∣ v j ) ) / 2 A_{ij}=(p(v_j|v_i)+p(v_i|v_j))/2 Aij=(p(vjvi)+p(vivj))/2
Eq.3可以显式地控制学习图的稀疏性并节省调节成本。

定理1
给定一个样本集 V = { v i ∣ n = 1 , ⋯ , n } \mathcal{V}=\{v_i|n=1,\cdots,n\} V={vin=1,,n},条件概率 p ( v ∣ v i ) p(v|v_i) p(vvi)可以公式化写作:
min ⁡ p i T 1 n = 1. p i ≥ 0 ∑ i = 1 n E v j ∼ p ( ⋅ ∣ v i ) ⟨ v i , v j ⟩ + γ i dist ( p i , π ) (5) \min_{p_i^T1_n=1.p_i\geq 0}\sum_{i=1}^n\mathbb{E}_{v_j\sim p(\cdot|v_i)}\langle v_i,v_j\rangle +\gamma_i\text{dist}(p_i,\pi)\tag{5} piT1n=1.pi0mini=1nEvjp(vi)vi,vj+γidist(pi,π)(5)
其中 π \pi π是通用扰动, dist ( ⋅ , ⋅ ) \text{dist}(\cdot,\cdot) dist(,)代表 l 2 l_2 l2范式距离, γ i \gamma_i γi表示权衡参数,Eq.3在该问题中与上式等价。

定理1表明,Eq.3是 p ( v ∣ v i ) p(v|v_i) p(vvi)的稀疏闭式解。
值得注意的是,Eq.5采用 l 2 l2 l2范数作为正则化项。与非凸约束的 l 0 l0 l0范数和 l 1 l1 l1范数的正则化相比,它不仅防止了平凡解,如当 i ≠ j i\neq j i=j时, p ( v i ∣ v i ) = 1 p(v_i|v_i)=1 p(vivi)=1 p ( v i ∣ v j ) = 0 p(v_i|v_j)=0 p(vivj)=0,而且保证了可操作的稀疏性。

此外,考虑到理想的图可以在优化过程中动态地、可微地学习,以包含更多下游任务信息,利用一个深度神经网络作为图生成头部 f ⋆ g ​ ( ⋅ ) f^g_\star​(⋅) fg()来拟合 ⟨ v i , v j ⟩ ⟨v_i, v_j⟩ vi,vj并将与GNN一起进行联合优化。

决策层有 n n n个神经元,每个神经元表示与 X \mathcal{X} X中相应样本的差异,其中 n n n是样本总数。基于这一点,距离通过 ⟨ v i , X ⟩ = f ⋆ g ( x i ) \langle v_i,\mathcal{X}\rangle=f^g_\star(x_i) vi,X=fg(xi)进行拟合,并通过Eq.3计算稀疏图。同时,正如图3所示,Eq.3可以准确地学习STL-10中的关系。

![[Pasted image 20240428194939.png]]

图3:可微稀疏图头部在STL-10数据集上学习到的拓扑关系可视化。稀疏度 s s s为3。第一行和第二行显示图头部能够准确地学习同一类别实例之间的关系。底部行表明不同类别的实例将被分配一个小的相似度,甚至为0。

3.2.2 Inductive Learning

GNN可以通过归纳学习进行训练,动态获得图结构。将数据集 X \mathcal{X} X拆分成具有 n train n_\text{train} ntrain个实例的训练指标集 I train \mathcal{I}_\text{train} Itrain n test n_\text{test} ntest个实例的测试指标集 I test \mathcal{I}_\text{test} Itest。为稀疏图生成函数 f ⋆ g ( x i ) f_\star^g(x_i) fg(xi)配了 n train n_\text{train} ntrain个神经元。

3.2.2.1 Training Stage

对于一个训练批量 B ⊆ I train \mathcal{B}\subseteq\mathcal{I}_\text{train} BItrain s s s-稀疏相似度分布可以写为:
p i j = ( ⟨ v i , v s + 1 ⟩ − ⟨ v i , v j ⟩ ∑ j = 1 s ⟨ v i , v s + 1 − ⟨ v i , v j ⟩ ) + , i ∈ B , j ∈ I train (4) p_{ij}=(\frac{\langle v_i,v^{s+1}\rangle-\langle v_i,v_j\rangle}{\sum_{j=1}^s\langle v_i,v^{s+1}-\langle v_i,v_j\rangle})_+,i\in\mathcal{B},j\in\mathcal{I}_\text{train}\tag{4} pij=(j=1svi,vs+1vi,vjvi,vs+1vi,vj)+,iB,jItrain(4)
其中 ⟨ v i , v ⟩ \langle v_i,v\rangle vi,v f ⋆ g ( v i ) f_\star^g(v_i) fg(vi)拟合。于是可以通过 A i j = ( p i j + p j i ) / 2 A_{ij}=(p_{ij}+p_{ji})/2 Aij=(pij+pji)/2得到图的结构,并通过Eq.2计算 B \mathcal{B} B。注意的是,由于所有的操作都是可微的,它们可以用梯度下降法进行优化。

3.2.2.2 Testing Stage

因为当 i , j ∈ I test i,j\in\mathcal{I}_\text{test} i,jItest时, f ⋆ g ( ⋅ ) f_\star^g(\cdot) fg()不能度量 v i , v j v_i,v_j vi,vj之间的距离,因此引入训练批量 B train \mathcal{B}_\text{train} Btrain并设计两个机制对测试相似度分布进行归纳和学习。

其中,第一种级联一个具有训练批次的测试实例,并学习图来评估测试集的性能,如机制1所示。然而,它在每次迭代中只测试一个实例,这在大型数据集上是低效的。-

因此,为了提高效率,机制2选择训练集中最相似的样本来学习一个近似的图结构,用于逐批评估测试样本。

机制1
给定测试样本 v i v_i vi i ∈ I test i\in\mathcal{I}_\text{test} iItest,首先将其与一组训练样本级联,形成批量 B \mathcal{B} B。然后根据Eq.3计算 p i j p_{ij} pij,通过 A i j = ( p i j + p j i ) / 2 A_{ij}=(p_{ij}+p_{ji})/2 Aij=(pij+pji)/2学习稀疏图。由此,GNN可以推理出 v i v_i vi的表示。

机制2
给定一个测试批次 B ⊆ I test \mathcal{B}\subseteq\mathcal{I}_\text{test} BItest,测试批次 B test \mathcal{B}_\text{test} Btest和训练批次 B train \mathcal{B}_\text{train} Btrain之间的条件分布 P P P可以通过Eq.3计算得到。然后从 P P P中选择最高概率形成近似批量 B sim \mathcal{B}_\text{sim} Bsim。最后,近似稀疏图被学习为 A i j apr = ( p i j apr + p j i apr ) A_{ij}^\text{apr}=(p_{ij}^\text{apr}+p_{ji}^\text{apr}) Aijapr=(pijapr+pjiapr),其中 p i j apr p_{ij}^\text{apr} pijapr由Eq.3计算得到。 A i j apr A_{ij}^\text{apr} Aijapr辅助GNN生成测试批次的表示。

总之,机制1可以直接得到测试样本 v i v_i vi的图结构,但是当 n test n_\text{test} ntest较大时,推理效率较低。虽然机制2可以提高测试集的效率,其估计方法可能牺牲了准确性。4.4节将详细讨论其优点和局限性。所提出的图学习偷的整个过程在算法1中给出。

算法1 Differentiable Sparse Graph Head for Inductive Learning
输入:非图数据 X \mathcal{X} X,稀疏度 s s s,目标函数 L \mathcal{L} L和GNN f ⋆ ( ⋅ ) f_\star(\cdot) f()

将数据集 X \mathcal{X} X分为训练集 I train \mathcal{I}_\text{train} Itrain和测试集 I test \mathcal{I}_\text{test} Itest
随机初始化GNN f ⋆ ( ⋅ ) f_\star(\cdot) f()和图头 f ⋆ g ( ⋅ ) f_\star^g(\cdot) fg()
while 不收敛 do

在批量 B ⊆ I train \mathcal{B}\subseteq\mathcal{I}_\text{train} BItrain上通过Eq.3获得图 A A A
生成图表示 f ⋆ ( v i ; A ) , i ∈ B f_\star(v_i;A),i\in\mathcal{B} f(vi;A),iB
通过梯度下降优化 L L L
end while
通过机制1或机制2对测试集 I test \mathcal{I}_\text{test} Itest进行推断。

3.3 CNN2GNN: Heterogeneous Distillation

通过所提出的图头消除CNN和GNN之间的障碍后,引入了基于响应的异构蒸馏来传递知识并桥接这两个异构神经网络。
具体地,将CNN f ∗ ( ⋅ ) f_*(\cdot) f()和GNN f ⋆ ( ⋅ ) f_\star(\cdot) f()分别作为蒸馏的教师模型和学生模型,其中 f ∗ ( ⋅ ) f_*(\cdot) f()是像ResNet-152那样具有大量层的大型网络,而 f ⋆ ( ⋅ ) f_\star(\cdot) f()只有两层。一个实例 x x x被看作图中的一个结点 v v v。CNN教师通过交叉熵损失训练从而提取样本 x x x的深层表示 f ∗ ( x ) f_*(x) f(x)。对于训练批量 B ⊆ I train \mathcal{B}\subseteq\mathcal{I}_\text{train} BItrain,可微稀疏图头为GNN学生模型提供了图 A A A去学习实例集合的关系表示 f ⋆ ( v ; A ) f_\star(v;A) f(v;A)。目标函数被定义为:
L student = 1 ∣ B ∣ ∑ i ∈ B L cross ( f ⋆ ( v i ; A ) , y i ) + α L kd ( f ⋆ ( v i ; A ) , f ∗ ( x i ) , τ ) , B ⊆ I train (6) \mathcal{L}_\text{student}=\frac{1}{|\mathcal{B}|}\sum_{i\in\mathcal{B}}\mathcal{L}_\text{cross}(f_\star(v_i;A),y_i)+\alpha\mathcal{L}_\text{kd}(f_\star(v_i;A),f_*(x_i),\tau),\mathcal{B}\subseteq\mathcal{I}_\text{train}\tag{6} Lstudent=B1iBLcross(f(vi;A),yi)+αLkd(f(vi;A),f(xi),τ),BItrain(6)
其中 y i y_i yi是标签, α \alpha α是权重参数, τ \tau τ是温度, L cross ( ⋅ ) \mathcal{L}_\text{cross}(\cdot) Lcross()是交叉熵损失,主要引导GNN探索潜在关系信息,生成可靠的图表示。 L kd \mathcal{L}_\text{kd} Lkd是响应基础的蒸馏:
L kd = KL ( q ( f ∗ ( v i ) , τ ) ∣ ∣ q ( f ⋆ ( v i ; A ) , τ ) ) \mathcal{L}_\text{kd}=\text{KL}(q(f_*(v_i),\tau)||q(f_\star(v_i;A),\tau)) Lkd=KL(q(f(vi),τ)∣∣q(f(vi;A),τ))
其中 q ( ⋅ v , τ ) = exp ⁡ ( ⋅ v / τ ) ∑ j exp ⁡ ( ⋅ j / τ ) q(\cdot_v,\tau)=\frac{\exp(\cdot_v/\tau)}{\sum_j\exp(\cdot_j/\tau)} q(v,τ)=jexp(j/τ)exp(v/τ) f ⋆ ( x v ) = h v l f_\star(x_v)=h_v^l f(xv)=hvl KL ( ⋅ ∣ ∣ ⋅ ) \text{KL}(\cdot||\cdot) KL(∣∣)是KL散度。
通过引入 f ∗ ( v i ) f_*(v_i) f(vi)作为软标签,GNN可以通过蒸馏学习深层样本表示,通过温度 τ \tau τ将两个异构神经网络桥接起来。训练后,借助机制1或机制2,蒸馏增强的GNN可以同时归纳提取单个实例的局部表示和实例集之间的拓扑关系。整个CNN2GNN的优化过程见算法2。

算法2
输入:非图数据 X \mathcal{X} X,基准值(groundtruth),稀疏度 s s s,惩罚参数 α \alpha α,温度 τ \tau τ,CNN f ∗ ( ⋅ ) f_*(\cdot) f()和GNN f ⋆ ( ⋅ ) f_\star(\cdot) f()

将数据集 X \mathcal{X} X划分为训练集 I train \mathcal{I}_\text{train} Itrain和测试集 I test \mathcal{I}_\text{test} Itest
随机初始化 f ∗ ( ⋅ ) f_*(\cdot) f() f ⋆ ( ⋅ ) f_\star(\cdot) f()、图头 f ⋆ g ( ⋅ ) f_\star^g(\cdot) fg()
通过梯度下降法预训练CNN教师模型 f ∗ ( ⋅ ) f_*(\cdot) f()
while 未收敛 do

在批量 B ⊆ I train \mathcal{B}\subseteq\mathcal{I}_\text{train} BItrain上通过Eq.3获得图 A A A
GNN学生生成图表示 f ⋆ ( v i ; A ) , i ∈ B f_\star(v_i;A),i\in\mathcal{B} f(vi;A),iB
CNN教师生成深度样本表示 f ∗ ( x i ) , i ∈ B f_*(x_i),i\in\mathcal{B} f(xi),iB
使用梯度下降优化 L student \mathcal{L}_\text{student} Lstudent
end while
通过机制1或机制2蒸馏增强的GNN对 I test \mathcal{I}_\text{test} Itest的归纳推理。

提出的模型的优点
受到两个主流神经网络优势互补的启发,将大的CNN蒸馏成一个小的GNN,并将这两个异构网络桥接起来。 首先,设计一个图头,可微且可归纳地学习一个稀疏图结构,该结构可以扩展非图数据上的GNN,并消除两个网络之间的障碍。然后通过基于响应的异构蒸馏,具有少量神经层的蒸馏增强GNN可以同时归纳提取单个实例的深度样本内表示和实例集之间的拓扑关系。

这篇关于【论文笔记】CNN2GNN: How to Bridge CNN with GNN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/988187

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi