CN117574975A - 用于部分数字再训练的系统和方法 - Google Patents
用于部分数字再训练的系统和方法 Download PDFInfo
- Publication number
- CN117574975A CN117574975A CN202311606191.1A CN202311606191A CN117574975A CN 117574975 A CN117574975 A CN 117574975A CN 202311606191 A CN202311606191 A CN 202311606191A CN 117574975 A CN117574975 A CN 117574975A
- Authority
- CN
- China
- Prior art keywords
- neural network
- analog
- integrated circuit
- layer
- digital
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013528 artificial neural network Methods 0.000 claims abstract description 177
- 238000004088 simulation Methods 0.000 claims abstract description 10
- 238000012360 testing method Methods 0.000 claims description 74
- 230000000946 synaptic effect Effects 0.000 claims description 33
- 230000001537 neural effect Effects 0.000 claims description 5
- 230000000737 periodic effect Effects 0.000 claims description 5
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 claims description 3
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 claims description 3
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 claims description 3
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000004807 localization Effects 0.000 claims description 2
- 241000282326 Felis catus Species 0.000 description 26
- 241000282472 Canis lupus familiaris Species 0.000 description 20
- 210000004027 cell Anatomy 0.000 description 15
- 238000010801 machine learning Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/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/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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Image Analysis (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本文中提供的是一种集成电路,所述集成电路在一些实施例中包括混合神经网络,混合神经网络包括多个模拟层、数字层和多个数据输出。所述多个模拟层被配置为包括神经网络的编程权重以用于由神经网络做出决策。设置在所述多个模拟层与所述多个数据输出之间的数字层被配置用于编程,以补偿神经网络的编程权重中的权重漂移,从而维持由神经网络做出决策的完整性。本文中还提供的是一种方法,所述方法在一些实施例中包括:对所述多个模拟层的权重进行编程;确定由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的编程权重中的权重漂移。
Description
优先权
本申请要求于2018年7月27日提交的美国专利申请No.16/048,099以及2017年7月31日提交的题为“Systems and Methods for Partial Digital Retraining”的美国临时专利申请No.62/539,384的优先权权益,特此通过引用将所述申请在其整体上并入本申请中。
技术领域
本公开的实施例涉及神经形态计算领域。更具体地,本公开的实施例涉及但不限于用于对设置在神经形态集成电路的模拟乘法器阵列中的人工神经网络进行部分数字再训练的系统和方法。
背景技术
传统的中央处理单元(“CPU”)基于“计时时间”处理指令。具体地,CPU操作使得以规律的时间间隔传输信息。基于互补金属氧化物半导体(“CMOS”)技术,硅基芯片可以利用每管芯多于50亿个晶体管来制造,并且具有与10nm一样小的特征。CMOS技术中的进步已经发展为并行计算的进步,并行计算无所不在地用于包含多个处理器的个人计算机和蜂窝电话中。
然而,随着机器学习对于包括生物信息学、计算机视觉、视频游戏、市场营销、医学诊断、在线搜索引擎等的众多应用而言正变得普遍,传统的CPU经常不能在保持低功耗的同时供应足够量的处理能力。特别地,机器学习是计算机科学的子部分,其针对具有从数据中学习并且关于数据做出预测的能力的软件。此外,机器学习的一个分支包括深度学习,其针对利用深度(多层)神经网络。
当前,正在进行研究以开发深度神经网络的直接硬件实现方式,其可以包括尝试对“硅”神经元进行仿真(例如,“神经形态计算”)的系统。神经形态芯片(例如,被设计用于神经形态计算的硅计算芯片)通过使用以非均匀间隔传输的电流脉冲串而并行处理指令(例如,与传统的顺序计算机相反)来操作。作为结果,神经形态芯片对于处理信息、特别是人工智能(“AI”)算法而言需要少得多的功率。为了实现这点,神经形态芯片可能包含与传统处理器的五倍一样之多的晶体管,而消耗少至1/2000的功率。因此,神经形态芯片的开发针对提供一种具有巨大处理能力的芯片,所述芯片比常规处理器消耗少得多的功率。此外,神经形态芯片被设计成支持在复杂和非结构化数据的上下文中的动态学习。
设置在神经形态集成电路的模拟乘法器阵列中的人工神经网络可能受制于影响人工神经网络的做出决策能力的突触权重的静电放电。本文中提供的是用于人工神经网络的部分数字再训练的系统和方法,所述人工神经网络除了模拟层之外还包括数字层。部分数字再训练避免了对人工神经网络进行重新编程以补偿突触权重的静电放电,从而维持这样的人工神经网络的做出决策能力。
发明内容
本文中公开的是一种神经形态集成电路,所述神经形态集成电路在一些实施例中包括多层模拟-数字混合神经网络。神经网络包括多个模拟层,所述多个模拟层被配置为包括在神经网络的神经节点之间的突触权重以用于由神经网络做出决策。神经网络还包括至少一个数字层。数字层被配置用于以编程方式补偿神经网络的突触权重的权重漂移,从而维持由神经网络做出决策的完整性。
在一些实施例中,所述多个模拟层被设置在多个数据输入与数字层之间。数字层被设置在所述多个模拟层与多个数据输出之间。
在一些实施例中,神经网络被配置用于一个或多个分类问题、一个或多个回归问题或其组合。
在一些实施例中,由神经网络做出决策包括针对一个或多个回归问题预测连续量。数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测连续量的正确拟合的回归线。
在一些实施例中,由神经网络做出决策包括针对一个或多个分类问题预测离散类。数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测离散类的正确投影的决策边界。
在一些实施例中,所述神经形态集成电路进一步包括测试数据生成器,所述测试数据生成器被配置为在周期性基础上生成测试数据,以用于测试由神经网络做出决策的完整性。
在一些实施例中,所述多个模拟层被设置在所述神经形态集成电路的存储器扇区中的二象限乘法器的模拟乘法器阵列中。
在一些实施例中,所述神经形态集成电路被配置为靠电池功率操作。
本文中还公开的是一种神经形态集成电路,所述神经形态集成电路在一些实施例中包括多层模拟-数字混合神经网络和测试数据生成器,所述测试数据生成器被配置为在周期性基础上生成测试数据,以用于测试由神经网络做出决策的完整性。神经网络包括多个模拟层,所述多个模拟层被配置为包括在神经网络的神经节点之间的突触权重以用于由神经网络做出决策。神经网络还包括至少一个数字层。数字层被配置用于以编程方式补偿神经网络的突触权重的权重漂移,从而维持由神经网络做出决策的完整性。
在一些实施例中,由神经网络做出决策包括针对一个或多个回归问题预测连续量。数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测连续量的正确拟合的回归线。
在一些实施例中,由神经网络做出决策包括针对一个或多个分类问题预测离散类。数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测离散类的正确投影的决策边界。
在一些实施例中,所述多个模拟层被设置在多个数据输入与数字层之间。数字层被设置在所述多个模拟层与多个数据输出之间。
在一些实施例中,所述多个模拟层被设置在所述神经形态集成电路的存储器扇区中的二象限乘法器的模拟乘法器阵列中。
在一些实施例中,所述神经形态集成电路被配置用于一个或多个专用标准产品(“ASSP”),所述专用标准产品选自关键词定位(keyword spotting)、语音识别、一个或多个音频滤波器、语音增强、姿势识别、图像识别、视频对象分类和分割以及包括无人机的自主交通工具。
在一些实施例中,所述神经形态集成电路被配置为靠电池功率操作。
还公开的是一种用于神经形态集成电路的方法,所述方法在一些实施例中包括:对神经形态集成电路的多层模拟-数字混合神经网络的多个模拟层的突触权重进行编程,以用于由神经网络做出决策;通过使用由神经形态集成电路的测试数据生成器生成的测试数据,来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移,从而维持由神经网络做出决策的完整性。
在一些实施例中,所述方法进一步包括利用神经网络针对一个或多个回归问题预测连续量。
在一些实施例中,所述方法进一步包括维持用于通过神经网络预测连续量的正确拟合的回归线。维持正确拟合的回归线包括:利用由测试数据生成器生成的测试数据来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移。
在一些实施例中,所述方法进一步包括利用神经网络针对一个或多个分类问题预测离散类。
在一些实施例中,所述方法进一步包括维持用于通过神经网络预测离散类的正确投影的决策边界。维持正确投影的决策边界包括:利用由测试数据生成器生成的测试数据来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移。
附图说明
在附图的各图中,通过示例的方式而非通过限制的方式图示了本公开的实施例,其中同样的引用指示类似的元件,并且其中:
图1图示了根据一些实施例的用于设计和更新神经形态集成电路(“IC”)的系统100。
图2图示了根据一些实施例的模拟乘法器阵列。
图3图示了根据一些实施例的模拟乘法器阵列。
图4图示了根据一些实施例的模拟乘法器阵列的无偏置二象限乘法器。
图5图示了根据一些实施例的混合模拟-数字神经网络。
图6A图示了根据一些实施例的沿着决策边界A-B正确地对数据进行分类的第一决策边界绘图。
图6B图示了根据一些实施例的由于权重漂移而沿着决策边界A-B不正确地对数据进行分类的第二决策边界绘图。
图6C图示了根据一些实施例的在部分数字再训练之后沿着决策边界A-B正确地对数据进行分类的第三决策边界绘图。
图7A图示了根据一些实施例的绘图,其中回归线为该绘图的数据点提供良好的拟合。
图7B图示了根据一些实施例的绘图,其中回归线R归因于权重漂移或其他退化而不良地拟合该绘图的数据点。
图7C图示了根据一些实施例的绘图,其中回归线在部分数字再训练之后为该绘图的数据点提供良好的拟合。
具体实施方式
术语
在以下描述中,某个术语用于描述本发明的特征。例如,在某些情形下,术语“逻辑”可以代表被配置为执行一个或多个功能的硬件、固件和/或软件。作为硬件,逻辑可以包括具有数据处理或存储功能性的电路。这样的电路的示例可以包括但不限于或局限于微处理器、一个或多个处理器核心、可编程门阵列、微控制器、控制器、专用集成电路、无线接收器、发射器和/或收发器电路、半导体存储器或组合逻辑。
术语“过程”可以包括计算机程序的实例(例如,指令集,其在本文中也被称为应用)。在一个实施例中,过程可以由并发执行的一个或多个线程(例如,每个线程可以正并发执行相同或不同的指令)所包括。
术语“处理”可以包括执行二进制或脚本,或者启动其中处理对象的应用,其中启动应当被解释为将应用置于打开状态中,并且在一些实现方式中执行以人类与应用交互为典型的动作的仿真。
术语“对象”一般指代数据集——无论是在传输中(例如通过网络)还是处于静止(例如所存储的),其经常具有使得能够对它进行分类或类型化的逻辑结构或组织。本文中,术语“二进制文件”和“二进制”将可互换地使用。
术语“文件”在广义上用于指代供计算机程序使用的数据、信息或其他内容的集合或集。文件可以作为单个实体、对象或单元来被访问、打开、存储、操控或以其他方式被处理。文件可以包含其他文件,并且可以包含相关或不相关的内容,或者根本不包含内容。文件也可以具有逻辑格式,或者是具有复数个文件的逻辑结构或组织的文件系统的部分。文件可以具有名称(有时被简称为“文件名”),并且经常具有附加属性或其他元数据。存在许多类型的文件,诸如数据文件、文本文件、程序文件和目录文件。文件可以由计算设备的用户生成或者由计算设备生成。对文件的访问和/或操作可以由一个或多个应用和/或计算设备的操作系统来介导。文件系统可以组织存储设备的计算设备的文件。文件系统可以使得能够跟踪文件并且使得能够访问那些文件。文件系统也可以使得能够对文件进行操作。在一些实施例中,对文件的操作可以包括文件创建、文件修改、文件打开、文件读取、文件写入、文件关闭和文件删除。
最后,如本文中使用的术语“或”和“和/或”要被解释为包含性的或者意味着任何一个或任何组合。因此,“A、B或C”或“A、B和/或C”意味着“以下各项中的任何一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元素、功能、步骤或动作的组合在某种程度上内在地相互排斥时,对该定义的例外才将发生。
图1图示了根据一些实施例提供的用于设计和更新神经形态集成电路(“IC”)的系统100。如所示出的,系统100可以包括被配置用于设计和更新神经形态IC(诸如神经形态IC102)的仿真器110、神经形态合成器120和云130。如进一步示出的,设计和更新神经形态IC可以包括基于特定问题利用仿真器110创建机器学习架构。神经形态合成器120后续可以将机器学习架构变换成针对神经形态IC 102的电子部件和电子部件所连接到的节点的网表(netlist)。此外,神经形态合成器120可以将机器学习架构变换成详细描述神经形态IC102的IC布局的图形数据库系统(“GDS”)文件。根据神经形态IC 102的网表和GDS文件,神经形态IC 102本身可以根据当前IC制造技术来被制造。一旦神经形态IC 102被制造,它就可以被部署成致力于它被设计所用于的特定问题。虽然初始制造的神经形态IC 102可以包括具有神经节点之间的定制突触权重的初始固件,但是初始固件可以通过云130按照需要进行更新以调整权重。由于云130被配置为更新神经形态IC 102的固件,因此不需要云130用于每日使用。
神经形态IC(诸如神经形态IC 102)可以比图形处理单元(“GPU”)解决方案能量高效高达100倍或更多,以及比数字CMOS解决方案能量高效高达280倍或更多,其具有满足或超过可比较的软件解决方案的精度。这使得这样的神经形态IC适合用于电池供电的应用。
神经形态IC(诸如神经形态IC 102)可以被配置用于专用标准产品(“ASSP”),所述专用标准产品包括但不限于关键词定位、声音识别、一个或多个音频滤波器、语音增强、姿势识别、图像识别、视频对象分类和分割、或者包括无人机的自主交通工具。例如,如果特定问题是图像识别中的一个问题(例如,识别猫或狗的图像并将其照此分类),则仿真器110可以创建关于图像识别的一个或多个方面的机器学习架构。神经形态合成器120后续可以将机器学习架构变换成与用于图像识别的神经形态IC相对应的网表和GDS文件,所述神经形态IC可以根据当前IC制造技术来被制造。一旦用于图像识别的神经形态IC被制造,它就可以被部署成致力于在需要图像识别的系统或设备中进行图像识别。
神经形态IC(诸如神经形态IC 102)可以部署在玩具、传感器、可穿戴设备、增强现实(“AR”)系统或设备、虚拟现实(“VR”)系统或设备、移动系统或设备、电器、物联网(“IoT”)设备或者听力系统或设备中。
图2图示了根据一些实施例提供的模拟乘法器阵列200。这样的模拟乘法器阵列可以基于数字NOR闪存阵列,这是因为模拟乘法器阵列的核心可以类似于数字NOR闪存阵列的核心或者与数字NOR闪存阵列的核心相同。也就是说,至少模拟乘法器阵列的选择和读出电路不同于数字NOR阵列。例如,输出电流作为模拟信号被路由到下一层,而不是通过位线去往感测放大器/比较器来被转换至位。字线模拟由模拟输入信号而不是数字地址解码器驱动。此外,模拟乘法器阵列200可以用于神经形态IC(诸如神经形态IC 102)中。例如,神经网络可以被设置在神经形态IC的存储器扇区中的模拟乘法器阵列200中。然而,如本文中所阐述的,神经网络不限于前述内容。除了设置在模拟乘法器阵列200中的神经网络的模拟层之外,神经网络可以进一步包括数字层。
因为模拟乘法器阵列200是模拟电路,所以输入和输出电流可以在连续的范围内变化,而不是简单地开或关。这对于存储与数字位相对的神经网络的权重是有用的;然而,这样的权重受制于权重漂移,所述权重漂移是由于例如来自包括用权重编程的晶体管的单元的静电放电所致。(参见图4和随附的编程描述。)在模拟乘法器阵列200的操作中,权重乘以输入电流,以提供输出电流,所述输出电流被组合以得出神经网络的决策。如果神经网络的模拟层由于神经网络的模拟层中的权重漂移而开始得出不正确的决策(例如,不正确地将猫的一个或多个测试图像分类为狗或者不正确地根据照片估计人的年龄),则神经网络的数字层可以被编程以校正权重漂移,从而允许神经网络得出正确的决策(例如,正确地将猫的一个或多个测试图像分类为猫或者正确地根据照片估计人的年龄)。
模拟乘法器阵列200可以利用标准编程和擦除电路来生成隧穿和擦除电压。
图3图示了根据一些实施例提供的模拟乘法器阵列300。模拟乘法器阵列300可以使用二个晶体管(例如,正金属氧化物半导体场效应晶体管[“MOSFET”]和负MOSFET)来执行带符号的权重(例如,正权重或负权重)与非负输入电流值的二象限乘法。如果输入电流值乘以正或负权重,则乘积或输出电流值可以相应地为正或负。正加权的乘积可以存储在第一列(例如,对应于模拟乘法器阵列300中的Iouto+的列)中,并且负加权的乘积可以存储在第二列(例如,对应于模拟乘法器阵列300中的Iouto-的列)中。前述正和负加权的乘积或输出信号可以视为差分电流值,以提供用于做出决策的有用信息(例如,识别猫或狗的图像并将其照此分类)。
因为来自正或负晶体管的每个输出电流被线接到地,并且相应地与输入电流值和正或负权重的乘积成比例,所以当输入电流或权重处于零或接近零时,正或负晶体管的功耗处于零或接近零。即,如果输入信号是“O”,或者如果权重是“○”,则模拟乘法器阵列300的对应晶体管将不消耗功率。这是有意义的,因为在许多神经网络中,经常大部分权重、尤其是在训练之后是“○”。因此,当没有事情要做或者没有事情发生时节省了能量。这不同于基于差分对的乘法器,后者消耗恒定电流(例如,借助于尾部偏置电流),而不管输入信号如何。
图4图示了根据一些实施例提供的模拟乘法器阵列(诸如模拟乘法器阵列300)的无偏置、二象限乘法器400。如本文中阐述的,因为来自正晶体管(例如,二象限乘法器400的M1)或负晶体管(例如,二象限乘法器400的M2)的每个输出电流相应地与输入电流值和正或负权重的乘积成比例,所以当输入电流或权重接近零时,正或负晶体管的功耗接近零。这不同于基于差分对的乘法器,后者消耗恒定电流(例如,借助于尾部偏置电流),而不管输入信号如何。
当对二象限乘法器(诸如无偏置、二象限乘法器400)进行编程时,常见的是在将每个单元设置为其目标权重之前,擦除所述二象限乘法器的每个可编程单元(例如,包括晶体管M1的单元和包括晶体管M2的单元),以将单元设置为一个极端权重。将此扩展到诸如模拟乘法器阵列300的完整阵列,在将每个单元设置为其目标权重之前,所述完整阵列中的所有可编程单元被设置为一个极端权重。然而,这样的权重受制于权重漂移,所述权重漂移是由于例如来自包括用权重编程的晶体管的单元的静电放电所致。如本文中阐述的,神经网络的模拟层中的这样的权重漂移可能引起神经网络得出不正确的决策(例如,不正确地将猫的一个或多个测试图像分类为狗或者不正确地根据照片估计人的年龄)。出于该原因,提供神经网络的数字层来校正权重漂移,以便使神经网络得出正确的决策(例如,正确地将猫的一个或多个测试图像分类为猫或者正确地根据照片估计人的年龄)。以此方式,不需要利用初始编程的目标权重来对神经网络的模拟层进行重新编程。
图5图示了根据一些实施例的多层混合模拟-数字神经网络500。如所示出的,混合神经网络500包括多个数据输入、多个模拟层、数字层和多个数据输出。所述多个模拟层被设置在所述多个数据输入与数字层之间。数字层被设置在所述多个模拟层与多个数据输出之间。可以利用如本文中针对一个或多个分类问题、一个或多个回归问题或其组合阐述的初始权重集合,来对所述多个模拟层中包括晶体管的可编程单元(例如,包括图4的晶体管M1和M2的单元)进行编程。在设置在模拟乘法器阵列(例如,模拟乘法器阵列300)中的所述多个模拟层的操作期间,权重乘以输入电流,以提供输出电流,所述输出电流被组合以借助于所述多个数据输出中的一个或多个来得出混合神经网络500的决策。针对回归问题的做出决策包括预测对应于输入到所述多个数据输入中的数据的连续量(例如,根据照片估计人的年龄)。针对分类问题的做出决策包括预测对应于输入到所述多个数据输入中的数据的离散类(例如,将图像分类为猫或狗的图像)。
但是经由来自单元的静电放电而发生的权重漂移可能引起混合神经网络500的所述多个模拟层开始得出不正确的决策(例如,不正确地将猫的一个或多个测试图像分类为狗或者不正确地根据照片估计人的年龄),所述不正确的决策可以利用测试数据(例如,猫和狗的测试图像或者已知年龄的人的测试图像)、诸如由测试数据生成器提供的所生成测试数据在周期性基础上被测试。当混合神经网络500的不正确决策变得已知时,混合神经网络500的数字层可以通过部分数字再训练过程被编程以校正或补偿权重漂移,这允许混合神经网络500再次得出正确的决策(例如,正确地将猫的一个或多个测试图像分类为猫或者正确地根据照片估计人的年龄)。这维持由混合神经网络500做出决策的完整性。
照此,前述内容提供了一种神经形态IC,其中低功率模拟电路实现神经网络(例如,混合神经网络500)的早期层,而可配置的数字电路实现神经网络的后期层以便促进后期层中权重的方便调整,从而减轻所存储权重中的退化、定制用于到特定目标的分类的神经网络、定制用于预测连续量的神经网络或其组合。结果,针对神经网络(诸如混合神经网络500)所需要的完整刷新速率可以被降低或甚至被消除。
图6A-6C图示了权重漂移对诸如混合神经网络500的混合神经网络的模拟层的决策的影响,以及通过混合神经网络500的数字层的部分数字再训练对决策的后续校正。本文中将猫和狗的测试图像引用为图像识别的示例,对于图像识别,诸如混合神经网络500的人工神经网络能够将测试图像分类为猫图像或狗图像。关于图6A-6C,猫的测试图像对应于属于组A的A型数据,并且狗的测试图像对应于属于组B的B型数据。
图6A图示了根据一些实施例的沿着决策边界A-B正确地对数据进行分类的第一决策边界绘图600A。如所示出的,在第一测试图像集合中,第一决策边界绘图600A中的决策边界A-B正确地界定了属于组A(例如,猫图像组)的所有A型数据(例如,猫图像)和属于组B(例如,狗图像组)的所有B型数据(例如,狗图像)。这样的场景可以发生在如下各项之后:i)利用初始权重集合对混合神经网络500的所述多个模拟层中的包括晶体管(诸如图4的晶体管M1和M2)的单元进行编程、以及ii)后续利用第一测试图像集合测试混合神经网络500。
图6B图示了根据一些实施例的由于权重漂移而沿着决策边界A-B不正确地对数据进行分类的第二决策边界绘图600B。如所示出的,在不同于第一图像集合的第二测试图像集合中,第二决策边界绘图600B中的决策边界A-B不正确地界定了属于组A(例如,猫图像组)的A型数据(例如,猫图像)和属于组B(例如,狗图像组)的B型数据(例如,狗图像)。也就是说,属于组A(例如,猫图像组)的一些A型数据(例如,猫图像)被不正确地分类为B型数据,并且属于组B(例如,狗图像组)的一些B型数据(例如,狗图像)被不正确地分类为A型数据。这样的场景可能由于权重漂移所致,所述权重漂移由于例如来自包括利用初始权重集合编程的晶体管的单元的静电放电所致。
图6C图示了根据一些实施例的在部分数字再训练之后沿着决策边界A-B正确地对数据进行分类的第三决策边界绘图。如所示出的,在第二测试图像集合中,第三决策边界绘图600C中的决策边界A-B正确地界定了属于组A(例如,猫图像组)的所有A型数据(例如,猫图像)和属于组B(例如,狗图像组)的所有B型数据(例如,狗图像)。这样的场景可以发生在如下各项之后:i)对混合神经网络500的数字层的部分数字再训练以补偿前述的权重漂移、以及ii)后续利用第二测试图像集合测试混合神经网络500。此外,继针对第二测试图像集合而对混合神经网络500的部分数字再训练之后,混合神经网络500还应当能够在第一测试图像集合中正确地界定属于组A(例如,猫图像组)的所有A型数据(例如,猫图像)和属于组B(例如,狗图像组)的所有B型数据(例如,狗图像)。如果不是,则混合神经网络500可以受制于进一步的部分数字再训练,直到所有这样的数据都被正确地界定为止。
照此,由混合神经网络500做出决策可以包括针对一个或多个分类问题预测离散类。因此,数字层通过其用于以编程方式补偿混合神经网络500的突触权重的权重漂移的配置,被进一步配置为维持用于通过混合神经网络500预测离散类的正确投影的决策边界。
图7A-7C图示了相同的绘图,其中回归线不同地拟合该绘图的数据点。图7A图示了根据一些实施例的绘图,其中回归线R为该绘图的数据点提供良好的拟合。然而,图7B图示了根据一些实施例的绘图,其中回归线R归因于权重漂移或其他退化而不良地拟合该绘图的数据点。图7C图示了根据一些实施例的绘图,其中数字层补偿权重漂移,并且回归线R实现与该绘图的数据点的良好拟合。如图7B中的回归线R的不良拟合可能由于权重漂移所致,所述权重漂移由于例如来自包括利用初始权重集合编程的晶体管的单元的静电放电所致。混合神经网络500的数字层的部分数字再训练可以补偿前述的权重漂移。
照此,由混合神经网络500做出决策可以包括针对一个或多个回归问题预测连续量。因此,数字层通过其用于以编程方式补偿混合神经网络500的突触权重的权重漂移的配置,被进一步配置为维持用于通过混合神经网络500预测连续量的正确拟合的回归线。
为了测试诸如混合神经网络500的混合神经网络,测试数据生成器可以被构建到包括混合神经网络的神经形态IC(例如,神经形态IC 102)中,并且测试数据生成器可以被配置为生成用于测试(例如,分类测试或回归测试)混合神经网络500的测试数据。例如,测试数据生成器可以被配置为生成信号或数据集合,混合神经网络500应当将所述信号或数据集合分类为“C”型数据,但是仅仅是勉强分类。这样的数据集合可以用于确定或探寻出所述数据集合的边缘,以用于混合神经网络500的验证。测试数据生成器可以被配置为以任何期望的频率(包括但不限于:一小时一次或一天一次)生成用于测试的测试数据,以用于测量混合神经网络500的准确度以及后续的部分数字再训练(如果需要的话)。
方法
一种用于神经形态集成电路的方法在一些实施例中包括:对神经形态集成电路的多层模拟-数字混合神经网络的多个模拟层的突触权重进行编程,以用于由神经网络做出决策;通过使用由神经形态集成电路的测试数据生成器生成的测试数据,来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移,从而维持由神经网络做出决策的完整性。
所述方法可以进一步包括利用神经网络针对一个或多个回归问题预测连续量。通过神经网络预测连续量包括维持正确拟合的回归线,以用于通过神经网络预测连续量。维持正确拟合的回归线包括:利用由测试数据生成器生成的测试数据来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移。
所述方法可以进一步包括利用神经网络针对一个或多个分类问题预测离散类。通过神经网络预测离散类包括维持正确投影的决策边界。维持正确投影的决策边界包括:利用由测试数据生成器生成的测试数据来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移。
在前述描述中,参考本发明的特定示例性实施例来描述本发明。然而,将明显的是,在不脱离如所附权利要求中阐述的本发明的更宽的精神和范围的情况下,可以对其进行各种修改和改变。
Claims (18)
1.一种神经形态集成电路,包括:
多层模拟-数字混合神经网络,其包括
多个模拟层,其被配置为包括在神经网络的神经节点之间的突触权重以用于由神经网络做出决策,
其中正加权的乘积能够被存储在模拟乘法器阵列的第一列中,并且负加权的乘积能够被存储在模拟乘法器阵列的第二列中,以及
至少一个数字层,
其中数字层被配置用于以编程方式补偿神经网络的突触权重的权重漂移,从而维持由神经网络做出决策的完整性,以及
其中所述多个模拟层被设置在多个数据输入与数字层之间,并且其中数字层被设置在所述多个模拟层与多个数据输出之间,
其中正加权的乘积和负加权的乘积能够被视为差分电流值。
2.根据权利要求1所述的神经形态集成电路,其中神经网络被配置用于一个或多个分类问题、一个或多个回归问题或其组合。
3.根据权利要求2所述的神经形态集成电路,其中由神经网络做出决策包括针对一个或多个回归问题预测连续量,并且其中数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测连续量的正确拟合的回归线。
4.根据权利要求2所述的神经形态集成电路,其中由神经网络做出决策包括针对一个或多个分类问题预测离散类,并且其中数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测离散类的正确投影的决策边界。
5.根据权利要求1所述的神经形态集成电路,进一步包括:
测试数据生成器,其被配置为在周期性基础上生成测试数据,以用于测试由神经网络做出决策的完整性。
6.根据权利要求1所述的神经形态集成电路,其中模拟乘法器阵列包括在所述神经形态集成电路的存储器扇区中的二象限乘法器。
7.根据权利要求1所述的神经形态集成电路,其中所述神经形态集成电路被配置为靠电池功率操作。
8.一种神经形态集成电路,包括:
多层模拟-数字混合神经网络,其包括
多个模拟层,其被配置为包括在神经网络的神经节点之间的突触权重以用于由神经网络做出决策,和
至少一个数字层,
其中正加权的乘积能够被存储在模拟乘法器阵列的第一列中,并且负加权的乘积能够被存储在模拟乘法器阵列的第二列中,并且
其中数字层被配置用于以编程方式补偿神经网络的突触权重的权重漂移,从而维持由神经网络做出决策的完整性;
测试数据生成器,其被配置为在周期性基础上生成测试数据,以用于测试由神经网络做出决策的完整性;以及
其中所述多个模拟层被设置在多个数据输入与数字层之间,并且其中数字层被设置在所述多个模拟层与多个数据输出之间。
9.根据权利要求8所述的神经形态集成电路,其中由神经网络做出决策包括针对一个或多个回归问题预测连续量,并且其中数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测连续量的正确拟合的回归线。
10.根据权利要求8所述的神经形态集成电路,其中由神经网络做出决策包括针对一个或多个分类问题预测离散类,并且其中数字层通过其用于以编程方式补偿神经网络的突触权重的权重漂移的配置,进一步被配置为维持用于通过神经网络预测离散类的正确投影的决策边界。
11.根据权利要求8所述的神经形态集成电路,其中模拟乘法器阵列包括在所述神经形态集成电路的存储器扇区中的二象限乘法器。
12.根据权利要求8所述的神经形态集成电路,其中所述神经形态集成电路被配置用于一个或多个专用标准产品(“ASSP”),所述专用标准产品选自关键词定位、语音识别、一个或多个音频滤波器、语音增强、姿势识别、图像识别、视频对象分类和分割以及包括无人机的自主交通工具。
13.根据权利要求12所述的神经形态集成电路,其中所述神经形态集成电路被配置为靠电池功率操作。
14.一种用于神经形态集成电路的方法,包括:
对神经形态集成电路的多层模拟-数字混合神经网络的多个模拟层的突触权重进行编程,以用于由神经网络做出决策;
通过使用由神经形态集成电路的测试数据生成器生成的测试数据,来周期性地测试由神经网络做出决策的完整性;
对被设置在神经网络的最后的模拟层之后的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移,从而维持由神经网络做出决策的完整性;以及
其中正加权的乘积能够被存储在模拟乘法器阵列的第一列中,并且负加权的乘积能够被存储在模拟乘法器阵列的第二列中。
15.根据权利要求14所述的方法,进一步包括:
利用神经网络针对一个或多个回归问题预测连续量。
16.根据权利要求15所述的方法,进一步包括:
维持用于通过神经网络预测连续量的正确拟合的回归线,其中维持正确拟合的回归线包括利用由测试数据生成器生成的测试数据来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移。
17.根据权利要求14所述的方法,进一步包括:
利用神经网络针对一个或多个分类问题预测离散类。
18.根据权利要求17所述的方法,进一步包括:
维持用于通过神经网络预测离散类的正确投影的决策边界,其中维持正确投影的决策边界包括:利用由测试数据生成器生成的测试数据来周期性地测试由神经网络做出决策的完整性;以及对神经网络的数字层进行编程,以补偿神经网络的模拟层的突触权重中的权重漂移。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762539384P | 2017-07-31 | 2017-07-31 | |
US62/539384 | 2017-07-31 | ||
US16/048,099 US11748607B2 (en) | 2017-07-31 | 2018-07-27 | Systems and methods for partial digital retraining |
US16/048099 | 2018-07-27 | ||
PCT/US2018/044260 WO2019027849A1 (en) | 2017-07-31 | 2018-07-28 | SYSTEMS AND METHODS FOR PARTIAL DIGITAL RELEASE |
CN201880063926.1A CN111527502B (zh) | 2017-07-31 | 2018-07-28 | 用于部分数字再训练的系统和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880063926.1A Division CN111527502B (zh) | 2017-07-31 | 2018-07-28 | 用于部分数字再训练的系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117574975A true CN117574975A (zh) | 2024-02-20 |
Family
ID=65138355
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880063926.1A Active CN111527502B (zh) | 2017-07-31 | 2018-07-28 | 用于部分数字再训练的系统和方法 |
CN202311606191.1A Pending CN117574975A (zh) | 2017-07-31 | 2018-07-28 | 用于部分数字再训练的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880063926.1A Active CN111527502B (zh) | 2017-07-31 | 2018-07-28 | 用于部分数字再训练的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11748607B2 (zh) |
CN (2) | CN111527502B (zh) |
DE (1) | DE112018003891B4 (zh) |
WO (1) | WO2019027849A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918951B (zh) * | 2019-03-12 | 2020-09-01 | 中国科学院信息工程研究所 | 一种基于层间融合的人工智能处理器侧信道防御系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5107149A (en) * | 1990-12-18 | 1992-04-21 | Synaptics, Inc. | Linear, continuous-time, two quadrant multiplier |
US5298796A (en) * | 1992-07-08 | 1994-03-29 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Nonvolatile programmable neural network synaptic array |
US7398259B2 (en) * | 2002-03-12 | 2008-07-08 | Knowmtech, Llc | Training of a physical neural network |
US7483868B2 (en) * | 2002-04-19 | 2009-01-27 | Computer Associates Think, Inc. | Automatic neural-net model generation and maintenance |
DE112008003510T5 (de) | 2007-12-05 | 2010-11-04 | Hewlett-Packard Development Company, L.P., Houston | Im Mikro- und/oder Nanobereich liegende Neuromorphe integrierte Hybridschaltung |
US8275727B2 (en) * | 2009-11-13 | 2012-09-25 | International Business Machines Corporation | Hardware analog-digital neural networks |
CN102506983A (zh) * | 2011-10-31 | 2012-06-20 | 湖南师范大学 | 汽车衡称重误差自动补偿方法 |
US9177246B2 (en) * | 2012-06-01 | 2015-11-03 | Qualcomm Technologies Inc. | Intelligent modular robotic apparatus and methods |
CN103324979B (zh) * | 2013-06-28 | 2017-02-01 | 电子科技大学 | 一种可编程阈值电路 |
US9916530B2 (en) | 2014-10-03 | 2018-03-13 | The Regents Of The University Of California | Neuromorphic circuit model simulation that facilitates information routing and processing |
CN105930903B (zh) * | 2016-05-16 | 2018-04-10 | 浙江大学 | 一种数模混合神经网络芯片体系结构 |
-
2018
- 2018-07-27 US US16/048,099 patent/US11748607B2/en active Active
- 2018-07-28 WO PCT/US2018/044260 patent/WO2019027849A1/en active Application Filing
- 2018-07-28 CN CN201880063926.1A patent/CN111527502B/zh active Active
- 2018-07-28 DE DE112018003891.2T patent/DE112018003891B4/de active Active
- 2018-07-28 CN CN202311606191.1A patent/CN117574975A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN111527502A (zh) | 2020-08-11 |
DE112018003891T5 (de) | 2020-04-16 |
WO2019027849A1 (en) | 2019-02-07 |
DE112018003891B4 (de) | 2022-05-25 |
US11748607B2 (en) | 2023-09-05 |
US20190034790A1 (en) | 2019-01-31 |
CN111527502B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373091B2 (en) | Systems and methods for customizing neural networks | |
CN111742330B (zh) | 始终开启的关键字检测器 | |
US20220157384A1 (en) | Pulse-Width Modulated Multiplier | |
US11880226B2 (en) | Digital backed flash refresh | |
US11868876B2 (en) | Systems and methods for sparsity exploiting | |
US20190065962A1 (en) | Systems And Methods For Determining Circuit-Level Effects On Classifier Accuracy | |
WO2020243922A1 (en) | Automatic machine learning policy network for parametric binary neural networks | |
US20190026629A1 (en) | Systems and Methods for Overshoot Compensation | |
CN111527502B (zh) | 用于部分数字再训练的系统和方法 | |
CN111656360B (zh) | 稀疏性利用的系统和方法 |
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 |