深度强化元学习教程---元学习概述
发布日期:2021-06-27 04:05:39 浏览次数:49 分类:技术文章

本文共 1699 字,大约阅读时间需要 5 分钟。

深度强化元学习是近期深度学习技术的一个另人瞩目的新兴领域,其利用元学习,解决了深度学习需要大数据集的问题,以及强化学习收敛慢的问题。同时元学习还可以适用于环境不断改变的应用场景,具有巨大的应用前景。

元学习概述

元学习简介

提到元学习,我们通常想到Few-Shot Learning、One-Shot Learning、Zero-Shot Learning,其实这些都是K-Shot Learning的特例。假设我们研究一个图像分类问题,每个类别中有K个图像,我们就称这个问题是K-Shot Learning。如果我们研究的问题其有N个类别,每个类别中有K个图像,我们就称这个问题是N-Way K-Shot Learning。了解这一概念,有助于大家今后阅读元学习相关论文。有一类特殊情况,就是所谓的Zero-Shot Learning,大家可能会有疑问,既然都没有训练样本,怎么进行学习呢?在这里,我们虽然没有训练样本,但是我们有这些类别的元数据,我们可以根据未知样本这些元数据,来判断样本所属类别,这与深度学习技术出现之前,计算机视觉领域的人为特征以及基于这些特征的识别方法有些相似之处。

为了能够从小样本中有效学习,元学习通常采用迭代式增量训练模式。还以图像分类为例,我们要处理的问题具有2个类别,我们决定每个类别里给5个样本,即是一个2-Way 5-Shot Learning问题。假设初始时给定的数据集为D^{0}。我们首先从D^{0}中随机取出5个第一个类别图像,5个第二个类别图像,组成支撑数据集(又叫训练数据集)D_{1}^{train}​,接着我们随机抽取3个第一个类别图像,2个第二个类别图像,组成查询数据集(又叫测试数据集)D_{1}^{test}​,其组成元学习第一个任务的数据集D_{1} \in \{ D_{1}^{train}, D_{1}^{test} \}。抽取完成后的数据集变为D^{1},我们接着从D^{1}抽取第二个数据集D_{2} \in \{ D_{2}^{train}, D_{2}^{test} \}。依此类推,生成N个任务。

在元学习中,每个任务作为一个单位,称之为片段(episode)。在每个片段中,我们D_{i}^{train}​上进行训练,在D_{i}^{test}​数据集上进行检验。通过一系列片段式学习,从而完成最终的学习过程。

元学习分类

元学习有很多种分类方式,从确定最优权重到学习优化器。在这里我们将元学习分为如下三类:

  • 确定测度空间;
  • 确定初始状态;
  • 确定优化器;

确定测度空间

在这种元学习算法,我们将学习适用于当前任务的测度方法,通过度量样本间的距离,来判断样本属于哪些类别。例如我们在进行图像分类任务中,我们用同样的神经网络,从两幅图像中抽取出特征,然后计算两个图像特征的某种距离(由神经网络学习确定),然后根据距离,来判断这两幅图像是否属于同一个类别。基于测度空间元学习的主要方法有:Siamese网络、原型网络、关系网络。

确定初始状态

以图像分类为例,在传统的机器学习算法中,我们首先随机地将网络连接权值和偏置值设置为足够小的数,然后计算训练本样的代价函数,然后代价函数与连接权值和偏置值的微分,按照梯度下降算法,调整连接权值和偏置值,当代价函数值达到最小值时,也就求出了连接权值和偏置值的最优解。

在确定初始状的元学习中,我们不是随机初始化的连接权值和偏置值,我们一开始就将连接权值和偏置值设置为最优值或接近于最优值,这样我们的算法就能很快收敛,具有快速学习的能力。确定连接权值和偏置值的最优值的算法有:MAML、Reptile、Meta-SGD。

确定优化器

在传统的深度学习方法中,我们通过优化器来使代价函数的值达到最小值,从而找到连接权值和偏置值的最优解,典型的优化器包括:SGD、Ada、RMSProp、ADAM等。但是如果我们可用数据集很小,这些优化器的性能就会急剧恶化。以图像分类问题为例,为了解决这个问题,我们将用于图像分类的网络称之为基础网络,用于学习优化器的网络叫做元网络,我们使用元网络来优化基础网络。

转载地址:https://blog.csdn.net/weixin_42137700/article/details/97750358 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CCAI 2019 | 俞扬:人工智能的决定权依然在人
下一篇:数据产品经理:如何做需求管控?

发表评论

最新留言

不错!
[***.144.177.141]2024年04月21日 22时51分04秒