【王树森】Few-Shot Learning小样本学习 (1/3): 基本概念(个人向笔记)

前言

  • 下面是犰狳和穿山甲的一些图片。现在要你判断右边给定的图片是犰狳和穿山甲。我相信应该不知道犰狳和穿山甲长啥样,但是在看了左边的 Support Set 之后,你就有能力从两者之间辨别出来。
  • 既然人可以通过这四张图片分辨出犰狳和穿山甲。那么计算机能不能做到呢?显然四张图片的数据量根本不足以训练一个深度学习网络
  • 本节课要讲的小样本学习就是用来解决这样的问题的
  • 小样本学习的目标是让机器学会自己学习,小样本学习并不追求能够分辨没见过的食物,只求能分辨出事物的异同,让它能够在被给定两张图片的情况下分辨是不是一个东西
    在这里插入图片描述

分辨能力

  • 在数据集中并没有针对松鼠进行训练,但是模型学会了判别事物的异同,所以可以推断出这两个事物是一个东西
    在这里插入图片描述
  • 同理对于兔子来说,模型并不知道兔子是什么,因为在训练集中没有兔子,但是模型能分辨出两者是一个事物:
    在这里插入图片描述
  • 对于在训练集中没有的穿山甲和斗牛犬,模型能够识别出两者不是同一种动物
    在这里插入图片描述
  • 给定一个询问和一个 Support Set,模型可以分辨出询问和 Support Set 中的哪张图最像:
    在这里插入图片描述

Meta Learning

  • 小样本学习其实是一种 Meta Learning,但是这里直接把 Meta Learning 直接看成小样本学习就可以了
  • Meta Learning 的实际含义是:Learn to learn,自己学会学习
  • 举个例子:对于一个小朋友来说,它既没有见过水獭,也没有见过卡片上的动物,但是小朋友能够有区分不同事物的能力,所以小朋友能把眼前的事物和卡片上的匹配
    在这里插入图片描述
  • 在 Meta Learning 的术语中,小朋友眼前的动物就是 Query,卡片上的动物就是 Support Set,而 Meta Learning 就是培养小朋友的自主学习能力
  • 如果Support Set 每个类别只有一张图片,那么就是 One-Shot Learning,如果有几张图片,就是 Few-Shot Learning
    在这里插入图片描述

Supervised Learning vs. Few Shot Learning

  • Supervised Learning: 在训练集里面有很多哈士奇的图片,模型认识哈士奇,所以能够分辨出哈士奇
    在这里插入图片描述
  • Few Shot Learning: 训练集里面没有兔子,模型根本就不认识兔子。所以我们给模型提供更多信息:Support Set,而有了 Support Set,模型就能认出 Query 和 Support Set 里面的兔子是一样的
    在这里插入图片描述

k k k-way n n n-shot Support Set

  • k k k-way:一共有 k k k 个类别
  • n n n-shot:每个类别有 n n n 张图片
    在这里插入图片描述

Prediction Accuracy

  • 做 Few-Shot Learning 的时候,预测的准确率会受到类别的影响,类别越多,准确率越低:
    在这里插入图片描述
  • 而 shot 增加,预测的准确率随之增加
    在这里插入图片描述

Basic Idea

  • Few-Shot Learning 的想法是学习一个相似度函数:
    在这里插入图片描述
  • 首先可以在 Image-Net 这种大数据集先做训练,用学到的相似度函数来做预测
    在这里插入图片描述
  • 在预训练后,在 Support Set 中找出相似度最高的作为预测的结果:
    在这里插入图片描述
  • 预测实例:
    在这里插入图片描述
  • 常用数据集1:Omniglot。这个数据集不大,只有几兆,很适合学术界使用。这是个手写数字数据集,特点在于类别多,但是每个类别的样本比较少。有很多种字母表,每个字母表都有很多不同的字符,一共有1623种不同的字符,每个字符都由20个不同的人手写。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 常用数据集2:Mini-ImageNet:
    在这里插入图片描述
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
王树森的Q学习是一种强化学习算法,广泛应用于机器学习领域。 Q学习是通过不断迭代更新一个称为Q值的表格来实现的。这个表格记录了每个状态和动作组合的Q值,表示在某个状态下,采取某个动作所获得的预期回报。通过学习更新Q值,智能体能够学会在不同的情境下选择最优的动作。 王树森的Q学习算法主要包含以下几个步骤: 1. 初始化Q值表格,设置初始状态和动作; 2. 在每个时间步骤中,智能体观察当前状态和可用的动作,并根据一种策略(如epsilon-greedy)选择一个动作; 3. 执行所选择的动作,观察新的状态和获得的奖励; 4. 更新Q值表格,使用Q-learning更新公式:Q(s, a) = (1 - α) * Q(s, a) + α * (r + γ * max(Q(s', a'))),其中α是学习率,γ是折扣因子,r是获得的奖励,s'是新状态; 5. 重复上述步骤,直到达到指定的终止条件(如达到最大迭代次数或Q值收敛)。 王树森的Q学习算法具有以下优点: 1. 简单而高效:Q学习算法易于理解和实现,可以在很多问题上取得良好的效果; 2. 模型无关性:Q学习不需要事先了解环境的动力学模型,只需要通过与环境的交互进行学习即可; 3. 可扩展性:Q学习可以应用于离散或连续动作空间的问题。 然而,王树森的Q学习算法也存在一些限制和挑战: 1. 状态空间和动作空间的维度较高时,Q值表格会变得非常庞大,导致算法的计算和存储开销很大; 2. Q学习对环境中随机性的处理不够灵活,可能会收敛到局部最优解; 3. Q学习算法通常需要大量的训练数据和迭代次数才能获得较好的结果。 综上所述,王树森的Q学习是一种经典的强化学习算法,通过不断更新Q值表格来实现智能体的学习和决策。虽然存在一些限制,但Q学习在许多问题上取得了良好的效果,是机器学习领域中的一项重要研究内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值