CN112749794B - 用于神经网络的算术设备 - Google Patents

用于神经网络的算术设备 Download PDF

Info

Publication number
CN112749794B
CN112749794B CN202010827350.0A CN202010827350A CN112749794B CN 112749794 B CN112749794 B CN 112749794B CN 202010827350 A CN202010827350 A CN 202010827350A CN 112749794 B CN112749794 B CN 112749794B
Authority
CN
China
Prior art keywords
signal
output
input
compensation
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010827350.0A
Other languages
English (en)
Other versions
CN112749794A (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
SK Hynix 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
Priority claimed from KR1020190138114A external-priority patent/KR20210052059A/ko
Priority claimed from KR1020190160238A external-priority patent/KR20210070139A/ko
Priority claimed from US16/919,786 external-priority patent/US11915125B2/en
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN112749794A publication Critical patent/CN112749794A/zh
Application granted granted Critical
Publication of CN112749794B publication Critical patent/CN112749794B/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
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry

Landscapes

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

Abstract

本申请涉及一种用于神经网络的算术设备。算术设备包括包括输入分配信号发生电路、输出分配信号发生电路和输出分配信号补偿电路。输入分配信号发生电路基于从乘法‑累加(MAC)计算的结果产生的算术结果信号来产生输入分配信号和补偿信号。输出分配信号发生电路将输入分配信号应用于激活函数以产生第一输出分配信号和第二输出分配信号。输出分配信号补偿电路基于补偿信号、第一输出分配信号和第二输出分配信号来补偿第一输出分配信号,以产生补偿分配信号。

Description

用于神经网络的算术设备
相关申请的交叉引用
本申请要求于2019年12月4日提交的韩国专利申请10-2019-0160238的优先权,并且该申请是于2020年7月2日提交的美国专利申请16/919,786的部分延续,要求于2019年10月31日提交的韩国专利申请10-2019-0138114、于2020年1月8日提交的美国临时专利申请62/958,614、于2020年1月8日提交的美国临时专利申请62/958,609、于2020年1月10日提交的美国临时专利申请62/959,574和于2020年1月10日提交的美国临时专利申请62/959,593的优先权,这些专利申请通过引用以其整体合并于此。
技术领域
本公开的实施例总体而言涉及用于神经网络的算术设备(arithmetic device)。
背景技术
在神经网络中,在数学上被建模为类似于人脑的神经元彼此连接以形成网络。最近,神经网络技术已经得到了快速发展。因此,已经有很多努力集中于在各种电子设备中使用神经网络技术来分析输入数据并提取有用的信息。
发明内容
根据一个实施例,一种算术设备包括输入分配信号发生电路、输出分配信号发生电路和输出分配信号补偿电路。输入分配信号发生电路基于从乘法-累加(MAC)计算的结果产生的算术结果信号来产生输入分配信号和补偿信号(compensation signal)。输出分配信号发生电路将输入分配信号应用于激活函数以产生第一输出分配信号和第二输出分配信号。输出分配信号补偿电路基于补偿信号、第一输出分配信号和第二输出分配信号来补偿第一输出分配信号,以产生补偿分配信号。
根据另一实施例,一种算术设备包括乘法-累加(MAC)电路和激活函数(activation function,AF)电路。MAC电路被配置为被分配给存储体,被配置为执行MAC计算以产生输入分配信号和补偿信号。AF电路被配置为将输入分配信号应用于激活函数以产生输出分配信号,并且被配置为基于补偿信号来补偿输出分配信号以产生补偿分配信号。
根据又一实施例,一种算术设备包括输出分配信号发生电路和输出分配信号补偿电路。输出分配信号发生电路被配置为将输入分配信号应用于激活函数以产生第一输出分配信号和第二输出分配信号。输出分配信号补偿电路被配置为基于补偿信号、第一输出分配信号和第二输出分配信号来补偿第一输出分配信号,以产生补偿分配信号。
附图说明
图1是示出根据本公开的一个实施例的算术设备的配置的框图。
图2是示出图1的算术设备中包括的MAC电路的配置的框图。
图3是示出图1的算术设备中包括的AF电路的配置的框图。
图4示出了图3的AF电路中包括的第一表储存电路的配置。
图5和图6是示出图4的第一表储存电路中包括的表输出电路的示例的电路图。
图7是示出图3的AF电路中包括的第二表储存电路的配置的框图。
图8是示出根据本公开的另一实施例的算术设备的配置的框图。
图9是示出根据本公开的又一实施例的算术设备的配置的框图。
图10是示出根据本公开的又一实施例的算术设备的配置的框图。
图11是示出图10的算术设备中包括的MAC电路的配置的框图。
图12是示出图10的算术设备中包括的AF电路的配置的框图。
图13是示出图12的AF电路中包括的输出分配信号发生电路的配置的框图。
图14是示出图13所示的输出分配信号发生电路的操作的表。
图15是示出图12的AF电路中包括的输出分配信号补偿电路的配置的框图。
图16是示出图15所示的输出分配信号补偿电路的操作的曲线图。
具体实施方式
在下面的实施例的描述中,当参数被称为“预定的”时,其可能意图表示当该参数在过程或算法中被使用时该参数的值预先被确定。该参数的值可以在过程或算法开始时被设定,或者可以在过程或算法被执行的时段期间被设定。
将理解的是,尽管本文中使用术语“第一”、“第二”、“第三”等来描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开。因此,在不脱离本公开的教导的情况下,在一些实施例中的第一元件可以在其他实施例中被称为第二元件。
此外,将理解的是,当一个元件被称为“连接”或“耦接”到另一个元件时,它可以直接连接或耦接到另一个元件,或者可以存在中间元件。相反,当一个元件被称为“直接连接”或“直接耦接”到另一元件时,则不存在中间元件。
逻辑“高”电平和逻辑“低”电平可以用于描述电信号的逻辑电平。具有逻辑“高”电平的信号可以与具有逻辑“低”电平的信号区分开。例如,当具有第一电压的信号对应于具有逻辑“高”电平的信号时,具有第二电压的信号对应于具有逻辑“低”电平的信号。在一个实施例中,逻辑“高”电平可以被设置为比逻辑“低”电平的电压电平高的电压电平。此外,信号的逻辑电平可以根据实施例而被设置为不同或相反。例如,在一个实施例中具有逻辑“高”电平的某个信号可以被设置为在另一实施例中具有逻辑“低”电平。
在下文中将参考附图来描述本公开的各种实施例。然而,本文中所描述的实施例仅用于说明性目的,并不旨在限制本公开的范围。
如图1所示,算术设备100可以包括命令解码器101、模式寄存器103、数据输入/输出电路105、数据线107、数据储存电路109、MAC电路111和AF电路113。
命令解码器101可以基于外部命令ECMD来产生表设定信号TSC、输入选择信号ISEL和表输入信号TIN。在输入选择信号ISEL中所包括的比特位的数量可以根据实施例而被设置为不同。在表输入信号TIN中所包括比特位的数量可以根据实施例而被设置为不同。
命令解码器101可以对外部命令ECMD进行解码以产生表设定信号(table setsignal)TSC。表设定信号TSC可以被激活以将用于神经网络的激活函数以查找表形式储存到第一表储存电路(图3的133)中。在用于激活表设定信号TSC的外部命令ECMD中所包括的比特位的数量可以根据实施例而被设置为不同。另外,用于激活表设定信号TSC的外部命令ECMD的逻辑电平组合可以根据实施例而被设置为不同。查找表具有包含关于输入值和与该输入值相对应的输出值的信息的表形式。当使用查找表时,与输入值相对应的输出值可以直接被打印,而无需进行任何运算,从而提高运算速度。
命令解码器101可以对外部命令ECMD进行解码以产生输入选择信号ISEL和表输入信号TIN。输入选择信号ISEL和表输入信号TIN可以被产生以将激活函数以查找表形式储存到在第一表储存电路(图3的133)中所包括的第一可变锁存器至第N可变锁存器(图4的149_1至149_N)中。表输入信号TIN可以被储存在第一可变锁存器至第N可变锁存器(图4的149_1至149_N)之中的、由输入选择信号ISEL选择的一个可变锁存器中。用于设置表输入信号TIN的逻辑电平组合的外部命令ECMD的逻辑电平组合可以根据实施例而被设置为不同。用于设置输入选择信号ISEL的逻辑电平组合的外部命令ECMD的逻辑电平组合可以根据实施例而被设置为不同。
模式寄存器103可以经由模式寄存器设定(mode register set)来储存函数选择信号FS。模式寄存器103可以经由模式寄存器读取来输出函数选择信号FS。模式寄存器设定和模式寄存器读取是针对模式寄存器103的通用操作,因此省略具体描述。模式寄存器103可以将函数选择信号FS应用于AF电路113。函数选择信号FS可以被产生以选择用于神经网络的各种激活函数之一。用于神经网络的各种激活函数可以包括但不限于:S形(即,S形函数),Tanh(即,双曲正切激活函数),ReLU(即,修正线性单元函数),带泄漏ReLU(即,带泄漏修正线性单元函数),Maxout(即,最大输出激活函数)和基于外部命令ECMD输入的激活函数。在函数选择信号FS中所包括的比特位的数量可以根据实施例而被设置为不同。模式寄存器103可以位于算术设备100的外部,例如,位于主机或存储器控制器上。
数据输入/输出电路105可以从算术设备100的外部接收外部数据DA,并且经由数据线107将外部数据DA传送到数据储存电路109和MAC电路111中的至少一个。数据输入/输出电路105可以经由数据线107将来自数据储存电路109、MAC电路111和AF电路113中的至少一个的数据输出为外部数据DA。
在写入操作中,数据储存电路109可以通过经由数据线107接收从数据输入/输出电路105接收的外部数据DA而进行内部储存。在读取操作中,数据储存电路109可以经由数据线107将已内部储存的数据传送到数据输入/输出电路105并将其输出为外部数据DA。
MAC电路111可以接收矢量数据(vector data)VD和权重数据(weight data)WD。MAC电路111可以从数据输入/输出电路105或数据储存电路109接收矢量数据VD。MAC电路111可以从数据输入/输出电路105或数据储存电路109接收权重数据WD。MAC电路111可以对矢量数据VD和权重数据WD执行MAC算术运算,以及基于MAC算术运算的结果来产生输入分配信号IDST。
MAC算术运算可以包括针对矢量数据VD和权重数据WD的乘法运算和累加运算。当矢量数据VD和权重数据WD以矩阵格式实现时,MAC算术运算可以包括针对在实现了矢量数据VD的矩阵中所包含的元素和在实现了权重数据WD的矩阵中所包含的元素的多次乘法运算和多次累加运算。在神经网络中,MAC算术运算被执行以将在输入层中所包含的特征分类为在输出层中所包含的结果值。矢量数据VD可以包含与在输入层中所包含的特征有关的信息。权重数据WD可以包含与对将输入层的特征分类为在输出层中所包含的结果的影响有关的信息。当在感知机(perceptron)中应用多个层时,MAC电路111可以从AF电路113接收输出分配信号ODST作为矢量数据VD。
基于表设定信号TSC、输入选择信号ISEL和表输入信号TIN,AF电路113可以将用于神经网络的激活函数以查找表形式储存到第一表储存电路(图3的133)中。储存在AF电路113中的查找表包括与输入分配信号IDST和输出分配信号ODST之间的关系有关的信息。输出分配信号ODST可以被限定为在输入分配信号IDST被应用到激活函数时导出的值。当表设定信号TSC被激活时,AF电路113可以将表输入信号TIN储存到第一可变锁存器至第N可变锁存器(图4的149_1至149_N)之中的、由输入选择信号ISEL选择的一个可变锁存器中。用于神经网络的各种激活函数(例如,S形、Tanh、ReLU、带泄漏ReLU和Maxout)可以被硬接线(hardwire)到AF电路113中。被硬接线到AF电路113中的激活函数的数量可以根据实施例而被设置为不同。
AF电路113可以基于函数选择信号FS来选择各种激活函数之一。AF电路113可以基于输入分配信号IDST来产生通过由函数选择信号FS选择的激活函数提供的结果值。AF电路113可以从被应用有由函数选择信号FS选择的激活函数的查找表中提取与输入分配信号IDST相对应的结果值,从而将结果值输出作为输出分配信号ODST。将参考图3至图7描述AF电路113的配置和操作。
参考图2,MAC电路111可以包括MAC运算器121和输入分配信号发生电路123。MAC运算器121可以接收矢量数据VD和权重数据WD,并且可以执行包括乘法运算和累加运算的MAC算术运算以产生算术结果信号MOUT。输入分配信号发生电路123可以仅提取算术结果信号MOUT的比特位之中的一些比特位以产生输入分配信号IDST。例如,当算术结果信号MOUT包含与整数相对应的比特位和与小数部分(decimal part)相对应的比特位时,输入分配信号IDST可以被选择作为来自算术结果信号MOUT中包含的比特位之中的、与整数相对应的比特位。算术结果信号MOUT的比特位的数量可以根据实施例而被设置为不同。另外,输入分配信号IDST的比特位的数量也可以根据实施例而被设置为不同。输入分配信号IDST的比特位的数量可以被设置为比算术结果信号MOUT的比特位的数量少。
参考图3,AF电路113可以包括输入解码器131、第一表储存电路133、第二表储存电路134、第三表储存电路135、第四表储存电路137和输出分配信号选择电路139。
输入解码器131可以基于表设定信号TSC和输入选择信号ISEL来产生解码输入信号IDEC。当表设定信号TSC被激活时,输入解码器131可以对输入选择信号ISEL进行解码以产生解码输入信号IDEC。
基于解码输入信号IDEC和输入分配信号IDST,第一表储存电路133可以储存表输入信号TIN并且可以输出第一表输出信号TOUT1。基于解码输入信号IDEC,第一表储存电路133可以将表输入信号TIN储存为具有查找表形式的第一激活函数。基于输入分配信号IDST,第一表储存电路133可以将第一激活函数的结果值输出作为第一表输出信号TOUT1。将参考图4至图6描述第一表储存电路133的配置和操作。
第二激活函数可以被硬接线到第二表储存电路134中。第二表储存电路134可以包括以具有第二激活函数的硬件实现的逻辑电路。第二激活函数可以被设置为S形、Tanh、ReLU、带泄漏ReLU和Maxout之一。第二表储存电路134可以基于输入分配信号IDST来输出以查找表形式储存的第二激活函数的结果值作为第二表输出信号TOUT2。将参考图7描述第二表储存电路134的配置和操作。
第三激活函数可以被硬接线到第三表储存电路135中。第三表储存电路135可以包括以具有第三激活函数的硬件实现的逻辑电路。第三激活函数可以被设置为S形、Tanh、ReLU、带泄漏ReLU和Maxout之一。第三激活函数可以被设置为不同于第二激活函数。第三表储存电路135可以基于输入分配信号IDST来输出以查找表形式储存的第三激活函数的结果值作为第三表输出信号TOUT3。
第四激活函数可以被硬接线到第四表储存电路137中。第四表储存电路137可以包括以具有第四激活函数的硬件实现的逻辑电路。第四激活函数可以被设置为S形、Tanh、ReLU、带泄漏ReLU和Maxout之一。第四激活函数可以被设置为不同于第二激活函数和第三激活函数。第四表储存电路137可以基于输入分配信号IDST来输出以查找表形式储存的第四激活函数的结果值作为第四表输出信号TOUT4。
输出分配信号选择电路139可以基于函数选择信号FS而从第一表输出信号TOUT1、第二表输出信号TOUT2、第三表输出信号TOUT3和第四表输出信号TOUT4产生输出分配信号ODST。当函数选择信号FS具有第一逻辑电平组合时,输出分配信号选择电路139可以输出第一表输出信号TOUT1作为输出分配信号ODST。当函数选择信号FS具有第二逻辑电平组合时,输出分配信号选择电路139可以输出第二表输出信号TOUT2作为输出分配信号ODST。当函数选择信号FS具有第三逻辑电平组合时,输出分配信号选择电路139可以输出第三表输出信号TOUT3作为输出分配信号ODST。当函数选择信号FS具有第四逻辑电平组合时,输出分配信号选择电路139可以输出第四表输出信号TOUT4作为输出分配信号ODST。
参考图4,第一表储存电路133可以包括解码信号输入电路141、可变锁存器电路143和表输出电路145。
解码信号输入电路141可以包括反相器147_1至147_N和传输门148_1至148_N。反相器147_1可以反相缓冲解码输入信号IDEC<1>的第一比特位信号,以输出解码输入信号IDEC<1>的第一比特位信号的反相缓冲信号。反相器147_2可以反相缓冲解码输入信号IDEC<2>的第二比特位信号,以输出解码输入信号IDEC<2>的第二比特位信号的反相缓冲信号。反相器147_N可以反相缓冲解码输入信号IDEC<N>的第N比特位信号,以输出解码输入信号IDEC<N>的第N比特位信号的反相缓冲信号。当解码输入信号IDEC<1>的第一比特位信号具有逻辑“高”电平时,传输门148_1可以被导通以将表输入信号TIN传输到第一可变锁存器149_1。当解码输入信号IDEC<2>的第二比特位信号具有逻辑“高”电平时,传输门148_2可以被导通以将表输入信号TIN传输到第二可变锁存器149_2。当解码输入信号IDEC<N>的第N比特位信号具有逻辑“高”电平时,传输门148_N可以被导通以将表输入信号TIN传输到第N可变锁存器149_N。
解码信号输入电路141可以基于解码输入信号IDEC而将表输入信号TIN传输到可变锁存器电路143中所包括的第一可变锁存器149_1至第N可变锁存器149_N。解码信号输入电路141可以通过由解码输入信号IDEC选择的路径来接收表输入信号TIN,以将表输入信号TIN传输到包括在可变锁存器电路143中的第一可变锁存器149_1至第N可变锁存器149_N。
可变锁存器电路143可以包括第一可变锁存器149_1至第N可变锁存器149_N。第一可变锁存器149_1可以通过在解码输入信号IDEC的第一比特位信号IDEC<1>具有逻辑“高”电平时被导通的传输门148_1来接收并储存表输入信号TIN,并且可以输出所储存的表输入信号TIN作为第一可变锁存器信号SLAT1。第二可变锁存器149_2可以通过在解码输入信号IDEC的第二比特位信号IDEC<2>具有逻辑“高”电平时被导通的传输门148_2来接收并储存表输入信号TIN,并且可以输出所储存的表输入信号TIN作为第二可变锁存器信号SLAT2。第N可变锁存器149_N可以通过在解码输入信号IDEC的第N比特位信号IDEC<N>具有逻辑“高”电平时被导通的传输门148_N来接收并储存表输入信号TIN,并且可以输出所存储的表输入信号TIN作为第N可变锁存器信号SLATN。
表输出电路145可以基于输入分配信号IDST来选择第一可变锁存器信号SLAT1至第N可变锁存器信号SLATN中的一个作为激活函数的结果值,从而将选中的可变锁存器信号输出作为第一表输出信号TOUT1。表输出电路145可以被实现为根据输入分配信号IDST的逻辑电平组合或根据输入分配信号IDST的解码信号来选择第一可变锁存器信号SLAT1至第N可变锁存器信号SLATN中的一个作为第一表输出信号TOUT1。将参考图5和图6描述表输出电路145的配置和操作。
参考图5,与表输出电路145的示例相对应的表输出电路145a可以包括反相器151_1、151_2、…和151_N以及传输门153_1、153_2、…和153_N。反相器151_1可以反相缓冲输入分配信号IDST<1>的第一比特位信号,以输出输入分配信号IDST<1>的第一比特位信号的反相缓冲信号。反相器151_2可以反相缓冲输入分配信号IDST<2>的第二比特位信号,以输出输入分配信号IDST<2>的第二比特位信号的反相缓冲信号。反相器151_N可以反相缓冲输入分配信号IDST<N>的第N比特位信号,以输出输入分配信号IDST<N>的第N比特位信号的反相缓冲信号。当输入分配信号IDST<1>的第一比特位信号具有逻辑“高”电平时,传输门153_1可以被导通以将第一可变锁存器信号SLAT1输出为第一表输出信号TOUT1。当输入分配信号IDST<2>的第二比特位信号具有逻辑“高”电平时,传输门153_2可以被导通以将第二可变锁存器信号SLAT2输出为第一表输出信号TOUT1。当输入分配信号IDST<N>的第N比特位信号具有逻辑“高”电平时,传输门153_N可以被导通以将第N可变锁存器信号SLATN输出为第一表输出信号TOUT1。
参考图6,与表输出电路145的另一示例相对应的表输出电路145b可以包括输出选择解码器155和解码信号输出电路157。输出选择解码器155可以对输入分配信号IDST进行解码以产生解码选择信号DSEL。解码信号输出电路157可以包括反相器158_1、158_2、…和158_N以及传输门159_1、159_2、…和159_N。反相器158_1可以反相缓冲解码选择信号DSEL<1>的第一比特位信号,以输出解码选择信号DSEL<1>的第一比特位信号的反相缓冲信号。反相器158_2可以反相缓冲解码选择信号DSEL<2>的第二比特位信号,以输出解码选择信号DSEL<2>的第二比特位信号的反相缓冲信号。反相器158_N可以反相缓冲解码选择信号DSEL<N>的第N比特位信号,以输出解码选择信号DSEL<N>的第N比特位信号的反相缓冲信号。当解码选择信号DSEL<1>的第一比特位信号具有逻辑“高”电平时,传输门159_1可以被导通以将第一可变锁存器信号SLAT1输出为第一表输出信号TOUT1。当解码选择信号DSEL<2>的第二比特位信号具有逻辑“高”电平时,传输门159_2可以被导通以将第二可变锁存器信号SLAT2输出为第一表输出信号TOUT1。当解码选择信号DSEL<N>的第N比特位信号具有逻辑“高”电平时,传输门159_N可以被导通以将第N可变锁存器信号SLATN输出为第一表输出信号TOUT1。
参考图7,第二表储存电路134可以包括固定锁存器电路161和固定表输出电路163。固定锁存器电路161可以包括第一固定锁存器161_1至第N固定锁存器161_N。第一固定锁存器信号FLAT1可以作为硬件被硬接线在第一固定锁存器161_1中。第二固定锁存器信号FLAT2可以作为硬件被硬接线在第二固定锁存器161_2中。第N固定锁存器信号FLATN可以作为硬件被硬接线在第N固定锁存器161_N中。储存在第一固定锁存器161_1至第N固定锁存器161_N中的第一固定锁存器信号FLAT1至第N固定锁存器信号FLATN中的每个可以是用于以查找表形式储存S形、Tanh、ReLU、带泄漏ReLU和Maxout中的一个的结果值。输入分配信号IDST的逻辑电平组合可以被设置为分别对应于第一固定锁存器信号FLAT1至第N固定锁存器信号FLATN。固定表输出电路163可以基于输入分配信号IDST来选择第一固定锁存器信号FLAT1至第N固定锁存器信号FLATN中的一个作为激活函数的结果值,从而将选中的可变锁存器信号输出作为第二表输出信号TOUT2。图3所示的第三表储存电路25和第四表储存电路26中的每个都可以被实现为具有与图7所示的第二表储存电路134相同的配置。
具有前述配置的算术设备100可以接收关于用于神经网络的激活函数的信息作为命令和地址,从而以查找表形式储存该信息。因此,被设置为彼此不同的各种激活函数可以应用于神经网络,而无需任何设计改变。
参考图8,根据另一实施例的算术设备100a可以包括外部数据解码器171和AF电路173。
外部数据解码器171可以接收外部数据DA以设置和输出表设定信号TSC、输入选择信号ISEL、表输入信号TIN和函数选择信号FS。外部数据解码器171可以从依次被输入到外部数据解码器171的外部数据DA来产生表设定信号TSC、输入选择信号ISEL、表输入信号TIN和函数选择信号FS。
AF电路173可以基于表设定信号TSC、输入选择信号ISEL和表输入信号TIN而以查找表形式储存用于神经网络的激活函数。各种激活函数可以被硬接线在AF电路173中。AF电路173可以将基于输入分配信号IDST而由函数选择信号FS选择的激活函数的结果值输出作为输出分配信号ODST。AF电路173的配置和操作可以与图1所示的AF电路113的配置和操作相同。因此,在下文中将省略对AF电路173的描述。
具有前述配置的算术设备100a可以接收与用于神经网络的激活函数有关的信息作为数据,从而以查找表形式储存该信息。因此,被设置为彼此不同的各种激活函数可以应用于神经网络,而无需任何设计改变。
参考图9,根据又一实施例的算术设备100b可以包括模式寄存器181和AF电路183。
模式寄存器181可以通过模式寄存器设定而储存表设定信号TSC、输入选择信号ISEL、表输入信号TIN和函数选择信号FS。模式寄存器181可以通过模式寄存器读取而输出表设定信号TSC、输入选择信号ISEL、表输入信号TIN和函数选择信号FS。
AF电路183可以基于表设定信号TSC、输入选择信号ISEL和表输入信号TIN而以查找表形式储存用于神经网络的激活函数。各种激活函数可以被硬接线在AF电路183中。AF电路183可以将基于输入分配信号IDST而由函数选择信号FS选择的激活函数的结果值输出作为输出分配信号ODST。AF电路183的配置和操作可以与图1所示的AF电路113的配置和操作相同。因此,在下文中将省略对AF电路183的描述。
具有前述配置的算术设备100b可以基于储存在模式寄存器181中的信息而以查找表形式储存关于用于神经网络的激活函数的信息。因此,被设置为与彼此不同的各种激活函数可以应用于神经网络,而无需任何设计改变。
图1所示的算术设备100、图8所示的算术设备100a和图9所示的算术设备100b可以被包括在通过主机和存储器控制器接收外部命令的存储器模块中。存储器模块可以被实现为单列直插式存储器模块(SIMM)、双列直插式存储器模块(DIMM)和高带宽存储器(HBM)。
如图10所示,算术设备200可以包括数据输入/输出电路201、数据线203、数据储存电路205、MAC电路207和AF电路209。
数据输入/输出电路201可以从算术设备200的外部接收外部数据DA,并且通过数据线203将外部数据DA传送到数据储存电路205和MAC电路207中的至少一个。数据输入/输出电路201可以通过数据线203将来自数据储存电路205、MAC电路207和AF电路209中的至少一个的数据输出为外部数据DA。
在写入操作中,数据储存电路205可以通过经由数据线203接收从数据输入/输出电路201接收的外部数据DA而进行内部储存。在读取操作中,数据储存电路205可以通过数据线203将已内部储存的数据传送到数据输入/输出电路201并将其输出为外部数据DA。
MAC电路207可以接收矢量数据VD和权重数据WD。MAC电路207可以从数据输入/输出电路201或数据储存电路205接收矢量数据VD。MAC电路207可以从数据输入/输出电路201或数据储存电路205接收权重数据WD。MAC电路207可以对矢量数据VD和权重数据WD执行MAC算术运算,并基于MAC算术运算的结果来产生输入分配信号IDST和补偿信号COR。当在感知机中应用多个层时,MAC电路207可以从AF电路209接收补偿分配信号CODST作为矢量数据VD。
AF电路209可以以查找表形式储存用于神经网络的激活函数。储存在AF电路209中的查找表包括与输入分配信号IDST和输出分配信号ODST之间的关系有关的信息。输出分配信号ODST可以被限定为在输入分配信号IDST被应用于激活函数时导出的值。用于神经网络的各种激活函数(例如,S形、Tanh、ReLU、带泄漏ReLU和Maxout)可以被硬接线到AF电路209中。被硬连线在AF电路209中的激活函数的数量可以根据实施例而被设置为不同。
AF电路209可以基于输入分配信号IDST和补偿信号COR来产生补偿分配信号CODST。AF电路209可以使用已内部储存的激活函数而基于输入分配信号IDST来产生第一输出分配信号ODST1和第二输出分配信号ODST2。AF电路209可以通过基于补偿信号COR、第一输出分配信号ODST1和第二输出分配信号ODST2而补偿第一输出分配信号ODST1来产生补偿分配信号CODST。
参考图11,MAC电路207可以包括MAC运算器211和输入分配信号发生电路213。MAC运算器211可以接收矢量数据VD和权重数据WD,并且可以执行包括乘法运算和累加运算的MAC算术运算以产生算术结果信号MOUT。输入分配信号发生电路213可以仅提取算术结果信号MOUT的比特位之中的一些比特位,以产生输入分配信号IDST和补偿信号COR。例如,当算术结果信号MOUT包含与整数相对应的比特位和与小数部分相对应的比特位时,输入分配信号IDST可以被选择作为在算术结果信号MOUT中包含的比特位之中的、与整数相对应的比特位,而补偿信号COR可以被选择作为在算术结果信号MOUT中包含的比特位之中的、与小数(decimal)相对应的比特位。算术结果信号MOUT的比特位的数量可以根据实施例而被设置为不同。另外,输入分配信号IDST的比特位的数量也可以根据实施例而被设置为不同。输入分配信号IDST的比特位的数量可以被设置为比算术结果信号MOUT的比特位的数量少。
参考图12,AF电路209可以包括输出分配信号发生电路221和输出分配信号补偿电路223。
输出分配信号发生电路221可以基于输入分配信号IDST来产生第一输出分配信号ODST1和第二输出分配信号ODST2。输出分配信号发生电路221可以将激活函数储存在查找表中。输出分配信号发生电路221可以将输入分配信号IDST应用于激活函数以产生第一输出分配信号ODST1。输出分配信号发生电路221可以将一个值(该值通过将预定值与输入分配信号IDST相加而获得)应用于激活函数,以产生第二输出分配信号ODST2。
输出分配信号补偿电路223可以基于第一输出分配信号ODST1、第二输出分配信号ODST2和补偿信号COR来产生补偿分配信号CODST。输出分配信号补偿电路223可以通过将补偿信号COR的值与第一输出分配信号ODST1和第二输出分配信号ODST2之间的差的值相乘来产生补偿分配信号CODST。由于输出分配信号补偿电路223基于补偿信号COR来对第一输出分配信号ODST1进行补偿以产生补偿分配信号CODST,因此可以提高激活函数的精度。
如图13所示,输出分配信号发生电路221可以包括码锁存器电路(code latchcircuit)231、加法器233、第一选择/输出电路235和第二选择/输出电路237。
码锁存器电路231可以包括第一码锁存器至第十五码锁存器231(1:15),并且可以将激活函数储存在查找表中。第一码锁存器231(1)可以锁存和输出第一锁存器码LC1,第二码锁存器231(2)可以锁存和输出第二锁存器码LC2,依此类推。
加法器233可以将预定值与输入分配信号IDST相加以产生相加输入分配信号IDSTA。加法器233可以将二进制数“1”与输入分配信号IDST相加以产生相加输入分配信号IDSTA。例如,当输入分配信号IDST<4:1>被设置为二进制码“1001”时,相加输入分配信号IDSTA<4:1>可以被产生为具有二进制码“1010”。在一些实施例中,与输入分配信号IDST相加的预定值可以被设置为二进制数“10”。
第一选择/输出电路235可以基于输入分配信号IDST来选择第一锁存器码LCl至第十五锁存器码LC15中的一个并将其输出作为第一输出分配信号ODST1。第一选择/输出电路235可以根据激活函数来选择第一锁存器码LC1至第十五锁存器码LC15之中的、与输入分配信号IDST的逻辑电平组合相对应的码并将其输出作为第一输出分配信号ODST1。
第二选择/输出电路237可以基于相加输入分配信号IDSTA来选择第一锁存器码LCl至第十五锁存器码LC15中的一个并将其输出作为第二输出分配信号ODST2。第二选择/输出电路237可以根据激活函数来选择第一锁存器码LC1至第十五锁存器码LC15之中的、与相加输入分配信号IDSTA的逻辑电平组合相对应的码并将其输出作为第二输出分配信号ODST2。
参考图14,在查找表中列出了根据激活函数而通过输入分配信号IDST<4:1>的逻辑电平组合选择的输出选择信号ODST的设定值。当输入分配信号IDST<4:1>的逻辑电平组合具有二进制数“0001”(对应于十进制数“1”)时,输出选择信号ODST的设定值可以为“Y1”,而当输入分配信号IDST<4:1>的逻辑电平组合具有二进制数“0010”(对应于十进制数“2”)时,输出选择信号ODST的设定值可以为“Y2”。另外,当输入分配信号IDST<4:1>的逻辑电平组合具有二进制数“1001”(对应于十进制数“9”)时,输出选择信号ODST的设定值可以为“Y9”,而当输入分配信号IDST<4:1>的逻辑电平组合的二进制数为“1010”(对应于十进制数“10”)时,输出选择信号ODST的设定值可以为“Y10”。此外,当输入分配信号IDST<4:1>的逻辑电平组合具有二进制数“1111”(对应于十进制数“15”)时,输出选择信号ODST的设定值可以为“Y15”。“Y1”的值可以是第一锁存器码LC1的设定值,而“Y2”的值可以是第二锁存器码LC2的设定值。另外,“Y9”的值可以是第九锁存器码LC9的设定值,而“Y10”的值可以是第十锁存器码LC10的设定值。此外,“Y15”的值可以是第十五锁存器码LC15的设定值。当输入分配信号IDST<4:1>的逻辑电平组合具有二进制数“1001”(对应于十进制数“9”)时,从加法器233输出的相加输入分配信号IDSTA<4:1>可以被设置为二进制数“1010”。在这种情况下,根据输入分配信号IDST<4:1>而从第一选择/输出电路235输出的第一输出分配信号ODST1可以是“Y9”,并且根据相加输入分配信号IDSTA<4:1>而从第二选择/输出电路237输出的第二输出分配信号ODST2可以是“Y10”。在该实施例中,包含4个比特位的输入分配信号IDST仅是示例,并且不限于此。由输出选择信号ODST和锁存器码LC1-LC15设置的设定值Y1-Y15的组合可以根据输入分配信号IDST中所包含的比特位的数量而变化。
如图15所示,输出分配信号补偿电路223可以包括减法器241、加法码(additioncode)发生电路243和补偿分配信号发生电路245。
减法器241可以从第二输出分配信号ODST2减去第一输出分配信号ODST1,以产生减法码(subtraction code)SUB。减法码SUB可以被产生为具有与第一输出分配信号ODST1和第二输出分配信号ODST2之间的差相对应的逻辑电平组合。例如,当第一输出分配信号ODST1和第二输出分配信号ODST2之间的差是十进制数“4”时,减法码SUB可以被产生为具有与二进制数“100”相对应的逻辑电平组合。
加法码发生电路243可以基于减法码SUB和补偿信号COR来产生加法码ADD_C。加法码发生电路243可以将减法码SUB乘以补偿值(该补偿值由补偿信号COR设置),以产生减法/补偿值。加法码发生电路243可以产生具有与由减法/补偿值选择的整数相对应的逻辑电平组合的加法码ADD_C。由补偿信号COR设置的补偿值可以将补偿信号COR的逻辑电平组合的总数量设置为其分母,并且可以将与补偿信号COR的逻辑电平组合相对应的值设置为其分子。加法码ADD_C可以被设置为具有与在减法/补偿值中所包括的整数相对应的逻辑电平组合。例如,当减法/补偿值具有值“1.5”时,加法码ADD_C可以被设置为具有与整数“1”相对应的逻辑值组合“01”。在一些实施例中,加法码ADD_C可以被设置为具有与通过将减法/补偿值的分数(不小于0.5)提高到一个单位而获得的整数相对应的逻辑电平组合。例如,当减法/补偿值具有值“1.5”时,加法码ADD_C可以被设置为具有与整数“2”相对应的逻辑电平组合“10”。
补偿分配信号发生电路245可以将加法码ADD_C与第一输出分配信号ODST1相加,以产生补偿分配信号CODST。例如,当第一输出分配信号ODST1具有逻辑电平组合“10”并且加法码ADD_C具有值“1”时,补偿分配信号CODST可以被设置为具有逻辑电平组合“11”。
图16是示出输出分配信号补偿电路223的操作的曲线图。在图16的曲线图中,横坐标表示输入分配信号IDST和相加输入分配信号IDSTA的值,而纵坐标表示第一输出分配信号ODST1、第二输出分配信号ODST2和补偿分配信号CODST的值。在下文中将参考图16结合输入分配信号IDST具有值“9”和相加输入分配信号IDSTA具有值“10”的情况来描述用于产生补偿分配信号CODST的操作。
在该实施例中,当输入分配信号IDST具有值“9”时,第一输出分配信号ODST1可以根据激活函数而被产生为具有值“10”,而当相加输入分配信号IDSTA具有值“10”时,第二输出分配信号ODST2可以根据激活函数而被产生为具有值“12”。因此,减法码SUB可以被设置为“2”。当补偿信号COR的值为“11000”时,补偿值可以被设置为“24/32”。相应地,因为减法码SUB具有值“2”,所以减法/补偿值可以通过公式“2×24/32=48/32=1+16/32”来计算。因为加法码ADD_C被设置为减法/补偿值的整数部分,所以加法码ADD_C可以具有值“1”。补偿分配信号CODST可以被设置为与通过将加法码ADD_C与第一输出分配信号ODST1相加而获得的值相对应的值“11”。
如上所述,算术设备200可以通过将根据补偿信号COR产生的加法码ADD_C与根据输入分配信号而顺着激活函数选择并输出的第一输出分配信号ODST1相加来产生补偿分配信号CODST。因此,可以提高激活函数的精度。

Claims (20)

1.一种算术设备,包括:
输入分配信号发生电路,其被配置为接收算术结果信号,并且通过所述输入分配信号发生电路传送所述算术结果信号,以基于所述算术结果信号来产生输入分配信号和补偿信号,所述算术结果信号是从MAC计算的结果产生的,MAC指乘法与累加;
输出分配信号发生电路,其被配置为接收所述输入分配信号,并且通过所述输出分配信号发生电路传送所述输入分配信号,以将所述输入分配信号应用于激活函数来产生第一输出分配信号和第二输出分配信号;以及
输出分配信号补偿电路,其被配置为接收所述第一输出分配信号和所述第二输出分配信号以及所述补偿信号,并且通过所述输出分配信号补偿电路传送所述第一输出分配信号和所述第二输出分配信号以及所述补偿信号,以基于所述补偿信号、所述第一输出分配信号和所述第二输出分配信号来补偿所述第一输出分配信号以产生补偿分配信号。
2.根据权利要求1所述的算术设备,
其中,所述输入分配信号发生电路从数据输入/输出电路、数据储存电路和所述输出分配信号补偿电路中的一个接收矢量数据,以及
其中,所述矢量数据包含与在用于神经网络的输入层中所包含的特征有关的信息。
3.根据权利要求1所述的算术设备,其中,所述输入分配信号发生电路从数据输入/输出电路和数据储存电路中的一个接收权重数据,以及
其中,所述权重数据包含与对将输入层的特征分类为在用于神经网络的输出层中所包含的结果的影响有关的信息。
4.根据权利要求1所述的算术设备,其中,所述输入分配信号发生电路选择所述输入分配信号作为来自所述算术结果信号中所包含的比特位之中的、与整数相对应的比特位,以及
其中,所述输入分配信号发生电路选择所述补偿信号作为来自所述算术结果信号中所包含的比特位之中的、与小数相对应的比特位。
5.根据权利要求1所述的算术设备,其中,所述输出分配信号发生电路被配置为将所述激活函数储存在查找表中,被配置为将所述输入分配信号应用于所述激活函数以产生所述第一输出分配信号,以及被配置为通过将相加输入分配信号应用于所述激活函数来产生所述第二输出分配信号,所述相加输入分配信号通过将预定值与所述输入分配信号相加来产生。
6.根据权利要求5所述的算术设备,其中,所述输出分配信号发生电路包括:
码锁存器电路,其被配置为锁存和输出多个锁存器码;
第一选择/输出电路,其被配置为基于所述输入分配信号来选择所述多个锁存器码中的一个并将其输出作为所述第一输出分配信号;以及
第二选择/输出电路,其被配置为基于所述相加输入分配信号来选择所述多个锁存器码中的一个并将其输出作为所述第二输出分配信号。
7.根据权利要求1所述的算术设备,其中,所述输出分配信号补偿电路被配置为基于所述第一输出分配信号和所述第二输出分配信号来产生减法码,以及被配置为基于将所述减法码和由所述补偿信号设置的补偿值相乘的结果来产生所述补偿分配信号。
8.根据权利要求7所述的算术设备,其中,由所述补偿信号设置的所述补偿值将所述补偿信号的逻辑电平组合的总数量设置为所述补偿值的分母,而将与所述补偿信号的逻辑电平组合相对应的值设置为所述补偿值的分子。
9.根据权利要求7所述的算术设备,其中,所述输出分配信号补偿电路包括:
减法器,其被配置为从所述第二输出分配信号减去所述第一输出分配信号以产生所述减法码;
加法码发生电路,其被配置为将所述补偿信号的补偿值乘以所述减法码以产生减法/补偿值,并且被配置为产生与由所述减法/补偿值选择的整数相对应的加法码;以及
补偿分配信号发生电路,其被配置为将所述加法码与所述第一输出分配信号相加以产生所述补偿分配信号。
10.根据权利要求9所述的算术设备,其中,所述加法码被设置为与所述减法/补偿值的整数分量相对应的逻辑电平组合。
11.一种算术设备,包括:
MAC电路,其被配置为被分配给存储体,被配置为执行MAC计算以产生输入分配信号和补偿信号,并且通过所述MAC电路传送所述输入分配信号和所述补偿信号,以输出所述输入分配信号和所述补偿信号,MAC指乘法与累加;以及
AF电路,其被配置为接收所述输入分配信号和所述补偿信号,并且通过所述AF电路传送所述输入分配信号和所述补偿信号,以将所述输入分配信号应用于激活函数来产生输出分配信号;并且被配置为基于所述补偿信号来补偿所述输出分配信号以产生补偿分配信号,AF指激活函数。
12.根据权利要求11所述的算术设备,
其中,所述MAC电路从数据输入/输出电路、数据储存电路和所述AF电路中的一个接收矢量数据,以及
其中,所述MAC电路从所述数据输入/输出电路和所述数据储存电路中的一个接收权重数据。
13.根据权利要求11所述的算术设备,其中,所述AF电路包括:
输出分配信号发生电路,其被配置为将所述输入分配信号应用于所述激活函数以产生第一输出分配信号和第二输出分配信号;以及
输出分配信号补偿电路,其被配置为基于所述补偿信号、所述第一输出分配信号和所述第二输出分配信号来补偿所述第一输出分配信号,以产生所述补偿分配信号。
14.根据权利要求13所述的算术设备,其中,所述MAC电路选择所述输入分配信号作为来自算术结果信号中所包含的比特位之中的、与整数相对应的比特位,以及
其中,所述MAC电路选择所述补偿信号作为来自所述算术结果信号中所包含的比特位之中的、与小数相对应的比特位。
15.根据权利要求13所述的算术设备,其中,所述输出分配信号发生电路被配置为将所述激活函数储存在查找表中,被配置为将所述输入分配信号应用于所述激活函数以产生所述第一输出分配信号,以及被配置为通过将相加输入分配信号应用于所述激活函数来产生所述第二输出分配信号,所述相加输入分配信号通过将预定值与所述输入分配信号相加来产生。
16.根据权利要求13所述的算术设备,其中,所述输出分配信号补偿电路被配置为基于所述第一输出分配信号和所述第二输出分配信号来产生减法码,以及被配置为基于将所述减法码和由所述补偿信号设置的补偿值相乘的结果来产生所述补偿分配信号。
17.一种算术设备,包括:
输出分配信号发生电路,其被配置为接收输入分配信号,并且通过所述输出分配信号发生电路传送所述输入分配信号,以将所述输入分配信号应用于激活函数来产生第一输出分配信号和第二输出分配信号;以及
输出分配信号补偿电路,其被配置为接收所述第一输出分配信号和所述第二输出分配信号,并且通过所述输出分配信号补偿电路传送所述第一输出分配信号和所述第二输出分配信号,以基于补偿信号、所述第一输出分配信号和所述第二输出分配信号来补偿所述第一输出分配信号以产生补偿分配信号。
18.根据权利要求17所述的算术设备,其中,所述输入分配信号被选择作为来自算术结果信号中所包含的比特位之中的、与整数相对应的比特位,以及
其中,所述补偿信号被选择作为来自所述算术结果信号中所包含的比特位之中的、与小数相对应的比特位。
19.根据权利要求17所述的算术设备,其中,所述输出分配信号发生电路被配置为将所述激活函数储存在查找表中,被配置为将所述输入分配信号应用于所述激活函数以产生所述第一输出分配信号,以及被配置为通过将相加输入分配信号应用于所述激活函数来产生所述第二输出分配信号,所述相加输入分配信号通过将预定值与所述输入分配信号相加来产生。
20.根据权利要求17所述的算术设备,其中,所述输出分配信号补偿电路被配置为基于所述第一输出分配信号和所述第二输出分配信号来产生减法码,以及被配置为基于将所述减法码和由所述补偿信号设定的补偿值相乘的结果来产生所述补偿分配信号。
CN202010827350.0A 2019-10-31 2020-08-17 用于神经网络的算术设备 Active CN112749794B (zh)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
KR1020190138114A KR20210052059A (ko) 2019-10-31 2019-10-31 반도체장치
KR10-2019-0138114 2019-10-31
KR10-2019-0160238 2019-12-04
KR1020190160238A KR20210070139A (ko) 2019-12-04 2019-12-04 반도체장치
US202062958609P 2020-01-08 2020-01-08
US202062958614P 2020-01-08 2020-01-08
US62/958,609 2020-01-08
US62/958,614 2020-01-08
US202062959574P 2020-01-10 2020-01-10
US202062959593P 2020-01-10 2020-01-10
US62/959,574 2020-01-10
US62/959,593 2020-01-10
US16/919,786 US11915125B2 (en) 2019-10-31 2020-07-02 Arithmetic devices for neural network
US16/919,786 2020-07-02

Publications (2)

Publication Number Publication Date
CN112749794A CN112749794A (zh) 2021-05-04
CN112749794B true CN112749794B (zh) 2024-07-12

Family

ID=75645343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010827350.0A Active CN112749794B (zh) 2019-10-31 2020-08-17 用于神经网络的算术设备

Country Status (1)

Country Link
CN (1) CN112749794B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915125B2 (en) 2019-10-31 2024-02-27 SK Hynix Inc. Arithmetic devices for neural network
US11386947B2 (en) * 2019-10-31 2022-07-12 SK Hynix Inc. Arithmetic devices conducting auto-load operation for writing the activation functions

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE42643E1 (en) * 1991-03-27 2011-08-23 Panasonic Corporation Communication system
DE19942144A1 (de) * 1999-09-03 2001-06-07 Schroeder Dierk Verfahren zur adaptiven Schwingungsdämpfung mittels neuronaler Netze
JP2010050609A (ja) * 2008-08-20 2010-03-04 Hitachi Kokusai Electric Inc 歪補償増幅回路
US9300462B2 (en) * 2013-05-18 2016-03-29 Bernd Schafferer Methods, devices, and algorithms for the linearization of nonlinear time variant systems and the synchronization of a plurality of such systems
JP6594710B2 (ja) * 2015-08-31 2019-10-23 ルネサスエレクトロニクス株式会社 クロックデータリカバリ回路
WO2018003057A1 (ja) * 2016-06-30 2018-01-04 株式会社ソシオネクスト 等化回路、受信回路、及び半導体集積回路
KR20180119071A (ko) * 2017-04-24 2018-11-01 에스케이하이닉스 주식회사 전자장치
US10839286B2 (en) * 2017-09-14 2020-11-17 Xilinx, Inc. System and method for implementing neural networks in integrated circuits
US11775805B2 (en) * 2018-06-29 2023-10-03 Intel Coroporation Deep neural network architecture using piecewise linear approximation

Also Published As

Publication number Publication date
CN112749794A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN112749793B (zh) 用于神经网络的算术设备
CN112749794B (zh) 用于神经网络的算术设备
US12014184B2 (en) Arithmetic devices for neural network including an input distribution signal generation circuit, an output distribution signal generation circuit, and an output distribution signal compensation circuit
US20210132910A1 (en) Arithmetic devices for neural network
CN112199707A (zh) 一种同态加密中的数据处理方法、装置以及设备
US11954457B2 (en) Arithmetic devices for neural network including a function storage circuit and an activation function circuit
US10044370B1 (en) Lossless binary compression in a memory constrained environment
CN114008583B (zh) 存储器中的位串运算
Helttula et al. Graphical specification of algorithm animations with Aladdin
US20210132909A1 (en) Processing-in-memory (pim) devices and methods of testing the pim devices
CN110800055A (zh) 用于存储器决策反馈均衡器的电压参考计算
US11922295B2 (en) Arithmetic devices for neural network
US7610454B2 (en) Address decoding method and related apparatus by comparing mutually exclusive bit-patterns of addresses
WO2021231069A1 (en) Memory device to train neural networks
CN118056355A (zh) 用于使用神经网络估计经编码数据的位错误率(ber)的系统
CN113255747B (zh) 量子多通道卷积神经分类方法、系统、终端及存储介质
US6308249B1 (en) Storing data in a grey code system
CN115516463A (zh) 使用posit的神经元
CN116341668B (zh) 一种量子比特补偿方法、装置、设备、介质和量子系统
CN108736876A (zh) 电子设备
CN112749796B (zh) 用于神经网络的计算设备
US20090077151A1 (en) Multi-Input, Multi-State Switching Functions and Multiplications
CN115269445B (zh) 具有模拟输入和模拟输出的模拟内容可寻址存储器
US5499202A (en) Residue circuit
US10169230B2 (en) Method for access to all the cells of a memory area for purposes of writing or reading data blocks in said cells

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