CN112446483B - 一种基于机器学习的计算方法和计算单元 - Google Patents
一种基于机器学习的计算方法和计算单元 Download PDFInfo
- Publication number
- CN112446483B CN112446483B CN201910816995.1A CN201910816995A CN112446483B CN 112446483 B CN112446483 B CN 112446483B CN 201910816995 A CN201910816995 A CN 201910816995A CN 112446483 B CN112446483 B CN 112446483B
- Authority
- CN
- China
- Prior art keywords
- concept
- sub
- concepts
- input
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 56
- 238000010801 machine learning Methods 0.000 title claims abstract description 10
- 239000013598 vector Substances 0.000 claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims description 98
- 230000008569 process Effects 0.000 claims description 55
- 238000007906 compression Methods 0.000 claims description 34
- 238000013528 artificial neural network Methods 0.000 claims description 33
- 230000006835 compression Effects 0.000 claims description 31
- 230000000306 recurrent effect Effects 0.000 claims description 20
- 230000006403 short-term memory Effects 0.000 claims description 13
- 230000000717 retained effect Effects 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 24
- 125000006850 spacer group Chemical group 0.000 description 14
- 238000012544 monitoring process Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004148 unit process Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Abstract
本发明公开了一种基于机器学习的计算单元,适于对输入概念序列进行处理以生成输出概念。输入概念和输出概念为表征对象特征的向量,以及输入概念序列包括顺序排列的多个输入概念。计算单元包括子概念生成器和输出概念生成器。子概念生成器适于对于序列中的每个输入概念,基于机器学习的计算方式对相邻的输入概念进行计算以生成子概念,其中该子概念为向量。输出概念生成器适于在为该序列中的输入概念依次生成相应子概念而构成子概念序列之后,基于该子概念序列生成输出概念。本发明还包括了包括该计算单元的处理器以及对应的计算方法。
Description
技术领域
本发明涉及基于机器学习的计算领域,尤其涉及神经形态(neuromorphic)计算领域。
背景技术
随着机器学习技术、尤其是深度学习技术的快速发展,出现了各种神经网络计算结构,例如CNN(卷积神经网络)、DNN(深度神经网络)、RNN(循环神经网络)和GAN(对抗生成网络)、编解码器、Transformer(转换器)等神经网络结构。这些结果在越来越多的技术领域中被采用来解决实际问题。例如,在视频监控和医疗领域,采用基于深度学习中的CNN(卷积神经网络)计算结构进行图像处理。在自然语言处理领域,采用编解码器来进行自然语言理解、翻译和生成等处理。
这些传统的深度学习技术通常具有巨大的网络结构,并因此具有非常多的参数要通过训练过程而学习得到,因此存在需要大量训练数据以及训练时间过长等问题。另一方面,当把这些传统的深度学习技术应用于时空计算领域,例如应用于实时多模式应用场景,如运动检测、语音识别和自动导航等领域时,需要非常巨大的计算量。因此,在现在的技术方案中,通常采用专门设计的计算芯片来运行神经网络算法以解决计算开销的的问题。
神经形态的计算技术由于采用了脉冲神经网络结构,在处理具有先后关系的序列输入,例如在时空领域具有明显的优势。但是现有的神经形态计算技术并没有解决如何进行快速学习和训练问题,同时也没有提供一种更为通用的、处理时空领域问题的完整解决方案。
为此,需要一种新的计算方案,基于神经形态的计算技术来解决上面所提及的快速学习、高度可扩展以及减少计算量等问题。
发明内容
为此,本发明提供了一种新的方案,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种基于机器学习的计算单元,适于对输入概念序列进行处理以生成输出概念。输入概念和输出概念为表征对象特征的向量,以及输入概念序列包括顺序排列的多个输入概念。计算单元包括子概念生成器和输出概念生成器。子概念生成器适于对于序列中的每个输入概念,基于机器学习的计算方式对相邻的输入概念进行计算以生成子概念,其中该子概念为向量。输出概念生成器适于在为该序列中的输入概念依次生成相应子概念而构成子概念序列之后,基于该子概念序列生成输出概念。
可选地,在根据本发明的计算单元中,子概念生成器包括神经网络计算装置、差值计算装置和子概念生成装置。神经网络计算装置适于利用递归神经网络对相邻的输入概念进行处理,以获得递归神经网络的当前输出向量。差值计算装置适于计算递归神经网络的当前输出向量和上一次输出向量之间的差值向量。子概念生成装置适于对差值向量进行压缩处理以生成子概念。
可选地,在根据本发明的计算单元中,差值计算装置适于对递归神经网络的当前输出向量和上一次输出向量进行异或计算以生成差值向量。
可选地,在根据本发明的计算单元中,子概念生成装置适于将差值向量划分为预定数量个压缩窗口,每个压缩窗口占据差值向量的预定位数;对于每个压缩窗口,根据差值向量在压缩窗口中的预定位置值而为压缩窗口分配值1或者0;以及组合为每个压缩窗口分配的值而构造子概念。
可选地,在根据本发明的计算单元中,输出概念生成器适于对子概念序列中的所有子概念进行位逻辑操作,以生成输出概念。
可选地,在根据本发明的计算单元中,位逻辑操作包括下列位逻辑运算中的任意一个:异或或者异非或。
可选地,根据本发明的计算单元还包括存储器,其中存储有概念表,以及子概念生成器和输出概念生成器适于根据概念表的内容进行处理。
可选地,在根据本发明的计算单元中,概念表中存储有一个或者多个保留的输出概念,以及如果输出概念生成器所生成的输出概念不同于一个或者多个保留的输出概念中的任一个,则子概念生成器不再进行生成子概念的处理,且输出概念生成器使所生成的输出概念无效。
可选地,在根据本发明的计算单元中,概念表中还存储有保留输出概念以及与保留输出概念相关联的子概念序列,以及子概念生成器适于根据所生成的子概念在所生成的子概念序列中的位置来确定概念表中与所生成的子概念相对应的保留子概念;以及如果所生成的子概念不同于与保留子概念中的任一个子概念,则子概念生成器不再进行生成子概念的处理,且输出概念生成器使所生成的输出概念无效。
可选地,在根据本发明的计算单元中,输出概念生成器使所生成的输出概念无效包括不输出输出概念。
可选地,在根据本发明的计算单元中,概念表中还存储有保留输出概念、与保留输出概念相关联的子概念序列、以及与子概念序列中的每个子概念相对应的下一个输入概念,以及子概念生成器还适于:根据输入概念在输入概念序列中的位置在概念表查找中保留的输入概念序列;如果查找到与输入概念相同的保留输入概念,则不进行生成子概念的处理,并使用与所查找到的保留输入概念相关联的子概念序列的相应位置处的子概念作为所生成的子概念;从概念表中获取与子概念相对应的下一个输入概念;以及如果所获取的下一个输入概念与输入概念序列中的下一个输入概念相同,则继续指示子概念生成器不进行生成子概念的处理,并使用子概念序列中的下一个位置处的子概念作为所生成的子概念。
可选地,在根据本发明的计算单元中,如果所获取的下一个输入概念与输入概念序列中的下一个输入概念不同,则指示子概念生成器进行生成子概率的处理或者进行异常处理。
可选地,根据本发明的计算单元还包括短时存储器,适于按顺序缓存输入概念序列中的每个输入概念。
可选地,根据本发明的计算单元,还包括分类器和不变表示分配器。分类器适于根据短时存储器中缓存的输入概念之间的相似性来为输入概念进行分类。不变表示分配器适于为每个类别的输入概念指定相应的不变表示,不变表示为具有与输入概念相同大小的向量;以及子概念生成器和输出概念生成器适于使用与输入概念相对应的不变表示代替输入概念来进行子概念生成处理和输出概念生成处理。
根据本发明的还有一个方面,提供了一种基于机器学习的计算方法,适于对输入概念序列进行处理以生成输出概念,输入概念和输出概念为表征对象特征的向量,以及输入概念序列包括顺序排列的多个输入概念。该方法包括步骤:对于序列中的每个输入概念,基于机器学习的计算方式对相邻的输入概念进行计算,以生成子概念,其中子概念为向量;以及在为序列中的输入概念依次生成相应子概念而构成子概念序列之后,基于子概念序列生成输出概念。
根据本发明的还有一个方面,提供了一种处理器,包括一个或者多个处理核心,每个处理核心实现本发明上述的处理方法或者每个处理核心实现为根据本发明的计算单元。
根据本发明的还有一个方面,提供了一种片上系统,包括根据本发明的处理器。
根据本发明的还有一个方面,提供了一种智能设备,包括根据本发明的片上系统。
根据本发明的还有一个方面,还提供了一种计算设备。该计算设备包括至少一个处理器和存储有程序指令的存储器,其中,程序指令被配置为适于由至少一个处理器执行并包括用于执行上述文档处理方法或者训练方法的指令。
根据本发明的还有另一个方面,还提供了一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得计算设备执行上述文档处理方法或者训练方法。
在根据本发明的方案中,提成了新的处理对象定义“概念”,而概念表征了要处理对象的特征。每个计算单元对输入概念进行处理以生成输出概念,且输入和输出概念具有基本相同的结构,这样,一个计算单元要处理的输入概念可以是其它计算单元的输出概念。这样,通过定义各个计算单元要处理的输入概念和输出概念,并规划这些计算单元之间的连接关系,就可以对神经形态计算进行模块化设计,从而可以应用于各种复杂的计算场景,以便对诸如具有时间维度的序列数据进行处理。
另外,在根据本发明的方案中,每个计算单元通过对蓄水池计算方式计算得到的输出进行压缩之后获得子概念,并对子概念进行再次合并处理之后才得到输出序列,因此,输出序列具有较小的尺寸,从而可以在计算单元之间快速传输,减少了网络传输导致的延迟。
另外,在根据本发明的方案中,在计算单元中采用概念表来存储计算得到的输出概念和子概念、甚至是输出概念和子概念和预测的下一个输入概念之间的关联,可以利用概念表来控制计算单元的操作,以便计算单元可以灵活地应用于推理和认知等应用场景。
另外,在根据本发明的方案中,在计算单元中引入了不变表示的定义来代表多个相似的输入概念来进行后续处理,从而可以减少输入概念的细微变化对输出概念的影响,并让方案更关注时空序列的结构和重复模式。
另外,在根据本发明的方案中,进行蓄水池计算所采用的循环神经网络中,一般不需要对中间层的参数进行训练,甚至还可以不对输入层和输出层的参数进行训练,从而解决了需要较长时间训练而导致的不能快速学习的问题。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一种实施方式的计算单元100的示意图;
图2示出了在根据本发明一种实施方式的计算单元中的子概念生成器110的示意图;
图3示出了根据本发明的一种实施方式,在子概念生成器110中采用的递归神经网络(RNN)300的示意图;
图4示出了根据本发明的一种实施方式,在子概念生成器110中采用的压缩处理方式400的示意图
图5示出了根据本发明另一种实施方式的计算单元500的示意图;
图6示出了根据本发明还有一种实施方式的计算单元600的示意图;
图7示出了根据本发明一种实施方式的处理器700的示意图;以及
图8示出了根据本发明还有一种实施方式的处理器800的示意图
图9示出了根据本发明一种实施方式的计算方法900的流程示意图;
图10示出了根据本发明还有一种实施方式的计算方法1000的示意图;
图11示出了根据本发明还有一种实施方式的计算方法1100的示意图;以及
图12示出了根据本发明还有一个实施方式的片上系统1500的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一种实施方式的计算单元100的示意图。计算单元100对输入概念序列进行处理以生成输出概念。在本发明中,引入了新的定义“概念”,概念表征了从要进行处理的目标对象的特征。根据一种实施方式,概念可以是目标对象的特征向量。存在有各种将目标对象的特征转换为特征向量的方法。例如当目标对象为一段音频时,可以将音频划分了多个段,获取每段音频的声音强度为特征值,并组合各个特征值以形成表征该段音频的声音强度的特征向量。本发明不受限于生成特征向量的具体方法,所有可以根据目标对象的特征生成特征向量的方式都在本发明的保护范围之内。
另外,概念是可以分级的,高级的概念可以基于低级的概念生成。根据一种实施方式,对于一段文字来说,对应于每个句子的概念为高级概念,而对应于每个单词的概念为低级概念,对应于每个字母的概念为更低级的概念。根据另一种实施方式,对于人体运动而言,对应于整个人体的运动状况的概念为高级概念,对应于人体各个部分的运动状况的概念为低级概念,对应于每个人体部分的某种类型运动的概念为更低级的概念。
计算单元100接收输入概念序列,并对该输入概念序列进行处理以生成输出概念。输出概念通常为高级概念,而输入概念为较低一级的概念。输入概念序列中包括多个输入输入概念,这些输入概念顺序排列,即后一个输入概念和前一个输入概念之间存在关联关系。根据一种实施方式,输入概念在时间上有关联关系,即在输入概念序列中,前一个输入概念在一个时间戳或者一段时间上生成,而后一个输入概念是在下一个时间戳或者一段时间上生成。
根据一种实施方式,输入概念序列以间隔符隔开,如下示意所示:
{间隔符,输入概念1,输入概念2,输入概念3,间隔符,输入概念4,输入概念5,输入概念6,间隔符}
其中输入概念1-3构成了第一个输入概念序列,输入概念4-6构成了第二个输入概念序列。计算单元100分别对第一个输入概念序列和第二个输入概念序列进行处理以生成输出概念1和输出概念2。并可以再次以间隔符隔开,而产生输出概念序列,即:
{间隔符,输入概念1,输出概念2,间隔符}。
这样计算单元100的输出概念可以用作另一个计算单元100的输入概念序列,从而适于分级别地对概念进行处理。
如图1所示,计算单元100包括子概念生成器110和输出概念生成器120。子概念生成器1接收输入概念序列,并对于该序列中的每个输入概念,基于机器学习的计算方式对相邻的输入概念进行计算以生成子概念。在输入概念为向量时,子概念同样为向量,并且具有和输入概念基本相同的尺寸。
图2示出了子概念生成器110的示意图。如图2所示,子概念生成器110包括神经网络计算装置122、差值计算装置124和子概念生成装置126。考虑到输入概念序列为具有先后关联关系,尤其是具有时间先后关联关系的向量序列,因此,神经网络计算装置122可以采用蓄水池计算方式(reservoir computing)来对输入概念进行处理。具体而言,计算装置122利用递归神经网络(RNN,recurrent neural network)对相邻的输入概念进行处理,以获得递归神经网络的当前输出向量。
图3示出了在计算装置122中所采用的RNN 300的一个示意图,如图3所示,RNN的输入层为u(t),中间层为x(t),且输出层为y(t)。在RNN中,中间层的计算方式如下:
其中a为影响因子,值在0到1之间,反映了历史值x(t)对当前值x(t+1)的影响。AF为激活函数,根据一种实施方式,激活函数可以采用脉冲神经模型函数,并使用做为激活函数的阈值。b为引入的噪声,可以增加运算的稳定性。
U(u(t+1),x(t),y(t))=Winu(t+1)+Wx(t)+Wfby(t)+v
Win,W,Wfb分别代表了输入层、中间层和输出层的权重值,v为常量偏置。
根据本发明的一个实施方式,在确定了RNN中的各个参数,如a,b,Win,W,Wfb之后,就可以使用当前输入概念作为输入层u(t+1),考虑历史中间层x(t)和输出层y(t)的值,来计算得到中间层x(t+1)的值,并根据输出层和中间层的关系而计算得到y(t+1)的值。
返回图2,差值计算装置124获取神经网络计算装置122计算得到的当前输出y(t+1)和之前的输出y(t),并计算二者之间的差值以获得差值向量。根据一种实施方式,可以对当前输出向量y(t+1)和上一次输出向量y(t)进行异或计算以生成该差值向量,即:
差值向量=y(t)XOR y(t+1)。
子概念生成装置126对差值计算装置124所生成的差值向量进行压缩,以生成子概念。对于RNN 300所产生的输出y(t),考虑到神经网络结构本身,y(t)的向量尺寸可以不同于输入概念的尺寸,甚至有可能会远大于输入概念的尺寸,为此,需要对输出y的向量尺寸进行压缩,以便获得和输入概念相同的尺寸。
图4示出了根据本发明的一种实施方式、在子概念生成装置126中采用的压缩处理方式400的示意图。如图4所示,首先将差值计算装置124计算得到的差值向量划分为预定数量个压缩窗口。假定差值向量的尺寸为L位,而子概念为N位,这可以设置L/N个压缩窗口。随后,对于每个压缩窗口中所占据的差值向量的L/N位。根据压缩函数和这L/N位值而压缩为1位,其值为1或者0。随后组合每个压缩窗口输出的位值,以形成具有N位长度的子概念。根据一种实施方式,可以就通过以下方式将每个压缩窗口所占据的L/N位压缩为1位:
首先,计算每个压缩窗口的平均值AVG_window;
随后,计算所有的AVG_window的最大值MAX_total;
对于每个压缩窗口,如果AVG_window=MAX_total,则输出值1,否则输出值0。
应当注意的是,本发明并不受限于上述将每个压缩窗口中的值压缩为1位的具体处理方式,所有可以实现这种L/N位到1位压缩的方式都在本发明的保护范围之内。
另外,本发明也不受限于上述将L位压缩为N位的具体处理方式,所有可以将L位压缩为N位的方式都在本发明的保护范围之内。
返回到图1,在子概念生成器110为输入概念序列中的每个输入概念生成子概念之后,输出概念生成器120基于由这些子概念所构成的子概念序列而生成输出概念。
输出概念基于子概念序列中的所有子概念构造而得到,根据本发明的一种实施例,可以对所有子概念进行位逻辑操作来生成输出概念。例如,输出概念可以根据下列运算得到:
SC(1)XOR SC(2)XOR…XOR SC(N)
其中,SC(1)、SC(2)…SC(N)为分别对应于输入概念1、输入概念2…输入概念N的子概念。
采用位异或运算的好处是有可能从输出概念中反向解码出各个子概念。但是不发明不受限于此,并且还可以采用其它的位逻辑计算,例如XNOR(异非或)运算等。
这样,对于每个输入概念序列,计算单元100产生一个与之对应的输出概念,而且输出概念的尺寸和输入概念的尺寸相同,从而便于在计算单元之间传输,并用作其它计算单元100的输入概念。
根据本发明的一种实施方式,计算单元100可以持续接收多个输入概念序列,为每个输入概念序列生成一个输出概念,从而为多个输入概念序列构造一个或者多个输出概念序列。输出概念序列承载了从输入概念序列所代表的低级概念中提取的高级概念,并可以用作下一级计算单元100的输入概念序列,以便提取更高级的概念。利用这种设计,可以有效降低在计算单元100之间的数据传输量,从而可以有效地实现分级分布式和并行的神经形态计算。
图5示出了根据本发明另一个实施方式的计算单元500的示意图。应当注意的是,图5所示的计算单元500是图1所示的计算单元100的进一步扩展,因此使用了相同和相对应的标记来指示相同或者相对应的部件。
如图5所示,计算单元500还包括存储器510,其中存储有概念表520。子概念生成器110和输出概念生成器120可以根据概念表520中存储的内容来分别控制生成子概念和输出概念的处理,从而实现了在计算单元用于推理模式场景时所需要的禁止函数功能以及为了加快子概念生成处理的预测函数功能。
根据一种实施方式,为了实现禁止函数,概念表520中存储有至少一个(一般是多个)保留的输出概念。输出概念生成器120在生成了输出概念(也称为输出概念候选)之后,可以将所生成的输出概念候选和保留的输出概念进行比较,如果所生成的输出概念候选不同于任一个保留的输出概念,则使输出概率候选无效(不输出输出概念,或者输出概念为全0的向量)等,并且指示子概念生成器110不再进行子概念的生成。如果所生成的输出概念候选在保留的输出概念中,则使用该输出概念候选以便输出,并同时指示子概念生成器110继续进行操作。在该实施方式中,利用概念表520定义了能够从计算单元500输出的输出概率的预定类别,即计算单元500仅仅可以输出一个保留的输出概念。这样,当计算单元500用于推理模式中时,可以仅仅生成预定的推理结果。
根据另一种实施方式,对于实现禁止函数的进一步实施例,概念表520中存储有保留的输出概念,以及与保留的输出概念相对应的多个保留子概念。每个保留子概念对应于一个特定序列位置,例如对于输入概念序列为时间相关序列的实施例而言,每个保留子概念对应于一个特定的时间戳位置,即概念表520具有如下的结构:
表格1:
子概念生成器110在生成子概念(也称为子概念候选之后),根据该子概念所对应的序列位置,与概念表520中所存储的、在相应位置的保留子概念进行比较。例如,如果子概念生成器110当前生成了在时间戳T-2时的SC-candidate,则该SC-candidate和在相同时间戳T-2位置处的子概念SC-1-2和SC-2-2进行比较。如果该子概念候选不同于任一个保留的子概念,则子概念生成器110不再生成子概念,并指示输出概念生成器使输出概念无效(不输出输出概念,或者输出概念为全0的向量等)。相应的,如果该子概念与一个保留的子概念相同,则子概念生成器继续进行处理。这样,子概念生成器110仅仅可以生成预定的子概念,从而使得输出概念生成器120仅仅可以生成预定的输出概念,从而可以更细的粒度应用于推理模式中。
根据还有一种实施例,为了实现预测函数功能,概念表520中除了存储有上述的保留的输出概念以及与保留的输出概念相对应的多个保留子概念之外,还存储有与每个子概念相对应的下一个输入概念。如上所述,处理单元500为输入概念序列中的每个输入概念产生子概念,然后基于子概念序列生成输出概念。由于输入概念之间存在先后关联,因此,对于相同的输出概念,子概念序列很可能是相同的,根据当前念产生的子概念之后,可以预期下一个输入概念的内容。
基于此,概念表520具有如下结构:
表格2:
当启动了预测函数时,子概念生成器110在接收到在某个时间戳处的输入概念时,先在概念表520中查找与该时间戳相对应的时间戳位置(例如,上一个时间戳)的保留输入概念。将所接收的输入概念与所查找到的保留输入概念进行比较,如果二者相同,则说明可以启动预测循环。此时,子概念生成器110不进行生成子概念的处理,而是直接从概念表520中查找在相应时间戳处的子概念做为要输出的子概念。同时,进一步获得在该时间戳处的下一个输入概念值,并将该输入概念值与子概念生成器110所要处理的输入概念序列中的下一个输入概念进行比较。如果二者一致,则继续进行预测循环的处理。如果二者不一致,则结束预测循环,并让子概念生成器110进行正常的子概念生成处理,或者可以出发输入概念违背预期输入概念的警告。
例如,当子概念生成器110在时间戳T-2处接收到一个输入概念IC时,可以将这个输入概念IC与概念表520中的时间戳T-1处的下一个输入概念(NC-1-1,NC-2-1)进行比较,如果存在相同的输入概念(例如命中了NC-2-1),则说明预测循环时有效的,并使用SC-2-2直接做为子概念生成器110要生成的子概念SC而不用进行复杂计算。随后,获取与SC-2-2相对应的下一个输入概念NC-2-2,将NC-2-2与子概念生成器110所接收的、在时间戳T-3处的输入概念进行比较,如果二者一致,则继续预测循环。
如果二者不一致,或者之前就没有找到相对应的下一个输入概念,则终止或者退出预测循环,并且让子概念生成器110进行正常的生成子概念的处理。根据一种实施方式,当退出预测循环时,可以发出输入概念不在预定的输入概念当中的异常警告,这种方式特别适于在使用计算单元500用于监控的领域,当出现事先未预定的输入概念(即对象特征)时,可以触发监控到异常状况的警告。
图5所示的计算单元500中引入了概念表520,其中存储了计算单元500所计算得到的输出概念和子概念以及输入概念之间的关系。当概念表520具有较大尺寸时,其中可以存储计算单元500可处理的大部分输入概念和子概念。这样当在计算单元500中启动预测函数功能时,可以显著减低需要由子概念生成器110实际进行子概念计算的计算需求。另外,当在计算单元500中启动禁止函数功能时,也可以完整地应当推理场景所需要的各种预测分支结果(对应于某个预定的输出概念)。
图6示出了根据本发明另一个实施例的计算单元600的示意图。应当注意的是,图6所示的计算单元600是图1所示的计算单元100或者图5所示的计算单元500的进一步扩展,因此使用了相同和相对应的标记来指示相同或者相对应的部件。
如图6所示,计算单元600包括短时存储器(STM)610,在子概念生成器110对输入概念进行处理之前,计算单元600将所接收到的输入概念序列存储在STM 610中。STM 610缓存输入概念序列中的多个输入概念,并且在一段时间之后,或者在输入概念序列处理完成之后清空缓存的输入概念序列。
分类器620为STM 610中缓存的输入概念进行分类。根据一种实施方式,分类器620计算所有缓存的输入概念之间的相似性,并且将相似的输入概念划分为一个类别。存在有各种计算输入概念相似性的方法,例如可以通过汉明距离、重叠近似、欧几里得距离、皮尔森近似、余弦近似和雅卡尔近似等方式来计算输入概念之间的相似性。
不变表示(IR)分配器630为每个类别的输入概念分配预先存储的不变表示。不变表示为与输入概念具有相同尺寸的向量。计算单元600中可以预先存储预定数量的不变表示。
根据一种实施方式,分类器620可以逐个地读取STM 610中缓存的输入概念,计算该输入概念与已经处理过的输入概念之间的相似性。如果存在相似的输入概念,则分配器630为该输入概念分配之前为相似的输入概念分配的不变表示。如果不存在相似的输入概念,则分配器630为该输入概念分配还未使用的不变表示。
分类器620和分配器630可以逐个输入序列地进行不变表示的分配处理。
如下图所示:
利用STM 610、分类器620和分配器630,可以为每个输入序列中的相同或者相似的输入概念分配相同的不变表示。在后续的子概念生成器110和输出概念生成器120中,就可以直接使用不变表示代替输入概念进行处理。这样,计算单元600更加关注一个输入序列的结构以及重复模式。
另外,考虑到不变表示的数量是有限的,如果计算单元600为计算单元500的进一步扩展时,在概念表520(例如在上述表格2)中用不变表示来代替输入概念时,可以采用不变表示索引,而不是不变表示本身,从而可以进一步减少概念表520的尺寸。
上面参考图1-6描述了计算单元以及计算单元中的各个部件,应当注意的是,上面所描述的计算单元(100,500和600)中的各个部件的划分为逻辑上的划分。计算单元可以实现为专门的硬件,如处理核心、处理芯片或者处理器等而没有脱离本发明的保护范围。
如上参考图1-6所述,计算单元对输入概念序列进行处理以生成输出概念。这样一个计算单元的输出可以作为另一个计算单元的输入。通过计算单元的这种模块化设计,可以组合多个计算单元以形成应对具有复杂的、具有时空关联性的问题,如会话系统、自动导航、视频监控等。
图7示出了根据本发明一个实施方式的处理器700的示意图。如图7所示,处理器700包括多个处理核心710-1、710-2和710-3。每个处理核心可以实现上面参考图1-6中描述的计算单元100、500和600的所有功能,其中处理核心710-1接收输入概念序列进行处理以产生输出序列。处理核心710-2连接到处理核心710-1,接收处理核心710-1的输出序列做为输入序列进行处理。处理核心710-3连接到处理核心710-2,接收处理核心710-2的输出序列做为输入序列,并生成最后为处理器700的最终输出的输出序列。
图7示出的处理器700具有顺序连接的多个处理核心710-1到710-3,每个处理核心依次处理低级概念并产生高级概念,并最终输出最高级的概念。
图8示出了根据本发明另一个实施方式的处理器800的示意图。如图8所示,处理器800包括多个处理核心(例如,图8示出了其中的9个处理核心,810-1到810-9),这些处理核心都连接到处理器800所提供的系统总线820上,这样可以在系统总线820中定义这些处理核心810之间的连接关系,例如一个处理核心810的输出概念可以提供给多个处理核心做为输入概念,而一些处理核心的输出概念可以同时提供给一个处理核心做为输入概念,从而可以实现复杂的模块化的神经形态的计算。
图9示出了根据本发明一种实施方式的计算方法900的示意图,图9所示的方法可以在上面参考图1-6所描述的计算单元中实现,因此为了说明书简洁起见、与计算单元中的相应部件所实现的结构和处理相似的部分就不再进行描述。
如图9所示,方法900适于步骤S910。在步骤S910中,接收输入概念序列。根据一种实施方式,输入概念序列以间隔符隔开,如下示意所示:
{间隔符,输入概念1,输入概念2,输入概念3,间隔符,输入概念4,输入概念5,输入概念6,间隔符}
其中输入概念1-3构成了第一个输入概念序列,输入概念4-6构成了第二个输入概念序列。方法900可以对第一个输入概念序列和第二个输入概念序列进行逐个处理以生成输出概念1和输出概念2。
随后在步骤S920中,对于每个输入概念序列中的每个输入概念,基于机器学习的计算方式对相邻的输入概念进行计算,以生成子概念。
为了生成子概念,考虑到输入概念序列为具有先后关联关系,尤其是具有时间先后关联关系的向量序列,因此,可以采用蓄水池计算方式(reservoir computing)来对输入概念进行处理。具体而言,在步骤S920中,首先利用递归神经网络(RNN,recurrent neuralnetwork)对相邻的输入概念进行处理,以获得递归神经网络的当前输出向量。上面参考图3已经描述了RNN的具体结构,这里不再进行赘述。
随后,在步骤S920中,获取利用RNN计算得到的当前输出y(t+1)和之前的输出y(t),并计算二者之间的差值以获得差值向量。根据一种实施方式,可以对当前输出向量y(t+1)和上一次输出向量y(t)进行异或计算以生成该差值向量,即:
差值向量=y(t)XOR y(t+1)。
接着,在步骤S920中,对该差值向量进行压缩以生成子概念。对于RNN300所产生的输出y(t),考虑到神经网络结构本身,y(t)的向量尺寸可以不同于输入概念的尺寸,甚至有可能会远大于输入概念的尺寸,为此,需要对输出y的向量尺寸进行压缩,以便获得和输入概念相同的尺寸。上面参考图4描述了一种进行压缩处理的具体实现方式,这里不再进行赘述。应当注意的是,本发明不受限于上述将L位(RNN的输出向量的尺寸)压缩为N位(输出概念的向量尺寸)的具体处理方式,所有可以将L位压缩为N位的方式都在本发明的保护范围之内。
在步骤S920为输入概念序列中的每个输入序列依次生成相应的子概念之后,在步骤S930中,基于由这些子概念构成的子概念序列生成输出概念。
输出概念基于子概念序列中的所有子概念构造而得到,根据本发明的一种实施例,可以对所有子概念进行位逻辑操作来生成输出概念。例如,输出概念可以根据下列运算得到:
SC(1)XOR SC(2)XOR…XOR SC(N)
其中,SC(1)、SC(2)…SC(N)为分别对应于输入概念1、输入概念2…输入概念N的子概念。
不发明不受限于异或位逻辑操作,并且还可以采用其它的位逻辑计算,例如XNOR(异非或)运算等。
这样,对于每个输入概念序列,在步骤S930中产生一个与之对应的输出概念,而且输出概念的尺寸和输入概念的尺寸相同,从而便于并用作其它计算单元100的输入概念。
可选地,当在步骤S910中接收到多个输入概念序列时,如上所述,在步骤S930为每个输入概念序列生成一个对应的输出概念之后,在步骤S940中,基于此构造输出概念序列并输出。根据本发明的一个实施方式,当步骤S930所生成的输出概念分别为输出概念1和输出概念2时,在步骤S940中,可以再次以间隔符隔开所生成的输出概念而而产生最终输出的概念序列,即:
{间隔符,输入概念1,输出概念2,间隔符}。
输出概念序列承载了从输入概念序列所代表的低级概念中提取的高级概念,并可以用作下一级计算方法900的输入概念序列,以便提取更高级的概念。利用这种设计,可以有效降低在执行的计算方法900的不同计算单元中之间的数据传输量,从而可以有效地实现分级分布式和并行的神经形态计算。
图10示出了根据本发明另一个实施例的计算方法1000的流程示意图。应当注意的是,图10所示的计算方法1000是图9所示的计算方法900的进一步扩展,因此使用了相同和相对应的标记来指示相同或者相对应的步骤。
图10所示的方法中新增加的步骤包括根据图5所示的概念表520中内容来分别控制步骤S920和步骤S930的处理,从而实现了该计算方法1000用于推理模式场景时所需要的禁止函数功能以及为了加快子概念生成处理的预测函数功能
根据一种实施方式,为了实现禁止函数,概念表520中存储有至少一个(一般是多个)保留的输出概念。为此,如图10所示,方法1000还包括在步骤S930之后的步骤S1010。在S1010中将步骤S930所生成的输出概念候选和保留的输出概念进行比较,如果所生成的输出概念候选不同于任一个保留的输出概念,则在步骤S1020中,使输出概率候选无效(不输出输出概念,或者输出概念为全0的向量)等,并且指示停止进行步骤S920中生成子概念的处理。如果在步骤S1010中确定所生成的输出概念候选在保留的输出概念中,则在步骤S1030中使用该输出概念候选做为输出概念,并同时指示继续进行步骤S920的处理。在该实施方式中,利用概念表520定义了能够输出的输出概率的预定类别,即计算方法仅仅可以输出一个保留的输出概念。这样,当计算方法用于推理模式中时,可以仅仅生成预定的推理结果。
根据另一种实施方式,对于实现禁止函数的进一步实施例,概念表520中存储有保留的输出概念,以及与保留的输出概念相对应的多个保留子概念。每个保留子概念对应于一个特定序列位置,例如对于输入概念序列为时间相关序列的实施例而言,每个保留子概念对应于一个特定的时间戳位置,即概念表520具有上面参考表格1所示的结构。
方法1000包括步骤S1040,适于在步骤S920在生成子概念(也称为子概念候选之后),根据该子概念所对应的序列位置,与概念表520中所存储的、在相应位置的保留子概念进行比较。如果该子概念候选不同于任一个保留的子概念,则在步骤S1020中指示不再进行步骤S920生成子概念的处理,不使输出概念无效(不输出输出概念,或者输出概念为全0的向量等)。相应的,如果该子概念与一个保留的子概念相同,则继续进行处理步骤S930的处理。这样,步骤S920仅仅可以生成预定的子概念,从而使得输出步骤S930仅仅可以生成预定的输出概念,从而可以更细的粒度应用于推理模式中。
根据还有一种实施例,为了实现预测函数功能,概念表520中除了存储有上述的保留的输出概念以及与保留的输出概念相对应的多个保留子概念之外,还存储有与每个子概念相对应的下一个输入概念。如上所述,处理方法1000为输入概念序列中的每个输入概念产生子概念,然后基于子概念序列生成输出概念。由于输入概念之间存在先后关联,因此,对于相同的输出概念,子概念序列很可能是相同的,根据当前念产生的子概念之后,可以预期下一个输入概念的内容。基于此,概念表520具有上面参考表2所示的结构:
当启动了预测函数时,在进行步骤S920之前,在步骤S1060中,在接收到在某个时间戳处的输入概念时,先在概念表520中查找与该时间戳相对应的时间戳位置(例如,上一个时间戳)的保留输入概念。将所接收的输入概念与所查找到的保留输入概念进行比较,如果二者相同,则说明可以启动预测循环。此时,在步骤S1070中,不进行生成子概念的处理,而是直接从概念表520中查找在相应时间戳处的子概念做为要输出的子概念。并且在步骤S1080中,进一步获得在该时间戳处的下一个输入概念值,并将该输入概念值与步骤S920所要处理的输入概念序列中的下一个输入概念进行比较。如果二者一致,则继续进行预测循环的处理。如果二者不一致,则在步骤S1090中结束预测循环,并让步骤S920进行正常的子概念生成处理,或者可以触发输入概念违背预期输入概念的警告。
在计算方法1000中引入了概念表520,其中存储了计算方法1000所计算得到的输出概念和子概念以及输入概念之间的关系。当概念表520具有较大尺寸时,其中可以存储计算方法1000可处理的大部分输入概念和子概念。这样当启动预测函数功能时,可以显著减低需要进行步骤S920的计算需求。另外,当启动禁止函数功能时,也可以完整地应当推理场景所需要的各种预测分支结果(对应于某个预定的输出概念)。
图11示出了根据本发明还有一种实施方式的计算方法1100的示意图。应当注意的是,图11所示的计算方法1100是图9所示的计算方法900或者图10所示的计算单元1000的进一步扩展,因此使用了相同和相对应的标记来指示相同或者相对应的部件。
如图11所示,在步骤S1110中,按顺序缓存输入概念序列中的每个输入概念。根据一种实施方式,将所接收到的输入概念序列存储在短时存储器(STM)610。STM 610缓存输入概念序列中的多个输入概念,并且在一段时间之后,或者在输入概念序列处理完成之后清空缓存的输入概念序列。
随后,在步骤S1120中,为所缓存的输入概念进行分类。根据一种实施方式,在步骤S1120在哪个计算所有缓存的输入概念之间的相似性,并且将相似的输入概念划分为一个类别。存在有各种计算输入概念相似性的方法,例如可以通过汉明距离、重叠近似、欧几里得距离、皮尔森近似、余弦近似和雅卡尔近似等方式来计算输入概念之间的相似性。
在步骤S1130中,为步骤S1120计算得到的每个类别的输入概念分配预先存储的不变表示。不变表示为与输入概念具有相同尺寸的向量。
利用步骤S1110到S1130的处理,可以为每个输入序列中的相同或者相似的输入概念分配相同的不变表示。在后续的步骤S920和S930中,就可以直接使用不变表示代替输入概念进行处理。这样,计算方法1100更加关注一个输入序列的结构以及重复模式。
上面参考图9-11所描述的计算方法可以在独立的计算单元中实现,也可以在上面参考图7和8描述的处理器的处理核心中实现,从而让处理器实现复杂的模块化的神经形态的计算。
上面参考图1-6描述的计算单元以及其中实现了参考图9-11描述的计算方法的处理核心可以应用于各种领域。
在一种应用领域中,由于计算单元和处理核心可以高效地对基于时间序列数据进行处理,因此,可以很好应用于具有时序数据的场景中,如视频监控、对GPS随时间改变的轨迹监控、机器翻译和口译等场景中。
另外,当在计算单元和处理核心中启动了预测和禁止功能时,由于概念表中记录了一系列预先定义的输出概念,因此可以应用于各种推理场景,例如应用于无人驾驶、轨迹预测和交通控制等领域。
另外,当在计算单元和处理核心中启动了预测功能时,由于概念表中记录了一系列预先定义的输入概念预测,因此可以容易地发现与预测结果一致的情况而触发异常,因此可以应用于异常监控场景,例如应用于城市大脑中的交通控制和安防监控等领域。
另外上面参考图7和8所描述的处理器可以包含在专门的片上系统中。图12示出了根据本发明一个实施方式的片上系统1500的示意图。图12所示的片上系统包含了图7和图8所示的处理器700和800,因此与图7或者8中相似的部件具有同样的附图标记。如图11所示,互连单元1502耦接到处理器700、系统代理单元1110、总线控制器单元1116、集成存储器控制器单元1114、一个或多个协处理器1520、静态随机存取存储器(SRAM)单元1530、直接存储器存取(DMA)单元1532以及用于耦合至一个或多个外部显示器的显示单元1540。协处理器1520包括集成图形逻辑、图像处理器、音频处理器和视频处理器。在一个实施例中,协处理器1520包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
另外,上面描述的片上系统可以包含在智能设备中,以便在智能设备中实现相应的功能,包括但不限于执行相关控制程序、进行数据分析、运算和处理、网络通信、控制智能设备中的外设等。
这样的智能设备包括专门的智能设备,如移动终端和个人数字终端等,这些设备中包括根据本发明的一个或者多个片上系统来进行数据处理,或者对设备中的外设进行控制。
这样的智能设备还包括为了实现特定功能而构造的专门设备,例如智能音箱、和智能显示设备等。这些设备中包括根据本发明的片上系统来对音箱和显示设备进行控制,从而赋予音箱和显示设备额外的通信、感知和数据处理等功能。
这样的智能设备还包括各种IoT和AIoT设备。这些设备中包括根据本发明的片上系统进行数据处理,例如进行AI运算、数据通信和传输等,从而实现了更加密集且更加智能的设备分布。
这样的智能设备还可以在车辆中使用,例如可以实现为车载设备、或者可以嵌入到车辆中,从而为车辆的智能驾驶提供数据处理能力。
这样的智能设备还可以用于家庭和娱乐领域,例如可以实现为智能音箱、智能空调、智能冰箱、智能显示设备等。这些设备包括根据本发明的片上系统来进行数据处理和外设控制,从而实现了家庭和娱乐设备的智能化。
另外,这样的智能设备还可以用于工业领域,例如可以实现为工控设备、感测设备、IoT设备,AIoT设备和制动设备等。这些设备中包括根据本发明的片上系统来进行数据处理和外设控制,从而实现了工业设备的智能化。
以上对智能设备的描述仅仅是示意性的,根据本发明的智能设备不受限于此,所有可以利用根据本发明的片上系统进行数据处理的智能设备都在本发明的保护范围之内。
本文公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (30)
1.一种基于机器学习的计算方法,适于对输入概念序列进行处理以生成输出概念,所述输入概念和输出概念为表征对象特征的向量,所述对象包括音频数据,以及所述输入概念序列包括顺序排列的多个输入概念,所述方法包括步骤:
对于所述序列中的每个输入概念,利用递归神经网络对相邻的输入概念进行处理,以获得递归神经网络的当前输出向量,计算所述递归神经网络的当前输出向量和上一次输出向量之间的差值向量,将所述差值向量划分为预定数量个压缩窗口,每个压缩窗口占据所述差值向量的预定位数,对于每个压缩窗口,根据所述差值向量在压缩窗口中的预定位置值而为所述压缩窗口分配值1或者0,组合为每个压缩窗口分配的值而构造子概念,所述子概念为向量;以及
在为所述序列中的输入概念依次生成相应子概念而构成子概念序列之后,基于所述子概念序列生成所述输出概念,所述输出概念用作下一级所述计算方法的输入概念。
2.如权利要求1所述的方法,其中所述计算当前输出向量和上一次输出向量之间的差值的步骤包括:
对所述递归神经网络的当前输出向量和上一次输出向量进行异或计算以生成所述差值向量。
3.如权利要求1或2所述的方法,所述生成输出概念的步骤包括:
对所述子概念序列中的所有子概念进行位逻辑操作,以生成所述输出概念。
4.如权利要求3所述的方法,其中所述位逻辑操作包括下列位逻辑运算中的任意一个:
异或或者非异或。
5.如权利要求1所述的方法,还包括步骤:
根据概念表的内容来控制所述生成子概念的处理和所述生成输出概念的处理。
6.如权利要求5所述的方法,其中所述概念表中存储有一个或者多个保留的输出概念,以及所述控制步骤包括:
如果所生成的输出概念不同于一个或者多个保留的输出概念中的任一个,则不再进行所述生成子概念的处理,且使所生成的输出概念无效。
7.如权利要求5所述的方法,其中所述概念表中还存储有保留输出概念以及与所述保留输出概念相关联的子概念序列,以及所述控制步骤还包括:
根据所生成的子概念在所生成的子概念序列中的位置来确定所述概念表中与所生成的子概念相对应的保留输出概念;以及
如果所生成的子概念不同于与所述保留输出概念相关联的子概念序列相应位置处的子概念,则不再进行所述生成子概念的处理,且使所生成的输出概念无效。
8.如权利要求6或7所述的方法,其中所述使所生成的输出概念无效包括不输出所述输出概念。
9.如权利要求5所述的方法,其中所述概念表中还存储有保留输出概念、与所述保留输出概念相关联的子概念序列、以及与所述子概念序列中的每个子概念相对应的下一个输入概念,以及所述控制步骤还包括:
根据所述输入概念在输入概念序列中的位置在所述概念表查找与所述输入概念相对应的保留输出概念;
如果查找到所述保留输出概念,则不进行所述生成子概念的处理,并使用与所查找到的保留输出概念相关联的子概念序列的相应位置处的子概念作为所生成的子概念;
从所述概念表中获取与所述子概念相对应的下一个输入概念;以及
如果所获取的下一个输入概念与所述输入概念序列中的下一个输入概念相同,则继续不进行所述生成子概念的处理,并使用所述子概念序列中的下一个位置处的子概念作为所生成的子概念。
10.如权利要求9所述的方法,所述控制步骤还包括:
如果所获取的下一个输入概念与所述输入概念序列中的下一个输入概念不同,则进行所述生成概念的处理,或者进行异常处理。
11.如权利要求1所述的方法,还包括步骤:
接收输入概念序列,并且按顺序缓存所述输入概念序列中的每个输入概念。
12.如权利要求11所述的方法,还包括步骤:
根据所缓存的输入概念之间的相似性来为所述输入概念进行分类;
为每个类别的输入概念指定相应的不变表示,所述不变表示为具有与所述输入概念相同大小的向量;以及
使用与所述输入概念相对应的不变表示代替所述输入概念来进行所述子概念生成步骤、输出概念生成步骤和控制步骤的处理。
13.一种基于机器学习的计算单元,适于对输入概念序列进行处理以生成输出概念,所述输入概念和输出概念为表征对象特征的向量,所述对象包括音频数据,以及所述输入概念序列包括顺序排列的多个输入概念,所述计算单元包括:
子概念生成器,包括神经网络计算装置、差值计算装置和子概念生成装置,所述神经网络计算装置适于对于所述序列中的每个输入概念,利用递归神经网络对相邻的输入概念进行处理,以获得递归神经网络的当前输出向量,所述差值计算装置适于计算所述递归神经网络的当前输出向量和上一次输出向量之间的差值向量,所述子概念生成装置适于将所述差值向量划分为预定数量个压缩窗口,每个压缩窗口占据所述差值向量的预定位数,对于每个压缩窗口,根据所述差值向量在压缩窗口中的预定位置值而为所述压缩窗口分配值1或者0,组合为每个压缩窗口分配的值而构造所述子概念,所述子概念为向量;以及
输出概念生成器,适于在为所述序列中的输入概念依次生成相应子概念而构成子概念序列之后,基于所述子概念序列生成所述输出概念,所述输出概念用作下一级所述计算单元的输入概念。
14.如权利要求13所述的计算单元,其中所述差值计算装置适于对所述递归神经网络的当前输出向量和上一次输出向量进行异或计算以生成所述差值向量。
15.如权利要求13或14所述的计算单元,所述输出概念生成器适于对所述子概念序列中的所有子概念进行位逻辑操作,以生成所述输出概念。
16.如权利要求15所述的计算单元,其中所述位逻辑操作包括下列位逻辑运算中的任意一个:
异或或者异非或。
17.如权利要求13所述的计算单元,还包括存储器,其中存储有概念表,以及所述子概念生成器和输出概念生成器适于根据所述概念表的内容进行处理。
18.如权利要求17所述的计算单元,其中所述概念表中存储有一个或者多个保留的输出概念,以及如果所述输出概念生成器所生成的输出概念不同于一个或者多个保留的输出概念中的任一个,则所述子概念生成器不再进行所述生成子概念的处理,且所述输出概念生成器使所生成的输出概念无效。
19.如权利要求17所述的计算单元,其中所述概念表中还存储有保留输出概念以及与所述保留输出概念相关联的子概念序列,以及所述子概念生成器适于根据所生成的子概念在所生成的子概念序列中的位置来确定所述概念表中与所生成的子概念相对应的保留子概念;以及
如果所生成的子概念不同于与所述保留子概念中的任一个子概念,则所述子概念生成器不再进行所述生成子概念的处理,且所述输出概念生成器使所生成的输出概念无效。
20.如权利要求18或者19所述的计算单元,其中所述输出概念生成器使所生成的输出概念无效包括不输出所述输出概念。
21.如权利要求17所述的计算单元,其中所述概念表中还存储有保留输出概念、与所述保留输出概念相关联的子概念序列、以及与所述子概念序列中的每个子概念相对应的下一个输入概念,以及所述子概念生成器还适于:
根据所述输入概念在输入概念序列中的位置在所述概念表查找中保留的输入概念序列;
如果查找到与所述输入概念相同的保留输入概念,则不进行所述生成子概念的处理,并使用与所查找到的保留输入概念相关联的子概念序列的相应位置处的子概念作为所生成的子概念;
从所述概念表中获取与所述子概念相对应的下一个输入概念;以及
如果所获取的下一个输入概念与所述输入概念序列中的下一个输入概念相同,则继续指示所述子概念生成器不进行所述生成子概念的处理,并使用所述子概念序列中的下一个位置处的子概念作为所生成的子概念。
22.如权利要求21所述的计算单元,所述子概念生成器还适于:
如果所获取的下一个输入概念与所述输入概念序列中的下一个输入概念不同,则指示所述子概念生成器进行所述生成子概率的处理或者进行异常处理。
23.如权利要求13所述的计算单元,还包括短时存储器,适于按顺序缓存所述输入概念序列中的每个输入概念。
24.如权利要求23所述的计算单元,还包括:
分类器,适于根据所述短时存储器中缓存的输入概念之间的相似性来为所述输入概念进行分类;
不变表示分配器,适于为每个类别的输入概念指定相应的不变表示,所述不变表示为具有与所述输入概念相同大小的向量;以及
所述子概念生成器和输出概念生成器适于使用与所述输入概念相对应的不变表示代替所述输入概念来进行所述子概念生成处理和输出概念生成处理。
25.一种处理器,包括一个或者多个处理核心,每个处理核心实现如权利要求1-12中任一个所述的处理方法。
26.如权利要求25所述的处理器,所述一个或者多个处理核心包括第一处理核心和耦接到所述第一处理核心的第二处理核心,
所述第一处理核心接收输入概念序列并生成输出概念;以及
所述第二处理核心接收所述第一处理核心生成的输出概念,并将其用作所述第二处理核心的输入概念进行处理以生成并输出所述第二处理核心的输出概念。
27.一种片上系统,包括如权利要求25或者26所述的处理器。
28.一种智能设备,包括如权利要求27所述的片上系统。
29.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-12中任一项所述方法的指令。
30.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-12中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816995.1A CN112446483B (zh) | 2019-08-30 | 2019-08-30 | 一种基于机器学习的计算方法和计算单元 |
PCT/US2020/043004 WO2021040914A1 (en) | 2019-08-30 | 2020-07-22 | Processors, devices, systems, and methods for neuromorphic computing based on modular machine learning models |
US16/936,333 US20210081757A1 (en) | 2019-08-30 | 2020-07-22 | Processors, devices, systems, and methods for neuromorphic computing based on modular machine learning models |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816995.1A CN112446483B (zh) | 2019-08-30 | 2019-08-30 | 一种基于机器学习的计算方法和计算单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112446483A CN112446483A (zh) | 2021-03-05 |
CN112446483B true CN112446483B (zh) | 2024-04-23 |
Family
ID=74683683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910816995.1A Active CN112446483B (zh) | 2019-08-30 | 2019-08-30 | 一种基于机器学习的计算方法和计算单元 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210081757A1 (zh) |
CN (1) | CN112446483B (zh) |
WO (1) | WO2021040914A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102783035A (zh) * | 2010-02-18 | 2012-11-14 | 捷讯研究有限公司 | 并行熵编码和解码方法和设备 |
CN104182771A (zh) * | 2014-07-30 | 2014-12-03 | 北京航空航天大学 | 基于带丢包自动编码技术的时间序列数据图形化分析方法 |
US9143393B1 (en) * | 2004-05-25 | 2015-09-22 | Red Lambda, Inc. | System, method and apparatus for classifying digital data |
CN105144164A (zh) * | 2013-03-13 | 2015-12-09 | 谷歌公司 | 使用深度网络对概念术语评分 |
CN106033332A (zh) * | 2015-03-10 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ572036A (en) * | 2008-10-15 | 2010-03-26 | Nikola Kirilov Kasabov | Data analysis and predictive systems and related methodologies |
US8990132B2 (en) * | 2010-01-19 | 2015-03-24 | James Ting-Ho Lo | Artificial neural networks based on a low-order model of biological neural networks |
US8775341B1 (en) * | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
US10832120B2 (en) * | 2015-12-11 | 2020-11-10 | Baidu Usa Llc | Systems and methods for a multi-core optimized recurrent neural network |
US20170213134A1 (en) * | 2016-01-27 | 2017-07-27 | The Regents Of The University Of California | Sparse and efficient neuromorphic population coding |
WO2017151757A1 (en) * | 2016-03-01 | 2017-09-08 | The United States Of America, As Represented By The Secretary, Department Of Health And Human Services | Recurrent neural feedback model for automated image annotation |
US20180068023A1 (en) * | 2016-09-07 | 2018-03-08 | Facebook, Inc. | Similarity Search Using Polysemous Codes |
US10283140B1 (en) * | 2018-01-12 | 2019-05-07 | Alibaba Group Holding Limited | Enhancing audio signals using sub-band deep neural networks |
-
2019
- 2019-08-30 CN CN201910816995.1A patent/CN112446483B/zh active Active
-
2020
- 2020-07-22 US US16/936,333 patent/US20210081757A1/en active Pending
- 2020-07-22 WO PCT/US2020/043004 patent/WO2021040914A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9143393B1 (en) * | 2004-05-25 | 2015-09-22 | Red Lambda, Inc. | System, method and apparatus for classifying digital data |
CN102783035A (zh) * | 2010-02-18 | 2012-11-14 | 捷讯研究有限公司 | 并行熵编码和解码方法和设备 |
CN105144164A (zh) * | 2013-03-13 | 2015-12-09 | 谷歌公司 | 使用深度网络对概念术语评分 |
CN104182771A (zh) * | 2014-07-30 | 2014-12-03 | 北京航空航天大学 | 基于带丢包自动编码技术的时间序列数据图形化分析方法 |
CN106033332A (zh) * | 2015-03-10 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及设备 |
Non-Patent Citations (2)
Title |
---|
A Dynamic Sub-vector Weighting Scheme for Image Retrieval with Relevance Feedback;Lei Wang et al;《Pattern Analysis & Applications》;20031231;第6卷;212-223 * |
基于机器学习的汉语情感极性分类方法研究;宋佳颖;《中国优秀硕士学位论文全文数据库(电子期刊)》;20170215;第2017卷(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112446483A (zh) | 2021-03-05 |
US20210081757A1 (en) | 2021-03-18 |
WO2021040914A1 (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Ssap: Single-shot instance segmentation with affinity pyramid | |
Hu et al. | Learning activity patterns using fuzzy self-organizing neural network | |
Jeong et al. | Lightweight multilayer random forests for monitoring driver emotional status | |
CN112560886A (zh) | 训练类条件生成对抗序列网络 | |
KR20220112813A (ko) | 신경망 모델 업데이트 방법, 및 이미지 처리 방법 및 디바이스 | |
KR102283416B1 (ko) | Gan 기반 딥러닝 모델을 이용한 이미지 생성 방법 및 장치 | |
CN113039555B (zh) | 在视频剪辑中进行动作分类的方法、系统及存储介质 | |
CN112668013B (zh) | 一种面向Java源码的语句级模式探索的漏洞检测方法 | |
Liu et al. | Wasserstein loss with alternative reinforcement learning for severity-aware semantic segmentation | |
WO2020229923A1 (en) | Counter rare training date for artificial intelligence | |
Pal et al. | Bag graph: Multiple instance learning using bayesian graph neural networks | |
Lee et al. | TOD: Transprecise object detection to maximise real-time accuracy on the edge | |
WO2022063076A1 (zh) | 对抗样本的识别方法及装置 | |
CN112446483B (zh) | 一种基于机器学习的计算方法和计算单元 | |
Hiley et al. | Discriminating spatial and temporal relevance in deep Taylor decompositions for explainable activity recognition | |
JP2020057357A (ja) | 神経網の動作方法と学習方法及びその神経網 | |
Yedjour | Extracting classification rules from artificial neural network trained with discretized inputs | |
Graves et al. | Associative compression networks for representation learning | |
CN112215193A (zh) | 一种行人轨迹预测方法及系统 | |
Oderhohwo et al. | Deployment of object detection enhanced with multi-label multi-classification on edge device | |
CN111368995B (zh) | 一种基于序列推荐系统的通用网络压缩框架和压缩方法 | |
Zarecki et al. | Textual membership queries | |
Aremu et al. | Towards smart city security: Violence and weaponized violence detection using dcnn | |
Jiao et al. | Intrusion detection based on feature selection and temporal convolutional network in mobile edge computing environment | |
Frenkel | Ontological and probabilistic aspects of assessing predictors quality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |