从one-shot问题的解法发现新的deep learning应用思路

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ybdesire/article/details/82974392

摘要

本文讲述了什么是one-shot问题,以及one-shot问题的解决方案。并从这种解决问题的思路中得到启发,得到了一种deep learning的新的应用思路。

one-shot问题

在我们训练有监督学习模型时,为了让模型“见多识广”,我们会在构建训练集时,注重每个类别样本数的平衡。

但大家有没有想过另一种情况,加入我们做你公司员工的人脸识别系统,每个员工只会给你一张图片吧,每个样本一张图片,通常是没法训练机器学习模型来解决分类问题的。还有你公司的员工经常变动,有新人加入或老员工离职,我们都要重新训练一次模型。

所谓的one-shot问题,就是指这种情况,对每一个类别,只提供一个或少量训练样本,且样本又有变动性。

怎么样才能做到对小样本也能适应,样本的训练集变化也不需要重新训练模型呢?

如何解决

传统的分类问题,Y值的label标注,都是用类别标号进行标注(或者one-hot编码)。这样我们学习得到的模型,就是分类模型,能直接通过softmax给出类别标号。

要解决one-shot问题,就不能让模型学习直接分类了,因为每一个类别只有一个样本,是无法通过学习得到好模型的。

让模型学习(得到)一个similarity函数,就是解决one-shot问题的方案。这样的模型,输出的值不是类别,而是给定(输入)两幅图像的相似度。

这样就能解决刚刚提高的人脸识别中的两个问题:

  • 每个员工只给你一张图片,但你用两两配对作为模型输入时,每张图片都能被模型学习多次
  • 有新员工入职或老员工离职,也不需要重新训练模型,因为模型是做相似度输出,并不涉及具体的label

新思路

解决分类问题,不让模型直接学习分类(直接输出类别标注),而是让模型学习相似度函数,就解决了deep learning量大难题:样本少;训练集样本变动(减少、增加某些新的label)导致模型必须重新训练。

参考

  • andrew ng “CNN deep learning” chapter-04

猜你喜欢

转载自blog.csdn.net/ybdesire/article/details/82974392
今日推荐