few-shot learning——图神经网络专题

本文介绍了图神经网络在few-shot学习中的应用,包括几种不同的方法,如Few-Shot Learning with Graph Neural Networks、Edge-Labeling Graph Neural Network、Transductive Propagation Network和Distribution Propagation Graph Network。这些方法通过构建图结构,利用节点和边的特征进行学习,解决小样本分类问题。文章详细阐述了各个方法的图构建、特征提取、标签传播和损失函数等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                        few-shot learning——图神经网络专题

基本概念

Few-shot learning:

                                      

few-shot的训练集包含很多类别,每个类别有多个样本,在训练阶段,会在训练集中随机抽取K个类别,每个类别q个样本(供qK个数据构成一个meta-task),作为Support Set(支撑集),再从K个类中剩余的数据中抽取一批样本作为模型的预测对象。即要求以qK个数据学会如何区分这K个类别,这样的任务称为K-way,q-shot问题。

episodic training:少样本学习采用episodic training训练方式,即分multi-task训练,task即上meta-task。

常用数据集:

miniImagenet

tiered-imagenet

omniglot

CIFAR-FS

CUB-200-2011

下面介绍最近用GNN做Few-shot Learning的几篇论文。

                  Few-Shot Learning with Graph Neural Networks--ICLR2018

papers: Few-Shot Learning with Graph Neural Networks

code:   https://github.com/vgsatorras/few-shot-gnn

                                                         

本论文是首次将GNN应用到少样本学习问题中,方法很创新但是精度却没有达到当时最高。

Construction of Initial Node Features

上图是一个4-Way 1-Shot问题,从4个对应的类中各自选取一张图片,x_{_{1}},x_{2},x_{3},x_{4},x5最后一个为Query集中选取要预测的样本。五张图片经过\phi (x)得到对应的特征向量,(\phi (x)卷积神经网络具体详看论文),

                                                          

得到的特征向量与经过One-hot编码的label 拼接作为图的初始化点,而对于Query样本均匀分布填充,代码中只是简单的用0填充

                                                 

Graph Neural Networks

进入GNN之前,构建邻接矩阵,论文中是用可学习的Edge Features来替代。

                    

对两节点求差的绝对值后进入一个多层感知器(代码中是卷积神经网络)得到A matrix。

                                          

上图为图卷积模块,B是上面求的邻接关系矩阵A。

重复几次图卷积(每层都会计算边特征矩阵A)之后,

                                        

输出与Query 样本的label求loss,进行反向传播,训练。

                                                  

注:

Query set的·label填充全0

A学习边特征邻接矩阵是卷积神经网络

GNN里面的Gc()模块不是真正的GCN,没有学习的参数\theta只是学习邻接矩阵边特征与node聚簇

     Edge-Labeling Graph Neural

### Few-Shot Learning 的基本概念与实现技术 Few-shot learning 是一种旨在解决少量标注数据情况下的机器学习问题的技术。它的目标是在仅有少数样例的情况下快速适应新的任务或类别[^2]。这种学习范式受到生物启发,特别是模仿人类的学习能力——即使只有有限的例子也可以迅速掌握新概念。 #### Key Techniques in Few-Shot Learning ##### 1. **Meta-Learning** 元学习(meta-learning),也被称为“learning to learn”,是一种广泛应用于 few-shot 学习中的框架。其核心思想是从大量的相关任务中提取通用的知识,并利用这些知识加速对新任务的学习过程。例如,在图像分类领域,可以通过优化神经网络初始化参数使得模型能够在看到几个样本后就能很好地推广到未见过的类别上[^3]。 ```python # A simplified example of implementing MAML (Model-Agnostic Meta-Learning) class MAML: def __init__(self, model, inner_lr, meta_lr): self.model = model self.inner_optimizer = torch.optim.SGD(self.model.parameters(), lr=inner_lr) self.meta_optimizer = torch.optim.Adam(self.model.parameters(), lr=meta_lr) def train_step(self, support_set, query_set): fast_weights = list(map(lambda p: p.clone(), self.model.parameters())) # Inner loop adaptation using the support set for _ in range(num_inner_updates): preds_support = self.model(support_set['inputs'], weights=fast_weights) loss_support = F.cross_entropy(preds_support, support_set['labels']) grads = torch.autograd.grad(loss_support, fast_weights) fast_weights = [w - self.inner_lr * g for w, g in zip(fast_weights, grads)] # Evaluate performance on the query set with updated parameters preds_query = self.model(query_set['inputs'], weights=fast_weights) loss_query = F.cross_entropy(preds_query, query_set['labels']) # Update base learner's parameters based on query set results self.meta_optimizer.zero_grad() loss_query.backward() self.meta_optimizer.step() ``` ##### 2. **Metric-Based Methods** 度量方法通过构建有效的距离函数来比较输入实例之间的相似性,从而完成分类任务。Prototypical Networks 和 Matching Networks 都属于此类方法。它们的核心在于设计合适的嵌入空间,在这个空间里同类别的样本应该彼此靠近而异类远离。 - Prototypical Network 使用支持集中每个类别的平均向量作为原型代表整个类别。 ```python def compute_prototypes(embeddings, labels): prototypes = [] unique_labels = torch.unique(labels) for label in unique_labels: proto = embeddings[labels == label].mean(0) prototypes.append(proto) return torch.stack(prototypes) def predict PrototypeNetwork(query_embeddings, prototypes): distances = pairwise_distances(query_embeddings.unsqueeze(1), prototypes.unsqueeze(0)) predictions = (-distances).argmax(dim=-1) return predictions ``` ##### 3. **Optimization-Based Approaches** 这类方法主要依赖于调整标准深度学习架构使其更适合 small-data 场景。比如 Fine-Tuning 或者 Freeze-and-Finetune 策略可以直接应用预训练好的大型模型并通过微调最后几层适配特定的小型数据集。 --- ### Conclusion Few-shot learning represents an exciting area within artificial intelligence that mimics human ability to generalize from limited examples. By leveraging advanced techniques such as meta-learning, metric-based approaches, and optimization strategies, researchers continue pushing boundaries towards more efficient models capable of handling real-world challenges involving scarce labeled data scenarios.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值