IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 小样本学习和元学习基础知识 -> 正文阅读

[人工智能]小样本学习和元学习基础知识

小样本学习和元学习基础知识

人工智能最终依赖于大数据中学习。很难用很少的数据快速概括一个模型。相反,人类可以快速应用他们过去学到的东西来学习新事物。一个重要的方向是缩小人工智能与人类之间的差距。通过有限数据进行学习。

少样本学习(few-shot learning)

深度学习是data hunger的方法, 需要大量的数据,标注或者未标注。少样本学习研究就是如何从少量样本中去学习。拿分类问题来说,每个类只有一张或者几张样本。少样本学习可以分为zero-shot learning(即要识别训练集中没有出现过的类别样本)和one-shot learning/few shot learning(即在训练集中,每一类都有一张或者几张样本)。

人类是有少样本学习的能力。以zero-shot learning来说,比如有一个中文 “放弃”,要你从I, your, she, them, abnegation 五个单词中选择出来对应的英文单词,尽管你不知道“放弃”的英文是什么,但是你会将“放弃”跟每个单词对比,而且在你之前的学习中,你已经知道了I, your, she, them的中文意思,都不是“放弃”,所以你会选择abnegation。

首先明确几个概念
(1)support set :每次训练的样本集合
(2)query set :用于与训练样本比对的样本,一般来说query set就是一个样本
(3)在support set中,如果有n个种类,每个种类有k个样本,那么这个训练过程叫n -way k-shot ,如下图就是5-way 1-shot。


元学习(meta learning)

元学习是要“学会如何学习”,即利用以往的知识经验来指导新任务的学习,具有学会学习的能力,元学习被视为实现通用人工智能(Artificial General Intelligence,AGI)的基础,也必将令人工智能走出深度学习的困境。目前,元学习方法主要分为:度量方法、模型方法、优化方法以及基于数据增强。

基于度量的元学习的核心思想类似于最近邻算法(k-NN分类、k-means聚类)和核密度估计。该类方法在已知标签的集合上预测出来的概率,是support set中的样本标签的加权和。权重由核函数计算得出,该权重代表着两个数据样本之间的相似性。Convolutional Siamese Neural Network提出了一种用孪生网络做one-shot image classification的方法;Matching Network对support set进行特征提取后,在embedding空间中利用Cosine来度量,通过对测试样本计算匹配程度来实现分类;Relation Network关系网络提出的relation module结构替换了Matching Network和Prototypical Network中的Cosine和欧式距离度量,使其成为一种学习的非线性分类器用于判断关系,实现分类;Prototypical Network利用聚类思想,将support set投影到一个度量空间,在欧式距离度量的基础上获取向量均值,对测试样本计算到每个原型的距离,实现分类。然而,虽然训练模型不需要针对测试任务进行调整,但当测试与训练任务距离远时,效果不好,另外,当任务变得更大时,逐对比较会导致计算成本昂贵。

meta learning 是学习如何学习,few-shot learning 是要达到的目标(用一点点训练资料就可以训练出我们要的结果)。为什么觉得meta learning 和few-shot learning 像呢?就是希望达到few-shot learning,想要一个学习演算法只看到一点点资料就可以学起来。few-shot learning的Algorithm往往是用meta learning 得到的。





k-way是support set 里有多少个类别;n-shot是每个类别有多少个例子。

如果做few-shot 分类,预测的准确率会受support set 的类别数量和样本数量影响。随着分类类别数量增加,准确率会降低;随着number of shot的增加预测值会增加。

学一个函数来判断相似度。

其他

Omniglot数据集

Office website

Tensorflow

常用的数据集:Omniglot是meta learning最常用的数据集。这个数据集不大,只有几兆,很适合学术界使用。Omniglot有点类似MNIST。MNIST有10个类每个勒有6000个样本;Omniglot的类别很多,每个类的样本却很少,有1600多个类,每个类只有20个样本。

另一个数据集是Mini-ImageNet。一共有100类,每个类有600个样本,样本是84*84的小图片。

https://deepai.org/dataset/imagenet

分类问题:
(1)Siamese Neural Network
(2)Matching Network
(3)Prototypical Network
(4)Relation Network

介绍两种训练方法。第一种是每次取两个样本,比较它们的相似度,需要用大的数据集,每类有标注,每类下面有很多个样本。用训练集构造正样本和负样本,正样本告诉神经网络什么东西同一类,负样本可以告诉神经网络它们的区别。正样本是通过每次抽取一张图片,然后从同一类中随机抽取另一张图片,标签设置为1。负样本是随机抽取一张图片,然后排出这类,在其余类中随机抽取一张,两张图片类别不同,标签设置为0。


希望神经网络的输出接近标签,把标签和预测的差别记为损失函数,可以是cross entropy。有了损失函数就可以用反向传播来计算梯度,然后用梯度下降来更新模型参数。

Siamese Network是计算两两之间的相似度。另一种方法是triplet Loss。每次需要三张图做一轮训练,首先从训练集中随机选一张图片作为anchor(锚点),记录下这个锚点,然后从该类别中随机抽取一张图片作为正样本,然后排出这个类别,做随机抽样,得到一个负样本。

Prototypical Networks是基于这样一种思想,对于每个类别,都存在一个嵌入空间中的点,称为类的原型,每个样本的嵌入空间表示都会围绕这个点进行聚类。为了做到这一点,即利用神经网络的非线性映射将输入映射到嵌入空间,并将嵌入空间中支持集的平均值作为类的原型。预测分类的时候,就只需要比较跟支持集类别的哪个类的原型更近了。

基于度量的元学习的核心思想类似于最近邻算法(k-NN分类、k-means聚类)和核密度估计。该类方法在已知标签的集合上预测出来的概率,是support set中的样本标签的加权和。权重由核函数计算得出,该权重代表着两个数据样本之间的相似性。因此,学到一个好的核函数对于基于度量的元学习模型至关重要。度量元学习正是针对该问题提出的方法,它的目标就是学到一个不同样本之间的度量或者说是距离函数。任务不同,好的度量的定义也不同,但它一定在任务空间上表示了输入之间的联系,并且能够帮助我们解决问题。

Siamese Neural Network孪生网络做one-shot image classification的方法;Matching Network对support set进行特征提取后,在embedding空间中利用Cosine来度量,通过对测试样本计算匹配程度来实现分类;Relation Network关系网络提出的relation module结构替换了MatchingNet和Prototypical Net中的Cosine和欧式距离度量,使其成为一种学习的非线性分类器用于判断关系,实现分类;Prototypical Network利用聚类思想,将support set投影到一个度量空间,在欧式距离度量的基础上获取向量均值,对测试样本计算到每个原型的距离,实现分类。

然而,虽然训练模型不需要针对测试任务进行调整,但当测试与训练任务距离远时,效果不好,另外,当任务变得更大时,逐对比较会导致计算成本昂贵。基于度量的元学习方向倾向于最大程度上抽取任务样本内含的特征,使用特征比对的方式判定样本的种类,因此如何提取最能代表样本特点的特征便成为了该方向研究重点。相比于普通学习得到的特征表示,元学习得到的特征表示(Meta-learned Representations)是有区别的,更有助于少样本学习。

使用元学习的特征表示能够提升少样本学习的效果,作者归为两种不同的机制:
(1)固定特征提取模块的参数,只更新(微调)最后的分类层(Classification Layer)参数。在这种机制下,类别数据点在特征空间中会更加聚集,那么在微调时,分类边界对于提供的样本会没那么敏感。
(2)在模型参数空间寻找最优点作为基础模型,该最优点接近大部分特定任务(Task-specific)模型参数的最优点,那么在面对新的特定任务时,能够通过几步的梯度计算,将基础模型更新为适用于新任务的特定模型。
后续会持续更新关于小样本学习的文章。

每天按时吃饭绝不敷衍,致力于不断寻找更多的人类美食,然后…然后我就胖了。

大家也要按时吃饭哟??

祝大家国庆节快乐哇!😁

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 16:51:20  更:2021-10-01 16:52:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 20:28:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码