【技术实现步骤摘要】
用于执行LSTM神经网络运算的装置和运算方法
本专利技术涉及神经网络运算
,更具体地涉及一种用于执行LSTM神经网络运算的装置和运算方法。
技术介绍
长短时间记忆网络(LSTM)是一种时间递归神经网络(RNN),由于网络本身独特的结构设计,LSTM适合于处理和预测时间序列中间隔和延时非常长的重要事件。相比于传统的递归神经网络,LSTM网络表现出更好的性能,它非常适合从经验中学习,以便在重要事件之间存在未知大小时间之后时对时间序列进行分类、处理和预测。目前,在语音识别、视频描述、机器翻译和音乐自动合成等诸多领域,LSTM网络被广泛应用。同时,随着对LSTM网络研究的不断深入,LSTM网络的性能得到了大幅的改善,也在工业界和学术界引起广泛重视。LSTM网络的运算涉及到多种算法,具体的实现装置主要有以下两种:一种实现LSTM网络运算的装置是通用处理器。该方法通过使用通用寄存器堆栈和通用功能部件执行通用指令来支持上述算法。该方法的缺点之一是单个通用处理器的运算性能较低,无法满足通常的借助LSTM网络本身运算的可并行性来进行加速。而通过多个通用处理器并行执行时,通过处理器之间相互通信又成为了性能瓶颈。另外,通用处理器需要把人工神经网络运算译码成一系列的运算以及访存指令,处理器前端译码也存在较大的功耗开销。另一种支持LSTM网络运算的已知方法是使用图形处理器(GPU)。该方法通过使用通用寄存器堆栈和通用流处理单元执行通用SIMD指令来执行上述算法。由于GPU是专门用来执行图形图像运算以及科学计算的设备,没有对LSTM网络提供专门的支持,仍然需要大量的前端译码工作 ...
【技术保护点】
1.一种用于执行LSTM神经网络运算的装置,其特征在于,包括:并列设置的多个数据缓存单元,用于对运算所需数据、状态和结果进行缓存;并列设置的多个数据处理模块,用于从对应数据缓存单元中获取输入数据和运算时所需的权值和偏置,进行LSTM神经网络运算;其中所述多个数据处理模块与所述数据缓存单元一一对应,且所述多个数据处理模块之间执行并行运算。
【技术特征摘要】
1.一种用于执行LSTM神经网络运算的装置,其特征在于,包括:并列设置的多个数据缓存单元,用于对运算所需数据、状态和结果进行缓存;并列设置的多个数据处理模块,用于从对应数据缓存单元中获取输入数据和运算时所需的权值和偏置,进行LSTM神经网络运算;其中所述多个数据处理模块与所述数据缓存单元一一对应,且所述多个数据处理模块之间执行并行运算。2.如权利要求1所述的装置,其特征在于,所述数据缓存单元还对所述数据处理模块计算的中间结果进行缓存,且在整个执行过程中只从所述直接内存访问单元导入一次权值和偏置,之后不再改变。3.如权利要求1所述的装置,其特征在于,每一个所述数据缓冲单元中写入了对应于所述LSTM神经网络运算的神经元而被分割的权值和偏置,其中各数据缓冲单元中的权值和偏置的数量均相同,且每个数据缓冲单元都获取了一份完整的输入数据。4.如权利要求1所述的装置,其特征在于,所述数据处理模块采用向量点乘部件、向量加法部件、向量求和部件和向量非线性函数转换部件进行所述LSTM神经网络运算。5.如权利要求4所述的装置,其特征在于,所述向量非线性函数转换部件通过查表方法进行函数运算。6.如权利要求1所述的装置,其特征在于,每一个所述数据处理模块通过分别计算出LSTM网络运算中的忘记门、输入门、输出门以及待选状态单元的向量值来进行所述向量运算,再由各所述向量值得到每一个所述数据处理模块的输出值,最后将各所述数据处理模块的输出值拼接得到最终的输出值。7.一种用于执行LSTM神经网络运算的装置,其特征在于,包括:存储器;处理器,所述处理器执行如下操作:步骤1,从外部指定地址空间读取用于LSTM神经网络运算的权值和偏置,并将其分割成与所述LSTM神经网络运算的神经元对应的多个部分后存储到所述存储器的不同空间中,其中每个空间中的权值和偏置的数量相同;并从外部指定地址空间读取用于LSTM神经网络运算的输入数据并将其存储在所述存储器的每一个所述不同空间中;步骤2,将所述存储器的每一个所述不同空间中的权值和输入数据分割成若干份,其中每份的权值或输入数据的数量与对应的向量运算单元运算的数量相同;每次将一份权值和输入数据计算得到部分和,再与之前得到的部分和进行向量加,得到新的部分和,其中所述部分和的初始值为偏置值;步骤3,待所述存储器的每一个所述不同空间中的所有输入数据均进行了处理之后,得到的部分和即为神经元对应的净激活量,通过非线性函数tanh或sigmoid函数变换所述神经元的净激活量,得到所述神经元的输出值;步骤4,通过这种方式使用不同的权值和偏置,重复上述步骤1~3,分别计算出LSTM神经网络运算中的忘记门、输入门、输出门以及待选状态单元的向量值;其中,计算部分和的过程采用的是向量运算指令,所述存储器的每一个所述不同空间中的输入数据采用并行运算方式进行计算;步骤5,判断所述存储器的每一个所述不同空间中的当前忘记门、输入门以及待选状态单元向量值计算是否完成,若完成,则进行新的状态单元的计算,即将旧的状态单元和忘记门向量值通过向量点乘部件得到部分和,然后将待选状态单元和输入门的值通过向量点乘部件得到部分和,将所述两个部分和通过向量求和子模块得到更新后的状态单元,同时,将更新后的状态单元通过非线性...
【专利技术属性】
技术研发人员:陈云霁,陈小兵,刘少礼,陈天石,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。