一、One-Shot Learning的意义
1. 减少训练数据
- 深度学习需要大量的数据
- 例:MNIST为了10个类别的区分,需要60000张训练图像,平均一个类别需要6000张训练图像
- One-Shot试图将一个类别的训练图像减少,极端情况时只有一张图片
2. 在新类别的数据出现时,无需重新训练
- 传统的神经网络无法处理没有出现在训练集中的类别
- 例:以员工刷脸打卡为例,使用深度神经网络,每一个新员工入职,都是一个类别,需要重新训练深度神经网络。如果每天都有新员工入职,每天都要重新训练网络,成本非常高
- One-Shot Learning可以无需重新训练即可应用于新的类别的数据
二、One-Shot Learning的原理
1. One-Shot与传统神经网络的区别
- 传统的神经网络试图学习某一个类别图像的内部表达
- One-Shot Learning试图学习不同图像之间的区别(可以是同一类别or不同类别)
3. 图像之间的相似度
-
图像相似度
1)给定图片A和图片B,将A转换为一个表达P(embedding vector) ,将B转换一个表达Q
2)如果A和B属于同一个类别,那么我们希望P和Q相似
3)如果A和B不属于同一个类别,那么我们希望P和Q不相似 -
相似度度量
1)可以采用欧几里得距离,但是一般不选用这种度量方式
![](https://img.haomeiwen.com/i2892763/cc88f577933d262e.png)
2)Siamese Network方式
![](https://img.haomeiwen.com/i2892763/02393ae98c7b7ba9.png)
网友评论