极悦娱乐类脑认知智能研究组在Nature出版社旗下期刊Scientific Data上在线发表了一篇题为“N-Omniglot, a large-scale neuromorphic dataset for spatio-temporal sparse few-shot learning”的论文,提出了用于时空稀疏小样本学习的大规模神经形态数据集——N-Omniglot,为脉冲神经网络的学习与训练提供了一个更具挑战性的基准。 

      深度学习的成功在很大程度上归功于像ImageNetCOCO这样的数据集的引入。然而针对类脑智能,特别是脉冲神经网络(Spiking Neural Network, SNN)的发展,目前广泛使用的数据集并不十分适用。为了促进类脑智能,特别是脉冲神经网络SNN的发展,研究人员们使用DVS研制并提供了许多神经形态数据集,但现有数据集往往存在时间相关性很低,不能完全反映和发挥时间信息处理能力等问题。其特征如表所示。除了稀疏编码降低能耗,从少数样本中快速学习新概念也是人脑的重要能力之一,但这依然是基于脉冲神经网络的机器学习中的一个开放问题。

     

      为了解决这些问题并弥补这一差距,类脑认知智能研究组提出了第一个用于小样本学习的神经形态数据集:N-Omniglot。原始的Omniglot数据集是在小样本学习领域被广泛使用的数据集。N-Omniglot由来自50种不同语言的1623个手写字符组成。每个字符只有20个不同的样本。它通常被认为是静态文字图像,而忽略了书写过程中丰富的时间信息。据文章第一作者博士生李杨指出,在神经形态小样本学习领域,SNN还处于起步阶段,虽然构建了这样的数据集,但几乎没有发展出合适的算法来支持这一任务。为了证明N-Omniglot和编码的Omniglot的区别,所有的实验都在N-Omniglot和编码Omniglot上进行。如下图所示,对待静态图像,团队采用泊松编码和常数编码。由于获取神经形态数据的DVS相机具有较高的时间分辨率,而过长的时间轴对于目前的时钟驱动的SNN算法来说是一个巨大的负担。因此,团队以或运算及脉冲发放率对事件数据进行处理。

     

    对静态图像的编码以及对事件数据的预处理 

      文章共同作者博士生董一廷介绍,为了证明N-Omniglot的有效性和为SNN算法的训练提供新挑战的潜力,本研究对四种SNN算法进行了实验,包括对两种通用的经典模式分类方法和两种小样本学习算法的适配或SNN版本。 

    四种小样本学习基准挑战N-Omniglot数据

      最近邻方法可以在一定程度上评价数据集样本的可分性,同时可为其他算法提供一个可进行比较的基准(benchmark)。如图c所示,团队针对事件数据进行了适配。最近邻方法将新输入的样本与训练集中的每一个样本比较,并找到根据给定的距离测量函数找到与其最近的K个样本,将该样本归属到K个邻居所属的最多的类别。实验中,使用了不同样本之间的欧式距离作为距离度量函数。其中,在使用直接编码时,为了避免不必要的计算,团队使用直接编码的原始静态图像进行测试,对于其他编码则计算了每个时刻的合成帧的距离。 

      小样本学习的难点在于分类类别个数多,同时单个类别样本个数少。即使如此,此类任务仍然可以直接作为一般的分类问题,使用通用的分类器来处理。因此,研究构建了一个带有LIF神经元的脉冲卷积神经网络来处理数据集。它由两个卷积层和两个全连接层组成。每个卷积层后面都有一个步长为 2的平均池化层。 由于脉冲神经网络的不可微分特性,团队使用代理梯度进行训练。即使不是为小样本学习任务特殊设计的,该算法仍能得到相对有效的结果。另一方面,作为比较,研究还设计了一个ANN的网络模型,如图a所示,它使用卷积层作为特征提取器,同时连接了Long Short Time Memory(LSTM)用于整合时间维度的信息。 

      孪生网络(Siamese Net)是一个经典的基于度量的小样本学习算法。因为原始的孪生网络无法处理神经形态数据集。因此,团队对其进行了改进,将使用了LIF神经元的SNN网络作为网络主干架构,为模型添加处理时序信息能力。孪生网络同时输入两个样本,样本对属于同一类别则标记为1,否则为0。网络通过对两个样本进行比较,判断是否属于同一类别。如图b所示,两个样本在结构上共享网络的前半部分,两个特征图的差值输入到后面的全连接层中。测试过程中,给定查询集,与支持集样本一一比较,输出概率值最大的类别作为分类结果。 

      模型无关的元学习(Model-Agnostic Meta-Learning, MAML)是一种经典的基于优化的小样本学习算法。基于同样的原因,团队将其改进为了SNN网络,使用LIF神经元的SNN网络作为网络主干架构,让模型有能力处理神经形态数据集。MAML 尝试训练一个可以在少量迭代后快速拟合的网络。 首先,从数据中随机抽取固定数量的类别,每个类别随机抽取样本,然后输入网络进行运算。复制权重并在支持集上进行几次迭代,然后使用查询集进行误差计算,并反向传播误差,得到的梯度在原始网络权重上更新。测试阶段则利用支持集更新几次迭代后测试。 

      据文章共同作者助理研究员赵东城介绍,实验结果表明,四种方法在N-Omniglot上的性能都低于在Omniglot上的结果,以Siamese Net实现20 way 1 shot任务为例,性能从75.3%下降到54.0%,原因是所提出的数据集在空间维度上更加稀疏。数据在时间维上的相似性低于基于静态图像或泊松编码的输入,这给脉冲神经网络SNN学习带来了新的挑战。另一个原因是缺乏神经形态数据集的预处理方法。 

      值得注意的是,团队同时测试了两种经典的小样本学习方法在不同仿真时间下的识别精度。结果表明,模拟时间越长,精度越低。这是因为模拟时间越长,事件被划分的帧数越多,帧与帧之间的信息连接就越困难,说明数据描述符对于提高脉冲神经网络SNN提取更重要时空特征的能力至关重要。因此,N-Omniglot可以被认为对研发未来的脉冲神经网络是一个有效的、鲁棒的、具有挑战性的神经形态数据集。 

      本项研究是课题组长期推进的科学探索项目类脑认知智能引擎Brain-inspired Cognitive Intelligence Engine (智脉BrainCog)’的一部分和阶段性成果。文章的责任作者曾毅研究员表示:在支撑类脑通用人工智能探索的数据引擎方面,可以把我们这次取得的进展看作万丈高楼上的一块砖瓦,它为类脑脉冲神经网络在小样本学习领域提供了一个基准,并为探索高效的脉冲神经网络训练方法提供了新的挑战。更重要的是,团队已经为进一步完善和构建迈向人类认知智能水平的类脑人工智能理论体系、数据引擎、计算基础设施的努力做出了相对更完善的准备。 

        

      原文链接:https://www.nature.com/articles/s41597-022-01851-z 

      数据官网:http://www.brain-cog.network/dataset/N-Omniglot/ 

      代码:https://github.com/Brain-Cog-Lab/N-Omniglot 

      基于脉冲神经网络的人工智能引擎智脉(BrainCog)已开源,访问地址:http://www.brain-cog.network 

        

    附件: