CN112088383A - 神经网络构筑装置、信息处理装置、神经网络构筑方法及程序 - Google Patents
神经网络构筑装置、信息处理装置、神经网络构筑方法及程序 Download PDFInfo
- Publication number
- CN112088383A CN112088383A CN201980030667.7A CN201980030667A CN112088383A CN 112088383 A CN112088383 A CN 112088383A CN 201980030667 A CN201980030667 A CN 201980030667A CN 112088383 A CN112088383 A CN 112088383A
- Authority
- CN
- China
- Prior art keywords
- neural network
- model
- condition
- unit
- hyper
- 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 277
- 238000010276 construction Methods 0.000 title claims abstract description 48
- 230000010365 information processing Effects 0.000 title claims description 11
- 238000012545 processing Methods 0.000 claims abstract description 101
- 238000000034 method Methods 0.000 claims description 108
- 238000011156 evaluation Methods 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 25
- 238000013527 convolutional neural network Methods 0.000 claims description 18
- 238000003062 neural network model Methods 0.000 claims description 5
- 238000011176 pooling Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 210000002569 neuron Anatomy 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000009826 distribution Methods 0.000 description 14
- 238000005457 optimization Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Neurology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
神经网络构筑装置(10)具备:取得部(11),取得与嵌入式设备所具有的计算资源相关的资源信息以及与嵌入式设备所具有的处理性能相关的性能制约;设定部(12),基于资源信息设定神经网络的规模制约;生成部(13),基于规模制约生成神经网络的模型;以及判断部(14),关于生成的模型,判断是否满足性能制约,输出基于判断的结果的数据。
Description
技术领域
本发明涉及用于构筑神经网络的信息处理技术。
背景技术
作为能够更有效地设计适于由多个硬件进行的处理的神经网络的技术,公开了具备取得多个硬件设备所涉及的制约的取得部、以及判定神经网络是否满足该制约的判定部的信息处理装置及信息处理方法(参照专利文献1)。
在先技术文献
专利文献
[专利文献1]国际公布第2017/187798号
发明内容
发明所要解决的课题
在专利文献1所记载的技术中,作为最佳的神经网络的候选的各个神经网络是否满足上述的制约的判定对象。也就是说,在得到最佳的神经网络之前反复进行基于设计和判定的试错的次数庞大,耗费时间。
于是,在本公开中,提供对神经网络的候选进行缩减而有助于提高取得最佳的神经网络的效率的神经网络构筑装置。另外,在本公开中,提供在该神经网络构筑装置中使用的神经网络构筑方法及程序。
用于解决课题的手段
解决上述课题的本发明的一个方式所涉及的神经网络构筑装置具备:取得部,取得第一条件及第二条件,所述第一条件是为了决定候选超参数而使用的条件,所述候选超参数是要构筑的神经网络的超参数的候选,所述第二条件是与所述神经网络的模型应该具备的性能相关的条件;设定部,使用所述第一条件决定所述候选超参数;生成部,使用所述候选超参数生成神经网络的模型;以及判断部,关于生成的所述模型,执行是否满足所述第二条件的判断,输出基于所述判断的结果的数据。
另外,本发明的一个方式所涉及的神经网络构筑方法是由具备运算处理装置及存储装置的神经网络构筑装置中的所述运算处理装置执行的神经网络构筑方法,取得与嵌入式设备所具有的计算资源相关的资源信息以及与所述嵌入式设备所具有的处理性能相关的性能制约,基于所述资源信息设定神经网络的规模制约,基于所述规模制约生成神经网络的模型,关于生成的所述模型,判断是否满足所述性能制约,输出基于所述判断的结果的数据。
另外,本发明的一个方式所涉及的程序是由具备运算处理装置及存储装置的神经网络构筑装置中的所述运算处理装置执行的程序,通过由所述运算处理装置执行从而使所述神经网络构筑装置进行:取得与嵌入式设备所具有的计算资源相关的资源信息以及与所述嵌入式设备所具有的处理性能相关的性能制约,基于所述资源信息设定神经网络的规模制约,基于所述规模制约生成神经网络的模型,关于生成的所述模型,判断是否满足所述性能制约,输出基于所述判断的结果的数据。
此外,为了促进理解本公开,如下对用语进行说明。
Python:通用编程语言。在机器学习的领域中被广泛利用。
模型:针对被赋予的数据进行期望的预测/判断的数学式、函数。
神经网络(Neural Network):基于模仿人的脑内的神经细胞及神经回路的构造而成的人工的神经元(也被称为节点)的网络的模型。
权重:模型的参数之一,表示神经元彼此的耦合的强度。也被称为耦合荷重。
偏置:模型的参数之一,对与向神经元的输入值和权重相应地得到的输出进行调整。
在此,利用附图,包含神经元、权重及偏置的关系地表示神经网络的概念。图1是用于说明神经网络的概念的图。图1中例示的神经网络由各自包含由白圈表示的多个神经元的多个层构成。
最靠左的层是该神经网络的输入层,在该层的各神经元设置输入值。连结层间的神经元的线表示权重。各神经元的输入值被乘以权重之后向右一层的神经元输入。最靠右的层是该神经网络的输出层,该层的各神经元的值是该神经网络所进行的预测或者判断的结果。此外,偏置在图1中由施以阴影的圆表示,如上所述,与从左侧的层中的神经元输入的输入值分别被输入。
全耦合型神经网络:是层级型的神经网络,且具有各层的神经元与下一层的全部神经元耦合的构造。图1的神经网络是全耦合型神经网络。
学习:反复调整权重及偏置,以使与输入数据相应地被输出的预测/判断的结果接近正确。
学习数据:在生成的神经网络的模型的学习中使用的数据。与作为对象的问题相应地准备图像数据或者数值数据等。
推理模型:将学习完成的模型称为推理模型。预测/判断的精度通过使用该推理模型来评价。
推理:将在学习中未使用的未知的数据向推理模型赋予,得到预测/判断的结果。
超参数:在模型的参数之中,不是像权重那样通过学习而决定的参数,而是神经元的个数或网络的深度(层数)等需要在学习前事先决定的参数。通过超参数的设定,决定模型的构成。
评价完成模型:将在学习中未使用的未知的数据向推理模型赋予并评价了精度的模型。
发明效果
本公开中提供的神经网络构筑装置对满足各种条件的神经网络的候选进行缩减,有助于提高取得最佳的神经网络的效率。
附图说明
图1是用于说明神经网络的概念的图。
图2是表示实施方式所涉及的神经网络构筑装置的功能构成的一例的框图。
图3是实施方式所涉及的神经网络构筑装置的实现中使用的硬件构成的例子的框图。
图4是用于说明在神经网络的构筑中使用的超参数的分布的概念的图。
图5是表示由实施方式所涉及的神经网络构筑装置执行的神经网络构筑方法的处理次序的一例的流程图。
图6A是用于说明使用了贝叶斯优化的超参数的探索方法的概要的图。
图6B是用于说明使用了贝叶斯优化的超参数的探索方法的概要的图。
图6C是用于说明使用了贝叶斯优化的超参数的探索方法的概要的图。
图7是表示全耦合神经网络的构成例的图。
图8是表示卷积神经网络的构成例的图。
图9是表示低通滤波器的频率特性的例子的曲线图。
图10是表示由实施方式所涉及的神经网络构筑装置执行的神经网络构筑方法的处理次序的一例的流程图。
图11是表示由实施方式所涉及的神经网络构筑装置执行的神经网络构筑方法的处理次序的其他例之中的前部的一例的流程图。
图12是表示由实施方式所涉及的神经网络构筑装置执行的神经网络构筑方法的处理次序的其他例之中的后部的一例的流程图。
具体实施方式
(作为本发明的基础的见识等)
如上所述,在现有技术中,在满足硬件上的制约而且得到精度更高的神经网络之前,需要经过耗费长时间的试错。
另一方面,在电器产品或者汽车中搭载的所谓嵌入式设备(也有时被称为嵌入式器件或者嵌入式***,以下不对其特别进行区别而记作嵌入式设备)中,以追求高功能化作为背景也正在导入神经网络。进而,在IoT(Internet of Things:物联网)不断发展的当前的状况下,不仅是电器产品等而且在多种多样的物中,为了赋予包含通信的附加性的功能而不断搭载嵌入式设备。
对于这样的嵌入式设备,由于作为搭载对象的物的大小、用途、使用状况、价格等理由,施加了硬件上的制约。但是,在上述的现有技术中,用于在多种多样的物中使用的多种多样的嵌入式产品中工作的各种神经网络无法快速而且低成本地开发。
如上所述的硬件上的制约是一例,除此之外还可能存在由各种因素决定的制约。在上述的现有技术中,在得到满足这样的制约的神经网络之前也需要大量的试错。
本发明人们鉴于这样的课题,想到了更迅速地取得在满足嵌入式设备等的设计开发的过程中被施加的硬件的制约的基础上示出更高的精度的神经网络的候选的技术。
该技术所涉及的神经网络构筑装置具备:取得部,取得第一条件及第二条件,所述第一条件是为了决定候选超参数而使用的条件,所述候选超参数是要构筑的神经网络的超参数的候选,所述第二条件是与所述神经网络的模型应该具备的性能相关的条件;设定部,使用所述第一条件决定所述候选超参数;生成部,使用所述候选超参数生成神经网络的模型;以及判断部,关于生成的所述模型,执行是否满足所述第二条件的判断,输出基于所述判断的结果的数据。
由此,通过从将不可能满足条件的构成的对象除外来缩减后的候选中进行选择,能够有效地取得最佳的神经网络。
例如也可以是,所述设定部使用所述第一条件计算所述候选超参数的上限及下限中的至少一方,基于计算出的所述上限及下限中的至少一方决定1个以上的所述候选超参数。
由此,通过从将不可能满足期望的规模或者性能的构成的对象除外来缩减后的候选中进行选择,能够有效地取得最佳的神经网络。
另外,例如也可以是,所述第一条件包含与嵌入式设备所具有的计算资源相关的资源条件,所述设定部基于所述资源条件计算所述候选超参数的上限,将所述上限以下的超参数的至少一部分决定为所述候选超参数。
在该神经网络构筑装置中,生成的神经网络的模型的规模容纳于在基于规定的硬件规格的嵌入式设备中能够安装的范围内。因此,不需要像以往的方法那样反复进行基于设计和判定的试错,一旦生成的任何模型都作为是否满足第二条件的判断的对象而浪费较小。然后,满足第二条件的模型是进一步使其学习之后的精度的评价对象。也就是说,能够不像以往那样经过反复进行从设计开始的试错的过程,而高效地得到在上述的规定的嵌入式设备中能够安装而且作为精度的评价对象的模型的候选。采用别的表现,能够抑制在得到对于预定使用的嵌入式设备而言最佳的神经网络的模型之前的开销。
另外,例如也可以是,所述资源条件包含所述嵌入式设备的存储器大小的信息,所述设定部计算所述存储器大小所容纳的神经网络的超参数的上限作为所述候选超参数的上限,将所述上限以下的超参数的至少一部分决定为所述候选超参数。
由此,预先考虑被使用的嵌入式装置、以及对神经网络能否向该嵌入式装置安装影响大的要素。因此,生成的模型是在嵌入式装置中能够安装的模型,因此能够抑制其后的与第二条件相关的判断及预测精度评价的处理的多余执行。
另外,例如也可以是,所述第一条件包含向所述神经网络的输入数据的大小以及从所述神经网络的输出数据的大小中的至少一方的信息,所述设定部基于所述第一条件中包含的所述输入数据的大小以及所述输出数据的大小中的至少一方计算所述候选超参数的上限,将计算出的所述上限以下的超参数的至少一部分决定为所述1个以上的候选超参数。更具体而言也可以是,所述输入数据的大小是所述输入数据的维数,所述输出数据的大小是所述输出数据的维数,所述1个以上的候选超参数包含所述神经网络的分别1个以上的层数及节点数。另外也可以是,所述第一条件还包含表示所述神经网络是卷积神经网络的信息。另外也可以是,在该情况下,所述输入数据是图像数据,所述输入数据的大小是所述图像数据的像素数,所述输出数据的大小是所述图像数据被分类的类的数量,所述1个以上的候选超参数是所述卷积神经网络的层数、内核的大小、所述内核的深度、特征图的大小、池化层的窗大小、填充量及步长量之中的至少一个。另外也可以是,所述第一条件包含基于所述神经网络的模型的推理的精度目标,所述设定部使用所述精度目标计算所述候选超参数的下限,将计算出的所述下限以上的超参数的至少一部分决定为所述1个以上的候选超参数。
由此,作为最佳的神经网络的候选,能够有效地缩减为满足与要解决的问题相应地决定的条件的构成的神经网络。
另外,例如也可以是,所述第二条件包含与使用了神经网络的模型的推理处理的基准所需时间相关的时间条件,所述生成部基于所述资源条件计算使用了生成的所述模型的推理处理的所需时间,所述判断部通过计算出的所述所需时间与所述基准所需时间的比较,判断生成的所述模型是否满足所述第二条件。
由此,即使是满足规模性的制约的模型,也预先将不满足与用途相应地要求的性能的模型筛除,能够缩减进一步使其学习之后进行精度的评价的模型。例如也可以是,所述资源条件还包含所述嵌入式设备的运算处理装置的动作频率的信息,所述生成部取得与生成的所述模型的推理处理对应的部分的执行循环数,使用所述执行循环数及所述动作频率计算所述所需时间。由此,在要求的处理时间内无法进行规定的处理的模型被从精度的评价对象除外。因此,能够抑制其后的预测精度评价的处理的多余执行。此外,更具体而言也可以是,所述生成部生成与所述模型的推理处理对应的部分的基于所述运算处理装置相关的语言的第一源码,使用通过对所述第一源码进行编译而取得的中间码来取得所述执行循环数。另外,例如也可以是,所述神经网络构筑装置还具备学习部及输出部,所述取得部还取得所述神经网络的学习数据,所述判断部输出表示由所述生成部生成的模型之中的判断为满足所述第二条件的模型的数据,所述学习部使用所述学习数据执行所述判断部所输出的数据所表示的模型的学习,所述输出部输出学习完成的所述模型的至少一部分。
通过利用这样的学习来决定权重等参数,能够得到满足规模及性能的制约的神经网络的模型的向规定的嵌入式设备安装的候选。
另外,例如也可以是,所述学习部还执行学习完成的所述模型的预测精度评价,生成与执行的所述预测精度评价相关的数据。
由此,能够利用表示要安装的模型的候选之中的在精度上最佳的候选的信息。此外,更具体而言也可以是,所述学习部还生成与学习完成的所述模型的推理处理对应的部分的基于运算处理装置相关的语言的第二源码,使用所述第二源码执行所述预测精度评价。
另外,例如也可以是,与所述预测精度评价相关的数据是表示所述预测精度评价执行完成的模型的评价完成模型列表的数据,所述生成部、所述判断部或者所述学习部将通过使用与所述评价完成模型列表所表示的模型中的任一个模型相同组合的多个超参数而生成的模型,从处理对象除外。
由此,避免使用相同组合的超参数生成模型等处理,能够更有效地取得神经网络的模型的候选。
另外,例如也可以是,所述输出部将输出的所述模型以基于运算处理装置相关的语言的源码的形式输出。另外,例如也可以是,所述输出部将输出的所述模型以硬件描述语言的形式输出。
另外,例如也可以是,所述判断部在被执行的所述预测精度评价的成绩满足规定的条件的情况下,停止由所述生成部生成神经网络的模型。更具体而言也可以是,所述取得部取得表示所述神经网络的模型的规定水平的精度的精度目标,所述规定的条件是发生了在生成顺序连续的规定个数以上的模型中所述预测精度评价的成绩未达成所述精度目标的状况。
在该技术所涉及的神经网络构筑装置中,虽然也可以使用满足规模制约的超参数的全部组合来生成作为候选的模型,但有时能够预想到,在进行了某种程度的探索的时刻,即使进一步进行探索,得到更适合的模型的可能性也不高。在这样的情况下,通过停止进一步生成模型,能够抑制用于得到更适合的模型的性价比的降低。
另外,本发明的一个方式所涉及的信息处理装置具备运算处理部及存储部,所述存储部存储由上述的任一个神经网络构筑装置生成的模型,所述运算处理部从所述存储部将所述模型读出并执行。
像这样得到的信息处理装置能够抑制设计开发的成本,并且具有所追求的精度。
另外,例如,本发明的一个方式所涉及的神经网络构筑方法是由具备运算处理装置及存储装置的神经网络构筑装置中的所述运算处理装置执行的神经网络构筑方法,取得与嵌入式设备所具有的计算资源相关的资源信息以及与所述嵌入式设备所具有的处理性能相关的性能制约,基于所述资源信息设定神经网络的规模制约,基于所述规模制约生成神经网络的模型,关于生成的所述模型,判断是否满足所述性能制约,输出基于所述判断的结果的数据。
由此,通过从将不可能满足条件的构成的对象除外来缩减后的候选中进行选择,能够有效地取得最佳的神经网络。
另外,例如,本发明的一个方式所涉及的程序是由具备运算处理装置及存储装置的神经网络构筑装置中的所述运算处理装置执行的程序,通过由所述运算处理装置执行从而使所述神经网络构筑装置进行:取得与嵌入式设备所具有的计算资源相关的资源信息以及与所述嵌入式设备所具有的处理性能相关的性能制约,基于所述资源信息设定神经网络的规模制约,基于所述规模制约生成神经网络的模型,关于生成的所述模型,判断是否满足所述性能制约,输出基于所述判断的结果的数据。
由此,通过从将不可能满足条件的构成的对象除外来缩减后的候选中进行选择,能够有效地取得最佳的神经网络。
此外,这些整体性或者具体性的方式也可以通过***、集成电路或者计算机能够读取的CD-ROM等记录介质实现,也可以通过装置、***、方法、集成电路、计算机程序或者记录介质的任意组合实现。
以下,关于实施方式所涉及的神经网络构筑装置,参照附图进行说明。本公开中的实施方式表示本发明的一个具体例,所表示的数值、构成要素、构成要素的配置及连接方式、以及步骤(工序)及步骤的顺序等是一例,不对本发明进行限定。另外,在实施方式中的构成要素之中,未被包含在独立权利要求中的构成要素是能够任意附加的构成要素。另外,各图是示意图,不一定是严密的图示。
(实施方式)
[构成]
以下说明多个实施方式,首先关于这些实施方式中共通的神经网络构筑装置的构成进行说明。
图2是表示神经网络构筑装置10的功能构成的一例的框图。
神经网络构筑装置10具备取得部11、设定部12、生成部13、判断部14、学习部19和输出部15。
取得部11取得向神经网络构筑装置10赋予的、条件信息以及在生成的神经网络的模型的学习中使用的学习数据。
条件信息所表示的条件之一是在决定要构筑的神经网络的超参数的候选中使用的条件(以下也称为第一条件)。条件信息另外还表示与要构筑的神经网络的模型应该具备的性能相关的条件(以下也称为第二条件)。关于第一条件及第二条件,在各实施方式的详细说明中一并叙述。
学习数据是在神经网络的模型的学习中使用的数据。
取得部11例如作为用户的输入来受理条件信息及学习数据,或者从依照用户的操作或规定的程序的指示来访问的场所读出并取得条件信息及学习数据,或者根据像这样取得的信息通过计算等处理取得条件信息及学习数据。
设定部12基于第一条件,决定作为要构筑的神经网络的超参数的候选的候选超参数。关于该条件,举例后述。
生成部13使用设定部12所决定的候选超参数,生成神经网络的模型。
判断部14关于生成部13所生成的神经网络的模型,判断是否满足第二条件,输出基于该判断的结果的数据。例如,判断部14输出表示判断为满足第二条件的模型的列表数据。
学习部19使用学习数据执行由生成部13生成的模型的学习。作为学习的对象的模型例如从判断部14所输出的列表数据所示的模型中选择。另外,学习部19进行学习完成的模型、也就是说推理模型的预测精度评价,并输出与该预测精度评价相关的数据。例如,学习部19输出表示各推理模型的预测精度评价的成绩的数据。
输出部15输出推理模型的至少一部分。例如,参照学习部19所输出的数据所表示的上述的预测精度评价的成绩,输出其中满足规定的条件、例如成绩最好的推理模型的数据。用户能够得到像这样从输出部15输出的推理模型,作为满足向神经网络构筑装置10赋予的条件信息所表示的各条件的推理模型。
包含这些功能性的构成要素的神经网络构筑装置10例如通过个人计算机、服务器计算机或者云计算(以下也不对其进行区别而称为计算机1)实现。图3是用于说明实现神经网络构筑装置10的计算机1的硬件构成的例子的框图。
计算机1具备输入装置2、运算处理装置3、输出装置4、存储装置5及通信装置6,它们由总线7以能够相互通信的方式连接。
输入装置2例如是键盘、鼠标等指示设备、触摸屏,受理用户的指示或者数据的输入。
运算处理装置3例如是CPU(Central Processing Unit:中央处理单元)、GPU(Graphics Processing Unit:图形处理单元)或者DSP(Digital Signal Processor:数字信号处理器)等各种处理器,将存储装置5中存储的规定的程序读出并执行,对信息进行处理,另外,对作为硬件构成要素的各装置进行控制来实现上述的各功能构成要素。
输出装置4例如是显示器等显示设备,通过画面上显示的字符及图形促使用户输入数据,或者提示运算处理装置3所进行的处理的进展状况或者处理的结果。
存储装置5是RAM及ROM等存储介质,易失性或者非易失性地存储上述的程序、在该程序的执行过程中参照的数据、以及生成的中间数据及最终数据。
通信装置6例如在计算机1通过云计算实现的情况下,是包含用于在多个计算机间收发数据的输入输出端口的装置,例如包含网络接口卡。
在具有这样的硬件构成的神经网络构筑装置10中,通过由执行规定的软件的运算处理装置3对信息进行处理,或者对各装置进行控制,从而实现上述的各个功能性的构成要素。使用取得部11所取得的信息(数据),由设定部12、生成部13及判断部14及学习部19进行一系列处理,从输出部15输出适于期望的用途的神经网络的学习完成模型等。关于用于该神经网络的学习完成模型的输出之前(以下也称为神经网络的构筑)的一系列处理的次序,在各实施方式的详细说明中叙述。
接下来,关于通过在神经网络构筑装置10中使用上述的构成的说明中也提及的条件信息(第一条件及第二条件)如何取得最佳的神经网络的模型进行说明。
[神经网络的构筑中的条件]
以往,为了得到对于某种用途而言最佳的神经网络,针对作为其候选的各个神经网络,判定是否满足被要求的条件。因此,在得到最佳的神经网络之前的试错的反复次数庞大,耗费长时间。
本发明中在神经网络的构筑中使用的条件也可以说是对构筑的神经网络施加的制约。
第一条件是与神经网络的构成(规模)相关的制约。例如,在嵌入式设备中搭载的神经网络由有限的资源及硬件执行,其执行环境远比构筑神经网络的环境严苛。然而,在以往的神经网络构筑方法中,也生成不适于在这样的嵌入式设备中执行的规模的神经网络,并被包含在如上所述的判定的对象中。
于是,在本发明中,根据神经网络的执行环境中的CPU的频率、存储器(ROM/RAM)的大小等与硬件相关的信息,预先计算并设定作为与神经网络的规模相关的制约的上限,并生成神经网络。由此,能够节省超过该上限的神经网络的生成及判定所需的时间。另外,作为与神经网络的规模相关的别的制约,能够计算使用要构筑的神经网络希望解决的问题所需的最低限度的计算量,也就是说下限。通过在设定该下限之后生成神经网络,能够节省不满足该下限的神经网络的生成及判定所需的时间。
此外,上述举出的嵌入式设备的硬件所涉及的信息及与问题相应的所需计算量,是在与神经网络的规模相关的制约的计算中能够使用的对象的例子,与神经网络的规模相关的制约也可以根据其他指标计算。
另外,本发明中在神经网络的构筑中使用的第二条件是与神经网络的性能相关的制约。该制约关于被要求的精度或者处理时间等设定。作为基于该制约的信息,例如能够使用关于神经网络的执行环境(CPU频率、存储器大小等硬件信息)的信息。例如,通过使用该信息,计算所生成的神经网络处理问题所需的处理时间,仅使其处理时间满足制约的神经网络使用学习数据进行学习。也就是说,能够节省处理时间长的神经网络的学习所需的时间。
像这样,通过生成满足作为与要生成的神经网络的规模相关的制约的第一条件的神经网络,并仅将满足作为与所生成的神经网络的性能相关的制约的第二条件的神经网络设为学习处理的对象,能够得到削减在得到最佳的神经网络之前所需的时间的效果。
关于以往的方法与使用上述制约的本发明的方法在得到最佳的神经网络之前的差异,使用附图进行说明。图4是用于说明在神经网络的构筑中使用的超参数的分布的概念的图。
为了生成神经网络的模型,需要设定神经元的个数、层数等超参数。被生成的神经网络的构成由这些超参数的值决定,执行所需的资源或者处理问题所需的时间被该构成大为影响。在不考虑制约的以往的方法中,在图4中由十字表示的超参数的值有无穷多。此外,为了方便图示,在图4中用矩形表示了该情况下的超参数可能存在的范围,但实际的范围是无限大。也就是说,将无穷多的超参数作为对象全部逐个探索最佳的构成的神经网络,因此必然需要更多时间。
在本发明中,例如以与规模相关的制约作为上限,以与问题相应地决定的制约作为下限,限定要生成的超参数的范围。也就是说,在图4中,利用处于阴影的范围的有限的超参数(后述的候选超参数)生成神经网络。另外,不满足与性能相关的制约的神经网络被从学习的对象除外。由此,能够削减在得到最佳的构成的神经网络之前所需的时间。
此外,为了说明方便,上述说明了超参数是1个种类,但在实际上像与神经网络中包含的神经元的数量和层的数量分别相关的2个种类那样,也可以是多个,关于上述及以下的实施方式的说明中的候选超参数及超参数,应该适宜地也解读为多个种类的超参数的组合来理解。
在此,使用图5所示的流程图,说明在具有上述的构成的神经网络构筑装置10中执行的神经网络构筑的处理次序的例子。
首先,取得部11取得在神经网络构筑中使用的条件信息(第一条件、第二条件)及学习数据(S501)。取得部11例如通过使用由用户基于希望构筑的神经网络的用途等准备并向神经网络构筑装置10输入的信息来计算条件信息,从而取得该条件信息。或者,取得部11也可以取得由用户进行了该计算之后向神经网络构筑装置10输入的信息来作为条件信息。学习数据也是由用户基于希望构筑的神经网络的用途等准备并向神经网络构筑装置10输入,或者被置于神经网络构筑装置10能够访问的服务器等。
接下来,设定部12使用条件信息决定候选超参数(S502)。该候选超参数的决定例如也可以通过设定其值能够取的范围来进行。
接下来,生成部13生成步骤S502中决定的候选超参数的列表(以下也简称为候选列表)(S503)。
接下来,生成部13从上述的候选列表中探索最佳的候选超参数,使用探索出的候选超参数生成神经网络的模型(S504)。该探索中例如能够使用利用贝叶斯优化的方法。在该方法中,假定为神经网络的模型的预测精度的分布依据正态分布,使用基于该预测精度的分布计算的后验分布,从候选列表探索超参数。
图6A、图6B及图6C是用于说明使用了贝叶斯优化的超参数的该探索方法的概要的图。各图所示的曲线图表现超参数的值与基于使用该超参数生成的模型的假定的预测精度之间的对应。候选列表中包含的各超参数位于该曲线图区域的横轴上的某处。曲线图上的粗实线的曲线表示对于各超参数通过贝叶斯优化得到的预测精度的期待值。另外,虚线的曲线表示对于各超参数作为评价点应该得到的理想值。另外,各黑圆点及白圈表示对于1个超参数由后述的学习部19执行的预测精度的评价的评价点。关于阴影的区域留待后述。图6A、图6B及图6C分别表示该方法中的时序顺序的3个阶段。
在该探索中的初始的阶段中,没有评价点或者评价点极少,因此未评价的神经网络的模型、也就是说未评价的超参数多。因此,预测精度的期待值的不确定性大。各图的阴影的区域表示作为后验分布得到的对于各超参数具有一定以上的可能性的预测精度的范围。在图6A中,由于尚在初始的阶段,因此该阴影的区域比较大。
在下一阶段中,选择该不确定性大的超参数生成模型,并评价其预测精度。从新得到了预测精度的评价点(白圈),基于正态分布更新预测精度的分布。然后进一步更新不确定性,通过更新后不确定性大的超参数生成模型并进行评价。通过反复进行该处理,与超参数整体对应的不确定性变小。这通过比较图6A、图6B及图6C的阴影的区域的大小也能够得知。像这样,一边减小不确定性,一边探索预测精度更高的超参数。此外,如果随着探索进行而不确定性小到某种程度,则在评价完成的预测精度高的超参数附近集中地探索。
此外,在这样的方法中,也可以使用加入了与条件信息所表示的制约相应的适当性的探索方法。
接下来,判断部14确认是否利用处于候选列表的全部候选超参数都各完成了一次神经网络的探索(S505)。在未完成的情况下前进至步骤S506,在已完成的情况下转移至后述的步骤S510。
在步骤S505为否的情况下,判断部14确认在步骤S504中生成的模型是否是预测精度评价完成的模型(S506)。该确认基于后述的学习部19所生成的评价完成模型列表来进行。在未评价完成的情况下前进至步骤S507,在已完成的情况下转移至后述的步骤S510。
接下来,学习部19使用在步骤S501中取得的学习数据,执行未评价的模型的学习(S507)。
接下来,学习部19对学习完成的模型(推理模型)的预测精度进行评价(S508),将评价完成的推理模型追加至评价完成模型列表(S509)。步骤S506中判断部14所使用的是表示像这样由学习部19执行学习并执行了预测精度的评价后的模型的评价完成模型列表。另外,评价完成的推理模型作为从神经网络构筑装置10输出的推理模型被保存至存储装置5。
最后,输出部15输出在步骤S509中保存至存储装置5的评价完成的推理模型(S510)。但是,输出的对象不限定于此,也可以是预测精度最高的推理模型以及满足第二条件的全部推理模型。另外,例如在没有满足第二条件的推理模型的情况下,输出部15也可以输出警告。此外,在此的输出,例如指的是在显示器等输出装置4中显示、向存储装置5或者神经网络构筑装置10的外部的规定的保存场所写入。
至此,在神经网络构筑装置10中执行的神经网络构筑方法的处理结束。此外,上述的处理次序是一例,能够进行各种变形。
例如,在步骤S505为“是”的情况或者步骤S506为“是”的情况下经过步骤S510的输出而处理结束,但结束之前的次序不限定于此。
例如也可以是,在步骤S506中,判断精度的评价的成绩是否满足规定的条件,与该判断的结果相应地进行步骤S510的输出。作为规定的条件的例子,也可以是发生了生成顺序连续的规定的个数以上的模型的预测精度评价的成绩未达到精度目标的状况、或者发生了生成顺序连续的规定的个数以上的模型的预测精度评价的成绩的变化未出现规定大小以上的上升的状况等。这对应于如下情况:能够预想到,在进行了某种程度的探索的时刻,即使进一步进行探索,得到更适合的模型的可能性也不高。在这样的情况下,通过停止进一步生成模型并停止探索,能够缩短用于得到适于期望的用途的模型的时间,进而抑制性价比的降低。作为另外的别的例子,也可以是满足某精度目标的模型的个数达到规定的值。
另外,在步骤S505的判断中,也可以不是根据利用全部超参数的探索是否完成,而是根据利用规定的个数或者比例以上的探索是否完成来进行判断。或者也可以是,在使用了贝叶斯优化的探索进行到某种程度而不确定性小到某种程度的情况下,将评价完成的预测精度低的超参数的附近从探索的对象除外之后进行步骤S505的判断。
另外,在步骤S509或者S510中,预测精度评价的成绩也可以是保存或者输出的对象。该成绩例如也可以被保存在评价完成模型列表的一部分或者其他列表中。或者也可以是,在评价完成模型列表或者该其他列表中,还包含相当于各推理模型的精度是否达到目标或者各推理模型的达成率的信息。
另外,也可以替代在步骤S506中使用评价完成模型进行确认,而基于根据候选列表或者个别的列表是否是提取完成的超参数(的组合)来进行确认。
另外,制约等的更详细的例子也在以下的各实施方式的说明中举出。
[实施方式1]
至此,关于神经网络的构筑中的条件(制约)举出了几个种类的例子。在以下说明的各实施方式中,关于这些种类的制约使用具体例进行说明。作为实施方式1,关于与使用神经网络希望解决的问题相应地决定的制约进行说明。
<与问题相应地决定的上限的例子>
在使用如图7中表示了构成例的全耦合神经网络进行分类或者回归等推理的情况下,模型被设计为缩略输入数据。因此,能够基于输入维数与输出维数,决定中间层的层数及节点数等超参数的上限。即,各中间层的节点数的上限是从前层的节点数减1而得到的数量。另外,中间层数的上限是如下数量:从包含比输入层少1个的节点的中间层排列节点数逐次减1的中间层,直到包含比输出层多1个的节点的中间层为止能够配置的数量。
另外,在使用卷积神经网络进行分类或者回归等推理的情况下,如图8的构成例所示,模型被设计为卷积后或者池化后的特征图像(也称为特征图)比向各卷积层输入的大小(图中“30×30”等数字)小。因此,中间层的数量的上限在能够维持可卷积的特征图像的大小的范围内决定。
<与问题相应地决定的下限的例子>
在使用卷积神经网络进行图像的复原(噪声去除等)的情况下,通过赋予希望通过神经网络截断的成分(或者希望使其通过的成分)的频率特性,能够决定要生成的神经网络的中间层数或者各层的内核大小等超参数的下限。关于该下限的设定,使用具体性的例子进行说明。
在将“将截断频率f以上的噪声以g%以上截断的(以后称为条件X)”噪声去除滤波器作为神经网络生成的情况下,按照下述的次序决定超参数的下限。
(次序1)求出满足条件X的单一的低通滤波器。
在此,低通滤波器意味着对于某信号使比截断频率低的频率的成分几乎不衰减地通过,而截断比截断频率高的频率的成分的滤波器。纯粹的低通滤波器虽然无法仅筛选噪声并截断,但为了用作评估期望的噪声的截断性能的上限的基准而执行该次序。
低通滤波器的频率特性|O/I|如下述的式1所示,根据滤波器的内核大小n、频率ω及内核系数ki(0≤i≤n-1)被求出。
[数1]
在此,如果将内核系数ki假定为高斯分布(所谓高斯滤波器),则在内核大小n=3的情况下,频率特性|O/I|如表示低通滤波器的频率特性的图9的曲线图中实线的曲线所示,成为在奈奎斯特频率fN处振幅为0的cos曲线(也就是说,奈奎斯特频率的成分被100%截断)。具有在0.5fN处以50%截断的频率特性的该低通滤波器虽然满足f=0.5fN,g=40%的情况下的条件X,但不满足f=0.5fN,g=60%的情况下的条件X。另外,内核大小n=5的情况下的低通滤波器的频率特性|O/I|如图9的曲线图中虚线的曲线所示。在0.5fN处以75%截断的该低通滤波器在f=0.5fN,g=60%时也满足条件X。
像这样,通过假定内核系数的分布,能够决定满足条件X的单一的低通滤波器的内核大小n的下限。
(次序2)将单一的低通滤波器分解为卷积神经网络。
考虑将次序1中求出的单一的低通滤波器通过多个滤波器的串联连接来构成。例如,如式2所示,内核大小n=5的高斯滤波器能够通过连接2级的内核大小n=3的高斯滤波器来构成。
[数2]
同样,如以下的式3所示,内核大小n的滤波器能够通过连接m级的内核大小n′的滤波器来构成。
[数3]
n=1+(n′-1)×m…(式3)
在此,m相当于卷积神经网络的中间层(卷积层)的层数,通过使其追随于内核大小n′的增减而变化,实现与内核大小n的滤波器相当的频率特性。
像这样,通过在次序1中根据条件X决定单一低通滤波器的内核大小n的下限,在次序2中进而决定该滤波器内核大小n′与中间层数m的组合,能够决定要构筑的卷积神经网络的超参数的下限。
此外,如果是作为纯粹的低通滤波器使用的卷积神经网络,则与一级的n=5的内核的卷积神经网络相比,连接2级的n=3的内核而构成的卷积神经网络能够维持性能并且抑制计算量。但是,最终构筑的是作为噪声去除滤波器使用的卷积神经网络,在噪声去除性能上不能说后者一定更优异。像这样决定的超参数是作为最终构筑的卷积神经网络的超参数的候选的候选超参数,通过对使用候选超参数生成的各模型进行评价来取得卷积神经网络的最佳的模型。
以上,关于与使用神经网络希望解决的问题相应地决定超参数的上限或者下限的方法,使用具体例进行了说明。接下来,关于用于通过神经网络构筑装置10实现该方法的处理次序进行说明。一边再次参照上述的图5的流程图,一边结合本实施方式更具体地说明该处理次序。此外,关于与上述的图5的说明共通的部分,有时简化说明。
首先,取得部11取得在神经网络构筑中使用的条件信息及学习数据(S501)。条件信息例如是与使用卷积神经网络要解决的问题相关的信息,如果是上述的方法的例子,则能够将在超参数的上限的设定中使用的输入数据的维数及输出数据的维数、或者输入图像的大小、在超参数的下限的设定中使用的截断频率f及最低截断率g,作为第一条件使用。取得部11根据这样的信息,计算要构筑的神经网络的候选超参数的上限或下限或者双方来取得第一条件。
接下来,设定部12决定候选超参数(S502)。在此决定的候选超参数例如是取由取得部11取得的上述的下限以上的值的超参数、取上限以下的值的超参数、或者取下限以上且上限以下的值的超参数。
接下来,生成部13生成候选列表(S503)。
接下来,生成部13从上述的候选列表中探索最佳的候选超参数,使用探索出的候选超参数生成神经网络的模型(S504)。在候选列表中包含的候选超参数是取上限以下的值的超参数的情况下,例如也可以利用上述的使用了贝叶斯优化的探索方法。在候选列表中包含的候选超参数是取下限以上的值的超参数的情况下,例如将具有由下限的超参数决定的构成的神经网络作为基础,生成为了确保更高的性能而增加了节点数或者层数等的构成的神经网络来探索最佳点。例如,也可以使用遗传算法来更新神经网络的构成,从而探索最佳点。
步骤S505以后与上述的说明同样地进行处理。
[实施方式2]
作为实施方式2,关于考虑将神经网络主要向嵌入式设备安装而CPU、存储器(ROM/RAM)的信息被作为条件信息输入的情况进行说明。
图10是神经网络构筑装置10所进行的本实施方式中的处理次序的流程图。以下,关于相当于上述的图5的流程图所示的处理次序的步骤的步骤,使用共通的参照标记表示,有时简化说明。
首先,取得部11取得在神经网络构筑中使用的条件信息及学习数据(S501)。
条件信息包含嵌入式设备的CPU频率、存储器(ROM,RAM)大小、存储器转送速度等资源信息。资源信息中包含的信息不限定于此,也可以包含嵌入式设备所涉及的其他信息。该资源信息是本实施方式中的第一条件的例子。另外,在条件信息中,包含与在嵌入式设备中执行神经网络时的性能相关的条件(在本实施方式中也称为性能制约)。作为性能制约的例子,举出设为目标的处理时间,可以是在嵌入式设备中执行的处理被要求的各种性能所涉及的信息。该性能制约是本实施方式中的第二条件的例子。这样的性能制约例如使用由用户基于嵌入式设备或者该嵌入式设备被组装入的产品的规格等准备并向神经网络构筑装置10输入的性能制约。
接下来,设定部12基于资源信息决定候选超参数。(S502)。例如,设定部12能够根据已知的ROM大小使用下述的式4计算全耦合型神经网络的候选超参数的值能够取的范围。
[数4]
在式4中,SROM表示ROM大小,NLi表示各层的神经元数,SDATA表示处理对象的数据类型的大小。另外,ROM大小根据SDATA而变动,因此通过除以SDATA,能够计算与各数据类型对应的能够嵌入的神经网络的耦合荷重的最大个数。
接下来,生成部13生成包含步骤S502中决定的候选超参数的候选列表(S503)。
接下来,生成部13从候选列表中探索用于决定适于上述的嵌入式设备的神经网络的构成的超参数,生成基于探索出的候选超参数的神经网络的模型(S504)。该探索中例如使用上述的利用贝叶斯优化的方法。
接下来,生成部13对相当于神经网络的推理处理的部分进行转换,生成临时利用的源码(S515)。神经网络的模型直到这之前的阶段为止例如通过作为高级语言的Python构筑,但在该步骤中被转换为与运算处理装置更相关(更依赖于运算处理装置)的语言、例如C语言的源码。进行这样的转换的目的是为了:作为在下一步骤中计算处理时间的准备,通过设为被广泛用作嵌入式设备的程序的语言、在此为C语言,从而接近于实际的执行环境,来得到更准确的所需时间。
接下来,生成部13使用通过步骤S515中的转换而得到的源码来计算推理处理的所需时间(S516)。更具体而言,生成部13使用对该源码进行编译而生成的中间码,取得推理处理所需的执行循环数。然后,生成部13进一步使用在步骤S501中取得的资源信息中包含的运算处理装置的动作频率等对处理时间有影响的信息,计算该执行循环数的处理的所需时间。
接下来,判断部14判断在步骤S516中计算出的所需时间是否满足在步骤S501中取得的条件信息所包含的第二条件、也就是说作为性能制约的设为目标的处理时间(S517)。在不满足性能制约的情况下(S517:“否”),该模型被丢弃(S518)。在丢弃模型后,确认是否利用处于候选列表中的全部候选超参数都各完成了一次神经网络的探索(S505)。在未完成的情况下,处理次序返回步骤S504,在已完成的情况下转移至后述的步骤S510。
另外,在满足性能制约的情况下(S517:“是”),确认该模型是否是预测精度评价完成的模型(S506)。该确认基于后述的学习部19所生成的评价完成模型列表来进行。在未评价完成的情况下,转移至下一步骤S507,在评价完成的情况转移至后述的步骤S510。
接下来,由学习部19使用在步骤S501中取得的学习数据执行模型的学习(S507)。
接下来,学习部19对学习完成的模型(推理模型)进行转换来生成源码(S525)。在此转换为源码的目的基本上与步骤S515相同,是为了接近于实际的执行环境。因此,例如由Python构筑的模型被转换为C语言的源码。但是,在此不是为了评价处理时间,而是为了在接近实际的嵌入式设备的环境中确认推理模型的预测精度。另外,在此通过转换而生成的基于C语言等与运算处理装置更相关(更依赖于运算处理装置)的语言的源码,作为从神经网络构筑装置10输出的推理模型被保存至存储装置5。
接下来,学习部19使用通过步骤S525中的转换而得到的源码,对推理模型的预测精度进行评价(S508)。如果评价结束,则学习部19将该推理模型作为评价完成模型追加至评价完成模型列表(S509)。步骤S506中判断部14所使用的是表示像这样由学习部19执行学习并执行了预测精度的评价后的模型的评价完成模型列表。
如果各一次的模型的评价都已结束,则输出部15输出存储装置5中保存的推理模型的源码。但是,输出的对象不限定于此,如上所述,也可以输出所保存的多个模型之中的满足规定的条件的模型,也可以输出各推理模型的预测精度的成绩。另外,在没有满足作为第二条件的性能制约的推理模型的情况下,输出部15也可以输出警告。
至此,由神经网络构筑装置10执行的本实施方式中的神经网络构筑方法的处理结束。
此外,上述的处理次序是一例,能够进行各种变形。例如,关于图5的处理次序的各变形例也能够适用于本实施方式的处理次序。
[实施方式3]
实施方式3也与实施方式2同样是将神经网络主要向嵌入式设备安装的情况,以与实施方式2的差异点作为中心进行说明。
在本实施方式中,在神经网络的探索中的超参数的提取中,替代从最初利用贝叶斯优化,而一度通过不利用贝叶斯优化的方法取得与多个超参数对应的预测精度,并执行使用该预测精度作为先验分布的贝叶斯优化。
图11及图12是神经网络构筑装置10所进行的本实施方式中的处理次序的流程图。以下,关于相当于上述的图5或者图10的流程图所示的处理次序的步骤的步骤,使用共通的参照标记表示,有时简化说明。
取得部11所进行的条件信息及学习数据的取得(S501)、设定部12所进行的候选超参数的决定(S502)、以及及生成部13所进行的候选列表的生成(S503)与实施方式2是共通的。
接下来,生成部13从候选列表的候选超参数中例如随机地进行提取,生成基于提取出的候选超参数的神经网络的模型(S604)。像这样使用提取出的候选超参数生成神经网络的模型的理由在于,如实施方式2那样使用探索出的候选超参数生成的多个模型的预测精度有可能成为大致相同而且不能说一定高的结果。于是,通过基于适宜地区分使用实施方式2中使用的方法与本实施方式中使用的方法来选择的候选超参数生成神经网络的模型,谋求更高效地生成精度不同的模型。
生成部13接下来所进行的源码的生成(S515)、推理处理的所需时间的计算(S516)与实施方式2是共通的。
接下来,判断部14所进行的与性能制约相关的判断(S517)与实施方式2是共通的,但与其结果相应地进行的下一次序的一部分不同。在不满足性能制约的情况下的该模型的丢弃(S517:“否”,S518)与实施方式2是共通的。但是,在满足性能制约的情况下(S517:“是”),不执行是否是评价完成模型的确认(实施方式2的步骤S506),而转移至由学习部19进行的处理。
接下来,学习部19所进行的模型的学习(S507)、源码的生成(S525)、预测精度的评价(S508)及向评价完成模型列表的追加(S509)与实施方式2是共通的。
接下来,在实施方式2中,转移至下一候选超参数的探索及模型的生成(S504),但在本实施方式中,由判断部14判断预测精度评价完成的推理模型的个数是否达到了规定个数(S606)。
该规定个数也是在后述的基于贝叶斯优化的超参数探索的次序中使用的先验分布的要素的个数,能够使用各种决定方法。例如,判断部14也可以通过与候选超参数的个数相应地计算来决定。更具体而言,也可以以候选超参数的个数越多则个数越大的方式动态地决定。或者,规定个数也可以由用户决定,由取得部11取得用户作为规定个数向神经网络构筑装置10输入的值,并由判断部14使用。
在评价完成的推理模型的个数未达到的情况下(S606:“否”),处理次序返回步骤S604,生成部13提取下一候选超参数并生成神经网络的模型。在达到的情况下(S606:“是”),转移至由生成部13进行的下一处理(S1504)。
另一方面,在丢弃模型(S518)之后,判断部14确认是否利用处于候选列表的全部候选超参数都各完成了一次神经网络的提取(S605)。在未完成的情况下(S605:“否”),处理次序返回步骤S604,生成部13提取下一候选超参数并生成神经网络的模型。在已完成的情况下(S605:“是”),转移至由输出部15进行的输出(图12的S510,与实施方式2共通)。
在步骤S606为“是”的情况下,关于满足性能制约的规定个数的推理模型,预测精度评价完成,接下来,执行基于以这些推理模型的预测精度作为先验分布的贝叶斯优化的探索(S1504)。图12的流程图表示包含该探索的以后的处理次序的一例。此外,图12中的步骤S1504相当于实施方式2的步骤S504,步骤S1515相当于实施方式2的步骤S515。以下,实施方式2的步骤S516~S518、S505~S507、S525、S508、S509同样作为本实施方式中的步骤S1516~S1518、S1505~S1507、S1525、S1508、S1509执行。
另一方面,在步骤S606为“否”的情况下,在使用从候选列表提取的候选超参数生成的模型中满足性能制约的模型未达到规定个数。在该情况下,在步骤S510中,例如也可以通过将表示该情况的通知、或者与信息评价完成模型列表中包含的模型的预测精度相关的信息(成绩)向用户提示或者记录至日志,从而执行输出。另外,在信息评价完成模型列表中一个模型也不存在时,也可以通过将表示该情况的警告等对用户提示来执行步骤S510的输出。
至此,由神经网络构筑装置10执行的本实施方式中的神经网络构筑方法的处理结束。
此外,上述的处理次序是一例,能够进行各种变形。例如,关于图5的处理次序的各变形例也能够适用于本实施方式的处理次序。
另外,在步骤S604的说明中,从候选列表提取候选超参数的提取方法设为随机,但不限定于此。例如也可以从按照值的升序或者降序排列的候选超参数中任意地选择最初的1个,其后提取隔开规定的间隔的位次的候选超参数。或者,提取的候选超参数也可以由用户人为地选择。这样的方法也不依赖于后验分布,因此能够得到与随机的提取同样的效果。
(其他实施方式等)
如上,作为本发明所涉及的技术的例示说明了各实施方式。但是,本发明所涉及的技术不限定于该说明的内容,也能够适用于适宜地进行了变更、置换、附加、省略等的实施方式。例如,如下的变形例也包含在本发明的一个实施方式中。
(1)在上述实施方式中,作为在神经网络的模型的构筑中使用的语言举出了Python,作为在嵌入式设备中动作的模型的语言举出了C语言,但这均以在常见的设计开发环境中使用的语言为例,分别不限定于这些语言。例如在处理时间的计算中,也可以按照尽可能也包含语言地与实际使用的嵌入式设备中的执行环境能够近似的方式进行模拟。
(2)作为决定模型的规模的上限的第一条件之一的存储器大小不限定于没有幅度的1个值。例如在采用的嵌入式设备的候选在存储器大小上存在差异而有多个的情况下,也可以作为包含这些嵌入式设备的存储器大小的范围来赋予。在该情况下,作为预测精度评价的结果,例如也可以表示存储器大小与能够达成的预测精度之间的对应。关于存储器大小以外的第一条件也是同样的,例如在被赋予了运算处理装置的动作速度的范围的情况下,也可以表示该动作速度与处理时间的对应。
(3)上述实施方式中表示的神经网络构筑装置的功能性的构成要素间的功能分担不过是一例,也可以任意地变更分担。
(4)上述实施方式中表示的各种处理的次序(例如图5、图10至图12所表示的次序等)的执行顺序不一定限定为如上所述的顺序,在不脱离发明的主旨的范围内,能够调换执行顺序,或者并列进行多个次序,或者省略其次序的一部分。例如,实施方式1中作为步骤S506执行的是否是评价完成的模型的确认也可以在步骤S504与S505之间实施。另外,实施方式2中作为步骤S506执行的是否是评价完成的模型的确认也可以在步骤S504与S515之间、步骤S515与S516之间、或者步骤S516与S517之间实施。在该情况下,在是评价完成的模型时,也可以跳过源码的生成(S515)、推理处理的所需时间的计算(S516)或者与性能制约相关的判断(S517)。另外,作为实施方式2中的步骤S510中执行的判断的其他例而举出的将精度的评价的成绩对照于规定的条件而进行的判断也可以紧接着步骤S508或者步骤S509之后执行。然后也可以在满足规定的条件的情况下,进行步骤S510的输出。在这样的变形所涉及的处理次序的情况下,也可以省略步骤S506。这些变形关于图12中表示的实施方式3的处理次序也能够适用。
(5)在上述实施方式的说明中,举出了输出部15将推理模型以基于运算处理装置相关的语言的源码的形式输出的例子,但作为其他形式的例子,也可以输出进一步转换为硬件描述语言的推理模型。由此,构筑的推理模型能够通过基于专用的逻辑电路的硬件实现。
(6)在上述实施方式的说明中,作为由设定部12决定的对象,举出了作为候选超参数的神经网络的深度及节点数,但不限定于此。设定部12例如可以将卷积神经网络中的与神经网络的深度有关的其他参数也作为本发明中的超参数对待,并也进行与它们相关的决定。作为这样的参数的更具体性的例子,可以举出内核的大小、内核的深度、特征图的大小、池化层的窗大小、填充量及步长量。
(7)上述实施方式中的构成各装置的构成要素的一部分或者全部也可以由1个***LSI(Large Scale Integration:大规模集成电路)构成。***LSI是将多个构成部集成于1个芯片上而制造的超多功能LSI,具体而言,是包含微处理器、ROM、RAM等而构成的计算机***。在所述RAM中记录着计算机程序。通过由所述微处理器依照所述计算机程序进行动作,***LSI达成该功能。
另外,构成上述各装置的构成要素的各部既可以个别地单芯片化,也可以以包含一部分或者全部的方式单芯片化。另外,在此设为***LSI,但根据集成度的差异,也有时称为IC、LSI、超级LSI、特级LSI。另外,集成电路化的方法不限于LSI,也可以由专用电路或者通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field Programmable GateArray:现场可编程逻辑门阵列)或能够重构LSI内部的电路单元的连接或设定的可重构处理器。进而,如果随着半导体技术的进步或者衍生的其他技术而出现了置换LSI的集成电路化的技术,则当然也可以使用该技术进行功能模块的集成化。生物技术的适用等是有可能的。
(8)构成上述各装置的构成要素的一部分或者全部也可以由在各装置上能够拆装的IC卡或者单体的模组构成。所述IC卡或者所述模组是由微处理器、ROM、RAM等构成的计算机***。所述IC卡或者所述模组也可以包含上述的超多功能LSI。通过微处理器依照计算机程序动作,所述IC卡或者所述模组达成该功能。该IC卡或者该模组也可以具有耐篡改性。
(9)作为本发明的一个方式,例如也可以是包含图5、图10至图12所示的处理次序的全部或者一部分在内的神经网络构筑方法。例如,该神经网络构筑方法是在具备运算处理装置及存储装置的神经网络构筑装置中由该运算处理装置执行的神经网络构筑方法,包含如下步骤:取得与嵌入式设备所具有的计算资源相关的资源信息以及与该嵌入式设备所具有的处理性能相关的性能制约;基于上述的资源信息设定神经网络的规模制约;基于规模制约生成神经网络的模型;以及关于生成的该模型,判断是否满足上述的性能制约,输出基于该判断的结果的数据。
另外,作为本发明的一个方式,也可以是用于由计算机实现该神经网络构筑方法所涉及的规定信息处理的程序(计算机程序),也可以是由程序构成的数字信号。
另外,作为本发明的一个方式,也可以是将上述的计算机程序或者数字信号记录于计算机能够读取的记录介质、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)盘)、半导体存储器等的方式。
另外,也可以是这些记录介质中记录的上述的数字信号。另外,作为本发明的一个方式,也可以是将上述的程序或者数字信号经由电气通信线路、无线或者有线通信线路、以互联网为代表的通信网络、数据广播等而传送的方式。
另外,作为本发明的一个方式,也可以是具备微处理器和存储器的计算机***,该存储器记录有上述的程序,该微处理器依照上述的程序动作。另外,也可以通过将上述的程序或上述的数字信号记录至上述的记录介质并移送,或者通过将上述的程序或上述的数字信号经由上述的通信网络等移送,从而由独立的其他计算机***实施。
另外,作为本发明的一个方式,也可以是执行通过使用上述实施方式或者其变形例所涉及的装置、方法或者程序而生成的神经网络的模型的信息处理装置。信息处理装置具备运算处理部及存储部,在该存储部中写入该模型,运算处理部将该模型读出并执行。例如设想如下ECU(Electronic Control Unit:电子控制单元),该ECU包含将由图像传感器取得的图像作为输入并输出表示识别出的物体的信息的模型。
(10)通过将上述实施方式及上述变形例中表示的各构成要素及功能任意组合而实现的方式也包含在本发明的范围中。
工业实用性
本发明能够用作在神经网络的模型的构筑中在短时间内得到更恰当的模型的候选的技术。
附图标记说明:
1 计算机
2 输入装置
3 运算处理装置
4 输出装置
5 存储装置
6 通信装置
7 总线
10 神经网络构筑装置
11 取得部
12 设定部
13 生成部
14 判断部
15 输出部
19 学习部。
Claims (23)
1.一种神经网络构筑装置,具备:
取得部,取得第一条件及第二条件,所述第一条件是为了决定候选超参数而使用的条件,所述候选超参数是要构筑的神经网络的超参数的候选,所述第二条件是与所述神经网络的模型应该具备的性能相关的条件;
设定部,使用所述第一条件决定所述候选超参数;
生成部,使用所述候选超参数生成神经网络的模型;以及
判断部,关于生成的所述模型,执行是否满足所述第二条件的判断,输出基于所述判断的结果的数据。
2.如权利要求1所述的神经网络构筑装置,
所述设定部使用所述第一条件计算所述候选超参数的上限及下限中的至少一方,基于计算出的所述上限及下限中的至少一方决定1个以上的所述候选超参数。
3.如权利要求2所述的神经网络构筑装置,
所述第一条件包含与嵌入式设备所具有的计算资源相关的资源条件,
所述设定部基于所述资源条件计算所述候选超参数的上限,将所述上限以下的超参数的至少一部分决定为所述候选超参数。
4.如权利要求3所述的神经网络构筑装置,
所述资源条件包含所述嵌入式设备的存储器大小的信息,
所述设定部计算所述存储器大小所容纳的神经网络的超参数的上限作为所述候选超参数的上限,将所述上限以下的超参数的至少一部分决定为所述候选超参数。
5.如权利要求2所述的神经网络构筑装置,
所述第一条件包含向所述神经网络的输入数据的大小以及从所述神经网络的输出数据的大小中的至少一方的信息,
所述设定部基于所述第一条件中包含的所述输入数据的大小以及所述输出数据的大小中的至少一方计算所述候选超参数的上限,将计算出的所述上限以下的超参数的至少一部分决定为所述1个以上的候选超参数。
6.如权利要求5所述的神经网络构筑装置,
所述输入数据的大小是所述输入数据的维数,所述输出数据的大小是所述输出数据的维数,
所述1个以上的候选超参数包含所述神经网络的分别1个以上的层数及节点数。
7.如权利要求5所述的神经网络构筑装置,
所述第一条件还包含表示所述神经网络是卷积神经网络的信息。
8.如权利要求7所述的神经网络构筑装置,
所述输入数据是图像数据,
所述输入数据的大小是所述图像数据的像素数,所述输出数据的大小是所述图像数据被分类的类的数量,
所述1个以上的候选超参数包含所述卷积神经网络的层数、内核的大小、所述内核的深度、特征图的大小、池化层的窗大小、填充量及步长量之中的至少一个。
9.如权利要求2至8中任一项所述的神经网络构筑装置,
所述第一条件包含基于所述神经网络的模型的推理的精度目标,
所述设定部使用所述精度目标计算所述候选超参数的下限,将计算出的所述下限以上的超参数的至少一部分决定为所述1个以上的候选超参数。
10.如权利要求3、4以及引用权利要求3或4的权利要求9中任一项所述的神经网络构筑装置,
所述第二条件包含与使用了神经网络的模型的推理处理的基准所需时间相关的时间条件,
所述生成部基于所述资源条件计算使用了生成的所述模型的推理处理的所需时间,
所述判断部通过计算出的所述所需时间与所述基准所需时间的比较,判断被生成的所述模型是否满足所述第二条件。
11.如权利要求10所述的神经网络构筑装置,
所述资源条件还包含所述嵌入式设备的运算处理装置的动作频率的信息,
所述生成部取得与生成的所述模型的推理处理对应的部分的执行循环数,使用所述执行循环数及所述动作频率计算所述所需时间。
12.如权利要求11所述的神经网络构筑装置,
所述生成部生成与所述模型的推理处理对应的部分的基于所述运算处理装置相关的语言的第一源码,使用通过对所述第一源码进行编译而取得的中间码来取得所述执行循环数。
13.如权利要求1至12中任一项所述的神经网络构筑装置,
所述神经网络构筑装置还具备学习部及输出部,
所述取得部还取得所述神经网络的学习数据,
所述判断部输出表示由所述生成部生成的模型之中的判断为满足所述第二条件的模型的数据,
所述学习部使用所述学习数据执行所述判断部所输出的数据所表示的模型的学习,
所述输出部输出学习完成的所述模型的至少一部分。
14.如权利要求13所述的神经网络构筑装置,
所述学习部还执行学习完成的所述模型的预测精度评价,生成与执行的所述预测精度评价相关的数据。
15.如权利要求14所述的神经网络构筑装置,
所述学习部还生成与学习完成的所述模型的推理处理对应的部分的基于运算处理装置相关的语言的第二源码,使用所述第二源码执行所述预测精度评价。
16.如权利要求14或者15所述的神经网络构筑装置,
与所述预测精度评价相关的数据,是表示所述预测精度评价执行完成的模型的评价完成模型列表的数据,
所述生成部、所述判断部或者所述学习部将通过使用与所述评价完成模型列表所表示的模型中的某一个模型相同组合的多个超参数而生成的模型,从处理对象除外。
17.如权利要求13至16中任一项所述的神经网络构筑装置,
所述输出部将输出的所述模型以基于运算处理装置相关的语言的源码的形式输出。
18.如权利要求13至16中任一项所述的神经网络构筑装置,
所述输出部将输出的所述模型以硬件描述语言的形式输出。
19.如权利要求15或者16所述的神经网络构筑装置,
所述判断部在被执行的所述预测精度评价的成绩满足规定的条件的情况下,停止由所述生成部生成神经网络的模型。
20.如权利要求19所述的神经网络构筑装置,
所述取得部取得表示所述神经网络的模型的规定水平的精度的精度目标,
所述规定的条件是发生了在生成顺序连续的规定个数以上的模型中所述预测精度评价的成绩未达成所述精度目标的状况。
21.一种信息处理装置,具备运算处理部及存储部,
所述存储部存储由权利要求1至18中任一项所述的神经网络构筑装置生成的模型,
所述运算处理部从所述存储部将所述模型读出并执行。
22.一种神经网络构筑方法,是由具备运算处理装置及存储装置的神经网络构筑装置中的所述运算处理装置执行的神经网络构筑方法,
取得与嵌入式设备所具有的计算资源相关的资源信息以及与所述嵌入式设备所具有的处理性能相关的性能制约,
基于所述资源信息设定神经网络的规模制约,
基于所述规模制约生成神经网络的模型,
关于生成的所述模型,判断是否满足所述性能制约,输出基于所述判断的结果的数据。
23.一种由具备运算处理装置及存储装置的神经网络构筑装置中的所述运算处理装置执行的程序,
通过由所述运算处理装置执行从而使所述神经网络构筑装置进行:
取得与嵌入式设备所具有的计算资源相关的资源信息以及与所述嵌入式设备所具有的处理性能相关的性能制约,
基于所述资源信息设定神经网络的规模制约,
基于所述规模制约生成神经网络的模型,
关于生成的所述模型,判断是否满足所述性能制约,输出基于所述判断的结果的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-091303 | 2018-05-10 | ||
JP2018091303 | 2018-05-10 | ||
PCT/JP2019/018700 WO2019216404A1 (ja) | 2018-05-10 | 2019-05-10 | ニューラルネットワーク構築装置、情報処理装置、ニューラルネットワーク構築方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112088383A true CN112088383A (zh) | 2020-12-15 |
Family
ID=68468145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980030667.7A Pending CN112088383A (zh) | 2018-05-10 | 2019-05-10 | 神经网络构筑装置、信息处理装置、神经网络构筑方法及程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210056420A1 (zh) |
JP (1) | JP6799197B2 (zh) |
CN (1) | CN112088383A (zh) |
WO (1) | WO2019216404A1 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678244B2 (en) | 2017-03-23 | 2020-06-09 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
SG11202103493QA (en) | 2018-10-11 | 2021-05-28 | Tesla Inc | Systems and methods for training machine models with augmented data |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
CN110472531B (zh) * | 2019-07-29 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN111179149B (zh) * | 2019-12-17 | 2022-03-08 | Tcl华星光电技术有限公司 | 图像处理方法、装置、电子设备和计算机可读存储介质 |
WO2022004815A1 (ja) * | 2020-06-30 | 2022-01-06 | LeapMind株式会社 | ニューラルネットワーク生成装置、ニューラルネットワーク生成方法およびニューラルネットワーク生成プログラム |
CN111914488B (zh) * | 2020-08-14 | 2023-09-01 | 贵州东方世纪科技股份有限公司 | 一种基于对抗神经网络的有资料地区水文参数率定方法 |
CN113407806B (zh) * | 2020-10-12 | 2024-04-19 | 腾讯科技(深圳)有限公司 | 网络结构搜索方法、装置、设备及计算机可读存储介质 |
WO2022080000A1 (ja) * | 2020-10-13 | 2022-04-21 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法、コンピュータプログラム、並びに学習システム |
US20220147810A1 (en) * | 2020-11-06 | 2022-05-12 | Micron Technology, Inc. | Discovery of hardware characteristics of deep learning accelerators for optimization via compiler |
DE112021007485T5 (de) * | 2021-06-14 | 2024-02-01 | Mitsubishi Electric Corporation | Neuronales-netz-erstellungseinrichtung, neuronales-netz-erstellungsverfahren, bildverarbeitungseinrichtung und bildverarbeitungsverfahren |
CN113780542B (zh) * | 2021-09-08 | 2023-09-12 | 北京航空航天大学杭州创新研究院 | 一种面向fpga的多目标网络结构的构建方法 |
CN115037553B (zh) * | 2022-07-07 | 2023-04-18 | 湖南工商大学 | 信息安全监控模型构建及其应用方法、装置和存储介质 |
CN117688984A (zh) * | 2022-08-25 | 2024-03-12 | 华为云计算技术有限公司 | 神经网络结构搜索方法、装置及存储介质 |
CN115906917B (zh) * | 2022-11-09 | 2024-01-30 | 武汉大学 | 一种基于模型算法划分的神经网络模型部署方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844627A (zh) * | 2016-03-21 | 2016-08-10 | 华中科技大学 | 一种基于卷积神经网络的海面目标图像背景抑制方法 |
CN106203623A (zh) * | 2014-11-27 | 2016-12-07 | 三星电子株式会社 | 用于扩展神经网络的方法和设备以及降维的方法 |
CN106326985A (zh) * | 2016-08-18 | 2017-01-11 | 北京旷视科技有限公司 | 神经网络训练方法和装置及数据处理方法和装置 |
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
JP2017228068A (ja) * | 2016-06-22 | 2017-12-28 | 富士通株式会社 | 機械学習管理プログラム、機械学習管理方法および機械学習管理装置 |
US20180121814A1 (en) * | 2016-10-31 | 2018-05-03 | Microsoft Technology Licensing, Llc | Hyperparameter tuning |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7007270B2 (en) * | 2001-03-05 | 2006-02-28 | Cadence Design Systems, Inc. | Statistically based estimate of embedded software execution time |
US9026479B1 (en) * | 2011-02-02 | 2015-05-05 | Google Inc. | Predicting user interests |
US10373069B2 (en) * | 2015-09-26 | 2019-08-06 | Intel Corporation | Technologies for platform-targeted machine learning |
WO2017138220A1 (ja) * | 2016-02-12 | 2017-08-17 | ソニー株式会社 | 情報処理方法および情報処理装置 |
WO2017187798A1 (ja) * | 2016-04-28 | 2017-11-02 | ソニー株式会社 | 情報処理装置、及び情報処理方法 |
US20180053091A1 (en) * | 2016-08-17 | 2018-02-22 | Hawxeye, Inc. | System and method for model compression of neural networks for use in embedded platforms |
US10656962B2 (en) * | 2016-10-21 | 2020-05-19 | International Business Machines Corporation | Accelerate deep neural network in an FPGA |
US11151471B2 (en) * | 2016-11-30 | 2021-10-19 | Here Global B.V. | Method and apparatus for predictive classification of actionable network alerts |
US10360517B2 (en) * | 2017-02-22 | 2019-07-23 | Sas Institute Inc. | Distributed hyperparameter tuning system for machine learning |
US11734584B2 (en) * | 2017-04-19 | 2023-08-22 | International Business Machines Corporation | Multi-modal construction of deep learning networks |
US11537439B1 (en) * | 2017-11-22 | 2022-12-27 | Amazon Technologies, Inc. | Intelligent compute resource selection for machine learning training jobs |
US11748610B1 (en) * | 2017-11-22 | 2023-09-05 | Amazon Technologies, Inc. | Building sequence to sequence (S2S) models using previously generated S2S models with similar use cases |
EP3724824B1 (en) * | 2017-12-15 | 2023-09-13 | Nokia Technologies Oy | Methods and apparatuses for inferencing using a neural network |
US10948966B1 (en) * | 2018-03-07 | 2021-03-16 | Facebook, Inc. | Systems and methods for optimizing power usage for systems within quality-of-service constraints |
US11429862B2 (en) * | 2018-03-20 | 2022-08-30 | Sri International | Dynamic adaptation of deep neural networks |
-
2019
- 2019-05-10 JP JP2020518350A patent/JP6799197B2/ja active Active
- 2019-05-10 CN CN201980030667.7A patent/CN112088383A/zh active Pending
- 2019-05-10 WO PCT/JP2019/018700 patent/WO2019216404A1/ja active Application Filing
-
2020
- 2020-11-06 US US17/091,539 patent/US20210056420A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203623A (zh) * | 2014-11-27 | 2016-12-07 | 三星电子株式会社 | 用于扩展神经网络的方法和设备以及降维的方法 |
CN107209873A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 用于深度卷积网络的超参数选择 |
CN105844627A (zh) * | 2016-03-21 | 2016-08-10 | 华中科技大学 | 一种基于卷积神经网络的海面目标图像背景抑制方法 |
JP2017228068A (ja) * | 2016-06-22 | 2017-12-28 | 富士通株式会社 | 機械学習管理プログラム、機械学習管理方法および機械学習管理装置 |
CN106326985A (zh) * | 2016-08-18 | 2017-01-11 | 北京旷视科技有限公司 | 神经网络训练方法和装置及数据处理方法和装置 |
US20180121814A1 (en) * | 2016-10-31 | 2018-05-03 | Microsoft Technology Licensing, Llc | Hyperparameter tuning |
Non-Patent Citations (2)
Title |
---|
G. I. DIAZ ET AL.: "An effective algorithm for hyperparameter optimization of neural networks", IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 8 September 2017 (2017-09-08), pages 1 - 9 * |
陶少辉: "LSSVM过程建模中超参数选取的梯度优化算法", 化工学报, vol. 58, no. 6, 30 June 2007 (2007-06-30), pages 1514 - 1517 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019216404A1 (ja) | 2020-10-22 |
US20210056420A1 (en) | 2021-02-25 |
WO2019216404A1 (ja) | 2019-11-14 |
JP6799197B2 (ja) | 2020-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112088383A (zh) | 神经网络构筑装置、信息处理装置、神经网络构筑方法及程序 | |
US11861474B2 (en) | Dynamic placement of computation sub-graphs | |
US10656962B2 (en) | Accelerate deep neural network in an FPGA | |
KR20160143548A (ko) | 인공 신경 네트워크를 자동으로 조정하는 방법 및 장치 | |
CN110807109A (zh) | 数据增强策略的生成方法、数据增强方法和装置 | |
Gonzalez et al. | Optimizing loss functions through multi-variate taylor polynomial parameterization | |
US11513851B2 (en) | Job scheduler, job schedule control method, and storage medium | |
CN111597631A (zh) | 基于自适应代理模型的汽车风阻系数优化方法 | |
JPWO2018066074A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN112823362A (zh) | 超参数调整方法、装置以及程序 | |
CN109684190A (zh) | 软件测试装置和方法 | |
US20200090076A1 (en) | Non-transitory computer-readable recording medium, prediction method, and learning device | |
US11461656B2 (en) | Genetic programming for partial layers of a deep learning model | |
Kurek et al. | Knowledge transfer in automatic optimisation of reconfigurable designs | |
US20230222385A1 (en) | Evaluation method, evaluation apparatus, and non-transitory computer-readable recording medium storing evaluation program | |
CN109743200B (zh) | 基于资源特征的云计算平台计算任务成本预测方法及*** | |
US20220405561A1 (en) | Electronic device and controlling method of electronic device | |
WO2021251206A1 (ja) | 学習装置、推論装置、およびプログラマブルロジックデバイスの開発用ツールチェーン | |
JP7151788B2 (ja) | ニューラルネットワーク学習装置、方法およびプログラム | |
US11175957B1 (en) | Hardware accelerator for executing a computation task | |
JP7495713B2 (ja) | 情報処理装置及び情報処理方法 | |
CN114238658A (zh) | 时序知识图谱的链接预测方法、装置及电子设备 | |
CN110222842B (zh) | 一种网络模型训练方法、装置及存储介质 | |
JP6163926B2 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及びプログラム | |
EP3518153A1 (en) | Information processing method and information processing system |
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 | ||
CB02 | Change of applicant information |
Address after: Kyoto Japan Applicant after: Nuvoton Technology Corporation Japan Address before: Kyoto Japan Applicant before: Panasonic semiconductor solutions Co.,Ltd. |
|
CB02 | Change of applicant information | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210618 Address after: Kyoto Japan Applicant after: Weilai Technology Co.,Ltd. Address before: Kyoto Japan Applicant before: Nuvoton Technology Corporation Japan |
|
TA01 | Transfer of patent application right |