CN109478253B - 神经网络电路以及神经网络集成电路 - Google Patents

神经网络电路以及神经网络集成电路 Download PDF

Info

Publication number
CN109478253B
CN109478253B CN201780044678.1A CN201780044678A CN109478253B CN 109478253 B CN109478253 B CN 109478253B CN 201780044678 A CN201780044678 A CN 201780044678A CN 109478253 B CN109478253 B CN 109478253B
Authority
CN
China
Prior art keywords
neural network
circuit
output
input
output data
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.)
Expired - Fee Related
Application number
CN201780044678.1A
Other languages
English (en)
Other versions
CN109478253A (zh
Inventor
本村真人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Institute of Technology NUC
Original Assignee
Tokyo Institute of Technology NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tokyo Institute of Technology NUC filed Critical Tokyo Institute of Technology NUC
Publication of CN109478253A publication Critical patent/CN109478253A/zh
Application granted granted Critical
Publication of CN109478253B publication Critical patent/CN109478253B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4818Threshold devices
    • G06F2207/4822Majority gates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)

Abstract

提供一种大幅缩小电路规模以及成本、具有高效且多样性的神经网络电路。该神经网络电路具备:记忆单元(1),用于实现将1位的输入数据(I)与加权系数(W)进行相乘的乘算功能且与输入数据(I)的数量相同;以及多数判定电路(2),用于实现将各记忆单元(1)中的乘算结果进行相加且将激活函数应用于该加算结果并输出1位的输出数据的加算/应用功能。各记忆单元(1)存储作为“1”或“0”的加权系数、或“NC”的任意一个,在输入数据(I)=存储值的情况下输出“1”,在输入数据(I)的值≠存储值的情况下输出“0”,在存储了“NC的情况下对其进行输出。多数判定电路(2)基于输出“1”的记忆单元(1)的总数与输出“0”的记忆单元(1)的总数而输出“1”或“0”。

Description

神经网络电路以及神经网络集成电路
技术领域
本发明属于神经网络电路以及神经网络集成电路的技术领域。更详细地,本发明属于一种神经网络电路、以及一种具备多个该神经网络电路的神经网络集成电路的技术领域,该神经网络电路具有:用于分别将多个输入数据与加权系数相乘的乘算功能,以及用于将各乘算结果进行相加并将激活函数应用于该加算结果而输出的加算/应用功能。
背景技术
近年来,正在进行关于对人的脑功能进行建模的、所谓神经网络电路的研究开发。此时,作为以往的神经网络电路,例如利用使用了浮点或定点的乘加运算来实现的情况较多,在这种情况下,例如存在运算成本高、且处理负荷高的问题。
因此,近年来,正在提出一种将上述输入数据及上述加权系数分别设为1位的、所谓“二进制神经网络电路”的算法。在这里,作为表示上述二进制神经网络电路的算法的现有技术文献,例如举出下述非专利文献1及非专利文献2。
现有技术文献
非专利文献
非专利文献1:“XNOR-Net:ImageNet Classification Using BinaryConvolutional Neural Networks”论文、Mohammad Rastegari等、arXiv:1603.05279v2[cs.CV、2016年4月19日(URL:1495159321498_0.05279)
非专利文献2:“Binarized Neural Networks:Training Neural Networks withWeights and Activations Constrained to+1or-1”论文、Matthieu Courbariaux等、arXiv:1602.02830v3[cs.LG]、2016年3月17日(URL:1495159321498_1.02830)
发明内容
发明要解决的课题
然而,在上述的任意一个非专利文献中都完全没有记载如何具体地实现该论文记载的理论。此外,尽管希望利用根据各论文记载的理论单位运算成本大幅减少的情况而使并行运算成为可能,但为此的硬件结构也是未知的。进一步地,关于如何实现具有利用了各论文记载的理论的多样的结构的神经网络电路也存在讨论的余地。
发明内容
发明要解决的课题
因此,本发明是鉴于上述的各问题点以及需求等而完成的,该课题的一例是提供一种神经网络电路、以及具备该神经网络电路的神经网络集成电路,该神经网络电路利用上述二进制神经网络电路的算法来大幅缩小电路规模以及与其对应的成本,并且高效且具有多样性的神经网络电路、。
用于解决课题的手段
为了解决上述的课题,技术方案1记载的发明被构成为:一种神经网络电路,具备:多个记忆单元等的第1电路部,用于实现将分别为1位的输入数据与加权系数进行相乘的乘算功能;以及多数判定电路等的第2电路部,用于实现将各所述第1电路部中的乘算结果进行相加且将激活函数应用于该加算结果并输出1位的输出数据的加算/应用功能,各所述第1电路部分别具备:存储部,用于存储作为“1”或“0”的所述加权系数、或预先设定的规定值的任意一个;以及输出部,在所述存储部中存储了所述加权系数时的该加权系数与所述输入数据的值一致的情况下,在与所述输入数据的输入定时对应的定时输出“1”,在该加权系数与所述输入数据的值不同的情况下,在与所述输入数据的输入定时对应的定时输出“0”,在所述存储部中存储了所述规定值的情况下,在与所述输入数据的输入定时对应的定时输出该规定值,所述第2电路部基于输出“1”的所述第1电路部的总数与输出“0”的所述第1电路部的总数的差而输出“1”或“0”作为所述输出数据。
根据技术方案1记载的发明,用于实现神经网络电路的乘算功能的各第1电路部具备:存储部,用于存储“1”或“0”的加权系数、或者规定值的任意一个;以及输出部,在输入数据的值=存储值的情况下输出“1”,在输入数据的值≠存储值的情况下输出“0”,在存储了规定值的情况下,无论输入数据是何值都输出该规定值。另一方面,用于实现神经网络电路的加算/应用功能的第2电路部基于输出“1”的第1电路部的总数与输出“0”的第1电路部的总数的差而输出“1”或“0”作为所述输出数据。由此,通过分别具备存储部和输出部的多个第1电路部来实现乘算功能,并且通过第2电路部来实现加算/应用功能,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现神经网络电路。
为了解决上述的课题,技术方案2记载的发明被构成为:在技术方案1记载的神经网络电路中,在输出“1”的所述第1电路部的所述总数与输出“0”的所述第1电路部的所述总数的所述差为预先规定的阈值以上的情况下,所述第2电路部将“1”作为所述输出数据而输出,在所述差小于所述阈值的情况下,所述第2电路部将“0”作为所述输出数据而输出。
根据技术方案2记载的发明,除本技术方案1记载的发明的作用之外,在输出“1”的第1电路部的总数与输出“0”的第1电路部的总数的差为预先规定的阈值以上的情况下,第2电路部将“1”作为输出数据而输出,在该差为阈值以下的情况下,第2电路部将“0”作为输出数据而输出。由此,能够进一步缩小电路规模以及与其对应的成本,并且能够高效地实现神经网络电路。
为了解决上述的课题,技术方案3记载的发明被构成为:在技术方案2记载的神经网络电路中,具备与多个所述输入数据相同数量的第1电路部,所述输入数据的数量以及所述第1电路部的数量是基于由神经网络电路建模的脑功能而预先设定的数量。
根据技术方案3记载的发明,除技术方案2记载的发明的作用之外,由于具备与多个输入数据相同数量的第1电路部,并且输入数据的数量以及第1电路部的数量是基于由神经网络电路建模的脑功能而预先设定的数量,因此能够高效地实现更精确地对脑功能进行建模的神经网络电路。
为了解决上述的课题,技术方案4记载的发明被构成为:具备m个(m为2以上的自然数)技术方案3记载的神经网络电路,其中被分别输入所述输入数据的所述第1电路部的数量为n(n为2以上的自然数),并且n个所述输入数据并行且共同地输入到各神经网络电路,并且从各所述神经网络电路分别输出所述输出数据。
根据技术方案4记载的发明,具备m个技术方案3记载的神经网络电路,其中第1电路部的数量为n,并且n个输入数据并行且共同地输入到各神经网络电路,并且从各神经网络电路分别输出输出数据。由此,能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现输入n位、输出m位的n×m神经网络集成电路。
为了解决上述的课题,技术方案5记载的发明被构成为:多个技术方案4记载的神经网络集成电路被串联连接,其中所述n与所述m相等,并且来自其中一个所述神经网络集成电路的所述输出数据被设为连接在该神经网络集成电路紧后的另一个所述神经网络集成电路中的所述输入数据。
根据技术方案5记载的发明,技术方案4记载的神经网络集成电路被串联连接,其中n与m相等,并且来自其中一个神经网络集成电路的输出数据被设为连接在该神经网络集成电路紧后的另一个神经网络集成电路中的输入数据。由此,能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现输入以及输出都是并行型的神经网络集成电路。
为了解决上述的课题,技术方案6记载的发明被构成为:具备k个(k为2以上的自然数)技术方案4记载的神经网络集成电路,并且所述n个所述输入数据并行且共同地输入到各所述神经网络集成电路,并且从各所述神经网络集成电路分别并行输出所述m个输出数据。
根据技术方案6记载的发明,具备k个技术方案4记载的神经网络集成电路,并且n个输入数据并行且共同地输入到各神经网络集成电路,并且从各神经网络集成电路分别并行输出m个输出数据。由此,能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现输入以及输出都是并行型且输出数据数量比输入数据数量多的神经网络集成电路。
为了解决上述的课题,技术方案7记载的发明具备:多个技术方案4记载的神经网络集成电路;以及开关部,用于将各所述神经网络集成电路以阵列状且相互连接,并且将对于各所述神经网络集成电路的所述输入数据以及所述输出数据进行切换,其中该开关部中的切换工作与所述脑功能对应而被预先设定。
根据技术方案7记载的发明,具备多个技术方案4记载的神经网络集成电路,并且通过将各神经网络集成电路以阵列状且相互连接的开关部,对于各神经网络集成电路的输入数据以及输出数据被进行切换。然后,开关部中的切换工作基于应对应的脑功能而既定。由此,能够大幅缩小对应的成本,并且能够高效地实现大规模的神经网络集成电路。
为了解决上述的课题,技术方案8记载的发明被构成为:在技术方案2记载的神经网络电路中,所述加权系数与由该神经网络电路建模的脑功能对应而被预先设定,所述存储部由第1存储部和第2存储部构成,所述第1存储部用于存储所述加权系数并向所述输出部输出,所述第2存储部用于存储与所述脑功能对应而被预先设定的所述规定值并向所述输出部输出,所述输出部在从所述第1存储部输出的所述加权系数与所述输入数据的值一致的情况下,在与所述输入数据的输入定时对应的定时输出“1”,在被输出的所述加权系数与所述输入数据的值不同的情况下,在与所述输入数据的输入定时对应的定时输出“0”,在从所述第2存储部输出所述规定值的情况下,在与所述输入数据的输入定时对应的定时输出该规定值。
根据技术方案8记载的发明,除了技术方案2记载的发明的作用之外,由于通过第1存储部、第2存储部以及第1电路部来实现对应脑功能且各1位的输入数据以及输出数据被分别输入输出的神经网络电路中的乘算功能,并且进一步通过第2电路部来实现该神经网络电路中的加算/应用功能,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现将人的脑功能进行建模的神经网络电路。
为了解决上述的课题,技术方案9记载的发明被构成为:在技术方案8记载的神经网络电路中,作为所述加算/应用功能中的加算功能,对于各所述乘算结果的加算结果应进一步相加倾向系数的情况下,该倾向系数被分开输入到与该倾向系数的绝对值相等的数量的任意的所述第1电路部,其中,所述倾向系数是对应于所述脑功能而被预先设定且是按各神经元表示作为该脑功能的倾向的整数,其绝对值为0以上且为所述输入数据的数量以下,该倾向系数分开而输入的所述第1电路部根据所述规定值将该倾向系数对于各所述乘算结果的加算结果的进一步的加算结果输出到所述第2电路部,在关于各所述第1电路部而将所述倾向系数的进一步的加算结果进行相加后的合计值为正或0时,所述第2电路部将“1”作为所述输出数据输出,在该合计值为负时,将“0”作为所述输出数据输出。
根据技术方案9记载的发明,除如技术方案8记载的发明的作用之外,在与脑功能对应的既定的倾向系数其对于各乘算结果的加算结果而应进一步被进行相加的情况下,该倾向系数被分开输入到与该倾向系数的绝对值相等的数量的任意的第1电路部。然后,根据上述规定值,该倾向系数对于各乘算结果的加算结果的进一步的加算结果从第1电路部被输出到第2电路部。由此,在关于各第1电路部而将倾向系数的进一步的加算结果进行相加后的合计值为正或0时,“1”作为输出数据从第2电路部输出,在该合计值为负时,“0”作为输出数据从第2电路部输出。由此,即使在应导入基于脑功能的既定的倾向系数的情况下,也能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现对应于人的脑功能的神经网络电路。
为了解决上述的课题,技术方案10记载的发明被构成为:在技术方案8记载的神经网络电路中,还具备:倾向系数存储部,用于存储一种倾向系数,所述倾向系数对应于所述脑功能而被预先设定且是按各神经元表示作为该脑功能的倾向的整数,并且其绝对值为0以上且为所述输入数据的数量以下,在根据所述规定值而对于来自各所述第1电路部的所述乘算结果的加算结果将所述倾向系数进一步进行相加后的合计值为正或0时,所述第2电路部将“1”作为所述输出数据而输出,在该合计值为负时,所述第2电路部将“0”作为所述输出数据而输出。
根据技术方案10记载的发明,除了技术方案8记载的发明的作用之外,存储了对应于脑功能的规定的倾向系数,在根据所述规定值,对于来自各第1电路部的乘算结果的加算结果而将倾向系数进一步进行相加后的合计值为正或0时,“1”从第2电路部作为输出数据而输出,在该合计值为负时,“0”作为输出数据而输出。由此,即使在应导入基于脑功能的既定的倾向系数的情况下,也能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现对应于人的脑功能的神经网络电路。
为了解决上述的课题,技术方案11记载的发明被构成为:在技术方案8记载的神经网络电路中,所述输入数据的数量为1,所述输出数据、所述第1存储部、所述第2存储部、所述第1电路部以及第2电路部各自的数量为与所述脑功能对应而预先被设定的2以上的数量,所述加权系数以及所述规定值分别为与所述脑功能对应而预先被设定的值,各所述第1电路部的所述输出部基于分别与各所述输出数据对应的所述加权系数和所述输入数据,将所述乘算结果按各所述输出数据而分别输出,并且在所述规定值为所述预先设定的值的情况下,在将为“1”的所述乘算结果的总数与为“0”的所述乘算结果的总数相减后的值为所述阈值以上时,各所述第2电路部将“1”作为所述输出数据而输出,在所述规定值为所述预先设定的值的情况下,在所述相减后的值小于所述阈值时,各所述第2电路部将“0”作为所述输出数据而输出。
根据技术方案11记载的发明,除了技术方案8记载的发明的作用之外,输入数据的数量为1,输出数据、第1存储部、第2存储部、第1电路部以及第2电路部各自的数量为与脑功能对应的既定的2以上的数量,加权系数以及规定值分别设为与脑功能对应的值。然后,各第1电路部基于分别与各输出数据对应的加权系数和输入数据,将乘算结果按各输出数据而分别输出,并且各第2电路在(为“1”的乘算结果的总数-为“0”的乘算结果的总数≥阈值)时,将“1”作为输出数据而输出,在(为“1”的乘算结果的总数-为“0”的乘算结果的总数<阈值)时,将“0”作为输出数据而输出。由此,由于通过各第1存储部、第2存储部以及各第1电路部按各输出数据来实现乘算功能,并且进一步通过各第2电路部按各输出数据来实现加算/应用功能,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现所谓的串行输入/并行输出型的神经网络电路。
为了解决上述的课题,技术方案12记载的发明被构成为:在技术方案8记载的神经网络电路中,所述输出数据以及所述第2电路部的数量分别为1,所述输入数据、所述第1存储部、所述第2存储部以及所述第1电路部各自的数量为与所述脑功能对应而预先被设定的2以上的数量,所述加权系数以及所述规定值分别为与所述脑功能对应的值,各所述第1电路部基于分别与各所述输入数据对应的所述加权系数和该各输入数据,将所述乘算结果按各该输入数据而分别输出,并且在所述规定值为所述预先设定的值的情况下,在将为“1”的所述乘算结果的总数与为“0”的所述乘算结果的总数相减后的值为所述阈值以上时,所述第2电路部将“1”作为所述输出数据而输出,在所述规定值为所述预先设定的值的情况下,在所述相减后的值小于所述阈值时,所述第2电路部将“0”作为所述输出数据而输出。
根据技术方案12记载的发明,除了技术方案8记载的发明的作用以外,输出数据以及第2电路部的数量分别为1,输入数据、第1存储部、第2存储部以及第1电路部各自的数量为与脑功能对应的预先被设定的2以上的数量,加权系数以及规定值分别为与脑功能对应而预先被设定的值。然后,各第1电路部基于分别与各输入数据对应的加权系数和该各输入数据,将各乘算结果按各输入数据而分别输出,并且第2电路部在(为“1”的乘算结果的总数-为“0”的乘算结果的总数≥阈值)时,将“1”作为输出数据而输出,在(为“1”的乘算结果的总数-为“0”的乘算结果的总数<阈值)时,将“0”作为输出数据而输出。由此,由于通过各第1存储部、各第2存储部以及各第1电路部按各输入数据来实现乘算功能,并且进一步通过一个第2电路部按各输入数据来实现加算/应用功能,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现所谓的并行输入/串行输出型的神经网络电路。
为了解决上述的课题,技术方案13记载的发明被构成为:具备技术方案11记载的神经网络电路、以及技术方案12记载的神经网络电路,从输入一个输入数据的技术方案11记载的所述神经网络电路输出的各输出数据分别被设为技术方案12记载的所述神经网络电路中的各输入数据,并且从技术方案12记载的所述神经网络电路输出一个输出数据。
根据技术方案13记载的发明,具备技术方案11记载的神经网络电路、以及技术方案12记载的神经网络电路,从输入一个输入数据的技术方案11记载的神经网络电路输出的各输出数据分别被设为技术方案12记载的神经网络电路中的各输入数据,并且从技术方案12记载的神经网络电路输出一个输出数据。由此,通过将本发明涉及的串行输入-并行输出型的神经网络电路与本发明涉及的并行输入-串行输出型的神经网络电路连接,能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现能够对应于多样的脑功能的神经网络电路。
为了解决上述的课题,技术方案14记载的发明被构成为:在技术方案13记载的神经网络集成电路中,在技术方案11记载的神经网络电路和技术方案12记载的所述神经网络电路之间还具备寄存器部,该寄存器部将从技术方案11记载的神经网络电路输出的各输出数据以一个基准时钟的量进行缓冲,并将其作为技术方案12记载的所述神经网络电路中的各输入数据而输出到技术方案12记载的该神经网络电路。
根据技术方案14记载的发明,除了技术方案13记载的发明的作用之外,通过在技术方案11记载的神经网络电路和技术方案12记载的所述神经网络电路之间具备的寄存器部,将从技术方案11记载的神经网络电路输出的各输出数据以一个基准时钟的量进行缓冲,并将其作为技术方案12记载的神经网络电路中的各输入数据而输出到技术方案12记载的该神经网络电路。由此,技术方案12记载的神经网络电路中的第2运算部的表观上的并行处理变为可能,并且能够高效地且高速化地实现能够对应于多样的脑功能的神经网络电路。
为了解决上述的课题,技术方案15记载的发明被构成为:多个技术方案13记载的神经网络集成电路串联而连接,并且来自一个该神经网络集成电路的一个所述输出数据被设为对于紧后级的该神经网络集成电路的一个所述输入数据。
根据技术方案15记载的发明,除了技术方案13记载的发明的作用之外,由于多个技术方案13记载的神经网络集成电路串联而连接,并且来自一个该神经网络集成电路的一个输出数据被设为对于紧后级的该神经网络集成电路的一个输入数据,因此能够高效地实现能够对应于更多样的脑功能的神经网络电路。
为了解决上述的课题,技术方案16记载的发明被构成为:具备多个技术方案13记载的神经网络集成电路,并且对于该多个技术方案13记载的神经网络集成电路的每一个,一个所述输入数据被共同地输入,所述输出数据分别单独从该多个技术方案13记载的神经网络集成电路一个一个地输出。
根据技术方案16记载的发明,除了技术方案13记载的发明的作用之外,由于一个输入数据对于多个技术方案13记载的神经网络集成电路的每一个共同地输入,并且输出数据分别单独从该多个技术方案13记载的神经网络集成电路一个一个地输出,因此能够高效地实现能够对应于更多样的脑功能的神经网络电路。
发明效果
根据本发明,用于实现神经网络电路的乘算功能的各个第1电路部具备:存储部,用于存储为“1”或“0”的加权系数、或者规定值的任意一个;以及输出部,在输入数据的值=存储值的情况下输出“0”,在输入数据的值≠存储值的情况下输出“0”,在存储了规定值的情况下,无论是任意值的输入数据都输出该规定值。另一方面,用于实现神经网络电路的加算/应用功能的第2电路部基于输出“1”的第1电路部的总数与输出“0”的第1电路部的总数的差而输出“1”或“0”作为输出数据。
因此,通过分别具备存储部和输出部的多个第1电路部来实现乘算功能,通过第2电路部来实现加算/应用功能,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现对应于人的脑功能的神经网络电路以及该集成电路。
附图说明
图1是用于说明第1实施方式涉及的神经网络的图,(a)是表示对一个神经元建模的单元的图,(b)是表示由多个单元的结合而构成的神经网络的状态的图。
图2是表示第1实施方式涉及的神经网络电路的图,(a)是表示与该神经网络电路相当的神经网络的图,(b)表示该神经网络电路的结构的框图,(c)是与该神经网络电路对应的真值表。
图3是表示第1实施方式涉及的神经网络电路的细节结构的图,(a)是表示该细节结构涉及的记忆单元的电路的一例的图,(b)是表示该细节结构的电路的一例的图。
图4是表示第1实施方式涉及的神经网络集成电路的第1例的图,(a)是表示与该第1例相当的神经网络的图,(b)是表示该第1例的结构的框图。
图5是表示第1实施方式涉及的神经网络集成电路的第2例的图,(a)是表示与该第2例相当的神经网络的图,(b)是表示该第2例的结构的框图。
图6是表示第1实施方式涉及的神经网络集成电路的第3例的图,(a)是表示与该第3例相当的神经网络的图,(b)是表示该第3例的结构的框图。
图7是表示第1实施方式涉及的神经网络集成电路的第4例的图,(a)是表示与该第4例相当的神经网络的图,(b)是表示该第4例的结构的框图,(c)是表示该第4例涉及的开关箱(switch box)的结构的一例的框图。
图8是表示第2实施方式涉及的神经网络集成电路的第1例的一部分的图,(a)是表示与该一部分相当的神经网络的图,(b)是表示该一部分的结构的框图,(c)是与该一部分对应的真值表。
图9是表示第2实施方式涉及的神经网络集成电路的第1例的图,(a)是表示与该第1例相当的神经网络的图,(b)是表示该第1例的结构的框图。
图10是表示第2实施方式涉及的神经网络电路的第1例的图,(a)是表示与该第1例相当的神经网络的图,(b)是表示该第1例的结构的框图。
图11是表示第2实施方式涉及的神经网络集成电路的第2例的图,(a)是表示与该第2例相当的神经网络的图,(b)是表示该第2例的结构的框图。
图12是表示第2实施方式涉及的神经网络集成电路的第3例的图,(a)是表示与该第3例相当的神经网络的图,(b)是表示该第3例的结构的框图。
图13是表示第2实施方式涉及的神经网络集成电路的第4例的图,(a)是表示该第4例的结构的框图,(b)是表示与该第4例相当的电路例的图。
图14是表示第2实施方式涉及的神经网络集成电路的第4例的细节结构的图,(a)是表示该第4例涉及的流水线寄存器(pipeline register)等的电路的一例的图,(b)是表示该第4例涉及的多数判定输入电路以及串行多数判定电路各自的一例的图,(c)是表示该第4例涉及的并行多数判定电路的一例的图,(d)是表示该第4例中的工作的时序图。
图15是表示第2实施方式涉及的神经网络集成电路的第5例的图,(a)是表示该第5例的结构的框图,(b)是表示该第5例涉及的控制部的细节结构的框图。
图16是表示第2实施方式涉及的神经网络集成电路的第6例等的结构的框图,(a)是表示该第6例的结构的框图,(b)是表示第2实施方式涉及的神经网络集成电路的第7例的结构的框图。
图17是用于说明变形方式涉及的神经网络的图,(a)是表示对变形方式涉及的一个神经元建模后的单元的图,(b)是表示变形方式涉及的倾向变量和输出数据的关系等的图。
图18是表示变形方式涉及的神经网络集成电路的细节结构的图,(a)是表示与该细节结构相当的电路的一例的图,(b)是表示作为该细节结构的多数判定输入电路以及串行多数判定电路各自的一例的图,(c)是表示作为该细节结构的并行多数判定电路的一例的图。
具体实施方式
接着,基于附图分别对本发明涉及的第1实施方式以及第2实施方式进行说明。另外,以下说明的第1实施方式等是对通过电子电路来实现了对人的脑功能建模的神经网络的神经网络电路应用了本发明的情况的实施方式等。
(I)第1实施方式
首先,利用图1至图7对本发明涉及的第1实施方式进行说明。;另外,图1是用于说明第1实施方式涉及的神经网络的图,图2是表示第1实施方式涉及的神经网络电路的图,图3是表示该神经网络电路的细节结构的图。此外,图4是表示第1实施方式涉及的神经网络集成电路的第1例的图,图5是表示该神经网络集成电路的第2例的图,图6是表示该神经网络集成电路的第3例的图,图7是表示该神经网络集成电路的第4例的图。
(A)关于神经网络
首先,利用图1来一般性地说明上述对脑功能建模的神经网络。
通常设为人脑中存在大量的神经元(神经细胞)。在脑中各神经元接收来自大量的其它的神经元的电信号,此外进一步地将电信号发送到大量的其它的神经元。然后,设为脑通过各神经元间的这些电信号的流动来进行各种各样的信息处理。此时,各神经元间的电信号的发送接收经由被称为突触(synapsis)的细胞而进行。然后,神经网络旨在试图将脑中的上述神经元间的电信号的发送接收进行建模并在计算机内实现脑功能。
更具体地,在神经网络中,如图1(a)所例示的那样,对于从外部输入的多个输入数据I1、输入数据I2、···、输入数据In(n为自然数。以下同样。)各自的乘算处理、加算处理以及激活函数的应用处理通过一个神经元NR来执行,并通过将其结果设为输出数据O,对于脑功能中的一个神经元的上述电信号的发送接收进行建模。另外,在以下说明中,将上述激活函数的应用处理仅称为“激活处理”。此时,在一个神经元NR中,通过将分别对应多个输入数据I1、输入数据I2、···、输入数据In各自而预先设定的(也就是既定的)加权系数W1、W2、···、加权系数Wn对于该输入数据I1、输入数据I2、···、输入数据In而分别进行乘算,从而执行上述乘算处理。此后,该神经元NR执行将对于各输入数据I1、输入数据I2、···、输入数据In的各个上述乘算处理的各结果进行加算的上述加算处理。然后,该神经元NR接着执行将既定的激活函数F应用于上述加算处理的结果的上述激活处理,并将其结果作为上述输出数据O而输出到其它一个或者多个神经元NR。若通过数式来表示上述的一系列的乘算处理、加算处理以及激活处理,则如图1(a)所示的式(1)。此时,将加权系数W1、加权系数W2、···、加权系数Wn分别对输入数据I1、输入数据I2、···、输入数据In进行乘算的乘算处理相当于神经元NR间的上述电信号的交换中的上述突触的作用。然后如图1(b)所例示,通过图1(a)中例示的一个神经元NR大量聚集并通过突触而相互连接,脑全体被建模为神经网络SS。另外,在以下的说明中,在说明对于输入数据I1至输入数据In或者输入数据Im(m为自然数。以下同样。)共同的事项的情况下,仅称为“输入数据I”。此外,同样地,在说明对于输出数据O1至On或者输出数据Om共同的事项的情况下,仅称为“输出数据O”。进一步同样地,在说明对于加权系数W1至Wn或着加权系数Wm共同的事项的情况下,仅称为“加权系数W”。
然后,以下说明的第1实施方式涉及的神经网络电路或者神经网络集成电路是通过利用上述非专利文献1或非专利文献2中记载的手法将利用图1说明的一般的神经网络进行二进制化的神经网络电路、或者神经网络集成电路建模的事物。
(B)关于第1实施方式涉及的神经网络电路
接着,关于第1实施方式涉及的神经网络电路,利用图2以及图3进行例示并说明。
如图2(a)所示,在与该神经网络电路相当的神经网络S中,对于一个神经元NR例如从4个其它的神经元NR分别输入1位的输入数据I,与其对应的输出数据O从该神经元NR输出。此时,输入数据I从其输出源的神经元NR来看为1位的输出数据O。此外,1位的输出数据O从其输出目的地神经元NR来看为1位的输入数据I。如上述那样,由于输入数据I以及输出数据O分别为1位,因此输入数据I的值以及输出数据O的值均为“0”或“1”。然后,与在图2(a)中被输入了4个输入数据I的神经元NR(在图2(a)中用阴影线表示)中执行的上述乘算处理等相当的上述式(1)是在上述式(1)中设n=4的情况下的式。即,上述神经网络S是并行多输入-一输出型的一级神经网络。
接着,将与图2(a)所示的神经网络S中用阴影线表示的神经元NR相当的第1实施方式涉及的神经网络电路的结构在图2(b)中表示为神经网络电路CS。该神经网络电路CS由各自分别与1位的输入数据I1至输入数据I4对应的4个记忆单元1和多数判定电路2构成。此时,各记忆单元1分别相当于本发明涉及的“第1电路部”的一例、“存储部的一例”以及“输出部”的一例。此外,上述多数判定电路2相当于本发明涉及的“第2电路部”的一例。在该结构中,各记忆单元1为将“1”或“0”,或者表示“NC(Not Connected(无连接))”的含义的规定值3个中任意一个作为存储值而存储,并且具有比较功能的3值的记忆单元。然后,各记忆单元1,将具有与对于各自的输入数据I的值、和各自的存储值对应的值的输出数据E1至输出数据E4分别输出到多数判定电路2。
在这里,作为记忆单元1的存储值之一的上述规定值所表示的上述“NC”为第1实施方式涉及的神经网络S中的两个神经元NR间无连接的状态。即,在该记忆单元1对应的两个神经元NR(即输入神经元和输出神经元)未连接的状态下,该记忆单元1的存储值被设定为上述规定值。另一方面,关于使记忆单元1预先存储其它的存储值(“1”或“0”)的哪一个,基于通过该记忆单元1对应的连接而连接的两个神经元NR间的该连接中的加权系数W而设定。在这里,使各记忆单元1预先存储什么样的存储值是基于将什么样的脑功能建模为神经网络S(更具体地,例如构成神经网络S的神经元NR间的连接状态等)等而预先设定。另外,在以下的说明中,在说明对于输出数据E1至En共同的事项的情况下,仅称为“输出数据E”。
然后,各记忆单元1中的上述存储值以及分别输入的输入数据I的值、与从各记忆单元1输出的输出数据E的值之间的关系为图2(c)中表示真值表的关系。即,各记忆单元1将该各记忆单元1的存储值与输入数据I的值的异或非作为输出数据E从该各记忆单元1输出。此外,在各记忆单元1的存储值为上述规定值的情况下,无论输入数据I为何值,该规定值都作为输出数据E而从该记忆单元1向多数判定电路2输出。另外,之后利用图3(a)对各记忆单元1的细节结构进行说明。
接着,多数判定电路2基于来自各记忆单元1的输出数据E的值,仅在值“1”的输出数据E的数量大于值“0”的输出数据E的数量的情况下输出值“1”的输出数据O,在除此之外的情况下输出值“0”的输出数据O。此时,所谓的值“1”的输出数据E的数量大于值“0”的输出数据E的数量的情况之外的情况具体是指从其中一个记忆单元1输出值“NC”的情况、或者来自各记忆单元1的值“1”的输出数据E的数量为值“0”的输出数据E的数量以下的情况的其中一种。另外,之后利用图3(b)对包含多数判定电路2以及各记忆单元1的神经网络电路CS的细节结构进行说明。
在这里,如上述那样,神经网络电路CS是对在图2(a)中用阴影线表示的神经元NR中的上述乘算处理、加算处理以及激活处理建模的电路。然后,来自各记忆单元1的作为上述异或非的输出数据E的输出与利用了上述加权系数W的上述乘算处理相当。此外,多数判定电路2作为对值“1”的输出数据E的数量与值“0”的输出数据E的数量进行比较的比较处理的前提,将值“1”的输出数据E的数量相加并算出其合计值,并且将值“0”的输出数据E的数量相加并算出其合计值。这些加算相当于上述加算处理。然后,在多数判定电路2中,对值“1”的输出数据E以及值“0”的输出数据E各自的数量的上述合计值进行比较,并且仅在从前者的数量减去后者的数量的值为预先设定的多数判定阈值以上的情况下,从多数判定电路2输出值“1”的输出数据O。另一方面,在除此之外的情况下,即在从值“1”的输出数据E的数量的合计值减去值“0”的输出数据E的数量的合计值的值小于多数判定阈值的情况下,从多数判定电路2输出值“0”的输出数据O。此时,在输出数据E为上述规定值的情况下,多数判定电路2不将该输出数据E与值“1”的输出数据E的数量以及值“0”的输出数据E的数量任意一个进行相加。
在这里,更具体地说明多数判定电路2中的利用了上述多数判定阈值的处理。另外,在图2例示的神经网络电路CS中,值“1”的输出数据E的数量和值“0”的输出数据E的数量的总数为“4”,但为了说明的明确化,对该总数为“10”的情况下的上述处理进行说明。
即,例如若设多数判定阈值为“0”,值“1”的输出数据E的数量和值“0”的输出数据E的数量均为“5”,则从值“1”的数据E的数量中减去值“0”的输出数据E的数量的值为“0”,其与该多数判定阈值相等。由此,在这种情况下,多数判定电路2输出值“1”的输出数据O。对此,若设多数判定阈值为“0”,值“1”的输出数据E的数量为“4”,值“0”的输出数据E的数量为“6”,则从值“1”的数据E的数量中减去值“0”的输出数据E的数量的值为“-2”,其小于该多数判定阈值。由此,在这种情况下,多数判定电路2输出值“0”的输出数据O。
另一方面,例如若设多数判定阈值为“-2”,值“1”的输出数据E的数量和值“0”的输出数据E的数量均为“5”,则从值“1”的输出数据E的数量中减去值“0”的输出数据E的数量的值“0”大于该多数判定阈值。由此,在这种情况下,多数判定电路2输出值“1”的输出数据O。对此,若设多数判定阈值为“-2”,值“1”的输出数据E的数量为“4”,值“0”的输出数据E的数量为“6”,则从值“1”的输出数据E的数量中减去值“0”的输出数据E的数量的值“-2”与多数判定阈值相等。由此,在这种情况下,多数判定电路2也输出值“1”的输出数据O。
以上具体说明的多数判定电路2中的处理相当于上述激活处理。如上所述,作为在图2(a)中用阴影线表示的神经元NR的各处理通过图2(b)所示的神经网络电路CS建模。
接着,利用图3(a)对各记忆单元1的细节结构进行说明。如图3(a)所示,各记忆单元1分别由晶体管T1至晶体管T14、反相器IV1至反相器IV4构成。另外,图3所示的各晶体管T1等的每一个由例如MOSFET(金属氧化物半导体场效应晶体管:Metal Oxide semiconductorField Effected Transistor)等构成。然后,这些元件通过与输入数据In相当的连接线LIn以及连接线LIn、与字(Word)信号相当的连接线W1以及连接线W2、和与匹配(match)信号相当的匹配线M以及反转匹配线/M而以图3(a)所示的方式连接,从而构成一个记忆单元1。此时,由晶体管T1以及晶体管T2、和反相器IV1以及反相器IV2构成例如作为SRAM(静态随机存取存储器:static random accessmemory)的一个存储器CL1,由晶体管T3以及晶体管T4、和反相器IV3以及反相器IV4构成例如作为SRAM的一个存储器CL2。此外,由晶体管T5至晶体管T9构成XNOR门G1,由晶体管T10至晶体管T14构成XNOR门G2
接着,利用图3(b)对包含多数判定电路2以及各记忆单元1的神经网络电路CS的细节结构进行说明。另外,图3(b)表示与图2(a)对应而输入数据I为4个(即,具备4个记忆单元1)的神经网络电路CS的细节结构。此外,在图3(b)例示的神经网络电路CS中,对上述多数判定阈值为“0”的情况进行说明。
如图3(b)所示,神经网络电路CS由4个记忆单元1、构成多数判定电路2的晶体管T20至晶体管T30(参照图3(b)虚线)构成。此时,如图3(b)中的单点划线所示,由晶体管T25至晶体管T28构成触发器型的感测放大器(flip-flop type sense amplifier)SA。然后,这些元件通过对4个记忆单元1共同的上述连接线W1以及连接线W2、和上述匹配线M以及反转匹配线/M、和与输出数据O相当的连接线LO以及连接线/LO而以图3(b)所示的方式连接,从而构成一个神经网络电路CS。此外,用于规定作为该神经网络电路CS的处理的预先设定的定时信号φ1、定时信号φ2以及定时信号/φ2、和定时信号φ3从外部输入到图3(b)所示的神经网络电路CS。此时,定时信号φ1分别输入到晶体管T20至晶体管T22的栅极端子,定时信号φ2以及定时信号/φ2分别输入到晶体管T29以及晶体管T30的栅极端子,定时信号φ3分别输入到晶体管T23以及晶体管T24的栅极端子。在以上的结构中,在基于定时信号φ1而分别被预充电的各记忆单元1的匹配线M和反转匹配线/M上,根据输入数据I的值和存储器CL1以及存储器CL2的存储值,被进行该预充电的电荷被抽出的定时不同。然后,感测放大器SA检测这些匹配线M或反转匹配线/M的哪一个更早抽出被进行了该预充电的电荷,并且进一步通过放大该匹配线M和反转匹配线/M之间的电压差,将该检测结果输出到连接线LO以及连接线/LO。在这里,连接线LO的值为“1”表示作为神经网络电路CS的输出数据O的值为“1”的含义。通过以上的结构以及工作,神经网络电路CS基于上述定时信号φ1等而执行将作为图2(a)中用阴影线表示的神经元NR的各处理进行建模的处理,并且输出上述输出数据O。
(C)关于第1实施方式涉及的神经网络集成电路的第1例
接着,利用图4对第1实施方式涉及的神经网络集成电路的第1例进行说明。另外,在图4中,关于与利用图2以及图3而说明的第1实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并省略详细的说明。
以下利用图4至图7而分别说明的第1实施方式涉及的神经网络集成电路是将多个利用图2以及图3说明的第1实施方式涉及的神经网络电路进行集成的集成电路。然后,这些神经网络集成电路是用于对由更多的神经元NR构成的复杂的神经网络进行建模的电路。
首先,对用于对图4(a)例示的神经网络S1进行建模的第1实施方式涉及的神经网络集成电路的第1例进行说明。该神经网络系统S1是通过对在图4(a)中用阴影线表示的m个各神经元NR,从n个神经元NR分别输出1位的输出数据O,从而从该用阴影线表示的神经元NR分别输出1位的输出数据O的神经网络。即,上述神经网络S1是并行多输入-并行多输出型的一级神经网络。在这里,在图4(a)中,虽然表示了各神经元NR全部通过输入信号I或输出信号O而连接的情况,但也可以根据试图建模的脑功能而各神经元NR的部分之间不连接。然后,这种情况通过作为与该未连接的神经元NR间的连接对应的记忆单元1的存储值而存储上述规定值来体现。另外,这一点在之后利用图5(a)、图6(a)或图7(a)而分别说明的神经网络的情况下也相同。
在对神经网络S1进行建模的情况下,设在利用图2以及图3说明的第1实施方式涉及的神经网络电路CS中,设1位输入数据I的数量为n个。此时,被输入该n个输入数据I的各神经网络电路CS是将在图4(a)中用阴影线表示的神经元NR的功能进行建模后的神经网络电路,分别执行乘算处理、加算处理以及激活处理。另外,在以下的利用了图4至图7的说明中,将被输入上述n个输入数据I的神经网络电路CS称为“神经网络电路CS1”、“神经网络电路CS2”···等。然后,作为第1实施方式涉及的神经网络集成电路的第1例,将m个被输入n个输入数据I的神经网络电路CS1等进行集成。
即,如图4(b)所示,作为第1实施方式的神经网络集成电路的第1例的神经网络集成电路C1,通过集成被分别共同输入各1位的n个输入数据I1至输入数据In的m个神经网络电路CS1至神经网络电路CSm而构成。然后,上述定时信号φ1等从定时生成电路TG共同地输入到神经网络电路CS1至神经网络电路CSm的每一个中。此时,定时生成电路TG基于预先设定的基准时钟信号CLK而生成上述定时信号φ1等,并输出到神经网络电路CS1至神经网络电路CSm。然后,神经网络电路CS1至神经网络电路CSm各自基于上述输入数据I1至输入数据In、和定时信号φ1等,分别输出各1位的输出数据O1、输出数据O2、···、输出数据Om
在具备以上说明的结构的神经网络集成电路C1中,通过对于m个神经元NR,从n个神经元NR分别输出输出数据O,从而从m个神经元NR输出合计m个输出数据O的图4(a)的神经网络S1被建模。
(D)关于第1实施方式涉及的神经网络集成电路的第2例
接着,利用图5对第1实施方式涉及的神经网络集成电路的第2例进行说明。另外,在图5中,关于与利用图2以及图3而说明的第1实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并省略详细的说明。
第1实施方式涉及的神经网络集成电路的第2例是用于对图5(a)例示的神经网络SS1进行建模的神经网络集成电路。该神经网络SS1与在利用图4(a)说明的神经网络S1中n=m的情况相当。即,神经网络SS1是通过对于图5(a)中用阴影线表示的3×n个神经元NR的各自,从相邻的列的(n个)神经元NR分别输出输出数据O,从而从图5(a)右端列的n个神经元NR分别输出输出数据O的神经网络。上述神经网络SS1是并行多输入-并行多输出型的多级神经网络。
将上述神经网络SS1进行建模的情况也与利用图4说明的神经网络S1同样地,在利用图2以及图3说明的第1实施方式涉及的神经网络电路CS中,设1位的输入数据为n个。此时,被输入该n个输入数据I的各神经网络电路CS是在将图5(a)中用阴影线表示的神经元NR的功能进行建模后的神经网络电路,分别执行乘算处理、加算处理以及激活处理。然后,作为第1实施方式涉及的神经网络集成电路的第2例,将被输入该n个输入数据I的神经网络电路CS11等串联连接而集成总计3×n个。
即,如图5(b)所示,在作为第1实施方式涉及的神经网络集成电路的第2例的神经网络集成电路CC1中,分别共同地输入各1位的n个输入数据I1至输入数据In的n个神经网络电路CS11至神经网络电路CS1n被集成而构成一个神经网络集成电路C1(参照图4(b))。然后,构成神经网络集成电路C1的神经网络电路CS11至神经网络电路CS1n各自输出各1位的输出数据O11至输出数据O1n,,这些共同地输入到下一级的n个神经网络电路CS21至神经网络电路CS2n。通过这些神经网络电路CS21至神经网络电路CS2n构成另一个神经网络集成电路C2。然后,构成神经网络集成电路C2的神经网络电路CS21至神经网络电路CS2n各自输出各1位的输出数据O21至输出数据O2n,这些共同地输入到下一级的n个神经网络电路CS31至神经网络电路CS3n。通过这些神经网络电路CS31至神经网络电路CS3n进一步构成神经网络集成电路C3。在这里,对于各神经网络电路CS11等,虽然与图4(a)所示的情况同样地共同输入上述定时信号φ1等,但为了说明的简化,在图5(b)中省略图示。然后,神经网络集成电路C1基于上述输入数据I1至输入数据In、和定时信号φ1等,分别生成输出数据O11、输出数据O12、···、输出数据O1n,并将这些共同输出到下一级的神经网络集成电路C2。接着,神经网络集成电路C2基于上述输出数据O11至输出数据O1n、和定时信号φ1等,分别生成输出数据O21、输出数据O22、···、输出数据O2n,并将它们共同输出到下一级的神经网络集成电路C3。最后,神经网络集成电路C3基于上述输出数据O21至输出数据O2n、和定时信号φ1等,分别生成最终的输出数据O31、输出数据O32、···、输出数据O3n并输出。
在具备以上说明的结构的神经网络集成电路CC1中,通过逐级地反复进行从n个神经元NR对下一级的n个神经元NR分别输出各1位的输出数据O,最终合计输出n个输出数据O的图5(a)的神经网络SS1被建模。
(E)关于第1实施方式涉及的神经网络集成电路的第3例
接着,利用图6对第1实施方式涉及的神经网络集成电路的第3例进行说明。另外,在图6中,关于与利用图2以及图3说明的第1实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并将省略详细的说明。
第1实施方式涉及的神经网络集成电路的第3例是用于将图6(a)例示的神经网络SS2进行建模的神经网络集成电路的例。该神经网络SS2由分别在图6(a)中用阴影线表示的m个神经元NR组成的多个组构成,并且是通过对于这些神经元NR的每一个,从共同的n个神经元NR(在图6(a)中用虚线表示)分别输出1位的输出数据O,从而从图6(a)中用阴影线表示的各神经元NR输出各1位、合计m×组数个的输出数据O的神经网络。在该神经网络SS2的情况下,在图6(a)中用阴影线表示的各神经元NR分别接收各1位且相同数量(n个)的输出数据O。即,上述的神经网络SS2是并行多输入-并行多输出型的一级神经网络。
将上述神经网络SS2进行建模的情况也与利用图4说明的神经网络S1同样地,在利用图2以及3说明的第1实施方式涉及的神经网络电路CS中,设1位的输入数据I为n个。此时,被输入该n个输入数据I的每个神经网络电路CS是将在图6(a)中用阴影线表示的神经元NR的功能进行建模后的神经网络电路,分别执行上述乘算处理、加算处理以及激活处理。然后,作为第1实施方式涉及的神经网络集成电路的第3例,将被输入该n个输入数据I的神经网络电路CS11等并联连接而集成上述组的数量。
即,如图6(b)所示,在作为第1实施方式涉及的神经网络集成电路的第3例的神经网络集成电路CC2中,通过集成分别共同地输入各1位的n个输入数据I1至输入数据In的m个神经网络电路CS11至CS1m而构成一个神经网络集成电路C1(参照图4(b))。此外,通过集成分别并行且共同地输入相同的n个输入数据I1至输入数据In的m个神经网络电路CS21至神经网络电路CS2m而构成另外一个神经网络集成电路C2(参照图4(b))。此后,同样地通过集成分别并行且共同地输入n个输入数据I1至输入数据In的m个神经网络电路而分别构成在图6(b)中省略图示的其它的神经网络集成电路。在这里,对于各神经网络电路CS11等,与利用图5说明的情况同样地,被共同地输入与图4(a)所示的情况相同的上述定时信号φ1等,但为了说明的简化,在图6(b)中省略了图示。然后,神经网络集成电路C1基于输入数据I1至输入数据In、和定时信号φ1等而分别生成各1位的输出数据O11、输出数据O12、···、输出数据O1m并输出。另一方面,神经网络集成电路C2基于相同的输入数据I1至输入数据In、和定时信号φ1等而分别生成各1位的输出数据O21、输出数据O22、···、输出数据O2m并输出。此后,省略图示的其它的神经网络集成电路也分别输出m个输出数据。
在具备以上说明的结构的神经网络集成电路CC2中,通过从m×组数的量的神经元NR并行地分别输出输出数据O,最终输出合计m×组数的量的输出数据O的图6(a)的神经网络SS2被建模。
(F)关于第1实施方式涉及的神经网络集成电路的第4例
最后,利用图7对第1实施方式涉及的神经网络集成电路的第4例进行说明。另外,在图7中,关于与利用图2以及图3而说明的第1实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并将省略详细的说明。
第1实施方式涉及的神经网络集成电路的第4例是用于对图7(a)例示的神经网络SS3进行建模的神经网络集成电路的例子。该神经网络SS3是对于目前为止说明的第1实施方式涉及的神经网络S1等进一步提高了关于神经元NR的数量以及神经元NR间的连接的方式的自由度的神经网络。另外,在图7(a)中例示了属于逐级地交换各1位的输出数据O(输入数据I)的神经元组(参照图7(a)虚线)的神经元NR的数量互不相同的神经网络SS3。
在将上述神经网络SS3进行建模的情况下,在利用图2至图3说明的第1实施方式涉及的神经网络电路CS中,设1位的输入数据I例如为n个。此时,被输入该n个输入数据I的各神经网络电路CS是将图7(a)所示的各神经元NR的功能进行建模的神经网络电路,分别执行上述乘算处理、加算处理以及激活处理。然后,作为第1实施方式涉及的神经网络集成电路的第4例,具有多个分别具备了多个被输入该n个输入数据I的神经网络电路CS11等的神经网络集成电路,并且通过后述的多个开关以及切换它们的开关盒将该各神经网络集成电路连接而集成。
即,如图7(b)所示,在作为第1实施方式涉及的神经网络集成电路的第4例的神经网络集成电路CC3中,通过集成分别共同地输入各1位的n个输入数据I1至输入数据In的n个神经网络电路CS11至神经网络电路CS1n而构成一个神经网络集成电路C1(参照图4(b))。然后,同样地,例如集成m个神经网络电路CS21至神经网络电路CS2m而构成一个神经网络集成电路C2,集成神经网络电路CS31至神经网络电路CS3p(p为2以上的自然数。以下同样。)而构成一个神经网络集成电路C3,集成神经网络电路CS41至神经网络电路CS4q(q为2以上的自然数。以下相同。)而构成一个神经网络集成电路C4。此外,神经网络集成电路C1至神经网络集成电路C4的每一个如图7(b)所例示的那样,被设为经由开关SW1至开关SW4而能够相互进行各1位的输入数据I以及输出数据的O的交换。然后,神经网络集成电路C1至神经网络集成电路C4之间的输入数据I以及输出数据O的交换的方式(即,神经网络集成电路C1至神经网络集成电路C4之间的连接方式)经由开关SW1至开关SW4通过开关盒SB1至开关盒SB4而切换。此时,上述开关SW1至开关SW4以及开关盒SB1至开关盒SB4与本发明涉及的“开关部”的一例相当。
接着,利用图7(c)对上述开关盒SB1至开关盒SB4的细节结构进行说明。另外,由于开关盒SB1至开关盒SB4任一个具备相同的结构,因此在图7(c)中将这些统一以开关盒SB来说明。
如图7(c)所示,神经网络集成电路CC3中的各1位的输入数据I或者输出数据O的连接方式、以及在结果上控制有效的神经元NR的数量的开关盒SB通过选择器M1至选择器M5以图7(c)所示的方式连接而构成。在该图7(c)所示的开关盒SB的结构中,与上述的输入数据I对应的信号是从图7(c)中左侧输入的信号,与上述输出数据O对应的信号是分别从图7(c)中的上方以及下方输入的信号。然后,对于神经网络集成电路C1至神经网络集成电路C4的输入数据I等的切换,通过被分别从外部输入用于控制该切换的切换控制信号Sc1至切换控制信号Sc5的选择器M1至选择器M5来执行。
如以上说明的那样,生成与输入数据I对应的输出数据O而输出的图7(a)的神经网络SS3通过由具备图7(c)所示的结构的开关盒SB1至开关盒SB4来切换各开关SW1至开关SW4的、图7(b)所示的结构的神经网络集成电路CC3而被建模。
如以上分别说明的那样,根据第1实施方式涉及的神经网络电路CS以及神经网络集成电路C1等的结构以及工作,如图2以及图3例示的那样,基于应对应的脑功能而其数量为既定的记忆单元1的每一个将表示“NC”的含义的规定值或者“1”或“0”的任意一个作为存储值而存储,在1位的输入数据I的值与存储值相等的情况下,对应输入数据I的输入而输出“1”,在输入数据I的值与存储值不相等的情况下,对应输入数据I的输入而输出“0”,在存储了上述规定值的情况下,无论输入什么样的值的输入数据I都输出该规定值。然后,多数判定电路2基于输出值“1”的记忆单元1的总数和输出值“0”的记忆单元1的总数的差而将“1”或“0”作为输出数据O输出。作为更具体的一例,多数判定电路2在输出值“1”的记忆单元1的总数大于输出值“0”的记忆单元1的总数的情况下,将值“1”作为输出数据O输出,在输出值“1”的记忆单元1的总数为输出值“0”的记忆单元1的总数以下的情况下,将“0”作为输出数据O输出。由此,在记忆单元1中进行作为神经网络电路的乘算处理,并通过一个多数判定电路2来进行作为神经网络电路的加算处理以及激活处理,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现神经网络电路。
此外,如图4(b)例示的那样,具备m个分别与各自为1位的n个输入数据对应且记忆单元1的数量为n的神经网络电路CS、并且n个输入数据I对于各神经网络电路CS并行且共同地输入、并且使输出数据O分别从各神经网络电路CS输出的情况,能够将图4(a)例示的神经网络S1进行建模且对于输入为n个、输出为m个的n×m的神经网络电路C1能够大幅缩小电路规模以及与其对应的成本并且能够高效地实现。进一步地,在这种情况下,即使图4(a)中用阴影线表示的m个神经元NR、和对于该m个分别输出输出数据O的n个神经元NR之间存在多样的连接的模式,也能够通过在神经网络集成电路C1中作为与神经元NR之间无连接的情况对应的记忆单元1的存储值而利用上述规定值,从而能够更高效地实现神经网络集成电路C1。进一步地,在图4所例示的情况下,由于能够使n个输入数据I对于各神经网络CS并行且共同地输入、使基于该输入的m个输出数据O并行地输出,因此与必须将输入数据I以及输出数据O依次地输入输出的情况相比,处理可大幅高速化。
进一步地,如图5所例示的那样,将上述“n”与上述“m”相等的神经网络集成电路C1等串联连接、并且将来自一个神经网络集成电路C1(或神经网络集成电路C2)的输出数据O设为与该神经网络集成电路C1(或神经网络集成电路C2)的紧后连接的其它的神经网络集成电路C2(或神经网络集成电路C3)中的输入数据I的情况下,对于输入以及输出均为并行型的神经网络集成电路CC1能够大幅缩小电路规模以及与其对应的成本并且能够高效地实现。
此外,如图6所例示的那样,n个输入数据I对于各神经网络集成电路CS并行且共同地输入、并且从各神经网络集成电路CS将m个输出数据O分别并行地输出的情况,对于输入以及输出均为并行型且输出数据O的数量大于输入数据I的数量的神经网络集成电路CC2能够大幅缩小电路规模以及与其对应的成本并且能够高效地实现。
此外,如图7所例示的那样,在具备多个神经网络集成电路C1等、并且通过将各神经网络集成电路C1等以阵列状且相互连接的开关SW1等而切换对于各神经网络集成电路C1等的输入数据I以及输出数据O的情况下,若开关SW1等中的切换工作基于应对应的脑功能而既定,则对于神经网络集成电路CC3能够大幅缩小对应的成本并且能够高效地实现。
(II)第2实施方式
接着,利用图8至图16对本发明涉及的第2实施方式进行说明。另外,图8以及图9是分别表示第2实施方式涉及的神经网络集成电路的第1例的图,图10是表示第2实施方式涉及的神经网络电路的第1例的图,图11是表示第2实施方式涉及的神经网络集成电路的第2例的图。此外,图12是表示该神经网络集成电路的第3例的图,图13是表示该神经网络集成电路的第4例的图,图14是表示该第4例的细节结构的图,图15是表示第2实施方式涉及的神经网络集成电路的第5例的图,图16是表示该神经网络集成电路的第6例等的结构的框图。
以下说明的第2实施方式通过与利用图1至图7而进行上述说明的神经网络S等的建模的结构或者手法不同的结构或者手法来试图将该神经网络S等进行建模。
(A)关于第2实施方式涉及的神经网络集成电路的第1例
首先,利用图8以及图9对第2实施方式涉及的神经网络集成电路的第1例进行说明。另外,图8是表示进行作为该第1例的上述乘算处理的该第1例的一部分的图,图9是表示该第1例整体的图。此时,乘算处理与本发明涉及的“乘算功能”的一例相当。
如图8(a)所例示的那样,在由该第1例的一部分建模的网络S’中,从一个神经元NR输入1位的输出数据O(换言之,输入数据I)。然后,分别与成为输入数据I的输出目的地的未图示的多个其它的神经元对应的不同的加权系数W1至W4中的一个被乘以该输入数据I,并作为输出数据E1至E4而对于上述未图示的其它的神经元分别输出。然后,此时的输出数据E与输入数据I同样为1位的信号。由此,图8所示的输入数据I的值、和各加权系数W的值以及输出数据E的值均为“0”或“1”的其中一个。
接着,将与第2实施方式涉及的神经网络集成电路的第1例中的图8(a)所示的网络S’相当的部分的结构在图8(b)表示为网络电路CS’。该网络电路CS’是由各自分别与图8(a)所示的输出数据E1至输出数据E4对应的4组记忆单元10以及记忆单元11、和各自分别与输出数据E4(换言之,上述未图示的其它的神经元的输入数据I)对应的4个多数判定输入电路12构成。此时,由一个记忆单元10和一个记忆单元11组成的记忆单元对的数量以及与这些对应的多数判定输入电路12的数量(图8所例示的情况下总共为4个)与作为第2实施方式涉及的神经网络集成电路的第1例而期望的输出数据O的数量相等。另外,在以下的图8的说明中,将输出数据O的数量的程度的上述记忆单元对统一称为“记忆单元块15”(参照图8(b)中虚线)。此外,记忆单元10与本发明涉及的“第1存储部”的一例相当,记忆单元11与本发明涉及的第2存储部的一例相当,多数判定输入电路12与本发明涉及的“第1电路部”的一例相当。
在以上的结构中,各记忆单元块15内的记忆单元10分别存储基于包含网络电路CS’的第2实施方式涉及的神经网络集成电路的第1例应对应的脑功能而预先设定的1位的加权系数W。对此,各记忆单元块15内的记忆单元11分别存储基于上述脑功能而预先设定的1位的连接有无信息。在这里,该连接有无信息与上述第1实施方式中的记忆单元1的存储值“NC”相当,是用于表示第2实施方式涉及的神经网络中的两个神经元NR之间为存在连接状态、还是为不存在该连接的状态的其中一个的存储值。另外,使各记忆单元10以及记忆单元11预先存储什么样的存储值例如也可以基于作为包含网络S’的第2实施方式涉及的神经网络集成电路的第1例而将什么样的脑功能进行建模等而预先设定。
然后,各记忆单元10将各自的存储值作为加权系数W1、加权系数W2、加权系数W3以及加权系数W4而分别输出到多数判定输入电路12。此时,各记忆单元10将各自的存储值作为加权系数W1至加权系数W4而同时输出到多数判定输入电路12。另外,该同时输出的结构在以下的利用图9至图16分别说明的神经网络电路以及神经网络集成电路中的各记忆单元10中也是相同的。另一方面,各记忆单元11也将各自的存储值作为连接有无信息C1、连接有无信息C2、连接有无信息C3以及连接有无信息C4而分别输出到多数判定输入电路12。此时,各记忆单元11将各自的存储值作为连接有无信息C1至连接有无信息C4而同时输出到多数判定输入电路12。此外,各记忆单元11对于来自上述各记忆单元10的存储值的输出,例如将其向前或向后推移一个周期而同时将各自的存储值输出到多数判定输入电路12。另外,该同时输出的结构以及来自各记忆单元10的存储值的输出的定时的关系在以下利用的图9至图14而分别说明的神经网络电路以及神经网络集成电路中的各记忆单元11中也是相同的。进一步地,在以下的说明中,在说明对于连接有无信息C1、连接有无信息C2、连接有无信息C3、···共同的事项的情况下,仅称为“连接有无信息C”。
另一方面,来自图8(b)中未图示的其它的节点NR(参照图8(a))的1位的输入数据I被共同输入到多数判定输入电路12的每一个。然后,各多数判定输入电路12将从对应的记忆单元11输出的上述连接有无信息直接作为连接有无信息C1至连接有无信息C4而分别输出。
除此之外,各多数判定输入电路12算出从对应的记忆单元10输出的加权系数W1、加权系数W2、加权系数W3以及加权系数W4与上述输入数据I的异或非(XNOR),并且分别将其作为上述输出数据E1、输出数据E2、输出数据E3以及输出数据E4而输出。此时,对应的记忆单元11的存储值(加权系数W)、输入数据I的值、和从多数判定输入电路12输出的输出数据E的值之间的关系为如图8(c)中表示真值表的关系。另外在图8(c)中还记载了作为算出上述异或非(XNOR)的前提的异或(XOR)。
在这里,比较与利用图2说明的第1实施方式涉及的神经网络电路CS对应的真值表(参照图2(c))和上述图8(c)所示的真值表。此时,在将记忆单元10中的存储值以及输入数据I的值分别设为与图2(c)所示的真值表的数据相同的情况下,图8(b)所示的输出数据E的值与图2(b)所示的输出数据E的值相同。由此,图8(b)所示的网络电路CS’是通过与图2(b)所示的神经网络电路CS中的上述乘算处理相同的逻辑而将图8(a)所示的神经网络S’中的上述乘算处理进行建模后的电路。即,在多数判定输入电路12中算出从各记忆单元10输出的每一个存储值(加权系数W)与输入数据I之间的异或,与上述乘算处理相当。如上所述,通过图8(b)所示的网络电路CS’,图8(a)所示的网络S’中的乘算处理被建模。
接着,利用图9对第2实施方式涉及的神经网络集成电路的第1例的整体进行说明。另外,在图9中,关于与利用图8说明的第2实施方式涉及的网络电路相同的结构部件,赋予相同的部件序号并省略详细的说明。
利用图9对其整体进行说明的第2实施方式涉及的神经网络集成电路的第1例是将多个利用图8说明的第2实施方式涉及的网络电路CS’进行集成后的集成电路。在第2实施方式涉及的神经网络集成电路的第1例中,除了与该网络电路CS’相当的上述乘算处理之外,还执行上述加算处理以及上述激活处理。此时,该加算处理以及激活处理与本发明涉及的“计算/应用功能”的一例相当。
首先,利用图9(a)对通过第2实施方式涉及的神经网络集成电路的第1例而被建模的神经网络的整体进行说明。图9(a)所示的该神经网络S1’包含m个神经元NR的量的利用图8而说明的网络S’。在该神经网络S1’中,对于图9(a)中用阴影线表示的n个神经元NR的每一个,从分别构成上述网络S’的m个神经元NR分别输出1位的输出数据O(换言之,输出数据I)。然后由此,各输出数据O变为输出数据E而输入到上述用阴影线表示的n个神经元NR的每一个,并且输出数据O一个一个地、合计n个并行地从该用阴影线表示的神经元NR输出。即,上述神经网络S1’是串行(m)输入-并行(n)输出型的一级神经网络。
将上述神经网络S1’建模后的第2实施方式涉及的神经网络集成电路的第1例为图9(b)所示的神经网络集成电路C1’。该神经网络集成电路C1’具备m个分别包含n个上述记忆单元对以及多数判定输入电路12的第2实施方式涉及的神经网络电路CS’(参照图8),并且与各多数判定输入电路12以及记忆单元对对应地具备n个串行多数判定电路13。此时,串行多数判定电路13与本发明涉及的“第2电路部”的一例相当。然后,如图9(b)所示,由n×m个上述记忆单元对(换言之,m个记忆单元块15)构成记忆单元阵列MC1。此外,在神经网络集成电路C1’中,图9(b)所示的记忆单元阵列MC1中的横向一行(m个)的记忆单元对共用一个多数判定输入电路12。另外,上述定时信号φ1等被共同地分别输入到记忆单元阵列MC1、各多数判定输入电路12以及各串行多数判定电路13,但为了说明的简化,在图9(b)中省略图示。
在以上的结构中,从构成各神经网络电路CS’的记忆单元块15的记忆单元10,关于一个记忆单元块15中包含的各记忆单元10是同时地、且关于m个记忆单元块15是依次地(即,以串行形式),分别输出所述加权系数W。然后,将这些加权系数W与通过对应的定时而以串行形式被输入的m个输入数据I(各1位的输入数据I)的上述异或在,上述共有的多数判定输入电路12中分时地进行运算,并将结果作为输出数据E而以串行形式输出到对应的串行多数判定电路13。另一方面,从构成各神经网络电路CS’的记忆单元块15的记忆单元11,关于一个记忆单元块15中包含的各记忆单元11是同时地、且关于m个记忆单元块15是依次地(即,以串行形式)分别输出上述连接有无信息C。然后,这些连接有无信息C经由上述共享的多数判定输入电路12而以与各输入数据I的输入定时对应的串行形式被输出到对应的串行多数判定电路13。另外,来自各记忆单元块15的上述各加权系数W的输出定时的方式、以及来自各记忆单元块15的上述各连接有无信息C的输出定时的方式的每一个在利用以下的图10至图14而分别说明的神经网络集成电路中的各记忆单元11中也相同。此外,在图9(b)中,为了作为附图的明确化以及该说明的简化,将从记忆单元10输出的上述加权系数Wn、和从与其对应的记忆单元11输出的上述连接有无信息Cn结合起来用一根实线来表示。这一点在以下说明的图11至图14中相同。
接着,从各多数判定输入电路12分别输入输出数据E以及连接有无信息C的n个串行多数判定电路13分别关于在相同的定时被输入的连接有无信息C表示“有连接”的最大m个输出数据E,将值“1”的该输出数据E的数量相加而算出其合计值,并且将值“0”的输出数据E的数量相加而算出其合计值。这些加算与上述加算处理相当。然后,各串行多数判定电路13分别对值“1”的输出数据E以及值“0”的输出数据E各自的数量的上述合计值进行比较,仅在从前者的数量减去后者的数量后的值为与第1实施方式涉及的上述多数判定阈值同样地预先设定的多数判定阈值以上的情况下,输出值“1”的输出数据O。另一方面,在除此以外的情况下,即从值“1”的输出数据E的数量的合计值减去值“0”的输出数据E的数量的合计值后的值小于上述多数判定阈值情况下,各串行多数判定电路13分别输出值“0”的输出数据O。这些各串行多数判定电路13中的处理与上述激活处理相当,并且各输出数据O为1位。在这里,在相同的定时输出的上述连接有无信息C表示“无连接”的情况下,串行多数判定电路13针对值“1”的输出数据E的数量以及值“0”的输出数据E的数量哪一个都不将输出数据E进行相加。然后,各串行多数判定电路13配合输入数据I被输入的定时而反复通过上述的各处理输出1位的输出数据O。此时的输出数据O在结果上从各串行多数判定电路13并行地输出。在这种情况下,输出数据O的总数为n个。如上所述,与图9(a)中用阴影线表示的一个神经元NR对应的上述乘算处理、加算处理以及激活处理分别通过图9(b)所示的记忆单元阵列MC1中的横向一行量的记忆单元对、和与这些对应的多数判定输入电路12以及串行多数判定电路13而执行。
如以上说明的那样,对于图9(a)中用阴影线表示的n个神经元NR从m个神经元NR分别输出1位的输出数据O、通过这些从该n个神经元NR输出合计n个输出数据O的神经网络S1’通过具备图9(b)所示的结构的神经网络集成电路C1’而被建模。
更具体地,根据与人的脑功能对应且被分别输入输出各1位的输入数据I以及输出数据O的神经网络集成电路C1’的结构,由于通过记忆单元10、记忆单元11以及多数判定输入电路12执行上述乘算处理,通过串行多数判定电路13执行上述加算处理以及激活处理,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现与人的脑功能对应的神经网络S1’。
此外,根据上述神经网络集成电路C1’的结构,输入数据I的数量为1,,输出数据O、记忆单元10、记忆单元11、多数判定输入电路12以及串行多数判定电路13各自的数量被设为基于应对应的脑功能的既定的2以上的数量,加权系数W以及连接有无信息C分别被设为与脑功能对应的值。然后,各多数判定输入电路12按各输出数据O分别生成分别与各输出数据O对应的加权系数W和输入数据I的异或,各串行多数判定电路13在(作为值“1”的输出数据E的总数-作为值“0”的输出数据E的总数≧多数判定阈值)时,将值“1”作为输出数据O输出,在(作为值“1”的输出数据E的总数-作为值“0”的输出数据E的总数<多数判定阈值)时,将值“0”作为输出数据O输出。由此,由于通过各记忆单元10、各记忆单元11以及各多数判定输入电路12按各输出数据O执行乘算处理,进一步通过各串行多数判定电路13按各输出数据O执行加算处理以及激活处理,因此,能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现所谓的串行输入-并行输出型的神经网络S1’。
(B)关于第2实施方式涉及的神经网络电路的第1例
接着,利用图10对第2实施方式涉及的的神经网络电路的第1例进行说明。
如图10(a)例示的那样,与该第1例相当的神经网络的S基本上与图2(a)例示的第1实施方式涉及的神经网络S的结构相同。然而,在图10(a)所示的例子中,对于图10(a)中用阴影线表示的一个神经元NR,从其它的3个神经元NR并行地输入1位的输入数据I(从该其它的神经元NR来看的话为输出数据O),并且与其对应的输出数据O以串行形式从该神经元NR输出一个。此时的输出数据O也与各输入数据I同样为1位的信号。由此,图10所示的输入数据I的值以及输出数据O值均为“0”或“1”。然后,与图10(a)所示的神经元NR中执行的上述乘算处理等相当的上述式(1)是在上述式(1)中设为n=3的情况下的式子。即,上述神经网络S是并行输入-串行输出型的一级神经网络。
接着,将与图10(a)中用阴影线表示的神经元NR相当的第2实施方式涉及的神经网络电路的第1例的结构在图10(b)表示为神经网络电路CCS’。与该神经元NR相当的第2实施方式涉及的神经网络电路CCS’由各自分别与图10(a)例示的输入数据I对应的3组记忆单元10以及记忆单元11、和被输入各输入数据I的并行多数判定电路20构成。此时,由一个记忆单元10和一个记忆单元11构成的记忆单元对的数量(图10例示的情况下为总共3个)与期望作为图10(a)所示的神经网络S的输入数据I的数量相同。另外,在以下的图10的说明中,输入数据I的数量的上述记忆单元对分别被表示为记忆单元块15(参照图10(b)虚线)。
在上述的结构中,各记忆单元块15内的记忆单元10分别存储基于神经网络电路CCS’应对应的脑功能而预先设定的1位的加权系数W。相对于此,各记忆单元块15内的记忆单元11分别存储基于上述脑功能而预先设定的1位的连接有无信息。在这里,由于该连接有无信息是与利用图8以及图9而说明的第2实施方式涉及的神经网络电路的第1例中的连接有无信息Cn相同的信息,因此省略详细的说明。此外,使各记忆单元10以及记忆单元11预先存储什么样的存储值也可以例如基于作为图10(a)所示的神经网络S将什么样的脑功能进行建模等而预先设定。
然后,各记忆单元10在与图8(b)所示的各记忆单元10相同的定时分别将各自的存储值作为加权系数W1、加权系数W2以及加权系数W3输出到并行多数判定电路20。另一方面,各记忆单元11也在与图8(b)所示的各记忆单元11相同的定时将作为各自的存储值的连接有无信息C分别输出到并行多数判定电路20。
另一方面,如上所述的那样,输入数据I1、输入数据I2以及输入数据I3(各1位)被并行输入到并行多数判定电路20。然后,并行多数判定电路20进行包含与利用图9说明的一组多数判定输入电路12以及串行多数判定电路13相同的工作的工作(即,上述乘算处理、上述加算处理以及上述激活处理)。具体地,并行多数判定电路20首先在对应的连接有无信息C表示“有连接”的情况下,关于分别为1位的各输入数据I,对该各输入数据和与其对应的加权系数W的上述异或而进行运算。接着,并行多数判定电路20关于各上述运算结果而将值“1”的该运算结果的数量相加并算出该合计值,并且将值“0”的运算结果的数量相加并算出该合计值。然后,并行多数判定电路20对值“1”的该运算结果以及值“0”的该运算结果各自的数量的上述合计值进行比较,仅在从前者的数量减去后者的数量后的值为与第1实施方式涉及的上述多数判定阈值同样预先设定的多数判定阈值以上的情况下,将值“1”的输出数据O以串行形式输出。另一方面,除此之外的情况下,即从值“1”的输出数据E的数量的合计值减去值“0”的输出数据E的数量的合计值后的值小于上述多数判定阈值的情况下,并行多数判定电路20将值“0”的输出数据O以串行形式输出。在该情况下,输出数据O为1位。在这里,在对应的连接有无信息C表示“无连接”的情况下,并行多数判定电路20不进行上述异或的运算。另外,也可以构成为关于全部的输入数据I而暂且进行各输入数据I与对应的加权系数W的上述异或的运算,在对应的连接有无信息C表示“无连接”的情况下,不将该运算结果与值“1”的运算结果的数量以及值“0”的运算结果的数量的任何一个进行相加。然后,并行多数判定电路20按并行输入的各输入数据I的数量来反复进行通过上述的各处理以串行形式输出1位的输出数据O。通过以上的各处理,图10(b)所示的神经网络电路CCS’为将图10(a)中用阴影线表示的神经元NR中的上述乘算处理、加算处理以及激活处理进行建模后的电路。
(C)关于第2实施方式涉及的神经网络集成电路的第2例
接着,利用图11对第2实施方式涉及的神经网络集成电路的第2例进行说明。另外,在图11中,关于与利用图10说明的第2实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并省略详细的说明。
利用图11说明的第2实施方式涉及的神经网络集成电路的第2例是集成了多个利用图10说明的第2实施方式涉及的神经网络电路CCS’的集成电路,其用于将由更多的神经元NR构成的复杂的神经网络进行建模。
首先,利用图11(a)对由第2实施方式涉及的神经网络集成电路的第2例建模的神经网络进行说明。图11(a)所示的该神经网络S2’的结构为:对于图11(a)中用阴影线表示的m个神经元NR的每一个,从n个神经元分别并行输入1位的输出数据O(从m个神经元NR来看的情况下为输入数据I),并且与这些对应的输出数据O以串行形式从该神经元NR输出。此时的输出数据O也与各输入数据I同样为1位的信号。由此,图11所示的输入数据I的值以及输出数据O的值均为“0”或“1”的其中一个。即,上述神经网络S2’为并行输入-串行输出型的一级神经网络。
对上述神经网络S2’进行建模的第2实施方式涉及的神经网络集成电路的第2例为图11(b)所示的神经网络集成电路C2’。该神经网络集成电路C2’具备m个分别各包含n个上述记忆单元对的第2实施方式涉及的神经网络电路CCS’(参照图10),并且具备上述并行多数判定电路20。然后,如图11(b)所示,记忆单元阵列MC2由n×m个上述记忆单元对(换言之,m个记忆单元块15)构成。此外,在神经网络集成电路C2’中,在图11(b)所示的记忆单元阵列MC2中的横向一行(m个)的记忆单元对中共享一个并行多数判定电路20。另外,虽然上述定时信号φ1等共同地分别输入到记忆单元阵列MC2以及并行多数判定电路20,但为了说明的简化而在图11(b)中省略了图示。
在以上的结构中,从构成各自的神经网络电路CCS’的记忆单元块15的记忆单元10,上述加权系数W在与图9(b)所示的各记忆单元10以及各记忆单元块15相同的定时被输出到并行多数判定电路20。另一方面,构成各自的神经网络电路CCS’的记忆单元块15的记忆单元11,上述连接有无信息C在与图9(b)所示的各记忆单元11以及各记忆单元块15相同的定时被输出到并行多数判定电路20。。
然后,并行多数判定电路20基于从记忆单元阵列MC2输出的加权系数W以及连接有无信息C、和与这些对应的输入数据I,关于记忆单元阵列MC2中的横向一行(m个)而分别进行利用了连接有无信息C表示“有连接”的加权系数W与输入数据I的上述异或的运算处理、基于其运算结果的值“1”的运算结果以及值“0”的运算结果各自的数量的加算处理、基于该加算结果的上述合计数的比较处理(参照图10(b))、以及基于其比较结果的输出数据O的生成处理。此外,并行多数判定电路20关于各输入数据I,按每一个记忆单元块15以串行形式执行关于上述横向一行的运算处理、加算处理、比较处理以及生成处理,并作为各自的执行结果的输出数据O以串行形式输出。在这里,在对应的连接有无信息C表示“无连接”的情况下,并行多数判定电路20不进行上述运算处理、加算处理、比较处理以及生成处理。
如以上说明的那样,对于图11(a)中的用阴影线表示的m个神经元NR,从n个神经元NR分别输出输出数据O,并且通过这些,1位的输出数据O从该m个神经元NR以串行形式被输出的神经网络S2’通过具备图11(b)所示的结构的神经网络集成电路C2’而被建模。
更具体地,根据神经网络集成电路C2’的结构,输出数据O以及并行多数判定电路20的数量分别为1,输入数据I、记忆单元10以及记忆单元11各自的数量被设为基于了应对应的脑功能的既定的2以上的数量,加权系数W以及连接有无信息C各自被设为与脑功能对应的值。然后,并行多数判定电路20将分别与各输入数据I对应的加权系数W和该各输入数据I的异或按每一个输入数据I来生成,并且进一步在(为值“1”的异或的总数-为值“0”的异或的总数≧多数判定阈值)时,将值“1”作为输出数据O输出,在(为值“1”的异或的总数-为值“0”的异或的总数<多数判定阈值)时,将值“0”作为输出数据O输出。由此,由于通过各记忆单元10、各记忆单元11以及一个并行多数判定电路20而按输入数据的每一个执行乘算处理,并且进一步通过并行多数判定电路20按输入数据I的每一个执行加算处理以及激活处理,因此能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现所谓的并行输入-串行输出型神经网络S2’。
(D)关于第2实施方式的神经网络集成电路的第3例
接着,利用图12对第2实施方式涉及的神经网络集成电路的第3例进行说明。另外,在图12中,关于与利用图8以及图10说明的第2实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并省略详细的说明。
利用图12说明的第2实施方式涉及的神经网络集成电路的第3例是将利用图9说明的第2实施方式涉及的神经网络集成电路C1’、和利用图11说明的第2实施方式涉及的神经网络集成电路C2’进行组合后的集成电路。在这里,上述神经网络集成电路C1’如上述的那样,是将串行输入-并行输出型的一级神经网络S1’进行建模后的神经网络电路。另一方面,上述神经网络集成电路C2’如上述那样,是将并行输入-串行输出型的一级神经网络S2’进行建模后的神经网络电路。然后,将这些进行组合后的第2实施方式涉及的神经网络集成电路的第3例作为整体是将串行输入-并行处理-串行输出型的多级神经网络进行建模后的神经网络集成电路,并且进一步用于将由多个神经元NR构成的复杂的神经网络进行建模。
首先,利用图12(a)对通过第2实施方式涉及的神经网络集成电路的第3例而被建模的神经网络进行说明。图12(a)所示的该神经网络S1-2为以下神经网络:对于图12(a)中用45度的阴影线表示的n个神经元NR的每一个,从m个神经元NR分别以串行形式输出1位的输出数据O,并且在用该45度的阴影线表示的神经元NR与图12(a)中用135度的阴影线表示的m个神经元NR之间进行输出数据O以及输入数据I的交换,在结果上,输出数据O分别以串行形式而从用135度的阴影线表示的m个神经元NR输出。另外,上述神经网络S1-2作为整体,与将多个利用图4说明的神经网络S1进行排列后的神经网络相当。
将上述神经网络S1-2进行建模后的第2实施方式涉及的神经网络集成电路的第3例为图12(b)所示的神经网络集成电路C1-2。该神经网络集成电路C1-2具备如下结构:将利用图9说明的神经网络集成电路C1’的各输出数据O(并行输出的各输出数据O)设为向利用图11说明的神经网络集成电路C2’中的并行多数判定电路20的输入数据(即图11(b)所示的输入数据I),由此,上述输出数据O以串行形式从该并行多数判定电路20输出。像这样,通过将上述的神经网络集成电路C1’和神经网络集成电路C2’进行组合,从而在结果上,图9(a)例示的神经网络S1’和图11(a)例示的神经网络S2’被组合后的上述神经网络S1-2被建模。另外,神经网络S1-2包含的上述神经网络集成电路C1’以及神经网络集成电路C2’各自的工作与利用图9以及图11分别说明的工作相同。另外,在图12(b)所示的神经网络集成电路C1-2中,与并行多数判定电路20对应的串行多数判定电路16通过由虚线表示的一组多数判定输入电路12以及串行多数判定电路13而分别构成。
如以上说明的那样,图12(a)所示的神经网络S1-2通过具备图12(b)所示的串行输入-并行处理-串行输出型的结构的神经网络集成电路C1-2被建模
更具体地,根据神经网络集成电路C1-2的结构,具备神经网络集成电路C1’和神经网络集成电路C2’,从被输入一个输入数据的神经网络集成电路C1’输出的各输出数据O分别被设为神经网络集成电路C2’中的各输入数据I,并且一个输出数据O从神经网络集成电路C2’输出。由此,通过将神经网络集成电路C1’与神经网络集成电路C2’连接,从而能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现能与多样的脑功能对应的神经网络S1-2。
(E)关于第2实施方式涉及的神经网络集成电路的第4例
接着,利用图13以及图14对第2实施方式涉及的神经网络集成电路的第4例进行说明。在图13以及图14中,关于与利用图9以及图11和图12而分别说明的第2实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并省略详细的说明。
利用图13说明的第2实施方式涉及的神经网络集成电路的第4例如图13(a)所示的那样,是具备以下结构的神经网络集成电路C1-3:在利用图12说明的第2实施方式涉及的神经网络集成电路C1-2中,使流水线寄存器21介于构成神经网络集成电路C1-2的上述神经网络集成电路C1’和神经网络集成电路C2’之间。该流水线寄存器21与本发明涉及的“寄存器部”的一例相当。然后,流水线寄存器21临时存储与记忆单元阵列MC1的位宽相当的数量的数据,并且其输出工作受来自外部的使能信号EN的控制。该使能信号EN是与预先设定的基准时钟信号中的偶数基准时钟相当的定时信号。然后,神经网络集成电路C1-3如图13(b)所示的那样,作为整体,具备如下结构:使并行运算器PP介在神经网络集成电路C1’中的记忆单元阵列MC1和神经网络集成电路C2’中的记忆单元阵列MC2之间,该并行运算器PP中例如串行地输入m个1位的输入数据I,并且输入上述使能信号EN,并且例如串行地输出m个与输入数据I和使能信号EN对应的1位的输出数据O。此时,记忆单元阵列MC1以及记忆单元阵列MC2分别具备例如256位宽、512字(Word)的量的规模,并且分别输入地址指定用的例如8位的地址数据AD。然后,该情况下的并行运算器PP由256位的量的多数判定输入电路12以及串行多数判定电路13、上述流水线寄存器21、和与256位对应的并行多数判定电路20构成。
在以上的结构中,神经网络S1-3包含的上述神经网络集成电路C1’以及神经网络集成电路C2’各自的工作与利用图9以及图11说明的工作相同。另一方面,流水线寄存器21例如在以下定时临时存储从神经网络集成电路C1’的记忆单元阵列MC1读出的输出数据O:基于从神经网络集成电路C2’的记忆单元阵列MC2读出的加权系数W以及连接有无信息C而正在并行多数判定电路20中进行输出数据O的生成/输出处理的定时。然后,在基于上述加权系数W以及连接有无信息C的并行多数判定电路20的处理完成的定时,将从记忆单元阵列MC1读出并存储的输出数据O输出到并行多数判定电路20,并且使其进行基于此的输出数据O的生成/输出处理。通过该处理,看起来能够使来自记忆单元阵列MC1的输出数据O的读出与来自记忆单元阵列MC2的加权系数W以及连接有无信息C的读出同时进行,在结果上,相对于利用图12说明的神经网络S1-2,能够实现大约两倍的处理速度。
接着,利用图14对图13所示的神经网络集成电路C1-3中的尤其是并行运算器PP的细节结构进行说明。
首先,图14(a)所示的并行运算器PP由串行多数判定电路16、与记忆单元阵列MC1的位宽相当的上述流水线寄存器21、和上述并行多数判定电路20构成,其中,该串行多数判定电路16由与记忆单元阵列MC1的位宽相当的数量的上述多数判定输入电路12以及上述串行多数判定电路13组成,上述并行多数判定电路20经由输出触发器电路22而输出输出数据O。在该结构中,如图14的(a)所示,流水线寄存器21由与记忆单元阵列MC1的位宽相当的输出寄存器21U以及输入寄存器21L构成,上述使能信号EN被输入到输入寄存器21L。然后,输入寄存器21L在使能信号EN被输入的定时将存储(锁存)在其中的数据输出到并行多数判定电路20,并且在该定时将存储在输出寄存器21U中的数据抽出(即,使其移位)并存储(锁存)。此外,由此,输出寄存器21U在通过输入寄存器21L而该数据被抽出了的定时存储(锁存)下一个输出数据O。通过反复进行以上的输入寄存器21L以及输出寄存器21U的工作,实现作为上述的流水线寄存器21的工作。
接着,利用图14(b)对多数判定输入电路12以及串行多数判定电路13的细节结构进行说明。如图14(b)所示,一个串行多数判定电路16内的多数判定输入电路12由异或非电路12A、和掩码触发器(mask flip-flop)电路12B构成。在该结构中,来自记忆单元阵列MC1的加权系数W、和1位的输入数据I被输入到异或非电路12A,并且它们的异或非的结果作为上述输出数据E而输出到串行多数决电路13。此外,掩码触发器电路12B被输入来自记忆单元阵列MC1的连接有无信息C、和上述使能信号EN,并且在使能信号EN被输入的定时将上述连接有无信息C输出到串行多数决电路13。然后,串联多数决电路13通过基于了上述输出数据E以及上述连接有无信息C的上述的工作而生成输出数据O并将其输出到流水线寄存器21的输出寄存器21U。此时,能够通过将上述既定的多数判定阈值保持在串行多数决电路13内的未图示的寄存器内并对其进行参照,从而实现作为上述的串行多数决电路13的工作。
接着,利用图14(c)对上述并行多数判定电路20的细节结构进行说明。如图14(c)所示,并行多数判定电路20由与输入数据I的数量的相同数量的异或非电路20A以及掩码触发器电路20B、和并行多数决电路20C构成。在该结构中,来自记忆单元阵列MC2的1位的加权系数W、和来自流水线寄存器21的输入寄存器21L的1位的输出数据O被输入到异或非电路20A,并将这些异或的结果输出到并行多数决电路20C。此外,掩码触发器电路20B被输入来自记忆单元阵列MC2的连接有无信息C、和上述使能信号EN,并且在使能信号EN被输入的定时将上述连接有无信息C输出到并行多数决电路20C。然后,并行多数决电路20C将基于了分别来自异或非电路12A以及掩码触发器电路20B的输出的上述工作仅按来自记忆单元阵列MC1的输出数据O的数量(图13以及图14例示的情况为256)进行反复,并经由输出触发器电路22以串行形式作为输出数据O而输出,上述异或非电路12A以及掩码触发器电路20B与来自记忆单元阵列MC2的一组加权系数W以及连接有无信息C对应。然后,能够通过将上述既定的多数判定阈值保持在并行多数决电路20C内的未图示的寄存器内并对其进行参照,从而实现作为上述的并行多数决电路20的工作。
此时,通过上述的流水线寄存器21的工作,在并行运算器PP中,例如如图14(d)所示,若对于来自记忆单元阵列MC1的256位的量的输出数据O的处理(在图14(d)中表示为“记忆单元块15U1”)结束,则接下来对于来自记忆单元阵列MC1的下一个256位的量的输出数据O的处理(在图14(d)中表示为“记忆单元块15U2”)、和对于来自记忆单元阵列MC2的256位的量的加权系数W以及连接有无信息C的处理(在图14(d)中表示为“记忆单元块15L1”)看起来同时并行地被执行。然后,若对于与记忆单元块15U2对应的输出数据O和与记忆单元块15L1对应的加权系数W以及连接有无信息C的处理结束,则接下来对于来自记忆单元阵列MC1的进一步下一个256位的量的输出数据O的处理(在图14(d)中表示为“记忆单元块15U3”)、和对于来自记忆单元阵列MC2的下一个256位的量的加权系数W以及连接有无信息C的处理(在图14(d)中表示为“记忆单元块15L2”)看起来同时并行地被执行。之后,对于分别来自记忆单元阵列MC1以及记忆单元阵列MC2的256位的量的输出数据O和加权系数W以及连接有无信息C,依次且同时执行并行的处理。
另外,图14(b)所示的多数判定输入电路12以及串行多数判定电路13的细节结构、和图14(c)所示的并行多数判定电路20的细节结构是以以下的情况为前提的结构:来自图8之后所示的各记忆单元11的上述连接有无信息C的输出定时比来自图8之后所示的各记忆单元10的上述加权系数W的输出定时例如早一个周期。吸收该输出定时的偏差是图14(b)以及图14(c)分别所示的掩码触发器电路12B以及掩码触发器电路20B的功能。另一方面,也能够设上述加权系数W的输出定时和上述连接有无信息C的输出定时为同时且并行。然后,在这种情况下,作为多数判定输入电路12以及并行多数判定电路20而不需要图14(b)以及图14(c)分别所示的掩码触发器电路12B以及掩码触发器电路20B。
如以上说明的那样,根据图13以及图14所示的神经网络集成电路C1-3,能够以大约两倍的处理速度将图12(a)所示的神经网络S1-2进行建模。另外,利用图14说明的串行多数判定电路16的细节结构也能够被应用为利用图12说明的神经网络集成电路C1-2中包含的串行多数判定电路16的细节结构。
更具体地,根据神经网络集成电路C1-3,通过在神经网络集成电路C1’和神经网络集成电路C2’之间具备的流水线寄存器21,将从神经网络集成电路C1’输出的各输出数据O按一个基准时钟的量进行缓冲,并且作为神经网络集成电路C2’中的各输入数据I而输出到该神经网络集成电路C2’。由此,神经网络集成电路C2’中的并行多数判定电路20其看上去的并行处理变为可能,并且能够高效且高速化地实现能与多样的脑功能对应的神经网络S1-2。
(F)关于第2实施方式涉及的神经网络集成电路的第5例
接着,利用图15对第2实施方式涉及的神经网络集成电路的第5例进行说明。另外,在图15中,关于与利用图13以及图14而分别说明的第2实施方式涉及的神经网络电路相同的结构部件,赋予相同的部件序号并省略详细的说明。
利用图15说明的第2实施方式涉及的神经网络集成电路的第5例如图15(a)所示,例如具备4个利用图13以及图14说明的第2实施方式涉及的神经网络集成电路C1-3,并且是具备了由控制部CT控制它们的工作的神经网络集成电路CP。更具体地,神经网络集成电路CP如图15(a)所示,由集成在存储块MA上的4个神经网络集成电路C1-3、与神经网络集成电路C1-3对应的4个输入选择器IS、输入控制用的FIFO(先入先出(First In FirstOut))形式的存储器M1、输出控制用的FIFO形式的存储器M2、控制部CT、和总线B构成。
在该结构中,1位的输入数据I经由通过写入选通WS控制的存储器M1而以串行形式输出到总线B。由此,各神经网络集成电路C1-3的每一个经由对应的输入选择器IS以串行形式读取输入数据I并实施上述的处理,并且生成1位的输出数据O并以串行形式输出到总线B。然后,来自各神经网络集成电路C1-3的输出数据O经由输入选择器IS而被读入到存储器M2。之后,该被读入的输出数据O经由通过读出选通RS控制的存储器M2而输出到外部。此时,控制单元CT基于来自外部的执行信号RN来生成分别被发送到各神经网络集成电路C1-3的记忆单元阵列MC1以及记忆单元阵列MC2的地址数据AD以及使能信号EN(参照图13)、和起始信号ST,并输出到各神经网络集成电路C1-3。
接着,利用图15(b)对上述控制部CT的细节结构进行说明。
如图15(b)所示,控制部CT由增序计数器251至增序计数器255、循环计数器26、分别与增序计数器251至增序计数器255对应的寄存器271至寄存器275、以及与循环计数器26对应的寄存器27m构成。
在该结构中,循环计数器26基于上述执行信号RN和存储在寄存器27m的计数值来生成上述起始信号ST,并且分别输出到各神经网络集成电路C1-3以及增序计数器251至增序计数器255。由此,增序计数器251生成以未图示的FIFO型的输入存储器和最初的神经网络集成电路C1-3的记忆单元阵列MC1为目的地的地址数据AD以及使能信号EN,并输入到该输入存储器和最初的神经网络集成电路C1-3的记忆单元阵列MC1。接着,增序计数器252生成以最初的神经网络集成电路C1-3的记忆单元阵列MC2以及第2神经网络集成电路C1-3的记忆单元阵列MC1为目的地的地址数据AD以及使能信号EN,并输出到该最初的神经网络集成电路C1-3的记忆单元阵列MC2以及第2神经网络集成电路C1-3的记忆单元阵列MC1。接着,增序计数器253生成以第2神经网络集成电路C1-3的记忆单元阵列MC2以及第3神经网络集成电路C1-3的记忆单元阵列MC1为目的地的地址数据AD以及使能信号EN,并输出到该第2的神经网络集成电路C1-3的记忆单元阵列MC2以及第3神经网络集成电路C1-3的记忆单元阵列MC1。接着,增序计数器254生成以第3神经网络集成电路C1-3的记忆单元阵列MC2以及第4神经网络集成电路C1-3的记忆单元阵列MC1为目的地的地址数据AD以及使能信号EN,并输出到该第3的神经网络集成电路C1-3的记忆单元阵列MC2以及第4神经网络集成电路C1-3的记忆单元阵列MC1。最后,增序计数器255生成以第4神经网络集成电路C1-3的记忆单元阵列MC2以及未图示的FIFO型的输出存储器为目的地的地址数据AD以及使能信号EN,并输出到该第4的神经网络集成电路C1-3的记忆单元阵列MC2以及输出存储器。由此,各神经网络集成电路C1-3基于上述起始信号ST、上述地址数据AD以及使能信号EN,通过例如图14(d)例示的方式以串行形式而执行上述的工作,最终输出数据O经由存储器M2而输出。另外,在应变更应建模的神经网络的方式(例如,神经元NR的数量或它们之间的连接方式等)的情况下,控制部CT通过变更上述地址AD以及使能信号EN的内容或者输出目的地,从而使对应于该方式的变更而变更神经网络集成电路CP的工作。
如以上说明的那样,根据图15所示的神经网络集成电路CP,能够进一步提高大规模的神经网络的结构的自由度并对其进行建模。
(G)关于第2实施方式涉及的神经网络集成电路的第6例等
接着,利用图16对第2实施方式涉及的神经网络集成电路的第6例以及第7例进行说明。另外,在图16中,关于与利用图12说明的第2实施方式涉及的神经网络电路C1-2相同的结构部件,赋予相同的部件序号并省略详细的说明。
首先,利用图16(a)对第2实施方式涉及的神经网络集成电路的第6例进行说明。该第6例如图16(a)所示,例如具备3个利用图12说明的第2实施方式涉及的神经网络集成电路C1-2,并且是具备它们被串联连接的结构的神经网络集成电路。此时,神经网络集成电路C1-2如上所述,是将串行输入-并行处理-串行输出型的多级神经网络进行建模后的神经网络集成电路。此外,图16中所示的结构是通过与利用图5说明的第1实施方式对应的方式而将上述神经网络集成电路C1-2串联连接后的神经网络集成电路。由此,在这种情况下,一个神经网络集成电路C1-2的输出数据的O的数量(以串行形式被输出的输出数据O的数量)需要与连接到下一级的神经网络集成电路C1-2的输入数据I的数量(以串行形式被输出的输入数据I的数量)相当。
接着,利用图16(b)对第2实施方式涉及的神经网络集成电路的第7例进行说明。该第7例如图16(b)所示,例如具备3个利用图12说明的第2实施方式涉及的神经网络集成电路C1-2,并且是具备它们通过共同的输入数据I而被并联连接的结构的神经网络集成电路。该图16(b)所示的结构是通过与利用图6说明的第1实施方式对应的方式而将上述神经网络集成电路C1-2并联连接后的神经网络集成电路。由此,在这种情况下,关于如图16(a)所示的神经网络集成电路的情况的输出数据O以及输入数据I各自的位数没有限制。
如以上说明的那样,根据图16所示的各神经网络集成电路,能够进一步将大规模的神经网络进行建模。
更具体地,根据图16(a)所示的各神经网络集成电路,由于多个神经网络集成电路C1-2被串联连接,并且来自一个神经网络集成电路C1-2的一个输出数据O被设为向紧后一级的神经网络集成电路C1-2的一个输入数据I,因此能够高效地实现能与更多样的脑功能对应的神经网络。此外,根据图16(b)所示的各神经网络集成电路,由于一个输入数据I被共同输入到多个神经网络集成电路C1-2的每一个,并且从该多个神经网络集成电路C1-2分别单独一个一个地输出的输出数据O,因此能够高效地实现能与更多样的脑功能对应的神经网络。
如以上分别说明的那样,根据第2实施方式涉及的神经网络电路CCS’以及神经网络集成电路C1-2等的结构以及工作,与第1实施方式涉及的神经网络电路CS以及神经网络集成电路C1等的结构以及工作同样地,能够大幅缩小电路规模以及与其对应的成本,并且高效地实现神经网络电路。
(III)变形方式
接着,利用图17以及图18对将本发明涉及的上述第1实施方式以及第2实施方式进行变形后的变形方式进行说明。另外,图17是用于说明变形方式涉及的神经网络的图等,图18是表示变形方式涉及的神经网络集成电路的细节结构的图。
相对于作为上述第1实施方式以及第2实施方式而说明其建模的神经网络,作为将脑功能更一般地进行建模的手法,以下说明的变形方式新追加“倾向系数”的概念。另外,在以下的说明中,关于与利用图1以及图14说明的结构中包含的部件相同的部件等,赋予相同的部件等的序号并省略详细的说明。
首先,利用图17对追加上述倾向系数的概念而进行建模后的神经网络进行说明。
在上述第1实施方式以及第2实施方式中说明的神经网络的神经元NR中,在该神经元NR中执行对于从外部输入的多个输入数据I的每一个的上述乘算处理、上述加算处理以及上述激活处理,并将其结果设为了输出数据O。相对于此,在变形方式涉及的神经网络中,对于各输入数据I的上述乘算处理以及上述加算处理的结果,进一步将基于通过该神经网络被建模的脑功能而预先设定的、按每一个神经元来表示作为该脑功能的倾向的上述倾向系数进行相加。然后,在变形方式涉及的神经网络中,将上述激活处理应用于该倾向系数的加算结果,并将其结果作为变形方式涉及的输出数据而输出。即,在变形方式涉及的神经网络的情况下,“加算处理”包含对于上述第1实施方式以及第2实施方式各自涉及的神经网络中的加算处理进一步增加上述倾向系数的加算处理的情况。该变型方式涉及的倾向系数如上述那样,是按每一个神经元来表示作为脑功能的倾向且预先设定的系数,其绝对值是被输入到该神经元的输入数据的数量n以下的任意的整数。在这里,上述“倾向”例如是指在作为建模的对象的脑功能中,作为每一个神经元的调整功能而认可其存在的、脑功能等的倾向。进一步地,上述倾向系数有时通常被称为“偏离值(Bias value)”。作为该倾向系数的具体的值,与关于该神经元的上述倾向对应而按每一个神经元被预先设定为上述输入数据I的数量以下的整数。更具体地,例如,若设3个输入数据I被输入到一个神经元,则作为上述倾向系数能取值的值为“-3”至“3”的7个(包含“0”)。在这里,倾向系数为“0”的情况为上述的第1实施方式以及第2实施方式涉及的神经网络(参照图1(a))。
然后,若通过数式来表示作为上述的变形方式涉及的神经网络的一系列的乘算处理、加算处理(包括倾向系数的加算处理。以下在变形方式中相同)以及激活处理,则为图17(a)所示的式(2)。此时,与第1实施方式以及第2实施方式的情况同样地将各加权系数W分别与各输入数据I相乘的乘算处理,与变形方式涉及的神经元NRR间的电信号的交换中的突触的作用相当。然后,如图17(a)例示的那样,将激活函数F应用于变形方式涉及的加算处理后的值全体并输出输出数据O的情况与变形方式涉及的激活处理相当。
另外,在通过电路的形式来实现变形方式涉及的倾向系数Bn对于输入数据I和加权系数W的各乘算结果的加算结果的进一步的加算处理的情况下,在以下说明的变型方式中,将“1”作为分割单位来分割(分解)该倾向系数Bn,将对上述各乘算结果的每一个相加或者相减“1”的处理,针对与倾向系数Bn的值相等的数量的乘算结果而进行。即,在例如倾向系数Bn的值为“2”的情况下,将“1”与图17(a)例示的例如输入数据I1和加权系W1的乘算结果进行相加,并且将“1”与输入数据I2和加权系W2的乘算结果也进行相加,并使得包含这些而应用激活函数F。此外,在例如倾向系数Bn的值为“-3”的情况下,从图17(a)所示的例如输入数据I1和加权系W1的乘算结果以及输入数据I2和加权系W2的乘算结果中分别减去“1”,进一步地,从输入数据I3和加权系W3的乘算结果中也减去“1”,并使得包含这些而应用激活函数F。此时,对于哪一个乘算结果进行“1”的加算或者减算与被建模的脑功能对应而被预先设定。
在这里,在通过电路的形式来实现变形方式涉及的加算处理等的情况下,上述连接有无信息C的含义(定义)与上述第1实施方式以及上述第2实施方式变得不同。即,如图17(b)所示,在变形方式涉及的倾向系数Bn的值为“0”的情况下,与上述第1实施方式以及上述第2实施方式的结构相当。然后,在这种情况下,即使变形方式涉及的神经元NRR之间,仅在关于该神经元NRR连接有无信息C表示“有连接”(图17(b)中被设为“1”)的情况下,对应的输入数据I和加权系数W的乘算结果被输入到一方的神经元NRR(参照图17(b)最上段以及从上起第2段)。此时,上述激活处理后的输出数据的值为“0”或“1”。然后,被提供给该神经元NRR中的、与第1实施方式以及第2实施方式相同的加算处理以及激活处理。
相对于此,在变形方式涉及的倾向系数Bn不为“0”的情况下,关于将该倾向系数Bn分割后的结果进行加算或者减算的对象的乘算结果(输入数据I和加权系数W的乘算结果),在连接有无信息C被设为“1”(即表示“有连接”)的情况下,作为将为正的值的倾向系数Bn分解后的值的“1”被“加算”到该乘算结果,并且被输入到一方的神经元NRR(参照图17(b)的最下段)。另一方面,在连接有无信息C被设为“0”(即表示“无连接”)的情况下,作为将负的值的倾向系数Bn分解后的值的“-1”被加算(即“1”被减算)到上述乘算结果,并且被输入到一方的神经元NRR(参照从图17(b)下方起第2段)。在这种情况下,上述激活处理后的输出数据的值为“-2”或“0”(倾向系数Bn为负的值的情况。参照从图17(b)下方起第2段),或者为“2”或“0”(倾向系数Bn为正的值。参照图17(b)最下段)。然后,被提供给作为该神经元NRR中的变形方式的加算处理以及激活处理。
接着,参照图14并且利用图18来说明将变形方式应用于图13所示的神经网络集成电路C1-3的情况下的、尤其是并行运算器(参照图13标号PP)的细节结构。
首先,如图18(a)所示,变形方式涉及的并行运算器PPP由串行多数判定电路16’、与神经网络集成电路C1-3相同的流水线寄存器21、和变形方式涉及的并行多数判定电路20’,其中,该串行多数判定电路16’由与记忆单元阵列MC1的位宽相当的数量的变形方式涉及的多数判定输入电路12以及上述串行多数判定电路13组成,该变形方式涉及的并行多数判定电路20’经由与神经网络集成电路C1-3相同的输出触发器电路22而将输出数据O输出。在该结构中,流水线寄存器21具备与利用图14(a)说明的情况相同的结构,并且实现相同的工作。此外,在变形方式涉及的并行运算器PPP中,不同于加权系数W和连接有无信息C在相差一个周期的定时被输入的第2实施方式涉及的并行运算器PP的情况,加权系数W、连接有无信息C以及倾向系数Bn分别相互地、同时且并行地从记忆单元阵列MC1或记忆单元阵列MC2输入到并行运算器PPP。
接着,利用图18(b)对变形方式涉及的多数判定输入电路12’的细节结构进行说明。如图18(b)所示,一个串行多数判定电路16’内的多数判定输入电路12’由异或电路25A、选择器25B以及选择器25F、反相放大电路25C以及反相放大电路25E、逻辑与电路25D、和加算电路25G构成。此时,由于加权系数W、连接有无信息C以及倾向系数Bn被同时并行地输入到并行运算器PPP,因此不需要图14(b)例示的掩码触发器电路12B。在以上的结构中,来自记忆单元阵列MC1的加权系数W、1位的输入数据I被输入到异或电路25A,并将它们的异或的结果输出到选择器25B的“0”端子。另一方面,来自记忆单元阵列MC1的连接有无信息C、和将倾向系数Bn分割后的1位的数据通过反向放大电路25C反转后的数据被输入到一个逻辑与电路25D,并且它们的逻辑与结果被输出到选择器25B的控制端子。由此,选择器25B基于连接有无信息C以及倾向系数Bn而选择上述异或的结果或者0数据的其中一个,并输出到加算电路25G。接着,将上述倾向系数Bn分割后的1位的数据被输入到选择器25F的控制端子,进一步地,将连接有无信息C通过反向放大电路25E而反转的数据被输入到选择器25F的“1”端子。由此,选择器25F基于倾向系数Bn而选择来自上述反向放大电路25E的输出数据或者0数据的其中一个,并输出到加算电路25G的另一个端子。由此,加算电路25G将来自选择器25B以及选择器25F的输出数据进行相加并作为输出数据OPn输出到串行多数决电路13。此时,由于该输出数据OPn能取的值如图17(b)所示,为“-2”、“-1”、“0”、“1”或“2”这5种,因此输出数据OPn为3位的数据。然后,串行多数决电路13对于输出数据OPn进行与图14例示的情况相同的激活处理所相当的处理,并将其结果作为输出数据OOn(参照图17(a))而输出到流水线寄存器21的输出寄存器21U。此时,通过将上述既定的多数判定阈值保持在串行多数决电路13内未图示的寄存器内,并对其进行参照从而能够实现作为上述的串行多数决电路13的工作,这一点与图14例示的串行多数决电路13相同。
接着,利用图18(c)对变形方式涉及的并行多数判定电路20’的细节结构进行说明。如图18(c)所示,并行多数判定电路20’由多数判定输入电路12’、和并行多数决电路30构成,其中多数判定输入电路12’具备与利用图18(b)说明了结构等的多数判定输入电路12’相同的结构等且数量与记忆单元阵列MC2的位宽相当。在该结构中,来自记忆单元阵列MC2的1位的加权系数W以及连接有无信息C以及倾向系数Bn、和来自流水线寄存器21的输入寄存器21L的1位的输出数据O被输入到多数判定输入电路12’。然后,多数判定输入电路12’将对于加权系数W、连接有无信息C以及倾向系数Bn以及来自输入寄存器21L的1位的输出数据O执行与利用图18(b)说明的工作相同的工作后的结果输出到并行多数决电路30。然后,并行多数决电路30将基于了来自各多数判定输入电路12’的每一个的输出数据OPn的上述多数决工作,仅按来自记忆单元阵列MC1的输出数据O的数量(例如与图13以及图14例示的情况相同的256)进行反复,并经由输出触发器电路22以串行形式作为输出数据O而输出,其中来自各多数判定输入电路12’的输出数据OPn与来自记忆单元阵列MC2的一组加权系数W以及连接有无信息C以及倾向系数Bn对应。此时,作为变形方式涉及的并行多数决电路30的结构,具体地考虑为如下结构:例如以分层的形式具备用于将与相邻的位对应的输出数据OPn之间进行加算的加算电路,并将最终的加算结果的码位输出到上述输出触发器电路22。此外,通过将上述既定的多数判定阈值保持在并行多数决电路30内的未图示的寄存器内并对其进行参照从而能够实现作为上述的并行多数决电路30的工作,这一点与图14例示的并行多数决电路20C相同。
此外,通过流水线寄存器21的工作,来自记忆单元阵列MC1以及记忆单元阵列MC2各自的256位的量的输出数据O、加权系数W以及连接有无信息C以及倾向系数Bn被执行依次且同时并行的处理的情况与图14所示的并行运算器PP相同。
如以上说明的那样,根据图17以及18所示的变形方式,能够以大约两倍的处理速度将增加了倾向系数Bn的例如图12(a)所示的神经网络S1-2进行建模。
进一步地,根据变形方式涉及的神经网络集成电路中包含的并行运算器PPP的结构以及工作,作为将变形方式涉及的神经网络(参照图17)进行建模后的神经网络集成电路(参见图17),能够大幅缩小电路规模以及与其对应的成本。
更具体地,根据变型方式涉及的神经网络集成电路中包含的并行运算器PPP的结构以及工作,在基于脑功能的既定的倾向系数Bn对于各乘算处理的加算结果应进一步被加算的情况下,该倾向系数Bn被分开输入到与该倾向系数Bn的绝对值相等的数量的任意多数判定输入电路12’。然后,根据上述连接有无信息C,该倾向系数Bn对于各乘算处理的加算结果的进一步的加算结果从多数判定输入电路12’输出到并行多数决电路30。由此,在结果上,并行多数决电路30在将倾向系数Bn的进一步的加算结果关于各多数判定输入电路12’而进行相加后的合计值为正或0时作为输出数据O而输出“1”,在该合计值为负时输出值“0”作为输出数据O。由此,即使在基于脑功能的既定的倾向系数Bn应被导入的情况下,能够大幅缩小电路规模以及与其对应的成本,并且能够高效地实现与人的脑功能对应的神经网络。
另外,在上述的变形方式中,虽然将“1”作为分割单元而将变形方式涉及的倾向系数Bn进行分割(分解),并且关于与倾向系数Bn的值相等的数量的乘算结果进行将“1”对于上述输入数据I和上述加权系数W的各乘算结果进行加算或者减算的处理,但除此之外,可以构成为不分割倾向系数Bn而预先将其作为一个值存储在未图示的存储器内,并且将倾向系数Bn对于加算了上述各乘算结果的结果进行加算或者减算。在这种情况下,该未图示的存储器与本发明涉及的倾向系数存储部的一例相当。
此外,在上述的第1实施方式以及第2实施方式以及上述变形方式中,虽然对将输出数据O、输入数据I、加权系数W等的值设为“1”或“0”等的情况进行了说明,但除此之外,根据电路设计上的便利等,也可以将上述值“0”作为“-1”来构成神经网络电路或者神经网络集成电路。
产业上的可利用性
如以上分别说明的那样,本发明能够利用于将神经网络进行建模后的神经网络电路等的领域,特别地,若应用于制造成本的降低或开发高效的神经网络电路等的情况,则能够获得特别显著的效果。
标号说明
1、10、11 记忆单元
2 多数判定电路
12、12’ 多数判定输入电路
12A、20A 异或非电路
12B、20B 掩码触发器电路
13、16、16’ 串行多数判定电路
15、15U1、15U2、15L1、15U3、15L2 记忆单元块
20、20’ 并行多数判定电路
20C、30 并行多数决电路
21 流水线寄存器
21U 输出寄存器
21L 输入寄存器
22 输出触发器电路
251、252、253、254、255 增序计数器
25A 异或电路
25B、25F 选择器
25C、25E 反相放大电路
25D 逻辑与电路
25G 加算电路
26 循环计数器
271、272、273、274、275、27m 寄存器
I、I1、I2、I3、I4、I5、I6、I7、I8、In、Im 输入数据
NR、NRR 神经元
G1XNOR 门
G2XOR 门
Bn 倾向系数
O、O1、O2、O3、O4、O5、On、Om、O2m、O10、O20、O30、O40、O11、O21、O31、O41、O1n、O2n、O3n、On0、On1、OO、OPn、E1、E2、E3、E4、E10
E20、E30、E40、E11、E21、E31、E41、En0、En1 输出数据
W1、W2、Wn 加权系数
S、S1、SS1、SS2、SS3、S1’、S2’、S1-2、S1-3 神经网络
S’ 网络
C1、C2、C3、C4、CC1、CC2、CC3、C1’、C2’、CP、C1-2、C1-3 神经网络集成电路
CS、CS1、CS2、CS3、CS4、CS5、CS11、CS12、CS21、C22、CS31、CS32、CS1n、CS1m、CS2n、CS2m、CS3n、CS3p、CS4q、CSm、CCS’ 神经网络电路
CS’ 网络电路
T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、T17、T18、T19、T20、T21、T22、T23、T24、T25、T26、T27、T28、T29、T30 晶体管
IV1、IV2、IV3、IV4 反向器
LIn、/LIn、W1、W2、LO、/LO 连接线
M 匹配线
/M 反转匹配线
SA 感测放大器
φ1、φ2、/φ2、φ3 定时信号
TG 定时生成电路
SW1、SW2、SW3、SW4 开关
SB1、SB2、SB3、SB4 开关盒
M1、M2、M3、M4、M5 选择器
MC1、MC2 记忆单元阵列
EN 使能信号
CLK 基准时钟信号
ECK 偶数基准时钟
PP、PPP 并行运算器
CT 控制部
MA 存储块
IS 输入选择器
CL1、CL2、M1、M2 存储器
WS 写入选通
B 总线
RS 读出选通
RN 执行信号
AD 地址数据
ST 起始信号
Sc1、Sc2、Sc3、Sc4、Sc5 切换控制信号

Claims (16)

1.一种神经网络电路,具备:
多个第1电路部,各自用于实现将分别为1位的输入数据与加权系数进行相乘的乘算功能;以及
第2电路部,用于实现将各所述第1电路部中的乘算结果进行相加且将激活函数应用于该加算结果并输出1位的输出数据的加算/应用功能,其特征在于,各所述第1电路部分别具备:
存储部,用于存储作为“1”或“0”的所述加权系数、或预先设定的规定值的任意一个;以及
输出部,在所述存储部中存储了所述加权系数时的该加权系数与所述输入数据的值一致的情况下,在与所述输入数据的输入定时对应的定时输出“1”,在该加权系数与所述输入数据的值不同的情况下,在与所述输入数据的输入定时对应的定时输出“0”,在所述存储部中存储了所述规定值的情况下,在与所述输入数据的输入定时对应的定时输出该规定值,
所述第2电路部基于输出“1”的所述第1电路部的总数与输出“0”的所述第1电路部的总数的差,将“1”或“0”作为所述输出数据而输出。
2.如权利要求1所述的神经网络电路,其特征在于,
所述第2电路部在输出“1”的所述第1电路部的所述总数与输出“0”的所述第1电路部的所述总数的所述差为预先规定的阈值以上的情况下,将“1”作为所述输出数据而输出,在所述差小于所述阈值的情况下,将“0”作为所述输出数据而输出。
3.如权利要求2所述的神经网络电路,其特征在于,
具备与多个所述输入数据相同数量的所述第1电路部,
所述输入数据的数量以及所述第1电路部的数量是基于由所述神经网络电路建模的脑功能而预先设定的数量。
4.一种神经网络集成电路,其特征在于,
具备m个(m为2以上的自然数)权利要求3所述的神经网络电路,其中被分别输入所述输入数据的所述第1电路部的数量为n(n为2以上的自然数),
n个所述输入数据并行且共同地输入到各所述神经网络电路,并且从各所述神经网络电路分别输出所述输出数据。
5.一种神经网络集成电路,其特征在于,
多个权利要求4所述的神经网络集成电路串联而连接,其中所述n与所述m相等,
来自一个所述神经网络集成电路的所述输出数据被设为连接在该神经网络集成电路紧后的另一个所述神经网络集成电路中的所述输入数据。
6.一种神经网络集成电路,其特征在于,
具备k个(k为2以上的自然数)权利要求4所述的神经网络集成电路,
对于各所述神经网络集成电路,所述n个所述输入数据并行且共同地输入,并且从各所述神经网络集成电路分别并行地输出所述m个输出数据。
7.一种神经网络集成电路,其特征在于,具备:
多个权利要求4所述的神经网络集成电路;以及
开关部,用于将各所述神经网络集成电路以阵列状且相互进行连接,并且将对于各所述神经网络集成电路的所述输入数据以及所述输出数据进行切换,该开关部中的切换工作与所述脑功能对应而被预先设定。
8.如权利要求2所述的神经网络电路,其特征在于,
所述加权系数与通过该神经网络电路而被建模的脑功能对应而被预先设定,
所述存储部由第1存储部和第2存储部构成,所述第1存储部用于存储所述加权系数并输出到所述输出部,所述第2存储部用于存储与所述脑功能对应而被预先设定的所述规定值并输出到所述输出部,
所述输出部在从所述第1存储部输出的所述加权系数与所述输入数据的值一致的情况下,在与所述输入数据的输入定时对应的定时输出“1”,在被输出的所述加权系数与所述输入数据的值不同的情况下,在与所述输入数据的输入定时对应的定时输出“0”,在从所述第2存储部输出所述规定值的情况下,在与所述输入数据的输入定时对应的定时输出该规定值。
9.如权利要求8所述的神经网络电路,其特征在于,
在作为所述加算/应用功能中的加算功能,对于各所述乘算结果的加算结果应进一步相加倾向系数的情况下,该倾向系数被分开输入到与该倾向系数的绝对值相等的数量的任意的所述第1电路部,其中所述倾向系数是对应于所述脑功能而被预先设定且是按各神经元表示作为该脑功能的倾向的整数,其绝对值为0以上且为所述输入数据的数量以下,
该倾向系数分开而输入的所述第1电路部根据所述规定值,将该倾向系数对于各所述乘算结果的加算结果的进一步的加算结果输出到所述第2电路部,
在关于各所述第1电路部而将所述倾向系数的进一步的加算结果进行相加后的合计值为正或0时,所述第2电路部将“1”作为所述输出数据输出,在该合计值为负时,所述第2电路部将“0”作为所述输出数据输出。
10.如权利要求8所述的神经网络电路,其特征在于,还具备:
倾向系数存储部,用于存储一种倾向系数,所述倾向系数对应于所述脑功能而被预先设定且是按各神经元表示作为该脑功能的倾向的整数,并且其绝对值为0以上且为所述输入数据的数量以下,
在根据所述规定值而对于来自各所述第1电路部的所述乘算结果的加算结果将所述倾向系数进一步进行相加后的合计值为正或0时,所述第2电路部将“1”作为所述输出数据输出,在该合计值为负时,所述第2电路部将“0”作为所述输出数据输出。
11.如权利要求8所述的神经网络电路,其特征在于,
所述输入数据的数量为1,
所述输出数据、所述第1存储部、所述第2存储部、所述第1电路部以及第2电路部各自的数量为与所述脑功能对应而预先被设定的2以上的数量,
所述加权系数以及所述规定值分别为与所述脑功能对应而预先被设定的值,
各所述第1电路部的所述输出部基于分别与各所述输出数据对应的所述加权系数和所述输入数据,将所述乘算结果按各所述输出数据而分别输出,
在所述规定值为所述预先设定的值的情况下,在将为“1”的所述乘算结果的总数与为“0”的所述乘算结果的总数相减后的值为所述阈值以上时,各所述第2电路部将“1”作为所述输出数据输出,在所述规定值为所述预先设定的值的情况下,在所述相减后的值小于所述阈值时,各所述第2电路部将“0”作为所述输出数据输出。
12.如权利要求8所述的神经网络电路,其特征在于,
所述输出数据以及所述第2电路部的数量分别为1,
所述输入数据、所述第1存储部、所述第2存储部以及所述第1电路部各自的数量为与所述脑功能对应而预先被设定的2以上的数量,
所述加权系数以及所述规定值分别为与所述脑功能对应的值,
各所述第1电路部基于分别与各所述输入数据对应的所述加权系数和该各输入数据,将各所述乘算结果按各该输入数据而分别输出,
在所述规定值为所述预先设定的值的情况下,在将为“1”的所述乘算结果的总数与为“0”的所述乘算结果的总数相减后的值为所述阈值以上时,所述第2电路部将“1”作为所述输出数据而输出,在所述规定值为所述预先设定的值的情况下,在所述相减后的值小于所述阈值时,所述第2电路部将“0”作为所述输出数据而输出。
13.一种神经网络集成电路,其特征在于,具备:
权利要求11所述的神经网络电路;以及
权利要求12所述的神经网络电路,
从输入一个输入数据的权利要求11所述的所述神经网络电路输出的各输出数据分别被设为权利要求12所述的所述神经网络电路中的各输入数据,
从权利要求12所述的所述神经网络电路输出一个输出数据。
14.如权利要求13所述的神经网络集成电路,其特征在于,
在权利要求11所述的神经网络电路和权利要求12所述的所述神经网络电路之间还具备寄存器部,
该寄存器部将从权利要求11所述的神经网络电路输出的各输出数据以一个基准时钟的量进行缓冲,并将其作为权利要求12所述的所述神经网络电路中的各输入数据而输出到权利要求12所述的该神经网络电路。
15.一种神经网络集成电路,其特征在于,
多个权利要求13所述的神经网络集成电路串联而连接,
来自一个该神经网络集成电路的一个所述输出数据被设为对于紧后级的该神经网络集成电路的一个所述输入数据。
16.一种神经网络集成电路,其特征在于,
具备多个权利要求13所述的神经网络集成电路,
对于该多个权利要求13所述的神经网络集成电路的每一个,一个所述输入数据被共同地输入,
所述输出数据分别单独从该多个权利要求13所述的神经网络集成电路一个一个地输出。
CN201780044678.1A 2016-05-19 2017-05-19 神经网络电路以及神经网络集成电路 Expired - Fee Related CN109478253B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2016-100694 2016-05-19
JP2016100694 2016-05-19
JP2016-222275 2016-11-15
JP2016222275 2016-11-15
PCT/JP2017/018836 WO2017200088A1 (ja) 2016-05-19 2017-05-19 ニューラルネットワーク回路及びニューラルネットワーク集積回路

Publications (2)

Publication Number Publication Date
CN109478253A CN109478253A (zh) 2019-03-15
CN109478253B true CN109478253B (zh) 2022-11-01

Family

ID=60325422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780044678.1A Expired - Fee Related CN109478253B (zh) 2016-05-19 2017-05-19 神经网络电路以及神经网络集成电路

Country Status (4)

Country Link
US (1) US11507821B2 (zh)
JP (1) JP6913388B2 (zh)
CN (1) CN109478253B (zh)
WO (1) WO2017200088A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275997B1 (en) * 2018-04-30 2022-03-15 Amazon Technologies, Inc. Weight loading in an array
KR20210012839A (ko) * 2019-07-26 2021-02-03 에스케이하이닉스 주식회사 연산동작을 수행하는 방법 및 이를 수행하는 반도체장치
KR102298709B1 (ko) * 2019-09-24 2021-09-03 연세대학교 산학협력단 연결성 학습 장치 및 연결성 학습 방법
KR102593032B1 (ko) * 2020-12-22 2023-10-23 고려대학교 산학협력단 모놀리식 3d 집적 구조를 이용한 인-메모리 sram 기반 이진 신경망 가속기
CN116011593B (zh) * 2023-03-09 2023-06-16 支付宝(杭州)信息技术有限公司 一种网络模型能耗的确定方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4994982A (en) * 1987-12-23 1991-02-19 U.S. Philips Corporation Neural network system and circuit for use therein
US5165009A (en) * 1990-01-24 1992-11-17 Hitachi, Ltd. Neural network processing system using semiconductor memories
CN1100541A (zh) * 1993-06-14 1995-03-22 莫托罗拉公司 神经网络及其使用方法
US5408585A (en) * 1991-09-20 1995-04-18 Thomson-Csf Internal connection method for neural networks
JPH0822446A (ja) * 1994-07-11 1996-01-23 Matsushita Electric Ind Co Ltd ニューラルネットワーク回路
US5621336A (en) * 1989-06-02 1997-04-15 Shibata; Tadashi Neuron circuit
JP2014013555A (ja) * 2012-06-08 2014-01-23 Fujitsu Ltd ニューラルネットワーク設計方法、フィッティング方法、及びプログラム
CN104834216A (zh) * 2015-04-22 2015-08-12 上海晟矽微电子股份有限公司 一种基于bp神经网络调节pi控制器参数的电路及方法
CN105095966A (zh) * 2015-07-16 2015-11-25 清华大学 人工神经网络和脉冲神经网络的混合计算系统
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制
CN105512723A (zh) * 2016-01-20 2016-04-20 南京艾溪信息科技有限公司 一种用于稀疏连接的人工神经网络计算装置和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999525A (en) * 1989-02-10 1991-03-12 Intel Corporation Exclusive-or cell for pattern matching employing floating gate devices
US4904881A (en) * 1989-02-10 1990-02-27 Intel Corporation EXCLUSIVE-OR cell for neural network and the like
US5097141A (en) * 1990-12-12 1992-03-17 Motorola, Inc. Simple distance neuron
JPH0896138A (ja) * 1994-09-20 1996-04-12 Just Syst Corp 形状認識装置
US7233164B2 (en) * 2003-12-17 2007-06-19 Rambus Inc. Offset cancellation in a multi-level signaling system
US9159020B2 (en) * 2012-09-14 2015-10-13 International Business Machines Corporation Multiplexing physical neurons to optimize power and area

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4994982A (en) * 1987-12-23 1991-02-19 U.S. Philips Corporation Neural network system and circuit for use therein
US5621336A (en) * 1989-06-02 1997-04-15 Shibata; Tadashi Neuron circuit
US5165009A (en) * 1990-01-24 1992-11-17 Hitachi, Ltd. Neural network processing system using semiconductor memories
US5408585A (en) * 1991-09-20 1995-04-18 Thomson-Csf Internal connection method for neural networks
CN1100541A (zh) * 1993-06-14 1995-03-22 莫托罗拉公司 神经网络及其使用方法
JPH0822446A (ja) * 1994-07-11 1996-01-23 Matsushita Electric Ind Co Ltd ニューラルネットワーク回路
JP2014013555A (ja) * 2012-06-08 2014-01-23 Fujitsu Ltd ニューラルネットワーク設計方法、フィッティング方法、及びプログラム
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制
CN104834216A (zh) * 2015-04-22 2015-08-12 上海晟矽微电子股份有限公司 一种基于bp神经网络调节pi控制器参数的电路及方法
CN105095966A (zh) * 2015-07-16 2015-11-25 清华大学 人工神经网络和脉冲神经网络的混合计算系统
CN105512723A (zh) * 2016-01-20 2016-04-20 南京艾溪信息科技有限公司 一种用于稀疏连接的人工神经网络计算装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Analogue adaptive neural network circuit";Chiang,ML;《IEE PROCEEDINGS-G》;19911231;第138卷(第6期);第717-723 *

Also Published As

Publication number Publication date
WO2017200088A1 (ja) 2017-11-23
US11507821B2 (en) 2022-11-22
US20190251432A1 (en) 2019-08-15
JPWO2017200088A1 (ja) 2019-03-22
JP6913388B2 (ja) 2021-08-04
CN109478253A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN109478253B (zh) 神经网络电路以及神经网络集成电路
Cai et al. Power-efficient combinatorial optimization using intrinsic noise in memristor Hopfield neural networks
US11017290B2 (en) Signal processing module, especially for a neural network and a neuronal circuit
Kotiyal et al. Circuit for reversible quantum multiplier based on binary tree optimizing ancilla and garbage bits
CN110826719A (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
JPWO2019155910A1 (ja) ニューラル電子回路
Sutradhar et al. Look-up-table based processing-in-memory architecture with programmable precision-scaling for deep learning applications
El-Slehdar et al. Memristor based N-bits redundant binary adder
US11663452B2 (en) Processor array for processing sparse binary neural networks
US11727256B2 (en) Hardware architecture for processing data in neural network
Xia et al. An efficient design of reversible multi-bit quantum comparator via only a single ancillary bit
JP2019139300A (ja) ニューラル電子回路
Deng et al. SemiMap: A semi-folded convolution mapping for speed-overhead balance on crossbars
JP2017211972A (ja) ニューラルネットワーク回路及びニューラルネットワーク集積回路
JP4579798B2 (ja) 演算装置
CN213042269U (zh) 计算芯片、算力板和数字货币挖矿机
Muezzinoglu et al. RBF-based neurodynamic nearest neighbor classification in real pattern space
JPH09244875A (ja) 半導体演算回路
US11886780B2 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
Ahmed et al. Improving the quantum cost of reversible Boolean functions using reorder algorithm
KR20230079496A (ko) 계산 칩, 해시 보드 및 데이터 처리 장치
Doh et al. Thirty-six full matrix forms of the Pascal triangle: derivation and symmetry relations
Mishra et al. Parallelism in divide-and-conquer non-dominated sorting: a theoretical study considering the PRAM-CREW model
Dimitrakopoulos et al. Sorter based permutation units for media-enhanced microprocessors
KR20200095951A (ko) Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템

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
TA01 Transfer of patent application right

Effective date of registration: 20200426

Address after: Tokyo, Japan

Applicant after: Tokyo Institute of Technology

Address before: Hokkaido Japan

Applicant before: NATIONAL UNIVERSITY CORPORATION HOKKAIDO University

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20221101

CF01 Termination of patent right due to non-payment of annual fee