CN111742333A - 执行深度神经网络学习的方法及其装置 - Google Patents
执行深度神经网络学习的方法及其装置 Download PDFInfo
- Publication number
- CN111742333A CN111742333A CN201980014452.6A CN201980014452A CN111742333A CN 111742333 A CN111742333 A CN 111742333A CN 201980014452 A CN201980014452 A CN 201980014452A CN 111742333 A CN111742333 A CN 111742333A
- Authority
- CN
- China
- Prior art keywords
- sequence
- edge
- neural network
- deep neural
- random number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 143
- 238000000034 method Methods 0.000 title claims description 141
- 230000015654 memory Effects 0.000 claims description 48
- 238000013138 pruning Methods 0.000 claims description 7
- 238000009966 trimming Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 19
- 230000008569 process Effects 0.000 description 77
- 238000010586 diagram Methods 0.000 description 15
- 238000013473 artificial intelligence Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000005574 cross-species transmission Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000035899 viability Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/58—Random or pseudo-random number generators
-
- 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
-
- 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/045—Combinations of networks
-
- 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
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- 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/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
编码装置连接至深度神经网络的处理学习的学习电路,并且编码装置配置为执行编码以用于使用边缘序列重新配置深度神经网络的层中的多个边缘的连接或断开连接,其中边缘序列基于随机数序列和丢弃信息生成,丢弃信息指示包括在深度神经网络的层中的多个边缘中的连接边缘与断开连接边缘之间的比率。
Description
技术领域
本公开涉及用于执行深度神经网络学习以使用深度神经网络进行推断的方法和装置。
背景技术
人工智能(AI)系统是实施或尝试模仿人类层次智能的计算机系统。与常规的基于规则的智能系统不同,AI系统学习并进行判断。随着AI系统的使用越来越多,AI系统的识别率越高,例如更准确地理解用户偏好。因此,常规的基于规则的智能系统正逐渐被基于深度学习的AI系统所取代。
AI技术包括机器学习(深度学习)和利用机器学习的元素技术。
机器学习是分类或学习输入数据的特征的算法技术。元素技术是使用机器学习算法,诸如深度学习的技术,并且包括诸如语言理解、视觉理解、推断/预测、知识表示和运动控制的技术领域。
应用AI技术的各个领域如下:语言理解是用于识别和应用/处理人类语言/字符的技术并且包括自然语言处理、机器翻译、对话系统、查询响应、语音识别/合成等;视觉理解是用于像人类视觉一样识别和处理对象的技术并且包括对象识别、对象跟踪、图像搜索、人类识别、场景理解、空间理解、图像增强等;推断预测是用于判断、逻辑推断和预测的技术并且包括基于知识/概率的推断、优化预测、基于偏好的规划、推荐等;知识表示是用于将人类经验信息自动化为知识数据的技术并且包括知识构建(数据生成/分类)、知识管理(数据利用)等;运动控制是用于控制车辆自主驾驶和机器人运动的技术并且包括运动控制(导航、碰撞和驾驶)、操作控制(行为控制)等。
发明内容
问题的解决方案
使用深度神经网络的推断过程可用于准确地分类或分配输入信息。为了深度神经网络的更高干扰精确度,可能需要相对大量的操作过程,并因而增加了形成深度神经网络的层数量或深度。随着形成深度神经网络的层数量的增加,通过深度神经网络获得推断所需的操作量增加。因此,已经使用各种方法在提高深度神经网络推断精度的同时减少运算量。例如,使用通过省略构成形成深度神经网络的层的某些边缘、节点等以执行学习的方法,以减少执行学习的过程中发生的操作量,从而提高深度神经网络的推断精度。
然而,在减少操作量的方法中,任意去除构成层的某些边缘或节点的过程将由软件实现,因而需要另一操作并使得深度神经网络的优化变得困难。详细地,上述软件的实现方案可通过操作系统来执行。详细地,需要执行诸如存储器分配的操作或执行用于随机数生成以生成用于去除某些边缘或节点的信号的系统调用。因此,当使用软件实现方案来减少与使用人工智能获得干扰相关的操作量时,由于执行复杂操作和所执行的计算操作,等待时间增加,并且操作量也增加。
因此,可能需要解决在上述软件实现方案中发生的操作量增加和等待时间增加的方法和装置。
其他方面将部分地在随后的说明中阐述,并且部分地将通过说明书中显而易见,或者可通过本公开所呈现的实施方式的实践获知。
附图说明
本公开的某些实施方式的以上和其他方面、特征和优势将结合附图通过以下描述变得显而易见,在附图中:
图1A是示出根据本公开的实施方式、生成并处理执行深度神经网络学习所需的信息的编码装置和学习电路的框图;
图1B是描述根据本公开的实施方式、在处理深度神经网络学习的学习电路上执行的深度神经网络操作的视图;
图2是根据本公开的实施方式的通过使用编码装置执行的编码方法的流程图;
图3是示出根据本公开的实施方式的编码装置、学习电路和随机数生成电路的框图;
图4是描述根据本公开的实施方式、在编码装置中的深度神经网络的学习过程中使用的输出边缘序列的方法的视图;
图5是根据本公开的另一实施方式的通过使用编码装置执行的编码装置的流程图;
图6是描述根据本公开的实施方式、通过使用编码装置将第一边缘序列与随机数序列进行比较以确定第二边缘序列的方法的视图;
图7是根据本公开的实施方式、通过将第一边缘序列与随机数序列进行比较以确定第二边缘序列的方法的流程图;
图8是描述根据本公开的实施方式的连接至编码装置的深度神经网络的视图;
图9是示出根据本公开的实施方式的包括在深度神经网络的每个层中的边缘的连接或断开连接状态的视图;
图10A示出了由根据本公开的实施方式的学习电路执行的在学习过程中调整每个层的权重的过程;
图10B示出了由根据本公开的实施方式的学习电路执行的在学习过程中调整每个层的权重的过程;
图11是根据本公开的实施方式、通过使用在先前操作周期中确定的边缘的权重以执行编码的编码装置的框图;
图12是根据本公开的实施方式、由编码装置执行的基于存储在寄存器上的多个边缘的权重生成第二边缘序列的过程的流程图;
图13是示出根据本公开的实施方式的编码装置、学习电路及计数器的框图;
图14是示出根据实施方式的编码装置、学习装置和选择器的框图;以及
图15是示出根据本公开的实施方式的编码装置、学习电路、寄存器、计数器、随机数生成电路及选择器的框图。
具体实施方式
实施发明的优选方式
根据本公开的实施方式,提供了编码装置,其包括存储器和编码器,存储器存储由随机数生成器生成的随机数序列,编码器配置为接收深度神经网络的丢弃信息(dropoutinformation),丢弃信息指示包括在深度神经网络的层中的多个边缘中的连接边缘与断开连接边缘之间的比率;基于丢弃信息与随机数序列生成指示多个边缘的连接或断开连接的边缘序列;并输出边缘序列以用于重新配置多个边缘的连接或断开连接。
随机数序列可以基于随机数生成器的时钟信号。
随机数序列的大小可基于深度神经网络的层中的多个边缘的数目确定。
丢弃信息、随机数序列和边缘序列可各自具有由二进制数形成的比特宽度。
编码器可以基于第一比率和第二比率来生成边缘序列,其中第一比率为随机数序列中具有比特值0的比特与随机数序列中具有比特值1的比特之间的比率,第二比率为丢弃信息中具有指示连接边缘的比特值的比特与丢弃信息中具有指示断开连接边缘的比特值的比特之间的比率。
编码器可以基于随机数序列中具有比特值0的比特和随机数序列中具有比特值1的比特的模式、丢弃信息中具有指示连接边缘的比特值的比特和丢弃信息中具有指示断开连接边缘的比特值的比特的模式,来生成边缘序列。
随机数序列的大小可与深度神经网络的层中的边缘的数目相等。
边缘序列可作为深度神经网络的层中进行丢弃操作的基础。
编码电路可获得深度神经网络的层中的多个边缘的权重、基于权重与预设阈值权重比较的结果执行修剪操作、并基于修剪操作生成边缘序列以生成深度神经网络的层中的多个边缘的连接或断开连接。
编码装置可进一步包括选择器,选择器配置为选择多种类型的输入信号之一并输出所选择的信号,其中,编码器从深度神经网络接收操作结果以确定操作结果中是否已发生溢出,并基于是否已发生溢出执行对深度神经网络中使用的可表示信息范围进行修改的动态定点操作。
根据本公开的实施方式,提供了由编码装置执行的编码方法,编码方法包括:存储由随机数生成器生成的随机数序列;接收深度神经网络的丢弃信息,丢弃信息指示包括在深度神经网络的层中的多个边缘中的连接边缘与断开连接边缘之间的比率;基于丢弃信息和随机数序列生成指示多个边缘的连接或断开连接的边缘序列;以及输出边缘序列以用于重新配置多个边缘的连接或断开连接。
随机数序列可基于随机数生成器的时钟信号。
随机数序列的大小可基于深度神经网络的层中的多个边缘的数目确定。
丢弃信息、随机数序列和边缘序列可具有由二进制数形成的比特宽度。
生成边缘序列可包括基于第一比率和第二比率来生成边缘序列,其中第一比率为随机数序列中具有比特值0的比特与随机数序列中具有比特值1的比特之间的比率,第二比率为丢弃信息中具有指示连接边缘的比特值的比特与丢弃信息中具有指示断开连接边缘的比特值的比特之间的比率。
生成边缘序列可包括基于随机数序列中具有比特值0的比特和随机数序列中具有比特值1的比特的模式、以及丢弃信息中具有指示连接边缘的比特值的比特和丢弃信息中具有指示断开连接边缘的比特值的比特的模式,来生成边缘序列。
随机数序列的大小可与深度神经网络的层中的边缘的量相等。
边缘序列可作为深度神经网络的层中的丢弃操作的基础。
编码方法可进一步包括:获得深度神经网络的层中的多个边缘的权重;基于多个边缘的权重与预设阈值权重比较的结果执行修剪操作;以及基于修剪操作,生成边缘序列以指示深度神经网络的层中的多个边缘的连接或断开连接。
编码方法可进一步包括:接收来自深度神经网络的操作结果;确定操作结果中是否已发生溢出;以及基于是否发生溢出,执行修改深度神经网络中使用的值的可表示范围的动态定点操作。
发明的实施方式
本申请基于并根据35U.S.C.§119要求在韩国知识产权局于2018年2月20日提交的第10-2018-0020005号韩国专利申请的优先权,其全部内容通过引用并入本文中。
现将详细参考本公开的实施方式,其示例在附图中示出,其中相同的附图标记始终表示相同的元素。在这方面,本公开的实施方式可以具有不同的形式,并且不应被解释为限于本文所述的描述。因此,以下仅通过参考附图来说明本公开的实施方式以解释各方面。诸如“至少一个”的表述在一列元素之后时,修饰整列元素且不修饰该列中的单个元素。在整个公开内容中,表述“a、b或c中的至少一个”仅表示a、仅b、仅c、a和b两者、a和c两者、b和c两者、所有a、b和c、或其变体。
可以根据功能块组件和各种处理步骤描述本公开。这些功能块中的一些或全部可通过配置成执行指定功能的任何数量的硬件和/或软件组件实现。例如,根据本公开的功能块可使用用于某些功能的一个或多个微处理器或电路组件实现。此外,根据本公开的功能块可使用各种编程或脚本语言实现。可使用在一个或多个处理器上执行的软件中实现的算法来实现功能块。此外,本公开可以采用任何数量的相关技术用于电子配置、信号处理和/或数据处理等。
此外,在所呈现的各个附图中示出的连接线或连接器旨在表示各个元件之间的示例性功能关系和/或物理或逻辑联接。应当注意,实际装置中可存在许多替代或附加的功能关系、物理连接或逻辑连接。
此外,诸如“单元”、“模块”等术语是指执行至少一种功能或操作的单元,且单元可实现为硬件或软件或硬件与软件的组合。然而,“单元”或“模块”也可存储在可寻址存储介质中并且通过可由处理器执行的程序实现。
例如,“单元”或“模块”可以由诸如软件组件、面向对象的软件组件、类组件和任务组件、以及进程、功能、属性、过程、子例程、程序代码段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列和变量实现。
在本文中,“推断”在从输入到输入层的输入数据获得将从输出层输出的输出数据的方向上执行,并且“学习”可在将输出层的输出数据作为输入到输入层的输入数据的方向上执行。
在通过深度神经网络对输入信息的分类或划分中,通过将输入数据输入到输入层并通过形成深度神经网络的隐藏层的多个层执行操作,可以从输出层输出其中输入数据被分类或分配的输出数据或对应于输入数据的输出数据。
为了提高输出数据的精确度,在输出输出数据之后,可以通过学习来调整应用于形成深度神经网络的多个层的权重值。在调整权重以提高输出数据的精度的同时,可能发生过拟合。由于过拟合,训练数据的精确度可增加,但是与新输入数据有关的输出精确度可能降低。为了解决由于过拟合而导致的精确度降低,可使用丢弃操作。
在下文中,将参考附图详细描述能够快速执行丢弃操作的编码装置。
图1A是示出根据本公开的实施方式、生成并处理执行深度神经网络学习所需的信息的编码装置100的框图。
参照图1A,编码装置100包括存储器110和编码电路130或编码器。此外,编码装置100可以连接至执行深度神经网络学习的学习电路120。编码装置100可以接收在学习电路120的操作过程期间输出的信息,并且还可以将在编码装置100中生成的信息发送至学习电路120。
学习电路120可以通过包括输入层、隐藏层和输出层的深度神经网络执行操作。隐藏层可以包括多个层,例如,第一隐藏层、第二隐藏层和第三隐藏层。
将参考图1B描述在学习电路120中执行的深度神经网络的操作。
参考图1B,深度神经网络150包括输入层155、隐藏层165和输出层170。在图1B中,深度神经网络150对包括在输入数据中的分类信息执行深度神经网络操作并且输出该信息作为示例示出。详细地,当输入数据是图像数据时,深度神经网络150输出包括图像数据中包含的图像对象的分类类型的结果数据作为输出数据。
形成深度神经网络150的多个层可包括接收数据的多个节点,例如输入层155的节点175。此外,两个相邻层通过多个边缘177(例如节点176)互连,如图1B所示。可以为每个节点分配权重值,并且深度神经网络150可以基于对输入信号执行的操作和权重值获得输出数据。例如,节点175可以执行输入信号与权重值的乘法运算,以生成输入信号和权重值的乘积作为输出值。如果执行操作的节点存在于输出层170中,则输出值可以作为输出层170中深度神经网络150的结果输出,或者如果执行操作的节点存在于隐藏层165中,则输出值可以作为隐藏层165之一中的中间结果输出,并且输出值可以通过边缘177传送到相邻层165中的另一节点176。
参考图1B所示的本公开的实施方式,输入层155接收输入数据,例如,包括猫作为图像对象的图像数据180。
此外,参考图1B,深度神经网络150可包括形成在输入层155与第一隐藏层之间的第一层181(层1)、形成在第一隐藏层与第二隐藏层之间的第二层182、形成在第二隐藏层与第三隐藏层之间的第三层183、以及形成在第三隐藏层与输出层170之间的第四层184。
包括在深度神经网络150的输入层155中的多个节点接收对应于图像数据180的信号。此外,已由深度神经网络150分析的、与图像数据180对应的输出数据185可以通过包括在隐藏层165中的多个层中的操作从输出层170输出。在所示示例中,在深度神经网络150中执行用于对包括在输入图像中的图像对象的类型进行分类的操作,并因此可以通过输出数据输出结果值“猫的概率:98%(Cat probability:98%)”。为了提高通过深度神经网络150输出的输出数据的精确度,通过迭代地将分析结果从输出层170传送到输入层155来执行学习,并可迭代地评估权重值以提高输出数据的精确度。
返回参考图1A,根据本公开的实施方式的编码装置100可以包括:存储器110和编码电路130,存储器110存储具有特定大小的二进制序列或比特流,编码电路130基于存储在存储器110中的二进制序列生成待输出至学习电路120的二进制序列。二进制序列是指具有等于或大于两个比特的比特大小或宽度的二进制数。根据本公开的实施方式的学习电路120可以对输入信息执行推断处理,并且基于推断结果执行学习处理。
上述二进制序列可以是指示构成深度神经网络150的多个层的节点之间的边缘是否连接的信息。详细地,二进制序列可以是指示包括在深度神经网络150中的层中形成的多个边缘中的每一个是否连接或断开连接的信息。例如,参考图1B,二进制序列可以是与指示多个边缘177中的每一个是否被包括在某个层(例如第一层181)中被连接或断开连接的边缘序列相关的信息。
例如,包括在二进制序列中的值0可指示某个边缘的断开连接,并且二进制序列中的1可以指示某个边缘的连接。在下文中,作为指示包括在深度神经网络150中的某一层中的边缘是否被连接的信息的二进制序列将被称为边缘序列。
参照图1A,编码装置100可包括存储器110和编码电路130。存储器110可以存储已经在第一操作周期输出的第一边缘序列。编码电路130可以基于在不同于第一操作周期的第二操作周期获得的随机数序列和第一边缘序列来生成第二边缘序列,其中第二边缘序列指示包括在深度神经网络中的某一层中的多个边缘是连接还是断开连接。学习电路120可将神经网络150配置为基于通过使用编码电路130生成的第二边缘序列,连接或断开连接某一层中的多个边缘中的每一个。
这里,诸如第一操作周期或第二操作周期的操作周期可以指包括从深度神经网络中的某一层中的某一操作开始直到操作结束的时间段的一个操作周期。此外,在时间上首先发生的操作周期可以被称为第一操作周期,第二操作周期可在第一操作周期之后发生。第二操作周期可以在没有任何居间操作周期的情况下在第一操作周期之后立即发生,或者可以在第一操作周期与第二操作周期之间的一个或多个居间操作周期的情况下在时间上不在第一操作周期之后立即发生。
例如,当编码电路130通过深度神经网络150执行学习时,第一操作周期可以是在第四层184中执行学习的操作周期,第二操作周期可以是在第三层183中执行学习的操作周期。
根据本公开的实施方式,在每一操作周期,编码电路130可根据某一操作周期进行操作且产生将被输出到学习电路120的边缘序列。根据本公开的实施方式,编码电路130可以基于存储在存储器110中的第一边缘序列生成第二边缘序列,并且将第二边缘序列传送至学习电路120以确定深度神经网络中的边缘的连接状态。根据本公开的实施方式,第一边缘序列可已经在与编码电路130将生成第二边缘序列的操作周期不同的操作周期生成,并由学习电路120使用,并存储在存储器110中。根据本公开的实施方式,存储在存储器110中的边缘序列可以依照包括在深度神经网络中的多个层中的每一个来存储。例如,存储器110可以存储在时间上在第二操作周期之前的第一操作周期所输出的第一边缘序列。第一边缘序列可以是指示包括在深度神经网络150中的某一层中(例如,第四层184中)的多个边缘中的每一个的连接或断开连接的二进制序列,存储器110可以将第一边缘序列存储为与某一层(例如,第四层184)相关的值。此外,存储器110可以存储已从当前操作周期之前的操作周期分别输出的至少一个边缘序列中的每个。
根据另一示例,存储在存储器110中的第一边缘序列可以作为指示包括在深度神经网络中的多个层中的所有边缘的连接状态的一个序列被存储。稍后将参考本公开的各种实施方式详细描述可由编码装置100执行的操作。
图2是根据本公开的实施方式通过使用编码装置100执行的编码方法的流程图。
在操作S200中,编码装置100可以存储从随机数生成电路或随机数生成器接收的第一数据。第一数据可以是包括通过随机数生成电路的时钟信号输出的随机数序列的数据。将参考图4和图5详细描述随机数序列。
同时,编码装置100不仅可以存储从随机数生成电路接收的第一数据,还可以存储在深度神经网络的第一操作周期处输出的第一边缘序列。根据本公开的实施方式,第一边缘序列可已经用于在第一操作周期执行的学习电路120的学习过程的期间,使深度神经网络的层之间形成的多个边缘中的至少一个断开连接。
在操作S202中,编码装置100可以从学习电路120接收深度神经网络的丢弃信息。丢弃信息可以指边缘序列的丢弃率(dropout ratio)。
在操作S204中,编码装置100可通过使用丢弃信息和第一数据来生成第二数据。第二数据可以指示关于第二操作周期的第二边缘序列。第二边缘序列可以具有与随机数序列相等的值,但是也可以是不同于其它边缘序列的新类型的边缘序列。详细地,还可通过基于第一边缘序列校正包括在随机数序列中的至少一个随机数值,来产生第二边缘序列。随机数序列可以仅从外部设备(例如,随机数生成电路)发送。然而,随机数生成电路不限于上述示例,且也可集成在编码装置100内。同样地,学习电路120也可集成在编码装置100内。
例如,根据本公开的实施方式的编码电路130可执行将第一边缘序列与随机数序列进行比较的操作,以使得第二操作周期的学习过程不通过使用与学习电路120的第一操作周期的学习过程中使用的第一边缘序列相同的边缘序列来执行第二操作周期的学习过程。
可替换地,根据本公开的实施方式的编码电路130可基于随机数序列和第一边缘序列来产生第二边缘序列,使得第一边缘序列和第二边缘序列中的每一者的丢弃率维持在恒定值。这里,丢弃率可指包括在某一层中的多个边缘的连接边缘与断开连接边缘之间的比率。例如,当包括在第二边缘序列中的值0指示边缘的断开连接并且值1指示边缘的连接时,丢弃率可以表示具有值0的比特数目与包括在第二边缘序列中的比特总数目之间的比率。
将参考本公开的实施方式来描述基于第一边缘序列和随机数序列生成第二边缘序列。
在操作S206中,编码装置100可将第二数据输出至学习电路120,以使得第二数据分配给深度神经网络的神经元。
图3是示出根据本公开的实施方式的编码装置300、学习电路320和随机数生成电路340的框图。图3的编码装置300、存储器310和编码电路330可分别对应于图1的编码装置100,存储器110和编码电路130。此外,图3的学习电路320可以对应于图1的学习电路120。也即,与图1A所示的编码装置100相比,图3的编码装置300可进一步包括随机数生成电路340。
根据本公开的实施方式,随机数生成电路340连续地生成多个随机数。从随机数生成电路340输出的多个随机数为序列形式并且在时间上相继生成,因此,在随机数生成电路340中生成的多个随机数可被称为随机数序列。
详细地,根据本公开的实施方式的随机数生成电路340可基于时钟信号生成随机数作为包括多个寄存器单元的寄存器。多个寄存器单元中的每一个可以形成为触发器(flip-flop)。此外,随机数生成电路340可以存储所生成的随机数。随机数生成电路340可以存储包括每个时钟周期中生成的至少一个随机数的随机数序列,并且根据时钟信号将所存储的随机数序列发送到编码电路330。根据本公开的实施方式,为了防止在随机数生成电路340中产生具有相等值或相同模式的随机数序列,随机数生成电路340可以包括至少一个连接到触发器的逻辑电路门。
编码电路330可以接收在随机数生成电路340中生成的随机数序列,并且可以基于随机数序列确定是将接收到的随机数序列作为与接收到的随机数序列相同的第二边缘序列输出,还是处理接收到的随机数序列并将处理后的随机数序列作为第二边缘序列输出。
图4是用于描述根据本公开的实施方式输出将在编码装置中的深度神经网络的学习过程中使用的边缘序列的方法的视图。
根据本公开的实施方式的随机数生成电路410可以包括生成随机数序列的线性反馈移位寄存器(LFSR)。
例如,随机数生成电路410可包括移位寄存器411,移位寄存器411包括多个寄存器单元以及连接到移位寄存器411的至少一个异或(XOR)门412、413和414。至少一个XOR门可对输入值进行异或运算,且可至少将经运算的输出值输出到移位寄存器411的输入端。因此,随机数生成电路410可生成具有根据时间连续变化的值的随机数序列。此外,随机数生成电路410可以包括生成随机数的各种类型的硬件组件。
随机数生成电路410可响应于输入时钟信号来移动存储在移位寄存器411中的比特值,并产生随机数序列。详细地,随机数生成电路410可在时钟信号的上升边缘或下降边缘处移动存储在移位寄存器411中的比特值,并生成随机数序列。
此外,随机数序列可包括在第一时钟周期获得的多个随机数。第一时钟周期可指产生具有特定大小的随机数序列所需的时钟信号的周期。例如,当随机数生成电路410在时钟信号的上升边缘和下降边缘中的每一个处移动存储在移位寄存器411中的比特值时,可以从一个时钟周期生成2比特随机数。因此,为了产生具有100比特大小的随机数序列,需要50个时钟周期,且在此情况下,第一时钟周期可包括包含50个时钟周期的时间区段。
这里,可基于包括在深度神经网络150中的某一层的边缘数目来确定随机数序列的大小。例如,当在深度神经网络150的某个层(例如,第一层181)中形成的边缘的数目是100时,可以形成具有100比特大小的随机数序列,并且包括在100比特中的比特值可以各自具有对应于100个边缘的连接或断开连接的信息。此外,由编码电路426生成的边缘序列(包括第一边缘序列)的大小可以基于包括在深度神经网络150的某一层中的边缘数目来确定,并且可以与随机数序列的大小相同。
然而,随机数生成电路410仅仅是通过使用根据时钟信号操作的硬件组件以生成随机数的元件的示例,因此可以包括生成随机数的各种硬件组件。
图5是根据本公开的另一实施方式通过使用编码装置执行的编码方法的流程图。
在操作S500中,编码装置420的存储器422可以存储从随机数生成电路410接收的第一数据。第一数据可以是包括通过随机数生成电路410的时钟信号输出的随机数序列的数据。此外,编码装置420可以存储已经在第一操作周期输出的第一边缘序列。
根据本公开的实施方式,在随机数生成电路410中生成的随机数序列的大小可与第一边缘序列的大小相同。根据本公开的实施方式,第一边缘序列可以是指示在第一操作周期的某一层中包括的多个边缘的学习过程中实现的连接状态的信息。也即,第一边缘序列可以是指示包括在某一层中的边缘在先前学习过程中是连接还是断开连接的信息,并且具有与包括在某一层中的边缘数目相等的比特宽度。
在根据本公开的实施方式的随机数生成电路410中可生成的比特数可具有比在学习电路424中使用的深度神经网络的每个层中的最大边缘数更大的比特宽度。根据本公开的实施方式,随机数生成电路410可以在生成将被发送到编码电路426的随机数序列的过程期间,生成具有与某一层的边缘的数目相对应的大小的二进制序列。根据本公开的另一实施方式,基于包括在某一层中的边缘的数目,编码电路426可使用在随机数生成电路410中生成的二进制序列的一部分作为待与第一边缘序列进行比较的随机数序列。
在操作S502中,编码装置420可以从学习电路424接收深度神经网络的丢弃信息。
在操作S504中,编码装置420可以通过使用丢弃信息和第一数据来生成第二数据。换句话说,编码装置420可以基于随机数序列和第一边缘序列生成第二边缘序列,该第二边缘序列指示包括于深度神经网络中的某一层中的多个边缘的连接或断开连接。
在操作S506中,编码装置420可将第二数据输出至学习电路424以分配给深度神经网络的神经元。也即,编码装置420可将第二边缘序列输出到学习电路424,并因此,学习电路424可以基于第二边缘序列,连接或断开连接某一层中的多个边缘中的每一个并通过该层执行学习。
详细地,编码电路426可产生第二边缘序列使得包括于深度神经网络150的所有层的每一层中的连接边缘的数目与断开连接边缘的数目之间的比率是恒定的。
参考图1B所示的深度神经网络150,提供了以下示例,其中第一边缘序列指示包括在第三层183中的多个边缘中的每一个的连接或断开连接,第二边缘序列包括指示包括在第二层182中的多个边缘中的每一个的连接或断开连接的信息段。此外,第一比率值为具有值0的比特数相对于第一边缘序列中的总比特数的比率,其可以指示包括在第三层183中的多个边缘的数量与断开连接的边缘数量之间的比率。此外,第二比率值为具有值0的比特数相对于第二边缘序列中的总比特数的比率,其可以指示包括在第二层182中的多个边缘的数量与断开连接的边缘数量之间的比率。当第一比率值是40%并且包括在深度神经网络150中的总边缘之中断开连接边缘的比率的目标值是50%时,编码电路426可以处理随机数序列,使得第二边缘序列的第二比率值为60%,从而使得总边缘之中的断开连接边缘的比率为50%。目标比率值可以由用户设置或由学习电路424本身设置。
可替换地,编码电路426也可产生第二边缘序列,使得输出边缘序列具有恒定的相等比率值的目标值。
例如,当目标值被设置为50%时,编码电路426可生成第二边缘序列,使得在输出第二边缘序列中具有值0的比特数的比率值为50%。在这种情况下,可以对第一边缘序列与随机数序列进行比较,以将随机数序列校正为具有与第一边缘序列不同的模式,并且可以生成校正后的随机数序列作为第二边缘序列。例如,当随机数序列是1000100111并且先前输出的第一边缘序列是1000100111时,随机数序列和第一边缘序列中的每一个的比率值是50%,即相等的值。因此,编码电路426可生成通过对随机数序列进行反向操作(NOT)而获得的0111011000作为第二边缘序列,使得第一边缘序列和第二边缘序列具有不同的模式。
如上所述,当将形成深度神经网络150的每个层中的相对于边缘总数的断开连接边缘的数目定义为“比率值”或“丢弃比率”时,可以将一致地调整包括在深度神经网络150中的多个层中的比率值的操作称为平衡操作。如在上述示例中,编码电路426可执行平衡操作以生成第二边缘序列。
在操作S508中,编码装置420可基于第二数据来连接或断开连接某一层中的多个边缘中的每一个,并通过该层执行学习。
图6是描述根据本公开的实施方式通过使用编码装置将第一边缘序列与随机数序列进行比较以确定第二边缘序列的方法的视图。
根据本公开的实施方式的存储器602、学习电路604和编码电路606可分别对应于图1的存储器110、学习电路120和编码电路130。
图7是根据本公开的实施方式通过将第一边缘序列与随机数序列进行比较以确定第二边缘序列的方法的流程图。
在操作S700中,根据本公开的实施方式,存储器602可存储已经在第一操作周期输出的第一边缘序列。
在操作S702中,根据本公开的实施方式,编码电路606可确定随机数序列和第一边缘序列是否处于相同范围内。随机数序列可包括在第一时钟周期处获得的至少一个随机数序列。
根据本公开的实施方式,编码电路606可以确定构成第一边缘序列的二进制数和随机数序列是否相同(S702)。在操作S702中,术语“相同”可表示两个序列具有基本上相同的模式以具有相等的二进制值。此外,术语“相同”可表示包括在随机数序列或第一边缘序列中的值0或1具有“相等比率”。此外,术语“相同”可基于在第一边缘序列与第二边缘序列之间具有不同值的比特数量是否等于或小于预设阈值来确定。例如,当第一边缘序列与第二边缘序列之间具有不同值的比特数量是总比特数量的10%或更小时,可以确定随机数序列和第一边缘序列具有相同范围内的值。也即,为了确定是否生成与随机数序列相同的第二边缘序列,编码电路606可确定包括在序列中的值0或1的比率是否处于相同范围内,即使随机数序列和第一边缘序列完全相同或不完全相同。根据本公开的实施方式,编码电路606可包括将随机数序列与第一边缘序列进行比较的比较器。
编码电路606可基于操作S702的确定结果生成第二随机数序列(S703)。
详细地,根据本公开的实施方式,当第一边缘序列和随机数序列处于相同范围内(S702-是)时,在操作S704中,编码电路606可基于第一边缘序列处理随机数序列,并生成与第一边缘序列和随机数序列中的至少一个不在相同范围内的第二边缘序列。
关于下文将描述的本公开的实施方式,包括图6的实施方式,将描述深度神经网络150中包括的某一层中的边缘数目是10且边缘序列具有二进制10比特大小的示例。
参照图6,根据本公开的实施方式,当用于在第一操作周期连接或断开连接某一层中的边缘的边缘序列是1010101010时,存储器602可存储二进制数序列1010101010作为第一边缘序列。
根据本公开的实施方式,随机数生成电路608可基于某一层中的边缘数目生成包括多个随机数的随机数序列。编码电路606可将随机数序列与存储在存储器602中的第一边缘序列进行比较。根据本公开的实施方式,在将随机数序列与第一边缘序列进行比较之后,当确定出两个序列不处于相同范围内时,编码电路606可生成与随机数序列相同的二进制数序列作为第二边缘序列。
根据本公开的实施方式,为了确定第一边缘序列和随机数序列是否被包括在相同范围内,编码电路606可将第一边缘序列的每个比特与随机数序列的每个比特进行比较,以确定不同比特的数目。当在第一边缘序列和随机数序列之间具有不同值的比特数目等于或大于预设阈值时,编码电路606可以确定第一边缘序列和随机数序列不处于相同范围内。
参考图6,例如当阈值是3时,编码电路606可基于阈值3将第一边缘序列与随机数序列进行比较,并且由于第一边缘序列(1010101010)和随机数序列(0010100001)中的每个在相应位置的比特之中四个比特具有不同的值,并且在第一边缘序列和随机数序列中相应定位的比特的不同比特值的数目大于3,所以第一边缘序列和随机数序列可确定为不处于相同范围内。在这种情况下,编码电路606可以将随机数序列(0010100001)确定为第二边缘序列。
根据本公开的另一实施方式,编码电路606可基于阈值3将第一边缘序列与随机数序列进行比较。参照图6,第一边缘序列(1010101010)和随机数序列(1010101110)中的每一个的每个对应比特的仅一个值是不同的,因此,第一边缘序列和随机数序列中对应位置的比特的不同比特值的数目等于或小于阈值3,从而编码电路606可确定第一边缘序列和随机数序列处于相同范围内。在这种情况下,编码电路606可通过处理随机数序列(1010101110)来生成与第一边缘序列不处于相同范围内的新边缘序列,并且可生成处理后的边缘序列作为第二边缘序列并输出该第二边缘序列。
例如,编码电路606可以对随机数序列执行比特反转操作(NOT操作),以通过处理包括在与第一边缘序列的相同范围内的随机数序列来生成新的边缘序列。参照图6,编码电路606可将随机数序列(1010101110)中具有值0的比特的二进制值改变为1,并将1改变为0,以生成第二边缘序列(0101010001)。然而,对随机数序列进行比特反转操作的编码电路606仅仅是本公开用于描述处理随机数序列的方法的实施方式,可执行各种方法使得由编码电路606执行的处理随机数序列的方法包括随机数序列与第一边缘序列不处于相同范围内。
根据本公开的实施方式,编码电路606可基于第一比率值和第二比率值在第二操作周期生成不同于第一边缘序列的第二边缘序列,该第一比率值是包括在随机数序列中的比特值0与1的比率,该第二比率值是包括在第一边缘序列中的比特值0与1的比率。“比率值”可定义为一定大小的序列中的比特值的比率。根据本公开的实施方式,编码电路606可确定第一比率值和第二比率值是否在相同范围内。根据本公开的实施方式,当第一比率值和第二比率值不在相同范围内时,编码电路606可生成与随机数序列相同的第二边缘序列;当第一比率值和第二比率值包括在相同范围内时,编码电路606可以处理随机数序列以生成与第一边缘序列不在相同范围内的第二边缘序列。
根据本公开的实施方式,当第一比率值和第二比率值之差等于或小于20%时,第一比率值和第二比率值可确定为处于相同范围内。例如,当第一比率值为30%且第二比率值小于10%且大于50%时,第二比率值不包括在与第一比率值相同的范围内,因此,编码电路606可产生与随机数序列相同的第二边缘序列。另一方面,当第一比率值为30%且第二比率值等于或大于10%且等于或小于50%时,第二比率值包括在与第一比率值相同的范围内,因此编码电路606可处理随机数序列以产生与第一边缘序列不处于相同范围内的第二边缘序列。编码电路606可对第一比率值执行运算(例如,对第一比率值执行某一值的加法、减法或乘法)以处理第一边缘序列并可根据运算结果生成第二边缘序列。
根据本公开的实施方式,编码电路606可基于包括在随机数序列中的比特值0和1的模式以及包括在第一边缘序列中的比特值0和1的模式,在第二操作周期产生不同于第一边缘序列的第二边缘序列。根据本公开的实施方式,编码电路606可确定包括在随机数序列和第一边缘序列中的比特值0和1是否以特定模式配置(例如,以特定间隔重复至少一个二进制数)。根据本公开的实施方式,编码电路606可确定随机数序列和第一边缘序列是否具有特定模式。当随机数序列和第一边缘序列被确定为处于相同范围内时,编码电路606可以处理随机数序列以确定与第一边缘序列不在相同范围内的第二边缘序列。由编码电路606执行的处理随机数序列的方法可以是参考本公开中的各种方法所描述的方法。
根据本公开的实施方式,编码电路606可通过使用可执行使得随机数序列不在相同范围内的多种处理方法之一来处理随机数序列。根据本公开的实施方式,可由编码电路606执行的多种处理方法中的一些的执行结果可与第一边缘序列处于相同范围内。编码电路606可以通过选择除了具有与第一边缘序列包括在相同范围内的结果的那些处理方法之外的一些其它处理方法来处理第一边缘序列以确定第二边缘序列。
根据本公开的实施方式,当确定第一边缘序列和随机数序列不处于相同范围内时(S702-否),在操作S706中,编码电路606可以将随机数序列确定为第二边缘序列。
根据本公开的实施方式,在操作S708中,编码电路606可将第二边缘序列输出至学习电路604,因此,学习电路604可基于第二边缘序列连接或断开连接某一层中的多个边缘中的每一个,并通过该某一层执行学习。
图8是描述根据本公开的实施方式连接至编码装置的深度神经网络800的视图。在图8中,学习电路120可通过深度神经网络800进行操作。深度神经网络800对应于图1B所示的深度神经网络150,因此将省略关于图1B的实施方式的重复描述。
根据本公开的实施方式,深度神经网络800可以通过学习电路120实现,并且学习电路120可以包括各种处理器,包括中央处理单元(CPU)、图形处理单元(GPU)、神经处理单元(NPU)、神经网络处理器(NNP)等。也即,学习电路120可以是对应于通过包括半导体等硬件组件实现的深度神经网络的元件。
根据本公开的实施方式,学习电路120可以制造为实现AI的深度神经网络的专用硬件形式。此外,在本公开的各种实施方式中公开的学习电路120的数据处理过程的一部分可以通过用于深度神经网络的另一专用硬件组件来实现。此外,学习电路120的数据处理过程的一部分可以由通用处理器(例如,CPU或应用处理器)或仅可处理图形的处理器(例如,GPU)的一部分处理。当由通用处理器或仅可处理图形的处理器处理数据时,数据可通过至少一个软件模块处理,并且至少一个软件模块可通过操作系统(OS)或应用程序提供。
根据本公开的实施方式,深度神经网络800可包括具有各种配置的深度神经网络,包括卷积神经网络(CNN)、递归神经网络(RNN)等。也即,根据本公开的实施方式,学习电路120可以是实现包括多个隐藏层的、各种形式的深度神经网络的处理器。特别地,CNN被广泛用于图像识别、推断和分类,并且RNN广泛用于语音、音乐、字符串、运动图像等的顺序数据学习。
参照图8,深度神经网络800可包括卷积层805和完全连接层810,卷积层805通过基于针对输入信号的滤波核执行卷积运算以生成特征映射,完全连接层810对作为卷积运算的结果生成的多个特征映射执行推断或分类处理。在卷积层805中执行的卷积运算需要运算量,因为卷积运算是通过在每个层的输入上移动多个滤波核一段距离来执行的,并且在通过卷积层805生成的特征映射的推断或分类过程中需要大的存储容量。因此,当在卷积层805和完全连接层810上执行学习时,通过去除重复的权重或边缘或通过执行尺度改变,可以有效地减少操作量和存储容量,而不会显著降低推断的精确度。因此,不仅在图8所示的CNN中,而且在仅包括完全连接层的RNN中,可以有效地控制在本公开的各种实施方式的网络中使用的权重和边缘。根据本公开的实施方式控制在深度神经网络中使用的权重和边缘的方法的示例可以包括丢弃、修剪、动态定点方法,但不限于此。
根据本公开的实施方式,深度神经网络800的推断方向820和学习方向822可以彼此相反。也即,学习电路120可执行在从输入层830到输出层850的方向上执行推断的正向推断过程,以通过深度神经网络800对输入执行推断过程。根据本公开的实施方式,对于基于推断方向820执行的推断的更精确结果,可以执行反向学习过程,其中可在从输出层850到输入层830的方向上执行学习。根据本公开的实施方式,通过反向执行的学习过程,学习电路120可顺序地执行从接近输出端的层到接近输入端的层调整权重或边缘的操作。
图9是示出根据本公开的实施方式的包括在深度神经网络900的每个层中的边缘的连接或断开连接状态的视图。
如图8所示,为了执行丢弃操作,所有连接边缘之中的每个层中的某些连接边缘被断开连接。
根据本公开的实施方式,学习电路120可基于第二边缘序列连接或断开连接包括在深度神经网络900中的层910中的多个边缘。根据本公开的实施方式通过学习电路120使用的边缘序列指示某一层的节点是否被连接,并且可以是以某一顺序排列的二进制数。例如,边缘序列可以基于深度神经网络900的学习方向922来确定层910的边缘是否被连接,并且层910的边缘序列可按如下顺序对齐。下表的每一列可表示边缘序列的每一比特。下表中具有值0的比特可以指示在该列中指示的节点之间的边缘不存在或断开连接。下表中具有值1的比特可以指示在该列中指示的节点之间的边缘存在或连接。
在上表中,“c_1→b_1”意指将节点c_1连接至节点b_1的边缘。在上述边缘序列中,当空间“c_1→b_1”的值为0时,将节点c_1连接至节点b_1的边缘可以断开连接,如图9所示。此外,图9所示的“c_1→b_4”表示将节点c_1连接至节点b_4的边缘。在上述边缘序列中,当空间“c_1→b_4”的值为1时,将节点c_1连接至节点b_4的边缘可连接,如图9所示。
然而,上述对齐边缘序列的方法仅仅是确定学习电路120要连接或断开连接边缘的顺序的示例,因此可包括对齐二进制数序列的各种方法,其中二进制数序列可生成以容易地确定多个节点的边缘连接状态。
根据本公开的实施方式,学习电路120可基于所获得的第二边缘序列来确定包含在层910中的一些边缘处于断开连接状态。如在上述示例中,由于边缘序列包括与包括在某一层中的边缘的连接或断开连接有关的信息,所以学习电路120可基于从编码电路130输出的边缘序列,将包括在深度神经网络中的至少一个层或所有层中的至少一些边缘断开连接。此外,可以通过基于边缘序列校正的深度神经网络来执行上述丢弃操作。
此外,参考图9,学习电路120可基于第二边缘序列在层910的学习过程中将连接至节点c_3的所有边缘断开连接。因此,在输入到节点c_3的信息和从节点c_3输出的信息都被阻挡的情况下,可以执行层910的学习。参照图9,学习电路120可以在层910的节点b_2、b_5、c_3和c_5的边缘全部断开连接时执行学习,并且可以通过断开连接节点b_2、b_5、c_3和c_5的所有边缘来执行丢弃。此外,学习电路120可以通过不仅断开连接节点b_2、b_5、c_3和c_5的边缘,而且将连接至层910的其它节点的一些边缘断开连接来执行学习。
图10A示出根据本公开的实施方式由学习电路120执行的在学习过程中调整每个层的权重的过程。图10B示出根据本公开的实施方式由学习电路120执行的在学习过程中调整每个层的权重的过程。
参照图10A,根据本公开的实施方式的学习电路120可通过使用包括第一层1010和第二层1012的多个层来执行推断过程,并且可在作为推断结果的输出值的精确度增加的方向上执行学习过程。根据本公开的实施方式,由学习电路120执行的学习过程可与推断过程中执行的方法处于相反的方向,因此,在第一层1010上的学习结束之后开始在第二层1012上的学习。
根据本公开的实施方式,学习电路120可基于第二边缘序列连接或断开连接包括在深度神经网络1000中的第二层1012的多个边缘。由根据本公开的实施方式的学习电路120使用的边缘序列指示每个节点是否被连接,并且可以是以特定顺序排列的二进制数。参照图10A,学习电路120可基于由编码电路130生成的第二边缘序列,来省略连接第二层1012节点(节点b_1、b_2、…、b_n、c_1、c_2、…、c_n)中使用的边缘中的一些。学习电路120可通过使用在学习过程中未被省略的边缘在深度神经网络的推断精度增加的方向上执行学习,并且可以修改分配给在学习过程中未被省略的边缘的权重。也即,学习电路120可基于根据第二边缘序列确定的边缘连接状态,执行修改第二层1012的权重的学习过程。
根据本公开的实施方式,当学习电路120结束第二层1012中的学习过程时,可以开始第一层1010的学习过程。参照图10A,学习电路120可基于通过在第二操作周期使用编码电路130生成的第二边缘序列来执行修改第二层1012的权重的学习过程,并由此可以将第二层1012修改为图10B中经训练的第二层1022。经训练的第二层1022可影响第一层1020的学习过程,因此,第一层1020可在考虑第二层1022的权重的情况下执行修改包括在第一层1020中的权重的学习过程。
根据本公开的实施方式,学习电路120可基于通过在第二操作周期执行的学习而确定的深度神经网络的多个层的权重,来执行推断过程。为了提高在第二操作周期之后作为推断结果输出的结果值的精确度,学习电路120可迭代地重复根据本公开的上述实施方式的学习过程。因此,编码装置100可在存储器110中存储与第二操作周期处的层有关的第二边缘序列,并且根据第二边缘序列基于经训练的权重执行推断过程,然后在不同于第二操作周期的第三操作周期处从存储器110获得第三边缘序列。第三边缘序列可对应于在第三操作周期存储在存储器110中的边缘序列。因此,编码电路130可基于响应于第三边缘序列和时钟信号新生成的随机数序列,在第三操作周期之后出现的第四操作周期处,生成指示包括在深度神经网络中的某一层中的多个边缘的连接或断开连接。
由根据本公开的实施方式的编码装置100使用的第一边缘序列、第二边缘序列、第三边缘序列和第四边缘序列对应于分别在编码电路130的每个操作周期生成并输出至学习电路120的边缘序列,并且可根据本公开的上述各种实施方式生成与处理。
图11是根据本公开的实施方式用于通过使用在先前操作周期中确定的边缘的权重来执行编码的编码装置1100的框图。
根据本公开的实施方式,编码装置1100包括存储器1110和编码电路1120,存储器1110存储指示在第一操作周期确定的构成某一层的多个边缘的连接状态的第一边缘序列,编码电路1120在不同于第一操作周期的第二操作周期生成第二边缘序列的,第二边缘序列为多个边缘的连接状态的二进制数的集合。学习电路1130可基于由编码电路1120确定的边缘序列执行推断和学习过程。此外,寄存器1140可存储构成某一层的多个边缘的权重。
根据本公开的实施方式,图11的存储器1110、编码电路1120和学习电路1130可分别类似于图1A的存储器110、编码电路130和学习电路120,因此将省略其详细描述。在下文中,将描述使用存储在寄存器1140中的权重的特征。
根据本公开的实施方式,存储器1110和寄存器1140执行存储指示边缘的连接状态的边缘序列和边缘权重的类似功能,因此,存储器1110和寄存器1140的特征可通过执行存储功能的单个组件或多个单独的存储器来实现。然而,为了便于说明,将分别描述存储器1110和寄存器1140。
图12是根据本公开的实施方式由编码装置1100基于存储在寄存器1140中的多个边缘权重生成第二边缘序列的过程的流程图。
在操作S1200中,根据本公开的实施方式,编码装置1100的寄存器1140可在第一操作周期中存储包括构成某一层的多个边缘的权重的第一边缘权重。根据本公开的实施方式,存储在寄存器1140中的第一边缘权重可以是包括某一层的边缘权重的信息。
在操作S1202中,编码装置1100的编码电路1120可将存储在操作S1200中的第一边缘权重的大小与预设阈值权重的大小进行比较。根据本公开的实施方式,编码电路1120可包括用于将第一边缘权重与预设阈值权重进行比较的比较器。
在操作S1204中,基于操作S1202的比较结果,编码装置1100的编码电路1120可生成第二边缘序列,第二边缘序列中具有包括在第一边缘权重中且大于阈值权重的权重的边缘指示连接,具有等于或小于阈值权重的权重的边缘指示断开连接。根据本公开的实施方式,第二边缘序列可以是二进制数序列,并且值1可以是指示边缘的连接的信息,值0可以是指示边缘的断开连接的信息。
在操作S1206中,学习电路1130可基于从编码电路1120接收的第二边缘序列,在第二操作周期连接或断开连接某一层中的多个边缘中的每一个,并且通过该层执行学习。确定为学习结果的多个边缘的权重再次存储在寄存器1140中,并且可在下一操作周期中使用,以与预设阈值权重进行比较。根据本公开的实施方式,在操作S1206中由学习电路1130执行的操作的特征可以是与参考本公开的各种实施方式描述的学习电路的特征类似的特征,因此,将省略对其的详细说明。
根据本公开的实施方式,编码装置1100可通过使用指示存储在寄存器1140中的第一边缘权重的边缘序列以及某一层的边缘连接状态,来执行深度神经网络的学习过程。根据本公开的实施方式,学习电路1130可通过使用基于将存储在存储器1110中的第一边缘序列与从随机数生成电路获得的随机数序列进行比较的结果而生成的第二边缘序列,来执行学习过程。根据学习结果确定的第一边缘权重可存储在寄存器1140中,并且在下一操作周期中,编码电路1120可通过将第一边缘权重与预设阈值权重进行比较以生成新的边缘权重。学习电路1130可通过使用在上述过程中生成的边缘序列来执行学习过程。
图13是示出根据本公开的实施方式的编码装置1300、学习电路1330和计数器1340的框图。
根据本公开的实施方式,图13的存储器1310、编码电路1320和学习电路1330的特征可以与以上所描述的图1A的存储器110、编码电路130和学习电路120的特征类似,因此将省略其详细说明。在下文中,将描述使用存储在寄存器中的权重的特征。
根据本公开的实施方式,计数器1340可在编码电路1320生成第二边缘序列的过程中对满足某一条件的次数进行计数。根据本公开的实施方式,计数器1340可包括对发生次数进行计数并在达到发生次数的最大计数时重新开始计数的计数机,其中计数机可以是被设计成以预定顺序转变触发器的状态的元件,并且包括寄存器,其状态根据输入脉冲以预定顺序改变。
例如,计数器1340可对在编码电路1320将第一边缘序列与随机数序列进行比较的处理中、第一边缘序列的比特和随机数序列的比特为相同的次数进行计数。编码电路1320可以基于计数器1340的计算结果,在没有任何改变的情况下使用随机数序列来确定是否生成第二边缘序列,或者通过处理随机数序列来生成第二边缘序列。此外,计数器1340可通过计算包括在第一边缘序列中的比特值0的比率(丢弃率)和包括在随机数序列中的比特值0的比率来生成第二边缘序列。上面参考本公开的各种实施方式描述了通过使用丢弃率以生成第二边缘序列的过程,因此将省略对其的详细说明。
根据另一示例,编码电路1320可将存储在图11的寄存器1140或存储器1110中的某一层的第一边缘权重与预设阈值权重进行比较,且计数器1340可计算构成某一层的多个边缘之中具有比预设阈值权重更大的权重的边缘的数目。编码电路1320可基于计数器1340的计算结果确定某一层的多个边缘之中处于连接状态的边缘的数目(或者处于断开连接状态的边缘的数目),并且可基于所确定的边缘数目生成第二边缘序列。由编码电路1320基于根据计数器1340的计算结果确定的丢弃率生成第二边缘序列的方法在上文参考本公开的各种实施方式进行了描述,因此将省略对其的详细说明。
也即,可在本公开的各种实施方式中使用的计数器1340可广泛地用于计算在比较第一边缘序列和随机数序列、第一边缘权重等的过程中满足特定条件的次数。计数器1340的示例可包括在各种触发器结构中实现的计数器,例如异步计数器、同步计数器、UP计数器等。
图14是示出根据本公开的实施方式的编码装置1400、学习电路1430和选择器1440的框图。
根据本公开的实施方式,编码装置1400可包括存储器1410和编码电路1420,并且可以连接至学习电路1430。此外,编码装置1400可以连接至选择器1440、寄存器1442和随机数生成电路1444。根据本公开的实施方式,存储器1410、编码电路1420和学习电路1430的特征可与上文描述的存储器110、编码电路130和学习电路120的特征相类似,因此将省略其详细说明。此外,图14的寄存器1442和随机数生成电路1444的特征也可以与图11的寄存器1140和图3的随机数生成电路340的特征相类似,因此将省略其详细说明。
参考图14,选择器1440可以从寄存器1442和随机数生成电路1444中的每一个获得特定信息,并选择性地输出这两条信息。根据本公开的实施方式,选择器1440可包括多路复用器,其获得n比特(n>0)的特定选择信号且选择性地输出从寄存器1442和随机数生成电路1444获得的特定信息,寄存器1442或随机数生成电路1444的输出信息可由存储器1410、编码电路1420和学习电路1430使用,如本公开的上述各种实施方式。也即,选择器1440可选择性地输出可基于n比特选择信号确定的2^n种类型的输入信息。
也即,连接至选择器1440的编码装置1400可选择性地使用基于将存储在寄存器1442中的第一边缘权重与预设阈值权重进行比较的结果确定第二边缘序列的过程,以及基于将存储在存储器1410中的第一边缘序列与从随机数生成电路1444获得的随机数序列进行比较的结果确定第二边缘序列的过程。
详细地,为了使学习电路1430执行上述丢弃操作,选择器1440可操作使得在随机数生成电路1444中生成的信号被输出。因此,从随机数生成电路1444输出的随机数序列可发送至编码电路1420,并且编码电路1420可通过使用所发送的随机数序列来生成边缘序列,并将该边缘序列发送至学习电路1430。
此外,为了使学习电路1430执行上述修剪操作,选择器1440可操作使得存储在寄存器1442中的信号被输出。因此,从寄存器1442输出的权重值可发送至学习电路1430。因此,学习电路1430可基于从寄存器1442发送的权重值来执行学习,或者可以在精确度增加的方向上执行权重值的校正操作。
图15是示出根据本公开的实施方式的编码装置1500、学习电路1530、寄存器1542、计数器1544、随机数生成电路1546和选择器1540的框图。
根据本公开的实施方式,图15的存储器1510、编码电路1520和学习电路1530的特征可与图1A的存储器110、编码电路130和学习电路120的特征相类似,因此将省略其详细说明。此外,图15的寄存器1542、计数器1544和随机数生成电路1546的特征可以分别与图11的寄存器1140、图1340的计数器1340和图3的随机数生成电路340的特征相类似,因此将省略其详细说明。
根据本公开的实施方式,选择器1540可包括多路复用器,其可以从寄存器1542、计数器1544和随机数生成电路1546获得特定信息,并选择性地输出该信息;以及多路分解器,其获得学习电路1530的中间操作结果,并输出该中间操作结果,以使得该结果被存储在寄存器1542中。
根据本公开的实施方式,学习电路1530可基于第一边缘序列或第二边缘序列执行学习过程,并基于学习结果执行推断过程。学习电路1530可通过选择器1540在寄存器1542中的第二操作周期处存储学习过程的中间操作结果,并且根据本公开的实施方式,计数器1544可基于中间操作结果的值确定是否已发生溢出(overflow),并可以基于确定的结果计算已发生溢出的次数。编码装置1500可通过使用动态定点方法控制深度神经网络以执行推断和学习,在该动态定点方法中,可基于由计数器1544计算的第二操作周期的溢出次数动态地改变定点。也即,当通过使用学习电路1530的深度神经网络执行推断和学习过程时,为了在防止寄存器1542中溢出的同时有效地控制输入和输出信息,中间操作结果可以存储在寄存器1542中,并且计数器1544可以计数溢出的次数。
根据本公开的实施方式,学习电路1530可将由计数器1544计算的溢出次数与溢出阈值次数进行比较,以确定是否通过使用动态定点方法执行学习和推断过程。也即,学习电路1530可通过使用比较器基于将通过使用计数器1544计算的溢出次数与溢出阈值次数进行比较的结果的动态定点方法,确定是否执行学习和推断过程。例如,当通过使用计数器1544计算的溢出次数等于或高于溢出阈值次数时,学习电路1530可通过使用动态定点方法改变定点在某一层中执行学习或推断过程。
根据本公开的实施方式,连接至选择器1540的编码装置1500可选择性地使用以下操作中的至少之一:基于将存储在寄存器1542中的第一边缘权重与预设阈值权重进行比较的结果确定第二边缘序列的操作;基于将存储在存储器1510中的第一边缘序列与通过使用随机数生成电路1546获得的随机数序列进行比较的结果来确定第二边缘序列的操作;或者使用计数器1544执行的计算存储在寄存器1542中的中间计算结果的溢出次数的学习过程。
如上文所述,根据本公开的实施方式的深度神经网络的执行学习的方法以及执行该方法的装置,可基于在先前操作周期中已使用并存储在硬件设备本身中的边缘序列信息快速且容易地获得在后续操作周期中将使用的边缘序列。此外,通过基于在先前操作周期中使用的边缘序列信息和在当前操作周期中获得的随机数序列生成在后续操作周期中将使用的边缘序列,可提高深度神经网络的操作执行率,并且可以容易地实现通过深度神经网络执行丢弃操作的硬件设备。
此外,可以在无需用于获得边缘序列的附加软件模块的情况下获得边缘序列,因此,可以减小通过深度神经网络执行操作的硬件设备的存储大小,并因此可以减小硬件设备本身的大小。
虽然已参考本公开的实施方式具体示出并描述了本公开,但是本领域的普通技术人员将理解,在不脱离由所附权利要求限定的本公开的精神和范围的情况下,可在本公开中进行形式和细节的各种改变。因此,本公开的实施方式应视为仅仅是描述性的,而非为了限制的目的。本公开的范围不是由本公开的详细说明而是由所附权利要求限定,并且在范围内的所有差异将解释为包括在本公开中。
本公开的实施方式可写成计算机程序,并可以使用计算机可读记录介质执行程序的通用数字计算机实现。计算机可读记录介质的示例包括诸如磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(例如,CD-ROM或DVD)的存储介质。
根据执行深度神经网络学习的方法和执行本公开方法的装置,可以减少操作量并且可以最小化待机时间,从而通过深度神经网络快速地执行学习。
详细地,根据执行深度神经网络学习的方法和执行本公开方法的装置,可以快速地控制构成形成深度神经网络的层中的边缘或节点的连接或断开连接。
详细地,根据执行深度神经网络学习的方法和执行本公开的方法的装置,代替软件实现,硬件组件用于执行丢弃操作以用于解决在通过深度神经网络的学习中出现的过度拟合的问题,从而最小化操作量并提高操作速率。
应当理解,这里描述的本公开的实施方式应当视为仅仅是描述性的,而非为了限制的目的。对本公开的每个实施方式中的特征或各方面的描述通常应当视为可用于本公开的其他实施方式中的其他类似特征或方面。
虽然已参考附图说明了本公开的一个或多个实施方式,但是本领域的普通技术人员将理解,在不脱离由所附权利要求限定的精神和范围的情况下,可在本公开中进行形式和细节上的各种改变。
Claims (15)
1.一种编码装置,包括:
存储器,存储由随机数生成器生成的随机数序列;以及
编码器,配置为:
接收深度神经网络的丢弃信息,所述丢弃信息指示所述深度神经网络的层中包括的多个边缘中的连接边缘与断开连接边缘之间的比率;
基于所述丢弃信息和所述随机数序列生成指示所述多个边缘的连接或断开连接的边缘序列;以及
输出所述边缘序列以用于重新配置所述多个边缘的连接或断开连接。
2.根据权利要求1所述的编码装置,其中,所述随机数序列基于所述随机数生成器的时钟信号。
3.根据权利要求2所述的编码装置,其中,所述随机数序列的大小基于所述深度神经网络的层中的所述多个边缘的数目。
4.根据权利要求2所述的编码装置,其中,所述丢弃信息、所述随机数序列和所述边缘序列具有由二进制数形成的比特宽度。
5.根据权利要求3所述的编码装置,其中,所述随机数序列的大小等于所述深度神经网络的层中的所述边缘的数量。
6.根据权利要求2所述的编码装置,其中,所述边缘序列是所述深度神经网络的层中进行丢弃操作的基础。
7.根据权利要求2所述的编码装置,其中,所述编码器进一步配置为:获得所述深度神经网络的层中的所述多个边缘的权重、基于所述权重与预设阈值权重比较的结果执行修剪操作、以及基于所述修剪操作,生成所述边缘序列以指示所述深度神经网络的层中的所述多个边缘的连接或断开连接。
8.根据权利要求1所述的编码装置,还包括选择器,所述选择器配置为选择多种类型的输入信号之一并输出所选择的信号,
其中,所述编码器进一步配置为:从所述深度神经网络接收操作结果以确定所述操作结果中是否已发生溢出,并基于是否已发生溢出执行对所述深度神经网络中使用的信息的可表示范围进行修改的动态定点操作。
9.一种编码装置的编码方法,所述编码方法包括:
存储由随机数生成器生成的随机数序列;
接收深度神经网络的丢弃信息,所述丢弃信息指示所述深度神经网络的层中包括的多个边缘中的连接边缘与断开连接边缘之间的比率;
基于所述丢弃信息和所述随机数序列生成指示所述多个边缘的连接或断开连接的边缘序列;以及
输出所述边缘序列以用于重新配置所述多个边缘的连接或断开连接。
10.根据权利要求9所述的编码方法,其中,所述随机数序列基于所述随机数生成器的时钟信号。
11.根据权利要求10所述的编码方法,其中,所述随机数序列的大小基于所述深度神经网络的层中的所述多个边缘的数目。
12.根据权利要求10所述的编码方法,其中,所述丢弃信息、所述随机数序列和所述边缘序列具有由二进制数形成的比特宽度。
13.根据权利要求11所述的编码方法,其中,所述随机数序列的大小等于所述深度神经网络的层中的所述边缘的数量。
14.根据权利要求10所述的编码方法,其中,所述边缘序列是所述深度神经网络的层中进行丢弃操作的基础。
15.根据权利要求10所述的编码方法,进一步包括:
获得所述深度神经网络的层中的所述多个边缘的权重;
基于所述多个边缘的权重与预设阈值权重进行比较的结果执行修剪操作;以及
基于所述修剪操作,生成所述边缘序列以指示所述深度神经网络的层中的所述多个边缘的连接或断开连接。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180020005A KR20190099927A (ko) | 2018-02-20 | 2018-02-20 | 심층 신경망의 학습을 수행시키는 방법 및 그에 대한 장치 |
KR10-2018-0020005 | 2018-02-20 | ||
PCT/KR2019/002051 WO2019164251A1 (en) | 2018-02-20 | 2019-02-20 | Method of performing learning of deep neural network and apparatus thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111742333A true CN111742333A (zh) | 2020-10-02 |
Family
ID=67617889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980014452.6A Pending CN111742333A (zh) | 2018-02-20 | 2019-02-20 | 执行深度神经网络学习的方法及其装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US12001954B2 (zh) |
EP (1) | EP3735662A4 (zh) |
KR (1) | KR20190099927A (zh) |
CN (1) | CN111742333A (zh) |
WO (1) | WO2019164251A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6977864B2 (ja) * | 2018-03-02 | 2021-12-08 | 日本電気株式会社 | 推論装置、畳み込み演算実行方法及びプログラム |
US11507846B2 (en) * | 2018-03-26 | 2022-11-22 | Nvidia Corporation | Representing a neural network utilizing paths within the network to improve a performance of the neural network |
DE102019106996A1 (de) | 2018-03-26 | 2019-09-26 | Nvidia Corporation | Darstellen eines neuronalen netzwerks unter verwendung von pfaden innerhalb des netzwerks zum verbessern der leistung des neuronalen netzwerks |
US11348297B2 (en) | 2019-09-30 | 2022-05-31 | Snap Inc. | State-space system for pseudorandom animation |
US11222455B2 (en) | 2019-09-30 | 2022-01-11 | Snap Inc. | Management of pseudorandom animation system |
US11176723B2 (en) | 2019-09-30 | 2021-11-16 | Snap Inc. | Automated dance animation |
US20210125049A1 (en) * | 2019-10-29 | 2021-04-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | System for executing neural network |
KR102235784B1 (ko) * | 2019-12-24 | 2021-04-02 | 네이버 주식회사 | 행동 인식을 위한 시공간의 평활화 피처를 정규화하는 방법 및 시스템 |
KR20210083624A (ko) | 2019-12-27 | 2021-07-07 | 삼성전자주식회사 | 신경망의 데이터 입력 및 출력을 제어하는 제어 방법 및 장치 |
JP7242590B2 (ja) * | 2020-02-05 | 2023-03-20 | 株式会社東芝 | 機械学習モデル圧縮システム、プルーニング方法及びプログラム |
US11861467B2 (en) * | 2020-03-05 | 2024-01-02 | Qualcomm Incorporated | Adaptive quantization for execution of machine learning models |
KR102464612B1 (ko) | 2020-08-03 | 2022-11-08 | 한국과학기술원 | 심층신경망 가중치 기반 난수 생성기를 활용한 심층신경망 학습 장치 및 그 방법 |
EP4222712A1 (en) * | 2020-09-30 | 2023-08-09 | Snap Inc. | Music reactive animation of human characters |
TW202221549A (zh) * | 2020-11-26 | 2022-06-01 | 中強光電股份有限公司 | 優化光譜儀的輸出結果的方法及使用該方法的電子裝置 |
KR102339896B1 (ko) * | 2021-05-24 | 2021-12-16 | 리벨리온 주식회사 | 프로세싱 엘리먼트, 이의 동작 방법, 및 이를 포함하는 가속기 |
KR20240028055A (ko) * | 2022-08-24 | 2024-03-05 | 동국대학교 산학협력단 | 사이버 공격에 강인한 인공 신경망 구조 재구성 장치 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105612492A (zh) * | 2013-10-02 | 2016-05-25 | 高通股份有限公司 | 用于产生伪随机数的可编程概率分布函数的方法和装置 |
US20160307098A1 (en) * | 2015-04-19 | 2016-10-20 | International Business Machines Corporation | Annealed dropout training of neural networks |
CN106127301A (zh) * | 2016-01-16 | 2016-11-16 | 上海大学 | 一种随机神经网络硬件实现装置 |
US20180046597A1 (en) * | 2016-08-09 | 2018-02-15 | International Business Machines Corporation | True random generator (trng) in ml accelerators for nn dropout and initialization |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10789526B2 (en) * | 2012-03-09 | 2020-09-29 | Nara Logics, Inc. | Method, system, and non-transitory computer-readable medium for constructing and applying synaptic networks |
WO2016145516A1 (en) | 2015-03-13 | 2016-09-22 | Deep Genomics Incorporated | System and method for training neural networks |
JP2017097585A (ja) | 2015-11-24 | 2017-06-01 | 株式会社リコー | 学習装置、プログラム及び学習方法 |
CN108701323B (zh) * | 2016-03-21 | 2023-11-10 | 宝洁公司 | 用于提供定制的产品推荐的系统和方法 |
GB201607713D0 (en) * | 2016-05-03 | 2016-06-15 | Imagination Tech Ltd | Convolutional neural network |
US10019629B2 (en) * | 2016-05-31 | 2018-07-10 | Microsoft Technology Licensing, Llc | Skeleton-based action detection using recurrent neural network |
KR101881055B1 (ko) | 2016-08-17 | 2018-07-23 | 가천대학교 산학협력단 | 정유압 변속기의 유압시스템 |
US10832135B2 (en) * | 2017-02-10 | 2020-11-10 | Samsung Electronics Co., Ltd. | Automatic thresholds for neural network pruning and retraining |
US10643297B2 (en) * | 2017-05-05 | 2020-05-05 | Intel Corporation | Dynamic precision management for integer deep learning primitives |
GB2568230B (en) * | 2017-10-20 | 2020-06-03 | Graphcore Ltd | Processing in neural networks |
-
2018
- 2018-02-20 KR KR1020180020005A patent/KR20190099927A/ko not_active Application Discontinuation
-
2019
- 2019-02-20 CN CN201980014452.6A patent/CN111742333A/zh active Pending
- 2019-02-20 WO PCT/KR2019/002051 patent/WO2019164251A1/en unknown
- 2019-02-20 EP EP19757993.1A patent/EP3735662A4/en active Pending
- 2019-02-21 US US16/281,737 patent/US12001954B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105612492A (zh) * | 2013-10-02 | 2016-05-25 | 高通股份有限公司 | 用于产生伪随机数的可编程概率分布函数的方法和装置 |
US20160307098A1 (en) * | 2015-04-19 | 2016-10-20 | International Business Machines Corporation | Annealed dropout training of neural networks |
CN106127301A (zh) * | 2016-01-16 | 2016-11-16 | 上海大学 | 一种随机神经网络硬件实现装置 |
US20180046597A1 (en) * | 2016-08-09 | 2018-02-15 | International Business Machines Corporation | True random generator (trng) in ml accelerators for nn dropout and initialization |
Also Published As
Publication number | Publication date |
---|---|
US12001954B2 (en) | 2024-06-04 |
EP3735662A4 (en) | 2021-04-21 |
KR20190099927A (ko) | 2019-08-28 |
US20190258932A1 (en) | 2019-08-22 |
EP3735662A1 (en) | 2020-11-11 |
WO2019164251A1 (en) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111742333A (zh) | 执行深度神经网络学习的方法及其装置 | |
US11657254B2 (en) | Computation method and device used in a convolutional neural network | |
US11741362B2 (en) | Training neural networks using mixed precision computations | |
US20200327409A1 (en) | Method and device for hierarchical learning of neural network, based on weakly supervised learning | |
CN115841137A (zh) | 一种用于对待量化数据进行定点化处理的方法及计算装置 | |
KR20160143548A (ko) | 인공 신경 네트워크를 자동으로 조정하는 방법 및 장치 | |
Berriel et al. | Budget-aware adapters for multi-domain learning | |
KR20190068255A (ko) | 고정 소수점 뉴럴 네트워크를 생성하는 방법 및 장치 | |
CN112308204A (zh) | 使用适应度估计的自动化神经网络生成 | |
US20220156508A1 (en) | Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation | |
KR101887267B1 (ko) | 부분구조 학습기법과 영상데이터를 이용한 신경망 학습 방법 및 장치 | |
US20180293486A1 (en) | Conditional graph execution based on prior simplified graph execution | |
CN112633463A (zh) | 用于建模序列数据中长期依赖性的双重递归神经网络架构 | |
KR20190099930A (ko) | 완전 연결 네트워크의 데이터 입력 및 출력을 제어하는 방법 및 장치 | |
CN110942142A (zh) | 神经网络的训练及人脸检测方法、装置、设备和存储介质 | |
EP4115345A1 (en) | Adaptive quantization for execution of machine learning models | |
Jie et al. | Anytime recognition with routing convolutional networks | |
Yang et al. | Efficient deep visual and inertial odometry with adaptive visual modality selection | |
TWI824485B (zh) | 最佳化神經網路模型的方法 | |
KR102637342B1 (ko) | 대상 객체를 추적하는 방법과 장치 및 전자 장치 | |
US20210374604A1 (en) | Apparatus and method for training reinforcement learning model for use in combinatorial optimization | |
CN111260056B (zh) | 一种网络模型蒸馏方法及装置 | |
US11568303B2 (en) | Electronic apparatus and control method thereof | |
KR20190048597A (ko) | 딥 러닝을 이용한 이종 센서 정보 융합 장치 및 방법 | |
CN109800873B (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 |