![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
元学习与小样本方法
包括基本方法介绍与相关文献解读
隔壁的NLP小哥
积跬步,至千里
展开
-
元学习—基于元学习的上下文快速适应(Fast Context Adaptation via Meta-Learning)
元学习—基于元学习的上下文快速适应(Fast Context Adaptation via Meta-Learning)1 介绍机器学习中的快速适应指的是使用少量的数据在之前未见的任务上进行快速的学习。原则上,可以利用之前的一些相关的任务所获取的一些知识来完成这个挑战。然而,如何选择一个最好的方式,目前仍然是一个没有被解决的问题。我们对于利用元学习来解决快速适应的问题十分的感兴趣,即通过少量的样本在未见的任务上进行学习。一个快速适应的方法是使用基于梯度的方法,在测试的时候,定义一个具体的与任务相关的损原创 2020-10-24 16:35:08 · 1658 阅读 · 0 评论 -
元学习—对抗式元学习(ADML)
元学习—对抗式元学习(ADML)在之前的文章中,我们介绍了MAML模型,有兴趣的读者可以参考元学习—模型不可知元学习(MAML)。在下面的文章中,我们将介绍MAML模型在对抗式学习中的应用,即MAML模型的一个变体ADML模型。1 FGSM方法在对抗式的学习中,需要同时使用到真实样本和对抗样本。对于对抗样本的生成,有很多种方法,我们下面来看其中的一种方法,即基于梯度的攻击算法(FGSM)。一般情况下,我们会计算模型参数的梯度值来更新模型参数,以求得使得模型的Loss最小,在FGSM中,为了获取对抗样原创 2020-10-23 15:47:31 · 4070 阅读 · 6 评论 -
元学习—MAML模型Pytorch实现
元学习—MAML模型Pytorch实现之前,我们介绍了MAML模型的基本原理和基本流程元学习—模型不可知元学习(MAML),这里简单的从零开始来实现一个MAML模型。这里我们通过随机生成数据来定义十个回归任务,其中每一个回归任务的训练样本数量和测试的样本数量均为10个。为了便于展示,这里采用的单层神经网络来实现每一个回归任务。具体可以参考下面的代码展示。1 代码展示#encoding=utf-8import torchimport torch.nn as nnimport torch.optim原创 2020-10-19 14:48:57 · 9175 阅读 · 6 评论 -
元学习—模型不可知元学习(MAML)
元学习—模型不可知元学习(MAML)在之前的文章中,我们介绍了神经图灵机和记忆增强网络(MANN),主要介绍了其对于内存中信息的读取与写入。有兴趣的读者可以参考我之前的博客元学习—神经图灵机。在今天的文章中,我们来介绍一种更加常见的元学习的学习方法,即模型不可知元学习。1. MAML原理1.1 MAML引入MAML是一种最近被提出的,最为主流的一种元学习的方法。其是元学习上的一个重大突破。在元学习中,众所周知,其目标是学会学习。在元学习中,我们从大量的相关学习任务中获取一小部分的样本点,然后通过元学原创 2020-10-16 17:06:22 · 5377 阅读 · 2 评论 -
元学习—高斯原型网络实现(Pytorch)
元学习—高斯原型网络实现(Pytorch)原理部分可以参考我之前的博客,元学习—高斯原型网络,本文在实现过程中,采用了基于半径的置信度计算,对于逆矩阵采用的softplus的计算方式。以评论文本分类作为基础任务,使用LSTM作为原型网络中的编码函数。下面给出具体的代码实现:1. 数据处理部分(utils.py)#encoding=utf-8'''以评论文本为例,进行计算。'''import torchimport torch.nn as nnimport numpy as npimpor原创 2020-10-09 15:09:52 · 2832 阅读 · 9 评论 -
元学习—半监督原型网络
元学习—半监督原型网络本文主要参考文献META-LEARNING FOR SEMI-SUPERVISED FEW-SHOT CLASSIFICATION,有兴趣的读者可以参考该文献。1 介绍大量的可用数据可以使得深度学习模型在很多人工智能任务上取得非常不错的效果。例如,语音识别,物体识别,和机器翻译等等。然而,当前的深度学习方法面临着数据缺少的问题。具体的,当前的多数方法都擅长处理拥有大量数据的单个任务。这些方法能够利用仅仅缺少一点标签的数据来处理大量的任务。另外一个方面,人类很容易去学习到一个新的类原创 2020-10-08 18:22:36 · 2046 阅读 · 0 评论 -
元学习—高斯原型网络
元学习—高斯原型网络本博客源于文献《Gassian Prototypical Networks for Few-Shot Learning on Omniglot》,只选择的有关模型描述的部分进行了翻译,有兴趣的读者可以进行参考全文。同时,该文章没有仔细的介绍原型网络的基本结构,有兴趣的读者可以参考我的另外一篇博客元学习——原型网络(Prototypical Networks)1 背景介绍1.1 高斯原型网络引入在本篇文献中,我们基于原型网络提出了一个新的结构,并且将其在Omngilot数据集上进行原创 2020-10-06 10:55:01 · 2978 阅读 · 2 评论 -
元学习——原型网络(Prototypical Networks)
元学习——原型网络(Prototypical Networks)1. 基本介绍1.1 本节引入在之前的的文章中,我们介绍了关于连体网络的相关概念,并且给出了使用Pytorch实现的基于连体网络的人脸识别网络的小样本的学习过程。在接下来的内容中,我们来继续介绍另外一种小样本学习的神经网络结构——原型网络。这种网络的特点是拥有能够不仅仅应用在当前数据集的泛化分类能力。在接下来的内容中,我们将介绍以下几个内容:原型网络的基本结构。原型网络算法描述。将原型网络应用于分类任务。高斯原型网络结构以及算法原创 2020-09-30 10:17:47 · 38305 阅读 · 34 评论 -
元学习——通过知识迁移的图小样本学习(Graph Few-shot Learning via Knowledge Transfer)
文献记录—通过知识迁移的图小样本学习1 摘要对于图的半监督学习已经提出了很多的研究方法。类似于GNN类方法,通过聚合节点周围节点的信息来更新节点的表示,已经取得了非常不错的效果。但是,大多数的GNN类方法,都是通过在一个限定的局部区域内,利用浅层的神经网络进行信息聚合。当有标签的节点数量很少的时候,这种方法的效果并不是太好。为了缓解这个问题,我们的一个创新点是提出了一个图的小样本学习方法GFL,包括了从辅助图中学习的先验知识来提高分类的效果。具体的,一个可迁移的度量空间可以通过一个节点的编码来表示,并且原创 2020-09-24 13:22:12 · 3131 阅读 · 0 评论 -
元学习—神经图灵机
元学习—神经图灵机1 神经图灵机神经图灵机(NTM)是一类能够从内存中存储和恢复信息的一个算法。神经图灵机的基本思路在额外的内存空间中增加神经网络,而不是通过增加隐藏单元 ,NTM使用一个额外的内存来存储和恢复信息。NTM的整体结构如下图所示:1.1 NTM的基本组成控制器: 这是一个基础的前馈神经网络或者递归神经网络,其主要负责从内存中读取信息或者想内存中写入信息。内存: 内存通常以内存矩阵或者内存池的形式进行展现。我们将在内存中存储信息。一般情况下,内存是通过两个维度的矩阵所构成,矩阵中的每原创 2020-09-07 10:22:45 · 1793 阅读 · 0 评论 -
元学习—关系网络pytorch实现
元学习—关系网络实现原理部分已经在元学习—关系网络和匹配网络中讲述,这里不再赘述,实验包括了one-shot学习,few-shot(few=5)学习的两种学习过程。原始样本通过随机产生,类别一个有两个,损失函数使用的是均方误差的方式。具体的代码如下:1 One-Shot学习#encoding=utf-8import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimimpor原创 2020-09-03 20:27:10 · 2823 阅读 · 1 评论 -
元学习—关系网络和匹配网络
元学习—关系网络和匹配网络1 关系网络(Relation Network)1.1 关系网络的基本函数一个关系网络至少需要包含两个核心的函数,第一个核心的函数是编码函数f,该函数经支持集(Support Set)和查询数据(Query data)进行编码,用于后续的数据计算。其次,一个关系网络至少还需要包括一个关系函数g,而关系函数的作用则为根据查询数据和支持集中各个分类的相关性来决定查询点的最终分类。下面,我们以一个one-shot的图片分类学习过程为例,即support set中各个分类的样本数量原创 2020-09-03 13:24:16 · 4539 阅读 · 1 评论 -
元学习——连体网络(Siamese Network)概念与结构
元学习——连体网络(Siamese Network)1 概念和结构1.1 引入在介绍连体网络之前,我们首先来介绍单样本学习:**单样本学习:**所谓的单样本学习是我们对于每一个分类使用一个样本进行学习。这种单样本学习的方式在我们实际上经常出现,举一个例子来说,假设我们需要构建一个人脸识别的系统中,我们的目标是识别500个人的人脸。但是我们手里面的数据只有500份,也就是每一个人拥有一张图片作为训练数据。在这个时候,如果我们想要使用CNN神经网络进行识别,我们需要很多的训练图片才能够对这500个人的原创 2020-06-06 18:04:02 · 3700 阅读 · 0 评论 -
元学习——Meta Relational Learning for Few-Shot Link Prediction in Knowledge Graphs(文献解读)
元学习——Meta Relational Learning for Few-Shot Link Prediction in Knowledge Graphs(文献解读)1. Introduction常规的知识图谱是由一系列的三元组所组成,三元组的基本形式为:头实体,关系,尾实体头实体,关系,尾实体头实体,关系,尾实体尽管在知识图谱中包含了大量的实体、关系和三元组,但是很多的知识图谱仍然是不完整的。因此,知识图谱的完整性是知识图谱发展的一个重要的环节。一类的知识图谱补全的任务是知识图谱的连接预测。其目原创 2020-06-01 21:39:33 · 3307 阅读 · 6 评论 -
自动学习(AutoML)——元学习建模
自动学习(AutoML)——元学习建模在之前的文章中,我们主要描述的是元学习的基本形式和小样本中的元学习,进行我们来介绍元学习的基本建模思想和建模实例。1 元学习建模1.1 从传统到元学习在传统的机器学习中,我们的建模方式通常是由人来决定的,也就是说通过人来对事物进行抽象,然后设计一套关于该任务的框架,进而将数据投入到该框架中进行学习。最后获取到相关的参数。这些参数可以拟合出来一个函数f∗f^*f∗,然后用这个拟合出来的函数来进行测试,如果效果符合我们的预期,那么说明这个模型是有效的,能够解决我们的原创 2020-05-14 19:12:40 · 3081 阅读 · 0 评论 -
自动学习—元学习入门
深度学习—元学习入门1. 学习过程和元学习引入1.1. 什么是学习?首先,我们来介绍一般模型的“学习”过程,这里我们以一个简单的文本分类作为例子,假设数据集中的文本可以分为好评文本和差评文本。那么,整个模型运行过程如下:这里,我们不强调前向传播过程,这里我们来看反向传播,在反向传播过程中,由于我们之前设定的误差函数是一个可微函数,也就是说我们可以通过反向传播梯度的方式来对文本分类模型中的参数进行调节,这种调节的目的是为了能够在下一轮前向传播的过程中,能够减小预测结果和真实结果之间的误差。在反向传播原创 2020-05-13 14:59:08 · 963 阅读 · 0 评论