“小样本”学习,谁说的是数据少?

“Few-shot learning”被翻译成“小样本学习”,而不是“Few-dataSet learning”翻译出来的“小样本”。

拿文本分类来说,传统的Deep learning 是让模型学会在给定的类上对模型input进行分类,利用众多的(input,label)对进行模型分类功能的拟合:

                                        

F()这个分类模型只知道了在现有类型(label1,label2,...,labeln)对input进行分类,如果input的label类没在现有的label中,那么就会被标注为None。对于新的未知类型,传统的Deep learning需要重行训练并需要大量的标注语料在新类型上。


在小样本学习中,它的训练training和测试testing过程与传统的Deep learning大有不同,在training和testing各自的过程中数据又被分出了support_set 和 query_set 。support_set 和 query_set 是没有交集的两个数据集

对training过程的support_set和query_set数据集使用的理解:

             在training中包括使用support_set进行训练的过程,让模型学习某种能力,如果是文本分类,就让模型learning to learn 分类的能力。support_set是让模型在练习这种能力,query_set是在检测这种能力学习的效果。 

             在testing中support_set数据的类型是training中没有的,在testing过程中同样是有训练的,训练让模型快速增加新的知识,这里query_set 是在检测快速学习的新知识的效果,即快速学习得怎么样。


小样本学习过程中最常见的一个问题是过拟合,这个问题是由于Deep learing在n_wey,k_shot上的学习能力太强,一个task的小样本在神经网络中是肯定会出现过拟合的。所以神经网络需要多个task,如模型在learning to learn “猫和狗”的分类很快就会学会,这时候模型只learning to learn 了分类“猫和狗”,如果来了一个新的区分类“老鼠和松树”它不能很快的并准确的迁移学习到这个分类,因为模型只练习了一个分类的task,泛化能力还很弱。这时我们给模型更多的分类的task,如“熊和熊猫”、“老虎和狮子”、“马和鹿”,除了相似的动物还可以是汽车,如“卡车和轿车”、“自行车和电车”,区分相似的植物,如“槐树和杨树”、“月季花和和玫瑰花”、“小麦和韭菜”、“玉米和高粱”等等。

这时模型learning to learn的多个task,模型就掌握了区分相似实物的能力,再来一个新的相似物区分task就能快速正确的分辨。 在training过程中,如果不断的给模型新的task,它是不是会不断的增加这种能力应用于更广范围的区分相似实物的能力。这种能力的受限条件应该是神经网络的选择,如使用bert还是LSTM,更深的神经网络还是浅的神经网络,神经网络是由参数构成的,这些参数被叫做神经元,当神经网络达到一定的饱和度是参数的有效性就达到了最佳。

参数过多会出现过拟合,参数不足学习能力达不到,出现欠拟合。参数的有效性需不需要考虑,怎样考虑这参数的有效性。

你可能感兴趣的:(“小样本”学习,谁说的是数据少?)