想象你是一名金牌红娘,手里只有一个相亲嘉宾的档案夹——里面只有寥寥几张三年前的照片。这时门铃响了,一位新来的嘉宾站在门口,你要在几秒钟内判断:“这位和档案里那位,合不合适?”普通人的做法是死记硬背档案内容,但金牌红娘的做法完全不同:她根本不看“这个人是谁”,而是训练自己一双“看眼缘”的眼睛——把两个人的照片并排放在一起,从表情、穿衣风格到气质,逐项比对,最后打出一个“匹配度分数”。这种“不看单点、只看关系”的智慧,正是元学习领域里 Relation Networks(关系网络)的核心思想。它不直接回答“这张图是什么”,而是回答“这张图和那个样本有多像”。在数据稀缺的小样本世界里,这种“比较思维”往往比“记忆思维”更管用。
掌握 Relation Networks 的“比较学习”思想,你将理解如何用极少标注数据构建可泛化的分类与检索系统——这是小样本学习落地工业界的核心能力之一,也是通往元学习高级方法的必经台阶。
目录
可视化演示
展示系统处理流水线、实时性能指标曲线及多方案对比分析,包含数据流转、吞吐延迟监控与方案评估。
本节配有交互动效(进入视口后自动加载,约 3KB)。
系统可视化 处理流程:输入→处理→模型→输出 性能监控:实时指标 P=L×T
概念起源:为什么需要关系网络
你刚搬进一个新小区,物业只给了你三张模糊的邻居照片,分别是住在三楼的王阿姨、五楼的李叔和七楼的小张。这时电梯门开了,走进来一个人,你要判断:“这是哪位邻居?”正常人只有三条线索,根本没法训练出一套完整的“人脸识别系统”。传统深度学习就像一位只见过“成千上万张脸”的老保安,在数据充足时威风凛凛;可一旦数据只有三五张,他立刻心里打鼓——这就是小样本困境。
为了应对这种“看一眼就得认人”的挑战,研究者们想到了另一条路:别再死记类别了,改学“像不像”。这种思路叫度量学习(Metric Learning)。与其学“猫长什么样”,不如学“两张图有多接近”。Relation Networks 正是这种思路的代表作之一,由 Sung 等人于 2018 年提出,定位在元学习(Meta-Learning)框架之下:模型在大量“小样本任务”上训练,练出一种快速适应新任务的能力。它不直接输出类别,而是输出一对样本之间的关系分数。
关系网络最核心的建模方式可以写成下面这个式子——它把“比较”这件事显式地交给了神经网络:
回到红娘的比喻上,这一节告诉你一个朴素智慧:与其强行背下每位嘉宾的完整资料,不如练出一双会比较的眼睛。关系网络放弃了“认出你是谁”的野心,转而专注“你俩配不配”——正是这种退一步的智慧,让小样本场景下的分类成为可能。
- 输入样本 $x_i$ 与 $x_j$$x_i$ 来自支持集(比如邻居照片),$x_j$ 是查询样本(比如电梯里遇到的人),它们都是高维原始输入。
- 嵌入函数 $f_\varphi$这是一个可学习的神经网络,把高维输入压缩成低维特征向量,相当于“简历分析员”提炼出嘉宾的关键气质。
- 拼接操作 $[\cdot, \cdot]$把两个特征向量按通道方向拼接成一个更长的向量,让后续模块能同时看到双方的全部信息。
- 关系函数 $g_\phi$另一个可学习网络,输入拼接后的 $2F$ 维向量,输出 0 到 1 之间的关系分数。
核心原理:双模块分工
金牌红娘有个工作习惯:她从不会只看男方一个人的身高就下结论,而是把男女双方的条件写到同一张白板上——男方的工作和女方的期待并列,男方的生活习惯和女方的作息并列,逐项对照。Relation Networks 的设计与之如出一辙:整个模型被拆成两个各司其职的模块,第一个叫嵌入模块(Embedding Module),第二个叫关系模块(Relation Module)。
嵌入模块就是那位“简历分析员”。它的任务很单纯:把一张原始图片(或是任意输入样本)映射成一个特征向量,这个向量浓缩了样本最关键的视觉信息。重要的是,支持集样本和查询样本用的是同一个嵌入模块,参数完全共享——就像同一位分析师用同一套标准去评价每一位嘉宾,保证公平。关系模块则是“红娘本人”,它负责接收两个特征向量的拼接结果,输出一个匹配度打分。
这两个模块串联起来,就构成了前面公式描述的完整流程。我们进一步把嵌入模块的数学形式拆开来看:
如果把嵌入模块比作“简历分析员”,关系模块比作“金牌红娘”,那么特征拼接就是“同台亮相”——只有把两人的资料摆在同一张桌子上,红娘才能发现那些单看一方根本看不出的默契点,比如“他喜欢安静,她也喜欢安静”这种叠加信号。这正是关系网络区别于简单距离度量(如欧氏距离)的关键:比较的方式本身也是学出来的。
- 特征提取$x_i$(支持样本)和 $x_j$(查询样本)分别前向传播通过嵌入网络 $f_\varphi$,得到各自的浓缩特征。
- 参数共享两次提取用的是同一套参数 $\varphi$,这保证了特征的度量口径一致,不会出现“一个用尺量、一个用秤称”的偏差。
- 拼接输入随后 $u_i$ 与 $u_j$ 按通道拼接,构成关系模块的输入。
算法流程:一场相亲专场
金牌红娘如何培养自己的眼光?她不会只看一对就完事,而是反复举办“相亲专场”:每一场活动,她先邀请几个家庭(类别),每个家庭派出一位代表(支持样本),再请来一位神秘嘉宾(查询样本)。她的任务就是逐一配对,判断神秘嘉宾和每位代表到底“合不合”。一场接着一场,见过的家庭组合千变万化,她的“眼力”就这样练出来了。
在 Relation Networks 的训练中,这种“一场活动”被称为一个任务(Task 或 Episode)。以最典型的 5-way 1-shot 设定来说:从训练集中随机挑 5 个类别,每类只取 1 个样本构成支持集,再另取 1 个样本作为查询样本。模型要做的是:把查询样本与 5 个支持样本逐一配对打分,最后选出分数最高的那个类作为预测结果。反复采样不同任务、反复让模型“做配对题”,就是训练过程的全部。
一次任务的前向计算和推理预测可以用下面的式子概括:
流程上的一个关键点是“支撑集”和“查询集”的关系:支撑集是已知答案的“参考照片”,查询集是待判断的“神秘嘉宾”,二者都在同一次任务中出现。红娘并不是记住了某一个家庭,而是通过大量专场的历练,学会了“比较”这门通用手艺——这正是元学习里“学会学习”的意思。
- 配对打分用上一节的双模块结构,对支持样本 $x_i$ 和查询样本 $x_j$ 计算关系分数 $s_{i,j}$。
- 遍历支持集$i$ 遍历支持集中的全部样本,每个样本都与查询样本做一次配对,得到一组分数。
- 取最大值索引用 $\arg\max$ 找出分数最高的支持样本对应的类别,作为预测标签 $\hat{y}_j$。
损失函数:红娘的成绩单
红娘怎么知道自己眼光准不准?最简单的方法:看真实结果。如果某对嘉宾最后真的在一起了,那么“匹配成功”这一事件就记作 1;如果没成,就记作 0。红娘每次打出的分数和这个真实结果之间的差距,就是她的“错题量”。把所有错题的平方累加起来,就得到了一张“成绩单”——分数越低,说明她的眼光越准。
对应到 Relation Networks,这里的“真实结果”就是标签:如果两个样本来自同一个类别,标签为 1;否则为 0。模型输出的关系分数是一个 0 到 1 之间的实数,于是问题被建模成一个回归任务,而不是传统的分类任务。原本该用交叉熵的地方,换成了回归领域最常见的均方误差(MSE)损失:
这里有个值得细品的点:为什么不用交叉熵?因为关系网络的目标不是输出一个“类别概率分布”,而是输出一个“匹配程度”。用 MSE 做回归,可以让模型在分数上更平滑地逼近 0/1 目标,而不是强行把分数解释成概率。红娘的“成绩单”上写的不是“我对了几道题”,而是“我每个判断离真相差多远”——一边看差距,一边调整自己的判断标准。
- 指示函数构造标签$\mathbb{1}[y_i = y_j]$ 是一个指示函数,当两个样本类别相同取 1,否则取 0。
- 平方误差$(s_{i,j} - 1)^2$ 或 $(s_{i,j} - 0)^2$,衡量预测分数偏离真实匹配程度的平方幅度。
- 全体样本对求和对任务中所有支持-查询样本对求和,得到该任务的总损失。
方法对比:不同的红娘策略
江湖上不止一位红娘,每位都有自己的一套“看人”方法论。有的红娘喜欢让两位分析师用同一套标准分别考察嘉宾,然后直接计算两人评分的距离——这就是孪生网络(Siamese Network)的思路,简单直接,但比较方式被限定在固定的距离函数上,缺乏灵活性。有的红娘则随身携带一本厚厚的“嘉宾档案册”,遇到新嘉宾就去档案册里翻找最像的记录——匹配网络(Matching Network)类似这样,用注意力机制对比支撑集与查询样本,但更多依赖“记忆匹配”。
还有一位红娘非常特别:她不太在意个体差异,而是给每个家庭画一张“平均脸”,再拿新人去跟平均脸做对比——这就是原型网络(Prototype Network)。每个类取所有支持样本特征的平均值作为“原型中心”,查询样本与哪个原型最近就归哪类。计算高效、直觉清晰,但代价是忽略了类内的多样性和个体细节。
相比之下,Relation Networks 的差异化优势在于:它既不使用固定距离,也不使用简单的平均,而是显式地学习一个“关系函数”。比较的尺度、侧重点、非线性组合方式全部由数据驱动。这就像一个红娘不仅看“两人是否都爱读书”,还会发现“一个人话少但另一个人恰好喜欢倾听”这种微妙的互补关系。当然,灵活的代价是更高的计算量:每对样本都要单独走一次关系模块,而且学到的是全局特征之间的关系,缺乏空间上的细粒度对齐。
| 方法 | 比较方式 | 优点 | 弱点 |
|------|----------|------|------|
| 孪生网络 | 固定距离(如欧氏距离) | 结构简单、训练稳定 | 距离函数表达力有限 |
| 匹配网络 | 注意力加权匹配 | 利用全部支撑信息 | 依赖大规模支撑集 |
| 原型网络 | 类均值原型 | 计算高效、可解释强 | 忽略类内多样性 |
| 关系网络 | 可学习的关系函数 | 非线性比较、灵活强大 | 计算开销较大 |
应用场景:红娘的业务版图
金牌红娘一战成名后,业务自然不会只局限于相亲。既然“比较”是一门通用手艺,她就可以把同一套方法用在任何需要“判断两者是否匹配”的场景里。Relation Networks 的落地图景正是如此,从图像分类到检索,它都有一套清晰的角色转换逻辑。
第一个典型场景是小样本图像分类。在工业质检中,一种新型缺陷往往只有几个样本。把已知缺陷图片作为支持集,把待检测图片作为查询样本,关系网络可以直接打分判断“这是不是那种新缺陷”。相比传统的卷积分类器,它不需要成千上万的标注,只需“几个样板”就能开工。第二个场景是图像检索。用户上传一张商品照片,系统需要在商品库中找到最相似的那件。关系网络逐对打分,输出一个匹配度排序,天然地比欧氏距离检索更能适应拍摄角度、光照差异带来的失真。第三个场景则是零样本识别,当某个类在训练中从未见过,但只要给出一个语义描述或一张参考图,模型就能通过“关系”完成识别——这像极了红娘第一次见到某个家庭的人,也能凭气质和谈吐判断他与哪位嘉宾相配。
在跨域迁移场景中,关系网络的优势更加明显。比如在仿真环境里训练的样本特征分布与真实环境不同,直接分类往往会崩,但“比较关系”这种相对性质通常比“绝对特征”更具迁移性。可以说,凡是传统方法需要“记住数据分布”的地方,关系网络都能提供一个“盯住相对关系”的轻量替代方案。
性能优化:金牌红娘的进修课
即使是金牌红娘,也会定期进修。她发现,只看整体气质偶尔会走眼——比如两人都爱养猫,但一个对猫毛过敏。于是她学会“聚焦关键细节”:不再平均用力地看整张脸,而是重点关注眼角、神态、肢体语言等判别性区域,这在现代深度学习中叫注意力机制。关系网络同样可以引入注意力,让嵌入模块在提取特征时主动忽略背景干扰,把算力集中在真正影响匹配的区域上。
另一种进修思路是结构调优与数据增强。结构上,把原本扁平的全连接嵌入网络换成更强的主干网络(如 ResNet),或者把简单的特征拼接替换成可学习的对齐方式,都能提升比较的精度。数据增强则是在训练时代入更多“变体嘉宾”——裁剪、旋转、颜色抖动,让红娘见过的人更多元,从而减少过拟合。对关系网络而言,由于每个任务可用的样本极少,增强尤其重要。
注意力加权后的关系打分可以用下面的式子表达:
不过金无足赤,关系网络也有自己的天花板:它把每个样本整体编码成一个全局向量,如果两个样本只在局部有判别性差异(比如两只鸟的嘴形不同),全局池化很容易把关键信息抹掉;同时,逐对打分的结构也让大规模支撑集场景下的计算成本急剧上升。未来方向包括引入局部特征对齐、图结构关系建模,以及和更高级的元学习优化器协同工作——这些都是金牌红娘下一次进修的课题。
- 计算注意力权重用一个小的子网络基于特征 $u_i$ 生成权重向量 $a_i$,范围在 0 到 1 之间,表示“哪些维度重要”。
- 加权特征将原特征与注意力权重逐元素相乘,突出判别性维度、压制无关维度。
- 加权后打分用加权后的特征替换原始特征,仍然走拼接 + 关系模块的老路。
AI 应用场景
工业缺陷小样本检测
阶段:小样本图像分类
解决的问题:新产线上的缺陷类型往往刚出现、样本极少,传统 CNN 分类器需要每类上千张标注才能稳定工作,缺陷刚出现时根本来不及攒数据。Relation Networks 只需每类提供 3-5 个“样板”,即可通过关系打分判断新样本属于哪类缺陷,让质检系统在新缺陷出现当天就能上岗。
具体案例:某半导体晶圆厂发现一种新型划痕缺陷,现场只采集到 4 张清晰图片。工程师将其作为支持集,把流水线上每个待检帧裁切为查询样本,用训练好的关系网络逐一配对打分,一周内就把漏检率从 18% 压到了 3% 以下。
人脸与声纹验证
阶段:一次学习(One-Shot Learning)
解决的问题:门禁系统中每位新用户只有一张登记照,传统方案需要重新训练分类器或存储大量模板。关系网络把“验证”转化为“匹配问题”:将数据库中的登记照作为支持集,每次刷卡抓拍作为查询样本,直接输出匹配分。
具体案例:某写字楼门禁换用关系网络方案,新员工入职时只需在手机端拍一张照片录入系统,后续每次刷脸都通过嵌入模块提取特征、与登记照计算关系分数,超过 0.85 即放行。上线三个月,误识率仅为传统 1:1 比对方案的六成。
跨域商品检索
阶段:检索排序与跨域迁移
解决的问题:电商平台上用户拍摄的随手拍与商家精修图之间存在巨大“域差距”,像素级距离不可靠。关系网络学习的是样本对之间的相对匹配模式,天然更适应这种跨域比较。
具体案例:某服饰电商在商品搜索中引入关系网络,把用户上传的实拍图与商品库中上千张白底商详图逐对打分排序。试点阶段点击率提升 12%,“相似推荐”模块的人均浏览深度翻了一倍。
Python 演示
import torchimport torch.nn as nnimport torch.optim as optim class EmbeddingModule(nn.Module): def __init__(self, in_dim, feat_dim): super(EmbeddingModule, self).__init__() self.fc = nn.Sequential( nn.Linear(in_dim, 64), nn.ReLU(), nn.Linear(64, feat_dim) ) def forward(self, x): return self.fc(x) class RelationModule(nn.Module): def __init__(self, feat_dim): super(RelationModule, self).__init__() self.fc = nn.Sequential( nn.Linear(feat_dim * 2, 64), nn.ReLU(), nn.Linear(64, 1), nn.Sigmoid() ) def forward(self, x): return self.fc(x) class RelationNetwork(nn.Module): def __init__(self, in_dim, feat_dim): super(RelationNetwork, self).__init__() self.embedding = EmbeddingModule(in_dim, feat_dim) self.relation = RelationModule(feat_dim) def forward(self, support, query): sup_feat = self.embedding(support) qry_feat = self.embedding(query) qry_feat = qry_feat.expand(sup_feat.size(0), -1) combined = torch.cat((sup_feat, qry_feat), dim=1) return self.relation(combined).squeeze(1) def build_task(way=5, shot=1, in_dim=8): class_mean = torch.randn(way, in_dim) * 2 support = class_mean + torch.randn(way * shot, in_dim) * 0.1 target = torch.randint(0, way, (1,)).item() query = class_mean[target] + torch.randn(1, in_dim) * 0.1 labels = torch.zeros(way) labels[target] = 1.0 return support, query, labels def main(): torch.manual_seed(42) model = RelationNetwork(in_dim=8, feat_dim=16) criterion = nn.MSELoss() optimizer = optim.Adam(model.parameters(), lr=0.001) for epoch in range(20): total_loss = 0.0 for _ in range(30): support, query, labels = build_task() scores = model(support, query) loss = criterion(scores, labels) optimizer.zero_grad() loss.backward() optimizer.step() total_loss += loss.item() print("Epoch %d loss: %.4f" % (epoch + 1, total_loss / 30)) support, query, labels = build_task() scores = model(support, query) pred = scores.argmax().item() truth = labels.argmax().item() print("Predicted: %d, Truth: %d" % (pred, truth)) if __name__ == "__main__": main()
sup_feat = self.embedding(support)让“简历分析员”把支持集每一行样本提炼成特征向量。qry_feat = self.embedding(query)用同一套参数提取查询样本的特征,保证口径一致。qry_feat = qry_feat.expand(sup_feat.size(0), -1)把查询特征复制成与支持集一样多的份数,方便逐对配对。combined = torch.cat((sup_feat, qry_feat), dim=1)“同台亮相”:把双方特征沿通道方向拼接。scores = self.relation(combined).squeeze(1)“红娘”为每一对打出一个 0~1 的匹配分。class_mean = torch.randn(way, in_dim) * 2模拟生成 5 个“家庭”的中心位置,让类间有区分度。labels[target] = 1.0构造 0/1 标签:与查询真正同类的支持样本记为 1,其余为 0。loss = criterion(scores, labels)用 MSE 衡量“红娘打分”与真实匹配结果的差距。pred = scores.argmax().item()推理时挑分数最高的支持样本类作为预测答案。
常见误区
误区很多初学者以为关系网络就是一个标准分类器,输入一张图,输出一个类别概率分布。就像以为红娘只看一个人的照片就能直接说出“他适合嫁给谁”。
正解关系网络的输入永远是“一对样本”,输出是一个“匹配度分数”,而不是类别分布。分类只是它的一个应用方式——把查询样本与每个类的支持样本逐一配对,取最高分对应的类。它本质上是一个成对比较器,而不是单样本分类器。
为何常见:深度学习中常见的网络都是“单输入多类输出”结构,惯性思维容易让人忽略关系网络“成对输入”这个根本不同。
误区有人觉得分类任务就应该用交叉熵,看到关系网络用 MSE 就认为是不严谨的替代品,是论文作者图省事。
正解关系网络的任务本质是回归——让关系分数逼近 0/1 的匹配标签。MSE 能提供平滑的梯度信号,让模型在分数空间里渐进逼近真实匹配度,并且与 Sigmoid 输出的 0~1 范围天然契合。这是设计选择,不是将就。
为何常见:绝大多数分类模型都用交叉熵,“分类必须用交叉熵”的常识在元学习回归式打分场景下并不适用。
误区初学者常把嵌入模块想象成固定的预训练特征提取器,比如拿一个 ResNet 提特征,然后用特征去算相似度,误以为只有关系模块在参与训练。
正解在关系网络中,嵌入模块和关系模块是端到端联合训练的。梯度会通过关系模块一路回传到嵌入模块,使特征提取器本身也朝着“更利于关系打分”的方向进化。
为何常见:迁移学习教程普遍使用“预训练特征 + 轻量分类头”范式,容易让人误以为任何嵌入网络都是冻结的。
误区有人拿到关系网络输出的分数后,直接对它们做 softmax,当作各类别的概率分布来解读。
正解关系分数是逐对独立打出的“匹配程度”,彼此之间并不归一化,也不构成概率分布。正确的用法是直接比较分数大小:支持样本与查询样本的关系得分越高,才表示越可能是同类。
为何常见:常规分类头输出的是归一化的 softmax 概率,看到 0~1 之间的数值就下意识往概率上靠,忽略了分数是逐对产生的。
面试题
Q1. Relation Networks 解决的核心问题是?
- A.小样本下的分类匹配← 正确答案
- B.大数据上的训练提速
- C.深层网络的梯度衰减
- D.模型超参的自动寻优
答案:A。关系网络的核心定位是小样本场景下“学比较”而不是“学记忆”,它通过成对打分完成分类与匹配。B、C、D 分别属于训练工程、优化理论和超参搜索领域,与关系网络的核心动机无关。
Q2. 关系模块输出的“关系分数”含义是?
- A.两样本同类的匹配程度← 正确答案
- B.两样本欧氏的距离大小
- C.特征向量自身的模长
- D.模型分类的置信水平
答案:A。关系分数表示一对样本属于同一类别的匹配程度,范围在 0~1 之间。它既不是距离也不是特征模长,更不是分类置信度——因为关系网络本身不直接做单样本分类。
Q3. 嵌入模块输出的特征如何用于关系打分?
- A.直接平均后送入分类头
- B.直接拼接后送入关系模块← 正确答案
- C.通过傅里叶变换提取频谱
- D.通过PCA降维后做内积
答案:B。两个样本的特征经过同一个嵌入模块提取后,沿通道方向拼接成一个联合向量,再送入关系模块。平均、傅里叶变换和 PCA 都不是关系网络的组合方式。
Q4. 训练关系网络时标签如何构造?
- A.同类标签记为1异类为0← 正确答案
- B.使用one-hot编码类别id
- C.用样本距离倒数作标签
- D.用余弦相似度求标签值
答案:A。关系网络把匹配建模为回归问题,标签直接用指示函数:两个样本同类记 1、异类记 0。one-hot 是分类范式;距离倒数和余弦相似度是通过其他度量方式计算出的值,不是训练标签。
Q5. 关系网络的损失函数为何使用 MSE 而非交叉熵?
- A.将打分建模为0/1回归任务← 正确答案
- B.交叉熵收敛速度比MSE更慢
- C.只有MSE损失能配合Sigmoid
- D.原论文作者偏好使用MSE
答案:A。关系网络的目标是让关系分数在数值上逼近 0/1 的真实匹配标签,这是回归问题,MSE 提供平滑的逐点误差信号。B、C、D 均属误解:交叉熵也可配合 Sigmoid,作者选择 MSE 是基于任务性质的合理设计。
Q6. 在 5-way 1-shot 任务中,关于查询样本的比较方式,以下说法正确的是?
- A.支持集中每类各取一个样本参与比较← 正确答案
- B.只需与查询真正所属的类比较
- C.一共需要计算五对关系分数← 正确答案
- D.与查询同类的支持样本打分更高← 正确答案
答案:ACD。5-way 表示支持集中有 5 个类别各 1 个样本,查询样本要与它们逐一配对,共计算 5 对关系分数,取分数最高的类作为预测。推理时并不知道查询真正属于哪一类,所以“只与真实类比较”不成立。
Q7. 以下哪些属于关系网络的组成部分?
- A.嵌入模块抽取样本特征← 正确答案
- B.关系模块给出匹配打分← 正确答案
- C.特征拼接合并样本信息← 正确答案
- D.循环网络记忆时序关系
答案:ABC。关系网络由嵌入模块、特征拼接、关系模块三部分构成整体流程。循环网络用于序列建模,与关系网络的标准结构无关。
Q8. 关系网络与原型网络(Prototype Network)的本质差异是?
- A.原型网络用类均值代表类中心← 正确答案
- B.原型网络不包含嵌入模块
- C.Relation网络必须使用CNN
- D.Relation网络难以做小样本
答案:A。原型网络把每个类的支持样本特征取平均得到一个原型中心,查询样本与各原型比距离;关系网络则逐对学习一个非线性关系函数。原型网络同样包含嵌入模块,关系网络也不限定 CNN,两者都常用于小样本任务。
Q9. 以下哪些是关系网络的改进方向?
- A.引入注意力聚焦判别区域← 正确答案
- B.多尺度融合提升鲁棒性能← 正确答案
- C.学习对齐方式替代硬拼接← 正确答案
- D.去掉嵌入模块直接比像素
答案:ABC。注意力机制和多尺度融合都能增强特征表达,学习式特征对齐可以替代简单的通道拼接以提升表达能力。去掉嵌入模块会让模型失去特征提取能力,属于错误方向。
Q10. 设输入维度 D=8、嵌入维度 F=16,5-way 1-shot 任务中关系模块输入向量的维度是?
- A.一十六维等于嵌入维度大小
- B.三十二维两特征拼接后维度← 正确答案
- C.四十维支持集样本数的乘积
- D.六十四维五个支持样本累和
答案:B。关系模块接收的是“支持样本特征与查询样本特征拼接后的向量”。两个 16 维特征拼接后维度为 32。16 维是拼接前的单特征维度;40 和 64 分别属于混淆了样本数与维度的错误组合。