CN112749793B - 用于神经网络的算术设备 - Google Patents
用于神经网络的算术设备 Download PDFInfo
- Publication number
- CN112749793B CN112749793B CN202010705502.XA CN202010705502A CN112749793B CN 112749793 B CN112749793 B CN 112749793B CN 202010705502 A CN202010705502 A CN 202010705502A CN 112749793 B CN112749793 B CN 112749793B
- Authority
- CN
- China
- Prior art keywords
- signal
- output
- input
- circuit
- arithmetic device
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 26
- 230000004913 activation Effects 0.000 claims abstract description 66
- 238000013500 data storage Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 74
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 15
- 102100040577 Dermatan-sulfate epimerase-like protein Human genes 0.000 description 10
- 101000816741 Homo sapiens Dermatan-sulfate epimerase-like protein Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Logic Circuits (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种用于神经网络的算术设备。算术设备包括具有第一表储存电路的AF电路。当表设定信号被激活时,AF电路将表输入信号以查找表形式储存到在第一表储存电路中所包括的可变锁存器之中的、基于输入选择信号选择的一个可变锁存器中。AF电路基于输入分配信号来提取由查找表实现的第一激活函数的结果值,以将所提取的结果值输出作为用于产生输出分配信号的第一表输出信号。
Description
相关申请的交叉引用
本申请要求于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)。
背景技术
在神经网络中,在数学上被建模为类似于人脑的神经元彼此连接以形成网络。最近,神经网络技术得到了快速发展。因此,已经有很多努力集中于在各种电子设备中使用神经网络技术来分析输入数据并提取有用的信息。
发明内容
根据一个实施例,一种算术设备可以包括命令解码器和激活函数(activationfunction,AF)电路。命令解码器对外部命令进行解码,以产生表设定信号(table setsignal)、输入选择信号和表输入信号。AF电路可以包括第一表储存电路。当表设定信号被激活时,AF电路将表输入信号以查找表形式储存到在第一表储存电路中所包括的多个可变锁存器之中的、基于输入选择信号选择的一个可变锁存器中。AF电路基于输入分配信号来提取由查找表实现的第一激活函数的结果值,以将所提取的结果值输出作为用于产生输出分配信号的第一表输出信号。
根据另一实施例,一种算术设备可以包括外部数据解码器和AF电路。外部数据解码器对外部数据进行解码以产生表设定信号、输入选择信号和表输入信号。AF电路可以包括第一表储存电路。当表设定信号被激活时,AF电路将表输入信号以查找表形式储存到在第一表储存电路中所包括的多个可变锁存器之中的、基于输入选择信号选择的一个可变锁存器中。AF电路基于输入分配信号来提取由查找表实现的第一激活函数的结果值,以将所提取的结果值输出作为用于产生输出分配信号的第一表输出信号。
根据又一实施例,一种算术设备可以包括模式寄存器和AF电路。模式寄存器经由模式寄存器设定(mode register set)而储存表设定信号、输入选择信号和表输入信号。AF电路可以包括第一表储存电路。当表设定信号被激活时,AF电路将表输入信号以查找表形式储存到在第一表储存电路中所包括的多个可变锁存器之中的、基于输入选择信号选择的一个可变锁存器中。AF电路基于输入分配信号来提取由查找表实现的第一激活函数的结果值,以将所提取的结果值输出作为用于产生输出分配信号的第一表输出信号。
附图说明
图1是示出根据本公开的一个实施例的算术设备的配置的框图。
图2是示出图1的算术设备中包括的MAC电路的配置的框图。
图3是示出图1的算术设备中包括的AF电路的配置的框图。
图4示出了图3的AF电路中包括的第一表储存电路的配置。
图5和图6是示出图4的第一表储存电路中包括的表输出电路的示例的电路图。
图7是示出图3的AF电路中包括的第二表储存电路的配置的框图。
图8是示出根据本公开的另一实施例的算术设备的配置的框图。
图9是示出根据本公开的又一实施例的算术设备的配置的框图。
具体实施方式
在下文中将参考附图来描述本公开的各种实施例。然而,本文中所描述的实施例仅用于说明性目的,并不旨在限制本公开的范围。
如图1所示,算术设备100可以包括命令解码器101、模式寄存器103、数据输入/输出电路105、数据线107、数据储存电路109、MAC电路111和AF电路113。
命令解码器101可以基于外部命令ECMD来产生表设定信号TSC、输入选择信号ISEL和表输入信号TIN。输入选择信号ISEL中包括的比特位的数量可以根据实施例而被设置为不同。表输入信号TIN中包括的比特位的数量可以根据实施例而被设置为不同。
命令解码器101可以对外部命令ECMD进行解码以产生表设定信号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可以经由模式寄存器设定来储存函数选择信号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可以包含与对将输入层的特征分类为在输出层中所包含的结果的影响有关的信息。当在感知器中应用多个层时,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包含对应于整数的比特位和对应于小数部分的比特位时,输入分配信号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)。
Claims (20)
1.一种算术设备,包括:
命令解码器,其被配置为对外部命令进行解码以产生表设定信号、输入选择信号和表输入信号;以及
AF电路,其被配置为包括第一表储存电路,被配置为当所述表设定信号被激活时,将所述表输入信号以查找表形式储存到在所述第一表储存电路中所包括的可变锁存器之中的、基于所述输入选择信号选择的一个可变锁存器中,以及被配置为基于输入分配信号来提取由所述查找表实现的第一激活函数的结果值,以将所提取的结果值输出作为用于产生输出分配信号的第一表输出信号,其中,所述输入分配信号是基于对矢量数据和权重数据执行MAC算术运算而获得的结果来产生的,AF指激活函数。
2.根据权利要求1所述的算术设备,
其中,所述第一表储存电路被配置为包括第一可变锁存器和第二可变锁存器;以及
其中,所述表输入信号根据所述输入选择信号而被输入并储存到所述第一可变锁存器或所述第二可变锁存器中。
3.根据权利要求1所述的算术设备,其中,所述AF电路还包括第二表储存电路,用于神经网络的第二激活函数被硬接线在所述第二表储存电路中。
4.根据权利要求3所述的算术设备,其中,所述第二激活函数被设置为S形函数、双曲正切激活函数Tanh、修正线性单元函数ReLU、带泄漏ReLU和最大输出激活函数Maxout。
5.根据权利要求3所述的算术设备,其中,所述第二表储存电路被配置为基于所述输入分配信号来提取所述第二激活函数的结果值,以将所提取的结果值输出作为用于产生所述输出分配信号的第二表输出信号。
6.根据权利要求5所述的算术设备,其中,所述AF电路基于函数选择信号而输出所述第一表输出信号和所述第二表输出信号中的一个作为所述输出分配信号。
7.根据权利要求6所述的算术设备,其中,所述函数选择信号经由模式寄存器设定而被储存到模式寄存器中,以及
其中,所述函数选择信号经由模式寄存器读取而被从所述模式寄存器输出。
8.根据权利要求1所述的算术设备,还包括MAC电路,所述MAC电路被配置为执行用于产生所述输入分配信号的所述MAC算术运算,其中所述MAC算术运算包括所述矢量数据和所述权重数据的乘法运算和累加运算。
9.根据权利要求8所述的算术设备,其中,所述矢量数据包含与在用于神经网络的输入层中所包含的特征相关的信息,并且所述权重数据包含与对将所述输入层的特征分类为在用于所述神经网络的输出层中所包含的结果的影响相关的信息。
10.根据权利要求8所述的算术设备,其中,所述MAC电路从数据输入/输出电路或数据储存电路接收所述权重数据。
11.根据权利要求8所述的算术设备,其中,所述MAC电路从数据输入/输出电路、数据储存电路和所述AF电路之一接收所述矢量数据。
12.一种算术设备,包括:
外部数据解码器,其被配置为对外部数据进行解码以产生表设定信号、输入选择信号和表输入信号;以及
AF电路,其被配置为包括第一表储存电路,被配置为当所述表设定信号被激活时,将所述表输入信号以查找表形式储存到在所述第一表储存电路中所包括的可变锁存器之中的、基于所述输入选择信号选择的一个可变锁存器中,以及被配置为基于输入分配信号来提取由所述查找表实现的第一激活函数的结果值,以将所提取的结果值输出作为用于产生输出分配信号的第一表输出信号,其中,所述输入分配信号是基于对矢量数据和权重数据执行MAC算术运算而获得的结果来产生的。
13.根据权利要求12所述的算术设备,还包括MAC电路,所述MAC电路被配置为执行用于产生所述输入分配信号的所述MAC算术运算,其中所述MAC算术运算包括所述矢量数据和所述权重数据的乘法运算和累加运算。
14.根据权利要求12所述的算术设备,其中,所述AF电路还包括第二表储存电路,用于神经网络的第二激活函数被硬接线在所述第二表储存电路中。
15.根据权利要求14所述的算术设备,其中,所述第二表储存电路被配置为基于所述输入分配信号来提取所述第二激活函数的结果值,以将所提取的结果值输出作为用于产生所述输出分配信号的第二表输出信号。
16.根据权利要求15所述的算术设备,其中,所述AF电路基于函数选择信号而输出所述第一表输出信号和所述第二表输出信号中的一个作为所述输出分配信号。
17.根据权利要求16所述的算术设备,其中,通过对所述外部数据进行解码来产生所述函数选择信号。
18.一种算术设备,包括:
模式寄存器,其被配置为经由模式寄存器设定而储存表设定信号、输入选择信号和表输入信号;以及
AF电路,其被配置为包括第一表储存电路,被配置为当所述表设定信号被激活时,将所述表输入信号以查找表形式储存到在所述第一表储存电路中所包括的可变锁存器之中的、基于所述输入选择信号而选择的一个可变锁存器中,以及被配置为基于输入分配信号来提取由所述查找表实现的第一激活函数的结果值,以将所提取的结果值输出作为用于产生输出分配信号的第一表输出信号,其中,所述输入分配信号是基于对矢量数据和权重数据执行MAC算术运算而获得的结果来产生的。
19.根据权利要求18所述的算术设备,
其中,所述AF电路还包括第二表储存电路,用于神经网络的第二激活函数被硬接线在所述第二表储存电路中;以及
其中,所述第二表储存电路被配置为基于所述输入分配信号来提取所述第二激活函数的结果值,以将所提取的结果值输出作为用于产生所述输出分配信号的第二表输出信号。
20.根据权利要求19所述的算术设备,
其中,所述AF电路基于函数选择信号而输出所述第一表输出信号和所述第二表输出信号中的一个作为所述输出分配信号;以及
其中,所述函数选择信号经由所述模式寄存器设定而被储存到所述模式寄存器中。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190138114A KR20210052059A (ko) | 2019-10-31 | 2019-10-31 | 반도체장치 |
KR10-2019-0138114 | 2019-10-31 | ||
US202062958609P | 2020-01-08 | 2020-01-08 | |
US202062958614P | 2020-01-08 | 2020-01-08 | |
US62/958,614 | 2020-01-08 | ||
US62/958,609 | 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 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749793A CN112749793A (zh) | 2021-05-04 |
CN112749793B true CN112749793B (zh) | 2024-06-14 |
Family
ID=75645182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705502.XA Active CN112749793B (zh) | 2019-10-31 | 2020-07-21 | 用于神经网络的算术设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11915125B2 (zh) |
CN (1) | CN112749793B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11676651B2 (en) | 2019-10-31 | 2023-06-13 | SK Hynix Inc. | Arithmetic devices conducting auto-load operation |
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 |
US20210319296A1 (en) * | 2020-04-08 | 2021-10-14 | AutoBrains Technologies Ltd. | Convolutional neural network with building blocks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110009092A (zh) * | 2017-11-03 | 2019-07-12 | 畅想科技有限公司 | 用于深度神经网络的激活函数 |
CN110060714A (zh) * | 2018-01-18 | 2019-07-26 | 爱思开海力士有限公司 | 半导体器件以及包括其的半导体系统 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2648840B2 (ja) | 1988-11-22 | 1997-09-03 | 株式会社日立製作所 | 半導体記憶装置 |
KR920003494B1 (ko) | 1989-06-20 | 1992-05-01 | 삼성전자 주식회사 | 디지탈 신호처리 시스템에서의 실시간 2's 콤플리멘트코드 숫자의 승산방법 및 회로 |
USRE42643E1 (en) | 1991-03-27 | 2011-08-23 | Panasonic Corporation | Communication system |
EP0551494A4 (en) | 1991-08-07 | 1995-03-01 | Adaptec Inc | Intelligent hardware for automatically reading and writing multiple sectors of data between a computer bus and a disk drive |
EP0575716A1 (en) | 1993-04-08 | 1993-12-29 | Andrzej Cichocki | A neural network and signal processing units |
JPH0963264A (ja) | 1995-08-18 | 1997-03-07 | Fujitsu Ltd | 同期型dram |
US6311258B1 (en) * | 1997-04-03 | 2001-10-30 | Canon Kabushiki Kaisha | Data buffer apparatus and method for storing graphical data using data encoders and decoders |
DE19942144A1 (de) | 1999-09-03 | 2001-06-07 | Schroeder Dierk | Verfahren zur adaptiven Schwingungsdämpfung mittels neuronaler Netze |
JP2003059268A (ja) | 2000-09-06 | 2003-02-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP4077295B2 (ja) | 2002-10-23 | 2008-04-16 | 株式会社東芝 | 同期型半導体記憶装置及びその動作方法 |
US7333372B2 (en) | 2003-10-10 | 2008-02-19 | Oki Electric Industry Co., Ltd. | Reset circuit and integrated circuit device with reset function |
KR100911185B1 (ko) | 2007-08-14 | 2009-08-06 | 주식회사 하이닉스반도체 | 라이트 오토 프리차지 신호 발생부를 공유하는 오토프리차지 회로 |
JP2009116702A (ja) | 2007-11-07 | 2009-05-28 | Toshiba Corp | 半導体集積回路 |
JP2010050609A (ja) | 2008-08-20 | 2010-03-04 | Hitachi Kokusai Electric Inc | 歪補償増幅回路 |
WO2013023068A1 (en) | 2011-08-11 | 2013-02-14 | Greenray Industries, Inc. | Neural network frequency control |
KR101898176B1 (ko) | 2012-05-25 | 2018-09-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 버퍼 제어회로 |
US9753695B2 (en) | 2012-09-04 | 2017-09-05 | Analog Devices Global | Datapath circuit for digital signal processors |
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 |
JP6308095B2 (ja) * | 2014-10-08 | 2018-04-11 | 富士通株式会社 | 演算回路及び演算回路の制御方法 |
JP6594710B2 (ja) | 2015-08-31 | 2019-10-23 | ルネサスエレクトロニクス株式会社 | クロックデータリカバリ回路 |
EP3347990B1 (en) | 2015-09-11 | 2019-07-10 | Xilinx, Inc. | Cascaded lookup-table (lut) carry logic circuit |
FR3045892B1 (fr) | 2015-12-21 | 2018-06-22 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Circuit neuronal optimise, architecture et procede pour l'execution des reseaux de neurones. |
CN105893159B (zh) | 2016-06-21 | 2018-06-19 | 北京百度网讯科技有限公司 | 数据处理方法和装置 |
EP3480962B1 (en) | 2016-06-30 | 2021-04-07 | Socionext Inc. | Equalizing circuit, reception circuit, and semiconductor integrated circuit |
US20180137050A1 (en) | 2016-11-11 | 2018-05-17 | Qualcomm Incorporated | Low power memory sub-system using variable length column command |
KR20180053113A (ko) | 2016-11-11 | 2018-05-21 | 에스케이하이닉스 주식회사 | 반도체장치 |
KR20180070187A (ko) | 2016-12-16 | 2018-06-26 | 에스케이하이닉스 주식회사 | 신경망 장치의 정규화 장치 및 방법 |
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 |
KR20190054454A (ko) | 2017-11-13 | 2019-05-22 | 삼성전자주식회사 | 인공 신경망의 양자화 방법 및 장치 |
KR102162749B1 (ko) | 2018-04-03 | 2020-10-07 | 주식회사 퓨리오사에이아이 | 뉴럴 네트워크 프로세서 |
KR102032146B1 (ko) | 2018-04-11 | 2019-10-15 | 경희대학교 산학협력단 | 소자 결점을 보완하기 위한 구간 선형 정류 유닛을 사용하는 인공신경망 시스템 |
US11775805B2 (en) | 2018-06-29 | 2023-10-03 | Intel Coroporation | Deep neural network architecture using piecewise linear approximation |
US11062202B2 (en) | 2018-07-25 | 2021-07-13 | Cerebras Systems Inc. | Numerical representation for neural networks |
CN110209375B (zh) | 2019-05-30 | 2021-03-26 | 浙江大学 | 一种基于radix-4编码和差分权重存储的乘累加电路 |
JP2021039477A (ja) | 2019-09-02 | 2021-03-11 | ソニー株式会社 | 演算装置及び積和演算システム |
US11663452B2 (en) | 2019-09-25 | 2023-05-30 | Intel Corporation | Processor array for processing sparse binary neural networks |
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 |
US11954457B2 (en) | 2019-10-31 | 2024-04-09 | SK Hynix Inc. | Arithmetic devices for neural network including a function storage circuit and an activation function circuit |
US20210132910A1 (en) | 2019-10-31 | 2021-05-06 | SK Hynix Inc. | Arithmetic devices for neural network |
US20210132954A1 (en) | 2019-10-31 | 2021-05-06 | SK Hynix Inc. | Arithmetic devices for neural network |
CN112749794B (zh) | 2019-10-31 | 2024-07-12 | 爱思开海力士有限公司 | 用于神经网络的算术设备 |
US12014184B2 (en) | 2019-10-31 | 2024-06-18 | SK Hynix Inc. | 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 |
US20210133546A1 (en) | 2019-10-31 | 2021-05-06 | SK Hynix Inc. | Arithmetic devices for neural network |
KR20220111591A (ko) | 2021-02-02 | 2022-08-09 | 에스케이하이닉스 주식회사 | 메모리장치 |
-
2020
- 2020-07-02 US US16/919,786 patent/US11915125B2/en active Active
- 2020-07-21 CN CN202010705502.XA patent/CN112749793B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110009092A (zh) * | 2017-11-03 | 2019-07-12 | 畅想科技有限公司 | 用于深度神经网络的激活函数 |
CN110060714A (zh) * | 2018-01-18 | 2019-07-26 | 爱思开海力士有限公司 | 半导体器件以及包括其的半导体系统 |
Also Published As
Publication number | Publication date |
---|---|
US11915125B2 (en) | 2024-02-27 |
US20210133545A1 (en) | 2021-05-06 |
CN112749793A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112749793B (zh) | 用于神经网络的算术设备 | |
US11954457B2 (en) | Arithmetic devices for neural network including a function storage circuit and an activation function circuit | |
US10339071B2 (en) | System and method for individual addressing | |
US20160125920A1 (en) | Memory device with low power operation mode | |
US11605417B2 (en) | Arithmetic devices conducting auto-load operation for writing the activation functions | |
CN108091355A (zh) | 数据反相电路 | |
US20210132910A1 (en) | Arithmetic devices for neural network | |
US20210132953A1 (en) | Arithmetic devices for neural network | |
US20210132909A1 (en) | Processing-in-memory (pim) devices and methods of testing the pim devices | |
Helttula et al. | Graphical specification of algorithm animations with Aladdin | |
US11922295B2 (en) | Arithmetic devices for neural network | |
CN112749794B (zh) | 用于神经网络的算术设备 | |
KR20230005345A (ko) | 신경망을 트레이닝시키는 메모리 디바이스 | |
CN113255747B (zh) | 量子多通道卷积神经分类方法、系统、终端及存储介质 | |
CN111566614A (zh) | 位宽匹配电路、数据写入装置、数据读出装置和电子设备 | |
CN112037829A (zh) | 使能信号生成电路及使用其的半导体装置 | |
TWI849164B (zh) | 用於神經網路的算術設備 | |
US7206917B2 (en) | Address decoding method and related apparatus by comparing mutually exclusive bit-patterns of addresses | |
CN113448891B (zh) | 存储器控制器以及用于监测对存储模块的访问的方法 | |
CN1695131A (zh) | 地址译码 | |
CN112950456A (zh) | 图像处理方法及装置、电子设备、计算机可读介质 | |
CN113448498A (zh) | 非易失性存储器接口 | |
US11481600B2 (en) | Semiconductor devices | |
US11676651B2 (en) | Arithmetic devices conducting auto-load operation | |
CN112749796B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |