少样本学习(FSL),也称为低样本学习(LSL),是一种机器学习方法,其特征是使用有限数据集来训练。
机器学习常见做法是提供尽可能多的数据来帮助训练。这是因为数据量越多,完成训练后的程序算法可以更加有效,相应的成本也会增加。而少样本学习的目的是减少数据分析、机器学习的成本。
少样本学习和零样本学习有什么区别?
少样本学习旨在让机器学习在训练数据集中有少量示例可用时预测正确的实例类别。
零样本学习旨在预测正确的类,而不暴露于训练数据集中属于该类的任何实例。
零样本学习和少样本学习共同的应用实例是图像分类、语义分割、图像生成、物体检测、自然语言处理算法。
少样本学习有哪些实际应用?
计算机视觉,用于处理字符识别、图像分类、物体识别、手势识别、对象跟踪、零件标签、图像检索、图像生成、图片说明、场景位置识别、3D对象的形状视图重建、运动预测、事件检测、视频分类等。
自然语言处理(NLP):解析、翻译、句子完成、情绪分类、用户意图分类、文本分类等。
音频处理:克隆语音、语音转换、跨语言的语音转换等。
机器人:学习模仿动作、学习操作动作、视觉导航、连续控制等。
其他应用:物联网分析、数学曲线拟合、数学逻辑推理
少样本学习如何在Python中实现的?
要实现少样本学习项目,用户可以参考Python中的以下库/存储库:
Pytorch–Torchmeta:一个用于小样本分类和回归问题的库,可轻松对多个问题进行基准测试并具有可重复性。
FewRel:一个大规模的少样本关系提取数据集,其中包含超过一百个关系和跨不同领域的大量注释实例。
元迁移学习:这个存储库包含用于Few-Shot Learning的元迁移学习的TensorFlow和PyTorch实现。
Few Shot:包含干净、可读和经过测试的代码的存储库,用于重现小样本学习研究。
Omniglot数据集上的原型网络:通过Pytorch实现“用于少数样本学习的原型网络”。