CN111801693A - 神经网络装置、信号生成方法及程序 - Google Patents
神经网络装置、信号生成方法及程序 Download PDFInfo
- Publication number
- CN111801693A CN111801693A CN201980016765.5A CN201980016765A CN111801693A CN 111801693 A CN111801693 A CN 111801693A CN 201980016765 A CN201980016765 A CN 201980016765A CN 111801693 A CN111801693 A CN 111801693A
- Authority
- CN
- China
- Prior art keywords
- signal
- value
- pulse width
- neural network
- neuromorphic
- 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.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 155
- 238000000034 method Methods 0.000 title claims description 53
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 title description 6
- 238000000605 extraction Methods 0.000 claims abstract description 100
- 238000013139 quantization Methods 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 12
- 239000003054 catalyst Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 48
- 210000004027 cell Anatomy 0.000 description 41
- 230000010354 integration Effects 0.000 description 34
- 230000004048 modification Effects 0.000 description 32
- 238000012986 modification Methods 0.000 description 32
- 239000008186 active pharmaceutical agent Substances 0.000 description 31
- 238000004364 calculation method Methods 0.000 description 29
- 230000008859 change Effects 0.000 description 22
- 238000004088 simulation Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001465 metallisation Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 101000738901 Homo sapiens PMS1 protein homolog 1 Proteins 0.000 description 1
- LTXREWYXXSTFRX-QGZVFWFLSA-N Linagliptin Chemical compound N=1C=2N(C)C(=O)N(CC=3N=C4C=CC=CC4=C(C)N=3)C(=O)C=2N(CC#CC)C=1N1CCC[C@@H](N)C1 LTXREWYXXSTFRX-QGZVFWFLSA-N 0.000 description 1
- 108010074346 Mismatch Repair Endonuclease PMS2 Proteins 0.000 description 1
- 102100037480 Mismatch repair endonuclease PMS2 Human genes 0.000 description 1
- 102100037482 PMS1 protein homolog 1 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000003487 electrochemical reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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/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
-
- 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
-
- 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
- G06N3/065—Analogue means
-
- 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/047—Probabilistic or stochastic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
神经网络装置具备:抽取部,其通过将输入信号的离散值基于预先确定的阈值变换为比输入信号的量化级数少的级数的离散值而生成抽取信号;调制部,其通过对抽取部生成的抽取信号的离散值进行脉冲宽度调制,生成通过脉冲宽度表示抽取信号的离散值的脉冲宽度调制信号;加权部,其包含神经形态元件,该神经形态元件通过将与可变的特性的值对应的权重相对于调制部生成的脉冲宽度调制信号进行乘法运算,输出脉冲宽度调制信号被加权了的加权信号。
Description
技术领域
本发明涉及神经网络装置、信号生成方法及程序。
本申请基于2018年3月6日于日本申请的日本特愿2018-040214号主张优先权,并在此引用其内容。
背景技术
一直以来,研究神经网络的技术。
以深度学习为代表,使用了神经网络技术的高度的信息的识别技术、分类技术在金融、营销、认证、安全等的广泛的领域中实用化。这种技术中,通常需要庞大量的积和运算,大多情况下使用云服务器或巨大的计算机来执行。
近年来,研究可利用电导率(电阻的倒数)模拟性地变化的神经形态(Neuromorphic)元件而低功耗且高速地执行上述的积和运算的新的运算机构。它们通过模拟人类的大脑的识别工艺中的神经元与突触的关系而要实现低耗电量、高速的信号处理,并进行将神经网络的结构作为静态的网络模型进行模拟的技术或根据尖峰信号的时机要实现神经元的点火模型的技术等、广泛的研究。
作为一个例子,在专利文献1中公开有一种方法,其在尖峰型的神经网络中,将通过实数值模拟求得的权重(结合权重)载入包含离散值突触·器件的神经网络的电路芯片,该电路芯片包含神经形态元件(参照专利文献1。)。
但是,在将神经形态元件应用于神经网络的情况下,通常,输入信号被脉冲宽度调制(PWM),因此,作为技术问题之一,存在提高输入信号的分辨率时,神经形态元件所进行的运算时间根据该分辨率而增加这样的技术问题。另一方面,在将输入信号调制成电压或电流值的神经形态元件的情况下,一般而言,当对神经形态元件施加较高的电压时,元件的电阻值其本身变化,或引起元件的故障,因此,需要通过大量步骤在非常有限的电压范围中进行分压。其结果,存在需要脉冲电压的高精度的控制及电流检测电路的构成分辨率化这样的技术问题。
现有技术文献
专利文献
专利文献1:国际公开第2012/055593号
发明内容
发明所要解决的技术问题
如上所述,在神经网络的积和运算中使用神经形态元件的情况下,存在运算时间由于输入信号相对于该神经形态元件的分辨率的高度而增加这样的技术问题。
本发明是考虑到这种情况而研发的,其课题在于,提供在神经网络的积和运算中使用神经形态元件的情况下,能够抑制运算时间的增加的神经网络装置、信号生成方法及程序。另外,本发明在使用采用调制了电压值或电流值的输入信号的神经形态元件的情况下,期待电路的简化。
解决问题的技术手段
本发明的一个方式是一种神经网络装置,具备:抽取(Decimation)部,其通过将输入信号的离散值基于预先确定的阈值变换为比所述输入信号的量化级数少的级数的离散值而生成抽取信号;调制部,其通过对所述抽取部生成的所述抽取信号的离散值进行脉冲宽度调制,生成通过脉冲宽度表示所述抽取信号的离散值的脉冲宽度调制信号;加权部,其包含神经形态元件,所述神经形态元件通过将与可变的特性的值对应的权重相对于所述调制部生成的所述脉冲宽度调制信号进行乘法运算,输出所述脉冲宽度调制信号被加权了的加权信号。
本发明的一个方式为,在上述的神经网络装置中,所述阈值基于所述加权部输出的所述加权信号的加权结果而确定。
本发明的一个方式为,在上述的神经网络装置中,所述抽取部对于多个所述输入信号生成分别对应的所述抽取信号,所述调制部使信号波形的变化时机互不相同地生成与所述抽取部生成的多个所述抽取信号分别对应的所述脉冲宽度调制信号。
本发明的一个方式为,在上述的神经网络装置中,所述阈值将所述输入信号的量化级数不等宽地进行分割。
本发明的一个方式为,在上述的神经网络装置中,所述抽取部通过将所述输入信号的量化级数分割成两部分而生成二值的所述抽取信号,所述调制部生成与所述抽取信号对应的二值的所述脉冲宽度调制信号,所述加权部输出二值的所述脉冲宽度调制信号被加权了的所述加权信号,还具备检测所述加权部出力的所述加权信号的电流的大小的电流检测部。
本发明的一个方式为,在上述的神经网络装置中,还具备:阈值取得部,其取得用于所述抽取部所进行的所述抽取信号的生成的所述阈值。
本发明的一个方式为,在上述的神经网络装置中,所述阈值基于所述输入信号可变地确定。
本发明的一个方式为,在上述的神经网络装置中,所述抽取部生成的所述抽取信号的离散值的级数在比所述输入信号的量化级数少的级数的范围内基于所述输入信号的值可变地确定。
本发明的一个方式为一种信号生成方法,具有:抽取步骤,通过将输入信号的离散值基于预先确定的阈值变换为比所述输入信号的量化级数少的级数的离散值而生成抽取信号;调制步骤,通过对在所述抽取步骤生成的所述抽取信号的离散值进行脉冲宽度调制,生成通过脉冲宽度表示所述抽取信号的离散值的脉冲宽度调制信号;加权步骤,神经形态元件通过将与可变的特性的值对应的权重相对于在所述调制步骤生成的所述脉冲宽度调制信号进行乘法运算,输出所述脉冲宽度调制信号被加权了的加权信号。
本发明的一个方式为一种程序,用于使神经网络装置具备的计算机执行如下步骤:抽取步骤,通过将输入信号的离散值基于预先确定的阈值变换为比所述输入信号的量化级数少的级数的离散值而生成抽取信号;调制步骤,通过对在所述抽取步骤生成的所述抽取信号的离散值进行脉冲宽度调制,生成通过脉冲宽度表示所述抽取信号的离散值的脉冲宽度调制信号;加权步骤,通过相对于所述神经形态元件供给所述脉冲宽度调制信号,输出所述加权信号,所述神经形态元件通过将与可变的特性的值对应的权重相对于在所述调制步骤生成的所述脉冲宽度调制信号进行乘法运算,输出所述脉冲宽度调制信号被加权了的加权信号。
发明的效果
根据本发明的一个方式,在神经网络的积和运算中使用神经形态元件的情况下,能够抑制运算时间的增加。
附图说明
图1是表示本发明的实施方式所涉及的神经网络系统的概略的结构的方块图。
图2是表示本发明的实施方式所涉及的神经网络电路的概略的结构的方块图。
图3是表示本发明的实施方式所涉及的元件阵列的概念的结构的方块图。
图4是表示本发明的实施方式所涉及的识别对象的图像的例子的图。
图5是表示本发明的实施方式所涉及的与参数α、β相关的特性的一个例子的图。
图6是表示本发明的实施方式所涉及的权重的学习的结果的一个例子的图。
图7是表示与设定于本发明的实施方式所涉及的神经形态元件的动态范围对应的识别精度的一个例子的图。
图8是表示将关于所有的层相同的动态范围设定于神经形态元件的情况下的结果的一个例子的图。
图9是表示将关于本发明的实施方式所涉及的各层不同的动态范围设定于神经形态元件的情况下的结果的一个例子的图。
图10是表示将关于所有的层相同的动态范围设定于神经形态元件的情况下的结果的另一个例子的图。
图11是表示将关于本发明的实施方式所涉及的各层不同的动态范围设定于神经形态元件的情况下的结果的另一个例子的图。
图12是表示与设定于本发明的实施方式所涉及的神经形态元件的动态范围的偏移量对应的识别精度的一个例子的图。
图13是表示本发明的实施方式所涉及的神经网络电路中进行的处理的顺序的一个例子的图。
图14是表示本发明的第二实施方式所涉及的神经网络装置的概略的结构的图。
图15是表示本实施方式的抽取电路参照的阈值的一个例子的图。
图16是表示本实施方式的抽取电路所进行的离散值变换的一个例子的图。
图17是表示本实施方式的PWM调制电路所进行的脉冲宽度调制的一个例子的图。
图18是表示本实施方式的神经形态器件的结构的一个例子的图。
图19是表示向本实施方式的神经形态器件供给的脉冲宽度调制信号的一个例子的图。
图20是表示向本实施方式的神经形态器件供给的脉冲宽度调制信号的变形例的图。
图21是表示本实施方式的抽取电路参照的阈值的变形例的图。
图22是表示本实施方式的抽取电路所进行的离散值变换的变形例的图。
图23是表示本实施方式的抽取电路参照的阈值的第二变形例的图。
图24是表示本实施方式的抽取电路所进行的离散值变换的第二变形例的图。
图25是表示本实施方式的PWM调制电路所进行的脉冲宽度调制的变形例的图。
图26是表示向本实施方式的神经形态器件供给的脉冲宽度调制信号的变形例的图。
图27是表示现有的神经网络装置的结构的一个例子的图。
具体实施方式
[第一实施方式]
以下,参照附图对本发明的第一实施方式进行说明。
[神经网络系统的概要]
图1是表示本发明的实施方式所涉及的神经网络系统1的概略的结构的方块图。
神经网络系统1具备控制装置11和元件阵列部12。
控制装置11具备:识别控制部21、权重运算控制部22、权重分配控制部23、存储部24。
元件阵列部12进行神经网络中的积和运算。元件阵列部12包含神经形态元件。
控制装置11进行与元件阵列部12相关的控制。
识别控制部21控制神经网络中的识别的处理。
权重运算控制部22控制分配于神经形态元件的权重的运算(计算)的处理。
权重分配控制部23对神经形态元件分配权重。
存储部24存储信息。本实施方式中,为了便于说明,表示了一个存储部24,但作为其它的结构例,控制装置11也可以具备两个以上的存储部并区分使用各个存储部。
图2是表示本发明的实施方式所涉及的神经网络电路101的概略的结构的方块图。
图2所示的神经网络电路101是安装有图1所示的神经网络系统1的功能的电路的一个例子。
神经网络电路101具备:识别用控制电路111、权重运算控制电路112、权重分配控制电路113、元件阵列121、输入输出接口电路(输入输出IF电路)122、输入输出接口电路(输入输出IF电路)123。
图1及图2的例子中,利用识别用控制电路111实现识别控制部21的功能,利用权重运算控制电路112实现权重运算控制部22的功能,利用权重分配控制电路113实现权重分配控制部23的功能。此外,存储部24的功能在识别用控制电路111、权重运算控制电路112和权重分配控制电路113的各个中分散并实现。
图1及图2的例子中,利用元件阵列121及输入输出IF电路122~123实现元件阵列部12的功能。
元件阵列121包含多个神经形态元件。
此外,图2的例子中,在元件阵列121的内部仅例示一个神经形态元件131。神经形态元件131对输入的信号乘以权重的值,并将具有该乘法运算的结果的值的信号作为输出信号进行输出。该权重的值是与神经形态元件131的可变的特性的值对应的值。神经形态元件131的特性的值通过从外部控制而变化。
本实施方式中,元件阵列121中,使用多个这种神经形态元件,构成进行与所期望的神经网络对应的积和运算的电路。信号向元件阵列121的输入及信号从元件阵列121的输出经由输入输出IF电路122、123进行。作为一个例子,元件阵列121的电路成为矩阵状,矩阵的一边(例如,纵的边)的信号的输入输出经由输入输出IF电路122进行,矩阵的另一边(例如,横的边)的信号的输入输出经由输入输出IF电路123进行。
在此,识别用控制电路111与输入输出IF电路122、123连接,经由输入输出IF电路122、123向元件阵列121输出识别对象的信息,并基于该信息将由元件阵列121运算的结果(识别结果)的信息经由输入输出IF电路122、123输入。然后,识别用控制电路111进行将输入的信息(识别结果的信息)存储于存储部24、或基于输入的信息(识别结果的信息)执行规定的解析等。
另外,识别用控制电路111具有例如对由元件阵列121实现的神经网络进行学习(机械学习)的功能。
权重运算控制电路112与识别用控制电路111连接,另外,与权重分配控制电路113连接。
另外,本实施方式中,权重运算控制电路112具有以比元件阵列121所包含的神经形态元件的特性的分辨率高的精度,运算由元件阵列121实现的神经网络中的权重(结合权重)的值的功能。于是,本实施方式中,权重运算控制电路112具有运算向元件阵列121所包含的神经形态元件分配的适当的权重的值(本实施方式中,满足与误差或识别精度相关的规定的条件的权重的值)的功能。
另外,本实施方式中,权重运算控制电路112具有基于由识别用控制电路111取得的识别结果的信息(例如,与学习相关的信息),更新(运算)向元件阵列121所包含的神经形态元件分配的权重的值的功能。
权重分配控制电路113与输入输出IF电路122、123连接,经由输入输出IF电路122、123对元件阵列121所包含的神经形态元件设定权重的值。作为该权重的值,权重分配控制电路113使用由权重运算控制电路112运算的值。
作为一个例子,权重分配控制电路113也可以通过对元件阵列121所包含的神经形态元件发送规定的信号,将与该信号对应的权重的值设定于该神经形态元件。作为该规定的信号,也可以使用任意的信号,例如,也可以使用电压脉冲的信号。
神经形态元件中,该神经形态元件的特性(本实施方式中,电导率)由权重分配控制电路113控制并变化,由此,权重的值进行变化。即,该神经形态元件中,将与该神经形态元件的特性对应的权重(值)与输入的信号进行乘法运算,并将该乘法运算的结果的信号输出。
作为具体例,在电阻R可变化的神经形态元件用作乘法运算器的功能的情况下,使用该神经形态元件的电导率G(=1/R),作为向该神经形态元件的输入信号输入电压V,此时,将在该神经形态元件流通的电流I(=G×V)的大小作为乘法运算结果使用。
此外,在元件阵列121包含有多个神经形态元件的结构中,例如,也可以对各个神经形态元件的每个控制,或对所有的神经形态元件统一控制,或多个神经形态元件分成两个以上的不同的组,并对各个组的每个统一控制。
在此,在使用特性的变化量变动的神经形态元件的情况下,考虑到该点,优选控制该神经形态元件。特性的变化量变动是指,例如特性的变化为非线性那样的元件。
作为具体例,电导率的变化量(ΔG)变动的神经形态元件中,例如,随着电导率的值从较低的值向较高的值变化,有时电导率相对于赋予该神经形态元件的电压V的一定变化量的变化量(ΔG)增加。在该情况下,作为一个例子,为了每隔一定值间隔切换该神经形态元件的电导率的变化量(ΔG),也可以使用如下结构:随着电导率的值从较低的值向较高的值变化,缩小赋予该神经形态元件的电压V的变化量(切换的每个阶段的变化量)。或者,也可以使用如下结构:使分配的权重的变化量根据电导率的变化量Δ的变动而进行变动。
此外,即使在神经形态元件的特性的变化量以其它的方式进行变动的情况下,只要匹配该方式进行控制即可。这种控制的方法例如也可以预先设定并存储于存储部24等。
图3是表示本发明的实施方式所涉及的元件阵列121的概念的结构的方块图。
在此,图3的例子中,概念性地表示元件阵列121中进行的积和运算的情形。作为元件阵列121的电路结构,也可以使用实现这种积和运算的任意的电路结构。
图3的例子中,表示使用了3层感知器的例子。
元件阵列121输入p(p为1以上的整数)个值(信号),并输出r(r为1以上的整数)个值(信号)。
元件阵列121在输入层具备p个单元A1-1~A1-p和一个偏置项的单元A1-0。
元件阵列121在隐藏层具备q个单元A2-1~A2-q和一个偏置项的单元A2-0。
元件阵列121在输出层具备r个单元A3-1~A3-r。
本实施方式中,使用神经形态元件构成进行由p个单元A1-1~A1-p、q个单元A2-1~A2-q、r个单元A3-1~A3-r实现的运算的电路。该运算例如是积和运算。
此外,本实施方式中,表示从前段的层中的各个单元向后段的层中的所有的单元(除了偏置项的单元。)输出信号的神经网络的结构,但也可以采用其它的结构。图3的例子中,从输入层中的各个单元A1-0~A1-p向隐藏层中的q个单元A2-1~A2-q输出信号,另外,从隐藏层中的各个单元A2-0~A2-q向输出层中的r个单元A3-1~A3-r输出信号。
输入层中的各个单元A1-1~A1-p将p个输入值(信号)的各个输入并输出。
另外,输入层中的单元A1-0输出规定的值(信号)。
隐藏层中的各个单元A2-1~A2-q将对来自输入层中的(p+1)个单元A1-0~A1-p的输出值(信号)使用规定的权重进行积和运算的结果的值(信号)输出至输出层中的各个单元A3-1~A3-r。该积和运算在从输入层的输出到隐藏层的输出的期间进行。权重也可以在例如输入层中的各个单元A1-1~A1-p的每个不同,另外,也可以在隐藏层中的各个单元A2-1~A2-q的每个不同。
另外,隐藏层中的单元A2-0输出规定的值(信号)。
输出层中的各个单元A3-1~A3-q输出对来自隐藏层中的(q+1)个单元A2-0~A2-q的输出值(信号)使用规定的权重进行积和运算的结果的值(信号)。该积和运算在从隐藏层的输出到输出层的输出之间进行。权重也可以在例如隐藏层中的各个单元A2-1~A2-q的每个不同,另外,也可以在输出层中的各个单元A3-1~A3-r的每个不同。
元件阵列121输入图像211,并输出输入的图像211的识别结果的信息。
作为一个例子,图像211是具有784个像素(第0个~第783个像素)的图像。在该情况下,输入层的单元数(p)成为784个。
另外,图3的例子中,识别结果的信息是从输出层输出的r个信息。
此外,在构成具有多个层的神经网络的情况下,与各层间(例如,1-2层间、2-3层间)对应的权重例如也可以在各层间的每个使用各自的阵列(例如,在每个层间具有多个神经形态元件的并排的阵列)构成,或也可以使用1组阵列(例如,具有多个神经形态元件的并排的1组阵列)通过时间差(时分割)等假想性地分割,并实现与两个以上的层间对应的权重的结构。另外,也可以使用将1组阵列在空间上分割成多个子阵列并实现与两个以上的层间对应的权重的结构。同样,本实施方式中,一个神经形态元件例如也可以与一个权重对应地使用,或也可以通过时间差(时分割)等假想性地分割,并与两个以上的权重对应地使用。
图4是表示本发明的实施方式所涉及的识别对象的图像B1-1~B1-n、B2-1~B2-n、···、B0-1~B0-n(n为2以上的整数,例如,充分多的数)的例子的图。
图像B1-1~B1-n是手写数字的“1”的情况下的多个不同的手写图案的图像。
图像B2-1~B2-n是手写数字的“2”的情况下的多个不同的手写图案的图像。
图像B0-1~B0-n是手写数字的“0”的情况下的多个不同的手写图案的图像。
此外,图4的例子中,对于数字的“3”~“9”,省略图示。
另外,图4的例子中,对数字的“1”~“9”、“0”的全部表示相同的数(n个)的图像,但也可以在各个数字的每个使用不同的数的图像。
图3所示的元件阵列121中,在使用数字的“1”~“9”、“0”的图像的情况下,例如,作为来自输出层的输出的数(r个)使用10个。识别控制部21中,将这10个输出的各个分配于10个数字(“1”~“9”,“0”)的各个,并将各个输出的值看作各个数字的似然度(似然度)。于是,识别控制部21中,识别为输入的图像211的数字是与这10个输出中值最大的输出对应的数字。
此外,在此,设为输出的值越大,似然度越大的结构,但也可以相反,以输出的值越大,似然度越小的方式构成。
本实施方式中,作为这种图像的一个例子,表示使用mnist(Mixed NationalInstitute of Standards and Technology database)的图像的情况。
此外,图4所示的图像不是mnist的图像其本身,但为了便于说明,例示表示手写的数字的图像。
在此,作为神经形态元件,也可以使用任意的元件。另外,作为神经形态元件,例如也可以是1种神经形态元件组合多个而使用,或也可以是2种以上的神经形态元件组合而使用。
作为一个例子,作为神经形态元件,也可以利用使用阶段性地控制结晶与非晶质的相变化的PCM(Phase Change Memory)的元件。
作为另一个例子,作为神经形态元件,也可以应用使用利用通过电化学反应形成及消除金属析出与离子化之间的路径的CBRAM(Conductive Bridge RAM)的元件。
作为另一个例子,作为神经形态元件也可以利用使用自旋电子学(Spintronics)的元件。例如,进行通过磁壁的控制产生线性的电阻变化的域墙型或使用了自旋轨道扭矩作用的磁化反转的SOT(Spin Orbit Torque)型的元件的研究。
作为另一个例子,作为神经形态元件,也可以利用使用TaO2等的介质中通过金属析出形成细丝且利用电阻变化的ReRAM(Resistive Random Access Memory)的元件。
本实施方式中,作为元件的特性,使用可改变电导率的值的神经形态元件,该变化的分辨率是有限的。
此外,作为神经形态元件,也可以使用可使任意的特性变化的元件,例如,也可以使用可使电阻或光相位等的特性变化的元件。
[神经形态元件的特性的分辨率对性能造成的影响]
对于将分辨率有限的神经形态元件应用于神经网络的情况,说明对神经网络的性能造成的影响。
神经形态元件不具有完全的模拟线性的电导率(G)的变化特性,而具有有限的分辨率。在神经形态元件的电导率变化的分辨率(本实施方式中,位的个数)确定的情况下,值的动态范围(整体的宽度)与量化步进尺寸(step size)(量化步进的宽度)处于比例关系。
在此,预测当量化步进尺寸变大时,产生神经网络的性能的劣化,因此,能够作为将赋予神经形态元件的动态范围最佳化的问题来考虑。
在此,设想固定分辨率的条件。认为通过对各层的神经形态元件分配的动态范围(值域),可改变对识别性能的影响。
在此,使用以倍精度浮动小数点表示的实数考察权重的收敛的推移。通过控制神经形态元件的可变的电导率实现各层的权重。
此外,本实施方式中,使用了实数的模拟利用计算机执行,因此,该模拟中“实数”严格来说不是实数,而是由于计算机的操作字长的制约而离散化的值。
例如,考虑表示第一层中的权重的最大值、最小值、平均值、以及第二层中的权重的最大值、最小值、平均值的图表(省略图示。)。
将权重转换至神经形态元件的模型时,神经形态元件的特性的分辨率为5(5个步骤)。于是,作为神经形态元件的动态范围,设想多种不同的组合,并评价识别性能。在神经形态元件的特性的分辨率固定的情况下,识别性能可根据动态范围的分配方法而大幅变化。
实数运算中的识别结果如下所述。在此,(±U,±V)表示第一层的权重的动态范围为±U,第二层的权重的动态范围为±V。另外,W[%]表示识别结果的精度(识别精度)。
(±2,±2) 76.92[%]
(±1,±2) 83.41[%]
(±2,±1) 72.02[%]
(±1,±1) 84.90[%]
(±0.5,±0.5) 94.88[%]
(±0.5,±0.3) 91.45[%]
(±0.3,±0.5) 94.01[%]
(±0.3,±0.3) 89.81[%]
(±0.1,±0.1) 69.46[%]
(±0.05,±0.05) 57.09[%]
根据该结果,推测如下情况。
作为一个推测结果,作为分配于神经形态元件的动态范围,不限于使用上限值及下限值的理论值的情况是最佳的,动态范围较小的一方是有利的情况也可存在。认为量化步进尺寸较小是重要的,但认为具有最佳值。
作为另一个推测结果,与第二层的量化步进尺寸相比,缩小第一层的量化步进尺寸的一方可成为有利。
一般而言,由M(M为2以上的整数。)层构成的神经网络中,从第一层到第N(N为1以上且比M小的整数。)层与特征提取有关,从第(N+1)层到M层与识别有关。识别可依赖于特征提取的结果。在特征提取的性能良好的情况下,由此,能够将识别的性能维持成某程度良好的性能。推测越是上位的层,分辨率越重要,下位的层需要较大的动态范围。
根据上述情况,本实施方式中,作为固定神经形态元件的特性的分辨率,且分配于该神经形态元件的动态范围与量化步进尺寸的最佳化的问题进行处理。
通常,神经形态元件中,当量化步进尺寸变小时,权重的误差减少,另一方面,权重可采取的值的动态范围变小。另外,神经形态元件中,当动态范围变小时,利用原有的权重的值运算的值固定于上限或下限的可能性增加,而成为错误识别的原因。本实施方式中,如以下进行说明的那样,求出良好的解(优选为最佳解)。
[神经网络中的识别精度的运算的概要]
对本实施方式中设想的神经网络进行说明。此外,本实施方式中,设想图3所示的神经网络。
将输入层中的单元数设为p个,还设置偏置项的一个单元。
将隐藏层中的单元数设为q个,还设置偏置项的一个单元。
将输出层中的单元数设为r个。
对于权重w(L) s,t,L表示层的编号,s表示输出侧的层的单元的编号,t表示输入侧的层的单元的编号。在此,本实施方式中,将输入层与隐藏层之间设为第一层(L=1),将隐藏层与输出层之间设为第二层(L=2)。
在反向传播的运算上,将偏置项以0次项表示。此外,将偏置项的输出值总是设为1,关于偏置项与各单元之间的权重也设为学习对象。
以下,对权重的分辨率、动态范围及量化步进尺寸对识别性能造成的影响进行说明。
权重的误差表示对输出造成的影响。
设为xi(i=0,1,2,···,p)是输入层中的偏置项及输出值(本实施方式中,与输入值相同的值),设为yj(j=0,1,2,···,q)是隐藏层中的偏置项及输出值。
如式(1)所示,导入第二层中的由于权重w(2) k,j的分辨率的制约而产生的量化误差(标注符号Δ的项)。
来自神经网络的输出值zk(k=1,2,···,r)如式(2)那样表示。
【数1】
【数2】
接着,考虑yj的误差。作为活性化函数,在使用relu(Rectified Linear Unit)的情况下,如式(3)及式(4)那样表示。
【数3】
【数4】
与式(1)一样,导入第一层中的由于权重w(1) j,i的分辨率的制约而产生的量化误差(标注符号Δ的项)。由此,如式(5)那样表示。
【数5】
因此,考虑了来自神经网络的输出值zk(k=1,2,···,r)的误差的式如式(6)那样表示。
在此,在uj<0的情况下,输出成为0,因此,该式恒等地成立。
【数6】
当仅提取来自神经网络的输出值zk(k=1,2,···,r)的误差的成分(Δzk)时,如式(7)那样表示。
【数7】
在此,作为参数,导入α及β,并进行式(8)所示的转换。
设想α及β构成满足式(9)所示的条件的一样的概率分布。
来自神经网络的输出值zk(k=1,2,···,r)的误差的成分(Δzk)如式(10)那样表示。
【数8】
【数9】
|α|<<1、|β|<<1…(9)
【数10】
在此,当对式(10)的最后的右边进行项的评价时,所有的积和运算项的要素相同,当考虑式(9)时,第三项(包含α和β双方的项)比第一项(包含α的项)、第二项(包含β的项)小。当考虑该情况时,如式(11)那样表示。
【数11】
根据式(11)表示,各层中的权重的量化误差所引起的输出的变动作为第一层中的量化误差所引起的影响的总和与第二层中的量化误差所引起的影响的总和的和进行运算。由此,认为通过应用缩小量化后的误差(例如,也可以是平方误差等。)的(优选设为最小)解,实现缩小输出误差(优选设为最小)。
在此,识别精度可以例如(1/Δzk)的值或与其成比例等的值表示。
本实施方式中,元件阵列121中,关于第一层中的权重w(1) j,i,在各个j、i的组合的每个具备一个神经形态元件。
同样,本实施方式中,元件阵列121中,关于第二层的权重w(2) k,j,在各个k、j的组合的每个具备一个神经形态元件。
此外,在具有可共通化的两个以上的权重运算的情况下,对于这两个以上的权重运算,神经形态元件也可以共通化成一个神经形态元件。
对求出两个参数α、β的值的方法进行说明。
作为一个例子,也可以使用如下方法:使两个参数α、β的值进行各种变化,运算表示规定的误差的值,并求出表示该误差的值变小的(优选成为最小)参数α、β的值。该方法中,例如,也可以使两个参数α、β的值循环变化。通过决定适当的参数α、β的值,而决定应设定于神经形态元件的适当的动态范围。
此外,也可以代替表示规定的误差的值变小的(优选成为最小)条件,而使用规定的识别精度变大的(优选成为最大)条件。
作为另一个例子,在存在用于解析地求出两个参数α、β的值的方法的情况下,也可以使用该解析的方法。
在此,两个参数α、β的值可根据例如识别对象的数或内容等进行改变。
一般而言,神经网络的结构中,输入层具有相当于识别对象的图像数据的各像素的单元,于是,随着朝向隐藏层、输出层,单元的数变少。
作为一个例子,mnist的测试集(用于测试的图像的组合)的识别中,将输入层的尺寸设为784个单元,将隐藏层的尺寸设为100个单元,且将输出层的尺寸设为10个单元,由此,能够在实数运算中达成97[%]以上的识别性能。
在决定了分配于神经形态元件的分辨率和动态范围的情况下,与量化误差相关的参数α、β从下面的两个要素产生。
(要素1)具有通过量化步进尺寸产生的纯量化误差的要素。这是将相当于(量化步进尺寸/2)的量设为最小、最大的分布。
(要素2)具有在分配的动态范围比实数运算值的范围狭窄的情况下,超过分配的动态范围的值(实数运算值)中产生的截断误差的要素。
因此,认为在神经形态元件的特性的分辨率固定的情况下,通过以缩小与各层的误差相关的和(优选成为最小)的方式,决定相对于神经形态元件分配的动态范围,可抑制输出的误差。
此外,也可以代替表示规定的误差的值变小的(优选成为最小)条件,而使用规定的识别精度变大的(优选成为最大)条件。
[参数α、β的分布]
图5是表示本发明的实施方式所涉及的与参数α、β相关的特性1011的一个例子的图。
图5所示的图表中,在横轴表示参数a,在纵轴表示函数P(a)。于是,图5的例子中,表示特性1011。特性1011是以A为规定的正的值,从a=-A到a=+A之间成为一定值的特性。在此,神经网络中的权重通常以正常随机数等进行初始化,假设该权重的值一样地分布,在该情况下,设想量化误差也是一样分布。此外,该设想为一个例子,本实施方式中,未必依赖于量化误差的分布形状。另外,特性1011是整体的概率成为1的概率密度函数。
在此,(2×A)为量化步进尺寸,具有{(2×A)×分辨率=动态范围}的关系。
根据(8),参数α及参数β表示误差成分相对于权重的真值的比例,因此,当将参数α及参数β分别设为正的值时,参数α及参数β分别相当于(2×A)/动态范围宽度。即,参数α及参数β分别是与量化步进尺寸对应的值。
此外,在此,为了便于说明,对于两个参数α、β使用共通的文字A进行了说明,但本实施方式中,使两个参数α、β的值不同。
[向神经形态元件分配动态范围的顺序的第一例]
作为向神经形态元件分配动态范围的顺序的第一例,表示(第一例的顺序1)~(第一例的顺序8)。此外,如果得到同样的结果,则顺序的顺序也可以不同。
本例(第一例)中,作为运算方法的一个例子,使用基于各层的权重的量化误差运算的方法。
本例中,用户操作计算机,由此,利用该计算机进行以下的顺序的处理。此外,由用户进行的操作的一部分或全部也可以利用计算机自动进行。
在此,本实施方式中,这种计算机是例如神经网络电路101中具备的计算机,作为一个例子,是权重运算控制电路112中具备的计算机。作为另一个例子,作为这种计算机,也可以使用与神经网络电路101不同的计算机。此外,作为计算机,例如也可以是微型计算机等。
另外,本例中,这种计算机具有规定的实数模拟器的功能,设想该实数模拟器执行(第一例的顺序1)~(第一例的顺序8)的处理进行说明。此外,这些处理也可以通过例如实数模拟器以外的功能进行,也可以对各个处理的每个通过任意的功能(总之,两个以上的不同的功能)进行。另外,这些处理也可以例如对各个处理的每个通过任意的计算机(总之,两个以上的不同的计算机)进行。
(第一例的顺序1)用户将神经网络的结构定义于实数模拟器。在此,作为神经网络的结构,例如具有:种类、层的数、层的结构、单元的数等。另外,本例中,实数模拟器使用计算机实现,并使用实数执行定义的神经网络中的模拟的数值运算。
(第一例的顺序2)用户通过实数模拟器,使用学习数据进行神经网络的学习,并求出权重的真值。在此,权重的真值是例如表示规定的误差的函数收敛时的权重的值。作为表示规定的误差的函数,也可以使用任意的函数。另外,作为学习数据,也可以使用任意的数据。
(第一例的顺序3)用户决定探索最佳解的量化步进尺寸的范围,并将该范围设定于实数模拟器。作为具体例,在权重的真值的范围为-1~+1,且神经形态元件的特性的分辨率为5的情况下,当使用这些值时,量化步进尺寸成为0.4(=2/5),例如,将探索范围设定成0.04~4等。
(第一例的顺序4)用户通过实数模拟器,作为{(量化步进尺寸×分辨率)=(分配于神经形态元件的权重的动态范围)},相对于权重的真值运算以分辨率离散化的权重的值。
(第一例的顺序5)用户通过实数模拟器,运算与误差相关的函数。作为一个例子,作为与误差相关的函数,也可以使用将对所有的权重相加离散化的权重的值与真值的误差的结果设为整体的误差(以下,均称为误差总和。)的函数。作为另一个例子,作为与误差相关的函数,也可以使用将对所有的权重相加离散化的权重的值与真值的误差的平方值的结果设为整体的误差(以下,均称为误差平方总和。)的函数。
(第一例的顺序6)用户通过实数模拟器,决定与误差的函数的值(本实施方式中,误差总和或误差平方总和)成为最小的量化步进尺寸的值。在此,作为决定量化步进尺寸的值的方法,例如也可以使用通过从多个值的候补中选择一个值而决定该值的方法。
此外,本例中,作为优选的方式的一个例子,使用决定误差的值(与误差相关的函数的值)成为最小的量化步进尺寸的值的方式,但作为另一个例子,也可以使用基于规定的条件,决定误差的值(与误差相关的函数的值)变小的量化步进尺寸的值的方式。作为规定的条件,也可以使用任意的条件,例如也可以使用误差的值(与误差相关的函数的值)成为规定的阈值以下的(或低于规定的阈值)条件。
(第一例的顺序7)用户通过实数模拟器,采用决定的量化步进尺寸的值,作为{(量化步进尺寸×分辨率)=(分配于神经形态元件的权重的动态范围)},向神经形态元件分配动态范围。作为具体例,在量化步进尺寸为0.25,且分辨率为5的情况下,动态范围成为1.25(=0.25×5)。
(第一例的顺序8)用户通过实数模拟器,将分配于神经形态元件的动态范围转换至以0为中心的范围(下限值Wmin~上限值Wmax)。在此,该范围以0为中心,因此,为|Wmin|=|Wmax|。以Z为任意的值,|Z|表示Z的绝对值。另外,用户通过实数模拟器,作为神经形态元件的电导率的值,设定与动态范围的范围的下限值Wmin对应的电导率的值Gmin,并且设定与动态范围的范围的上限值Wmax对应的电导率的值Gmax。
[向神经形态元件分配动态范围的顺序的第二例]
作为向神经形态元件分配动态范围的顺序的第二例,表示(第二例的顺序1)~(第二例的顺序5)。此外,如果得到同样的结果,则顺序的顺序也可以不同。
本例(第二例)中,作为运算方法的另一个例子,采用使用识别精度运算的方法。此外,作为另一个例子,也可以使用对于最终段的输出使用误差的总和或误差的平方的总和运算的方法。
本例中,用户操作计算机,由此,利用该计算机进行以下的顺序的处理。此外,由用户进行的操作的一部分或全部也可以利用计算机自动进行。
在此,本实施方式中,这种计算机是例如神经网络电路101中具备的计算机,作为一个例子,是权重运算控制电路112中具备的计算机。作为另一个例子,作为这种计算机,也可以使用与神经网络电路101不同的计算机。
另外,本例中,这种计算机具有规定的实数模拟器的功能,设想该实数模拟器执行(第二例的顺序1)~(第二例的顺序5)的处理进行说明。此外,这些处理也可以通过例如实数模拟器以外的功能进行,也可以对各个处理的每个通过任意的功能(总之,两个以上的不同的功能)进行。另外,这些处理也可以例如对各个处理的每个通过任意的计算机(总之,两个以上的不同的计算机)进行。
(第二例的顺序1)与(第一个例子的顺序1)一样。
(第二例的顺序2)与(第一个例子的顺序2)一样。
(第二例的顺序3)用户通过实数模拟器,向使用权重的真值构成的神经网络输入数据,并运算来自该神经网络的输出(未量化的情况的输出)。
(第二例的顺序4)用户通过实数模拟器,使用权重的真值,向表示使用了参数α、β的输出的函数输入数据,并运算该输出(量化的情况的输出)。该输出成为例如向式(6)导入参数α、β的式的输出(识别等级的数r的输出值zk)。
(第二例的顺序5)用户通过实数模拟器,决定相关于(第二例的顺序3)中求出的输出的值与(第二例的顺序4)中求出的输出的值的误差的值变小的(优选成为最小)量化步进尺寸。作为与误差相关的值,例如也可以对最终段的输出使用误差的总和或误差的平方的总和。另外,作为决定量化步进尺寸的值的方法,例如,也可以使用通过从多个值的候补中选择一个值,决定该值的方法。
在此,作为另一个例子,作为与误差相关的值,也可以使用式(11)所示的Δzk。
另外,作为另一个例子,上述的(第二例的顺序5)中,用户也可以通过实数模拟器,决定量化的情况下的识别精度变大的(优选成为最大)量化步进尺寸。
此外,作为与误差相关的值变小的条件,例如也可以使用与误差相关的值成为规定的阈值以下的(或低于规定的阈值)条件。
另外,作为识别精度变大的条件,例如也可以使用识别精度成为规定的阈值以上的(或超过规定的阈值)条件。
[使用了误差的条件和使用了识别精度的条件]
表示设定使用了误差的条件的模拟的结果的例子和设定使用了识别精度的条件的模拟的结果的例子。
作为设定使用了误差的条件的模拟,进行探索误差的平方的总和成为最小的动态范围的模拟。其结果,第一层中的最佳的动态范围成为0.42,第二层的最佳的动态范围成为0.96,识别精度成为95.64[%]。
另一方面,作为设定使用了识别精度的条件的模拟,进行探索识别精度成为最大的动态范围的模拟。其结果,第一层的最佳的动态范围成为0.42,第二层的最佳的动态范围成为0.96,识别精度成为95.64[%]。
在此,两者一致。因此,推测通过采用满足使用了误差的条件的动态范围,实现良好的识别精度。
[动态范围相对于神经形态元件的分配的具体例]
图6是表示本发明的实施方式所涉及的权重的学习的结果的一个例子的图。
图6所示的图表中,横轴表示学习周期(本实施方式中,时代的次数),纵轴表示权重的值。
此外,时代表示对于训练用的一个识别对象(例如,一个图像)将神经网络的误差设为最小的处理的单位。
图6的例子中,作为通过使用了实数的模拟取得的真值的特性,表示第一层的权重的最大值的特性1111、第一层的权重的最小值的特性1112、第二层的权重的最大值的特性1121、第二层的权重的最小值的特性1122。
另外,图6的例子中,将第一层中的设定于神经形态元件的动态范围设定成“-0.5以上且+0.5以下的范围”,将第二层中的设定于神经形态元件的动态范围设定成“-1.0以上且+1.0以下的范围”。图6的例子中,表示第一层中的与设定于神经形态元件的动态范围相当的范围1131和第二层中的与设定于神经形态元件的动态范围相当的范围1132。
图7是表示与设定于本发明的实施方式所涉及的神经形态元件的动态范围对应的识别精度的一个例子的图。
图7所示的图表中,两种横轴中、一方的轴表示第一层中的设定于神经形态元件的动态范围(第一层的范围),另一方的轴表示第二层中的设定于神经形态元件的动态范围(第二层的范围)。另外,纵轴表示通过这种动态范围的设定得到的识别精度[%]。
图7的例子中,表示有表示这三者的关系的特性1211,并在识别精度成为最大的位置表示有箭头1221(此外,图7的例子中,箭头1221与纵轴不平行。)。
图7的例子中,在识别精度成为最大的位置,第一层的动态范围为“-0.42以上且+0.42以下的范围”,第二层的动态范围为“-0.96以上且+0.96以下的范围”,识别精度为“95.64[%]”。
接着,参照图8~图11说明在多个层中动态范围分别不同的情况下神经网络电路的性能良好。
首先,对图8及图9进行说明。
图8及图9的例子中,设想神经形态元件的特性的分辨率为100步骤的情况。
图8是表示对于所有的层(本实施方式中,第一层~第二层)将相同的动态范围设定于神经形态元件的情况下的结果的一个例子的图。
图9是表示对于本发明的实施方式所涉及的各层(本实施方式中,第一层,第二层)将不同的动态范围设定于神经形态元件的情况下的结果的一个例子的图。
图8及图9所示的图表中,横轴表示学习周期(本实施方式中,时代的次数),纵轴表示权重的值。
图8的例子中,将第一层及第二层中的设定于神经形态元件的动态范围设定成“-2.0以上且+2.0以下的范围”。
图8的例子中,对于包含神经形态元件的神经网络的电路的学习,表示有:第一层的权重的最大值的特性1311、第一层的权重的最小值的特性1312、第一层的权重的平均值的特性1313、第二层的权重的最大值的特性1321、第二层的权重的最小值的特性1322、第二层的权重的平均值的特性1323。
图8的例子中,识别精度为“92.6[%]”。
图9的例子中,将第一层中的设定于神经形态元件的动态范围设定成“-1.0以上且+1.0以下的范围”,将第二层中的设定于神经形态元件的动态范围设定成“-2.0以上且+2.0以下的范围”。
图9的例子中,对于包含神经形态元件的神经网络的电路的学习,表示有:第一层的权重的最大值的特性1411、第一层的权重的最小值的特性1412、第一层的权重的平均值的特性1413、第二层的权重的最大值的特性1421、第二层的权重的最小值的特性1422、第二层的权重的平均值的特性1423。
图9的例子中,识别精度为“96.6[%]”。
接着,对图10及图11进行说明。
图10及图11的例子中,设想神经形态元件的特性的分辨率为50步骤的情况。
图10是表示对于所有的层(本实施方式中,第一层~第二层),将相同的动态范围设定于神经形态元件的情况下的结果的另一个例子的图。
图11是表示对于本发明的实施方式所涉及的各层(本实施方式中,第一层,第二层),将不同的动态范围设定于神经形态元件的情况下的结果的另一个例子的图。
图10及图11所示的图表中,横轴表示学习周期(本实施方式中,时代的次数),纵轴表示权重的值。
图10的例子中,将第一层及第二层中的设定于神经形态元件的动态范围设定成“-2.0以上且+2.0以下的范围”。
图10的例子中,对于包含神经形态元件的神经网络的电路的学习,表示有:第一层的权重的最大值的特性1511、第一层的权重的最小值的特性1512、第一层的权重的平均值的特性1513、第二层的权重的最大值的特性1521、第二层的权重的最小值的特性1522、第二层的权重的平均值的特性1523。
图10的例子中,识别精度为“65.3[%]”。
图11的例子中,将第一层中的设定于神经形态元件的动态范围设定成“-1.0以上且+1.0以下的范围”,将第二层中的设定于神经形态元件的动态范围设定成“-2.0以上且+2.0以下的范围”。
图11的例子中,对于包含神经形态元件的神经网络的电路的学习,表示有:第一层的权重的最大值的特性1611、第一层的权重的最小值的特性1612、第一层的权重的平均值的特性1613、第二层的权重的最大值的特性1621、第二层的权重的最小值的特性1622、第二层的权重的平均值的特性1623。
图11的例子中,识别精度为“90.8[%]”。
在此,图8~图11表示模拟的结果,但通过该模拟的条件的情况,过多地产生一次权重更新。因此,图8~图11的例子中,在设定的动态范围(本例中,“-2.0以上且+2.0以下的范围”或“-1.0以上且+1.0以下的范围”)的外侧具有特性超出的地方,但这是仅由模拟的情况引起的,不暗示精确的值。这样本模拟的结果中,在一部分也具有不是精确的值的地方,但作为整体表示特性的倾向。
在此,如图8~图11的例子所示,与对于所有的层(本实施方式中,第一层~第二层)将相同的动态范围设定于神经形态元件的情况相比,对于各层(本实施方式中,第一层,第二层)将不同的动态范围设定于神经形态元件的情况的一方可产生识别性能良好。
[动态范围的偏移量]
上述中,表示了设定于神经形态元件的动态范围为“-B以上且+B以下的范围”(B设为任意的正的值。),且该动态范围的中央值为0的情况。将该情况下的动态范围的偏移量设为0。
与之相对,也可以对设定于神经形态元件的动态范围设定偏移量。在该情况下,动态范围的中央值从0以偏移量偏离。
此外,本实施方式中,不管偏移量的大小,动态范围的宽度均设为一定。
例如,在偏移量为0的情况下,动态范围为“-B以上且+B以下的范围”时,在偏移量为不是0的C(C为正的值或负的值)的情况下,动态范围成为“(-B+C)以上且(+B+C)以下的范围”。
与动态范围的偏移量为0时相比,动态范围的偏移量不是0时的一方可产生识别精度变高的情况。
图12是表示与设定于本发明的实施方式所涉及的神经形态元件的动态范围的偏移量对应的识别精度的一个例子的图。
图12所示的图表中,两种横轴中,一方的轴表示第一层中的设定于神经形态元件的动态范围的偏移量(第一层的偏移量),另一方的轴表示第二层中的设定于神经形态元件的动态范围的偏移量(第二层的偏移量)。另外,纵轴表示通过这种偏移量的设定得到的识别精度[%]。
图12的例子中,表示有表示这三者的关系的特性1711,在识别精度成为最大的位置表示有箭头1721(此外,图12的例子中,箭头1721不与纵轴平行。)。
图12的例子中,在识别精度成为最大的位置,第一层的偏移量为“0.0038”,第二层的偏移量为“0.1196”,识别精度为“87.98[%]”。
在此,本实施方式中,利用计算机运算设定于神经形态元件的动态范围的偏移量。运算这种偏移量的功能也可以是例如由实数模拟器实现的功能。此外,这种计算机也可以是例如神经网络电路101(例如,权重运算控制电路112)中具备的计算机,或也可以是其它的计算机。
本实施方式中,利用计算机,基于以比元件阵列121所包含的神经形态元件的特性的分辨率高的精度运算由元件阵列121实现的神经网络的权重的值(真值)的结果,将与该权重的值(真值)的平均值一致的值设定为偏移量。
作为另一个例子,也可以采用如下方法:利用计算机使各层中的动态范围的偏移量进行各种变化并运算表示规定的误差的值,并求出表示该误差的值变小的(优选成为最小)偏移量。此外,也可以代替表示误差的值变小的(优选成为最小)偏移量,求出识别精度变大的(优选成为最大)偏移量。
[事后学习]
神经网络电路101中,也可以对元件阵列121所包含的神经形态元件分配动态范围之后,进行事后学习,由此,进行权重的调整。
在此,作为进行调整的方法,也可以使用任意的方法。
[信息的存储]
神经网络电路101中,对于元件阵列121所包含的神经形态元件,也可以将分配的动态范围(动态范围的宽度,偏移量)、量化步进尺寸、分辨率、设定于各神经形态元件的步骤编号等的信息存储于存储部(相当于存储部24的存储器等)。
[相对于多个神经形态元件的动态范围的设定]
元件阵列121中,例如,具有多个层,在各层的每个具备多个(多个单元)的神经形态元件。
作为一个例子,对于具有多个层的神经网络所包含的神经形态元件,也可以在各层的每个使用共通的离散化步进尺寸,求出并设定共通的动态范围(例如,动态范围的宽度,偏移量)。
作为另一个例子,将各层的每个所包含的多个神经形态元件分成两个以上的组,对各个组的每个使用共通的离散化步进尺寸,求出并设定共通的动态范围(例如,动态范围的宽度,偏移量)。在该情况下,同一层中,包含于该层的多个神经形态元件分组成两个以上的组。由此,例如,可根据各个单元的重要度(贡献度)等,设定不同的动态范围。
作为另一个例子,也可以对各个神经形态元件的每个使用任意的可不同的离散化步进尺寸,求出并设定任意的可不同的动态范围(例如,动态范围的宽度,偏移量)。由此,例如,可根据各个神经形态元件的重要度(贡献度)等,设定不同的动态范围。
[神经网络电路中进行的处理的顺序的一个例子]
图13是表示本发明的实施方式所涉及的神经网络电路101中进行的处理的顺序的一个例子的图。
(步骤S1)
利用计算机,以比元件阵列121所包含的神经形态元件的特性的分辨率高的精度,运算由元件阵列121实现的神经网络中的权重的值(真值)。
(步骤S2)
利用计算机,进行设想元件阵列121所包含的神经形态元件的特性的分辨率的运算。由此,例如,利用计算机,对设想元件阵列121所包含的神经形态元件的特性的分辨率的情况,运算与误差相关的函数或与识别精度相关的函数。
(步骤S3)
利用计算机,对元件阵列121所包含的神经形态元件运算满足规定的条件的量化步进尺寸。作为该规定的条件,例如也可以使用与误差相关的条件,或与识别精度相关的条件中的一方或双方。
(步骤S4)
利用计算机,对元件阵列121所包含的神经形态元件运算动态范围的偏移量。
在此,在预先偏移量设定成规定值(例如,0)的情况下,也可以省略步骤S4的处理。
(步骤S5)
利用计算机,运算权重的动态范围。在该情况下,例如基于分辨率、量化步进尺寸及偏移量,运算动态范围。
(步骤S6)
运算的动态范围设定于神经网络电路101。于是,利用神经网络电路101,对由元件阵列121实现的神经网络进行规定的事后学习。
此外,在不需要事后学习的情况下,步骤S6的处理也可以省略。
在此,在利用与神经网络电路101不同的计算机得到动态范围的运算结果的情况下,由用户或该计算机等运算的动态范围设定于神经网络电路101。在该情况下,例如,也可以进行片外学习(Off Chip Learning),即,也可以利用与神经网络电路101分开地设置的实数等的高精度计算机(计算机)执行学习等的运算,该运算的结果设定于神经网络电路101。
[第一实施方式的总结]
如以上所述,本实施方式所涉及的神经网络系统1中,利用分辨率有限的神经形态元件实现权重(结合权重)的结构中,基于使用了以比该分辨率高的精度由实数模拟器等求出的结合权重的真值的情况和使用了设定于该神经形态元件的特性的离散化步进尺寸的情况,决定适当的离散化步进尺寸。另外,基于决定的离散化步进尺寸和该分辨率,决定动态范围(动态范围的宽度)。另外,基于动态范围的偏移量(0,或0以外的值),决定动态范围(动态范围的宽度及偏移量,上限值和下限值)。
于是,本实施方式所涉及的神经网络系统1中,基于决定的动态范围(上限值和下限值),控制神经形态元件的特性(本实施方式中,电导率)的值。该神经形态元件中,在该神经形态元件的特性的范围(本实施方式中,电导率的上限值与下限值之间的范围)内,将与控制的特性的值对应的权重赋予信号。由此,元件阵列部12(元件阵列121)中,实现由该元件阵列部12构成的神经网络的处理(例如,识别输入的识别对象的处理)。
本实施方式所涉及的神经网络系统1中,在神经网络中的积和运算中使用神经形态元件的情况下,能够提高结果的精度。
例如,在使用神经形态元件实现神经网络的情况下,设想将学习中得到的结合权重标准化并分配于神经形态元件的输出范围(动态范围)。此时,神经形态元件的特性的变化为台阶状,因此,产生量化误差。
另外,例如,使用于神经网络中的权重的更新的误差反向传播法中,权重的更新量依赖于输入数据或教师数据的绝对值,在每层权重的可取得的动态范围不同。另外,权重的更新量依赖于权重的更新中使用的算法。
因此,本实施方式所涉及的神经网络系统1中,考虑到量化误差对神经网络的识别性能造成的影响,适当设定分配于神经形态元件的权重的值。由此,本实施方式所涉及的神经网络系统1中,能够抑制使用了神经形态元件的神经网络中的识别性能的降低。
在此,即使将比使用了实数的模拟等的运算结果中得到的动态范围狭窄的动态范围设定于神经形态元件,也可改善使用了该神经形态元件的神经网络中的识别精度。
另外,本实施方式所涉及的神经网络系统1中,相对于多层的神经网络中接近输入的层(本实施方式中,从输入层到隐藏层的输出的第一层),与比其靠后段的层(本实施方式中,从隐藏层的输出到输出层的输出的第二层)相比,设定较小的(狭窄)动态范围。本实施方式中,认为单元数较大的输入层的一侧的精度比后段的层重要,因此,以量化步进尺寸在输入层的一侧变小的方式(即,高运算精度)进行设定。
在此,本实施方式中,作为由神经网络识别的对象(识别对象),使用了数字的图像的数据,但作为识别对象也可以使用任意的数据。
另外,作为神经网络,也可以使用任意种类的神经网络,例如,也可以使用全结合型的神经网络、卷积神经网络、或递归型神经网络等。
另外,本实施方式中,说明了设定用于实现神经网络的积和运算中使用的神经形态元件的动态范围的情况,但与本实施方式相同的结构也可以适用于神经网络以外的领域。
例如,进行任意领域的积和运算的阵列(积和运算阵列)或包含任意领域的积和运算的模拟运算器等中也可以应用与本实施方式相同的结构。
另外,作为具备于阵列的神经形态元件的分辨率,也可以使用各种各样的分辨率。例如,在阵列具有包含神经形态元件的多个层的情况下,也可以具备在各层的每个具有共通的分辨率(相同的分辨率)的神经形态元件。另外,在这种情况下,也可以使用不同的层中的神经形态元件的分辨率不同的结构。即,也可以使用包含于同一层的多个神经形态元件的分辨率相同的结构,另外,也可以使用包含神经形态元件的层不同时,分辨率也不同的结构,另外,也可以使用这双方的结构。
[第二实施方式]
以下,参照图14~图27对本发明的第二实施方式进行说明。
[神经网络装置的概要]
图14是表示本发明的第二实施方式所涉及的神经网络装置300的概略的结构的图。
神经网络装置300具备:感应器件310、AD转换器320、抽取电路330、阈值取得部340、PWM调制电路350、神经形态(Neuromorphic)器件360、电流积分电路370。
感应器件310可利用各种传感器构成。作为一个例子,感应器件310具备例如CCD(Charge-Coupled Device)图像传感器或CMOS(Complementary MOS)图像传感器等的摄像元件,并输出与入射的光的光量对应的图像信号。该一个例子中,感应器件310以决定图像的像素数或帧周期采样,并将采样的图像的像素值作为模拟信号输出。
AD转换器320将感应器件310输出的模拟信号根据预先确定的量化级数(量化位数)变换成数字信号。此外,将数字信号的量化级数均称为数字信号的分辨率。
该一个例子中,AD转换器320根据8位的量化级数(即,0~255的256级)进行变换。在该情况下,从AD转换器320输出的数字信号的量化级数为256级。AD转换器320相对于抽取电路330输出变换后的数字信号。
此外,该一个例子中,设为神经网络装置300包含感应器件310和AD转换器320进行说明,但不限于此。神经网络装置300也可以是包含感应器件310和AD转换器320的结构。在该情况下,神经网络装置300取得AD转换器320输出的数字信号。
抽取电路330将AD转换器320输出的数字信号作为输入信号IS取得。如上所述,输入信号IS进行8位量化。即,该一个例子中,输入信号IS的量化级数为256级。
该抽取电路330(抽取部)通过基于预先确定的阈值th变换为比输入信号IS的量化级数少的级数的离散值而生成抽取信号DS。以下的说明中,将表示输入信号IS的大小的数字值(离散值)均记载为输入离散值IDV。另外,将表示抽取信号DS的大小的数字值(离散值)也记载为抽取后离散值DDV。
阈值取得部340从外部电路(或,外部装置)取得抽取电路330参照阈值th。
该阈值取得部340取得的阈值th基于神经形态器件360输出的输出电流OC(加权信号)的加权结果预先确定。
对于该阈值取得部340取得的阈值th、及该阈值th与抽取电路330进行的变换前后的离散值的关系,参照图15及图16进行说明。
图15是表示本实施方式的抽取电路330参照的阈值th的一个例子的图。
图16是表示本实施方式的抽取电路330进行的离散值变换的一个例子的图。
该一个例子中,设定有将输入信号IS的量化级数(256级)分割成四部分的阈值th1~阈值th3。更具体而言,阈值th1设定为值64。在该情况下,抽取电路330在输入离散值IDV为阈值th1以下(即,值64以下)的情况下,将抽取后离散值DDV设为0(零),对离散值进行变换。同样,抽取电路330将阈值th2的值(例如,值128)、阈值th3的值(例如,值192)设为判定阈值,并将输入离散值IDV变换为抽取后离散值DDV。
即,抽取电路330在输入离散值IDV为0~64的情况下,将抽取后离散值DDV设为0(零)。抽取电路330在输入离散值IDV为65~128的情况下,将抽取后离散值DDV设为1。抽取电路330在输入离散值IDV为129~192的情况下,将抽取后离散值DDV设为2。抽取电路330在输入离散值IDV为193~255的情况下,将抽取后离散值DDV设为3。
返回图14,抽取电路330将对离散值进行变换之后的数字信号作为抽取信号DS输出至PWM调制电路350。
PWM调制电路350(调制部)取得抽取电路330输出的抽取信号DS。PWM调制电路350通过对抽取电路330生成的抽取信号DS的离散值进行脉冲宽度调制,而生成通过脉冲宽度表示抽取信号DS的离散值的脉冲宽度调制信号PMS。参照图17对该PWM调制电路350进行的脉冲宽度调制的一个例子进行说明。
图17是表示本实施方式的PWM调制电路350进行的脉冲宽度调制的一个例子的图。PWM调制电路350生成与抽取后离散值DDV的值的大小对应的脉冲宽度的脉冲宽度调制信号PMS。
具体而言,在抽取信号DS的抽取后离散值DDV为3的情况下,PWM调制电路350生成脉冲宽度3(时刻t0~时刻t3)的脉冲宽度调制信号PMS(图17(A))。在抽取信号DS的抽取后离散值DDV为2的情况下,PWM调制电路350生成脉冲宽度2(时刻t0~时刻t2)的脉冲宽度调制信号PMS(图17(B))。在抽取信号DS的抽取后离散值DDV为1的情况下,PWM调制电路350生成脉冲宽度1(时刻t0~时刻t1)的脉冲宽度调制信号PMS(图17(C))。在抽取信号DS的抽取后离散值DDV为0(零)的情况下,PWM调制电路350生成脉冲宽度0(零)的脉冲宽度调制信号PMS(图17(D))。
返回图14,PWM调制电路350相对于神经形态器件360输出生成的脉冲宽度调制信号PMS。
神经形态器件360基于脉冲宽度调制信号PMS和预先设定的权重,输出作为加权信号的输出电流OC。
图18是表示本实施方式的神经形态器件360的结构的一个例子的图。神经形态器件360具备神经形态元件。神经形态器件360通过将与可变的特性的值对应的权重相对于PWM调制电路350(调制部)生成的脉冲宽度调制信号PMS进行乘法运算,而输出脉冲宽度调制信号PMS被加权了的输出电流OC(加权信号)。
电流积分电路370对神经形态器件360(加权部)输出的输出电流OC(加权信号)的电流的大小进行累计(时间积分)。电流积分电路370具备于输出信号线各自。该图18中示意性地表示有多个输入信号X[0]~X[n]中的X[0]~X[2]的3个及多个输出信号线中的3个。在该一个例子的情况下,电流积分电路370包含电流积分电路370-1~-3。
图19是表示向本实施方式的神经形态器件360供给的脉冲宽度调制信号PMS的一个例子的图。在该一个例子的情况下,神经形态器件360中,脉冲宽度2的脉冲宽度调制信号PMS2设为输入信号X[0],脉冲宽度1的脉冲宽度调制信号PMS1设为输入信号X[1],脉冲宽度0的脉冲宽度调制信号PMS0设为输入信号X[2]分别供给。
神经形态器件360相对于输入信号X[0]分别乘以权重w[0,1]、权重w[0,2]、及权重w[0,3],并作为输出电流OC输出。同样,神经形态器件360相对于输入信号X[1]分别乘以权重w[1,1]、权重w[1,2]、及权重w[1,3],并作为输出电流OC输出。神经形态器件360相对于输入信号X[2]分别乘以权重w[2,1]、权重w[2,2]、及权重w[2,3],并作为输出电流OC输出。
电流积分电路370-1累计输出电流OC1的电流的大小。电流积分电路370-2累计输出电流OC2的电流的大小。电流积分电路370-3累计输出电流OC3的电流的大小。
如以上说明的那样,本实施方式的神经网络装置300将输入信号IS的输入离散值IDV变换为比输入信号IS的量化级数少的级数的离散值。在此,对本实施方式的神经网络装置300与现有的神经网络装置的比较进行说明。
图27是表示现有的神经网络装置的结构的一个例子的图。该现有的神经网络装置不具备本实施方式的抽取电路330,将输入信号IS的输入离散值IDV直接变换为脉冲宽度调制信号PMS。在此,在输入信号IS的量化级数为256级的情况下,脉冲宽度调制信号PMS的脉冲宽度成为0~255的256级。在此,电流积分电路370的输出电流OC的累计所需要的时间(累计时间)依赖于向神经形态器件360供给的脉冲宽度调制信号PMS的脉冲宽度的级数。例如,如该现有的神经网络装置那样,在256级的脉冲宽度的脉冲宽度调制信号PMS向神经形态器件360供给的情况下,电流积分电路370中的输出电流OC的累计时间需要与256级对应的时间。
即,产生如下问题:输入信号IS的输入离散值IDV的量化级数越多,电流积分电路370中的输出电流OC的累计时间越长,运算时间越长(例如,吞吐量降低)。
另外,电流积分电路370的累计结果由于电源电压变动或干扰等受到包含于输出电流OC的噪声成分的影响。电流积分电路370的输出电流OC的累计时间越长,越容易受到包含于输出电流OC的噪声成分的影响。
为了降低该噪声成分的影响,并提高电流积分电路370的累计结果的精度,例如考虑通过延长脉冲宽度调制信号PMS的每一个离散值的脉冲宽度(单位脉冲宽度),而增大输出电流OC的S/N比。但是,产生如下问题:当延长脉冲宽度调制信号PMS的单位脉冲宽度时,电流积分电路370的累计时间进一步变长。
另一方面,本实施方式的神经网络装置300具备抽取电路330。如上所述,抽取电路330降低向神经形态器件360供给的脉冲宽度调制信号PMS的脉冲宽度的级数。因此,根据本实施方式的神经网络装置300,即使在输入信号IS的量化级数(量化位数)较大的情况下,能够降低电流积分电路370中的输出电流OC的累计时间。因此,根据神经网络装置300,能够降低运算时间。另外,根据神经网络装置300,降低电流积分电路370中的输出电流OC的累计时间,因此,难以受到包含于输出电流OC的噪声成分的影响,能够比上述的现有技术提高电流积分电路370的累计结果的精度。
[变形例(其一)]
图20是表示向本实施方式的神经形态器件360供给的脉冲宽度调制信号PMS的变形例的图。本变形例中,在具有调整PWM调制电路350输出的脉冲宽度调制信号PMS的上升时机及下降时机的功能的点上,与上述的实施方式不同。
具体而言,抽取电路330生成多个抽取信号DS。PWM调制电路350生成与抽取电路330生成的多个抽取信号DS分别对应的脉冲宽度调制信号PMS。
该一个例子中,抽取电路330生成抽取信号DS0~抽取信号DS2。同图所示的一个例子中,抽取信号DS0表示值0(零),抽取信号DS1表示值1,抽取信号DS2表示值2。PWM调制电路350生成与抽取信号DS0对应的作为脉冲宽度调制信号PMS的脉冲宽度调制信号PMS10。同样,PWM调制电路350生成与抽取信号DS1对应的作为脉冲宽度调制信号PMS的脉冲宽度调制信号PMS11,并生成与抽取信号DS2对应的作为脉冲宽度调制信号PMS的脉冲宽度调制信号PMS12。同图所示的一个例子中,脉冲宽度调制信号PMS10的脉冲宽度为0(零)。脉冲宽度调制信号PMS11的脉冲宽度为Δt1。另外,脉冲宽度调制信号PMS12的脉冲宽度为Δt2。
在此,PWM调制电路350使脉冲宽度调制信号PMS11的脉冲的变化时机与脉冲宽度调制信号PMS12的脉冲的变化时机互不相同,并生成脉冲宽度调制信号PMS10~脉冲宽度调制信号PMS12。具体而言,PWM调制电路350将从脉冲宽度调制信号PMS11的脉冲的上升时机以延迟时间td延迟的时机设为脉冲宽度调制信号PMS12的脉冲的上升时机,并生成各个信号。
即,该变形例的PWM调制电路350使脉冲宽度调制信号PMS的信号波形变化的脉冲的上升时机及下降时机在多个脉冲宽度调制信号PMS间相互错开。通过这样构成,与在多个脉冲宽度调制信号PMS间同时改变信号波形的情况相比,神经网络装置300能够降低脉冲宽度调制信号PMS的信号波形变化时的电源电压的变动(例如,尖峰噪声的产生)。因此,神经网络装置300能够降低对电流积分电路370的输出电流OC的累计结果造成不良影响的噪声的产生,能够提高输出电流OC的累计结果的精度。
[变形例(其二)]
图21是表示本实施方式的抽取电路330参照的阈值th的变形例的图。
图22是表示本实施方式的抽取电路330进行的离散值变换的变形例的图。
上述的实施方式中,阈值th对输入离散值IDV进行等分割(例如,4等分)(参照图15及图16。)。本变形例中,在阈值th对输入离散值IDV进行不等分割的点上,与上述的实施方式不同。
该一个例子中,设定有将输入信号IS的量化级数(256级)分割成四部分的阈值th1~阈值th3。更具体而言,阈值th11设定为值96。在该情况下,抽取电路330在输入离散值IDV为阈值th1以下(即,值96以下)的情况下,将抽取后离散值DDV设为0(零),并变换离散值。同样,抽取电路330将阈值th12的值(例如,值128)、阈值th13的值(例如,值160)设为判定阈值,并将输入离散值IDV变换为抽取后离散值DDV。
即,抽取电路330在输入离散值IDV为0~96的情况下,将抽取后离散值DDV设为0(零)。抽取电路330在输入离散值IDV为97~128的情况下,将抽取后离散值DDV设为1。抽取电路330在输入离散值IDV为129~160的情况下,将抽取后离散值DDV设为2。抽取电路330在输入离散值IDV为161~255的情况下,将抽取后离散值DDV设为3。
在此,在将感应器件310的感应对象的信息变换为输入信号IS的情况下,有时产生信息量较多的输入离散值IDV的范围和信息量较少的输入离散值IDV的范围。
例如,在感应器件310的感应对象的信息为图像的情况下,图像传感器的像素输出的像素值(例如,像素的亮度)变换为输入离散值IDV。具体而言,在感应对象的信息为图4所示那样的图像的情况下,图像的亮度根据255灰阶的灰度级变换。例如,图像的亮度为0(例如,完全的黑)的部分的输入离散值IDV变换为0(零),图像的亮度为255(例如,完全的白)的部分的输入离散值IDV变换为255。此时,神经网络装置300中,例如,在解释图像中显示的文字(数字)的形状及其意义的情况下,有时切换图像的白和黑的轮廓部分的信息较重要,且其它的部分(例如,较黑的背景的部分或文字(数字)内的白的部分)的明度的变化那样的信息较不重要。如该一个例子那样切换图像的白和黑的部分的信息设为重要时,可以说256级的输入离散值IDV的范围中、切换白和黑的97~160的范围(例如,浅灰色~深灰色)的部分的信息较重要,其信息量较多。另外,在该一个例子的情况下,可以说256级的输入离散值IDV的范围中、0~96的范围(例如,完全的白~浅灰色)、及161~255的范围(例如,深灰色~完全的黑)的部分的信息较不重要,其信息量较少。
本变形例的阈值th将输入信号IS的量化级数不等宽地进行分割。上述的一个例子中,输入离散值IDV的范围中较重要的范围(例如,97~160的范围)的阈值th彼此之间的宽度较狭窄地设定,较不重要的范围(例如,0~96的范围,及161~255的范围)的阈值th彼此之间的宽度较宽地设定。因此,根据本变形例的神经网络装置300,能够将包含于输入信号IS的信息中、更重要的信息包含于抽取信号DS。
在此,例如,如果增加阈值th的数且缩小阈值th彼此的间隔,则能够使包含于输入信号IS的信息中、更重要的信息包含于抽取信号DS。
但是,当增加阈值th的数时,产生由于抽取信号DS的量化级数增加,且脉冲宽度调制信号PMS的脉冲宽度增加,而容易受到运算时间的增加及噪声的影响的上述的问题。
根据本变形例的神经网络装置300,不增加阈值th的数,就能够使包含于输入信号IS的信息中、更重要的信息包含于抽取信号DS。即,神经网络装置300能够抑制抽取信号DS的量化级数的增加,且使更重要的信息包含于抽取信号DS。
[变形例(其三)]
图23是表示本实施方式的抽取电路330参照的阈值th的第二变形例的图。
图24是表示本实施方式的抽取电路330进行的离散值变换的第二变形例的图。
上述的实施方式中,利用多个阈值th分割(例如,分割成四部分)输入离散值IDV(参照图15及图16。)。本变形例中,在利用单一的阈值th将输入离散值IDV分割成两部分的点上,与上述的实施方式不同。
即,本变形例的抽取电路330通过将输入信号IS的量化级数分割成两部分而生成二值的抽取信号DS。同图所示的具体例中,设定有将输入信号IS的量化级数(256级)分割成两部分的阈值th21。在该情况下,抽取电路330在输入离散值IDV为阈值th21以下(即,值128以下)的情况下,将抽取后离散值DDV设为0(零),在超过阈值th21(即,值129以上)的情况下,将抽取后离散值DDV设为1,并变换离散值。
图25是表示本实施方式的PWM调制电路350进行的脉冲宽度调制的变形例的图。PWM调制电路350生成与抽取后离散值DDV的值的大小对应的脉冲宽度的脉冲宽度调制信号PMS。在该变形例的情况下,PWM调制电路350生成与抽取信号DS对应的2值的脉冲宽度调制信号PMS,即脉冲宽度0(零)的脉冲宽度调制信号PMS20和脉冲宽度为Δt1的脉冲宽度调制信号PMS21。PWM调制电路350将生成的脉冲宽度调制信号PMS供给至神经形态器件360。
图26是表示向本实施方式的神经形态器件360供给的脉冲宽度调制信号PMS的变形例的图。在该一个例子的情况下,脉冲宽度1的脉冲宽度调制信号PMS31作为输入信号X[0]及输入信号X[1]供给至神经形态器件360,脉冲宽度0的脉冲宽度调制信号PMS30作为输入信号X[2]供给至神经形态器件360。
与参照图19进行说明的情况一样,神经形态器件360将权重w[0,1]、权重w[0,2]、及权重w[0,3]相对于输入信号X[0]分别进行乘法运算,并作为输出电流OC输出。同样,神经形态器件360将权重w[1,1]、权重w[1,2]、及权重w[1,3]相对于输入信号X[1]分别进行乘法运算,并作为输出电流OC输出。神经形态器件360将权重w[2,1]、权重w[2,2]、及权重w[2,3]相对于输入信号X[2]分别进行乘法运算,并作为输出电流OC输出。
在此,本变形例的神经形态器件360中,与参照图19进行说明的情况不同,供给的脉冲宽度调制信号PMS的脉冲宽度仅为两个值(例如,脉冲宽度0(零)及Δt1)。因此,电流积分电路370不累计(时间积分)脉冲宽度,只要检测脉冲的有无(即,输出电流OC的电流值的大小)即可。
即,本变形例中,神经网络装置300具备代替电流积分电路370的电流检测电路370a。该电流检测电路370a检测输出电流OC的电流值的大小。具体而言,如图26所示,电流检测电路370a-1检测输出电流OC31的电流的大小。电流检测电路370a检测输出电流OC32的电流的大小。电流检测电路370a检测输出电流OC3的电流的大小。
一般而言,电流的大小的检测可通过比电流的累计简单的电路(或,与更简单的软件的组合)实现。即,本变形例的神经网络装置300能够通过更简单的结构检测神经形态器件360的输出结果。
另外,如上所述,当电流积分电路370中输出电流OC的累计时间变长时,累计结果的精度由于噪声成分的影响而容易降低。根据本变形例的神经网络装置300,不需要进行输出电流OC的累计,因此,能够难以受到包含于输出电流OC的噪声成分的影响。另外,在实现噪声降低的情况下,将多次的电流检测值平均化等的方法也可应用。因此,根据本变形例的神经网络装置300,能够抑制累计结果的精度降低。
此外,如上所述,在阈值th以输出将输入离散值IDV分成“0(零)”和“1”的抽取后离散值DDV的方式决定的情况下,神经形态器件360也可以作为所谓的二值神经网络(以下,均记载为二进制NN。)构成。
神经形态器件360即使在作为二进制NN构成的情况下,通过在学习阶段,基于神经形态器件360输出的输出电流OC,调整权重w及分辨率,而能够得到与多值神经网络相同程度的识别性能。
另外,阈值th也可以基于输入信号IS的值可变地确定。如上所述,在感应器件310产生的感应对象的信息为例如图像的情况下,图像传感器的像素输出的像素值(例如,像素的亮度)变换为输入离散值IDV。在此,有时由图像传感器摄像的图像的亮度由于例如图像的种类及摄像条件等而变动。因此,有时输入离散值IDV的范围中、更多地包含图像的意义的范围、即较重要的范围也变动。在这种情况下,通过阈值th基于输入信号IS的值可变地确定,根据本变形例的神经网络装置300,也能够使包含于输入信号IS的信息中、更重要的信息包含于抽取信号DS。
另外,抽取电路330生成的抽取信号DS的离散值的级数也可以基于输入信号IS可变地确定。在此,有时输入离散值IDV的范围中、更多地包含图像的意义的范围、即较重要的范围根据输入信号IS的值及种类变动。在这种情况下,通过阈值th基于输入信号IS的值可变地确定,根据本变形例的神经网络装置300,也能够使包含于输入信号IS的信息中、更重要的信息包含于抽取信号DS。
此外,如上所述,抽取电路330生成的抽取信号DS的离散值的级数设为比输入信号IS的量化级数少的级数的范围确定。即,在该一个例子的情况下,抽取电路330生成的抽取信号DS的离散值的级数在比输入信号IS的量化级数少的级数的范围内,基于输入信号的值可变地确定。
另外,如上所述,本实施方式的神经形态器件360的神经形态元件不具有完全的模拟线性的电导率(G)的变化特性,而具有有限的分辨率(换言之,离散值的级数)。抽取电路330也可以基于该神经形态元件的离散值的级数确定抽取信号DS的离散值的级数。例如,抽取电路330也可以将抽取信号DS的离散值的级数设为比神经形态元件的离散值的级数少的级数。
通过这样构成,根据本实施方式的神经网络装置300,在输入信号IS的量化级数(量化位数)较大的情况下,能够降低电流积分电路370中的输出电流OC的累计时间。
此外,也可以将用于实现以上所示的实施方式的各装置(例如,控制装置11及神经网络装置300)的功能的程序记录于计算机可读取的记录介质(存储介质),且使记录于该记录介质的程序读入计算机系统并执行,而进行处理。
此外,这里所说的“计算机系统”也可以包含操作·系统(OS:Operating System)或周边设备等的硬件。
另外,“计算机可读取的记录介质”是指软盘、光磁盘、ROM(Read Only Memory)、闪光存储器等的可写入的非易失性存储器、DVD(Digital Versatile Disc)等的便携式介质、内置于计算机系统的硬盘等的存储装置。另外,作为记录介质,例如也可以是临时性地记录数据的记录介质。
另外,“计算机可读取的记录介质”包含如经由因特网等的网络或电话线等的通信线发送程序的情况下的成为服务器或客户的计算机系统内部的挥发性存储器(例如DRAM(Dynamic Random Access Memory))那样保持一定时间程序的介质。
另外,上述的程序也可以从将该程序储存于存储装置等的计算机系统,经由传输介质或通过传输介质中的传输波向其它的计算机系统传输。在此,传输程序的“传输介质”是指如因特网等的网络(通信网)或电话线等的通信线(通信线)那样具有传输信息的功能的介质。
另外,上述的程序也可以是用于实现上述的功能的一部分的程序。另外,上述的程序也可以是通过与将上述的功能已经记录于计算机系统的程序的组合能够实现的、所谓差分文件(差分程序)。
<结构例>
作为一个结构例,一种控制装置,是包含使与可变的特性(例如,电导率等)的值对应的权重与信号进行乘法运算的神经形态元件的阵列(本实施方式中,元件阵列121)的控制装置(本实施方式中,控制装置11),具备使用基于使用了以比神经形态元件的特性的分辨率高的精度求出的权重的真值(本实施方式中,由实数模拟器运算的真值)和使用了对神经形态元件的特性设定的离散化步进尺寸(本实施方式中,与离散化步进尺寸对应的参数α、β)的情况,以满足规定的条件(缩小误差的规定的条件、或增大精度的规定的条件)的方式求出的离散化步进尺寸,控制神经形态元件的特性的控制部(本实施方式中,是控制装置11的功能,例如,权重分配控制部23)。
作为一个结构例,控制装置中,控制部使用与离散化步进尺寸、分辨率、规定的偏移量对应的神经形态元件的动态范围,控制神经形态元件的特性。
作为一个结构例,控制装置中,在阵列具有包含神经形态元件的多个层的情况下,控制部在各层的每个使用共通的离散化步进尺寸而控制神经形态元件的特性。
作为一个结构例,控制装置中,在阵列具有包含多个神经形态元件的层的情况下,控制部在同一层所包含的多个神经形态元件进行了分组而成的每组使用共通的离散化步进尺寸,控制神经形态元件的特性。
作为一个结构例,控制装置中,阵列具有包含神经形态元件的多个层,具备在各层的每个具有共通的分辨率的神经形态元件,不同的层中的神经形态元件的分辨率不同。
作为一个结构例,控制装置中,控制部(本实施方式中,是控制装置11的功能,例如,识别控制部21,权重运算控制部22及权重分配控制部23)使用离散化步进尺寸,对阵列进行学习。
作为一个结构例,控制装置中,阵列具有使用神经形态元件进行神经网络中的积和运算的电路。
作为一个结构例,一种离散化步进尺寸的运算方法,是对包含使与可变的特性的值对应的权重与信号进行乘法运算的神经形态元件的阵列运算神经形态元件的特性的离散化步进尺寸的运算方法(例如,利用控制装置11的权重运算控制部22或其它的计算机进行的运算的方法),具备:以比神经形态元件的特性的分解能高的精度运算权重的真值的步骤;基于使用了权重的真值的情况和使用了对神经形态元件的特性设定的离散化步进尺寸的情况,以满足规定的条件(减小误差的规定的条件、或增大精度的规定的条件)的方式运算离散化步进尺寸的步骤。
作为一个结构例,一种程序,是对包含使与可变的特性的值对应的权重与信号进行乘法运算的神经形态元件的阵列运算神经形态元件的特性的离散化步进尺寸的程序(例如,构成控制装置11的权重运算控制部22的计算机或其它的计算机中执行的程序),用于使计算机执行如下步骤:以比神经形态元件的特性的分解能高的精度运算权重的真值的步骤;基于使用了权重的真值的情况和使用了对神经形态元件的特性设定的离散化步进尺寸的情况,以满足规定的条件(减小误差的规定的条件、或增大精度的规定的条件)的方式运算离散化步进尺寸的步骤。
在此,计算机中,例如,CPU(Central Processing Unit)等的处理器读出并执行存储于存储器的程序。
以上,参照附图对本发明的实施方式进行了详细叙述,但具体的结构不限于该实施方式,也包含不脱离本发明宗旨的范围的设计变更等。
产业上的可利用性
根据本发明的神经网络装置、信号生成方法及程序,在神经网络的积和运算中使用神经形态元件的情况下,能够抑制运算时间的增加。
符号的说明
1…神经网络系统、11…控制装置、12…元件阵列部、21…识别控制部、22…权重运算控制部、23…权重分配控制部、24…存储部、101…神经网络电路、111…识别用控制电路、112…权重运算控制电路、113…权重分配控制电路、121…元件阵列、122、123…输入输出IF电路、211…图像(图像的数据)、1011、1111~1113、1121~1123、1211、1311~1313、1321~1323、1411~1413、1421~1423、1511~1513、1521~1523、1611~1613、1621~1623、1711…特性、1131、1132…范围、1221、1721…箭头、A1-0~A1-p、A1-i、A2-0~A2-q、A2-j、A3-1~A3-r、A3-k…单元、B1-1~B1-n、B2-1~B2-n、B0-1~B0-n…图像、300…神经网络装置、310…感应器件、320…AD转换器、330…抽取电路(抽取部)、340…阈值取得部、350…PWM调制电路(调制部)、360…神经形态器件(加权部)、370…电流积分(电流积分部)、370a…电流检测电路(电流检测部)、IS…输入信号、DS…抽取信号、IDV…输入离散值(输入信号的离散值)、DDV…抽取后离散值(抽取信号的离散值)、PMS…脉冲宽度调制信号、OC…输出电流(加权信号)、th…阈值。
Claims (10)
1.一种神经网络装置,其中,
具备:
抽取部,其通过将输入信号的离散值基于预先确定的阈值变换为比所述输入信号的量化级数少的级数的离散值而生成抽取信号;
调制部,其通过对所述抽取部生成的所述抽取信号的离散值进行脉冲宽度调制,从而生成通过脉冲宽度表示所述抽取信号的离散值的脉冲宽度调制信号;以及
加权部,其包含神经形态元件,所述神经形态元件通过将与可变的特性的值对应的权重相对于所述调制部生成的所述脉冲宽度调制信号进行乘法运算,从而输出所述脉冲宽度调制信号被加权了的加权信号。
2.根据权利要求1所述的神经网络装置,其中,
所述阈值基于所述加权部输出的所述加权信号的加权结果而确定。
3.根据权利要求1或2所述的神经网络装置,其中,
所述抽取部对于多个所述输入信号生成分别对应的所述抽取信号,
所述调制部使信号波形的变化时机互不相同地生成与所述抽取部生成的多个所述抽取信号分别对应的所述脉冲宽度调制信号。
4.根据权利要求1~3中任一项所述的神经网络装置,其中,
所述阈值将所述输入信号的量化级数不等宽地进行分割。
5.根据权利要求1~4中任一项所述的神经网络装置,其中,
所述抽取部通过将所述输入信号的量化级数分割成两部分而生成二值的所述抽取信号,
所述调制部生成与所述抽取信号对应的二值的所述脉冲宽度调制信号,
所述加权部输出二值的所述脉冲宽度调制信号被加权了的所述加权信号,
还具备:电流检测部,其检测所述加权部出力的所述加权信号的电流的大小。
6.根据权利要求1~5中任一项所述的神经网络装置,其中,
还具备:阈值取得部,其取得用于所述抽取部所进行的所述抽取信号的生成的所述阈值。
7.根据权利要求1~6中任一项所述的神经网络装置,其中,
所述阈值基于所述输入信号可变地确定。
8.根据权利要求1~7中任一项所述的神经网络装置,其中,
所述抽取部生成的所述抽取信号的离散值的级数在比所述输入信号的量化级数少的级数的范围内基于所述输入信号的值而可变地确定。
9.一种信号生成方法,其中,
具有:
抽取步骤,通过将输入信号的离散值基于预先确定的阈值变换为比所述输入信号的量化级数少的级数的离散值而生成抽取信号;
调制步骤,通过对在所述抽取步骤中生成的所述抽取信号的离散值进行脉冲宽度调制,从而生成通过脉冲宽度表示所述抽取信号的离散值的脉冲宽度调制信号;以及
加权步骤,神经形态元件通过将与可变的特性的值对应的权重相对于在所述调制步骤中生成的所述脉冲宽度调制信号进行乘法运算,从而输出所述脉冲宽度调制信号被加权了的加权信号。
10.一种程序,其中,
用于使神经网络装置具备的计算机执行如下步骤:
抽取步骤,其通过将输入信号的离散值基于预先确定的阈值变换为比所述输入信号的量化级数少的级数的离散值而生成抽取信号;
调制步骤,其通过对在所述抽取步骤中生成的所述抽取信号的离散值进行脉冲宽度调制,从而生成通过脉冲宽度表示所述抽取信号的离散值的脉冲宽度调制信号;以及
加权步骤,其相对于神经形态元件供给所述脉冲宽度调制信号,从而输出所述加权信号,所述神经形态元件通过将与可变的特性的值对应的权重相对于在所述调制步骤中生成的所述脉冲宽度调制信号进行乘法运算,从而输出所述脉冲宽度调制信号被加权了的加权信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410126859.0A CN117973450A (zh) | 2018-03-06 | 2019-01-11 | 神经网络装置、信号生成方法及程序 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-040214 | 2018-03-06 | ||
JP2018040214A JP6569755B1 (ja) | 2018-03-06 | 2018-03-06 | ニューラルネットワーク装置、信号生成方法およびプログラム |
PCT/JP2019/000679 WO2019171758A1 (ja) | 2018-03-06 | 2019-01-11 | ニューラルネットワーク装置、信号生成方法およびプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410126859.0A Division CN117973450A (zh) | 2018-03-06 | 2019-01-11 | 神经网络装置、信号生成方法及程序 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111801693A true CN111801693A (zh) | 2020-10-20 |
CN111801693B CN111801693B (zh) | 2024-02-23 |
Family
ID=67844787
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410126859.0A Pending CN117973450A (zh) | 2018-03-06 | 2019-01-11 | 神经网络装置、信号生成方法及程序 |
CN201980016765.5A Active CN111801693B (zh) | 2018-03-06 | 2019-01-11 | 神经网络装置、信号生成方法及程序 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410126859.0A Pending CN117973450A (zh) | 2018-03-06 | 2019-01-11 | 神经网络装置、信号生成方法及程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11551071B2 (zh) |
JP (1) | JP6569755B1 (zh) |
CN (2) | CN117973450A (zh) |
WO (1) | WO2019171758A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114378812A (zh) * | 2021-12-13 | 2022-04-22 | 扬州大学 | 一种基于离散递归神经网络模型的并联机械臂预测控制方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019220755A1 (ja) * | 2018-05-14 | 2019-11-21 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US11604987B2 (en) * | 2019-03-22 | 2023-03-14 | Qualcomm Incorporated | Analytic and empirical correction of biased error introduced by approximation methods |
US11057079B2 (en) | 2019-06-27 | 2021-07-06 | Qualcomm Incorporated | Dynamic thresholds for antenna switching diversity |
US11568180B2 (en) * | 2019-09-13 | 2023-01-31 | Rohde & Schwarz Gmbh & Co. Kg | Method and cloud server for training a neural network for triggering an input signal in a measurement device and method for autonomous determining a trigger type/parameter |
CN110807519B (zh) * | 2019-11-07 | 2023-01-17 | 清华大学 | 基于忆阻器的神经网络的并行加速方法及处理器、装置 |
CN113255875A (zh) * | 2020-02-07 | 2021-08-13 | 华为技术有限公司 | 神经网络电路和神经网络系统 |
CN113259289B (zh) * | 2021-05-13 | 2022-06-17 | 曾泓然 | 基于残差神经网络的单通道混叠信号调制模式识别方法 |
US11789857B2 (en) | 2021-08-11 | 2023-10-17 | International Business Machines Corporation | Data transfer with continuous weighted PPM duration signal |
CN115471709B (zh) * | 2022-09-28 | 2023-06-27 | 武汉中安智通科技有限公司 | 定向信号智能分析系统 |
CN115905546B (zh) * | 2023-01-06 | 2023-07-14 | 之江实验室 | 基于阻变存储器的图卷积网络文献识别装置与方法 |
US11823037B1 (en) * | 2023-02-28 | 2023-11-21 | PolyN Technology Limited | Optocoupler-based flexible weights in neuromorphic analog signal processors |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4893255A (en) * | 1988-05-31 | 1990-01-09 | Analog Intelligence Corp. | Spike transmission for neural networks |
JPH05227338A (ja) * | 1992-02-12 | 1993-09-03 | Ricoh Co Ltd | 学習機能を備えた画像形成装置 |
US5276772A (en) * | 1991-01-31 | 1994-01-04 | Ail Systems, Inc. | Real time adaptive probabilistic neural network system and method for data sorting |
US5333239A (en) * | 1988-09-12 | 1994-07-26 | Fujitsu Limited | Learning process system for use with a neural network structure data processing apparatus |
JPH06314347A (ja) * | 1993-04-30 | 1994-11-08 | Nippon Telegr & Teleph Corp <Ntt> | ニューラルネットワーク学習回路 |
JP2000057241A (ja) * | 1998-08-17 | 2000-02-25 | Univ Hiroshima | 非線形演算回路 |
US20020169729A1 (en) * | 2001-03-20 | 2002-11-14 | Winbond Electronics Corp. | Voltage-mode pulse width modulation VLSI implementation of neural networks |
US20030122692A1 (en) * | 2002-01-02 | 2003-07-03 | Roeckner William J. | Method and apparatus for generating a pulse width modulated signal |
CN103201610A (zh) * | 2010-10-29 | 2013-07-10 | 国际商业机器公司 | 带有使用模拟学习的突触权重的神经形态-突触器脉冲神经网络 |
CN103430186A (zh) * | 2012-01-20 | 2013-12-04 | 松下电器产业株式会社 | 神经网络电路的学习方法 |
CN103460220A (zh) * | 2012-01-23 | 2013-12-18 | 松下电器产业株式会社 | 神经网络电路的学习方法 |
CN104158632A (zh) * | 2014-09-03 | 2014-11-19 | 重庆邮电大学 | 用于可见光通信系统的可变脉冲幅度位置调制和误码率改善方法 |
CN105593772A (zh) * | 2013-08-06 | 2016-05-18 | 基岩自动化平台公司 | 用于对工业控制系统的模块类型进行合并的方法 |
US20170149417A1 (en) * | 2015-11-19 | 2017-05-25 | Onkyo Corporation | Pulse width modulator and non-transitory computer readable medium for storing program for pulse width modulator |
US20170249547A1 (en) * | 2016-02-26 | 2017-08-31 | The Board Of Trustees Of The Leland Stanford Junior University | Systems and Methods for Holistic Extraction of Features from Neural Networks |
US20170286829A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Event-driven Learning and Reward Modulation with Spike Timing Dependent Plasticity in Neuromorphic Computers |
CN107341539A (zh) * | 2017-05-11 | 2017-11-10 | 财团法人交大思源基金会 | 神经网络处理系统 |
CN107478149A (zh) * | 2016-06-08 | 2017-12-15 | Tdk株式会社 | 状态判别装置及方法、物理量信息生成装置以及角度传感器 |
CN107643044A (zh) * | 2016-07-20 | 2018-01-30 | Tdk株式会社 | 角度传感器及角度传感器系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2543095B2 (ja) * | 1987-09-14 | 1996-10-16 | 松下電器産業株式会社 | オ―バ―サンプリング型d/a変換器 |
US5353127A (en) * | 1993-12-15 | 1994-10-04 | Xerox Corporation | Method for quantization gray level pixel data with extended distribution set |
JP2002247371A (ja) * | 2001-02-21 | 2002-08-30 | Ricoh Co Ltd | 画像処理装置および画像処理プログラムを記録した記録媒体 |
JP4274102B2 (ja) * | 2004-10-18 | 2009-06-03 | セイコーエプソン株式会社 | 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体 |
EP2546943B1 (en) * | 2010-03-12 | 2022-07-13 | Kabushiki Kaisha Toshiba | Control system, transformer, security control device, and bitstream memory unit |
JP6066579B2 (ja) * | 2012-04-19 | 2017-01-25 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
US9159020B2 (en) | 2012-09-14 | 2015-10-13 | International Business Machines Corporation | Multiplexing physical neurons to optimize power and area |
JP6361030B2 (ja) * | 2014-02-18 | 2018-07-25 | パナソニックIpマネジメント株式会社 | オーディオ信号増幅装置 |
US20160042271A1 (en) | 2014-08-08 | 2016-02-11 | Qualcomm Incorporated | Artificial neurons and spiking neurons with asynchronous pulse modulation |
US9525428B2 (en) * | 2014-12-17 | 2016-12-20 | Analog Devices, Inc. | Randomly sampling reference ADC for calibration |
CN108063555B (zh) * | 2016-11-07 | 2020-04-03 | 台达电子工业股份有限公司 | 多级电源转换器及其控制方法 |
US11556772B2 (en) * | 2017-04-28 | 2023-01-17 | Intel Corporation | Incremental precision networks using residual inference and fine-grain quantization |
US20180336469A1 (en) * | 2017-05-18 | 2018-11-22 | Qualcomm Incorporated | Sigma-delta position derivative networks |
JP6293963B1 (ja) * | 2017-08-31 | 2018-03-14 | Tdk株式会社 | ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム |
WO2019087500A1 (ja) * | 2017-11-02 | 2019-05-09 | Tdk株式会社 | ニューロモルフィック素子を含むアレイ装置およびニューラルネットワークシステム |
-
2018
- 2018-03-06 JP JP2018040214A patent/JP6569755B1/ja active Active
-
2019
- 2019-01-11 CN CN202410126859.0A patent/CN117973450A/zh active Pending
- 2019-01-11 CN CN201980016765.5A patent/CN111801693B/zh active Active
- 2019-01-11 WO PCT/JP2019/000679 patent/WO2019171758A1/ja active Application Filing
-
2020
- 2020-03-23 US US16/826,691 patent/US11551071B2/en active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4893255A (en) * | 1988-05-31 | 1990-01-09 | Analog Intelligence Corp. | Spike transmission for neural networks |
US5333239A (en) * | 1988-09-12 | 1994-07-26 | Fujitsu Limited | Learning process system for use with a neural network structure data processing apparatus |
US5276772A (en) * | 1991-01-31 | 1994-01-04 | Ail Systems, Inc. | Real time adaptive probabilistic neural network system and method for data sorting |
JPH05227338A (ja) * | 1992-02-12 | 1993-09-03 | Ricoh Co Ltd | 学習機能を備えた画像形成装置 |
JPH06314347A (ja) * | 1993-04-30 | 1994-11-08 | Nippon Telegr & Teleph Corp <Ntt> | ニューラルネットワーク学習回路 |
JP2000057241A (ja) * | 1998-08-17 | 2000-02-25 | Univ Hiroshima | 非線形演算回路 |
US20020169729A1 (en) * | 2001-03-20 | 2002-11-14 | Winbond Electronics Corp. | Voltage-mode pulse width modulation VLSI implementation of neural networks |
US20030122692A1 (en) * | 2002-01-02 | 2003-07-03 | Roeckner William J. | Method and apparatus for generating a pulse width modulated signal |
CN103201610A (zh) * | 2010-10-29 | 2013-07-10 | 国际商业机器公司 | 带有使用模拟学习的突触权重的神经形态-突触器脉冲神经网络 |
CN103430186A (zh) * | 2012-01-20 | 2013-12-04 | 松下电器产业株式会社 | 神经网络电路的学习方法 |
CN103460220A (zh) * | 2012-01-23 | 2013-12-18 | 松下电器产业株式会社 | 神经网络电路的学习方法 |
CN105593772A (zh) * | 2013-08-06 | 2016-05-18 | 基岩自动化平台公司 | 用于对工业控制系统的模块类型进行合并的方法 |
CN104158632A (zh) * | 2014-09-03 | 2014-11-19 | 重庆邮电大学 | 用于可见光通信系统的可变脉冲幅度位置调制和误码率改善方法 |
US20170149417A1 (en) * | 2015-11-19 | 2017-05-25 | Onkyo Corporation | Pulse width modulator and non-transitory computer readable medium for storing program for pulse width modulator |
US20170249547A1 (en) * | 2016-02-26 | 2017-08-31 | The Board Of Trustees Of The Leland Stanford Junior University | Systems and Methods for Holistic Extraction of Features from Neural Networks |
US20170286829A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Event-driven Learning and Reward Modulation with Spike Timing Dependent Plasticity in Neuromorphic Computers |
CN107478149A (zh) * | 2016-06-08 | 2017-12-15 | Tdk株式会社 | 状态判别装置及方法、物理量信息生成装置以及角度传感器 |
CN107643044A (zh) * | 2016-07-20 | 2018-01-30 | Tdk株式会社 | 角度传感器及角度传感器系统 |
CN107341539A (zh) * | 2017-05-11 | 2017-11-10 | 财团法人交大思源基金会 | 神经网络处理系统 |
Non-Patent Citations (2)
Title |
---|
SHINHYUN CHOI ET AL.: "Data Clustering using Memristor Networks", SCIENTIFIC REPORTS, pages 2 * |
陈琼,郑启伦,凌卫新: "采用计数器存储权值的人工神经网络的实现", 计算机工程与应用, no. 20 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114378812A (zh) * | 2021-12-13 | 2022-04-22 | 扬州大学 | 一种基于离散递归神经网络模型的并联机械臂预测控制方法 |
CN114378812B (zh) * | 2021-12-13 | 2023-09-05 | 扬州大学 | 一种基于离散递归神经网络模型的并联机械臂预测控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111801693B (zh) | 2024-02-23 |
US11551071B2 (en) | 2023-01-10 |
JP2019153254A (ja) | 2019-09-12 |
JP6569755B1 (ja) | 2019-09-04 |
CN117973450A (zh) | 2024-05-03 |
WO2019171758A1 (ja) | 2019-09-12 |
US20200293889A1 (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111801693B (zh) | 神经网络装置、信号生成方法及程序 | |
CN111052152B (zh) | 包含仿神经元件的阵列的控制装置、离散化步长的运算方法及程序 | |
Gonugondla et al. | A variation-tolerant in-memory machine learning classifier via on-chip training | |
JP6995131B2 (ja) | 抵抗型処理ユニットアレイ、抵抗型処理ユニットアレイを形成する方法およびヒステリシス動作のための方法 | |
JP4620943B2 (ja) | 積和演算回路及びその方法 | |
US20190122105A1 (en) | Training of artificial neural networks | |
US10977339B2 (en) | Systems and methods for mapping matrix calculations to a matrix multiply accelerator | |
CN112085186A (zh) | 一种神经网络的量化参数确定方法及相关产品 | |
KR102653822B1 (ko) | 혼성 신호 컴퓨팅 시스템 및 방법 | |
US10255551B2 (en) | Mixed-signal circuitry for computing weighted sum computation | |
US11188815B2 (en) | Weight shifting for neuromorphic synapse array | |
Giordano et al. | Analog-to-digital conversion with reconfigurable function mapping for neural networks activation function acceleration | |
US20200150927A1 (en) | Sum-of-products operator, sum-of-products operation method, logical operation device, and neuromorphic device | |
CN113614729B (zh) | 算术装置和乘法累加系统 | |
WO2021213649A1 (en) | Method and system for generating a predictive model | |
CN114925819A (zh) | 一种感受稀疏性的神经网络运行系统及方法 | |
JP2023530755A (ja) | 振動性ニューラル・ネットワークのトレーニング | |
CN110729010B (zh) | 半导体电路及其操作方法 | |
US20230229900A1 (en) | Controller of array including neuromorphic element, method of arithmetically operating discretization step size, and program | |
CN115511066A (zh) | 基于氧化锌忆阻器的储备池计算系统 | |
CN116579392A (zh) | 一种基于电导可调器件的神经网络训练操作系统及方法 | |
Baek et al. | A Gradient-Descent Calibration Method to Mitigate Process Variations in Analog Synapse Arrays | |
CN115879523A (zh) | 误差校正装置及方法 | |
Paudel | Accuracy Considerations in Deep Learning Using Memristive Crossbar Arrays | |
KR20190128885A (ko) | 전자 장치 및 그 제어 방법 |
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 |