CN107369108B - 多层人造神经网络装置及其控制方法 - Google Patents
多层人造神经网络装置及其控制方法 Download PDFInfo
- Publication number
- CN107369108B CN107369108B CN201610617592.0A CN201610617592A CN107369108B CN 107369108 B CN107369108 B CN 107369108B CN 201610617592 A CN201610617592 A CN 201610617592A CN 107369108 B CN107369108 B CN 107369108B
- Authority
- CN
- China
- Prior art keywords
- neurons
- layer
- time point
- storage device
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 22
- 210000002569 neuron Anatomy 0.000 claims abstract description 156
- 238000004891 communication Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- 210000001787 dendrite Anatomy 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 210000003050 axon Anatomy 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
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)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Business, Economics & Management (AREA)
- Neurology (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种多层人造神经网络装置及其控制方法,其中包含多个神经元、一储存装置与一控制器。该多个神经元用以根据多个参数进行运算。该储存装置用以储存多组参数,其中的每一组参数各自对应于一运算层。该控制器于一第一时间点控制该储存装置将对应于一第一运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第一运算层的至少一部份。该控制器并于一第二时间点控制该储存装置将对应于一第二运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第二运算层的至少一部份。
Description
技术领域
本发明与人造神经网络(artificial neural network)相关,并且尤其与能用于进行深度学习(deep learning)的多层人造神经网络相关。
背景技术
以人造神经网络进行机器学习的概念存在已久,但先前受限于处理器运算能力,相关研究始终无法顺利推进。近十年来,随着处理器运算速度、存储器存取速度以及机器学习演算法等各方面技术的长足进步,能产出正确判断结果的人造神经网络逐渐成为可能,因而在自动驾驶、影像辨识、自然语言辨识、数据探勘等领域中重新受到高度重视。
大脑中最基本的运算单位—神经元,是通过多个树突(dendrite)收集多个输入信号,并通过轴突(axon)传递输出信号(通常是传递至另一个神经元的树突作为输入信号)。单一人造神经元的典型运作可被数学化表示如下:
y=f(∑iwixi+b),
其中符号x表示输入信号,y表示输出信号;每一个树突各自加诸于其输入信号x的权重w是模拟该树突所连接的前一个神经元对于此神经元的影响程度;符号b表示此神经元本身贡献的偏移量(bias)。符号f代表一特定非线性函数,在人造神经网络中常用Σ函数(sigmoid function)、双曲正切函数(tanh function)或是整流后线性函数(rectifiedlinear function)进行实际运算。
一个人造神经网络所采行的判断规则可说是由该网络中所有神经元的权重w与偏移量b共同定义。采用监督式学习(supervised learning)的人造神经网络会在学习过程中将训练样本输入人造神经网络,并根据最后产出的判断结果调整各个神经元的权重w与偏移量b,以期找出令判断结果与训练样本相符的对映规则。采用非监督式学习(unsupervised learning)的人造神经网络则是在不知道判断结果与训练样本是否相符的情况下,自行调整各个神经元的权重w与偏移量b,设法找出潜在规则。无论是采用哪一种学习策略,目标皆是为网络中的每一个神经元找出适当的参数(权重w、偏移量b)供日后使用。
现行的人造神经网络通常被设计为具有多层(multi-layer)结构。除了最前端的输入层与最后端的输出层,其他串接在输入层与输出层之间的称为隐藏层(hiddenlayer)。输入层用以接收外部数据,不进行运算。隐藏层与输出层则是各自以前一层的输出信号做为当层的输入信号,并且各自包含多个根据前述数学式进行运算的神经元。若以神经元连接方式区分,每一个隐藏层与输出层可以各自是一卷积层(convolutional layer)或一全连接层(fully-connected layer)。卷积层与全连接层的主要差别在于:全连接层中的每一个神经元都会被各自连接到其相邻前后层中的所有神经元,而卷积层中的每一个神经元只会被连接到前一层中的部分神经元。为了减少参数的数量,卷积层中的多个神经元会共用同一组权重w与偏移量b。目前有多种人造神经网络架构,对于卷积层与全连接层的配置组合各有不同的规划。以Alex Krizhevsky等学者于2012年提出的AlexNet架构为例,其中总共包含六十五万个神经元,构成依序串接的五个卷积层以及三个全连接层。
一般而言,人造神经网络中的层数愈多,愈能模拟复杂的函式(亦即较复杂的判断规则)。然而,当层数增加,整个网络中所需要的神经元数量会随之大幅增长,导致庞大的硬件成本负担。此难处无疑是日后将人造神经网络推广应用至消费性电子产品的阻碍。
发明内容
为解决上述问题,本发明提出一种新的多层人造神经网络装置及其控制方法。
根据本发明的一具体实施例为一种多层人造神经网络装置,其中包含多个神经元、一储存装置与一控制器。该多个神经元用以根据多个参数进行运算。该储存装置用以储存多组参数,其中的每一组参数各自对应于一运算层。该控制器于一第一时间点控制该储存装置将对应于一第一运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第一运算层的至少一部份。该控制器并于一第二时间点控制该储存装置将对应于一第二运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第二运算层的至少一部份。
根据本发明的另一具体实施例为一种应用于一多层人造神经网络的控制方法。该多层人造神经网络包含用以根据多个参数进行运算的多个神经元。根据该控制方法,于一第一时间点,对应于一第一运算层的一组参数被提供给该多个神经元,以令该多个神经元构成该第一运算层的至少一部份。此外,于一第二时间点,对应于一第二运算层的一组参数被提供给该多个神经元,以令该多个神经元构成该第二运算层的至少一部份。
本发明实施例的多层人造神经网络,不同于先前技术中人造神经网络的层数、架构、各层神经元数量、神经元间连接方式都是固定的情况,其可提供更灵活有弹性的运算方案,因此不限于特定应用。针对性质较单纯的外部数据,输入分析器可令人造神经网络被组态为具有较少的总运算层数,以节省运算资源并避免过度拟合。相对地,针对较复杂的外部数据,输入分析器可令人造神经网络被组态为具有较多的总运算层数,以提高判断结果与输入数据的相合程度。相较于先前技术,根据本发明的人造神经网络显然可利用较少数量的神经元产出相同的运算结果,因而得以大幅节省硬件成本。
关于本发明的优点与精神可以通过以下发明详述及所附图式得到进一步的了解。
附图说明
图1呈现一个具有三层结构的人造神经网络做为说明范例。
图2A为根据本发明的一实施例中的多层人造神经网络的功能方块图;图2B~图2D用以表示该多层人造神经网络在不同时间点的电路组态。
图3为根据本发明的另一实施例中的多层人造神经网络的功能方块图。
图4为根据本发明的又一实施例中的多层人造神经网络的功能方块图。
图5为根据本发明的多层人造神经网络进一步包含一输入分析器的实施例。
图6为根据本发明的一实施例中的多层人造神经网络的控制方法的流程图。
附图标号:
10:输入层 120、130:隐藏层
140:输出层 D1~D3:外部数据
121~124、131~132、141、N1~N4:神经元
100、200、300、400:人造神经网络
152:储存装置 152A、152B、152C:储存区域
154:控制器 156:输入分析器
161~165:输入接脚 171~174、191~194:多工器
181~185:输出接脚 S601~S603:流程步骤
具体实施方式
须说明的是,本发明的图式包含呈现多种彼此关联的功能性模块的功能方块图。该多个图式并非细部电路图,且其中的连接线仅用以表示信号流。功能性元件及/或程序间的多种互动关系不一定要通过直接的电连接始能达成。此外,个别元件的功能不一定要如图式中绘示的方式分配,且分散式的区块不一定要以分散式的电子元件实现。
根据本发明的一具体实施例为一种多层人造神经网络,其中包含多个神经元、一储存装置与一控制器。该控制器被设计为在不同时间点令该储存装置将对应于不同运算层的参数提供给该多个神经元。
图1呈现一个具有三层结构的人造神经网络作为范例。须说明的是,虽然实务中的人造神经网络所包含的神经元数量和连接复杂度皆远高于此范例所示者,但本发明所属技术领域中相关技术人员通过后续介绍可理解,本发明的范畴不限于特定网络结构复杂度。请参阅图1。输入层110用以接收外部数据D1~D3。隐藏层120、130为全连接层,并且分别包含四个神经元(121~124)与两个神经元(131~132)。输出层140仅包含一个神经元(141)。
图2A呈现一个根据本发明概念实现的人造神经网络。人造神经网络100包含四个神经元(N1~N4)、储存装置152、控制器154、输入接脚161~164,以及由多工器171~174构成的可重新组态布线电路(reconfigurable routing circuit)。神经元N1~N4能被组态为分别实现图1中的隐藏层120、130与输出层140,详述如下。
如先前所述,每个神经元是根据各自的参数(权重w、偏移量b)针对输入信号进行运算。在进行机器学习的过程中,无论其学习策略是仅有前向传播,或兼有前向传播与反向传播(backpropagation),这些参数都可能会被不断地修改调整。图2A中的储存装置152负责在学习过程中与学习完成后,为隐藏层120、130与输出层140中的每一个神经元储存目前最新的参数。举例而言,储存装置152可如图2A所示,包含三个储存区域;储存区域152A用以储存对应于隐藏层120中神经元121~124的参数,储存区域152B用以储存对应于隐藏层130中神经元131~132的参数,储存区域152C则用以储存对应于输出层140中神经元141的参数。本发明的范畴并未限定于特定储存机制。实务上,储存装置152可包含一个或多个挥发性或非挥发性存储器装置,例如动态随机存取半导体存储器、磁性存储器、光学存储器、闪存等等。此外,储存装置152在实体上可以是单一装置,也可以被分散为多个较小的储存单元,各自配置在神经元N1~N4的邻近区域。
输入接脚161~164各自都会接收外部数据D1~D3。首先,在时间点t1,控制器154控制储存装置152将储存区域152A中对应于隐藏层120的参数提供给神经元N1~N4。举例而言,控制器154可令对应于神经元121的参数P121被提供给神经元N1(如图1所示,神经元121具有三个接收端,参数P121因此会包含一个偏移量b与三个权重w)。依此类推,控制器154可令对应于神经元122的参数P122被提供给神经元N2、令对应于神经元123的参数P123被提供给神经元N3、令对应于神经元124的参数P124被提供给神经元N4。另一方面,多工器171~174亦受控于控制器154(为保持图面清晰未绘出其间的连接线)。在时间点t1,控制器154控制多工器171~174将输入接脚161~164连接至神经元N1~N4,藉此令外部数据D1~D3分别被提供至神经元N1~N4,作为输入信号。图2B呈现了人造神经网络100在时间点t1的态样。在这个组态中,神经元N1~N4被组态为发挥隐藏层120中神经元121~124的作用。在完成对应于隐藏层120的运算工作后,神经元N1~N4产生的四笔运算结果Y121~Y124被传递至储存装置152储存(举例而言,可存入储存区域152A)。
接着,在时间点t2,控制器154控制储存装置152将储存区域152B中对应于隐藏层130的参数提供给神经元N1~N2。举例而言,控制器154可令对应于神经元131的参数P131被提供给神经元N1、令对应于神经元132的参数P132被提供给神经元N2。另一方面,控制器154亦控制多工器171~172将储存装置152连接至神经元N1~N2,并控制储存装置152将稍早存入的运算结果Y121~Y124提供给神经元N1~N2,作为输入信号。图2C呈现了人造神经网络100在时间点t2的态样。在这个组态中,神经元N1~N2被组态为发挥隐藏层130中神经元131~132的作用,而神经元N3~N4未被使用。在完成对应于隐藏层130的运算工作后,神经元N1~N2产生的两笔运算结果Y131~Y132被传递至储存装置152储存(举例而言,可存入储存区域152B)。
随后,在时间点t3,控制器154控制储存装置152将储存区域152C中对应于神经元141的参数P141提供给神经元N1。另一方面,控制器154亦控制多工器171将储存装置152连接至神经元N1,并控制储存装置152将稍早存入的运算结果Y131~Y132提供给神经元N1,作为输入信号。图2D呈现了人造神经网络100在时间点t3的态样。在这个组态中,神经元N1被组态为发挥输出层140中神经元141的作用,神经元N2~N4未被使用。神经元N1完成对应于输出层140的运算工作后产生的运算结果Y141即为人造神经网络100针对外部数据D1~D3产生的判断结果。实务上,运算结果Y141可被传递至储存装置152储存(举例而言,可存入储存区域152C),亦可通过储存装置152的输出接脚185向后续电路传送。
须说明的是,时间点t1、t2、t3通常是相对时间而非绝对时间。举例而言,时间点t2可被定义为自时间点t1起算特定数量个时脉周期后的时间点。实务上,电路设计者可根据神经元N1~N4的运算速度及各元件间的信号传递时间估算出时间点t1与时间点t2应间隔几个时脉周期。或者,时间点t2也可被设定为隐藏层120的相关运算结束的时间点,由该多个运算的结束来触发。
图3呈现人造神经网络100的一种变化型。人造神经网络200与人造神经网络100的主要差异在于,外部数据D1~D3通过耦接于储存装置152的输入接脚165被送入储存装置152,而非直接递送给神经元N1~N4。因此,人造神经网络200中的控制器154在时间点t1控制储存装置152将外部数据D1~D3自储存装置152本身的储存区域提供给神经元N1~N4作为输入信号。这个实施例不需要人造神经网络100中的多工器171~174。
图4呈现人造神经网络100的另一种变化型。人造神经网络300与人造神经网络100的主要差异在于,人造神经网络300进一步包含输出接脚181~184以及一组由多工器191~194构成的可重新组态布线电路。多工器191~194亦受控于控制器154(为保持图面清晰未绘出其间的连接线)。控制器154可通过控制多工器191~194来决定要将神经元N1~N4的运算结果存入储存装置152或直接通过输出接脚181~184送出。举例而言,控制器154可被设计为令对应于隐藏层120、130的运算结果Y121~Y124、Y131~Y132存入储存装置152,但令对应于输出层140的运算结果Y141通过输出接脚181向后续电路送出。
由以上说明可看出,无论神经元N1~N4的输入信号是否由储存装置152提供,亦无论神经元N1~N4的运算结果是否被存入储存装置152,只要控制器154改变由储存装置152提供给神经元N1~N4的参数,神经元N1~N4便可被重新组态为替不同的运算层效力。虽然人造神经网络100、200、300实体上不一定有多个固定的运算层,但皆能被各自依序组态为完成多个运算层的工作。相较于先前技术,根据本发明的人造神经网络显然可利用较少数量的神经元产出相同的运算结果,因而得以大幅节省硬件成本。
须说明的是,该多个神经元中的运算细节及其运算参数在机器学习过程中的调整方式为本发明所属技术领域中相关技术人员所知,于此不赘述,亦不对本发明的范畴构成限制。
于实际应用中,神经元N1~N4与储存装置152间的连接可利用一高速通信介面实现,以节省存取数据的时间,进而提高人造神经网络100、200、300的整体运行速度。举例而言,该高速通信介面可为但不限于高速串列器-解串列器(serializer-deserializer,SERDES)或是射频介面(radio frequency interface,RFI)。
根据本发明的多层人造神经网络所包含的多个可重新组态的神经元于一特定时间点可构成一个全连接层的全部或一部份(另一部分可由组态固定的神经元构成),亦可被组态为一个卷积层的全部或一部份。另一方面,本发明的范畴不限于可重新组态的神经元的数量。虽然图2A~图4以四个神经元为说明范例,但根据本发明的人造神经网络包含的可重新组态神经元数量并无上限,例如可同时包含数千或数万个可重新组态神经元。此外,除了可重新组态的神经元、储存装置与控制器,根据本发明的人造神经网络可包含其他电路,例如但不限于连接在某些卷积层后的池化层(pooling layer)及负责产生时脉信号的振荡器。本发明所属技术领域中相关技术人员可理解,本发明的范畴不限于以某种特定组态或架构来实现。根据本发明的人造神经网络可实现但不限于以下几种此领域中常被使用的网络架构:由YannLeCun提出的LeNet、由Alex Krizhevsky等人提出的AlexNet、由MatthewZeiler等人提出的ZF Net、由Szegedy等人提出的GoogLeNet、由Karen Simonyan等人提出的VGGNet,以及由Kaiming He等人提出的ResNet。
实务上,控制器154可利用多种控制和处理平台实现,包含固定式的和可程序化的逻辑电路,例如可程序化逻辑闸阵列、针对特定应用的集成电路、微控制器、微处理器、数字信号处理器。此外,控制器154亦可被设计为通过执行一存储器中所储存的处理器指令来完成多种任务。
另一方面,控制器154可被设计为根据一个由电路设计者预先决定的组态文件(configuration file)控制储存装置152与其他可重新组态布线电路(如有需要)。该组态文件的内容会指出控制器154应于哪一个时间点将神经元N1~N4重新组态为哪一个运算层。
于另一种变化型中,控制器154被设计为根据外部数据的性质所适性决定的一组态文件运作。请参阅图5呈现的另一种实施例。人造神经网络400与人造神经网络300的主要差异在于,人造神经网络400进一步包含一输入分析器156。输入分析器156用以分析人造神经网络400将处理的一笔或多笔外部数据,并据此为人造神经网络400决定一组态,作为控制器154运作的参考依据。举例而言,输入分析器156所决定的组态可包含人造神经网络400的总运算层数,例如应包含几个卷积层、几个全连接层。如先前所述,只要控制器154改变由储存装置152提供给可重新组态的神经元的参数,该多个神经元便可被重新组态为替不同的运算层效力,因此,人造神经网络400所能提供的总运算层数是没有上限的,每一运算层的神经元数量亦可适性调整。
在先前技术中,人造神经网络的硬件架构通常是根据待处理的外部数据属性(因应用领域而异)预先决定并且被制作为固定不变的电路。不同于先前技术中人造神经网络的层数、架构、各层神经元数量、神经元间连接方式都是固定的情况,人造神经网络400可提供更灵活有弹性的运算方案,因此不限于特定应用。针对性质较单纯的外部数据,输入分析器156可令人造神经网络400被组态为具有较少的总运算层数,以节省运算资源并避免过度拟合(overfitting)。相对地,针对较复杂的外部数据,输入分析器156可令人造神经网络400被组态为具有较多的总运算层数,以提高判断结果与输入数据的相合程度。
根据本发明的另一具体实施例为一种应用于一多层人造神经网络的控制方法。该多层人造神经网络包含用以根据多个参数进行运算的多个神经元。请参阅图6呈现的流程图。首先,步骤S601为读取一组态文件。该组态文件之内容会指出对应于一第一运算层的一第一时间点,以及对应于一第二运算层的一第二时间点。接着,步骤S602为于该第一时间点,将对应于该第一运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第一运算层的至少一部份。随后,步骤S603为于该第二时间点,将对应于该第二运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第二运算层的至少一部份。须说明的是,上述第一时间点与第二时间点通常是相对时间而非绝对时间。举例而言,第二时间点可以为自第一时间点起算特定数量个时脉周期后的时间点。再举例而言,第二时间点可被设定为步骤S602的相关运算结束的时间点,由该多个运算的结束来触发。
本发明所属技术领域中相关技术人员可理解,先前在介绍人造神经网络100时描述的各种操作变化亦可应用至图6中的控制方法,其细节不再赘述。
根据本发明的另一具体实施例为一种应用于控制一多层人造神经网络的非暂态电脑可读取储存媒体,其中储存有能由一个或多个电脑读取并执行的一程序码。该多层人造神经网络包含用以根据多个参数进行运算的多个神经元。当该程序码被执行,该一个或多个电脑所进行的动作包含:于一第一时间点,将对应于一第一运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第一运算层的至少一部份,以及于一第二时间点,将对应于一第二运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第二运算层的至少一部份。
实务上,上述电脑可读取媒体可为任何一种非暂态媒体,储存有能被处理器读取、解码并执行的指令。非暂态媒体包含电子、磁性及光学储存装置。非暂态电脑可读取媒体包含但不限于:只读存储器(ROM)、随机存取存储器(RAM)和其他电子储存装置、CD-ROM、DVD和其他光学储存装置、磁带、软盘、硬盘及其他磁性储存装置。该多个处理器指令可利用各种程序语言实现本发明。另一方面,先前在介绍人造神经网络100时描述的各种操作变化亦可应用至上述电脑可读取媒体,其细节不再赘述。
通过以上较佳具体实施例的详述,希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的范畴内。此外,本揭露书中的数学表示式用以说明与本发明的实施例相关的原理和逻辑,除非有特别指明的情况,否则不对本发明的范畴构成限制。本发明所属技术领域中相关技术人员可理解,有多种技术可实现该多个数学式所对应的物理表现形式。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (11)
1.一种多层人造神经网络装置,其特征在于,包含:
多个神经元,用以根据多个参数进行运算;
一储存装置,耦接至该多个神经元,用以储存多组参数,其中的每一组参数各自对应于一运算层;以及
一控制器,耦接至该储存装置,用以于一第一时间点控制该储存装置将对应于一第一运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第一运算层的至少一部份,该控制器并于一第二时间点控制该储存装置将对应于一第二运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第二运算层的至少一部份;其中,第一时间点和第二时间点为相对时间,第二时间点设定为自第一时间点起算多个时脉周期后的时间点;
该储存装置被进一步用以暂存一组或多组数据;
多个输入接脚,用以接收多笔外部数据;
一可重新组态布线电路,由多个多工器构成,设置于该多个输入接脚、该储存装置以及该多个神经元之间;
其中于该第一时间点,该控制器控制该可重新组态布线电路将该多个输入接脚连接至该多个神经元,令该多个输入接脚所接收的该多笔外部数据得以被提供至该多个神经元,做为多个输入信号;于该第二时间点,该控制器控制该可重新组态布线电路将该储存装置连接至该多个神经元,令该储存装置得以将对应于该第二运算层的该组暂存数据提供给该多个神经元,做为多个输入信号;
其中,该控制器控制该可重新组态布线电路,以令该多个神经元所产生的运算结果自该多个神经元被选择性地传递至该多个输出接脚或该储存装置;
一输入分析器,用以分析该多层人造神经网络的一笔或多笔外部数据,并据此为该多层人造神经网络决定一组态;其中该控制器是根据该输入分析器决定的该组态运作。
2.如权利要求1所述的多层人造神经网络装置,其特征在于,于该第二时间点,该控制器进一步控制该储存装置将对应于该第二运算层的一组暂存数据提供给该多个神经元,做为多个输入信号。
3.如权利要求2所述的多层人造神经网络装置,其特征在于,暂存于该储存装置中的该一组或多组数据是先前由该多个神经元所产生并传递至该储存装置。
4.如权利要求1所述的多层人造神经网络装置,其特征在于,该第一运算层为一卷积层或一全连接层。
5.如权利要求1所述的多层人造神经网络装置,其特征在于,该输入分析器决定的该组态包含该多层人造神经网络的一总运算层数。
6.如权利要求1所述的多层人造神经网络装置,其特征在于,该多个神经元与该储存装置间的连接是利用一高速通信介面实现。
7.一种应用于一多层人造神经网络的控制方法,其特征在于,该多层人造神经网络包含用以根据多个参数进行运算的多个神经元,该控制方法包含:
于一第一时间点,将对应于一第一运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第一运算层的至少一部份;以及
于一第二时间点,将对应于一第二运算层的一组参数提供给该多个神经元,以令该多个神经元构成该第二运算层的至少一部份;其中,第一时间点和第二时间点为相对时间,第二时间点设定为自第一时间点起算多个时脉周期后的时间点;
所述控制方法还包含:
通过多个输入接脚接收多笔外部数据;
通过储存装置暂存一组或多组数据;
于该第一时间点,控制耦接至该多个神经元的一可重新组态布线电路,将该多个输入接脚连接至该多个神经元,令该多个输入接脚所接收的该多笔外部数据得以被提供至该多个神经元,做为多个输入信号;其中,该可重新组态布线电路由多个多工器构成;
于该第二时间点,控制耦接至该多个神经元的一可重新组态布线电路,将该储存装置连接至该多个神经元,令该储存装置得以将对应于该第二运算层的该组暂存数据提供给该多个神经元,做为多个输入信号;
控制该可重新组态布线电路,以令该多个神经元所产生的运算结果自该多个神经元被选择性地传递至该多个输出接脚或该储存装置;
分析该多层人造神经网络的一笔或多笔外部数据,并据此为该多层人造神经网络决定一组态;其中,决定该组态包含决定该多层人造神经网络的一总运算层数。
8.如权利要求7所述的控制方法,其特征在于,进一步包含:
控制耦接至该多个神经元的一可重新组态布线电路,以选择先前已储存的多笔内部数据,做为该多个神经元的多个输入信号。
9.如权利要求8所述的控制方法,其特征在于,先前已储存的多笔内部数据由该多个神经元所产生。
10.如权利要求7所述的控制方法,其特征在于,进一步包含:
控制耦接至该多个神经元的一可重新组态布线电路,以选择是否将该多个神经元所产生的运算结果传递至外部。
11.如权利要求7所述的控制方法,其特征在于,该第一运算层为一卷积层或一全连接层。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/152,528 US20170330069A1 (en) | 2016-05-11 | 2016-05-11 | Multi-layer artificial neural network and controlling method thereof |
US15/152,528 | 2016-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107369108A CN107369108A (zh) | 2017-11-21 |
CN107369108B true CN107369108B (zh) | 2022-01-14 |
Family
ID=60294739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610617592.0A Active CN107369108B (zh) | 2016-05-11 | 2016-07-29 | 多层人造神经网络装置及其控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170330069A1 (zh) |
CN (1) | CN107369108B (zh) |
TW (1) | TWI601078B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6603182B2 (ja) * | 2016-07-22 | 2019-11-06 | ファナック株式会社 | 機械学習モデル構築装置、数値制御装置、機械学習モデル構築方法、機械学習モデル構築プログラム、及び記録媒体 |
US10096384B2 (en) | 2016-12-21 | 2018-10-09 | Disco Health, LLC | Artificial intelligence expert system |
US10490182B1 (en) * | 2016-12-29 | 2019-11-26 | Amazon Technologies, Inc. | Initializing and learning rate adjustment for rectifier linear unit based artificial neural networks |
US11276071B2 (en) * | 2017-08-31 | 2022-03-15 | Paypal, Inc. | Unified artificial intelligence model for multiple customer value variable prediction |
TWI659428B (zh) * | 2018-01-12 | 2019-05-11 | 中原大學 | 運用非揮發性記憶體執行類神經網絡前饋與遞迴運算之方法 |
EP3605401A1 (en) * | 2018-07-31 | 2020-02-05 | GrAl Matter Labs S.A.S. | Data processing module, data processing system and data processing method |
TWI696961B (zh) * | 2018-12-12 | 2020-06-21 | 財團法人工業技術研究院 | 深度神經網路硬體加速器與其操作方法 |
DE112019006317T5 (de) * | 2018-12-19 | 2021-10-14 | Ams Ag | Implementierung eines mehrschichtigen neuronalen netzwerks unter verwendung einer einzigen physikalischen schicht aus analogen neuronen |
KR20200084695A (ko) * | 2019-01-03 | 2020-07-13 | 삼성전자주식회사 | 응용프로그램의 관리 장치 및 방법 |
US11461112B2 (en) | 2019-02-07 | 2022-10-04 | International Business Machines Corporation | Determining feature settings for code to deploy to a system by training a machine learning module |
WO2020221797A1 (en) * | 2019-04-29 | 2020-11-05 | Ams International Ag | Computationally efficient implementation of analog neuron |
CN110490317B (zh) * | 2019-10-17 | 2020-03-10 | 北京中科寒武纪科技有限公司 | 神经网络运算装置及运算方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812993A (en) * | 1996-03-07 | 1998-09-22 | Technion Research And Development Foundation Ltd. | Digital hardware architecture for realizing neural network |
US5742741A (en) * | 1996-07-18 | 1998-04-21 | Industrial Technology Research Institute | Reconfigurable neural network |
US6523018B1 (en) * | 1998-12-29 | 2003-02-18 | International Business Machines Corporation | Neural chip architecture and neural networks incorporated therein |
US8442927B2 (en) * | 2009-07-30 | 2013-05-14 | Nec Laboratories America, Inc. | Dynamically configurable, multi-ported co-processor for convolutional neural networks |
CN101860357B (zh) * | 2010-06-09 | 2012-04-11 | 中国科学院半导体研究所 | 一种利用时间编码控制权重和信息整合的方法 |
US8510239B2 (en) * | 2010-10-29 | 2013-08-13 | International Business Machines Corporation | Compact cognitive synaptic computing circuits with crossbar arrays spatially in a staggered pattern |
US20130151450A1 (en) * | 2011-12-07 | 2013-06-13 | Filip Ponulak | Neural network apparatus and methods for signal conversion |
CN105095961B (zh) * | 2015-07-16 | 2017-09-29 | 清华大学 | 一种人工神经网络和脉冲神经网络的混合系统 |
CN105095967B (zh) * | 2015-07-16 | 2018-02-16 | 清华大学 | 一种多模态神经形态网络核 |
CN105184366B (zh) * | 2015-09-15 | 2018-01-09 | 中国科学院计算技术研究所 | 一种时分复用的通用神经网络处理器 |
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN105512723B (zh) * | 2016-01-20 | 2018-02-16 | 南京艾溪信息科技有限公司 | 一种用于稀疏连接的人工神经网络计算装置和方法 |
-
2016
- 2016-05-11 US US15/152,528 patent/US20170330069A1/en not_active Abandoned
- 2016-06-16 TW TW105118883A patent/TWI601078B/zh active
- 2016-07-29 CN CN201610617592.0A patent/CN107369108B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TW201740318A (zh) | 2017-11-16 |
CN107369108A (zh) | 2017-11-21 |
TWI601078B (zh) | 2017-10-01 |
US20170330069A1 (en) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107369108B (zh) | 多层人造神经网络装置及其控制方法 | |
TWI634488B (zh) | 人造神經網路之簡化裝置和簡化方法以及應用於簡化人造神經網路之非暫態電腦可讀取儲存媒體 | |
JP6922387B2 (ja) | ディープニューラルネットワークに基づく認識装置、トレーニング装置及び方法 | |
JP7228320B2 (ja) | ニューロモーフィック・チップ、ニューロモーフィック・システム、ニューロモーフィック・チップ内のシナプス重みを更新するための方法およびコンピュータ・プログラム | |
CN114270441B (zh) | 用于在边缘设备上执行机器学习操作的可编程电路 | |
US20220147877A1 (en) | System and method for automatic building of learning machines using learning machines | |
CN110428042A (zh) | 往复地缩放神经元的连接权重和输入值来挫败硬件限制 | |
US11562220B2 (en) | Neural processing unit capable of reusing data and method thereof | |
US11113600B2 (en) | Translating sensor input into expertise | |
US11868893B2 (en) | Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference | |
US11880769B2 (en) | Using multiple functional blocks for training neural networks | |
EP3259711A1 (en) | Method for dynamically updating classifier complexity | |
CN113272829A (zh) | 迁移学习的硬件加速器扩展—将训练扩展/完成到边缘 | |
CN112753039A (zh) | 随时间推移使用深度学习网络的系统和方法 | |
KR20180022288A (ko) | 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 | |
EP1295252B1 (en) | Apparatus for generating sequences of elements | |
CN115699041A (zh) | 利用专家模型的可扩展迁移学习 | |
CN116097281A (zh) | 经由无限宽度神经网络的理论的超参数传递 | |
EP3026600A2 (en) | Method and apparatus for extending neural network | |
JPWO2018135516A1 (ja) | ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、及び、ニューラルネットワーク学習プログラム | |
US20220359079A1 (en) | Systems, methods and devices for predicting personalized biological state with model produced with meta-learning | |
KR102090109B1 (ko) | 학습 및 추론 장치 및 그 방법 | |
KR20210031372A (ko) | 신경망 가속기 및 그것의 동작 방법 | |
US20220318631A1 (en) | Deep neural network with reduced parameter count | |
Ho et al. | Automated design optimization for CMOS rectifier using deep neural network (DNN) |
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 |