1. Few-shot learning简介

Few-shot learning是一种机器学习任务,在这种任务中,模型在训练时看到的类别很有限,但在测试时需要在未见过的类别上进行分类。具体来说,给定每个新类别只有少量的标注样本,模型需要学会如何适应这些新类别。

  • 训练集和测试集:通常,few-shot学习任务会有两个数据集:训练集测试集。训练集用于模型学习,测试集用于评估模型的性能。
  • 训练集中的每个类别有很多样本,而测试集中的每个类别通常只有几个样本。这就是"few-shot"的含义,意思是每个类别只有少量样本。

2. DDI事件预测中的应用

在DDI事件预测任务中,每个药物–药物相互作用(DDI)事件可以看作是一个类别。训练集中有很多DDI事件(类别),而测试集中,每个类别(DDI事件)只有少量样本。因此,任务是让模型能够从少量样本中学习,并在测试集上进行准确预测

  • 支持集(Support Set):是训练时用于帮助模型学习的样本集。每个类别的支持集包含少量的标注样本。
  • 查询集(Query Set):是测试时用于评估模型性能的样本集。查询集中的样本属于支持集中的类别,但在训练时这些样本并未被使用。

3. C-way K-shot问题

在few-shot学习中,通常我们使用C-way K-shot来描述任务的设置:

  • C表示类别的数量(例如,5-way表示选择5个类别)。
  • K表示每个类别的样本数量(例如,1-shot表示每个类别只选1个样本)。

所以,C-way K-shot问题意味着:

  • 在训练时,我们从C个类别中选择K个标注样本作为支持集。
  • 测试时,模型需要根据这些支持集样本来分类新的查询集样本。

4. 元学习(Meta-learning)和Episode-based训练

为了更有效地进行few-shot学习,通常使用元学习的方法。元学习的目标是让模型学会如何学习新任务。Episode-based训练就是一种元学习的策略:

  • 在每个meta-episode(元样本)中,首先从训练集中随机选取一部分类别作为任务的类别(即选择C个类别),然后在每个类别中随机选取K个样本作为支持集,剩下的样本则作为查询集。
  • 在每次训练时,模型要在一个episode内根据支持集来学习,并且根据查询集来测试其学习效果。

5. 元训练和元测试

  • 元训练(Meta-training):在元训练过程中,模型通过多次训练不同的任务(meta-episodes)来学习如何从少量样本中进行分类。每次任务的类别和样本都不同,这帮助模型学会了如何快速适应新任务。
  • 元测试(Meta-testing):元测试过程与元训练类似,不过这里模型已经通过元训练学到了如何学习新任务。元测试的目标是评估模型在面对全新类别(未见过的任务)时的表现。

总结:

few-shot学习通过元学习的框架来解决DDI事件预测任务中的稀缺样本问题。训练集和测试集被分为支持集和查询集,支持集提供少量的样本来帮助模型学习,而查询集则用于测试模型的性能。通过meta-episode训练方式,模型能够通过随机选择类别和样本,不断调整其分类能力,从而在新任务中快速适应和有效预测。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐