好久没有更新论文阅读这个系列了…上一次更新还是在家…极度拖延我本人(真怕哪天写着写着就不更了hh)其实论文都有看 但是看得太杂就也没有想记录一下。
今天更新一篇小样本的综述论文的阅读笔记。
论文名称:《An Overview of Deep Learning Architectures inFew-Shot Learning Domain》
论文地址:http://cn.arxiv.org/abs/2008.06365
本文提供的资源链接:
Our code is available at Github:
https://github.com/shruti-jadon/Hands-on-One-Shot-Learning
本篇文章只记录个人阅读论文的笔记,具体翻译、代码等不展开。
Background
Humans learn new things with a very small set of examplese.g. a child can generalize the concept of a Dog from a single picture but a machine learning system needs a lot of examplesto learn its features。
人类只需要从较少的例子中就可以学习到新事物。举个例子,孩子可以从一张图片中概括出狗的概念,但是机器学习系统却需要很多例子来学习它的特征。
Machine learning as a field has been highly successful at a variety of tasks such as classification, web search, image and speech recognition. Often times however, these models do not do very well in the regime of low data.
机器学习在分类、网络搜索、图像和语音识别等多种任务中取得了高度成功。 然而,当数据较少时候,这些模型往往就表现得没那么好,会受到小样本数据的限制。
这也是小样本学习的一个动机: 用较少的例子训练一个模型,但在没有广泛再训练的情况下推广新的类别(泛化能力好)。
Different techniques such as regularization reduces over-fitting in low data regimes, but do not solve the inherent problem that comes with fewer training examples. Furthermore, the large size of datasets leads to slow learning, requiring many weight updates using stochastic gradient descent.
正则化等其他方法可以减少少量数据状态下的过拟合,但不能解决训练样本少的固有问题。数据集太小会导致学习缓慢,需要使用随机梯度下降对许多参数进行更新。
关于小样本学习的定义可参考上一篇博客初探zero-shot/one-shot learning
本文的主要内容:
(i) Give a brief introduction to deep learning architectures for few-shot learning
(ii) Indicate how deep learning has been applied to the low-data regime
(iii) Provide a starting point for people interested in experimenting and perhaps contributing to the field of few-shot learning by pointing out some useful resources and open-source code
Data-sets
Most commonly used data-sets for few shots learning are Mini-ImageNet, and Omniglot data-set. Omniglot is a dataset is specially designed to compare and contrast the learning abilities of humans and machines. The data-set contains handwritten characters of 50 languages (alphabets) with 1623 total characters.Mini-Imagenet as the name suggests if the small version of Image-Net data-set, specifically designed for Few-Shots Learning Image Classification Task
数据集如上图所示:
Omniglot是手写字符符号数据集,包含 50 个大类,共 1623个类别符号,每个类别只有 20 个样本图像。miniImagenet是图像领域公共数据集 ImageNet的一部分,包含 100 个类别,每个类别包含 600个图像样本,在小样本学习中具体划分为 64 类
TYPES OF FEW-SHOT LEARNING APPROACHES(小样本学习的类型)
A.DATA AUGMENTATION METHODS
1.simple geometric transformations, color space augmentations 2. neural style transfer methods
3.Based on GANs
早期传统的数据增强的方法:简单的几何变换、颜色空间增强
现在的方法:神经风格的传递方法,基于对抗生成网络(GAN)
存在的缺陷:如果当前的数据分布是倾斜的,这将导致增强的数据分布也是倾斜的。 也有很高的机会过度拟合数据增强。B.Metrics Based Methods
Metrics Based Methods, as the name suggests is based upon metrics.we convey our data and
objective to machines through the mathematical representation of data, but this representation can have many forms especially if we go in higher dimensions, or if we wish to learn these representations based on our different objectives.
基于度量的方法,我们希望进入更高的维度,根据我们的不同目标学习数据的数学表示。例如,为了计算两幅图像之间的相似性,我们可以计算欧氏距离或余弦相似度。例如,为了计算两幅图像之间的相似性,我们可以计算欧氏距 离或余弦相似度。这边有两个代表性网络。孪生网络和匹配网络。如上图所示即为孪生网络,该网络包含两个子网络,子网络各自接收一个输入,将其映射至高维特征空间,并输出对应的表征。通过计算两个表征的距离,使用者可以比较两个输入的相似程度(共享参数)。 在中间层,我们提取了相似的特征,因为权重和偏差是相同的。 这些网络的最后一层被馈送到损失函数层,该层计算两个输入之间的相似性。训练时,通过组合的方式构造不同的成对样本,输入网络进行训练,在最上层通过样本对的距离判断他们是否属于同一个类,并产生对应的概率分布。在预测阶段,孪生网络处理测试样本和支撑集之间每一个样本对,最终预测结果为支撑集上概率最高的类别。
上图为匹配网络,该网络将一个小数据集和一个未标记的示例映射到其标签上,匹配网络学习适当的嵌入表示,并使用余弦相似性度量来确保测试数据点是否是从未见过的类别。
关于孪生网络和匹配网络可以参考:https://zhuanlan.zhihu.com/p/61215293 更详细一些。C.MODELS BASED METHODS
1.Neural Turing Machine
2.Memory Augmented Neural Network
3.Meta Networks
Santoro 等人提出使用记忆增强的方法来解决 Few-shot Learning 任务。基于记忆的神经网络方法早在 2001 年被证明可以用于 meta-learning。他们通过权重更新来调节 bias,并且通过学习将表达快速缓存到记忆中来调节输出。然而,利用循环神经网络的内部记忆单元无法扩展到需要对大量新信息进行编码的新任务上。因此,需要让存储在记忆中的表达既要稳定又要是元素粒度访问的,前者是说当需要时就能可靠地访问,后者是说可选择性地访问相关的信息;另外,参数数量不能被内存的大小束缚。神经图灵机(NTMs)和记忆网络就符合这种必要条件。
Meta Network 模型包含一个 meta learner 和一个 base learner,meta learner 用于学习 meta task 之间的泛化信息,并使用 memory 机制保存这种信息,base learner 用于快速适应新的 task,并和 meta learner 交互产生预测输出。
D.OPTIMIZATION BASED METHODS
1.Model Agnostic Meta Learning
2.LSTM Meta Learner
基于优化器学习的方法
LSTM 元学习算法是在 LSTM 体系结构上专门 设计的,因为 LSTM 中的单元状态更新类似于反向传播中基于 梯度的更新,关于梯度历史的信息有助于更好地优化模型。具体地,学习基于梯度下降的参数更新算法,采用 LSTM 表达 meta learner,用其状态表达目标分类器的参数的更新,最终学会如何在新的分类任务上,对分类器网络(learner)进行初始化和参数更新。这个优化算法同时考虑一个任务的短时知识和跨多个任务的长时知识。OTHER APPROACHES FOR FEW-SHOT LEARNING
1.Semi-Supervised Learning2. Imbalanced Learning3.Transfer Learning
半监督学习通过伪标 记技术来增加训练集,在相同大小的测试数据点上使用它来为它们创建伪标签。 在获得伪标签后,我们将真实标签与伪标签和真实特征与伪特征连接起来。 在级联后,我们训练了一个新的模型,证明它比初始模型更精确.
不平衡学习的数据集可称为倾斜分布的数据集,常用的处理方法:
1)度量的选择:有各种形式的度量可以帮助评估模型的准确 性,如混淆矩阵、精度、召回和 F1-Score。 2) 机器学习算法的选择:参数算法通过数据集学习它们的参数,因此如果数据集有偏差,则参数模型也很可能有 偏差。 非参数方法,如 K 近邻、决策树等。 随机森林、 Adaboost、XGBoost 等组合被证明是处理有偏差数据集的最佳方法。 3) 选择数据抽样方法:也可以考虑数据抽样,以确保数据 集不会保持倾斜。
迁移学习,是指将一个领域的知识运用到另一个领域。
Conclusion
To create a perfect few-shot learning approach, we need access to perfect information embeddings, optimized memory storage, and improved optimization algorithms than gradient descent.
为了创建一个好的小样本学习方法,我们需要访问完美的信息嵌入,优化的内存存储,和改进的优化算法比梯度下降。 在本文中,我们已经通过不同类型的这种算法,从匹配网络到元网络。 我们还观察到,某些算法能够达到分类任务的最先 进的精度,但对于对象检测、图像分割等,我们的模型仍然很困难。
ENding~so tired
关关难过关关熬。