Python元学习-通用人工智能的实现 第1章 阅读笔记

本书代码:https://github.com/sudharsan13296/Hands-On-Meta-Learning-With-Python
本书ISBN号:9787115539670

在这里插入图片描述

第1章

1.1 元学习

元学习能够生成一个通用的人工智能模型来学习执行各种任务,而无须从零开始训练它们。我们可以用很少的数据点来训练元学习模型去完成各种相关的任务,因此对于一个新任务,元学习模型可以利用之前从相关任务中获得的知识,无须从零开始训练。

数据集中有两个类别,即狗和猫,所以可以称之为双(n = 2)类别k 样本学习——n 表示数据集中类别的数量。k 样本学习中的k 表示每个类别中数据点的数量。

为了使模型从少量的数据点中学习,我们将用同样的方法训练它们。因此,当有一个数据集D 时,我们从数据集中的每个类别中挑选几个数据点,称之为支撑集(support set)。同样,从每个类别中挑选一些不同的数据点,称之为查询集(query set)。于是,我们用一个支撑集训练模型,并用查询集来测试模型。我们以一种阶段式的方式(episodic fashion)训练模型,即在每个阶段中,从数据集D 中抽取少量数据点,准备支撑集和查询集,并使用支撑集进行训练,使用查询集进行测试。因此,在多个阶段后,模型将学会如何从较小的数据集中学习。

1.2 元学习的类型

  • 学习度量空间
  • 学习初始化
  • 学习优化器

1.2.1 学习度量空间

在基于度量的元学习场景中,我们将学习合适的度量空间。假设我们想学习两幅图像之间的相似性。在基于度量的场景中,我们使用一个简单的神经网络从两幅图像中提取特征,并通过计算两幅图像特征之间的距离找到相似性。这种方法被广泛应用于数据点较少的少样本学习中。接下来的章节将介绍基于度量的学习算法,如孪生网络、原型网络和关系网络。

1.2.2 学习初始化

在这个方法中,我们尝试学习最优的初始参数值。这是什么意思呢?假设我们正在构建一个神经网络来对图像进行分类。我们首先初始化随机权重,计算损失,并通过梯度下降来最小化损失。因此,我们将通过梯度下降找到最优权重,使损失最小。如果不随机初始化权重,而是用最优值或者接近最优值的值来初始化权重,那么就可以更快地收敛,并快速学习。接下来的章节将介绍如何通过MAML、Reptile 和Meta-SGD 等算法来精确地找到这些最优的初始权重。

在MAML 和Reptile中,我们试图找到更好的、可在多个相关任务间泛化的模型参数,这样就可以用更少的数据点快速学习。

1.2.3 学习优化器

在这个方法中,我们尝试学习优化器。一般如何优化神经网络呢?答案是通过基于大数据集的训练来优化神经网络,并使用梯度下降来最小化损失。但是在少样本的学习场景中,梯度下降失效了,因为我们的数据集较小。因此,在这种情况下,我们将学习优化器本身。我们将有两个网络:试图学习的基网络和优化基网络的元网络。

我们用递归神经网络RNN(也可使用LSTM)代替传统的梯度下降优化器。梯度下降的行为基本上是一个从输出层到输入层的更新序列。我们将这些更新存储在一个状态中,这样就可以使用RNN 并将更新存储在RNN 单元中。

该算法的主要思想是用RNN 代替梯度下降法。我们正在学习通过RNN 来执行梯度下降,而这个RNN 是通过梯度下降来优化的。

用RNN 来寻找最优参数。因此,RNN(优化器)找到了最优参数并将其发送给优化对象(基网络)。优化对象使用这个参数,计算损失,并将损失发送给RNN。基于该损失,RNN通过梯度下降优化自身,并更新模型参数θ 。

RNN,将优化对象的梯度▽t 以及它的上一个状态 ht 作为输入,并返回输出——可以最小化优化器损失的更新 gt 。我们用函数m来表示RNN:
在这里插入图片描述
在这里插入图片描述
可以使用 在这里插入图片描述来更新模型参数值。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值