脉冲神经网络与小样本学习附腾讯云开发者社区

回复"李春放"获取PPT资料

Introduction

自从2012年AlexNet兴起,人工神经网络(ANN)在图像分类领域大放异彩。然而这么多年过去了,这些成熟的神经网络模型不论是在功能上还是结构上,与生物的大脑还有很大的差距。从结构上来讲,生物大脑中的神经元结构远比ANN中的复杂,就大脑神经元的信号模型进行比较,ANN的神经元只需要对信号求和然后直接通过简单的激活函数后全部输出就可以,而大脑神经元接收信号后直接影响的是膜电位,当膜电位足够大时再放出脉冲信号。从功能上来说,人类可以通过很少的样本就学习到一个新类别的特征,而ANN则需要大量标签样本用于学习。正是这些差异,激发了人们对于强人工智能的进一步探索,让脉冲神经网络(SNN)和小样本学习(Few-Shot Learning)成为近些年很多人关注的热点。

Topic 1 SNN与ANN的差异

顾名思义,脉冲神经网络(SNN)最大的特点就是用到了脉冲信号,SNN与ANN最主要的不同就是使用离散的脉冲信号替代ANN网络中传播的连续的模拟信号。SNN的网络结构与ANN类似,主要使用类似于全连接网络或者CNN结构的网络。为了在这种网络结构上产生脉冲信号,SNN使用了更加复杂也更加贴近于生物的神经元模型,目前使用最多的是Integrity-Fire(IF)模型和Leaky integrity-Fire(LIF)模型。对于这类神经元模型来说,输入信号直接影响的是神经元的状态(膜电位),只有当膜电位上升到阈值电位时,才会产生输出脉冲信号。

图1 LIF模型

这种神经元与ANN中所使用的简单将输入信号求和输出神经元有着很大的区别。首先,神经元的输入输出信号形式不同;其次,这种神经元不需要额外的激活函数;最后,这种神经元不需要输入偏置(bias)。这种神经元模型的复杂特性,使得后续很多工作可以基于神经元模型开展。

图2 感知机神经元

前面提到过SNN的网络结构与ANN类似,但是它们之间也有不同之处,这个不同就是源于生物神经网络中神经元的侧向抑制作用。所谓侧向抑制,就是指处于同一层中的不同神经元之间的相互作用。当一个神经元接受刺激被激活以后,它除了将刺激传递到下一层神经元,还会因为本身被激活而抑制其同一层内周边神经元被激活的概率。从神经元模型中体现的就是膜电位高于静息电位(-65mV或者是其他预设值)的神经元会抑制其周围甚至同层内所有神经元的膜电位增长。这种侧向抑制作用使得受到刺激较多的神经元比其他神经元有更大概率产生脉冲信号输出,从ANN的角度来看,这有点类似于Attention机制,但是又比Attention机制更加强烈和粗暴。

图3 侧向抑制示例,最右一层的黄色神经元对蓝色神经元的影响

Topic 2 SNN的优化方式

有了网络和信号,就要考虑如何获得网络连边权重了,在SNN中连边其实就是突触,这完全模仿了生物神经网络的设置。顺理成章,很多人也认为SNN的优化方式也应该模仿生物神经网络,这就产生了最早的使用STDP(Spike-Timing-Dependency Plasticity)方法进行优化的SNN。

STDP是一种非常经典的模拟生物的神经网络优化方法。STDP认为在一个事件中,对于相邻的位于前后两层的两个都产生了神经冲动的神经元,如果前一个神经元先产生脉冲,那么随着两个脉冲之间的时间间隔的减小,两个神经元之间突触连接的可能性逐渐增大。反之,如果前一个神经元后产生脉冲,则随着两个脉冲之间的时间间隔的减小,两个神经元之间突触连接的可能性逐渐减小。应用在SNN中,这里的突触连接可能性可以转变为突触连接强度。

图4 STDP突触连接更新示例

显然,STDP是一种无监督的学习方法,它并没有考虑目标与预测值之间的差距,也就是平时所说的误差,只是单纯的将图片和标签经脉冲编码后的信号注入网络。这种方法最大的问题就是效果不好,不能像监督学习那样能够让网络始终朝着目标(哪怕是local minimum)前进。为了解决这一问题,很多监督学习方法被提出来。这里主要分为on-line和off-line两类。Off-line的方法主要是先训练ANN网络,然后再将连边权重等训练所得参数以及各种超参数固化到SNN网络中。这种方法虽然效果较好,但是很显然丢掉了SNN本身仿生的意义。而很多on-line的方法则是将目光聚焦在神经元模型的膜电位上。

图5 一种基于膜电位的端到端SNN优化方式

众所周知,脉冲信号是不可求导的,那么现有的众多基于梯度的优化方法也就没法直接应用于SNN。但是与网络中传播的信号不同,神经元的膜电位在很多情况下都是连续可导的,而且前后两个神经元的膜电位变化状况也能反应它们之间传递的脉冲信号。所以很多研究也就集中在使用膜电位制造可导信号上。除此之外,on-line的另一类方法则是关注了脉冲信号累积的效果,同样可以产生类似于连续模拟信号的可导信号。这两类on-line学习方式虽然在传统任务上与off-line方式还有一点差距,但是在动作信号、动画信号甚至文字的识别上展现了强大的能力,在一定程度上实现了将多种任务整合的能力。

除了以上两类优化方式,基于规则的优化方法也逐渐显现出其强大的分类能力。通过对于生物神经网络长期的研究,以及对于ANN和传统图像分类任务的深刻认识,自动化所张铁林老师等人提出了基于稳态调节的SNN优化方法。这种方法中使用了多达五种的SNN突触强度更新规则,同时考虑到了膜电位、侧向抑制、突触短时可塑性、神经元间反向传播信号和生物稳态对于膜电位的作用,最后再用STDP方法将膜电位的变化情况固化到突触连接强度上,实现突触连接的长期可塑变化。相比于STDP,这种方法在一定程度上使用了监督学习方法;相比于其他监督学习方式,这种方法又有着非常充分的生物结构理论背书。这种方法使用简单的三层全连接结构网络就实现了高效的图像分类。但是这种方法同样也有着自己的缺陷,它使用了多种规则进行网络优化,那么需要调节的超参数比其他方法多出许多,使得本来就难以调出较好参数配置的SNN更加难以调参。

Topic 3 小样本分类

(Few-ShotClassification)

与SNN一样,小样本学习也是源于对人类自身的认知。小样本学习的提出最早是因为数据不足对机器学习造成的困扰。随着互联网时代越来越多数据的公开,大家的关注都被强大的深度学习吸引过去了,越来越多效果惊人的网络出现并被部署商用。但是这些网络存在的一个共同的问题就是要使用数以万计的标签样本进行训练,否则就会出现严重的过拟合问题,在标签样本不足的情况下泛化能力堪忧。

考虑到人可以通过很少的几个标签样本学习到一个类别的特征,那么神经网络也应该拥有这样的能力。与人类相比,现在的神经网络的不同点主要有两点。一是人类具有很多先验知识,即使是刚出生的婴儿也知道美丑。二是人类在学习的过程中很多情况下不光是学到一个概念,而是在加强自己学习的能力,这是传统神经网络所不具有的能力。针对这两点不同,一些研究者使用元学习方法解决小样本学习问题,这次主要讨论一下小样本分类问题。

要想从元学习的角度来讨论小样本分类问题,首先要明确任务(task)的概念。与普通的机器学习不同,元学习的数据集的基本单位是任务,对于整个元学习任务来说,训练集和测试集都是包含很多任务的数据集,而每一个任务当中又包含等量的训练数据(支撑集)和测试数据(查询集),另外训练集和测试集中类别没有交叉。对于小样本分类来说,训练集中有大量的标签数据,而测试集中的标签数据非常少。

图6 mini-ImageNet数据集tasks示例

元学习中解决小样本分类问题的方法有三类,一类是使用一个Hyper Network产生整个网络的参数,这种方法因为参数空间太大,而训练数据没有那么多,所以训练无法搜索足够大的参数空间;二是使用条件神经网络,最典型的方法就是原型神经网络(Prototypical Networks, PN),将查询集中的样本特征与支撑集中学到的类别特征进行比较;三是元学习领域著名模型无关元学习(Model-Agnostic Meta-Learning, MAML),使用一种简单的两层梯度下降方法大幅减少训练轮数,还能保持较好的训练效果。

图7 元学习解决小样本分类问题的方法示例

图7中简洁地展示了四种小样本学习领域中最为经典的方法,现在绝大多数state-of-the-art的方法都是基于这四个方法的改进的。目前效果最好的方法是ICLR2019收录的LEO方法,它集合了RelationNet和MAML两种方法,利用编解码器帮助MAML大幅缩小了参数搜索空间,又使用RelationNet加强了编解码过程中利用样本和标签映射的精度。

图8 LEO网络结构

SFFAI招募召集人!

Student Forums on Frontiers of Artificial Intelligence,简称SFFAI。

现代科学技术高度社会化,在科学理论与技术方法上更加趋向综合与统一,为了满足人工智能不同领域研究者相互交流、彼此启发的需求,我们发起了SFFAI这个公益活动。SFFAI每周举行一期线下活动,邀请一线科研人员分享、讨论人工智能各个领域的前沿思想和最新成果,使专注于各个细分领域的研究者开拓视野、触类旁通。

2019年春季学期开始,SFFAI会继续在每周日举行一期主题论坛,我们邀请你一起来组织SFFAI主题论坛,加入SFFAI召集人团队。每个召集人负责1-2期SFFAI主题论坛的组织筹划,我们有一个SFFAI-CORE团队来支持你。一个人付出力所能及,创造一个一己之力不可及的自由丰盛。你带着你的思想,带着你的个性,来组织你感兴趣的SFFAI主题论坛。

THE END
0.如何用python原生代码实现神经元?(即:解决一元线性回归模型) 问题:让神经元拟合函数y = x + 1 首先,我们需要制作数据集 给神经网络出题, 已知: 求解w, b (1)构造数据集 # 构造数据集importnumpyasnpfrommatplotlibimportpyplotasplt x=np.arange(0,10,0.1)# [0, 0.1, 0.2, 0.3, , 9.9]# 因为现实世界的数据是充满噪声的,我们给jvzquC41yy}/lrfpuj{/exr1r1=bhkfc4:>959
1.神经网络神经元结构神经元网络模型boyboy的技术博客2.1 模型向量化 2.2 多类分类(多个输出) 2.3 神经网络的代价函数 1. 神经元模型 (Neurons Model) 为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的。而神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络,因此先来看看什么是神经元。 jvzquC41dnuh0>6evq4dqv4wa3913B49;:;55:
2.神经元模型与生物神经网络生物神经网络:由多个生物神经元以确定方式和拓扑结构互相连接即形成生物神经网络,是一种更为灵巧、复杂的生物信息处理系统,在宏观上呈现出复杂的信息处理能力。 M一P模型 1943年心理学家 McCulloch 和数学家 Walter Pitts基于生物神经元的特点,提出了M-P模型。这个模型是对生物神经元信息处理过程进行了简化和概括,模jvzquC41dnuh0lxfp0tfv8vsa3=63@92;1gsvrhng1jfvjnnu17189787:?
3.构建你的第一个神经网络模型神经网络模型构建学习率(Learning Rate):控制模型在每次迭代中权重更新的幅度。 激活函数(Activation Function):非线性函数,决定神经元输出的形状,常见的激活函数有Sigmoid、ReLU、Tanh等。 损失函数(Loss Function):衡量预测值与真实值之间的差距,常见的有均方误差(MSE)和交叉熵损失函数。 jvzquC41dnuh0lxfp0tfv8xlfikik8ftvkimg8igvcomu8667;826@<
4.「帕金森动物模型」建立方法详解总结,来看看究竟有哪些?帕金森造模方法: 在注射当天配制好新鲜的MPTP溶液,然后腹腔或皮下注射MPTP。试剂要现用现配。 根据实验要求和目的,可分为快速模型和慢速模型。 快速模型可分为单次注射和多次注射。单次注射的剂为30mg/kg,该模型损伤轻,易恢复;多次注射的剂量为20mg/kg,每隔2h注射1次,共3-4次,该模型损伤快且严重,DA神经元的损伤jvzquC41yy}/jjtfh0ipo8sgktuoi8|gp|nbpp4;5;933>;9:0nuou
5.创新实践基地工作总结(精选13篇)1、实验过程中对动物模型制作、培养大鼠神经元缺血模型和Glu兴奋毒模型、脑缺血损伤检测方法、Glu离子通道活性检测方法等由于没有系统的学习,在实验开始阶段不太熟悉。 2、我们统计调查问卷结果时,由于经验不足,使得整个统计、分析过程繁琐、耗时长,工作量大。 3、分析报告书写的过程中由于没有系统的学习,报告书写不够规范,结果分析不够jvzquC41yy}/{~|gpoo/exr1hctxgw4iqpm{wx4523996B3jvor
6.人工智能研究现状综述范文人工智能这一思想最早的提出是基于对人脑神经元模型的抽象。其早期工作被认为是由美国的神经学家和控制论学者 Warren McCulloch与Walter Pitts共同完成的。在1951年,两名普林斯顿大学的研究生制造出了第一台人工神经元计算机。而其真正作为一个新的概念被提出是在1956年举行的达茅斯会议上。由麦卡锡提议并正式采用了“jvzquC41yy}/i€~qq0ipo8mcqyko1;;;938/j}rn
7.基于神经网络模型自适应控制系统设计及仿真.RBF 网络。 2 1.3 设计要求 1、 设计要求首先完成简单控制系统模块的仿真分析;提出自适应控制系统设计的方法;建立基于神经网络的自适应控制系统的仿真模型;利用 simulink 对基于神经网络的自适应控制系统模型进行仿真;从仿真结果分析基于神经网络模型的自适应控制算法的性能。 2、 原始资料 MATLAB语言;控制系统设计的jvzquC41oc~/dxtm33>/exr1jvsm1;5431652A4736:45;8242644:80ujzn
8.人工神经网络模型如何体现生物神经元的结构和信息处理机制人工人脑的神经元模型如图8.6所示。 图中一个神经元由细胞核、一个轴突、多个树突、突触组成。生物电信号从树突传入,经过细胞核处理,从轴突输出一个电脉冲信号。神经元通过树突与轴突之间的突触与其他神经元相连构成一个复杂的大规模并行网络。 图8.6 人脑的神经元模型[8]。 jvzquC41dnuh0>6evq4dqv4wa38:7B49:;?15>