one-shot learning简介
这是迁移学习的两种极端形式
zero-shot learning
指的是我们之前没有这个类别的训练样本,但是我们可以学习到一个映射X->Y, 如果这个映射足够好的话, 我们就可以处理没有看到的类了. 比如, 我们在训练时没有看见过狮子的图像, 但是我们可以用这个映射得到狮子的特征. 一个好的狮子特征, 可能就和猫, 老虎等等比较接近, 和汽车, 飞机比较远离. 感性认识的话, 虽然我们不知道这东西叫狮子, 但是我们可以说出他和谁谁谁像..
One-shot learning
指的是我们在训练样本很少, 甚至只有一个的情况下, 依旧能做预测. 如何做到呢? 可以在一个大数据集上学到general knowledge(具体的说, 也可以是X->Y的映射), 然后再到小数据上有技巧的update.
我们可以认为零数据学习场景包含三个随机变量: 传统输入 x, 传统输出或目标 y, 以及描述任务的附加随机变量 T. 该模型被训练来估计条件分布 p(y|x;T), 其中 T 是我们希望执行的任务的描述.
下面的试验主要是针对字符识别来做的
总体方法
verification_task --> one-shot_classification
1. 学习图像的表示
learn image representations via a supervised metric-based approach with siamese neural networks
verification task
学习一个神经网络, 由于判断一个图像对是否属于同一类
siamese convolutional neural networks
1. are capable of learning generic image features useful for making predictions about unknown class distributions even when very few examples from these new distributions are available;