CN108205705A - 用于归一化神经网络设备的装置和方法 - Google Patents

用于归一化神经网络设备的装置和方法 Download PDF

Info

Publication number
CN108205705A
CN108205705A CN201710946858.0A CN201710946858A CN108205705A CN 108205705 A CN108205705 A CN 108205705A CN 201710946858 A CN201710946858 A CN 201710946858A CN 108205705 A CN108205705 A CN 108205705A
Authority
CN
China
Prior art keywords
signal
line
unit
output
neural network
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
Application number
CN201710946858.0A
Other languages
English (en)
Other versions
CN108205705B (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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN108205705A publication Critical patent/CN108205705A/zh
Application granted granted Critical
Publication of CN108205705B publication Critical patent/CN108205705B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • 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
    • 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/044Recurrent networks, e.g. Hopfield 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/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • 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
    • G06N3/065Analogue means
    • 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

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)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Analysis (AREA)
  • Semiconductor Memories (AREA)

Abstract

一种神经网络设备可以包括:输入单元,适用于将输入信号施加到对应的第一线;计算单元,包括交叉连接在第一线与第二线之间的存储器元件,其中存储器元件具有相应的权重值,并且产生来自多个第一线之中的对应第一线的输入信号与权重的乘积信号,以将乘积信号输出到来自第二线之中的对应第二线;漏失连接控制单元,包括连接在多个第一线与多个存储器元件之间的开关,并且适用于随机地漏失施加到来自多个存储器元件之中的对应存储器元件的输入信号的连接;输出单元,连接到多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活多个第二线的信号,以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。

Description

用于归一化神经网络设备的装置和方法
相关申请的交叉引用
本申请要求2016年12月16日在韩国知识产权局提交的申请号为10-2016-0172605的韩国专利申请的优先权,其公开的内容通过引用整体合并于此。
技术领域
本公开的示例性实施例涉及一种用于使用漏失连接(drop-connect)和/或漏失(dropout)来执行神经网络设备的归一化的装置和方法。
背景技术
在人脑中,存在为数千亿单位的神经细胞的神经元,该神经元形成复杂的神经网络。神经元通过经由突触将信号传输到成千单位的其他神经元和/或从成千单位的其他神经元接收信号来显示智能。神经元是神经系统的结构和功能单位,并且可以是信息传递的基本单位。突触可以是神经元之间的连结部分,并且可以接触另一个神经元。神经网络设备可以是使人造神经系统将这种神经网络复制到神经元水平的设备。
神经网络设备可以是用于将特定信息任意地分配给神经元并且使对应的神经元学习被分配的信息的方式。在神经网络设备中,神经元可以接触另一神经元的突触以接收信息,并且还可以将信息输出到另一个神经元作为输入信息。
神经网络设备的算法可以具有高复杂度。例如,一个神经元可以接收许多信息。神经元可以执行用各个相应的权重计算接收到的信息的操作。因此,为了改善神经网络设备的复杂度,可能需要归一化和/或正则化。
发明内容
各种实施例涉及一种能够对神经网络设备的计算进行归一化和/或正则化的装置和方法。
此外,各种实施例涉及一种能够在神经网络中将输入到忆阻器的信号归一化的装置和方法,该神经网络使用忆阻器来处理信息。
此外,各种实施例涉及一种能够在神经网络设备中漏失忆阻器的节点输出装置和方法,该神经网络设备使用忆阻器来处理信息。
此外,各种实施例涉及一种能够在神经网络设备中使用漏失连接功能和漏失功能来执行归一化装置和方法,该神经网络设备使用忆阻器来处理信息。
在一个实施例中,神经网络设备包括:输入单元,适用于将多个输入信号施加到多个对应第一线;计算单元,包括交叉连接(cross-connected)在多个第一线与多个第二线之间的多个存储器元件,其中多个存储器元件具有相应的权重值,并且产生来自多个第一线之中的对应第一线的输入信号与权重的乘积信号,以将乘积信号输出到来自多个第二线之中的对应第二线;漏失连接控制单元,包括连接在多个第一线与多个存储器元件之间的开关,并且适用于随机地漏失施加到来自多个存储器元件之中的对应存储器元件的输入信号的连接;以及输出单元,连接到多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活多个第二线的信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
在一个实施例中,神经网络设备包括:输入单元,适用于将多个输入信号施加到多个第一线;计算单元,包括交叉连接在多个第一线与多个第二线之间的多个存储器元件,其中多个存储器元件具有相应的权重值,并且产生来自多个第一线之中的对应第一线的输入信号与权重的乘积信号,以将乘积信号输出到来自多个第二线之中的对应第二线;漏失连接控制单元,包括连接在多个第一线与多个存储器元件之间的开关,并且适用于随机地漏失施加到来自多个存储器元件之中的对应存储器元件的输入信号的连接;以及漏失控制单元,包括连接到多个第二线的开关,并且适用于随机地漏失多个第二线之中的至少一个第二线的信号;以及输出单元,连接到多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活多个第二线的信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
在一个实施例中,用于操作神经网络设备的方法包括:将多个输入信号施加到交叉连接在多个第一线与多个第二线之间且具有与权重值相对应的相应电阻值的存储器元件的多个第一线;执行漏失连接操作,其中来自连接到多个第一线和存储器元件的第一开关之中的对应部分的第一开关被开关控制,以漏失施加到存储器元件的输入信号的连接;在第二线中将由对应的输入信号与存储器元件中的电阻值产生的电流信号组合,以产生节点的信号;执行通过激活函数激活第二线的信号并且将被激活的信号反馈给输入信号的输出操作。
在一个实施例中,神经网络设备包括:输入单元,适用于将输入信号施加到多个第一线;计算单元,包括交叉连接在多个第一线与多个第二线之间的多个存储器元件,其中多个存储器元件具有相应的权重值,并且产生来自多个第一线之中的对应第一线的输入信号与权重的乘积信号,以将乘积信号输出到来自多个第二线之中的对应第二线;漏失控制单元,适用于漏失来自多个第二线之中的至少一个第二线的信号;以及输出单元,连接到多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活多个第二线的对应信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
在一个实施例中,神经网络设备包括:输入单元,适用于将信号输入到多个第一线;漏失控制单元,适用于漏失来自多个第一线之中的至少一个第一线的信号;计算单元,包括交叉连接在多个第一线与多个第二线之间的多个存储器元件,其中多个存储器元件具有相应的权重值,并且产生对应输入信号与权重的乘积信号,以将乘积信号输出到来自多个第二线之中的对应第二线;以及输出单元,连接到多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活多个第二线的信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
在一个实施例中,用于操作神经网络设备的方法包括:将多个输入信号施加到交叉连接在多个第一线与多个第二线之间且具有对应于权重值的相应电阻值的存储器元件的多个第一线;通过在第二线中将由对应的输入信号与存储器元件中的电阻值产生的电流信号组合来产生节点的信号;漏失从第二线之中的选中的第二线的信号;以及执行选择性地激活第二线的信号并且将被激活的信号反馈给输入信号的输出操作。
附图说明
图1是示出神经元的结构的示图。
图2是示出感知器的结构的示图。
图3是示出多层感知器(MLP)的结构的示图。
图4A和图4B是示出根据本公开的各种实施例的神经网络设备中的正则化方法的示例的示图。
图5是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备的示图。
图6是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备的归一化单元、计算单元以及输出单元的示图。
图7是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备的电路图。
图8A至图8D是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备中的输出单元及其操作的示图。
图9是示出根据本公开的各种实施例的用于将输出信号反馈并输入到具有漏失连接功能的神经网络中的下一层的回路操作的示图。
图10A和图10B是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备中的随机信号发生单元的示例的示图。
图11是示出根据本公开的各种实施例的具有归一化操作的神经网络设备的示图。
图12是示出根据本公开的各种实施例的具有归一化操作的神经网络设备的电路图。
图13是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的示图。
图14是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的计算单元、漏失控制单元以及输出单元的示图。
图15是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的电路图。
图16是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的计算单元、漏失控制单元以及输出单元的示图。
图17是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的电路图。
具体实施方式
在下文中,将参考附图详细描述本公开的实施例。下面的描述将着重于理解本公开的实施例所需的配置。因此,将省略可能混淆本公开要点的其他配置的描述。
图1示出神经元的结构。
参考图1,神经网络算法可以是通过对哺乳动物的大脑进行数学建模而获得的算法。哺乳动物的大脑由如网状的许多单体编织形成,并且这些单体中的每个单体可以是具有图1的结构的神经元。在神经元中,每个突触101可以将电信号传递到另一个神经元的突触。突触101传递电信号的方式可以是N:N匹配,而不是1:1匹配。换言之,一个突触可以将电信号传递给一个突触,并且一个突触也可以将电信号传递到若干突触。
图2示出感知器的结构,图3示出多层感知器(MLP)的结构。
参考图2,感知器可以是对神经元单体建模的数学模型。感知器可以是神经网络设备的基本模型。感知器可以是用于制造人类神经细胞作为可计算类型的神经元的算法。
感知器可以将多个输入乘以与输入相对应的相应权重,然后通过对相乘的值求和(即,乘积之和)来产生结果值。仅供说明,图2示出其中三个输入x0至x2分别乘以与其相对应的三个权重w0至w2的结构,并且相乘的信号通过加法器Σ来求和(乘积之和或向量乘法之和)。在图2中,b意指偏置,并且可以用于学习用于判断是否激活输入数据的阈值。感知器可以是能够解决线性可分离(例如,使用权重之和的可分离)限制的算法。感知器可以执行线性分离函数,但不执行非线性分离函数。
感知器可以找到用于将学习向量线性分离成两个类别的线性边界。权重可以是用于表示线性边界的方向性或形状的值。偏置可以是用于表示线性边界的截距的值,并且阈值可以指用于激活特定值的最小值。激活函数可以用于通过特定计算来对乘积之和(SOP)的值进行归一化或触发。根据各种实施例,诸如双弯曲(Sigmoid)函数、阶梯函数、线性函数或ReLu函数的函数可以被用作激活函数。每个函数激活SOP,并且针对每个函数的每个值都不同。相反,在MLP中,可以使用其他类型的激活函数。换言之,作为形成人工神经网络的最小单体,当SOP比阈值大时,神经元可以被激活以输出1,而当SOP比阈值小时,神经元可以被去激活以输出0。如图2所示的感知器(即,单层感知器)可以由输入层和输出层形成。输入层可以是被输入学习向量或输入向量的层。输入层的数据可以被传递到输出层神经元,并且被输出为根据激活函数的值。
参考图3,MLP可以使用多个线性分离函数来执行非线性分离函数。非线性分离函数可以通过在网格中编织多个层的感知器来解决。MLP可以是由输入层、由隐藏节点形成的隐藏层以及输出层形成的前馈神经网络。仅供说明,图3示出了由具有输入值x0至x2和偏置bx的输入层、具有节点a0至a2的隐藏层以及具有节点o1和o2的输出层形成的MLP结构。具有图1的结构的神经元的每个突触101可以执行n:n匹配。在图3中,x0至x2可以是神经元,或者可以是系统中提供的输入。节点a0至a2可以是神经元。因此,如图3所示,输入层和隐藏层的神经元可以将n:n匹配电信号分别施加到对应的神经元。
输入层可以在不改变的情况下将接收到的值传递到隐藏层。隐藏层可以包括多个节点(例如,a0至a2)。隐藏层的每个节点可以将多个输入信号乘以相应的权重,然后输出SOP,该SOP是相乘的信号被求和的信号。隐藏层可以执行求和计算和激活函数计算,然后将计算结果传递到输出层。输出层也可以执行求和计算和激活函数计算,并且产生作为输出信号的计算结果。换言之,MLP可以执行从输入层的左侧开始并向右进入隐藏层和输出层的正演计算(forward calculation),隐藏层和输出层中的每个可以执行权重求和计算和激活函数计算。权重求和计算可以是用于将输入层或隐藏层的节点组合的类型。作为非线性函数(例如sigmoid函数),激活函数可以是适用于对隐藏层中的来自输入层的输入变量执行转换的函数或适用于执行输出层中的来自隐藏层的节点的输出的组合的函数。神经网络设备的算法可以具有非常高的复杂度。在这种情况下,神经网络设备可以被过拟合,并且其操作时间可以被延长。根据本公开的各种实施例的神经网络设备可以使用归一化方案来解决其复杂度。神经网络设备的归一化方案可以是漏失连接和/或漏失方案。
图4A和图4B是示出根据本公开的各种实施例的神经网络设备中的正则化或剪枝方法的示例的示图。图4A示出使用漏失连接方案来执行正则化功能的神经网络设备的结构。图4B示出使用漏失方案来执行正则化功能的神经网络设备的结构。
参考图4A,漏失连接可以是用于漏失或剪枝输入信号的被施加到隐藏层的节点的连接的方案。漏失连接可以是当一个层的输出值乘以权重并被传递到下一层时不施加某些值的方案。在图4A中,可以存在前一层的从节点x0 411到节点x2 415输出的节点输出。节点a0 451到节点a2 455可以是电流节点。例如,图4A示出了来自节点x0 411至节点x2 415的输出信号之中的信号431、433和435(如虚线所示)被漏失连接。
参考图4B,漏失或剪枝可以是指使一个层的节点之中的一些节点不操作。换言之,漏失可以是指来自前一层的值既不被接收也不被传递到下一层的操作。漏失方案可以去除相对于训练示例具有随机设置的比率的隐藏节点,而剪枝可以是用于去除相对于测试示例具有随机设置的比率的隐藏节点的方案。由于在操作中这些漏失和剪枝方法之间没有差异,所以两种功能都可以在一个硬件中实施。例如,图4B示出了节点a0 451至节点a2 455之中的节点a0 451和节点a2 455(如虚线所示)被漏失。在一些实施例中,当神经网络设备使用包括第一线和第二线的忆阻器(例如,电阻式随机存取存储器(RRAM或ReRAM))来实施时,节点x0至节点x2可以是输入到忆阻器的第一线的信号,并且节点a0到节点a2可以是连接到忆阻器的第二线的忆阻器单元。在这种情况下,如图4B中的漏失可以是第二线中的至少一个的SOP被漏失的示例。在一些实施例中,漏失可以以对所有层执行的类型来运行,而不是仅对一个层执行,并且以0.5的概率来执行,而不是以0.1或0.9的极端概率来执行。此外,输入可以以舍弃比0.5更多的节点的类型来执行。
图5示出了根据本公开的各种实施例的具有漏失连接功能的神经网络设备。
参考图5,神经网络设备可以包括输入单元510、归一化控制单元520、计算单元530以及输出单元540。输入单元510可以接收输入信号或计算信号。例如,输入单元510可以在初始操作时接收外部输入信号(例如,Vin),并且接收从输出单元540输出的计算信号(例如,Vout)。在图5的神经网络设备用忆阻器来实施的情况下,输入单元510可以将输入信号施加到忆阻器的第一线(例如,图4A的431-435中的至少一个)。
计算单元530可以包括多个节点,该多个节点中输入信号乘以对应的权重,然后相乘的结果被求和。计算单元530可以由忆阻器来实施。忆阻器是由涉及电荷和磁通量的非线性、无源、双端电元件形成的存储器件,诸如电阻式随机存取存储器(ReRAM)、相变RAM(PCRAM)或磁阻RAM(MRAM)。计算单元530的节点可以在产生多个输入信号与对应于输入信号的权重的乘积信号之后分别输出求和的信号。当使用忆阻器时,输入信号与权重的乘积可以被表示为电流值,而SOP信号可以被表示为电流值的和。例如,计算单元530可以包括交叉连接在第一线和第二线之间的多个忆阻器。此外,连接到第二线的忆阻器将通过输入信号乘以相应的权重值而获得的信号施加到对应的第二线,并且来自忆阻器的乘积信号在第二线处被组合以被产生为SOP。例如,每个SOP可以是节点输出(例如,节点451到455的输出)。
归一化控制单元520可以漏失施加到包括在计算单元530中的忆阻器之中的特定忆阻器的输入信号的连接。例如,归一化控制单元520可以包括介于第一线与相应的忆阻器的输入级之间的开关以及随机信号发生单元(例如,图6的635)。归一化控制单元520可以控制由随机信号发生单元的随机信号选中的开关,以漏失施加到忆阻器的输入信号的连接。
输出单元540可以基于阈值来判断是否激活计算单元530的节点信号,并且基于判断的结果来产生输出信号。
在图5所示的神经网络设备中,计算单元530可以基于忆阻器来产生节点的SOP信号,并且归一化控制单元520可以通过随机信号来控制输入到计算单元530的信号以执行漏失连接功能。
使用基于SRAM的突触的情况可能在改善完整性和储存模拟信息方面具有困难。诸如忆阻器的ReRAM具有简单的结构并且可以储存大量信息,因此正在积极地进行针对基于ReRAM的突触的研究。ReRAM是使用电阻的存储器。ReRAM可以是交叉连接在第一线和第二线之间的单元的阵列,并且单元可以包括电阻充电元件。电阻充电元件的电阻R值可以是权重值。
计算单元530可以具有忆阻器(例如,ReRAM)单元阵列的配置。当形成MLP时,每个节点可以通过多个第一线来接收信号,产生SOP,以及通过一个第二线输出SOP。换言之,节点的配置可以通过交叉连接在多个第一线与一个第二线之间的多个忆阻器(例如,ReRAM)单元阵列来实施。这里,包括在连接到一个第二线的忆阻器单元阵列中的电阻充电元件的电阻值可以被设置为不同的值(即,权重值)。
图6是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备的归一化单元、计算单元以及输出单元的示图。例如,图6示出了图5中的神经网络设备的输入单元510、归一化单元520、计算单元530以及输出单元540。
参见图6,输入单元510可以将从外部初始接收到的第一输入信号Vin施加到第一线L11至L1n,并且在计算时段中,输入单元510可以将从输出单元540反馈的信号Vout作为第二输入信号施加到第一线L11到L1n。
计算单元530可以包括交叉连接在第一线L11至L1n与第二线L21至L2n之间的N*N个忆阻器(例如,ReRAM)单元R11至Rnn。忆阻器单元R11至Rnn可以具有如图4A中所示的结构并且具有相应的唯一电阻值R,而电阻值R可以对应于权重值W=1/R。此外,连接到第二线L21至L2n的单元R11至Rn1、R12至Rn2……R1n至Rnn可以是形成相应的节点1ND1至节点nNDn的单元。当输入信号被施加到相应的第一线时,连接到节点ND1至NDn的忆阻器(例如,ReRAM)单元可以基于分别设置的电阻值来产生电流信号(即,输入信号与权重的乘积信号),以将产生的电流信号施加到第二线L21至L2n。然后,电流信号可以被输出为第二线L21至L2n中的各个节点ND1至NDn的SOP。
归一化控制单元520可以包括连接在第一线L11至L1n与分别对应的忆阻器R11至Rnn之间的开关S11至Snn。用于控制开关S11至Snn的接通/关断的选择信号Sel11至Selnn可以由随机信号发生单元635来产生。随机信号发生单元635可以控制开关S11至Snn的开关,使得全部输入信号中特定比率(即,50%)的输入信号不被计算。
输出单元540可以包括转换单元640和激活单元645。转换单元640可以接收从归一化控制单元520接收的节点ND1至NDn的SOP。此时的SOP可以是电流信号。转换单元640可以将电流信号转换为电压。激活单元645可以通过设置的阈值来激活或去激活从转换单元640接收的节点的SOP。输出单元540可以在设置的计算时段中将输出信号作为输入单元510的第二输入信号Vout来施加。输出信号的输出可以在计算终止时被执行。
图7是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备的电路图。例如,图7示出图5和图6中的神经网络设备的输入单元510、归一化单元520、计算单元530以及输出单元540的电路。
参考图7,输入单元510可以包括选择器711和713。归一化单元520可以包括开关721到724。计算单元530可以包括忆阻器731到734。输出单元540可以包括转换器741和743以及比较器745和747。
图7所示的计算单元530呈现了一个节点包括两个忆阻器的示例。忆阻器731至734可以分别具有唯一电阻值,并且基于输入信号和电阻值来产生电流信号。由忆阻器731至734产生的电流(即,输入信号与权重的相乘信号)可以被施加到对应的第二线,并且对应节点的电流信号在第二线中被组合以被产生为SOP。例如,图7中的第一节点可以包括分别具有电阻值R1和R2的忆阻器731和732,并且第二节点可以包括分别具有电阻值R3和R4的忆阻器733和734。
根据本公开的各种实施例的神经网络设备可以使用忆阻器元件来执行硬件建模。忆阻器731和732可以是计算单元530的第一节点,而忆阻器733和734可以是计算单元530的第二节点。选择器711可以选择Vin1和Vout1中的一个作为输入信号,并且可以将选中的信号施加到线L11。选择器713可以选择Vin2和Vout2中的一个作为输入信号,并且可以将选中的信号施加到线L12。线L11和L12可以是被施加输入信号的第一线。
在第一节点的配置中,忆阻器731可以交叉连接在线L11与线L21之间并且可以具有电阻值R1。忆阻器731可以基于输入信号Vin1或Vout1和电阻值R1来产生电流信号,并且可以将产生的电流信号施加到线L21。忆阻器732可以交叉连接在线L12与线L21之间并且可以具有电阻值R2。忆阻器732可以基于输入信号Vin2或Vout2和电阻值R2来产生电流信号,并且可以将产生的电流信号施加到线L21。在第二节点的配置中,忆阻器733可以交叉连接在线L11与线L22之间并且可以具有电阻值R3。忆阻器733可以基于输入信号Vin1或Vout1和电阻值R3来产生电流信号,并且可以将产生的电流信号施加到线L22。忆阻器734可以交叉连接在线L12与线L22之间并且可以具有电阻值R4。忆阻器734可以基于输入信号Vin2或Vout2和电阻值R4来产生电流信号,并且可以将产生的电流信号施加到线L22。电阻值R1至R4可以对应于权重值(即,G=1/R)。忆阻器可以被分别设置为唯一电阻值。
因此,忆阻器731和732可以将对应的输入信号乘以相应的权重(即,分别设置的唯一电阻值),以将相乘的值输出到线L21。在这种情况下,施加到线L21的第一节点的组合电流可以根据下面的等式(1)来表示。
I1=Vin1×G1+Vin2×G2
I=∑(Vin×G) (1)
在等式(1)中,I1是与在线21中产生的第一节点的SOP相对应的电流值,Vin1和Vin是输入信号,以及G1和G2是基于忆阻器731和732的电阻值R1和R2的相应权重值。第二节点I2的SOP可以以相同的方式来产生。在根据本公开的各种实施例的神经网络设备的神经网络算法的基本操作中,SOP可以基于忆阻器来产生。
由忆阻器产生的SOP可以被表示为电流I1和I2。与图6的转换单元640相对应的转换器741和743可以将分别对应的第一节点和第二节点的电流I1和I2转换为电压Vo。与图6的激活单元645相对应的比较器745和747可以判断是否激活由转换器741和743转换的电压,并且可以输出信号Vout1和Vout2。比较器745和747可以用被馈送电源电压+Vcc/-Vcc以执行激活函数的运算放大器来实施,该比较器745和747分别接收由转换器741和743转换的电压。例如,当接收到的电压小于特定参考电压Vref时,比较器745和747可以将-Vcc分别输出为输出信号Vout1和Vout2,而当接收到的电压大于参考电压Vref时,比较器745和747可以将+Vcc分别输出为输出信号Vout1和Vout2。这里,Vref可以由图2和图3的偏置电压b和bx来确定。
图8A至图8D是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备中的输出单元及其操作的示图。例如,图8A示出图5至图7中的神经网络设备中的输出单元540的激活单元645。
参考图8A至图8D,激活单元645可以由比较器形成,该比较器由如图8A中所示的运算放大器来实施。图8B示出了比较器的操作特性。比较器可以具有以下输出特性。
如果VIN>VREF,则Vout=+Vcc
如果VIN<VREF,则Vout=-Vcc (2)
图8B中的比较器的特性可以具有与如图8C中的sigmoid函数的特性类似的特性。神经网络设备可以使用用于组合输入信号的组合函数和用于组合输入信号以修改被组合的信号的激活函数。组合函数用于使输入信号变成一个信息,并且组合函数可以是权重数据。此时,激活函数是用于将输入信号的组合值(例如,SOP)传递到输出层或隐藏层的函数,并且激活函数可以是能够将SOP改变为特定范围内的值的函数。sigmoid函数可以是最多用作激活函数的函数。当输出值接近于0时,sigmoid函数可以具有接近线性函数的特性。在神经网络设备中,可以知道当比较器745和747的+Vcc充分大且-Vcc被设置为0时,sigmoid函数与如图8D中所示的激活函数(即,ReLU激活函数)类似。根据比较器的操作,可以实施各种激活函数。
从比较器745输出的输出信号Vout1可以根据以下等式(3)来表示。此外,从比较器747输出的输出信号Vout2可以以等式(3)的相同方法来获得。
Vout1=COMP(I1×Rf)=COMP(∑(Vin×G)×Rf) (3)
从比较器745和747输出的输出电压Vout1和Vout2可以作为是输入单元的选择器711和713的第二输入信号而分别被施加。在神经网络设备中执行计算操作时,可以选择从外部接收到的第一输入信号Vin1或Vin2,而在其后的计算时段中,可以选择是计算信号的第二输入信号Vout1或Vout2。因此,计算单元530可以基于第一输入信号Vin1或Vin2来执行计算操作,并且此后,可以基于第二输入信号Vout1或Vout来执行计算操作。此外,当计算操作被执行设置的次数时,可以产生计算的最终输出信号。
图9是示出根据本公开的各种实施例的用于在具有漏失连接功能的神经网络设备中将输出信号向前馈送并输入到下一层的回路操作的示图。
参考图9,根据第一输入Vin的神经网络设备的第一层的输出可以根据以下等式(4)来表示。
Vout1=comparator[(Vin1*R1+Vin2*R2)vs Vref]
Vout2=comparator[(Vin1*R3+Vin2*R4)vs Vref] (4)
(式中,comparator(比较器))
因此,神经网络设备的输出Vout可以根据以下等式(5)来表示。
Vout=(∑i,j(Vini×Ri,j)) (5)
然后,神经网络设备的第二层的输出可以如以下等式(6)那样来获得以作为神经网络设备的输出,在神经网络设备中根据等式(4)产生的输出信号Vout1和Vout2被当作输入。
Vout1′=comparator[(Vout1*R1+Vout2*R2)vs Vref]
Vout2′=comparator[(Vout1*R3+Vout2*R4)vs Vref] (6)
(式中,comparator(比较器))
如等式4和6所示,神经网络设备可以基于输入信号来产生SOP,并且判断是否激活产生的SOP以产生输出信号。神经网络设备的输出信号可以根据以下等式(7)来表示。
(式中,output(输出)、activation function(激活函数)、input(输入)、weight(权重))
由于如图7中的神经网络设备具有高复杂度,因此可以添加归一化功能和/或正则化功能。归一化方案和/或正则化方案中的一个可以是漏失连接方案。如图4A中所示,漏失连接方案可以漏失施加到忆阻器的一个或更多个输入信号的连接。
再次参考图6,在漏失连接方案中,开关S11至Snn被连接到计算单元530的忆阻器R11至Rnn的输入级,开关S11至Snn的接通/关断操作可以通过由随机信号发生单元635产生的随机信号Sel11至Selnn来控制。图6的计算单元530可以是图7的开关721至724,图6的随机信号发生单元635可以是图7中的随机信号发生单元735。
再次参考图7,开关721连接在线L11与忆阻器731之间,并且可以通过选择信号Sel1来漏失施加到忆阻器731的输入信号的连接。开关722连接在线L12和忆阻器732之间,并且可以通过选择信号Sel2来漏失施加到忆阻器732的输入信号的连接。开关723连接在线L11和忆阻器733之间,并且可以通过选择信号Sel3漏失施加到忆阻器733的输入信号的连接。开关734连接在线L12和忆阻器734之间,并且可以通过选择信号Sel4来漏失施加到忆阻器734的输入信号的连接。
随机信号发生单元735可以产生能够漏失一部分输入信号的连接的开关控制信号Sel1至Sel4。
图10A和图10B是示出根据本公开的各种实施例的具有漏失连接功能的神经网络设备中的随机信号发生单元的示例的示图。例如,图10A和图10B的随机信号发生单元的示例可以是图6和图7的随机信号发生单元635和735。
参考图10A和图10B,随机信号发生单元可以使用N比特位斐波纳契(Fibonacci)线性反馈移位寄存器(LFSR)。斐波纳契LFSR可以由移位寄存器和用于对移位寄存器的一部分执行异或运算的异或(XOR)门构成。例如,图10A和图10B示出了异或门对最终输出和位于最终输出的前一级处的数据执行异或运算,并且施加运算结果作为移位寄存器的输入。随机信号发生单元可以被提供有如图10A中的多个斐波纳契LFSR,以产生用于控制每个节点的漏失的开关控制信号Sel1和Sel2。此外,随机信号发生单元可以被提供有如图10B中的一个斐波纳契LFSR,以产生用于控制每个节点的漏失的开关控制信号Sel1和Sel2。在图10A和图10B中,当开关控制信号为1时,可以应用漏失,而当开关控制信号为0时,可以不应用漏失。随机信号发生单元可以产生随机信号,使得漏失比率(例如,被输出为1的信号的比率)变为50%。
再次参考图7,忆阻器(例如,ReRAM)731至734可以具有相应的唯一电阻值R1至R4,并且可以改变这些电阻值。此外,忆阻器731至734的电阻值可以对应于权重值。在第一回路中,当输入Vin1和Vin2被输入时,忆阻器731至734基于先前设置的电阻值R1至R4来产生电流信号,并且这些电流信号在线L21和L22(即,第一节点和第二节点)中被组合以被产生为电流I1和I2(即,SOP1和SOP2)。此时,电流I1是在忆阻器731处由R1和Vin1产生的电流与在忆阻器732处由R2和Vin2产生的电流的和。电流I1是神经网络设备的第一层的一个节点输出。电流I2可以是在忆阻器733处由R3和Vin1产生的电流与在忆阻器734处由R4和Vin2产生的电流的和。电流I2可以是神经网络设备的第一层的另一个节点输出。
神经网络设备可以通过漏失连接(或剪枝)功能来提高算法的性能。漏失连接可以使输入到计算单元530的一部分信号为0。根据本公开的各种实施例的神经网络设备的漏失连接可以使用用于使输入到形成计算单元530的忆阻器的一部分的信号为0的方案(即,用于漏失输入信号的连接的方案)。输入信号的选择可以由随机信号发生单元735来确定。随机信号发生单元735可以通过具有如图10B中的配置的N比特位斐波纳契LFSR来实施。由随机信号发生单元735产生的开关控制信号可以被施加到开关721和723,以漏失施加到转换器741和743的节点L21和L22的SOP。转换器741和743可以在其输入为0时漏失对应节点的输出。
为了将当前层(例如,第一层)的输出施加到下一层(例如,第二层)的输入,转换器741和743可以分别将电流I1和I2转换成电压。转换器741和743可以由将电流转换成电压的运算放大器配置。转换器741和743的反馈电阻器Rf可以使用任意合适的值。转换器741和743的输出可以作为比较器745和747的比较输入来被施加。比较器745和747的参考电压Vref可以被设置为合适的值。比较器745和747将来自转换器741和743的电压与参考电压Vref进行比较,以分别输出Vout1和Vout2。比较器745和747可以改变参考电压Vref的设置值,并且根据设置通过RuLU激活函数或sigmoid函数来表示设置值。
从比较器745和747输出的输出电压Vout1和Vout2可以是下一层的输入信号,并且可以作为第二输入信号被施加到图4的输入单元510。输入单元510可以选择用于将第二输入施加到计算单元530的第一线的第二输入信号。神经网络设备可以重复地执行上述的操作与设置的次数一样多次,并且当达到设置的次数时,将最终输出Vout输出到外部。
图11是示出根据本公开的各种实施例的具有归一化操作的神经网络设备的示图。
参考图11,神经网络设备可以包括输入单元1110、第一归一化控制单元1120、计算单元1130、第二归一化控制单元1140以及输出单元1150。输入单元1110可以接收输入信号或计算的信号。例如,输入单元1110可以在初始操作时从外部接收输入信号(例如,Vin),而在操作时段中接收从输出单元1150输出的信号(例如,Vout)。输入单元1110可以将输入信号施加到第一线。
计算单元1130可以包括多个节点,在该多个节点中,输入信号乘以对应的权重,然后相乘的结果被求和。计算单元1130可以由忆阻器(例如,电阻式随机存取存储器(ReRAM))来实施。计算单元1130的节点可以分别输出SOP,该SOP为在产生多个输入信号与对应于输入信号的权重的乘积信号之后被求和的信号。计算单元1130可以包括交叉连接在第一线与第二线之间的多个忆阻器。
第一归一化控制单元1120可以漏失施加到计算单元1130中所包括的忆阻器之中的特定忆阻器的输入信号的连接。例如,第一归一化控制单元1120可以包括介于第一线与相应的忆阻器的输入级之间的开关以及第一随机信号发生单元(例如,图12的1225)。第一归一化控制单元1120可以控制由第一随机信号发生单元的随机信号选中的开关,以漏失施加到对应的忆阻器的输入信号的连接。
第二归一化控制单元1140可以通过随机信号来漏失计算单元1130的多个节点信号的一部分。例如,第二归一化控制单元1140可以包括连接到第二线的开关以及第二随机信号发生单元(例如,图12的1245)。第二归一化控制单元1140可以控制由第二随机信号发生单元的随机信号选中的开关,以漏失由第二随机信号选中的特定的第二线信号。
输出单元1150可以基于阈值来判断是否激活计算单元1130的节点信号,并且基于判断的结果来产生输出信号。
图11中所示的神经网络设备中的计算单元1130可以基于忆阻器来产生节点的SOP信号,第一归一化控制单元1120可以通过第一随机信号来使输入到计算单元1130的信号漏失连接,以及第二归一化控制单元1140可以通过第二随机信号来漏失从计算单元1130输出的节点信号。
图12是示出根据本公开的各种实施例的具有归一化操作的神经网络设备的电路图。例如,图12示出了图11中的神经网络设备的输入单元1110、第一归一化单元1120、计算单元1130、第二归一化单元1140以及输出单元1150的电路。
参考图12,输入单元1110可以包括选择器1211和1213。计算单元1130可以包括忆阻器1231至1234。第一归一化控制单元1120可以包括第一随机信号发生单元1225和开关1221至1224。第二归一化控制单元1140可以包括开关1241和1243以及第二随机信号发生单元1245。输出单元1150可以包括转换器1251和1253以及比较器1255和1257。
图12中所示的计算单元1130表示一个节点包括两个忆阻器的示例。忆阻器1231至1234可以分别具有唯一电阻值,并且基于输入信号和它们的电阻值来产生电流信号。由忆阻器1231至1234产生的电流(即,输入信号与权重的相乘信号)可以被施加到对应的第二线L21和L22,并且对应节点的电流信号在第二线L21和L22中被组合以被产生为SOP。例如,图12中的第一节点可以包括分别具有电阻值R1和R2的忆阻器1231和1232,并且第二节点可以包括分别具有电阻值R3和R4的忆阻器1233和1234。
选择器1211可以选择Vin1和Vout1中的一个作为输入信号,并且可以将选中的信号施加到线L11。选择器1213可以选择Vin2和Vout2中的一个作为输入信号,并且可以将选中的信号施加到线L12。线L11和L12可以是被施加输入信号的第一线。
在第一节点中,忆阻器1231可以交叉连接在线L11与线L21之间并且具有电阻值R1。忆阻器1231可以基于输入信号Vin1或Vout1和电阻值R1来产生电流信号,并且可以将产生的电流信号施加到线L21。忆阻器1232可以交叉连接在线L12与线L21之间并且可以具有电阻值R2。忆阻器1232可以基于输入信号Vin2或Vout2和电阻R2来产生电流信号,并且可以将产生的电流信号施加到线L21。
在第二节点中,忆阻器1233可以交叉连接在线L11与线L22之间并且可以具有电阻值R3。忆阻器1233可以基于输入信号Vin1或Vout1和电阻值R3来产生电流信号,并且可以将产生的电流信号施加到线L22。忆阻器1224可以交叉连接在线L12与线L22之间并且可以具有电阻值R4。忆阻器1234可以基于输入信号Vin2或Vout2和电阻值R4来产生电流信号,并且可以将产生的电流信号施加到线L22。电阻值R1至R4可以对应于权重值(即,G=1/R)。忆阻器可以被分别设置为唯一电阻值。
根据本公开的各种实施例的神经网络设备可以具有归一化功能和/或正则化功能。归一化方法和/或正则化方法中的一个可以是漏失连接方案或漏失方案。如图4A中所示,漏失连接可以漏失施加到忆阻器的一个或更多个输入信号的连接。如图4B中所示,在漏失方案中,来自计算单元1130的一个或更多个输出节点可以被漏失。
在图12中,漏失连接可以通过将开关1221至1224分别连接到计算单元1130的忆阻器1231至1234的输入级以及通过由第一随机信号发生单元1225产生的随机信号Sel1至Sel4接通/关断开关1221至1224来执行。开关1221连接在线L11与忆阻器1231之间,并且可以通过选择信号Sel1来漏失施加到忆阻器1231的输入信号的连接。开关1222连接在线L12与忆阻器1232之间,并且可以通过选择信号Sel2来漏失施加到忆阻器1232的输入信号的连接。开关1223连接在线L11与忆阻器1233之间,并且可以通过选择信号Sel3来漏失施加到忆阻器1233的输入信号的连接。开关1224连接在线L12与忆阻器1234之间,并且可以通过选择信号Sel4来漏失施加到忆阻器1234的输入信号的连接。
在图12中,漏失方案可以通过将能够开关以输出节点输出的开关1241和1243连接到计算单元1130的节点输出级以及通过由第二随机信号发生单元1245产生的第二随机信号接通/关断开关来执行。开关1241可以包括连接在线21与电压转换器1251之间的第一晶体管T1和连接在线L21与接地级(GND)之间的第二晶体管T2。开关1241可以漏失第一节点的SOP。例如,当在第二随机信号发生单元1245中产生的开关控制信号是第一逻辑(例如,逻辑高)时,第二晶体管T2被接通而第一晶体管T1被关断,因此第一节点的SOP(即,线L21的I1信号)可以被漏失。此外,当在第二随机信号发生单元1245中产生的开关控制信号是第二逻辑(例如,逻辑低)时,第一晶体管T1被接通而第二晶体管T2被关断,因此第一节点的SOP(即,线L21的I1信号)可以被施加到转换器1251的输入。
此外,开关1243可以包括连接在线22与转换器1253之间的第一晶体管T3和连接在线L22与接地级之间的第二晶体管T4。开关1243可以漏失第二节点的SOP。开关1243可以以与开关1241的操作相同的方式来操作。
第二随机信号发生单元1245可以产生用于漏失一部分节点的输出信号的开关控制信号。第一随机信号发生单元1225和第二随机信号发生单元1245可以使用具有图10A和图10B的配置的N比特位斐波纳契LFSR。
在具有如图12中的配置的神经网络设备的详细操作中,忆阻器(例如,ReRAM)1231至1234可以具有相应的唯一电阻值R1至R4,并且这些电阻值可以对应于权重值。在第一回路中,当输入Vin1和Vin2被输入时,忆阻器1231至1234基于先前设置的电阻值R1至R4来产生电流信号,并且这些电流信号在线L21和L22(即,第一节点和第二节点)中被组合以被产生为电流I1和I2(即,SOP1和SOP2)。此时,电流I1是在忆阻器1221处由R1和Vin1产生的电流与在忆阻器1232处由R2和Vin2产生的电流之和。
神经网络设备的第一归一化控制单元1120可以使一部分输入信号为0以执行漏失连接功能。输入信号的选择可以由第一随机信号发生单元1225来确定。由第一随机信号发生单元1225产生的开关控制信号sel1至sel4被分别施加到开关1221至1224,以使施加到忆阻器1231到1234的输入信号为0(即,漏失连接)。当输入信号通过漏失连接被漏失时,对应的忆阻器可以不对相应的输入执行计算操作,因此可以减少计算时间。
神经网络设备的第二归一化控制单元1140可以使从计算单元1130输出的一部分SOP信号为0以执行漏失功能。要被漏失的节点的选择可以由第二随机信号发生单元1245来确定。由第二随机信号发生单元1245产生的开关控制信号可以被施加到开关1241和1243以漏失节点L21和L22的SOP,该SOP被施加到比较器1251和1253。比较器1251和1253可以在其输入为0时漏失对应节点的输出。当特定节点的输出被漏失时,在下一层的计算操作中不执行对特定节点的输出信号的计算操作,因此可以减少计算时间。
为了将当前层(例如,第一层)的输出施加到下一层(例如,第二层)的输入,转换器1251和1253可以分别将电流I1和I2转换成电压。此时,转换器1251和1253可以由将电流转换成电压的运算放大器配置。转换器1251和1253的输出可以分别作为比较器1255和1257的比较输入来施加。比较器1255和1257的参考电压Vref可以被设置为合适的值。比较器1255和1257可以被表示为ReLU激活函数或sigmoid函数。
从比较器1255和1257输出的输出电压Vout1和Vout2可以是下一层的输入信号,并且可以作为第二输入信号被施加到图11的输入单元1110。输入单元1110可以选择用于将选中的第二输入信号施加到计算单元1130的第一线的第二输入信号。神经网络设备可以重复地执行上述的操作与设置的次数一样多次,并且当达到设置的次数时,可以将最终输出Vout输出到外部。
图12示出了在计算单元1130的输出级处被定位且选中的节点的输出被漏失的示例。此时,配置可以被实施,使得开关连接在输入单元1110的特定选择器(或特定第一线)与计算单元1130之间,并且开关由第二随机信号发生单元1245来控制。换言之,施加到选择单元1110中的特定第一线的信号可以是前一层中的特定节点的输出。因此,漏失特定第一线的来自施加到第一线的输入信号之中的输入信号的连接也可以具有与漏失操作相同的效果。
具有与图11和图12相同配置的神经网络设备可以选择漏失连接方案或漏失方案中的一个以执行归一化操作。当神经网络设备被驱动时,神经网络设备的控制单元(未示出)可以选择漏失连接功能或漏失功能。当漏失连接功能被选中时,第一归一化控制单元1120被激活,第二归一化控制单元1140不被激活,因此神经网络设备可以漏失施加到计算单元1130的输入信号的连接。此外,当漏失功能被选中时,第二归一化控制单元1140被激活,第一归一化控制单元1120被去激活,因此神经网络设备可以漏失从计算单元1130输出的节点输出(即,SOP信号)。此外,在一个实施例中,控制单元(未示出)可以选择神经网络设备的漏失连接功能和漏失功能两者。在这种情况下,第一归一化控制单元1120和第二归一化控制单元1140全部被激活,并且神经网络设备可以执行漏失连接操作和漏失操作两者。
根据本公开的各种实施例的神经网络设备的归一化方法可以包括:将多个输入信号施加到交叉连接在多个第一线与多个第二线之间且具有与相应的权重相对应的唯一电阻值的忆阻器设备的多个第一线的操作;漏失连接操作,其中连接在第一线与存储器件之间的第一开关的一部分通过第一随机信号而被开关控制以及施加到存储器件的输入信号的连接被漏失;在第二线中将忆阻器设备中的对应输入信号与由电阻值产生的电流信号组合以产生节点的SOP信号的操作;以及通过激活函数来激活第二线信号以反馈为输入信号的输出操作。
在神经网络设备的归一化方法中产生SOP的操作可以包括:基于忆阻器中的电阻值来产生与输入信号和权重的乘积相对应的电流的操作,该忆阻器中多个第一线和多个第二线是交叉连接的并且该忆阻器具有唯一的电阻值;以及将连接到第二线的忆阻器中产生的电流组合以产生对应节点的SOP的操作。
在神经网络设备的归一化方法的漏失连接操作中,施加到忆阻器的输入信号的50%的连接可以被漏失。
神经网络的归一化方法中的输出操作可以包括:连接到第二线以将电流转换成电压的操作;以及判断转换单元的输出信号是否被设置的偏置电压激活的操作。在判断是否激活的操作中,将转换的电压信号与设置的参考电压进行比较以判断是否激活。
根据本公开的各种实施例的神经网络设备的归一化方法还可以包括连接在第二线与输出单元之间的第二开关的对应部分被开关控制以漏失施加到输出单元的SOP的操作。
图13是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的示图。
参考图13,神经网络设备可以包括输入单元1310、计算单元1320、漏失控制单元1330以及输出单元1340。输入单元1310可以接收输入信号或计算信号。例如,输入单元1310可以在初始操作时接收外部输入信号,并且接收从输出单元1340输出的计算信号。输入单元1310可以将输入信号施加到第一线。
计算单元1320可以包括多个节点,在该多个节点中输入信号乘以对应的权重,并且对相乘的结果求和。计算单元1320可以由忆阻器来实施。计算单元1320的节点可以在产生多个输入信号与对应于输入信号的权重的乘积信号之后分别输出求和的信号。当忆阻器被使用时,输入信号与权重的乘积可以被表示为电流值,并且SOP信号可以被表示为电流值的和。例如,计算单元1320可以包括交叉连接在第一线与第二线之间的多个忆阻器。此外,连接到第二线的忆阻器将通过将输入信号乘以对应的权重值而获得的信号施加到对应的第二线,并且来自忆阻器的乘积信号在第二线处被组合以被产生作为SOP。例如,每个SOP可以是节点输出。
漏失控制单元1330可以通过随机控制信号来漏失计算单元1130的多个节点信号的一部分。例如,漏失控制单元1330可以包括连接到第二线的开关以及随机信号发生单元(例如,图14的1435)。漏失控制单元1330可以漏失由随机信号发生单元的随机信号选中的特定的第二线信号。
输出单元1340可以基于阈值来判断是否激活从漏失控制单元1330输出的计算单元1320的节点信号,并且基于判断的结果来产生输出信号。
在图13中所示的神经网络设备中,计算单元1320可以基于忆阻器来产生节点的SOP信号,并且漏失控制单元1330可以通过来自计算单元1320的随机信号来漏失一部分节点的输出SOP。
使用基于SRAM的突触的情况在改善完整性和储存模拟信息方面可能具有困难。诸如忆阻器的ReRAM具有简单的结构并且可以储存大量信息,因此正在积极地进行对基于ReRAM的突触的研究。ReRAM是使用电阻的存储器。ReRAM可以是交叉连接在第一线与第二线之间的单元的阵列,并且单元可以包括电阻充电元件。电阻充电元件的电阻R值可以是权重值。
计算单元1320可以具有忆阻器(例如,ReRAM)单元阵列的配置。当形成MLP时,每个节点可以通过多个第一线来接收信号,产生SOP,以及将SOP输出到一个第二线。换言之,节点的配置可以通过交叉连接在多个第一线与一个第二线之间的多个忆阻器单元阵列来实施。此时,包括在忆阻器单元阵列中的电阻充电元件的电阻值可以被设置为不同的值(权重值)。
在计算单元1320中处理的神经网络算法的复杂度可以非常高。在这种情况下,神经网络可以被过拟合并且其操作时间可以被延长。漏失可以是用于改善神经网络算法的复杂度的归一化操作和/或正则化操作。
图14是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的计算单元、漏失控制单元以及输出单元的示图。例如,图14示出了图13中的神经网络设备的输入单元1310、计算单元1320、漏失控制单元1330以及输出单元1340。
参考图14,输入单元1310可以将从外部初始接收的第一输入信号Vin施加到第一线L11至L1n,并且在计算时段中,可以将从输出单元1340反馈的信号Vout施加到第一线L11至L1n。
计算单元1320可以包括交叉连接在第一线L11至L1n与第二线L21至L2n之间的N*N个忆阻器单元R11至Rnn。忆阻器单元R11至Rnn可以具有如图13所示的结构,并且具有相应的唯一电阻值R,以及电阻值R可以对应于权重值W=1/R。此外,连接到第二线L21至L2n的单元R11至Rn1、R12至R1n2……R1n至Rnn可以是形成相应的节点1ND1至节点n NDn的单元。当输入信号被分别施加到对应的第一线时,连接到节点ND1至NDn的忆阻器(例如,ReRAM)单元可以基于分别设置的电阻值来产生电流信号(即,输入信号与权重的乘积信号),以将产生的电流信号施加到第二线L21至L2n。电流信号可以被输出为第二线L21至L2n中的相应节点ND1至NDn的SOP。漏失控制单元1330可以由包括分别连接到第二线L21至L2n的n个开关的开关单元1430和分别向开关单元1430供给开关控制信号的随机信号发生单元1435形成。随机信号发生单元1435可以随机地产生用于漏失来自第二线L21至L2n(即,节点ND1至NDn)之中的特定比率(例如,50%)的节点输出的开关控制信号,并且开关单元1430的对应开关可以通过由随机信号发生单元1435产生的用于漏失施加到输出单元1340的节点信号的开关控制信号来关断。
输出单元1340可以包括转换单元1440和激活单元1445。转换单元1440可以接收从开关单元1430接收的节点的SOP。SOP可以是电流信号。转换单元1440可以将电流信号转换成电压。激活单元1445可以通过设置的阈值来激活或去激活从转换单元1440接收的节点的SOP。输出单元1340可以在设置的计算时段中将输出信号施加为输入单元1310的第二输入信号Vout。输出信号的输出可以在计算终止时被执行。
]图15是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的电路图。例如,图15示出用于图13和图14中的神经网络设备的输入单元1310、计算单元1320、漏失控制单元1330以及输出单元1340的电路。
参考图15,输入单元1310可以包括选择器1511和1513。计算单元1320可以包括忆阻器1521至1524。漏失控制单元1330可以包括随机信号发生单元1535和开关1531和1533。输出单元1340可以包括转换器1541和1543以及比较器1545和1547。
在图15中所示的计算单元1320中,一个节点可以包括两个忆阻器,忆阻器可以具有相应的唯一电阻值,并且可以基于要被施加到第二线的输入信号和电阻值来产生电流信号。电流信号在第二线中被组合以被产生为SOP。例如,图15中的第一节点可以包括分别具有电阻值R1和R2的忆阻器1521和1522,并且第二节点可以包括分别具有电阻值R3和R4的忆阻器1523和1524。
根据本公开的各种实施例的神经网络设备可以使用忆阻器元件来执行硬件建模。忆阻器1521和1522可以是计算单元1320的第一节点,而忆阻器1523和1524可以是计算单元1320的第二节点。选择器1511可以选择Vin1和Vout1中的一个作为输入信号,并且可以将选中的信号施加到线L11。选择器1513可以选择Vin2和Vout2中的一个作为输入信号,并且可以将选中的信号施加到线L12。线L11和L12可以是被施加输入信号的第一线。
在第一节点中,忆阻器1521可以交叉连接在线L11与线L21之间并且可以具有电阻值R1。忆阻器1521可以基于输入信号Vin1或Vout1和电阻器R1来产生电流信号,并且可以将产生的电流信号施加到线L21。忆阻器1522可以交叉连接在线L12与线L21之间并且可以具有电阻值R2。忆阻器1522可以基于输入信号Vin2或Vout2和电阻器R2来产生电流信号,并且可以将产生的电流信号施加到线L21。在第二节点中,忆阻器1523可以交叉连接在线L11与线L22之间并且可以具有电阻值R3。忆阻器1523可以基于输入信号Vin1或Vout1和电阻器R3来产生电流信号,并且可以将产生的电流信号施加到线L22。忆阻器1524可以交叉连接在线L12与线L22之间并且可以具有电阻值R4。忆阻器1524可以基于输入信号Vin2或Vout2和电阻器R4来产生电流信号,并且可以将产生的电流信号施加到线L22。电阻R1至R4可以对应于权重值(即,G=1/R)。忆阻器可以被分别设置为唯一电阻值。
因此,忆阻器1521和1522可以将对应的输入信号乘以相应的权重(即,分别设置的唯一电阻值),以将相乘的值输出到线L21。在这种情况下,可以根据等式(1)来表示施加到线L21的第一节点的组合电流。
在等式(1)中,I1是与在线21中产生的第一节点的SOP相对应的电流值。Vin1和Vin是输入信号。G1和G2是基于忆阻器1521和1522的电阻器R1和R2的相应的权重值。第二节点I2的SOP I2可以以这种方式来产生。根据本公开的各种实施例的神经网络设备的神经网络算法的基本操作可以是基于忆阻器(例如,ReRAM)来产生SOP。
由忆阻器产生的SOP可以被表示为电流I1和I2。与图14的转换单元1440相对应的转换器1541和1543可以将各个对应的第一节点和第二节点的电流I1和I2转换为电压Vo。比较器1545和1547可以判断由转换器1541和1543转换的电压是否被激活以输出信号Vout1和Vout2。比较器1545和1547可以用被提供电源电压+Vcc/-Vcc以执行激活函数的运算放大器来实施,该比较器1545和1547分别接收由转换器1541和1543转换的电压。例如,当接收到的电压小于特定参考电压Vref时,比较器1545和1547可以将-Vcc分别输出为输出信号Vout1和Vout2,而当接收到的电压大于参考电压Vref时,比较器1545和1547可以将+Vcc分别输出为输出信号Vout1和Vout2。这里,Vref可以由图2和图3的偏置电压b和bx来确定。
在图13至图15中所示的根据本公开的各种实施例的神经网络设备中,输出单元1340可以如图8A至图8D中所示的那样操作。
再次参考图8A至图8D,激活单元645可以由用如图8A中的运算放大器来实施的比较器形成。图8B示出了比较器的操作特性。比较器可以具有如等式(2)的输出特性。
图8B中的比较器的特性可以具有类似于如图8C中的sigmoid函数的特性。神经网络设备可以使用用于组合输入信号的组合函数和用于组合输入信号以修改组合信号的激活函数。组合函数用于使输入信号变成一个信息,并且组合函数可以是权重数据。此时,激活函数是用于将输入信号的组合值(例如,SOP)传递到输出层或隐藏层的函数,并且可以是能够将SOP改变为特定范围内的值的函数。sigmoid函数可以是最多用作激活函数的函数。当输出值接近于0时,sigmoid函数可以具有接近线性函数的特性。在神经网络设备中,可以知道当比较器1545和1547的+Vcc充分大且-Vcc被设置为0时,sigmoid函数与如图8D中所示的激活函数(即,ReLU激活函数)相似。根据比较器的操作,可以实现各种激活函数。
可以根据等式(3)来表示从比较器1545输出的输出信号Vout1。此外,从比较器1547输出的输出信号Vout2可以在等式(3)的相同方案中被获得。
从比较器1545和1547输出的输出电压Vout1和Vout2可以分别作为是输入单元的选择器1511和1513的第二输入信号来施加。在神经网络设备中执行计算操作时,可以选择从外部接收到的第一输入信号Vin1或Vin2,并且此后在计算时段中,可以选择是计算信号的第二输入信号Vout1或Vout2。因此,计算单元1320可以基于第一输入信号Vin1或Vin2来执行计算操作,然后可以基于第二输入信号Vout1或Vout2来执行计算操作。此外,当计算操作被执行设置的次数时,可以产生计算的最终输出信号。
在根据本公开的各种实施例的神经网络设备中,可以如图9所示的那样执行用于反馈输出信号且将信号输入到下一层的回路操作。
再次参考图9,可以根据等式(4)来表示根据第一输入Vin的神经网络设备的第一层的输出。因此,可以根据等式(5)来表示神经网络设备的输出Vout。
然后,将根据等式(4)产生的输出信号Vout1和Vout2作为输入的神经网络设备的第二层的输出可以根据根据等式(6)来获得以作为神经网络设备的输出。
如等式4和6所示,神经网络设备可以基于输入信号来产生SOP,并且判断是否激活产生的SOP以产生输出信号。可以根据等式(7)来表示神经网络设备的输出信号。
由于如图15中的神经网络设备具有高复杂度,因此可以添加归一化功能和/或正则化功能。归一化方法和/或正则化方法中的一个可以是漏失方案。漏失方案可以包括使一层的一部分节点不操作,如图4B所示。换言之,漏失可以指前一层的值既不被接收也不被传递到下一层的操作。
根据本公开的各种实施例的神经网络设备可以使用用于漏失计算单元的节点输出的方案。在图15中,在漏失方案中,能够开关以输出节点输出的开关(例如,图14的开关单元1430)被连接到计算单元1320的节点输出级,并且开关的接通/关断操作可以通过由随机信号发生单元(例如,图14的随机信号发生单元1435)产生的随机信号来控制。图14的开关单元1430可以是图15的开关1531和1533,而图14的随机信号发生单元1435可以是图15中的随机信号发生单元1535。开关1531可以包括连接在线21与电压转换器1541之间的第一晶体管T1以及连接在线L21与接地级(GND)之间的第二晶体管T2。开关1531可以漏失第一节点的SOP。例如,当由随机信号发生单元1535产生的开关控制信号是第一逻辑(例如,逻辑高)时,第二晶体管T2被接通而第一晶体管被关断,因此第一节点的SOP(即,线L21的I1信号)可以被漏失。此外,当由随机信号发生单元1535产生的开关控制信号是第二逻辑(例如,逻辑低)时,第一晶体管T1被接通而第二晶体管T2被关断,因此第一节点的SOP(即,线L21的I1信号)可以被施加到转换器1541的输入。
此外,开关1533可以包括连接在线22与转换器1543之间的第一晶体管T3以及连接在线L22与接地级之间的第二晶体管T4。开关1533可以漏失第二节点的SOP。开关1533可以以与开关1531相同的方式来操作。
随机信号发生单元1535可以产生用于漏失一部分节点的输出信号的开关控制信号。在根据本公开的各种实施例的神经网络设备中,随机信号发生单元1535可以如图10A和图10B中所示地来配置。
再次参考图10A和图10B,随机信号发生单元1535可以使用N比特位斐波纳契线性反馈移位寄存器(LFSR)。斐波纳契LFSR可以由移位寄存器和用于对移位寄存器的一部分执行异或运算的异或门配置。例如,图10A和图10B示出了异或门对最终输出和位于最终输出的前一级处的数据执行异或运算,并且将运算结果作为移位寄存器的输入来施加。随机信号发生单元1535可以被提供有如图10A中的多个斐波纳契LFSR,并且产生用于控制每个节点的漏失的开关控制信号Sel1和Sel2。此外,随机信号发生单元1535可以被提供有如图10B中的一个斐波纳契LFSR,以产生用于控制每个节点的漏失的开关控制信号Sel1和Sel2。在图10A和图10B中,当开关控制信号为1时,可以应用漏失,而当开关控制信号为0时,可以不应用漏失。随机信号发生单元1535可以产生随机信号,使得漏失比率(例如,被输出为1的信号的比率)变为50%。
再次参考图15,忆阻器(例如,ReRAM)1521至1524可以具有相应的唯一电阻值R1至R4,并且这些电阻值可以被改变。此外,忆阻器1521至1524的电阻值可以对应于权重值。在第一回路中,当输入Vin1和Vin2被输入时,忆阻器1521至1524基于先前设置的电阻值R1至R4来产生电流信号,并且这些电流信号在线L21和线L22(即,第一节点和第二节点)中被组合,以被产生为电流I1和I2(即,SOP1和SOP2)。此时,电流I1是在忆阻器1521处由R1和Vin1产生的电流和在忆阻器1522处由R2和Vin2产生的电流之和。电流I1是神经网络设备的第一层的一个节点输出。电流I2可以是在忆阻器1523处由R3和Vin1产生的电流和在忆阻器1524处由R4和Vin2产生的电流之和。电流I2可以是神经网络设备的第一层的另一个节点输出。
神经网络设备可以通过漏失(或剪枝)功能来改善算法的性能。漏失功能可以使节点输出为0。根据本公开的各种实施例的神经网络设备的漏失可以通过将输出单元(例如,图13的输出单元1340)的输入施加为0来使节点输出为0。输出为0的节点的选择可以由随机信号发生单元1535来确定。随机信号发生单元1535可以由具有如图10B中的配置的N比特位斐波纳契LFSR来实现。由随机信号发生单元1535产生的开关控制信号可以被施加到开关1531和1533以漏失施加到比较器1541和1543的节点L21和L22的SOP。比较器1541和1543可以在其输入为0时漏失对应节点的输出。
为了将当前层(例如,第一层)的输出施加到下一层(例如,第二层)的输入,转换器1541和1543可以分别将电流I1和I2转换为电压。此时,转换器1541和1543可以由将电流转换成电压的运算放大器配置。转换器1541和1543的反馈电阻器Rf可以使用任意合适的值。转换器1541和1543的输出可以被施加作为比较器1545和1547的比较输入。比较器1545和1547的参考电压Vref可以被设置为合适的值。比较器1545和1547将来自转换器1541和1543的电压与参考电压Vref进行比较,以分别输出Vout1和Vout2。比较器1545和1547可以改变参考电压Vref的设置值,并且设置值可以根据设置被表示为RuLU激活函数或sigmoid函数。
从比较器1545和1547输出的输出电压Vout1和Vout2可以变为下一层的输入信号,并且可以作为第二输入信号被施加到图13的输入单元1310。然后,输入单元1310可以选择第二输入信号以将第二输入施加到计算单元1320的第一线。神经网络设备可以重复地执行上述操作与设置的次数一样多次,并且当达到设置的次数时,可以将最终输出Vout输出到外部。
图14和图15示出了漏失功能,其中能够开关以输出节点输出的开关(例如,图14的开关单元1430)被连接到计算单元1320的节点输出级,以及开关的操作可以通过由随机信号发生单元(例如,图14的随机信号发生单元1435)产生的随机信号来控制。漏失可以是使一层的一部分节点不操作(如图4B中所示)的方案。换言之,漏失可以指前一层的值既不被接收也不被传递到下一层的操作。到下一层的输入信号可以是前一层的输出单元1340的输出信号Vout。因此,在下一层的计算过程中漏失前一层的输出信号Vout也可以具有相同的漏失效果。
图16是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的计算单元、漏失控制单元以及输出单元的示图。例如,图16示出了图13中的神经网络设备的输入单元1310、计算单元1320、漏失控制单元1330以及输出单元1340。
参考图16,输入单元1310可以将从外部初始接收到的第一输入信号Vin施加到第一线L11至L1n,并且在计算时段中,可以将从输出单元1340反馈的信号Vout施加到第一线L11至L1n。
漏失控制单元1330可以由包括分别连接到第一线L11至L1n的n个开关SW1至SWn的开关单元1630以及分别向开关单元1630供给开关控制信号的随机信号发生单元1635形成。随机信号发生单元1635可以随机地产生用于漏失来自第一线L11至L1n之中的特定比率(例如,50%)的节点输出的开关控制信号,并且开关单元1630的对应开关可以通过由随机信号发生单元1635产生的开关控制信号来关断,以漏失施加到计算单元1320的输入信号。
计算单元1320可以包括交叉连接在第一线L11至L1n与第二线L21至L2n之间的N*N个忆阻器单元R11至Rnn。忆阻器单元R11至Rnn可以具有相应的唯一电阻值R,并且电阻值可以对应于权重值W=1/R。此外,连接到第二线L21至L2n的单元R11至Rn1、R12至R1n2……R1n至Rnn可以是形成各个节点1ND1至节点n NDn的单元。当输入信号被施加到对应的第一线时,连接到节点ND1至NDn的忆阻器(例如,ReRAM)单元可以基于分别设置的电阻值来产生电流信号(即,输入信号与权重的乘积信号),以将产生的电流信号施加到第二线L21至L2n,并且电流信号可以被输出为第二线L21至L2n中的各个节点ND1至NDn的SOP。
输出单元1340可以包括转换单元1640和激活单元1645。转换单元1640可以接收从漏失控制单元1330接收的节点的SOP。此时的SOP可以是电流信号。转换单元1640可以将电流信号转换成电压。激活单元1645可以通过设置的阈值来激活或去激活从转换单元1640接收的节点的SOP。输出单元1340可以在设置的计算时段中将输出信号作为输入单元1310的第二输入信号Vout来施加。输出信号的输出可以在计算终止时被执行。
图17是示出根据本公开的各种实施例的具有漏失功能的神经网络设备的电路图。例如,图17示出了用于图13和图16中的神经网络设备的输入单元1310、计算单元1320、漏失控制单元1330以及输出单元1340的电路。
参考图17,输入单元1310可以包括选择器1711和1713。计算单元1320可以包括忆阻器1721至1724。漏失控制单元1330可以包括随机信号发生单元1735和开关1731至1733。输出单元1340可以包括转换器1741和1743以及比较器1745和1747。
在图17中所示的计算单元1320中,一个节点可以包括两个忆阻器,忆阻器可以具有相应的唯一电阻值,并且可以基于要被施加到第二线的输入信号和电阻值来产生电流信号。电流信号在第二线中被组合以被产生为SOP。例如,图17中的第一节点可以包括分别具有电阻值R1和R2的忆阻器1721和1722,而第二节点可以包括分别具有电阻值R3和R4的忆阻器1723和1724。
选择器1711可以选择Vin1和Vout1中的一个作为输入信号,并且可以将选中的信号施加到线L11。选择器1713可以选择Vin2和Vout2中的一个作为输入信号,并且可以将选中的信号施加到线L12。线L11和L12可以是被施加输入信号的第一线。
图16的开关单元1630可以是图17的开关1731和1733,而图16的随机信号发生单元1635可以是图17中的随机信号发生单元1735。开关1731可以包括连接在选择器1711与线L11之间的第一晶体管T1以及连接在线L21与接地级之间的第二晶体管T2。开关1731可以漏失前一层的第一节点的输出信号Vout1。例如,当由随机信号发生单元1735产生的开关控制信号是第一逻辑(例如,逻辑高)时,第二晶体管T2被接通而第一晶体管T1被关断,因此前一层的第一节点的Vout1信号可以被漏失。此外,当由随机信号发生单元1735产生的开关控制信号是第二逻辑(例如,逻辑低)时,第一晶体管T1被接通而第二晶体管T2被关断,因此第一节点的Vout1信号可以被施加到第一线L11。
此外,开关1733可以包括连接在选择器1713与线12之间的第一晶体管T3以及连接在线L12与接地级之间的第二晶体管T4。开关1733可以漏失前一层的第二节点的输出信号Vout2。开关1733可以以与开关1731的操作相同的方式来操作。
第二随机信号发生单元1735可以产生用于漏失一部分节点的输出信号的开关控制信号。随机信号发生单元1735可以具有与图10A和图10B的随机信号发生单元相同的配置。
在第一节点的配置中,忆阻器1721可以交叉连接在线L11与线L21之间并且具有电阻值R1。忆阻器1721可以基于输入信号Vin1或Vout1和电阻器R1来产生电流信号,并且可以将产生的电流信号施加到线L21。忆阻器1722可以交叉连接在线L12与线L21之间并且可以具有电阻值R2。忆阻器1722可以基于输入信号Vin2或Vout2和电阻器R2来产生电流信号,并且可以将产生的电流信号施加到线L21。在第二节点中,忆阻器1723可以交叉连接在线L11与线L22之间并且可以具有电阻值R3。忆阻器1723可以基于输入信号Vin1或Vout1和电阻器R3来产生电流信号,并且可以将产生的电流信号施加到线L22。忆阻器1724可以交叉连接在线L12和线L22之间并且可以具有电阻值R4。忆阻器1724可以基于输入信号Vin2或Vout2和电阻器R4来产生电流信号,并且可以将产生的电流信号施加到线L22。电阻R1至R4可以对应于权重值(即,G=1/R)。忆阻器可以分别被设置为唯一的电阻值。
由忆阻器产生的SOP可以被表示为电流I1和I2。与图16的转换单元1640相对应的转换器1741和1743可以将各个对应的第一节点和第二节点的电流I1和I2转换为电压Vo。比较器1745和1747可以判断由转换器1741和1743转换的电压是否被激活,以及输出信号Vout1和Vout2可以被输出。比较器1745和1747可以用被提供电源电压+Vcc/-Vcc以执行激活函数的运算放大器来实施,该比较器1745和1747分别接收由转换器1741和1743转换的电压。例如,当接收到的电压小于特定参考电压Vref时,比较器1745和1747可以将-Vcc分别输出为输出信号Vout1和Vout2,而当接收到的电压大于参考电压Vref时,比较器1745和1747可以将+Vcc分别输出为输出信号Vout1和Vout2。这里,Vref可以由图2和图3的偏置电压b和bx来确定。
可以根据以下过程来执行根据本公开的各种实施例的神经网络设备的漏失方案。
神经网络设备的漏失方案可以包括:将多个输入信号施加到具有分别与权重值相对应的唯一电阻值且交叉连接在第一线与多个第二线之间的忆阻器元件的第一线的操作;在第二线中将由输入信号和与忆阻器元件相对应的电阻值产生的电流信号组合并且产生SOP信号的操作;漏失来自第二线之中的由随机信号选中的第二线的SOP信号的操作;以及通过激活函数激活第二线的信号以反馈为输入信号的输出操作。
产生SOP信号的操作可以包括:基于交叉连接在多个第一线与多个第二线之间并且具有唯一电阻值的忆阻器中的电阻值来产生与输入信号和权重的乘积相对应的电流的操作;以及将连接到第二线的忆阻器中产生的电流组合以产生对应节点的SOP的操作。
漏失的操作可以包括:产生随机信号的操作;以及通过随机信号漏失多个第二线的一部分的操作。可以使用斐波纳契线性反馈移位寄存器来产生随机信号。在漏失的操作中,50%的第二线的SOP信号可以被漏失。
输出操作可以包括:将从第二线输出的电流转换为电压的操作;以及判断转换操作的输出信号是否被设置的偏置电压激活的操作。在判断是否激活的操作中,将转换的电压信号与设置的参考电压进行比较以判断是否激活。
输出操作还可以包括将激活的输出电压输出为下一层的输入信号且进行到输入操作的操作。输出操作还可以包括当识别出输出信号被产生设置的次数时,将激活的最终输出信号输出到外部的操作。
根据本公开的所描述的实施例,可以基于存储元件(例如忆阻器)来在神经网络设备中漏失一些信息以归一化和/或正则化计算操作。
虽然已经参考本公开的示例性实施例描述了本公开,但是本公开所属领域的普通技术人员将清楚,在不脱离本公开的精神和范围的情况下,可以对所描述的实施例做出各种修改。因此,本公开的范围不限于所描述的实施例,而是由权利要求及其等同物来限定。

Claims (40)

1.一种神经网络设备,包括:
输入单元,适用于将多个输入信号施加到多个第一线;
计算单元,包括交叉连接在所述多个第一线与多个第二线之间的多个存储器元件,其中所述多个存储器元件具有相应的权重值,并且产生来自所述多个第一线之中的对应第一线的输入信号与权重的乘积信号,以将乘积信号输出到来自所述多个第二线之中的对应第二线;
漏失连接控制单元,包括耦接在所述多个第一线与所述多个存储器元件之间的开关,并且适用于随机地漏失施加到来自所述多个存储器元件之中的对应存储器元件的输入信号的连接;以及
输出单元,耦接到所述多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活所述多个第二线的信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
2.根据权利要求1所述的神经网络设备,其中,计算单元包括:
多个忆阻器,交叉连接在开关与第二线之间,以及
其中,忆阻器包括分别对应于权重值的电阻值,并且产生与输入信号和权重的乘积相对应的电流以将电流输出到第二线,以及电流在第二线中被组合以产生乘积之和SOP。
3.根据权利要求2所述的神经网络设备,其中,漏失连接控制单元包括:
随机信号发生单元,适用于产生随机信号;以及
开关,分别连接在第一线与忆阻器之间,
其中,基于随机信号,开关之中的对应开关被开关控制以漏失施加到忆阻器的输入信号的连接。
4.根据权利要求3所述的神经网络设备,其中,随机信号发生单元包括斐波纳契线性反馈移位寄存器。
5.根据权利要求4所述的神经网络设备,其中,漏失连接控制单元漏失来自施加到存储器元件的输入信号之中的预设比率的输入信号的连接。
6.根据权利要求3所述的神经网络设备,其中,输出单元包括:
转换单元,耦接到第二线,并且适用于将电流转换成电压;以及
激活单元,适用于对转换单元的输出信号执行激活操作。
7.根据权利要求6所述的神经网络设备,其中,激活单元包括比较器。
8.一种神经网络设备,包括:
输入单元,适用于将多个输入信号施加到多个第一线;
计算单元,包括交叉连接在所述多个第一线与多个第二线之间的多个存储器元件,其中,所述多个存储器元件具有相应的权重值,并且产生来自所述多个第一线之中的对应第一线的输入信号与权重的乘积信号,以将乘积信号输出到来自所述多个第二线之中的对应第二线;
漏失连接控制单元,包括连接在所述多个第一线与所述多个存储器元件之间的开关,并且适用于随机地漏失施加到来自所述多个存储器元件之中的对应存储器元件的输入信号的连接;以及
漏失控制单元,包括连接到所述多个第二线的开关,并且适用于随机地漏失所述多个第二线之中的至少一个第二线的信号;以及
输出单元,连接到所述多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活所述多个第二线的信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
9.根据权利要求8所述的神经网络设备,其中,计算单元包括:
多个忆阻器,交叉连接在所述多个第一线与所述多个第二线之间,
所述多个忆阻器中的每个忆阻器具有分别对应于权重值的电阻值,并且产生与输入信号和权重的乘积相对应的电流以将电流输出到第二线,以及电流在第二线中被组合以被产生为乘积之和SOP。
10.根据权利要求9所述的神经网络设备,其中,漏失连接控制单元包括:
第一随机信号发生单元,适用于产生第一随机信号;以及
第一开关,分别连接在第一线与忆阻器元件之间,
其中,基于第一随机信号,对应的第一开关被开关控制,以漏失施加到忆阻器的输入信号的连接。
11.根据权利要求10所述的神经网络设备,其中,漏失控制单元包括:
第二随机信号发生单元,适用于产生第二随机信号;以及
第二开关,分别连接在第二线与输出单元之间,
其中,对应的第二开关通过第二随机信号被开关控制以漏失施加到输出单元的第二线的SOP。
12.根据权利要求11所述的神经网络设备,其中,第一随机信号发生单元和第二随机信号发生单元包括斐波纳契线性反馈移位寄存器。
13.根据权利要求12所述的神经网络设备,其中,输出单元包括:
转换单元,连接到第二线,并且适用于将电流转换成电压;以及
激活单元,适用于对转换单元的输出信号执行激活操作。
14.一种用于操作神经网络设备的方法,所述方法包括:
将多个输入信号施加到交叉连接在多个第一线与多个第二线之间且具有与权重值相对应的相应电阻值的存储器元件的所述多个第一线;
执行漏失连接操作,其中来自连接到所述多个第一线和存储器元件的第一开关之中的对应部分的第一开关被开关控制,以漏失施加到存储器元件的输入信号的连接;
在第二线中将由对应的输入信号和存储器元件中的电阻值产生的电流信号组合,以产生节点的信号;
执行通过激活函数激活第二线的信号并且将被激活的信号反馈给输入信号的输出操作。
15.根据权利要求14所述的方法,其中,组合电流信号的步骤包括:
基于交叉连接在所述多个第一线与所述多个第二线之间且具有唯一电阻值的忆阻器的电阻值来产生与输入信号和权重的乘积相对应的电流;以及
将由连接到第二线的忆阻器产生的电流组合,以产生对应节点的乘积之和SOP信号。
16.根据权利要求15所述的方法,其中,执行漏失连接操作的步骤包括:漏失来自施加到忆阻器的输入信号之中的预设比率的输入信号的连接。
17.根据权利要求16所述的方法,其中,执行输出操作的步骤包括:
将来自第二线的电流转换成电压;以及
判断是否通过设置的偏置电压来激活输出信号。
18.根据权利要求17所述的方法,其中,判断是否激活的步骤包括:将转换的电压信号与设置的参考电压进行比较并且判断是否激活输出信号。
19.根据权利要求15所述的方法,还包括:
开关控制连接在第二线与输出单元之间的第二开关的对应部分,并且漏失施加到输出单元的SOP。
20.根据权利要求19所述的方法,其中,执行输出操作的步骤包括:
将来自第二线的电流转换成电压;以及
判断是否通过设置的偏置电压来激活输出信号。
21.一种神经网络设备,包括:
输入单元,适用于将输入信号施加到多个第一线;
计算单元,包括交叉连接在所述多个第一线与多个第二线之间的多个存储器元件,其中所述多个存储器元件具有相应的权重值,并且产生来自所述多个第一线之中的对应第一线的输入信号与权重的乘积信号,以将乘积信号输出到来自所述多个第二线之中的对应第二线;
漏失控制单元,适用于漏失来自所述多个第二线之中的至少一个第二线的信号;以及
输出单元,耦接到所述多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活所述多个第二线的对应信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
22.根据权利要求21所述的神经网络设备,
其中,计算单元包括交叉连接在所述多个第一线与所述多个第二线之间的多个忆阻器,以及
其中,所述多个忆阻器中的每个忆阻器具有对应于权重值的电阻值,并且基于电阻值来产生与输入信号和权重的乘积相对应的电流。
23.根据权利要求22所述的神经网络设备,
其中,计算单元产生连接到第一线的所述多个忆阻器的电流信号作为第二线中被组合的乘积信号。
24.根据权利要求22所述的神经网络设备,其中,漏失控制单元包括:
随机信号发生单元,适用于产生随机信号;以及
开关,分别连接在第二线与输出单元之间,
其中,随机信号漏失所述多个第二线的一部分信号。
25.根据权利要求24所述的神经网络设备,其中,随机信号发生单元包括斐波纳契线性反馈移位寄存器。
26.根据权利要求24所述的神经网络设备,其中,漏失控制单元漏失来自节点之中的预设比率的节点。
27.根据权利要求24所述的神经网络设备,其中,输出单元包括:
转换单元,耦接到第二线,并且适用于将电流转换成电压;以及
激活单元,适用于对转换单元的输出信号执行激活操作。
28.根据权利要求27所述的神经网络设备,其中,激活单元包括比较器。
29.一种神经网络设备,包括:
输入单元,适用于将信号输入到多个第一线;
漏失控制单元,适用于漏失来自所述多个第一线之中的至少一个第一线的信号;
计算单元,包括交叉连接在所述多个第一线与多个第二线之间的多个存储器元件,其中所述多个存储器元件具有相应的权重值,并且产生对应输入信号与权重的乘积信号,以将乘积信号输出到来自所述多个第二线之中的对应第二线;以及
输出单元,耦接到所述多个第二线,并且适用于:当计算单元执行产生乘积信号设置的次数时,选择性地激活所述多个第二线的信号以将被激活的信号施加到输入单元,并且执行针对被激活的信号的输出。
30.根据权利要求29所述的神经网络设备,其中,计算单元包括交叉连接在所述多个第一线与所述多个第二线之间的多个忆阻器,
其中,所述多个忆阻器中的每个忆阻器具有对应于权重值的电阻值,并且基于电阻值来产生与输入信号和权重的乘积相对应的电流。
31.如权利要求30所述的神经网络设备,
其中,计算单元产生连接到第一线的所述多个忆阻器的电流信号作为第二线中被组合的乘积信号。
32.根据权利要求30所述的神经网络设备,其中,漏失控制单元包括:
随机信号发生单元,适用于产生随机信号;以及
开关,分别连接在输入单元与第一线之间,
其中,随机信号漏失所述多个第一线的一部分输入信号。
33.根据权利要求32所述的神经网络设备,其中,输出单元包括:
转换单元,连接到第二线,并且适用于将电流转换成电压;以及
激活单元,适用于对转换单元的输出信号执行激活操作。
34.一种用于操作神经网络设备的方法,所述方法包括:
将多个输入信号施加到交叉连接在多个第一线与多个第二线之间且具有对应于权重值的相应电阻值的存储器元件的所述多个第一线;
通过在第二线中将由对应的输入信号与存储器元件中的电阻值产生的电流信号组合来产生节点的信号;
漏失从第二线之中选中的第二线的信号;以及
执行选择性地激活第二线的信号并且将被激活的信号反馈给输入信号的输出操作。
35.根据权利要求34所述的方法,其中,产生节点的信号的步骤包括:
基于交叉连接在所述多个第一线与所述多个第二线之间且具有唯一电阻值的忆阻器的电阻值来产生与输入信号和权重的乘积相对应的电流;以及
将由耦接到第二线的忆阻器产生的电流组合以产生对应节点的乘积之和SOP信号。
36.根据权利要求35所述的方法,其中漏失的步骤包括:
产生随机信号;以及
通过随机信号来漏失所述多个第二线信号的一部分。
37.根据权利要求36所述的方法,其中,随机信号由斐波纳契线性反馈移位寄存器来产生。
38.根据权利要求37所述的方法,其中,漏失信号的步骤包括:漏失第二线之中的预设比率的第二线的SOP信号。
39.根据权利要求37所述的方法,其中,执行输出操作的步骤包括:
将来自第二线的电流转换成电压;以及
判断是否通过设置的偏置电压来激活输出信号。
40.根据权利要求39所述的方法,其中,确定是否激活的步骤包括:将转换的电压与设置的参考电压进行比较以判断是否激活。
CN201710946858.0A 2016-12-16 2017-10-12 用于归一化神经网络设备的装置和方法 Active CN108205705B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160172605A KR102578124B1 (ko) 2016-12-16 2016-12-16 신경망 장치의 정규화 장치 및 방법
KR10-2016-0172605 2016-12-16

Publications (2)

Publication Number Publication Date
CN108205705A true CN108205705A (zh) 2018-06-26
CN108205705B CN108205705B (zh) 2022-10-11

Family

ID=62561809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710946858.0A Active CN108205705B (zh) 2016-12-16 2017-10-12 用于归一化神经网络设备的装置和方法

Country Status (4)

Country Link
US (1) US10762416B2 (zh)
KR (1) KR102578124B1 (zh)
CN (1) CN108205705B (zh)
TW (1) TW201824092A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740744A (zh) * 2018-12-13 2019-05-10 南京邮电大学 基于忆阻器矩阵的指定元素权值运算方法
CN109816096A (zh) * 2019-01-23 2019-05-28 长安大学 一种基于忆阻器的感知器神经网络电路及其调节方法
CN110619905A (zh) * 2019-08-09 2019-12-27 上海集成电路研发中心有限公司 一种基于rram忆阻器单元的集合模块及其形成方法
CN111755062A (zh) * 2019-03-26 2020-10-09 慧与发展有限责任合伙企业 自修复点积引擎
CN112133353A (zh) * 2019-06-24 2020-12-25 爱思开海力士有限公司 Nand闪速存储器中针对读取阈值基于深度学习的回归框架
CN113077091A (zh) * 2021-04-09 2021-07-06 中国石油大学(北京) 一种基于机器学习的漏速概率分布预测方法和系统
CN113159293A (zh) * 2021-04-27 2021-07-23 清华大学 一种用于存算融合架构的神经网络剪枝装置及方法
US11294763B2 (en) 2018-08-28 2022-04-05 Hewlett Packard Enterprise Development Lp Determining significance levels of error values in processes that include multiple layers

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180136202A (ko) * 2017-06-14 2018-12-24 에스케이하이닉스 주식회사 컨볼루션 신경망 및 컨볼루션 신경망을 가진 신경망 시스템
JP6724869B2 (ja) * 2017-06-19 2020-07-15 株式会社デンソー 多層ニューラルネットワークのニューロンの出力レベル調整方法
US11494619B2 (en) * 2017-11-30 2022-11-08 Taiwan Semiconductor Manufacturing Co., Ltd. Device and method for operating the same
JP2020035502A (ja) * 2018-08-28 2020-03-05 キオクシア株式会社 半導体集積回路
JP6702380B2 (ja) * 2018-09-14 2020-06-03 トヨタ自動車株式会社 内燃機関の制御装置
KR102251765B1 (ko) * 2018-12-19 2021-05-14 한양대학교 산학협력단 뉴런 및 이를 포함하는 뉴로모픽 시스템
US11615309B2 (en) * 2019-02-27 2023-03-28 Oracle International Corporation Forming an artificial neural network by generating and forming of tunnels
JP2022095999A (ja) * 2019-04-19 2022-06-29 国立大学法人北海道大学 ニューラル計算装置、および、ニューラル計算方法
US11295212B1 (en) 2019-04-23 2022-04-05 X Development Llc Deep neural networks via physical electromagnetics simulator
KR102356491B1 (ko) * 2019-04-24 2022-01-27 연세대학교 산학협력단 자성/비자성 다층 박막 메모리 기반 고속 인공 신경망 가속기 및 이의 운용 방법
TWI698810B (zh) * 2019-06-14 2020-07-11 旺宏電子股份有限公司 類神經計算裝置
US11233049B2 (en) 2019-06-14 2022-01-25 Macronix International Co., Ltd. Neuromorphic computing device
US11514300B2 (en) 2019-06-14 2022-11-29 Macronix International Co., Ltd. Resistor circuit, artificial intelligence chip and method for manufacturing the same
CN110515454B (zh) * 2019-07-24 2021-07-06 电子科技大学 一种基于内存计算的神经网络架构电子皮肤
US10915248B1 (en) 2019-08-07 2021-02-09 Macronix International Co., Ltd. Memory device
US20210125049A1 (en) * 2019-10-29 2021-04-29 Taiwan Semiconductor Manufacturing Co., Ltd. System for executing neural network
US20210158161A1 (en) * 2019-11-22 2021-05-27 Fraud.net, Inc. Methods and Systems for Detecting Spurious Data Patterns
KR102594829B1 (ko) * 2020-11-11 2023-10-27 한국과학기술연구원 안정적인 스파이크 신호를 제공하는 스파이크 레귤레이터를 포함하는 뉴로모픽 회로
US12099622B2 (en) * 2020-12-21 2024-09-24 Cryptography Research, Inc Protection of neural networks by obfuscation of activation functions
CN113392969B (zh) * 2021-05-14 2022-05-03 宁波物栖科技有限公司 一种降低基于ReRAM的CNN加速器功耗的模型剪枝方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0466022A2 (en) * 1990-07-12 1992-01-15 Allen-Bradley Company, Inc. Teaching method for recurrent neural networks
CN103023839A (zh) * 2012-12-04 2013-04-03 温州大学 基于输出反馈偏置型复连续反馈神经网络结构的无线光通信系统盲均衡方法
CN104679863A (zh) * 2015-02-28 2015-06-03 武汉烽火众智数字技术有限责任公司 一种基于深度学习的以图搜图方法和系统
CN105224986A (zh) * 2015-09-29 2016-01-06 清华大学 基于忆阻器件的深度神经网络系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930257B2 (en) * 2007-01-05 2011-04-19 Knowm Tech, Llc Hierarchical temporal memory utilizing nanotechnology
KR102230784B1 (ko) * 2013-05-30 2021-03-23 삼성전자주식회사 Stdp 동작을 위한 시냅스 회로 및 시냅스 회로를 포함하는 뉴로모픽 시스템
WO2016068953A1 (en) * 2014-10-30 2016-05-06 Hewlett Packard Enterprise Development Lp Double bias memristive dot product engine for vector processing
KR20170096152A (ko) * 2014-12-15 2017-08-23 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 비 휘발성 메모리 크로스바 어레이
KR102449837B1 (ko) * 2015-02-23 2022-09-30 삼성전자주식회사 신경망 학습 방법 및 장치, 및 인식 방법 및 장치
WO2017131651A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp Memristive array with parallel reset control devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0466022A2 (en) * 1990-07-12 1992-01-15 Allen-Bradley Company, Inc. Teaching method for recurrent neural networks
CN103023839A (zh) * 2012-12-04 2013-04-03 温州大学 基于输出反馈偏置型复连续反馈神经网络结构的无线光通信系统盲均衡方法
CN104679863A (zh) * 2015-02-28 2015-06-03 武汉烽火众智数字技术有限责任公司 一种基于深度学习的以图搜图方法和系统
CN105224986A (zh) * 2015-09-29 2016-01-06 清华大学 基于忆阻器件的深度神经网络系统

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
ELHAM ZAMANIDOOST: "Low area overhead in-situ training approach for memristor-based classifier", 《PROCEEDINGS OF THE 2015 IEEE/ACM INTERNATIONAL SYMPOSIUM ON NANOSCALE ARCHITECTURES》 *
EVGENY A.SMIRNOV: "comparision of regularization methods for imagenet classsification with deep convolutional neural networks", 《AASRI PROCEDIA》 *
LI WAN: "Regularization of neural networks using dropconnect", 《30TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING》 *
SRIVASTAVA, N: "Dropout:a simple way to prevent neural networks from overfitting", 《JOURNAL OF MACHINE LEARNING RESEARCH》 *
XAVIER FRAZAO: "Dropall:generalization of two convolutional neural network regularzation method", 《INTERNATIONAL CONFERENCE IMAGE ANALYSIS AND RECOGNITION》 *
姜枫: "基于随机Dropout卷积神经网络的人体行为识别方法研究", 《测试技术学报》 *
王媛媛: "深度学习及其在医学图像分析中的应用研究", 《万方数据知识服务平台》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294763B2 (en) 2018-08-28 2022-04-05 Hewlett Packard Enterprise Development Lp Determining significance levels of error values in processes that include multiple layers
CN109740744A (zh) * 2018-12-13 2019-05-10 南京邮电大学 基于忆阻器矩阵的指定元素权值运算方法
CN109816096A (zh) * 2019-01-23 2019-05-28 长安大学 一种基于忆阻器的感知器神经网络电路及其调节方法
CN109816096B (zh) * 2019-01-23 2022-10-18 长安大学 一种基于忆阻器的感知器神经网络电路及其调节方法
CN111755062B (zh) * 2019-03-26 2022-04-19 慧与发展有限责任合伙企业 点积引擎忆阻器交叉开关阵列、系统和存储介质
CN111755062A (zh) * 2019-03-26 2020-10-09 慧与发展有限责任合伙企业 自修复点积引擎
US11532356B2 (en) 2019-03-26 2022-12-20 Hewlett Packard Enterprise Development Lp Self-healing dot-product engine
CN112133353A (zh) * 2019-06-24 2020-12-25 爱思开海力士有限公司 Nand闪速存储器中针对读取阈值基于深度学习的回归框架
WO2021027354A1 (zh) * 2019-08-09 2021-02-18 上海集成电路研发中心有限公司 一种基于rram忆阻器单元的集合模块及其形成方法
CN110619905A (zh) * 2019-08-09 2019-12-27 上海集成电路研发中心有限公司 一种基于rram忆阻器单元的集合模块及其形成方法
CN113077091A (zh) * 2021-04-09 2021-07-06 中国石油大学(北京) 一种基于机器学习的漏速概率分布预测方法和系统
CN113077091B (zh) * 2021-04-09 2024-04-23 中国石油大学(北京) 一种基于机器学习的漏速概率分布预测方法和系统
CN113159293A (zh) * 2021-04-27 2021-07-23 清华大学 一种用于存算融合架构的神经网络剪枝装置及方法
CN113159293B (zh) * 2021-04-27 2022-05-06 清华大学 一种用于存算融合架构的神经网络剪枝装置及方法

Also Published As

Publication number Publication date
US20180174025A1 (en) 2018-06-21
TW201824092A (zh) 2018-07-01
KR20180070194A (ko) 2018-06-26
CN108205705B (zh) 2022-10-11
US10762416B2 (en) 2020-09-01
KR102578124B1 (ko) 2023-09-14

Similar Documents

Publication Publication Date Title
CN108205705A (zh) 用于归一化神经网络设备的装置和方法
Giri et al. A modified invasive weed optimization algorithm for training of feed-forward neural networks
KR102221763B1 (ko) 이진 신경망에서의 저항성 메모리 기반 배치 정규화 장치
Vazquez et al. Integrate and fire neurons and their application in pattern recognition
Wilamowski Challenges in applications of computational intelligence in industrial electronics
Ahamed et al. A study on neural network architectures
Singh Artificial neural network methodology for modelling and forecasting maize crop yield
US11216728B2 (en) Weight matrix circuit and weight matrix input circuit
Lüders et al. Continual learning through evolvable neural turing machines
Waszczyszyn Fundamentals of artificial neural networks
KR102366783B1 (ko) 뉴로모픽 시스템 및 뉴로모픽 시스템의 동작방법
Neumann et al. Batch intrinsic plasticity for extreme learning machines
Ma et al. Global reinforcement learning in neural networks
CN117151176A (zh) 用于神经网络学习的突触阵列、运算电路及操作方法
Wilamowski Neuro-fuzzy systems and their applications
Olayinka et al. Evolving feed-forward artificial neural networks using binary and denary dataset
Wilamowski Special neural network architectures for easy electronic implementations
Dawy et al. The most general intelligent architectures of the hybrid neuro-fuzzy models
Khoobjo New hybrid approach to control the arm of flexible robots by using neural networks, fuzzy algorithms and particle swarm optimization algorithm
Radi Modeling charged-particle multiplicity distributions at LHC
Lee et al. Adaptive nonlinear control using TSK-type recurrent fuzzy neural network system
Nakayama et al. A simple class of binary neural networks and logical synthesis
Ahadzadeh et al. Training neural networks using modified differential evolution algorithm for classification problems
Caamaño et al. Using spiking neural networks for the generation of coordinated action sequences in robots
Wilamowski Advantages and problems of soft computing

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