小样本学习-pretraing+fine tuning

一.介绍:小样本学习,属于元学习的一种。目的是让机器具有自我判别的先验知识。

               比如说,我们想要训练对3类图片分别是 猪,牛,羊的模型,传统的监督学习是拿这3类的大量数据进行训练,然后得到一个模型。

               而小样本学习是想要通过其他大量的图片样本(不包括猪,牛,羊)训练出一个模型(比如相似度函数),这个模型具有先验知识(判别两类相同或者不相同的能力),所以使用这个模型,可以用来分类猪,牛,羊这三类,因为此时我们的模型已经具有分类两种类别异同的先验知识了。这是元学习的其中一种思想,可以参考下https://www.bilibili.com/video/BV1aT4y1u7e6?p=3

 

二.方法:预训练+fine tuning

      先验知识:cos函数可以用来评判两个向量之间的相似度,cosx=(a*b)/(|a|*|b|)  ,当a和b为单位向量时,cosx=a*b (向量a和b的内积) 

       这里主要是想讲一种做小样本学习的有效简单的方法,方法的思路如下:

  •  使用一个大数据集来训练一个提取特征的预训练模型,可以使用连体网络训练,也可以使用传统的监督学习进行训练。(提取特征好坏的指标可以用该预训练模型进行分类的准确率评判)

例如: 使用CNN训练,训练完成后将最后一层去掉。

  • 得到预训练模型后,选择support_set(从要分类的样本中选),然后将support_set的样本用预训练模型转换成特征向量,如:

  

  • 将其转换成特征向量后,就可以对query做分类,如下,给一个松鼠query,将其转化为特征向量,然后归一化得到向量q,分别跟上面support_set得到的三个特征向量做对比(相乘运算,然后softmax激活)

 

到这里,few-shot问题已经做完了,但是里面有一些细节可以提高,下面fine-tuning就是做这样的工作。

 

fine-tuning:可以大幅提升准确率!

        回顾一下上面的few-shot实现问题,主要是:

  •     使用预训练的神经网络,记作f(x),可以把图片xi,映射成特征向量f(xi)
  •     把n个特征向量xj输入f(x),通过softmax分类器,输出概率分布pj  ,假如support_set有三个类别,w就有三行,pj就有三个概率值,表示每类对应的概率。

           这里我们设W=M b=0, W表示support_set中每类对应的均值归一化特征向量,如果support_set有三个类别,这样表示 ,这里并没有学习w和b

           fine-tuning:思想是使用support_set的样本学习w和b。

         学习的三个技巧:

  1.          使用  作为损失函数 ,衡量yj和pj的损失。                           
  2.          合理的初始化选择,初始化 W=M,b=0和用Entropy Regularization防止过拟合
  3.           结合Cosine Similarity + Softmax Classifier, 标准的softmax 分类器:,将W和q的内积替换成sim(w,q)                     (CosineSimilarity),

                  (实际上就是把w和q在求内积之前,把w和q做归一化),得到:

 

图文来自:https://www.bilibili.com/video/BV1aT4y1u7e6?p=3

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
VITS(Variational Inference for Text-to-Speech)是一种端到端的文本到语音合成方法,它可以将文本转化为自然流畅的语音。VITS-Fast Fine-Tuning是对VITS模型进行快速微调的方法。 在传统的语音合成任务中,需要大量的语音对齐标注数据来训练模型。然而,这个过程非常耗时和昂贵。VITS-Fast Fine-Tuning的目标就是通过少量的标注数据来快速微调已有的VITS模型,以在新的任务上取得更好的性能。 VITS-Fast Fine-Tuning方法的关键在于使用变分推断(variational inference)来构建先验和后验分布。通过这个方法,我们可以使用其他大型语音合成数据集训练好的模型作为先验分布,然后使用少量目标任务的标注数据来估计后验分布。这样一来,我们就能够在新任务上快速微调VITS模型。 具体而言,VITS-Fast Fine-Tuning的过程分为两步。第一步是预训练,它使用大型语音数据集来训练VITS模型,并生成一个先验分布。第二步是微调,它使用目标任务的标注数据来调整VITS模型的参数,以获得更好的性能。由于预训练的先验分布已经包含了一定的知识,微调的过程可以更快速和高效。 总之,VITS-Fast Fine-Tuning是一种用于快速微调VITS模型的方法。它利用变分推断和预训练的先验分布,通过少量目标任务的标注数据来优化模型性能。这个方法可以加快语音合成模型的训练过程,降低训练的时间和成本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值