基于脉冲神经网络的图文关联学习研究毕业论文
2020-04-05 10:52:46
摘 要
关联学习,即同时对多个目标的学习和记忆,是人和其他动物一种重要的学习方式。分析和研究关联学习的工作机理对于探索人工智能有着深刻的意义。不同于传统人工神经网络是实现数据到某个特定标签的非线性映射,关联神经网络是实现两种自然信号的关联(如本文中的图片和音频信号的关联)。运用多层卷积神经网络对图片进行编码,运用mfcc对音频进行编码,实现自然信息的编码和降维,提取有效信息。将编码后的数据送入由神经拟态的脉冲神经网络组成的关联神经网络中进行信息的关联,训练完成后实现图片信息到音频信息的单向关联,模拟人类学习行为中的关联学习。
关键词:神经拟态;脉冲神经网络;关联学习
Abstract
Associative learning, the simultaneous learning and memory of multiple objects, is an important way for humans and other animals to learn. Analyzing and studying the working mechanism of associative learning is of great significance to exploring artificial intelligence. Different from traditional artificial neural network is to realize the nonlinear mapping of data to a specific label, associated neural networks is to achieve two natural signal correlation (such as the pictures and audio signal) in this paper. Multilayer convolution neural network is used to encode images, and MFCC is used to encode audio to realize the coding and dimension reduction of natural information and extract effective information. The encoded data into neural mimicry by spike of neural network are associated neural network in the information link, after the completion of the training image information one-way link to the audio information, simulate the correlation study of human learning behavior.
Key words: neural mimicry; spike neural network; Correlation study
目录
摘要 I
Abstract II
第1章 绪论 1
1.1 课题研究背景 1
1.2 研究目的及意义 1
1.3 国内外研究现状 2
1.3.1 基础神经元模型 2
1.3.2 学习规则 2
1.3.3 脉冲神经网络的训练方法 3
1.4 研究内容及方法 7
1.4.1 研究内容 7
1.4.2 研究方法 7
第2章 关联网络模型结构 9
2.1 CNN编码网络 9
2.1.1 改进与优化 10
2.2 音频稀疏表达 11
2.2.1 改进与优化 13
2.3 脉冲编码 14
2.3.1 频率编码 14
2.3.2 相位编码 15
2.4 关联网络 17
2.4.1 神经元模型 18
2.4.2 突触可塑性原则 20
2.4.3 学习规则 21
2.5 改进与优化 22
2.5.1 脉冲信号的多重表达 22
2.5.2 训练窗口 23
2.6 算法流程 24
2.7 代码结构 24
第3章 关联网络各部分实验与结果分析 27
3.1 CNN图片编码实验 27
3.2 Mfcc音频编码 28
3.3 ReSuMe单一输出训练 29
3.4 关联效果实验 31
3.4.1 网络权值变化分析 31
3.4.2 膜电位变化分析 32
3.4.3 脉冲发放时刻分析 32
3.4.4 精度分析 33
第4章 总结与后续工作 34
4.1 实现的功能 34
4.2 存在的不足与后续工作 35
参考文献 36
致谢 38
绪论
课题研究背景
随着神经解剖学、神经生理学的发展,人们对人脑有了越来越充分的认识,在此基础上,综合数学、物理学、计算客需等学科对人脑神经网络进行抽象而建立简化的模型,被称为人工神经网络ANN(Artificial Neural Network) 。
目前,在诸多领域,人工神经网络都发挥着很大的作用,不断地给人们制造惊喜。如谷歌公司的alphaGO通过大量的围棋对弈数据的训练最终战胜人类围棋选手;科大讯飞公司通过神经网络训练的语音合成系统与语音识别系统达到世界先进水平;中国“天网”系统通过神经网络实现对车辆号牌的实时监测,自动识别车辆违法行为,在未来,“天网”系统甚至可以实现对行人身份的实时检测。
研究目的及意义
目前的人工智能都集中在专用人工智能系统,即只能实现特定的功能,并且目前的人工神经网络还停留在“识别”阶段,尚不能实现感知。因此,现有的人工神经网络技术对于实现通用人工智能系统仍然有很多困难和挑战。
不同于人工神经网络,基于神经拟态的脉冲神经网络SNN(Spike Neural Network)在原理上更加接近真实神经细胞的工作原理[1],采用的训练方法也是基于生物学特性的训练方法[16]。因此,脉冲神经网络具有很多现有人工神经网络所不具有的特性[17],是实现通用人工智能的一种解决思路与途径。
关联学习是人类和其他动物在学习中经常采用的一种方式,例如在背单词的时候,通过将单词和图片以及相应的场景相结合可以实现更好的学习效果。本文通过在原理上更加接近人类大脑的脉冲神经网络模型结合突触可塑性原则实现两种自然信号的关联,旨在探索人类和其他动物思考的方式,发掘更为高效的神经网络结构。
国内外研究现状
基础神经元模型
不同于传统神经网络种的神经元模型,脉冲神经元是通过脉冲信号传递信息的,脉冲神经元模型是基于实际生物神经元进行建模的,因而在生物学上是更加合理的。
- Hodgkin-Huxley( HH)模型[2]
HH模型是使用硬件电路来模拟神经元细胞的一种模型,在计算中,通过微分方程模拟电路的工作状态进而实现对神经元细胞的仿真。图1.1是HH模型中使用的电路图。
图1.1 HH模型电路图 |
2)Leaky Integrate and Fire(LIF)模型[3]
HH模型具有很高的仿真精度,但是由于其自身的特性,HH模型的计算量是很大的,很难进行大规模的神经网络实时仿真。在脉冲神经网络的仿真中,大多采用的是Leaky Integrate and Fire(LIF)模型。本文第三章将对LIF模型进行详细的介绍。
学习规则
两个神经元通过突触建立连接,在传统的人工神经网络中,突触通过较为简单的权值的形式体现出来,并通过反向传播法结合输出误差实现对突触权值的更新,最终完成对整个神经网络的训练。在脉冲神经网络中,突触的形式相对复杂。由于脉冲神经网络中神经元之间是通过脉冲传递信号的,所以整个网络是不连续且不可求导的,因此无法通过反向传播法对网络进行训练。最初的脉冲神经网络的学习规则主要是从生物可解释性角度出发,主要基于Hebbian规则。
图1.2 放电时间差与突触强度关系 |
Hebb在关于神经元间形成突触的理论中提到[4],两个神经元在放电时间上如果比较接近的话,那么,这两个神经元就有较大的概率形成突触。在这之后,两个神经元之间的放电时间关系会进一步影响两个神经元之间的突触连接强度。华裔科学家蒲慕明和毕国强在大树海马区神经元上进行实验,通过改变突触前后神经元放电的时间差,来分析二者之间突触强度变化。实验结果如图1.2。
图1.2中,纵坐标(EPSC)是两个神经元之间突触连接的强度,横坐标是两个神经元放电时间间隔,即突触后神经元放电时刻减去突触前神经元放电时刻。从图中可以看出,若突触前在突触后神经元之前放电,那么突触前神经元到突触后神经元的连接就会加强,反之就会减弱。
基于此, Caporale等人提出了突触可塑性算法(STDP),关于STDP算法,将在第2章节详细介绍。
脉冲神经网络的训练方法
STDP规则只能进行简单的无监督学习。缺少反馈信号导致单纯使用STDP规则无法完成特定的功能,只能用作神经科学的仿真,这使得SNN的发展受到了很大的限制。国内外一些学者将STDP规则和其他一些学习规则相结合,使得SNN可以完成特定的任务,下面将介绍其中的一些训练方法。
- Tempotron算法[5]
Tempotron是一种监督学习算法,由Rober和Haim等人在2006年提出。通过增加teacher signal的形式,对输出信号求偏差,并调整权值,实现神经网络对teacher signal的学习。该算法采用过了和传统ANN相类似的训练方法,但由于SNN非连续和不可求导的特点,偏差不能向后传播,无法使得对整个网络的权值进行调整,所以仅能进行单层网络的训练。
Tempotron算法的核心是通过teacher signal对突触连接权重wi进行更新,方程如下:
公式1.1 |
其中t为teacher signal膜电位最大时间点,ti为神经元i的脉冲发放时刻,K为脉冲贡献衰减函数,K(t)随时间变化的曲线如图4:
图1.3 K(t)变化曲线 |
- SpikeProp算法[6]
SpikeProp是一种基于反向传播的监督脉冲学习算法,由Sander等人在2000年提出。该算法将神经元内部发放脉冲的行为看作是极短时间内线性增加的过程,通过这种近似,解决了脉冲不可微分的问题,从而使得传统ANN中的反向传播法可以应用在SNN中。其后提出和一些诸如二值神经网络和量化网络模型均是采用这样的方法解决监督训练过程中不可微分的问题。
- 两层抑制SNN[7]
两层抑制神经网络是一种无监督神经网络模型,由Diehl与COOK等人于2015年提出。通过STDP规则训练神经元与输入10个分类的关系,并在训练后通过统计的方法找出其中的规则,将这一规则应用到分类中实现分类效果。
图1.4 两层抑制SNN结构图 |
图1.4是该网络的结构示意图,左侧为输入信号,中间为兴奋型神经元,最右侧为抑制型神经元,抑制层神经元用于抑制其他神经元对某一类输入信号的兴奋程度,增大兴奋型神经元对输入信号的反应区别程度。不同于之前的SNN,该网络没有对SNN进行本质的改造,主要是通过STDP等生物学规则实现检测。最终达到了95%的识别精度。
- 电压驱动的可塑性SNN
电压驱动的可塑性SNN是一种结合了监督与无监督学习的神经网络模型,由中科院自动化所张铁林、曾毅等人于2018年提出。如图是该网络的结构图1.5:
图1.5 电压驱动的可塑性SNN结构图 |
该网络主要包含四个部分:前馈推理,无监督平衡态学习,最后层监督学习以及基于STDP原则的突触权值被动更新。其中前两个部分是无监督学习,通过前两种学习使网络的输入与输出趋于平衡状态,第三个步骤采用teacher signal实现最后一层电位信号的监督学习,最后再通过STDP规则被动地更新整个网络的突触权值信息。最终该网络实现了98.5%的检测精度。
- 竞争STDP算法[8]
由于STDP的机制,在训练的过程中,关系较强的神经元连接会变得越来越强,反之会变得越来越弱,基于这个特性,Taras等人提出了一种竞争神经网络的训练方法,在这个模型中,一个神经元脉冲信号的产生会对同层其他神经元产生抑制作用,这样的抑制作用主要是通过削弱同层其他神经元的膜电位实现的,通过这样的方式,可以使得神经元对不同的输入脉冲信号有更强的分化作用。
图1.6是这种竞争STDP网络训练前后对输入信号的脉冲发放状态,从图中可以看出,在训练前,脉冲信号的发放是没有规律的,在训练后,输出神经元会对一种特定的输入信号有着较强的反应,而对其他输入信号反应较弱。因而在训练后网络对不同的输入脉冲信号有了区别能力。
此外,在该模型中,作者还引入了类似卷积神经网络的机制,工作机理受到视网膜神经细胞的启发,通过该方法,可以更加有效地从图片中提取信息。
图1.6 输出神经元训练前后脉冲发放位置 |
研究内容及方法
研究内容
- 研究图片编码方式
原始图片所包含的数据量过大,直接使用原始图片进行模式关联会大大增加关联网络的规模和训练难度,由于没有成熟的脉冲神经网络仿真训练的底层代码可以使用,规模太大,训练强度太大的关联网络模型是难以接受的,为了降低关联神经网络的规模和训练量,需要对输入的信息进行降维,所以需要一种行之有效的图片编码方式对图片进行信息的提取和编码。
- 研究音频稀疏表达方式
原始音频信号是时域上一维或者二维的信号,直接使用原始信息不仅数据量大,信息所包含的无用信息也会对识别产生巨大的干扰,浪费大量计算资源。类似1),音频原始信号也存在数据量较大影响计算量的问题,所以需要对音频信号进行编码。
- 研究图片信号和音频信号的关联方法
在实现了图片和音频信息的编码之后,两者的数据量大大降低,这时便可以对编码后的图片和音频信息进行关联,实现图片和音频信息之间的单向或者双向关联,即输入其中的一个信息可以导致网络对另外一个相关联的信息的输出,类似于人类学习中的“关联”学习。
研究方法
- 通过计算机仿真实现SNN网络中的简单模式关联
不同于人工神经网络,脉冲神经网络中前一状态对后一状态是有着很大的影响的,不同时刻的输入信号对脉冲神经网络的影响是通过调节“增量调节”这样的形式实现的,即一个的输入信号会使脉冲神经网络的某些状态值增加或者减小,同时,脉冲神经网络的状态也是在不断变化的,即是没有脉冲信号的输入,脉冲神经网络内部的一些状态值也是在变化的,变化的趋势为使得神经元和突触的连接趋于稳定的方向。因此,脉冲神经网络的内部变化过程是复杂的。幸运的是,归功于神经解剖学、神经生理学以及神经计算科学的发展,已经有许多神经元以及神经突触的数学模型被突触,借助于这些数学模型,通过计算机,便可以实现对脉冲神经网络的仿真计算。在本次毕设中,主要也是通过计算机仿真的方式进行。
- 借助CNN对图片进行编码研究
卷积神经网络(CNN)在图片处理方面有着很大的优势,借助卷积神经网络可以高效地对图片信息进行编码,通过对深度CNN网络结构进行调整使之能够对图片信号进行高效的编码,提取图片中的高维度信息,降低图片处理难度。
- 借助可视化工具分析模式关联中各个参数的影响
关联网络中的各个部分受到很多参数的影响,这些参数有着不同的影响,为找到其中最适合的参数,需要分析这些参数对于网络性能的影响。借助可视化工具可以高效且直观地分析不同参数环境下网络的性能。
关联网络模型结构
整个网络主要由CNN编码网络、音频稀疏表达、脉冲编码和关联网络4个部分组成。网络整体结构见图2.1。网络结构较为复杂,为方便表达,图中使用较少的神经元和网络层数进行表示。
从图2.1中可以看出,图片输入到CNN编码网络中,CNN编码网络对图片进行编码,将图片的像素数据转换为特定的输出,提取图片信息。音频信号输入网络之后进行稀疏表达,对复杂的音频信号数据进行分析和提取,并输出处理后的数据。脉冲编码用于实现数字量到脉冲信号的转换,最后关联网络对编码后的脉冲信号进行关联学习,实现图片数据和音频数据的关联。
图2.1 模型图文关联网络整体结构图。该模型主要由CNN编码网络、音频稀疏表达、脉冲编码和关联网络组成。 |
CNN编码网络
卷积神经网络在图片处理上有着出色的表现[9]。在卷积神经网络出现之前,神经网络的主要结构是多层的全连接网络,也就是深度神经网络。相比于深度神经网路,卷积神经网络通过引入卷积核和权值共享机制实现了对图片信息的提取。多个卷积核提取图片的多个特征,再对提取特征后的数据进一步卷积提取图片的高维度抽象信息,在这些之后,再引入全连接网络对提取的特征进行整合,分析图片的内在联系关系。在图片处理方面,卷积神经网络有着更高的分类精度和更小的计算量。由于卷积神经网络在误差上是连续并且可导的,所以卷积神经网络可以使用深度神经网络的误差反向传播法进行训练[9]。
改进与优化
本模型中选用卷积神经网络对图片进行预处理,提取图片的高维度抽象信息,可以有效提高网络的表达能力和泛化能力,同时有效降低关联网络的训练量。CNN编码网络的结构如图2.2。该网络是一个典型的手写识别网络,不同之处在于脉冲编码层(f)的引入。该网络在没有(f)的条件下也可以很好地进行训练与识别,(f)本质上是一个全连接层,区别在于该层的输出用作脉冲编码网络的输入。通过控制这一层的神经元数量,可以实现对图片信息脉冲数量的控制,该层每一个神经元的输出都会转换为一个脉冲信号输入到脉冲神经网络中。
图2.2 CNN编码网络结构图(训练)。(a)卷积层;(b)最大池化层;(c)卷积层;(d)最大池化层;(e)全连接层;(f)脉冲编码层;(g)输出层。 |
将MNIST数据集中的数据按照批量梯度下降法送入神经网络中进行训练。在神经网络获得了一定的分类精度后结束训练。将神经网络中的输出层(g)去掉,脉冲编码层(f)作为输出层,将待编码的数据放入卷积神经网络中,结构如图2.3得到编码输出。在实际仿真中可以发现,不同数量的脉冲编码神经元数量对卷积神经网络的分类精度有着很大的影响,具体影响见第3章实验部分。
图2.3 CNN编码网络结构图(编码)。(a)卷积层;(b)最大池化层;(c)卷积层;(d)最大池化层;(e)全连接层;(f)脉冲编码输出层 |
音频稀疏表达
直接获取的音频信号包含的数据量很大,以标准采样频率44100Hz为例,训练时采用的音频信号时间长度为1.5秒,这意味着一段音频信号的数据量为66150,这样的数据量不论对于人工神经网络还是脉冲神经网络而言都是难以接收的,为了便于对音频信号进行训练,需要对音频信号进行编码,降低数据量。
自然条件下获取的音频信号是时域信号,由于音频信号的频率较高,在时域上很难对音频信号进行信息的有效提取。图2.4是数字0到数字9音频的时域信号。
图2.4 数字0-9音频时域信号 |
图2.4中的时域信号很难看出不同数字之间的明显区别。考虑通过傅里叶变换将时域信号转换为频域信号,分析不同数字音频的频域特征。由于获得的音频信号时经过采样获得的离散信号,并且不是周期信号,需要使用离散傅里叶变换(DFT)进行计算。这里使用的是DTF的一种快速算法——快速傅里叶变换(FFT)。处理的结果如图2.5。
图2.5 数字0-9频谱图 |
从图2.5中可以看出不同数字的音频在高频段和低频段的分布是不一致的,相比时域信号,音频的频域信号有着较高的区别[18]。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: