IT新经济|数据不够,技术来凑:单样本学习也可以很简单!



IT新经济|数据不够,技术来凑:单样本学习也可以很简单!
本文插图

影视剧中 , 警察要求目击者证人指认犯罪嫌疑人时 , 往往会给出数张照片 , 而证人通常需要凭借自己的记忆准确指认嫌疑人 。 这个过程对人类大脑来说比较容易 , 那么对机器又如何呢?
在人工智能领域 , 我们将这一过程称之为单样本学习(one-shoot learning) 。 通过开发一种计算机视觉系统 , 让其识别两个目标图像的特征 , 做出对比 , 并且输出识别的结果 。
在上面这个例子中 , 第一个目标图像即为对嫌疑人的印象 , 第二个则是警察出示的嫌疑人照片 。
深度学习是在计算机视觉领域最成功的人工智能分支 , 通过组合低层特征形成更加抽象的高层表示属性类别或特征 , 以发现数据的分布式特征表示 。
通俗来说 , 就是从普遍中总结共有规律 , 并且用已存储的共有规律信息去判断要辨别的物体 。 例如 , 从一万张猫的图片中总结出不同品种、花色、面部和体型特征信息 , 当需要验证一张图片中的动物是否为猫时 , 只需要与总结的特征信息对比即可 。 符合关键特征的则判定为猫 , 不符合的则不是 。
可以看出 , 深度学习需要大量的标记数据进行学习 。 而数据是深度学习的难点之一 。
相比之下 , 人类可以快速的学习新概念 , 对数据的要求也没有那么严格 , 机器目前无法做到这一点 , 而单样本学习恰好可以解决这个问题 。
在了解单样本学习之前 , 我们需要先了解深度学习的代表算法—卷积神经网络(Convolutional Neural Network , CNN) 。
卷积神经网络
神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型
卷积神经网络是计算机世界领域的核心算法模型 。 这是一种包含卷积计算(一种数学计算方法)且具有深度结构的神经网络 。
卷积神经网络的层级结构可分为5层 , 分别是:
1. 数据输入层(Input layer)
2. 卷积计算层(CONV layer)
3. ReLU激励层(ReLU layer)
4. 池化层(Pooling layer)
5. 全连接层(FC layer)
第一层主要是对原始图像作预处理 。
第二层是整个过程中最为重要的 。 进行卷积计算需要图像数据和卷积核 。 图像数据就是经过第一步处理过后的数据 。 卷积核就是特殊排列的数值 。 将图像数据和卷积核进行一一对应的计算 , 此过程就是卷积计算 。 得到的结果称之为特征图(feature map) 。
从理论上来说 , 卷积核越多 , 我们最终确定的特征图越多 , 对目标的特征标记就越准确 , 识别率就更高 。 比如 , 在对某人进行建档时 , 条目“姓名”、“性别”、“身高”、“体重”、“年龄”、“住址”、“籍贯”、“教育经历”等就可以理解为卷积核 , 某人的具体上述特征就是需要处理的图像数据 。 将每个条目与此人相应的具体特征对应起来的就是卷积计算 , 最终得到的完整信息表就是特征图 。
当然 , 我们可以通过多个卷积核确定目标图像的不同特征 , 因为每一个卷积核只关注某一特定的特征 , 比如在“姓名”条目下只能输入名字 。
第三层中 , ReLU(Rectified Linear Unit)意即线性整流函数 , 又称修正线性单元 , 是一种人工神经网络中常用的激活函数 。 该层主要任务是输出 。
第四层池化层适用于压缩数据和参数的量 , 用以提高识别的速度 。 比如在上面的个人信息建档示例中 , 为了压缩数据 , 我们可以只记录完整信息表中最重要的信息 , 将其余冗杂部分去掉 。
最后一层是全连接层 , 就是将所有局部信息重组 , 比如将上述第二部中的“姓名”、“年龄”等信息放置到同一张信息表中 。
如上所述 , 此类系统需要大量的标注数据和学习 。 而往往我们没有这么多的标注数据 。 在机场、高铁站等人流量大的场所 , 如果要使用此类网络识别 , 则必须要保证在数据库中有每个人多张的照片信息 , 因为该网络还需要学习在不同环境下的面部数据 。


推荐阅读