Python元学习
王小波_Libo
这个作者很懒,什么都没留下…
展开
-
第九章 元学习新进展
TAML元学习中,通过相关任务的分布来训练模型,这样它就可以很容易的适应新任务,且只需几个样本。前面介绍的MAML是如何通过计算元梯度和执行元优化来找到模型的最优初始参数,但是会有一个问题:模型可能会在某些任务上有偏差,特别是在元训练阶段抽样的任务上。因此,模型会在这些任务上过度执行,就会阻碍寻找更好的更新规则。为了改善这种情况,我们需要模型在某些任务上无偏或不过度执行,也就是需要使模型与任务无关,来防止任务偏差并获得更好的泛化。TAML有两种:熵最大化,不平等最小化。...原创 2020-09-11 18:24:08 · 771 阅读 · 0 评论 -
第八章 梯度一致算法
这一章我们将学习如何将梯度一致作为元学习的优化目标。正如在MAML中看到的,我们对任务间的梯度进行平均,并更新模型参数。在梯度一致算法中,我们将使用梯度的加权平均来更新模型参数,并学习如何向梯度添加权重来找到更好的模型参数。梯度一致,一种优化算法梯度一致算法用于增强元学习算法,在MAML和Reptile中,我们试图找到更好的、可在多个相关任务间泛化的模型参数,这样就可以用更少的数据点快速学习。如何把权重和梯度联系起来,能够体现不同梯度一致的重要性?因此,我们通过添加与每个梯度相乘的权重,重写了外原创 2020-09-10 11:18:54 · 1056 阅读 · 0 评论 -
第七章 Meta-SGD和Reptile
Meta-SGD另一种用于快速学习的元学习算法,与MAML不同,Meta-SGD不仅能找到最优参数,还能找到最优的学习率和更新方向。Meta-SGD只是对MAML的一个小小调整,在MAML中,我们随机初始化模型参数theta,并尝试找到可在任务间泛化的最优参数;在Meta-SGD中,不仅学习模型参数theta,还学习暗含于自适应项的学习率和更新方向。# encoding=utf-8import numpy as np# 生成数据点def sample_points(k): x = n原创 2020-09-09 18:48:47 · 1197 阅读 · 0 评论 -
第六章 MAML
MMAL算法MAML的基本思想是寻找一个更好的初始参数,这样,在初始参数良好的情况下,模型可以以较少的梯度步骤快速学习新任务。假设我们正在使用神经网络执行分类任务,该如何训练网络?从初始化随机权重开始,通过最小损失来训练怎么才能最小化损失呢?梯度下降但如何使用梯度下降来最小化损失呢?通过多个梯度步骤使用梯度下降来寻找最优权重,使损失最小,从而达到收敛在MAML中,就是试图学习相似任务的分布来找到这些最优权重。因此,对于一个新的任务,不需要从随机初始化的权重开始,而是可以从最优权重开始原创 2020-09-07 23:23:02 · 4466 阅读 · 0 评论 -
第五章 记忆增强神经网络
记忆增强神经网络(memory-augment neural networks,MANN)也是一种单样本学习,其前身神经图灵机(Neural Turing Machines,NTM),NTM能够在存储器中存储和检索信息,其思想是用外存储器来增强神经网络,NTM不是使用隐藏状态作为存储器,而是使用外存储器来存储和检索信息,其架构图如下图所示NTM重要组件:控制器:基本上是前馈神经网络或递归神经网络,对存储器进行读写。存储器:存储矩阵、存储体或简单地存储器是我们存储信息的地方,存储矩阵基本是由记原创 2020-09-06 18:30:51 · 2229 阅读 · 0 评论 -
第四章 构建关系网络和匹配网络
关系网络关系网络由两个重要的函数组成:嵌入函数和关系函数。嵌入函数用于从输入中提取特征。如果输入是图像,那么可以使用卷积网络作为嵌入函数,它会提供图像的特征向量,如果输入是文本,那么可以使用LSTM网络获得文本的嵌入。 零样本学习中的关系网络零样本学习场景中,每个类下都没有数据点,但会有元信息。元信息是关于每个类的属性的信息,元信息会被编码到语义向量Vc中,下标c表示类别。没有使用单一的嵌入函数来学习支撑集和查询集的嵌入,而是分别使用了两个不同的嵌入函数,使用第一个函数学习语义向量的嵌入,使..原创 2020-09-04 23:38:34 · 3504 阅读 · 2 评论 -
第三章 原型网络对字符集分类
原型网络对训练集中不存在的类别也具有泛化能力,与孪生网络一样,也试图学习度量空间来进行分类,基本思想是创建每个类的原型表示,并根据类原型与查询点之间的距离对查询点(新点)进行分类。使用原型网络对Omniglot字符集分类import osimport globfrom PIL import Imageimport numpy as npimport tensorflow as tfroot_dir = 'data/'# 该文件包括语言名称、旋转信息和字符数量train_sp原创 2020-09-03 23:31:32 · 1351 阅读 · 3 评论 -
第二章 使用孪生网络进行人脸识别
孪生网络是一种基于度量的单样本学习算法,主要用于各类别数据点较少的应用中。孪生网络大致上两个对称的神经网络组成,具有相同的权重和架构,最后由能量函数E连接在一起。孪生网络的目的是了解两个输入值是否相似。 使用孪生网络进行人脸识别# encoding=utf-8import reimport numpy as npfrom PIL import Imagefrom sklearn...原创 2020-09-03 17:53:15 · 2568 阅读 · 4 评论