pretraining+fine tuning
few shotlearning简单实现方法:在大规模数据做预训练模型,然后在小规模suport set上做fine tuning。方法简单准确率高。
基础数学知识:
cos函数可以判断两个向量的相似度:
长度=1时
长度=2时
softmax:
few-shot leaning 做法:
1先用大数据集训练一个神经网络,来从图片提取特征(预训练模型用来提取特征,图片的模型是否使用?其他EEG数据是否可以作为大数据来作为预训练模型的数据?若用EEG数据怎么判定预训练模型进行数据特征提取的好坏?)
2做预测时,需要用到这个预训练神经网络,将数据映射成特征向量,
3当要预测query时,就可以把query通过神经网络映射成一个特征向量,再将support set中的样本也通过神经网络映射成特征向量,然后计算query与support set中的样本cos值,输出值最小的support set样本。
预训练模型结构:
2few-shot 分类方法(常用)
(三分类)step1:从support set中每类取两个样本,通过预训练模型提取特征取平均值,然后对均值特征向量进行归一化
step2:给一张query图片,通过预训练模型映射成特征向量,然后归一化得到向量Q
step3:对Q和u1,u2,u3组成的行向量M进行相乘,然后通过softmax()输出
fine-tuning:用来提高用预训练方法实现few-shot learning的准确率(学习w和b):
训练技巧:目标是通过support set学习一个分类器,
技巧1是用W=M,b=0初始化,W是之前的均值特征向量,b=0
技巧2:用Entropy正则化
技巧3:对softmax前的两个向量先求cos