CN113557536A - 学习系统、数据生成装置、数据生成方法及数据生成程序 - Google Patents
学习系统、数据生成装置、数据生成方法及数据生成程序 Download PDFInfo
- Publication number
- CN113557536A CN113557536A CN201980093941.5A CN201980093941A CN113557536A CN 113557536 A CN113557536 A CN 113557536A CN 201980093941 A CN201980093941 A CN 201980093941A CN 113557536 A CN113557536 A CN 113557536A
- Authority
- CN
- China
- Prior art keywords
- data
- learning
- output
- neural networks
- training data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 144
- 238000013528 artificial neural network Methods 0.000 claims abstract description 344
- 238000012549 training Methods 0.000 claims abstract description 296
- 238000011156 evaluation Methods 0.000 claims abstract description 63
- 239000000284 extract Substances 0.000 claims abstract description 13
- 238000010801 machine learning Methods 0.000 claims description 114
- 238000012545 processing Methods 0.000 claims description 78
- 238000013527 convolutional neural network Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 80
- 239000000047 product Substances 0.000 description 50
- 238000007689 inspection Methods 0.000 description 39
- 238000004891 communication Methods 0.000 description 34
- 210000002569 neuron Anatomy 0.000 description 27
- 230000004048 modification Effects 0.000 description 26
- 238000012986 modification Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 25
- 230000010365 information processing Effects 0.000 description 25
- 238000011176 pooling Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 17
- 238000012806 monitoring device Methods 0.000 description 16
- 238000012544 monitoring process Methods 0.000 description 15
- 230000007547 defect Effects 0.000 description 13
- 230000006872 improvement Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 10
- 206010041349 Somnolence Diseases 0.000 description 9
- 230000036541 health Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000003066 decision tree Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012417 linear regression Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 238000011179 visual inspection Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000007373 indentation Methods 0.000 description 2
- 239000013067 intermediate product Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000825 pharmaceutical preparation Substances 0.000 description 2
- 229940127557 pharmaceutical product Drugs 0.000 description 2
- 239000002243 precursor Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0012—Biomedical image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Image Analysis (AREA)
Abstract
本发明的一个方面所涉及的学习系统针对各第一学习数据集,在输入第一训练数据时,从输出层输出适合于第一正解数据的输出值,并且训练各神经网络,使得从配置为比输出层更靠近输入侧的关注层输出的输出值彼此适合。学习系统基于训练后的各神经网络的关注层的输出值,评价针对各件第二训练数据的输出的不稳定性,基于评价的结果,提取成为赋予第二正解数据的对象的第二训练数据。
Description
技术领域
本发明涉及学习系统、数据生成装置、数据生成方法以及数据生成程序。
背景技术
近年来,在检查产品的好坏的场景、监视司机的场景等各种场景下,为了对所得到的图像数据执行分类任务,进行了由神经网络构成的分类器的开发。例如,在专利文献1中提出了一种检查装置,其基于学习完毕的第一神经网络判定在图像中示出的检查对象物是正常还是异常,在判定为检查对象物是异常的情况下,基于学习完毕的第二神经网络对该异常的种类进行分类。
神经网络是有示教学习中的学习模型的一例。作为有示教学习中的学习模型的其他例子,例如可以列举出支持向量机、线性回归模型、决策树模型等各种模型。在有示教学习中,分类器在赋予作为训练数据的图像数据时,训练为输出适合于对应的正解数据的输出值。根据学习完毕的分类器,能够对未知的图像数据执行规定的分类任务。
该学习完毕的分类器的性能基本上依赖于学习数据的样本数。即,学习数据的样本数越多,越能够提高分类器的性能,例如,能够高精度地对产品的好坏进行分类,或者高精度地对司机的状态进行分类等。然而,在有示教学习中,将由训练数据即图像数据,以及表示分类任务针对该图像数据的正解的正解数据的组合分别构成的多个学习数据集用作学习数据。对该图像数据赋予正解数据的作业通常由操作员的手动作业来进行。因此,对图像数据赋予正解数据费时费力,为了准备大量的样本需要花费成本。
因此,近年来,尝试了以少量的样本实现分类器的性能的提高的主动学习。在主动学习中,基于规定的指标,评价未被赋予正解数据的训练数据的样本有助于提高分类器的性能的程度。然后,基于该评价结果,提取有助于性能提高的程度高的样本,对提取出的样本赋予正解数据。由此,能够抑制赋予正解数据的训练数据的样本数,并且通过使用了所得到的学习数据集的有示教学习来构建性能高的分类器。
在非专利文献1中,作为评价各样本有助于提高分类器的性能的程度的方法,提出了一种利用多个神经网络的输出值作为指标的方法。具体而言,准备已经被赋予了正解数据的图像数据的样本,构建多个学习完毕的神经网络。然后,对针对未被赋予正解数据的学习数据的样本的各个学习完毕的神经网络的输出值的不稳定性进行评价。
各个学习完毕的神经网络的输出值的不稳定性越高,表示在已经得到的学习数据中,没有构建对该样本以充分的性能执行分类任务的分类器,该样本有助于提高分类器的性能的程度越高。因此,对不稳定性高的样本赋予正解数据,生成新的学习数据集。然后,使用所生成的新的学习数据集以及已经准备的学习数据集,实施神经网络的再学习。由此,能够抑制赋予正解数据的训练数据的样本数,并且构建性能高的分类器。
现有技术文献
专利文献
专利文献1:日本特开2012-026982号公报
非专利文献
非专利文献1:W William H.Beluch,Tim Genewein,Andreas Nürnberger,Jan M.“The power of ensembles for active learning in image classification”,The IEEE Conference on Computer Vision and Pattern Recognition(CVPR),pp.9368-9377,2018
本发明人发现,在该非专利文献1那样的利用了多个神经网络的主动学习的方法中,存在如下的问题。即,在该方法中,通过将从各神经网络的输出层得到的输出值应用于获得函数,来评价针对未赋予正解数据的样本的各神经网络的输出的不稳定性。在非专利文献1中,为了执行分类任务,在各神经网络的输出层中利用Softmax层,在Softmax层的输出值应用用于计算熵等的获得函数。
然而,能够对图像数据进行设定的推定任务的种类不限于对某些特征进行分类的分类任务。对于能够对图像数据进行设定的推定任务,例如存在回归任务、分割等其他种类的任务。在回归任务中,例如导出出现了特定的特征的概率等的连续值。在分割中,例如,提取表现出特定特征的部分等的图像区域。
神经网络的输出形式可以根据该任务的种类而异。因此,难以在任务种类不同的神经网络中利用相同种类的获得函数。即,难以将分类任务中设定的获得函数直接用作其他种类的任务的获得函数,根据依赖于任务的种类的输出层的输出形式来变更获得函数。因此,在以往的方法中,存在难以利用共同的指标对任务的种类不同的神经网络实施主动学习的问题。
需要说明的是,该问题不限于将图像数据用作训练数据的场景,在将声音数据、数值数据、文本数据等各种种类的数据用作训练数据的所有场景下都会产生该问题。另外,在将多种数据用作训练数据的场景下也会产生同样的问题。能够在生成用于对任意种类的数据执行任意的推定任务的推定器的所有场景中利用有示教学习,在各个场景中,可能产生如下问题:难以利用共同的指标来对任务的种类不同的神经网络实施主动学习。
本发明的一个方面是鉴于这样的实际情况而完成的,其目的在于,提供一种即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习的技术。
发明内容
本发明为了解决上述的课题,采用以下的结构。
即,本发明的一个方面所涉及的学习系统具备:第一数据获取部,其获取由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合分别构成的多个第一学习数据集;学习处理部,其使用所获取的所述多个第一学习数据集,实施多个神经网络的机器学习,所述各神经网络包括从输入侧向输出侧排列配置的多个层,所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,实施所述机器学习包括:针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练所述各神经网络,使得从所述各神经网络的所述关注层输出的输出值彼此适合;第二数据获取部,其获取多件第二训练数据;评价部,其通过对训练后的所述各神经网络输入所述各件第二训练数据,从所述各神经网络的所述关注层获取输出值,基于从所述各神经网络的所述关注层获取的所述输出值,计算表示针对所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值;提取部,其从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据;生成部,其分别针对提取出的所述至少一件以上的第二训练数据,受理表示所述第二训练数据所包含的特征的第二正解数据的输入,由此生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集,所述学习处理部使用所述多个第一学习数据集以及所述至少一个以上的第二学习数据集,再次实施所述多个神经网络的机器学习,或者实施与所述多个神经网络不同的学习模型的有示教学习。
例如,为了执行分类任务而在输出层利用Softmax层等,神经网络的输出层的形式依赖于使该神经网络学习的推定任务的种类。与此相对,配置为比神经网络的输出层更靠近输入侧的层(例如中间层等)的形式能够不依赖于推定任务的种类而设定。例如,假定为了执行针对图像数据的推定任务而利用卷积神经网络的场景。在该场景中,能够不依赖于使其学习的推定任务的种类(即,在使其学习不同的推定任务的卷积神经网络之间),利用卷积层、池化层、全结合层等共同的输出形式的中间层。
因此,在该结构所涉及的学习系统中,在包括多个层的各神经网络中,将配置为比输出层更靠近输入侧的层设定为关注层。关注层可以从输出层以外的层任意地设定。另外,在使用了多个第一学习数据集的机器学习中,在输入第一训练数据时,从输出层输出适合于第一正解数据的输出值,并且训练各神经网络,使得从关注层输出的输出值彼此适合。通过该机器学习,各神经网络被训练为能够对未知的输入数据执行推定任务,并且各神经网络的关注层被训练为输出与能够适当地执行推定任务的输入数据相同或近似的输出值。即,在该机器学习中,仅通过前者的训练,各神经网络的关注层的输出产生偏差,与此相对,通过进一步实施后者的训练,实现各神经网络的关注层的输出的匹配。
因此,在将训练数据的样本提供给各神经网络时,各神经网络的关注层的输出值产生偏差,即,输出的不稳定性高表示各神经网络无法对该样本以充分的性能执行推定任务。因此,推定为该样本有助于提高执行推定任务的推定器的性能的程度高。该结构所涉及的学习系统利用其提取被推定为有助于提高推定器的性能的程度高的第二训练数据。
具体而言,该结构所涉及的学习系统基于各神经网络的关注层的输出值,计算表示针对各件第二训练数据(即训练数据的样本)的各神经网络的输出的不稳定性的评价值。各神经网络的关注层的输出值与评价值之间的关系可以通过获得函数数学记述。在该情况下,通过将各神经网络的关注层的输出值代入到获得函数,能够计算表示针对各件第二训练数据的各神经网络的输出的不稳定性的评价值。该结构所涉及的学习系统从多个第二训练数据中提取评价值满足用于判定为不稳定性高的条件中的至少一件以上的第二训练数据。
因此,在该结构所涉及的学习系统中,例如,通过将卷积层、池化层、全结合层等的输出形式共同的层设定为关注层,能够不依赖于使神经网络执行的任务的种类而使用共同的指标(例如相同的获得函数)来评价针对各样本的各神经网络的输出的不稳定性。即,根据使神经网络执行的任务的种类,也可以不变更用于评价输出的不稳定性的指标。另外,能够基于该评价的结果,适当地提取推定为有助于提高推定器的性能的程度高的第二训练数据。因此,根据该结构所涉及的学习系统,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。
另外,该结构所涉及的学习系统通过对提取出的至少一件以上的第二训练数据赋予第二正解数据,生成至少一件以上的第二学习数据集。另外,该结构所涉及的学习系统使用第一学习数据集以及第二学习数据集,实施各神经网络的再学习或者新的学习模型的有示教学习。由此,能够抑制赋予正解数据的训练数据的样本数,并且构建性能高的推定器。
需要说明的是,各神经网络只要包括多个层即可,其种类没有特别限定,可以根据实施方式适当选择。各神经网络可以使用全结合型神经网络、卷积神经网络、递归型神经网络等。输出层的输出形式可以根据使各神经网络执行的任务的种类来设定。关注层可以从输出层以外的层中适当选择。例如,卷积层、池化层、全结合层等中间层可以设定为关注层。各层的结构可以适当设定。学习模型只要能够实施有示教学习即可,其种类没有特别限定,可以根据实施方式适当选择。学习模型例如可以使用支持向量机、线性回归模型、决策树模型等。
训练数据的种类没有特别限定,可以根据实施方式适当选择。训练数据例如可以使用图像数据、声音数据、数值数据、文本数据等。推定特征可以包括进行分类、进行回归、进行分割等。特征可以包括能够根据数据推定的所有要素。作为推定任务的一例,例如能够列举出推定在图像数据中示出的产品的状态(好坏)的任务、根据通过观察驾驶员而得到的传感数据推定该驾驶员的状态的任务、根据对象者的活力数据推定该对象者的健康状态的任务等。推定特征可以包括预测未来的某些元素。在该情况下,特征可以包括未来出现的要素的预兆。正解数据可以根据使其学习的推定任务适当确定。正解数据例如可以由表示特征的类别的信息、表示特征的出现概率的信息、表示特征的值的信息、表示特征的出现范围的信息等构成。
也可以是,在上述一个方面所涉及的学习系统中,所述各神经网络是卷积神经网络,所述关注层是卷积层。根据该结构,即使在任务的种类不同的卷积神经网络中也能够利用共同的指标来实施主动学习。
也可以是,在上述一个方面所涉及的学习系统中,从所述各神经网络的所述关注层输出的输出值彼此适合是指,根据从所述各卷积神经网络的所述卷积层输出的特征图导出的关注图彼此一致。关注图具有类似于Softmax函数的输出的特性。因此,能够将应用于Softmax层的获得函数直接用于关注图。即,为了将针对各件第二训练数据的评价值从关注层的输出值导出,能够利用在分类任务中利用的以往的获得函数。因此,根据该结构,能够部分地利用以往的运算模块,因此能够抑制本发明的导入成本。
也可以是,在上述一个方面所涉及的学习系统中,所述各神经网络的所述多个层具备用于运算的运算参数。训练所述各神经网络具备:针对所述各第一学习数据集,重复进行所述各神经网络的所述运算参数的值的调整,使得在对所述各神经网络输入了所述第一训练数据时,从所述各神经网络的所述输出层输出的输出值与所述第一正解数据的误差变小,并且从所述各神经网络的所述关注层输出的输出值之间的误差变小。与从所述关注层输出的输出值之间的误差相关的学习率被设定为每当重复所述运算参数的值的调整时变大。在学习的初始阶段,各神经网络的关注层的输出值有可能大不相同。根据该结构,通过使针对该关注层的输出值的误差的学习率逐渐变高,能够使用于使各神经网络的关注层的输出值彼此适合的学习适当地收敛。需要说明的是,运算参数例如是各神经元间的结合的权重、各神经元的阈值等。
也可以是,在上述一个方面所涉及的学习系统中,所述各训练数据由产品示出的图像数据构成,所述特征涉及所述产品的状态。根据该结构,在构建用于外观检查的推定器的场景下,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。
需要说明的是,图像数据示出的产品例如可以是利用电子设备、电子部件、汽车部件、药品、食品等生产线输送的产品。电子部件例如可以是基板、芯片电容器、液晶、继电器的绕组等。汽车部件例如可以是连杆、轴、发动机缸体、电动车窗开关、面板等。药品例如可以是已包装的片剂、未包装的片剂等。产品可以是在制造过程完成后生成的最终品,也可以是在制造过程的中途生成的中间品,也可以是在经过制造过程之前准备的初始品。产品的状态例如可以是与有无缺陷相关的状态。与此相应地,特征例如可以是与划痕、污渍、裂纹、压痕、毛刺、颜色不均、异物混入等产品的缺陷相关的特征。
也可以是,在上述一个方面所涉及的学习系统中,所述各训练数据由通过观察受检者的状态的传感器得到的传感数据构成,所述特征涉及所述受检者的状态。根据该结构,在构建用于推定对象者的状态的推定器的场景中,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。
需要说明的是,传感器只要能够观察人物(受检者、对象者)的状态,则其种类没有特别限定,可以根据实施方式适当选择。传感器例如可以使用摄像头、活力传感器等。摄像头例如可以使用一般的RGB摄像头、深度摄像头、红外线摄像头等。活力传感器例如可以使用体温计、血压计、脉搏计等。与此相应地,传感数据可以由图像数据、活力的测定数据等构成。另外,人物的状态例如可以包括人物的健康状态。表现健康状态的方法没有特别限定,可以根据实施方式适当选择。健康状态例如可以通过是否健康、是否有生病的预兆等来表现。在人物为驾驶员的情况下,人物的状态例如可以包括表示人物的睡意程度的睡意度、表示人物的疲劳程度的疲劳度、表示人物对于驾驶的富余程度的富余度、或它们的组合。
本发明的方式不限于上述学习系统。本发明的一个方面所涉及的装置例如可以由从上述各方式所涉及的学习系统中提取例如实施各神经网络的机器学习的部分、提取有助于提高推定器的性能的程度高的第二训练数据的部分等的一部分来构成。与实施各神经网络的机器学习的部分对应的装置也可以称为学习装置。与提取有助于提高推定器的性能的程度高的第二训练数据的部分对应的装置也可以称为数据生成装置。另外,本发明的方式也可以包括利用通过使用了第一学习数据集以及第二学习数据集的机器学习而构建的推定器(学习完毕的神经网络或学习模型)的装置。利用推定器的装置也可以称为推定装置。推定装置的称呼方法可以根据推定任务的种类而变更。
例如,本发明的一个方面所涉及的学习装置具备:第一数据获取部,其获取由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合分别构成的多个第一学习数据集;学习处理部,其使用所获取的所述多个第一学习数据集,实施多个神经网络的机器学习,所述各神经网络包括从输入侧向输出侧排列配置的多个层,所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,实施所述机器学习包括:针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练所述各神经网络,使得从所述各神经网络的所述关注层输出的输出值彼此适合。
另外,例如,本发明的一个方面所涉及的数据生成装置具备:模型获取部,其获取通过使用了由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合分别构成的多个第一学习数据集的机器学习训练后的多个神经网络,所述各神经网络包括从输入侧向输出侧排列配置的多个层,所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,所述各神经网络通过所述机器学习,针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且进行训练,使得从所述各神经网络的所述关注层输出的输出值彼此适合;数据获取部,其获取多件第二训练数据;评价部,其通过对训练后的所述各神经网络输入所述各件第二训练数据,从所述各神经网络的所述关注层获取输出值,基于从所述各神经网络的所述关注层获取的所述输出值,计算表示针对所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值;提取部,其从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据;生成部,其分别针对提取出的所述至少一件以上的第二训练数据,受理表示所述第二训练数据所包含的特征的第二正解数据的输入,由此生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集。
也可以是,上述一个方面所涉及的数据生成装置还具备输出部,其将所生成的所述至少一个以上的第二学习数据集能够使用地输出至学习模型的有示教学习。
另外,作为上述各方式中包括学习系统、学习装置、数据生成装置、推定装置以及推定装置的各个系统的其他方式,本发明的一个方面可以是实现以上各结构的全部或其一部分的信息处理方法,也可以是程序,也可以是存储了这样的程序的计算机及其他装置、机械等可读取的存储介质。在此,计算机等可读取的存储介质是指通过电、磁、光学、机械或化学作用而存储程序等信息的介质。
例如,本发明的一个方面所涉及的学习方法是一种计算机执行以下步骤的信息处理方法:获取多个第一学习数据集的步骤,所述多个第一学习数据集分别由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合构成;使用所获取的所述多个第一学习数据集,实施多个神经网络的机器学习的步骤,所述各神经网络包括从输入侧向输出侧排列配置的多个层,所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,实施所述机器学习包括:针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练所述各神经网络,使得从所述各神经网络的所述关注层输出的输出值彼此适合;获取多件第二训练数据的步骤;通过对训练后的所述各神经网络输入所述各件第二训练数据来从所述各神经网络的所述关注层获取输出值的步骤;基于从所述各神经网络的所述关注层获取的所述输出值,计算表示针对所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值的步骤;从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据的步骤;通过分别针对提取出的所述至少一件以上的第二训练数据受理表示所述第二训练数据所包含的特征的第二正解数据的输入,生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集的步骤;使用所述多个第一学习数据集以及所述至少一个以上的第二学习数据集,再次实施所述多个神经网络的机器学习,或者实施与所述多个神经网络不同的学习模型的有示教学习的步骤。
例如,本发明的一个方面所涉及的数据生成方法是一种计算机执行以下步骤的信息处理方法:获取通过使用了多个第一学习数据集的机器学习训练后的多个神经网络的步骤,所述多个第一学习数据集分别由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合构成,所述各神经网络包括从输入侧向输出侧排列配置的多个层,所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,所述各神经网络通过所述机器学习,针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练为从所述各神经网络的所述关注层输出的输出值彼此适合;获取多件第二训练数据的步骤;通过对训练后的所述各神经网络输入所述各件第二训练数据来从所述各神经网络的所述关注层获取输出值的步骤;基于从所述各神经网络的所述关注层获取的所述输出值,计算表示针对所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值的步骤;从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据的步骤;通过分别针对提取出的所述至少一件以上的第二训练数据受理表示所述第二训练数据所包含的特征的第二正解数据的输入,生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集的步骤。
另外,例如,本发明的一个方面所涉及的数据生成程序是用于使计算机执行如下步骤的程序:获取通过使用了多个第一学习数据集的机器学习训练后的多个神经网络的步骤,所述多个第一学习数据集分别由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合构成,所述各神经网络包括从输入侧向输出侧排列配置的多个层,所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,所述各神经网络通过所述机器学习,针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练为从所述各神经网络的所述关注层输出的输出值彼此适合;获取多件第二训练数据的步骤;通过对训练后的所述各神经网络输入所述各件第二训练数据来从所述各神经网络的所述关注层获取输出值的步骤;基于从所述各神经网络的所述关注层获取的所述输出值,计算表示针对所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值的步骤;从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据的步骤;通过分别针对提取出的所述至少一件以上的第二训练数据受理表示所述第二训练数据所包含的特征的第二正解数据的输入,生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集的步骤。
根据本发明,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。
附图说明
图1示意性地例示应用本发明的场景的一例。
图2示意性地例示实施方式所涉及的学习装置的硬件结构的一例。
图3示意性地例示实施方式所涉及的数据生成装置的硬件结构的一例。
图4示意性地例示实施方式所涉及的推定装置的硬件结构的一例。
图5A示意性地例示实施方式所涉及的学习装置的软件结构的一例。
图5B示意性地例示实施方式所涉及的学习装置的软件结构的一例。
图6示意性地例示实施方式所涉及的数据生成装置的软件结构的一例。
图7示意性地例示实施方式所涉及的推定装置的软件结构的一例。
图8例示实施方式所涉及的学习装置的处理步骤的一例。
图9例示实施方式所涉及的学习装置的机器学习的处理步骤的一例。
图10例示实施方式所涉及的数据生成装置的处理步骤的一例。
图11例示实施方式所涉及的学习装置的处理步骤的一例。
图12例示实施方式所涉及的推定装置的处理步骤的一例。
图13示意性地例示应用本发明的其他场景的一例。
图14A示意性地例示其他方式所涉及的检查装置的硬件结构的一例。
图14B示意性地例示其他方式所涉及的检查装置的软件结构的一例。
图15示意性地例示应用本发明的其他场景的一例。
图16A示意性地例示其他方式所涉及的监视装置的硬件结构的一例。
图16B示意性地例示其他方式所涉及的监视装置的软件结构的一例。
图17示意性地例示应用本发明的其他场景的一例。
具体实施方式
下面,基于附图对本发明的一个方面所涉及的实施方式(以下,也表述为“本实施方式”)进行说明。不过,以下说明的本实施方式在所有方面仅是本发明的例示。当然能够在不脱离本发明的范围的情况下进行各种改良或变形。即,在实施本发明时,也可以适当采用与实施方式相应的具体结构。需要说明的是,虽然通过自然语言来说明本实施方式中出现的数据,但更具体而言,数据是由计算机可识别的伪语言、命令、参数、机器语言等来指定的。
§1应用例
首先,使用图1对应用本发明的场景的一例进行说明。图1示意性地例示应用了本发明的场景的一例。
本实施方式所涉及的推定系统100构成为执行包含生成学习数据集的处理、实施学习模型的机器学习的处理,以及利用训练后的学习模型执行规定的推定任务的处理的一系列的信息处理。在本实施方式中,推定系统100具备学习系统101以及推定装置3。
本实施方式所涉及的学习系统101构成为执行上述一系列的信息处理中的实施包含神经网络的学习模型的机器学习的处理以及生成学习数据集的处理。在本实施方式中,学习系统101根据各个处理,具备学习装置1以及数据生成装置2。
本实施方式所涉及的学习装置1是构成为使用多个学习数据集来执行学习模型的机器学习(有示教学习)的计算机。在本实施方式中,学习装置1在两个阶段分别以不同的目的实施学习模型的机器学习。
在第一阶段中,学习装置1使用准备的学习数据集(第一学习数据集121),实施有助于提高推定器的性能的程度高的、即用于提取赋予正解数据的价值高的训练数据的多个神经网络的机器学习。数据生成装置2利用通过该机器学习训练后的多个神经网络,生成新的学习数据集(第二学习数据集227)。另一方面,在第二阶段中,学习装置1还使用所生成的新的学习数据集,实施用于在推定任务的执行中利用的学习模型的机器学习。推定装置3利用通过该机器学习训练后的学习模型,对对象数据执行规定的推定任务。
具体而言,在第一阶段中,学习装置1获取多个第一学习数据集121。各第一学习数据集121由第一训练数据122以及第一正解数据123的组合构成。
第一训练数据122的种类没有特别限定,可以根据使学习模型学习的推定任务适当选择。第一训练数据122例如可以是图像数据、声音数据、数值数据、文本数据等。在图1的例子中,假定了使学习模型学习对由传感器S得到的传感数据所包含的特征进行推定的能力的场景。因此,在本实施方式中,第一训练数据122是由传感器S或与其同种的传感器得到的传感数据。
传感器S的种类没有特别限定,可以根据使学习模型学习的推定任务适当选择。传感器S例如可以是摄像头、麦克风、编码器、Lidar(light detection and ranging:光探测和测距)传感器、活力传感器、环境传感器等。摄像头例如可以是构成为获取RGB图像的一般的数字摄像头、构成为获取深度图像的深度摄像头、构成为使红外线量图像化的红外线摄像头等。活力传感器例如可以是体温计、血压计、脉搏计等。环境传感器例如可以是光度计、温度计、湿度计等。作为一例,在使学习模型学习在图像中示出的产品的外观检查的能力的情况下,传感器S选择摄像头,第一训练数据122选择由摄像头得到的产品示出的图像数据。
第一正解数据123表示第一训练数据122所包含的特征。即,第一正解数据123构成为表示针对第一训练数据122的规定的推定任务的正解。第一正解数据123例如可以由表示特征的类别的信息、表示特征的出现概率的信息、表示特征的值的信息、表示特征的出现范围的信息等构成。作为一例,在实施上述外观检查的情况下,第一正解数据123例如可以构成为表示在产品中是否包含缺陷、产品所包含的缺陷的种类、产品所包含的缺陷的范围等。
规定的推定任务是推定规定的数据所包含的某些特征。该“推定特征”可以包括进行某些分类、对某些值进行回归、进行分割等。特征可以包括能够根据数据推定的所有要素。作为推定任务的一例,除了推定在上述图像数据中示出的产品的状态(好坏)的任务以外,还能够列举出例如根据通过观察驾驶员而得到的传感数据来推定该驾驶员的状态的任务、根据对象者的活力数据来推定该对象者的健康状态的任务等。推定特征可以包括预测未来的某些要素。在该情况下,特征可以包括未来出现的要素的预兆。
学习装置1使用所获取的多个第一学习数据集121,实施多个神经网络的机器学习。在本实施方式中,学习装置1作为多个神经网络实施两个神经网络(50、51)的机器学习。以下,为了便于说明,将它们分别称为第一神经网络50以及第二神经网络51。不过,在该第一阶段中成为机器学习的对象的神经网络的数量不限于两个,也可以是三个以上。
各神经网络(50、51)构成为包括从输入侧向输出侧排列配置的多个层。另外,各神经网络(50、51)的多个层构成为包括配置为最靠近输出侧的输出层以及配置为比输出层更靠近输入侧的关注层。各神经网络(50、51)的结构(例如层的数量、各层的种类、各层所包含的神经元的数量、相邻的层的神经元彼此的结合关系等)以及种类分别没有特别限定,可以根据实施方式适当确定。两个神经网络(50、51)的结构也可以互不相同。另外,关注层可以从输出层以外的层中适当选择。关注层例如可以选择输入层、中间层等。关注层优选选择中间层。
在图1的例子中,第一神经网络50包括配置为最靠近输入侧的输入层501、配置为最靠近输出侧的输出层507,以及配置为中间层的关注层503中的至少三个以上的层。同样地,第二神经网络51包括配置为最靠近输入侧的输入层511、配置为最靠近输出侧的输出层517,以及配置为中间层的关注层513中的至少三个以上的层。在本实施方式中,如后所述,各神经网络(50、51)使用卷积神经网络。另外,各关注层(503、513)选择卷积层。
学习装置1在使用了多个第一学习数据集121的机器学习中,在输入第一训练数据122时,从输出层(507、517)输出适合于第一正解数据123的输出值,并且训练各神经网络(50、51),使得从关注层(503、513)输出的输出值彼此适合。通过该机器学习,各神经网络(50、51)训练为能够对与第一训练数据122同种的未知的输入数据执行推定任务,并且关注层(503、513)训练为输出与能够适当地执行推定任务的输入数据相同或近似的输出值。仅通过前者的训练,各神经网络(50、51)的关注层(503、513)的输出产生偏差,与此相对,通过进一步实施后者的训练,关注层(503、513)的输出匹配。
与此相对,本实施方式所涉及的数据生成装置2是构成为利用该关注层(503、513)的性质来生成新的学习数据集的计算机。具体而言,数据生成装置2通过使用了多个第一学习数据集121的机器学习,获取如上述那样训练后的多个神经网络。在本实施方式中,数据生成装置2能够获取上述两个神经网络(50、51)。另外,数据生成装置2获取多件第二训练数据221。各件第二训练数据221是与上述第一训练数据122同种的数据。在本实施方式中,各件第二训练数据221是未被赋予正解数据的训练数据的样本。
接着,本实施方式所涉及的数据生成装置2通过向训练后的各神经网络(50、51)输入各件第二训练数据221,从各神经网络(50、51)的关注层(503、513)获取输出值。数据生成装置2基于从关注层(503、513)获取的输出值,计算表示针对各件第二训练数据221的各神经网络(50、51)的输出的不稳定性的评价值222。
如上所述,各神经网络(50、51)进行训练,使得关注层(503、513)的输出匹配。因此,在将训练数据的样本提供给各神经网络(50、51)时,关注层(503、513)的输出值产生偏差,即,输出的不稳定性高表示各神经网络(50、51)无法对该样本以充分的性能执行推定任务。因此,推定出,该样本有助于提高执行推定任务的推定器的性能的程度高,即,赋予正解数据的价值高。
因此,本实施方式所涉及的数据生成装置2从多件第二训练数据221中提取评价值222满足用于判定为不稳定性高的条件中的至少一件以上的第二训练数据223。此外,数据生成装置2分别针对提取出的至少一件以上的第二训练数据223,受理表示第二训练数据223所包含的特征(即,针对第二训练数据223的规定的推定任务的正解)的第二正解数据225的输入。第二正解数据225是与第一正解数据123同种的数据。另外,数据生成装置2通过对对应的第二训练数据223赋予所输入的第二正解数据225,生成至少一个以上的第二学习数据集227。所生成的各第二学习数据集227由第二训练数据223以及第二正解数据225的组合构成。
需要说明的是,各神经网络(50、51)在针对各第一学习数据集121输入第一训练数据122时,也训练为从输出层(507、517)输出适合于第一正解数据123的输出值。因此,不仅能够利用上述的第二训练数据223的提取,还能够在规定的推定任务的执行中利用各神经网络(50、51)。因此,各神经网络(50、51)也可以用于执行该推定任务。
接着,在第二阶段中,本实施方式所涉及的学习装置1获取所生成的至少一个以上的第二学习数据集227。另外,学习装置1也可以使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,再次执行各神经网络(50、51)的机器学习。或者,学习装置1也可以使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,实施与各神经网络(50、51)不同的学习模型的有示教学习。通过有示教学习,学习完毕的学习模型与学习完毕的各神经网络(50、51)同样地构成为能够用于执行规定的推定任务。
与此相对,本实施方式所涉及的推定装置3是一种计算机,其构成为,将通过学习装置1构建的学习完毕的学习模型用作推定器,对对象数据执行规定的推定任务。学习完毕的学习模型可以利用上述第一神经网络50、第二神经网络51以及其他学习模型中的任一个。
具体而言,推定装置3获取成为执行推定任务的对象的对象数据。在本实施方式中,在推定装置3上连接有传感器S。推定装置3从该传感器S获取对象数据。接着,推定装置3将所获取的对象数据输入到学习完毕的学习模型,执行学习完毕的学习模型的运算处理。由此,推定装置3从学习完毕的学习模型获取与推定出对象数据所包含的特征的结果对应的输出值。然后,推定装置3输出与推定的结果相关的信息。
如上所述,在本实施方式中,在各神经网络(50、51)中,配置为比输出层(507、517)更靠近输入侧的层被选择为关注层(503、517)。各神经网络(50、51)的输出层(507、517)的形式依赖于使其学习的推定任务的种类。与此相对,配置为比各神经网络(50、51)的输出层(507、517)更靠近输入侧的层的形式能够不依赖于推定任务的种类而设定。因此,在本实施方式中,在各神经网络(50、51)中,利用配置为比输出层(507、517)更靠近输入侧的输出层(507、517)的输出,评价针对各件第二训练数据221的输出的不稳定性。
不过,在机器学习中,在针对第一训练数据122的输入仅执行了使输出层(507、517)的输出值适合于第一正解数据123的训练的情况下,各关注层(503、513)的输出值针对相同的输入数据产生偏差。因此,在本实施方式中,在机器学习中,与该训练一起执行使关注层(503、513)的输出值彼此适合的训练。由此,关注层(503、513)的输出能够用于上述评价。
因此,在本实施方式中,通过将输出形式的共同的层设定为关注层(503、513),能够不依赖于使各神经网络(50、51)学习的任务的种类,而使用共同的指标来评价针对各件第二训练数据221的各神经网络(50、51)的输出的不稳定性。另外,由于执行使上述的关注层(503、513)的输出值彼此适合的训练,因此能够基于该评价的结果,适当地提取推定为有助于提高推定器的性能的程度高的第二训练数据223。因此,根据本实施方式,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。
需要说明的是,在图1的例子中,学习装置1、数据生成装置2以及推定装置3经由网络而相互连接。网络的种类例如可以从因特网、无线通信网、移动通信网、电话网、专用网等中适当选择。不过,在各装置1~3之间交换数据的方法不限定于这样的例子,可以根据实施方式适当选择。例如,在各装置1~3之间,可以利用存储介质来交换数据。
另外,在图1的例子中,学习装置1、数据生成装置2以及推定装置3分别是不同的计算机。然而,推定系统100的结构不限定于这样的例子,可以根据实施方式适当确定。例如,学习装置1、数据生成装置2以及推定装置3中的至少任一对可以是一体的计算机。另外,例如,学习装置1、数据生成装置2以及推定装置3中的至少任一个可以由多台计算机构成。
§2结构例
[硬件结构]
<学习装置>
接着,使用图2,对本实施方式所涉及的学习装置1的硬件结构的一例进行说明。图2示意性地例示本实施方式所涉及的学习装置1的硬件结构的一例。
如图2所示,本实施方式所涉及的学习装置1是电连接有控制部11、存储部12、通信接口13、输入装置14、输出装置15以及驱动器16的计算机。需要说明的是,在图2中,将通信接口记为“通信I/F”。
控制部11构成为包括作为硬件处理器的CPU(Central Processing Unit:中央处理器)、RAM(Random Access Memory:随机存取存储器)、ROM(Read Only Memory:只读存储器)等,基于程序以及各种数据来执行信息处理。存储部12是存储器的一例,例如由硬盘驱动器、固态驱动器等构成。在本实施方式中,存储部12存储学习程序81、第一数据池85、第一学习结果数据125、第二学习结果数据127等各种信息。
学习程序81是用于使学习装置1执行与上述各阶段的机器学习相关的后述的信息处理(图8、图9以及图11)的程序。学习程序81包含该信息处理的一系列的命令。第一数据池85存储用于机器学习的数据集(第一学习数据集121以及第二学习数据集227)。第一学习结果数据125表示与通过第一阶段的机器学习而生成的学习完毕的各神经网络(50、51)相关的信息。第二学习结果数据127表示与通过第二阶段的机器学习而生成的学习完毕的学习模型相关的信息。各学习结果数据(125、127)作为执行了学习程序81的结果而得到。详细情况将在后面叙述。
通信接口13例如是有线LAN(Local Area Network:局域网)模块、无线LAN模块等,是用于经由网络进行有线或无线通信的接口。学习装置1通过利用该通信接口13,能够经由网络与其他信息处理装置(例如数据生成装置2、推定装置3等)进行数据通信。
输入装置14例如是用于进行鼠标、键盘等的输入的装置。另外,输出装置15例如是用于进行显示器、扬声器等的输出的装置。操作员能够经由输入装置14以及输出装置15操作学习装置1。输入装置14以及输出装置15也可以由触摸面板显示器等一体地构成。
驱动器16例如是CD驱动器、DVD驱动器等,是用于读入存储介质91中存储的程序的驱动器装置。驱动器16的种类可以根据存储介质91的种类适当选择。上述学习程序81以及第一数据池85中的至少任一个可以存储在该存储介质91中。
存储介质91是通过电、磁、光学、机械或化学作用存储该程序等信息的介质,以便能够读取计算机及其他装置、机械等所记录的程序等信息。学习装置1可以从该存储介质91获取上述学习程序81以及第一数据池85中的至少任一个。
在此,在图2中,作为存储介质91的一例,例示了CD、DVD等盘型的存储介质。然而,存储介质91的种类不限定于盘型,也可以是盘型以外的种类。作为盘型以外的存储介质,例如能够列举出闪存等半导体存储器。
需要说明的是,关于学习装置1的具体的硬件结构,能够根据实施方式适当地省略、置换以及追加构成要素。例如,控制部11也可以包括多个硬件处理器。硬件处理器可以由微处理器、FPGA(field-programmable gate array:现场可编程门阵列)、DSP(digitalsignal processor:数字信号处理器)等构成。存储部12也可以由控制部11所包含的RAM以及ROM构成。通信接口13、输入装置14、输出装置15以及驱动器16中的至少任一个可以被省略。学习装置1也可以由多台计算机构成。在该情况下,各计算机的硬件结构可以一致,也可以不一致。另外,学习装置1除了设计为所提供的服务专用的信息处理装置以外,也可以是通用的服务器装置、通用的PC(Personal Computer:个人计算机)等。
<数据生成装置>
接着,使用图3,对本实施方式所涉及的数据生成装置2的硬件结构的一例进行说明。图3示意性地例示本实施方式所涉及的数据生成装置2的硬件结构的一例。
如图3所示,本实施方式所涉及的数据生成装置2是电连接有控制部21、存储部22、通信接口23、输入装置24、输出装置25以及驱动器26的计算机。本实施方式所涉及的数据生成装置2的控制部21~驱动器26也可以分别与上述学习装置1的控制部11~驱动器16分别同样地构成。
即,控制部21构成为包括作为硬件处理器的CPU、RAM、ROM等,基于程序以及数据来执行各种信息处理。存储部22例如由硬盘驱动器、固态驱动器等构成。在本实施方式中,存储部22存储数据生成程序82、第二数据池87、第一学习结果数据125等各种信息。
数据生成程序82是用于使数据生成装置2执行生成至少一个以上的第二学习数据集227的后述的信息处理(图10)的程序。数据生成程序82包含该信息处理的一系列的命令。第二数据池87存储未被赋予正解数据的第二训练数据221。详细情况将在后面叙述。
通信接口23例如是有线LAN模块、无线LAN模块等,是用于经由网络进行有线或无线通信的接口。数据生成装置2通过利用该通信接口23,能够经由网络与其他信息处理装置(例如学习装置1)进行数据通信。
输入装置24例如是用于进行鼠标、键盘等的输入的装置。输出装置25例如是用于进行显示器、扬声器等的输出的装置。操作员能够经由输入装置24以及输出装置25操作数据生成装置2。输入装置24以及输出装置25也可以由触摸面板显示器等一体地构成。
驱动器26例如是CD驱动器、DVD驱动器等,是用于读入存储介质92中存储的程序的驱动器装置。上述数据生成程序82、第二数据池87以及第一学习结果数据125中的至少任一个可以存储在存储介质92中。另外,数据生成装置2也可以从存储介质92获取上述数据生成程序82、第二数据池87以及第一学习结果数据125中的至少任一个。存储介质92的种类可以是盘型,也可以是盘型以外的种类。
需要说明的是,关于数据生成装置2的具体的硬件结构,能够根据实施方式适当地省略、置换以及追加构成要素。例如,控制部21也可以包括多个硬件处理器。硬件处理器可以由微处理器、FPGA、DSP等构成。存储部22也可以由控制部21所包含的RAM以及ROM构成。通信接口23、输入装置24、输出装置25以及驱动器26中的至少任一个可以被省略。数据生成装置2也可以由多台计算机构成。在该情况下,各计算机的硬件结构可以一致,也可以不一致。另外,数据生成装置2除了设计为所提供的服务专用的信息处理装置以外,也可以是通用的服务器装置、通用的PC等。
<推定装置>
接着,使用图4,对本实施方式所涉及的推定装置3的硬件结构的一例进行说明。图4示意性地例示本实施方式所涉及的推定装置3的硬件结构的一例。
如图4所示,本实施方式所涉及的推定装置3是电连接有控制部31、存储部32、通信接口33、输入装置34、输出装置35、驱动器36以及外部接口37的计算机。需要说明的是,在图4中,将外部接口记载为“外部I/F”。推定装置3的控制部31~驱动器36可以分别与上述学习装置1的控制部11~驱动器16分别同样地构成。
即,控制部31构成为包括作为硬件处理器的CPU、RAM、ROM等,基于程序以及数据来执行各种信息处理。存储部32例如由硬盘驱动器、固态驱动器等构成。存储部32存储推定程序83、第二学习结果数据127等各种信息。
推定程序83是用于利用所生成的学习完毕的学习模型,使推定装置3执行推定对象数据所包含的特征的后述的信息处理(图12)的程序。推定程序83包含该信息处理的一系列的命令。详细情况将在后面叙述。
通信接口33例如是有线LAN模块、无线LAN模块等,是用于经由网络进行有线或无线通信的接口。推定装置3通过利用该通信接口33,能够经由网络与其他信息处理装置(例如学习装置1)进行数据通信。
输入装置34例如是用于进行鼠标、键盘等的输入的装置。输出装置35例如是用于进行显示器、扬声器等的输出的装置。操作员能够经由输入装置34以及输出装置35来操作推定装置3。输入装置34以及输出装置35也可以由触摸面板显示器等一体地构成。
驱动器36例如是CD驱动器、DVD驱动器等,是用于读入存储介质93中存储的程序的驱动器装置。上述推定程序83以及第二学习结果数据127中的至少任一个也可以存储于存储介质93。另外,推定装置3也可以从存储介质93获取上述推定程序83以及第二学习结果数据127中的至少任一个。存储介质93的种类可以是盘型,也可以是盘型以外的种类。
外部接口37例如是USB(Universal Serial Bus:通用串行总线)端口、专用端口等,是用于与外部装置连接的接口。外部接口37的种类以及数量可以根据所连接的外部装置的种类以及数量而适当选择。在本实施方式中,推定装置3经由外部接口37与传感器S连接。
传感器S用于获取成为推定任务的对象的对象数据。传感器S的种类以及配置场所没有特别限定,可以根据执行的推定任务的种类适当确定。作为一例,在实施在生产线上输送的产品、且在图像中示出的产品的外观检查的情况下,传感器S可以选择摄像头,该摄像头可以适当地配置为能够观测由生产线输送的产品。需要说明的是,在传感器S具备通信接口的情况下,推定装置3也可以不经由外部接口37而经由通信接口33与传感器S连接。
需要说明的是,关于推定装置3的具体的硬件结构,能够根据实施方式适当地省略、置换以及追加构成要素。例如,控制部31也可以包括多个硬件处理器。硬件处理器可以由微处理器、FPGA、DSP等构成。存储部32也可以由控制部31所包含的RAM以及ROM构成。通信接口33、输入装置34、输出装置35、驱动器36以及外部接口37中的至少任一个可以被省略。推定装置3也可以由多台计算机构成。在该情况下,各计算机的硬件结构可以一致,也可以不一致。另外,推定装置3除了设计为所提供的服务专用的信息处理装置以外,也可以是通用的服务器装置、通用的PC等。
[软件结构]
<学习装置>
接着,使用图5A以及图5B,对本实施方式所涉及的学习装置1的软件结构的一例进行说明。图5A以及图5B示意性地例示本实施方式所涉及的学习装置1的软件结构的一例。
学习装置1的控制部11将存储部12中存储的学习程序81在RAM中展开。然后,控制部11通过CPU对在RAM中展开的学习程序81所包含的命令进行解释以及执行,从而对各构成要素进行控制。由此,如图5A以及图5B所示,本实施方式所涉及的学习装置1作为具备数据获取部111、学习处理部112以及保存处理部113作为软件模块的计算机进行动作。即,在本实施方式中,学习装置1的各软件模块由控制部11(CPU)实现。
(第一阶段)
如图5A所示,在第一阶段中,数据获取部111获取由第一训练数据122以及表示第一训练数据122所包含的特征的第一正解数据123的组合分别构成的多个第一学习数据集121。数据获取部111是本发明的“第一数据获取部”的一例。在本实施方式中,在第一数据池85中存储有学习数据集。数据获取部111能够从第一数据池85获取多个第一学习数据集121。
学习处理部112使用所获取的多个第一学习数据集121,实施多个神经网络的机器学习。在本实施方式中,学习处理部112实施两个神经网络(50、51)的机器学习。各神经网络(50、51)包括从输入侧向输出侧排列配置的多个层。在各神经网络(50、51)中,多个层包括配置为最靠近输出侧的输出层(507、517)以及配置为比输出层(507、517)更靠近输入侧的关注层(503、513)。实施上述机器学习包括:针对各第一学习数据集121,在对各神经网络(50、51)输入第一训练数据122时,从输出层(507、517)输出适合于第一正解数据123的输出值,并且对各神经网络(50、51)进行训练,使得从关注层(503、513)输出的输出值彼此适合。
保存处理部113生成与通过上述机器学习构建的学习完毕的各神经网络(50、51)相关的信息作为第一学习结果数据125。然后,保存处理部113将所生成的第一学习结果数据125保存在规定的存储区域中。规定的存储区域例如可以是控制部11内的RAM、存储部12、存储介质91、外部存储装置或它们的组合。
(神经网络)
接着,对各神经网络(50、51)的一例进行说明。在本实施方式中,各神经网络(50、51)是卷积神经网络。
卷积神经网络一般具备卷积层、池化层以及全结合层。卷积层是对所提供的数据进行卷积运算的层。卷积运算相当于计算所提供的数据与规定的滤波器的相关性的处理。例如,通过进行图像的卷积,能够从输入有与滤波器的浓淡图案类似的浓淡图案的图像中进行检测。卷积层是与该卷积运算对应的神经元,具备与配置为比输入或自身的层靠前(输入侧)的层的输出的一部分区域结合的神经元。池化层是进行池化处理的层。池化处理部分地舍弃针对所提供的数据的滤波器的响应强的位置的信息,实现对在该数据内出现的特征的微小的位置变化的响应的不变性。例如,在池化层中,提取滤波器内的最大的值,删除除此以外的值。全结合层具备一个或多个神经元,是将相邻的层之间的神经元全部结合而成的层。
在图5A的例子中,各神经网络(50、51)具备从输入侧向输出侧排列配置的多个层(501~507、511~517)。在最靠近输入侧配置有输入层(501、511)。输入层(501、511)是卷积层。该输入层501、511的输出与池化层502、512的输入连接。这样,卷积层和池化层可以交替地配置。或者,多个卷积层可以连续地配置。在卷积神经网络中,大多采用具备包括一个或多个卷积层以及一个或多个池化层的部分,该部分的输出被输入到全结合层的结构。
在本实施方式中,在配置有该卷积层以及池化层的部分中,关注层(503、513)被配置为中间层。该关注层(503、513)是卷积层。在该部分的最靠近输出侧配置有池化层(504、514),池化层(504、514)的输出与全结合层(506、516)的输入连接。在图5A的例子中,全结合层为两层,配置为最靠近输出侧的全结合层为输出层(507、517)。
输出层(507、517)的形式可以根据推定任务的种类适当选择。作为一例,在使各神经网络(50、51)学习分类任务的执行的情况下,输出层(507、517)可以构成为输出各类别的发生概率。在该情况下,输出层(507、517)可以包括与各类别对应的神经元。该输出层(507、517)可以由Softmax层构成。另外,作为其他例子,在使各神经网络(50、51)学习回归任务的执行的情况下,输出层(507、517)可以构成为输出回归的值。在该情况下,输出层(507、517)可以包括与回归的值的数量对应的神经元。此外,作为其他例子,在使各神经网络(50、51)学习分割的执行的情况下,输出层(507、517)可以构成为输出所提取的范围(例如中心位置以及像素数)。在该情况下,输出层(507、517)可以包括与表示该范围的形式对应的神经元。
需要说明的是,各神经网络(50、51)的结构不限定于这样的例子,可以根据实施方式适当确定。各神经网络(50、51)例如也可以具备标准化层、滤除层等上述的层以外的其他种类的层。在图5A的例子中,神经网络(50、51)的结构相同,但神经网络(50、51)的结构也可以互不相同。
各神经网络(50、51)的多个层(501~507、511~517)具备用于运算的运算参数。具体而言,相邻的层的神经元彼此适当地结合,各结合设定有权重(结合载荷)。另外,各层(501~507、511~517)所包含的各神经元设定有阈值。基本上,根据各输入与各权重之积的和是否超过阈值来确定各神经元的输出。即,各神经网络(50、51)的运算处理通过在向输入层(501、511)输入了输入数据时,从输入侧起依次在正向传播方向上进行各层(501~507、511~517)所包含的各神经元的点火判定而构成。各层(501~507、511~517)所包含的各神经元间的结合的权重以及各神经元的阈值为运算参数的一例。
训练上述各神经网络(50、51)可以具备如下步骤:针对各第一学习数据集121,在将第一训练数据122输入到输入层(501、511)时,重复进行各神经网络(50、51)的运算参数的值的调整,使得从输出层(507、517)输出的输出值与第一正解数据123的第一误差变小,并且从关注层(503、513)输出的输出值之间的第二误差变小。
在重复进行该调整的过程中,能够通过学习率来调节更新运算参数的值的程度。与各误差相关的学习率可以适当设定。学习率可以作为设定值提供,也可以由操作员的指定来提供。另外,例如,与从输出层(507、517)输出的输出值和第一正解数据123的第一误差相关的学习率可以设定为恒定。另一方面,与从关注层(503、513)输出的输出值之间的第二误差相关的学习率可以设定为每当重复运算参数的值的调整时变大。
需要说明的是,池化层(502、504、512、514)不具有成为基于学习的调整的对象的运算参数。这样,各神经网络(50、51)也可以具有不成为调整的对象的运算参数。
另外,卷积层的输出值被称为特征图。在本实施方式中,从各神经网络(50、51)的关注层(503、513)输出的输出值相互适合,可以是从由作为卷积层的关注层(503、513)输出的特征图(60、61)导出的关注图(62、63)彼此一致。即,第二误差可以基于关注图(62、63)的不一致性来计算。
(第二阶段)
如图5B所示,在第二阶段中,数据获取部111获取由数据生成装置2生成的至少一个以上的第二学习数据集227。学习处理部112也可以使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,再次执行各神经网络(50、51)的机器学习。或者,学习处理部112也可以使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,实施与各神经网络(50、51)不同的学习模型52的有示教学习。有示教学习是机器学习的一种。在有示教学习中,学习模型52训练为针对各训练数据(122、223)的输入,输出适合于对应的各正解数据(123、225)的输出值。学习模型52只要能够实施有示教学习即可,其种类没有特别限定,可以根据实施方式适当选择。该学习模型52例如可以使用神经网络、支持向量机、线性回归模型、决策树模型等。
通过上述机器学习,构建能够在规定的推定任务的执行中利用的学习完毕的学习模型。该学习完毕的学习模型是神经网络(50、51)以及学习模型52中的至少任一个。保存处理部113生成与该学习完毕的学习模型相关的信息作为第二学习结果数据127。然后,保存处理部113将所生成的第二学习结果数据127保存在规定的存储区域中。规定的存储区域例如可以是控制部11内的RAM、存储部12、存储介质91、外部存储装置或它们的组合。第二学习结果数据127的保存目的地可以与第一学习结果数据125的保存目的地相同,也可以不同。
<数据生成装置>
接着,使用图6,对本实施方式所涉及的数据生成装置2的软件结构的一例进行说明。图6示意性地例示本实施方式所涉及的数据生成装置2的软件结构的一例。
数据生成装置2的控制部21将存储部22中存储的数据生成程序82在RAM中展开。然后,控制部21通过CPU对在RAM中展开的数据生成程序82所包含的命令进行解释以及执行,从而对各构成要素进行控制。由此,如图6所示,本实施方式所涉及的数据生成装置2作为具备模型获取部211、数据获取部212、评价部213、提取部214、生成部215以及输出部216作为软件模块的计算机而动作。即,在本实施方式中,数据生成装置2的各软件模块也与上述学习装置1同样地由控制部21(CPU)实现。
模型获取部211获取在第一阶段训练后的多个神经网络。在本实施方式中,模型获取部211通过获取第一学习结果数据125,能够获取训练后的上述两个神经网络(50、51)。数据获取部212获取多件第二训练数据221。数据获取部212是本发明的“第二数据获取部”的一例。在本实施方式中,在第二数据池87中存储有未被赋予正解数据的训练数据。数据获取部212能够从第二数据池87获取多件第二训练数据221。
评价部213通过保持第一学习结果数据125,具备训练后的各神经网络(50、51)。评价部213参照第一学习结果数据125进行训练后的各神经网络(50、51)的设定。评价部213通过对训练后的各神经网络(50、51)输入各件第二训练数据221,从各神经网络(50、51)的关注层(503、513)获取输出值。评价部213基于从关注层(503、513)获取的输出值,计算表示针对各件第二训练数据221的各神经网络(50、51)的输出的不稳定性的评价值222。
在本实施方式中,各神经网络(50、51)是卷积神经网络,各关注层(503、513)是卷积层。评价部213能够获取特征图(65、66)作为关注层(503、513)的输出值。评价部213能够根据特征图(65、66)计算关注图(67、68),基于计算出的关注图(67、68),计算针对各件第二训练数据221的评价值222。
提取部214从多件第二训练数据221中提取评价值222满足用于判定为不稳定性高的条件中的至少一件以上的第二训练数据223。生成部215分别针对提取出的至少一件以上的第二训练数据223,受理表示第二训练数据223所包含的特征(即,针对第二训练数据223的规定的推定任务的正解)的第二正解数据225的输入。然后,生成部215通过对对应的第二训练数据223赋予所输入的第二正解数据225,生成至少一个以上的第二学习数据集227。所生成的各第二学习数据集227由第二训练数据223以及第二正解数据225的组合构成。
输出部216将所生成的至少一个以上的第二学习数据集227以能够使用的方式输出至学习模型的有示教学习。作为一例,输出部216也可以在该输出处理中,将第二学习数据集227存储于第一数据池85。由此,所生成的第二学习数据集227以能够用于学习模型的有示教学习的状态被保存。
<推定装置>
接着,使用图7,对本实施方式所涉及的推定装置3的软件结构的一例进行说明。图7示意性地例示本实施方式所涉及的推定装置3的软件结构的一例。
推定装置3的控制部31将存储部32中存储的推定程序83在RAM中展开。然后,控制部31通过CPU对在RAM中展开的推定程序83所包含的命令进行解释以及执行,从而对各构成要素进行控制。由此,如图7所示,本实施方式所涉及的推定装置3构成为具备数据获取部311、推定部312以及输出部313作为软件模块的计算机。即,在本实施方式中,推定装置3的各软件模块也与上述学习装置1同样地由控制部31(CPU)实现。
数据获取部311获取对象数据321。推定部312通过保持第二学习结果数据127,将学习完毕的学习模型70作为推定器而具备。学习完毕的学习模型70可以是通过上述第二阶段的机器学习训练后的神经网络(50、51)以及学习模型52中的至少任一个。推定部312参照第二学习结果数据127,进行学习完毕的学习模型70的设定。
推定部312将获取的对象数据321输入到学习完毕的学习模型70,执行学习完毕的学习模型70的运算处理。由此,推定部312从学习完毕的学习模型70获取与推定出对象数据321所包含的特征的结果对应的输出值。即,推定部312通过该运算处理,能够利用学习完毕的学习模型70来执行针对对象数据321的推定任务。输出部313输出与推定的结果相关的信息。
需要说明的是,在推定装置3中能够利用的学习完毕的学习模型不限于通过第二阶段的机器学习构建的学习完毕的学习模型,也可以是通过第一阶段的机器学习构建的神经网络(50、51)中的至少任一个。在该情况下,推定部312通过保持第一学习结果数据125,具备学习完毕的神经网络(50、51)中的至少任一个。推定部312也可以利用该学习完毕的神经网络(50、51)中的至少任一个来执行针对对象数据321的推定任务。
<其他>
关于学习装置1、数据生成装置2以及推定装置3的各软件模块,在后述的动作例中详细地进行说明。需要说明的是,在本实施方式中,对学习装置1、数据生成装置2以及推定装置3的各软件模块均由通用的CPU实现的例子进行了说明。然而,以上的软件模块的一部分或全部也可以由一个或多个专用的处理器来实现。另外,关于学习装置1、数据生成装置2以及推定装置3各自的软件结构,可以根据实施方式适当地进行软件模块的省略、置换以及追加。
§3动作例
(A)第一阶段中的机器学习
接着,使用图8,对本实施方式所涉及的第一阶段中的学习装置1的动作例进行说明。图8是表示本实施方式所涉及的学习装置1的第一阶段中的与机器学习相关的处理步骤的一例的流程图。以下说明的处理步骤是学习方法的一例。但是,以下说明的处理步骤仅是一例,各处理可以尽可能地变更。另外,关于以下说明的处理步骤,能够根据实施方式适当地进行步骤的省略、置换以及追加。
(步骤S101)
在步骤S101中,控制部11作为数据获取部111进行动作,获取多个第一学习数据集121。各第一学习数据集121由第一训练数据122以及表示该第一训练数据122所包含的特征的第一正解数据123的组合构成。在本实施方式中,存储预先生成的学习数据集的第一数据池85保持在存储部12中。控制部11从存储部12的第一数据池85获取多个第一学习数据集121。
但是,第一数据池85的保存目的地不限于存储部12,可以根据实施方式适当选择。第一数据池85例如可以保持在存储介质91、外部存储装置等中。外部存储装置可以是与学习装置1连接的外置的存储装置。或者,外部存储装置例如可以是NAS(Network AttachedStorage:网络附加存储)等数据服务器。另外,第一数据池85也可以保持在其他计算机中。在该情况下,控制部11能够经由通信接口13、驱动器16等访问第一数据池85,获取多个第一学习数据集121。
另外,第一学习数据集121的获取源不限于第一数据池85。例如,控制部11也可以生成第一学习数据集121。或者,控制部11也可以获取由其他计算机生成的第一学习数据集121。控制部11也可以通过至少任一个来获取多个第一学习数据集121。
需要说明的是,生成各第一学习数据集121的方法可以根据第一训练数据122的种类以及使学习模型学习的推定任务的种类(即,由第一正解数据123表示的信息)适当选择。作为一例,准备与传感器S同种的传感器,获取通过准备的传感器在各种条件下进行观测而生成的各件传感数据作为第一训练数据122。观测的对象可以根据学习模型中学习的推定任务适当选择。然后,将表示在该各件第一训练数据122中出现的特征的第一正解数据123与所得到的各件第一训练数据122建立关联。由此,能够生成各第一学习数据集121。
各第一学习数据集121可以通过计算机的动作而自动地生成,也可以通过操作员的操作而手动地生成。另外,各第一学习数据集121的生成可以由学习装置1进行,也可以由学习装置1以外的其他计算机进行。在学习装置1生成各第一学习数据集121的情况下,控制部11能够自动地或者通过操作员对输入装置14的操作来手动地执行上述一系列的处理,从而获取多个第一学习数据集121。另一方面,在其他计算机生成各第一学习数据集121的情况下,控制部11例如能够经由网络、存储介质91等获取由其他计算机生成的多个第一学习数据集121。在其他计算机中,也可以自动地或者通过操作员的操作来手动地执行上述一系列的处理,从而生成多个第一学习数据集121。也可以是,一部分的第一学习数据集121由学习装置1生成,其他的第一学习数据集121由一个或多个其他计算机生成。
所获取的第一学习数据集121的件数没有特别限定,可以根据实施方式适当选择。当获取多个第一学习数据集121时,控制部11使处理进入下一步骤S102。
(步骤S102)
在步骤S102中,控制部11作为学习处理部112进行动作,使用所获取的多个第一学习数据集121,实施多个神经网络的机器学习。在本实施方式中,控制部11实施两个神经网络(50、51)的机器学习。
各神经网络(50、51)包含从输入侧向输出侧排列配置的多个层(501~507、511~517)。多个层(501~507、511~517)包括配置为最靠近输出侧的输出层(507、517)以及配置为比输出层(507、517)更靠近输入侧的关注层(503、513)。控制部11将各第一学习数据集121的第一训练数据122用作输入数据。控制部11针对输出层(507、517)的输出,将第一正解数据123用作示教数据。控制部11针对关注层(503、513)的输出,将该关注层(503、513)的输出一致的数据用作示教数据。控制部11基于这些数据,执行各神经网络(50、51)的学习处理。在该学习处理中,可以使用批量梯度下降法、随机梯度下降法、小批量梯度下降法等。
<机器学习>
在此,进一步使用图9,详细说明步骤S102中的机器学习的处理的一例。图9例示本实施方式所涉及的学习装置1的机器学习的处理步骤的一例。本实施方式所涉及的步骤S102的处理包括以下的步骤S201~步骤S206的处理。但是,以下说明的处理步骤仅是一例,各处理可以尽可能地变更。另外,关于以下说明的处理步骤,能够根据实施方式适当地进行步骤的省略、置换以及追加。
(步骤S201)
在步骤S201中,控制部11准备成为机器学习的处理对象的各神经网络(50、51)。
准备的各神经网络(50、51)的结构(例如层的数量、各层的种类、各层所包含的神经元的数量、相邻的层的神经元彼此的结合关系等)、各神经元间的结合的权重的初始值,以及各神经元的阈值的初始值可以由模板提供,也可以由操作员的输入来提供。模板可以包括与神经网络的结构相关的信息,以及与神经网络的运算参数的初始值相关的信息。
关注层可以在模板中预先指定,也可以由操作员指定。或者,控制部11也可以在所准备的各神经网络(50、51)内确定输出形式共同的层,根据所确定的层适当确定关注层。确定关注层的基准可以任意地设定。在确定关注层的基准中,例如可以指定层的输出数、层的种类等属性。控制部11也可以根据所设定的基准,从所确定的层确定关注层。
另外,在进行再学习的情况下,控制部11也可以基于通过进行过去的机器学习而得到的学习结果数据,准备成为处理对象的各神经网络(50、51)。
当准备好处理对象的各神经网络(50、51)时,控制部11使处理进入下一步骤S202。
(步骤S202)
在步骤S202中,控制部11针对各第一学习数据集121,将第一训练数据122输入到输入层(501、511),执行各神经网络(50、51)的运算处理。即,控制部11从输入侧起依次进行各层(501~507、511~517)所包含的各神经元的点火判定。作为该运算处理的结果,控制部11能够从输出层(507、517)获取与对第一训练数据122执行了推定任务的结果对应的输出值。另外,在该运算处理的过程中,通过执行从输入层501、511到关注层503、513的运算,控制部11能够获取关注层503、513的输出值。当获取分别来自关注层(503、513)以及输出层(507、517)的输出值时,控制部11使处理进入下一步骤S203。
(步骤S203)
在步骤S203中,控制部11针对各第一学习数据集121,计算来自输出层(507、517)的输出值与第一正解数据123的第一误差。在第一误差的计算中,可以使用平均平方误差、交叉熵误差等公知的误差函数。误差函数是评价输出与示教数据的差分的函数,该差分越大,损失函数的值越大。控制部11计算第一误差的梯度,通过误差逆传播(Backpropagation:逆传播)法,对计算出的梯度进行逆传播,由此计算各层(501~507、511~517)所包含的运算参数(例如各神经元间的结合的权重、各神经元的阈值等)的误差。然后,控制部11基于计算出的各误差,更新运算参数的值。由此,控制部11调整各神经网络(50、51)的运算参数的值,使得从输出层(507、517)输出的输出值与第一正解数据123的第一误差变小。
关于第一误差,更新运算参数的值的程度由学习率进行调节。学习率确定在机器学习中更新运算参数的值的程度。学习率越大,运算参数的更新量越大,学习率越小,运算参数的更新量越小。在该情况下,控制部11通过将学习率乘以各误差而得到的值来更新运算参数的值。可以适当地给出与第一误差相关的学习率。与第一误差相关的学习率的初始值例如可以由操作员的指定来给出,也可以作为设定值来给出。当基于第一误差,各神经网络(50、51)的运算参数的值的调整完成时,控制部11使处理进入下一步骤S204。
(步骤S204)
在步骤S204中,控制部11针对各第一学习数据集121,计算从关注层(503、513)输出的输出值之间的第二误差。在第二误差的计算中,可以根据关注层(503、513)的输出形式,使用平均平方误差等公知的误差函数。
在本实施方式中,关注层(503、513)是卷积层,控制部11在步骤S202中,能够获取特征图(60、61)作为关注层(503、513)的输出值。控制部11根据特征图(60、61)计算关注图(62、63)。根据特征图计算关注图的方法没有特别限定,可以根据实施方式适当选择。
例如,控制部11也可以通过将特征图(60、61)的各要素的绝对值在通道方向上进行合计来计算关注图(62、63)。在输入数据是图像数据的情况下,特征图(60、61)的各要素与像素对应。特征图(60、61)的通道数与卷积层的滤波器的数量以及输入数据的通道数对应。另外,例如,控制部11也可以通过将特征图(60、61)的各要素的绝对值的n次方在通道方向上进行合计,来计算关注图(62、63)。n可以是任意的数。另外,例如,控制部11也可以通过计算特征图(60、61)的各要素的绝对值的n次方,并在通道方向上提取计算出的n次方的值的最大值,从而计算关注图(62、63)。此外,根据特征图计算关注图的方法可以采用公知的方法。
接着,控制部11通过计算所计算出的关注图(62、63)的平均平方误差,能够计算关注层(503、513)的输出值之间的第二误差。需要说明的是,计算第二误差的方法不限定于这样的例子,可以根据实施方式适当确定。例如,控制部11也可以根据特征图(60、61)直接计算第二误差。
接着,控制部11计算第二误差的梯度,通过误差逆传播法,将计算出的梯度从关注层(503、513)向输入层(501、511)进行逆传播,由此计算从输入层(501、511)到关注层(503、513)所包含的运算参数的误差。然后,控制部11基于计算出的各误差,更新从输入层(501、511)到关注层(503、513)所包含的运算参数的值。由此,控制部11调整各神经网络(50、51)的运算参数的值,使得关注层(503、513)的输出值之间的第二误差变小(即,在关注图(62、63)彼此一致的方向上)。
需要说明的是,基于第二误差的运算参数的调整不限定于这样的例子,也可以不一定在双方的神经网络(50、51)中执行。例如,控制部11也可以在步骤S204中,以两个神经网络(50、51)中的一方为基准,仅调整剩余一方的运算参数。即,在步骤S204中,控制部11对从神经网络(50、51)中的至少任一个输入层到关注层所包含的运算参数的值进行调节。在三个以上的神经网络成为机器学习的处理的对象的情况下,控制部11也可以调整所有神经网络的运算参数的值。或者,控制部11也可以将任一个作为基准,调整剩余的神经网络的运算参数的值。
另外,关于第二误差,与第一误差同样地,通过学习率调节更新运算参数的值的程度。与第二误差相关的学习率可以适当地给出。与第二误差相关的学习率例如可以由操作员的指定来给出,也可以作为设定值来给出。当基于第二误差完成运算参数的值的调整时,控制部11使处理进入下一步骤S205。
(步骤S205以及S206)
在步骤S205中,控制部11判定是否重复进行机器学习的处理(即,各神经网络(50、51)的运算参数的值的调整)。
判定是否重复的基准可以适当设定。例如,可以设定重复进行机器学习的规定次数。规定次数可以适当给出。该规定次数例如可以由设定值给出,也可以由操作员的指定来给出。在该情况下,控制部11判定执行了步骤S202~步骤S204的一系列处理的次数是否达到了规定次数。在执行了该一系列的处理的次数未达到规定次数的情况下,控制部11判定为重复进行机器学习的处理。另一方面,在执行了该一系列的处理的次数达到了规定次数的情况下,控制部11判定为不重复进行机器学习的处理。
另外,例如,控制部11也可以重复进行机器学习的处理,直到上述各误差成为阈值以下。在该情况下,在上述各误差超过阈值的情况下,控制部11判定为重复进行机器学习的处理。另一方面,在上述各误差为阈值以下的情况下,控制部11判定为不重复进行机器学习的处理。该阈值可以适当设定。阈值例如可以由设定值给出,也可以由操作员的指定来给出。
在判定为重复进行机器学习的处理的情况下,控制部11使处理进入下一步骤S206。另一方面,在判定为不重复进行机器学习的处理的情况下,控制部11结束机器学习的处理。
在步骤S206中,控制部11增大与第二误差相关的学习率的值。学习率的增加量可以适当确定。例如,控制部11也可以通过对学习率的原来的值加上恒定的值,来增大与第二误差相关的学习率的值。另外,例如,控制部11也可以利用规定执行次数与学习率的值之间的关系的函数来确定学习率的值,使得执行次数越多则值越大。也可以设定为执行次数越多,学习率的增加量越小。在变更了与第二误差相关的学习率的值之后,控制部11从步骤S202起重复进行处理。由此,在本实施方式中,与第二误差相关的学习率被设定为每当重复运算参数的值的调整时变大。
在机器学习的初始阶段,各神经网络(50、51)的关注层(503、513)的输出值有可能大不相同。控制部11通过该步骤S206,使与第二误差相关的学习率逐渐成为较大的值,由此能够适当收敛用于使各神经网络(50、51)的关注层(503、513)的输出值彼此适合的学习。
但是,与第二误差相关的学习率的设定不限定于这样的例子,可以根据实施方式适当选择。例如,与第二误差相关的学习率的设定也可以设定为恒定的值。在该情况下,可以省略本步骤S206的处理,控制部11也可以不变更与第二误差相关的学习率的值,而从步骤S202起重复进行处理。
需要说明的是,与第一误差相关的学习率可以适当设定。控制部11也可以和与第二误差相关的学习率同样地,将与第一误差相关的学习率设定为每当重复运算参数的值的调整时变大。在该情况下,控制部11与步骤S206的处理同样地,在增大与第一误差相关的学习率的值之后,从步骤S202起重复进行处理。或者,与第一误差相关的学习率也可以设定为恒定的值。在该情况下,与第一误差相关的学习率保持恒定的值,控制部11从步骤S202起重复进行处理。
如上所述,在重复步骤S203以及步骤S204的处理之后,控制部11结束机器学习的处理。通过重复进行步骤S203的处理,针对各第一学习数据集121,在向各神经网络(50、51)输入第一训练数据122时,各神经网络(50、51)进行训练,使得从输出层(507、517)输出适合于第一正解数据123的输出值。此外,通过重复步骤S204的处理,各神经网络(50、51)进行训练,使得从关注层(503、513)输出的输出值彼此适合。在本实施方式中,各神经网络(50、51)进行训练,使得从由关注层(503、513)输出的特征图(60、61)导出的关注图(62、63)彼此一致。该“一致”可以包括产生阈值以下的误差。当机器学习的处理完成时,控制部11使处理进入下一步骤S103。
需要说明的是,机器学习的处理不限定于这样的例子,可以根据实施方式适当变更。例如,步骤S203以及步骤S204的处理的顺序也可以调换。或者,也可以并行地执行步骤S203以及步骤S204的处理。另外,如上所述,步骤S203以及步骤S204的处理不是重复连续地执行,可以重复连续地执行,并且控制部11可以单独重复执行步骤S203以及步骤S204的处理。
(步骤S103)
返回图8,在步骤S103中,控制部11作为保存处理部113进行动作,生成与通过机器学习而构建的学习完毕的各神经网络(50、51)相关的信息作为第一学习结果数据125。第一学习结果数据125构成为能够再现训练后的各神经网络(50、51)。例如,第一学习结果数据125可以包括表示各神经网络(50、51)的结构以及运算参数的值的信息。然后,控制部11将所生成的第一学习结果数据125保存在规定的存储区域中。
规定的存储区域例如可以是控制部11内的RAM、存储部12、存储介质91、外部存储装置或它们的组合。外部存储装置例如可以是NAS等数据服务器。在该情况下,控制部11可以利用通信接口13,经由网络将第一学习结果数据125存储在数据服务器中。另外,外部存储装置例如可以是与学习装置1连接的外置的存储装置。当保存第一学习结果数据125时,控制部11结束与第一阶段中的机器学习相关的一系列的处理。
(B)学习数据集的生成
接着,使用图10,对本实施方式所涉及的数据生成装置2的动作例进行说明。图10是表示与本实施方式所涉及的数据生成装置2的学习数据集的生成相关的处理步骤的一例的流程图。以下说明的处理步骤是数据生成方法的一例。但是,以下说明的处理步骤仅是一例,各处理可以尽可能地变更。另外,关于以下说明的处理步骤,能够根据实施方式适当地进行步骤的省略、置换以及追加。
(步骤S301)
在步骤S301中,控制部21作为模型获取部211进行动作,获取在第一阶段训练后的多个神经网络。在本实施方式中,控制部21通过获取第一学习结果数据125,获取训练后的上述两个神经网络(50、51)。
由学习装置1生成的第一学习结果数据125可以在任意的时刻提供给数据生成装置2。例如,学习装置1的控制部11可以通过上述步骤S103的处理或者与上述步骤S103不同的处理,将第一学习结果数据125传送至数据生成装置2。控制部21也可以通过受理该传送,来获取第一学习结果数据125。另外,例如,控制部21也可以利用通信接口23,经由网络访问学习装置1或数据服务器,由此获取第一学习结果数据125。另外,例如,控制部21也可以经由存储介质92,获取第一学习结果数据125。也可以在执行本步骤S301之前,第一学习结果数据125已经通过上述任一个获取处理存储在存储部22中。在该情况下,控制部21也可以从存储部22获取第一学习结果数据125。当获取第一学习结果数据125时,控制部21使处理进入下一步骤S302。
需要说明的是,第一学习结果数据125也可以预先存储于数据生成装置2。在该情况下,可以省略步骤S301的处理。另外,也可以从数据生成装置2的软件结构中省略模型获取部211。
(步骤S302)
在步骤S302中,控制部21作为数据获取部212进行动作,获取多件第二训练数据221。第二训练数据221是与第一训练数据122同种的数据。在本实施方式中,存储未被赋予正解数据的训练数据的第二数据池87保持在存储部22中。控制部21从存储部22的第二数据池87获取多件第二训练数据221。
但是,第二数据池87的保存目的地不限于存储部22,可以根据实施方式适当选择。第二数据池87例如也可以保持在存储介质92、外部存储装置等中。外部存储装置也可以是与数据生成装置2连接的外置的存储装置。或者,外部存储装置例如可以是NAS等数据服务器。另外,第二数据池87也可以保持在其他计算机中。在该情况下,控制部21能够经由通信接口23、驱动器26等访问第二数据池87,获取多件第二训练数据221。
另外,第二训练数据221的获取源不限于第二数据池87。例如,控制部21也可以生成第二训练数据221。或者,控制部21也可以获取由其他计算机生成的第二训练数据221。在该情况下,控制部21例如能够经由网络、存储介质92等获取由其他计算机生成的第二训练数据221。控制部21也可以通过至少任一个获取多件第二训练数据221。
需要说明的是,生成第二训练数据221的方法可以与生成上述第一训练数据122的方法相同。第二训练数据221可以通过计算机的动作而自动地生成,也可以通过操作员的操作而手动地生成。也可以多件第二训练数据221中的一部分由数据生成装置2生成,剩余部分由其他计算机生成。
所获取的第二训练数据221的件数没有特别限定,可以根据实施方式适当选择。当获取多件第二训练数据221时,控制部21使处理进入下一步骤S303。
(步骤S303)
在步骤S303中,控制部21作为评价部213进行动作,参照第一学习结果数据125进行训练后的各神经网络(50、51)的设定。然后,控制部21向训练后的各神经网络(50、51)的输入层(501、511)输入各件第二训练数据221,执行到各神经网络(50、51)的关注层(503、513)的运算处理。即,控制部21将各件第二训练数据221输入到输入层(501、511),从输入侧起依次进行从输入层(501、511)到关注层(503、513)所包含的各神经元的点火判定。由此,控制部21从各神经网络(50、51)的关注层(503、513)获取输出值。当获取来自关注层(503、513)的输出值时,控制部21使处理进入下一步骤S304。
(步骤S304)
在步骤S304中,控制部21作为评价部213进行动作,基于所获取的输出值,计算表示针对各件第二训练数据221的各神经网络(50、51)的输出的不稳定性的评价值222。
关注层(503、513)的输出值与评价值222之间的关系可以通过获得函数数学记述。获得函数可以适当地定义为表示不稳定性,关注层(503、513)的输出值的偏差越大,所计算的评价值222越高。控制部21通过将从关注层(503、513)获取的输出值代入到获得函数,能够计算针对各件第二训练数据221的评价值222。
作为一例,在本实施方式中,关注层(503、513)是卷积层,关注层(503、513)的输出值作为特征图(65、66)而获取。控制部21根据特征图(65、66)计算关注图(67、68)。计算关注图(67、68)的方法可以与计算上述关注图(62、63)的方法相同。
接着,控制部21对关注图(67、68)进行标准化,使得全部要素的总和为1。标准化后的关注图(67、68)具有与Softmax函数的输出同样的性质。因此,控制部21也可以将用于Softmax函数的输出的获得函数应用于标准化后的关注图(67、68)。例如,控制部21也可以将以下的式1~式3的H、I以及V中的任一个作为评价值222来计算。
[数学式1]
[数学式2]
[数学式3]
需要说明的是,s表示关注图的各要素,i表示关注图的各要素的值。p(s=i|x,wt)表示关注图的各要素为值i的概率。x表示输入数据(即,第二训练数据221),wt表示各神经网络。S表示关注图的要素数。t表示神经网络的索引,T表示神经网络的数量(在本实施方式中为2)。上划线表示平均值。但是,计算评价值222的方法不限定于这样的例子,可以根据实施方式适当确定。当计算出针对各件第二训练数据221的评价值222时,控制部21使处理进入下一步骤S305。
(步骤S305)
在步骤S305中,控制部21作为提取部214进行动作,从多件第二训练数据221中提取评价值222满足用于判定为不稳定性高的条件中的至少一件以上的第二训练数据223。
用于提取第二训练数据223的条件没有特别限定,可以根据实施方式适当设定。例如,控制部21也可以从多件第二训练数据221中提取不稳定性最高至任意数量的第二训练数据223。在该情况下,提取的数量可以作为设定值来给出,也可以由操作者的指定来给出。另外,例如,控制部21也可以将评价值222与阈值进行比较,从多件第二训练数据221中提取不稳定度超过阈值的第二训练数据223。在该情况下,阈值可以作为设定值来给出,也可以由操作员的指定来给出。当提取至少一件以上的第二训练数据223时,控制部21使处理进入下一步骤S306。
(步骤S306)
在步骤S306中,控制部21作为生成部215进行动作,分别针对提取出的至少一件以上的第二训练数据223,受理表示第二训练数据223所包含的特征(即,针对第二训练数据223的规定的推定任务的正解)的第二正解数据225的输入。接着,控制部21将输入的第二正解数据225与对应的第二训练数据223建立关联。由此,控制部21生成由第二训练数据223以及第二正解数据225的组合分别构成的至少一个以上的第二学习数据集227。
受理第二正解数据225的输入的方法没有特别限定,可以根据实施方式适当设定。例如,控制部21也可以经由输入装置24受理操作员的输入。另外,例如在存在对与第二训练数据223同种的数据执行同种的推定任务的推定器的情况下,控制部21也可以受理该推定器的推定结果的输入。即,控制部21也可以利用该推定器,获取对第二训练数据223执行了规定的推定任务的结果作为第二正解数据225。该推定器的种类没有特别限定,可以根据实施方式适当选择。该推定器例如可以与学习完毕的学习模型70相同。当生成至少一个以上的第二学习数据集227时,控制部21使处理进入下一步骤S307。
(步骤S307)
在步骤S307中,控制部21作为输出部216进行动作,将所生成的至少一个以上的第二学习数据集227以能够用于学习模型的有示教学习的方式输出。
输出方法没有特别限定,可以根据实施方式适当选择。作为一例,控制部21也可以在该输出处理中,将所生成的第二学习数据集227存储于第一数据池85。由此,所生成的第二学习数据集227通过学习装置1以能够用于学习模型的有示教学习的状态保存。作为其他例子,控制部21也可以在该输出处理中,对执行学习模型的有示教学习的计算机发送所生成的第二学习数据集227。另外,作为其他例子,控制部21也可以将所生成的第二学习数据集227以执行学习模型的有示教学习的计算机能够获取的状态保存在规定的存储区域中。规定的存储区域例如可以是控制部21内的RAM、存储部22、存储介质92、外部存储装置或它们的组合。外部存储装置例如可以是NAS等数据服务器,也可以是与数据生成装置2连接的外置的存储装置。当输出所生成的至少一个以上的第二学习数据集227时,控制部21结束与学习数据集的生成相关的一系列的处理。
(C)第二阶段中的机器学习
接着,使用图11,对本实施方式所涉及的第二阶段中的学习装置1的动作例进行说明。图11是表示本实施方式所涉及的学习装置1的第二阶段中的与机器学习相关的处理步骤的一例的流程图。以下说明的处理步骤是学习方法的一例。但是,以下说明的处理步骤仅是一例,各处理可以尽可能地变更。在学习方法中,还可以包括上述第一阶段的学习方法以及数据生成方法。另外,关于以下说明的处理步骤,能够根据实施方式适当地进行步骤的省略、置换以及追加。
(步骤S501)
在步骤S501中,控制部11作为数据获取部111进行动作,获取由数据生成装置2生成的至少一个以上的第二学习数据集227。
在本实施方式中,控制部11能够在上述步骤S307的处理之后,从第一数据池85获取至少一个以上的第二学习数据集227。但是,第二学习数据集227的获取目的地不限定于这样的例子,可以根据实施方式适当选择。例如,控制部11也可以从数据生成装置2直接或间接地获取第二学习数据集227。
此外,控制部11与上述步骤S101同样地,获取多个一个以上的第一学习数据集121。当获取各学习数据集(121、227)时,控制部11使处理进入下一步骤S502。
(步骤S502)
在步骤S502中,控制部11作为学习处理部112进行动作,使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,实施学习模型的机器学习。
作为步骤S502的处理,控制部11也可以使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,再次执行各神经网络(50、51)的机器学习。在该再学习中,也可以省略多个神经网络中的至少任一个的机器学习。在本实施方式中,也可以省略两个神经网络(50、51)中的至少一方的机器学习。
另外,在该再学习中,也可以与第一阶段的步骤S102同样地,针对各训练数据(122、223)的输入,执行使输出层(507、517)的输出值适合于各正解数据(123、225)的训练(步骤S203),以及使关注层(503、513)的输出值彼此适合的训练(步骤S204)这两者。或者,也可以仅执行前者的训练,省略后者的训练。即,可以仅执行使输出层(507、517)的输出值适合于各正解数据(123、225)的训练。
或者,作为步骤S502的处理,控制部11也可以使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,实施与各神经网络(50、51)不同的学习模型52的有示教学习。该学习模型52只要能够实施有示教学习即可,其种类没有特别限定,可以根据实施方式适当选择。在该学习模型52中,除了神经网络以外,例如也可以使用支持向量机、线性回归模型、决策树模型等。在学习模型52采用神经网络的情况下,学习模型52的结构可以与各神经网络(50、51)中的任一个相同,也可以与神经网络(50、51)这两者不同。
在有示教学习中,学习模型52针对各学习数据集(121、227),进行训练,使得针对各训练数据(122、223)的输入,输出适合于对应的各正解数据(123、225)的输出值。有示教学习的方法可以根据学习模型52的种类适当选择。在有示教学习的方法中,可以采用误差逆传播法、回归分析、随机森林等公知的方法。由此,学习完毕的学习模型52与学习完毕的各神经网络(50、51)同样地被训练为能够用于执行规定的推定任务。
通过上述机器学习,构建学习完毕的学习模型。该学习完毕的学习模型是神经网络(50、51)以及学习模型52中的至少任一个。当机器学习的处理完成时,控制部11使处理进入下一步骤S503。
(步骤S503)
在步骤S503中,控制部11作为保存处理部113进行动作,生成与上述学习完毕的学习模型相关的信息作为第二学习结果数据127。第二学习结果数据127构成为能够再现通过步骤S502的处理构建的学习完毕的学习模型。例如,第二学习结果数据127可以包括表示学习完毕的学习模型的结构以及运算参数的值的信息。然后,控制部11将所生成的第二学习结果数据127保存在规定的存储区域中。
规定的存储区域例如可以是控制部11内的RAM、存储部12、存储介质91、外部存储装置或它们的组合。外部存储装置例如也可以是NAS等数据服务器。在该情况下,控制单元11可以利用通信接口13经由网络将第二学习结果数据127存储在数据服务器中。另外,外部存储装置例如可以是与学习装置1连接的外置的存储装置。第二学习结果数据127的保存目的地可以与第一学习结果数据125的保存目的地相同,也可以不同。当保存第二学习结果数据127时,控制部11结束与第二阶段中的机器学习相关的一系列的处理。
需要说明的是,所生成的第二学习结果数据127可以在任意的时刻提供给推定装置3。例如,控制部11可以通过步骤S503的处理或者与步骤S503不同的处理,将第二学习结果数据127传送至推定装置3。推定装置3也可以通过受理该传送,来获取第二学习结果数据127。另外,例如,推定装置3也可以利用通信接口33,经由网络访问学习装置1或数据服务器,由此获取第二学习结果数据127。另外,例如,推定装置3也可以经由存储介质93获取第二学习结果数据127。第二学习结果数据127也可以预先存储在推定装置3中。
另外,在步骤S502中,与上述步骤S102同样地,在实施了各神经网络(50、51)的再学习的情况下,所生成的第二学习结果数据127可以在任意的时刻提供给数据生成装置2。由此,再学习后的各神经网络(50、51)可以用于上述学习数据集的生成处理。该学习数据集的生成处理和各神经网络(50、51)的再学习的处理可以交替地重复执行。
(D)推定任务的执行
接着,使用图12,对本实施方式所涉及的推定装置3的动作例进行说明。图12是表示本实施方式所涉及的推定装置3的处理步骤的一例的流程图。以下说明的处理步骤是推定方法的一例。但是,以下说明的处理步骤仅是一例,各处理可以尽可能地变更。在推定方法中,还可以包括上述学习方法以及数据生成方法。另外,关于以下说明的处理步骤,能够根据实施方式适当地进行步骤的省略、置换以及追加。
(步骤S701)
在步骤S701中,控制部31作为数据获取部311进行动作,获取成为执行推定任务的对象的对象数据321。在本实施方式中,推定装置3经由外部接口37与传感器S连接。因此,控制部31经由外部接口37获取由传感器S生成的传感数据作为对象数据321。
但是,获取对象数据321的路径不限定于这样的例子,可以根据实施方式适当确定。例如,也可以在与推定装置3不同的其他计算机上连接传感器S。在该情况下,控制部31也可以通过从其他计算机受理对象数据321的发送来获取对象数据321。当获取对象数据321时,控制部31使处理进入下一步骤S702。
(步骤S702)
在步骤S702中,控制部31作为推定部312进行动作,利用学习完毕的学习模型70,推定所获取的对象数据321所包含的特征。
在本实施方式中,学习完毕的学习模型70是通过上述第二阶段的机器学习训练后的神经网络(50、51)以及学习模型52中的至少任一个。控制部31参照第二学习结果数据127,进行学习完毕的学习模型70的设定。然后,控制部31将所获取的对象数据321输入到学习完毕的学习模型70,执行学习完毕的学习模型70的运算处理。运算处理可以根据学习完毕的学习模型70的种类适当选择。由此,控制部31从学习完毕的学习模型70获取与推定出对象数据321所包含的特征的结果对应的输出值。即,控制部31能够通过该运算处理来推定对象数据321所包含的特征。当对象数据321所包含的特征的推定完成时,控制部31使处理进入下一步骤S703。
(步骤S703)
在步骤S703中,控制部31作为输出部313进行动作,输出与推定的结果相关的信息。
输出目的地以及输出的信息的内容分别可以根据实施方式适当确定。例如,控制部31也可以将对对象数据321所包含的特征进行了推定的结果直接输出到输出装置35。另外,例如,控制部31也可以基于推定的结果来执行某些信息处理。另外,控制部31也可以将执行该信息处理的结果作为与推定的结果相关的信息而输出。执行该信息处理的结果的输出可以包括根据推定的结果输出警告等特定的消息、根据推定的结果控制控制对象装置的动作等。输出目的地例如可以是输出装置35、控制对象装置等。当与推定的结果相关的信息的输出完成时,控制部31结束与利用了学习完毕的学习模型70的推定处理相关的一系列的处理。
需要说明的是,在推定装置3中能够利用的学习完毕的学习模型不限于通过第二阶段的机器学习构建的学习完毕的学习模型70。也可以由推定装置3利用通过第一阶段的机器学习而构建的神经网络(50、51)中的至少任一个。在该情况下,在第一阶段生成的第一学习结果数据125可以在任意的时刻提供给推定装置3。或者,第一学习结果数据125也可以预先存储于推定装置3。由此,推定装置3也可以代替上述学习完毕的学习模型70,而利用在第一阶段中学习完毕的神经网络(50、51)中的至少任一个来执行上述步骤S701~步骤S703的处理。
[特征]
如上所述,在本实施方式中,在各神经网络(50、51)中,配置为比输出层(507、517)更靠近输入侧的层被选择为关注层(503、517)。各神经网络(50、51)的输出层(507、517)的形式依赖于使其学习的推定任务的种类。与此相对,配置为比各神经网络(50、51)的输出层(507、517)更靠近输入侧的层的形式能够不依赖于推定任务的种类而设定。
但是,在步骤S102的机器学习中,第一训练数据122的输入,仅执行使输出层(507、517)的输出值适合于第一正解数据123的训练(步骤S203)的情况下,各关注层(503、513)的输出值针对相同的输入数据产生偏差。因此,在本实施方式中,在步骤S102的机器学习中,与步骤S203的训练一起,执行使步骤S204的关注层(503、513)的输出值彼此适合的训练。由此,在步骤S304以及步骤S305中,能够基于关注层(503、513)的输出值,适当地评价针对各件第二训练数据221的输出的不稳定性。
因此,在本实施方式中,通过将输出形式共同的层设定为关注层(503、513),能够不依赖于使各神经网络(50、51)学习的任务的种类,而使用共同的指标来评价针对各件第二训练数据221的各神经网络(50、51)的输出的不稳定性。即,即使在根据推定任务的种类变更了各神经网络(50、51)的输出层(507、517)的输出形式的情况下,在步骤S304中,也能够不变更获得函数地评价针对各件第二训练数据221的输出的不稳定性。另外,通过步骤S204,执行使关注层(503、513)的输出值彼此适合的训练,因此在步骤S305中,能够基于该评价的结果,适当地提取推定为有助于提高推定器的性能的程度高的第二训练数据223。因此,根据本实施方式,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。
另外,本实施方式所涉及的学习装置1在第二阶段中,还使用通过主动学习提取出的第二训练数据223,能够高效地生成性能更高的学习完毕的学习模型。另外,本实施方式所涉及的推定装置3通过利用通过第二阶段生成的学习完毕的学习模型,能够高精度地执行规定的推定任务。
§4变形例
上面,对本发明的实施方式详细进行了说明,但上述的说明在所有方面仅是本发明的例示。当然能够在不脱离本发明的范围的情况下进行各种改良或变形。例如,能够进行以下的变更。需要说明的是,以下,对与上述实施方式相同的构成要素使用相同的符号,对与上述实施方式相同的点适当省略说明。以下的变形例能够适当组合。
<4.1>
上述实施方式所涉及的推定系统100被应用于推定由传感器S得到的传感数据所包含的特征的场景。然而,上述实施方式的应用范围不限定于这样的例子。上述实施方式能够应用于对任意种类的数据执行任意的推定任务的所有场景。以下,例示限定了应用场景的变形例。
(A)外观检查的场景
图13示意性地例示第一变形例所涉及的检查系统100A的应用场景的一例。本变形例是将上述实施方式应用于进行在生产线上输送的产品R的外观检查的场景的例子。如图13所示,本实施方式所涉及的检查系统100A具备学习装置1、数据生成装置2以及检查装置3A。与上述实施方式同样地,学习装置1、数据生成装置2以及检查装置3A可以经由网络相互连接。
本变形例所涉及的检查系统100A除了处理的数据不同这一点以外,可以与上述实施方式同样地构成。与上述实施方式同样地,学习装置1在第一阶段中,使用多个第一学习数据集121,实施各神经网络(50、51)的机器学习。数据生成装置2利用在第一阶段的机器学习中训练后的各神经网络(50、51),生成至少一个以上的第二学习数据集227。学习装置1在第二阶段中,使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,实施各神经网络(50、51)的再学习或者新的学习模型52的有示教学习。
各训练数据(122、223)是产品R示出的图像数据。产品R例如可以是电子设备、电子部件、汽车部件、药品、食品等。电子部件例如可以是基板、芯片电容器、液晶、继电器的绕组等。汽车部件例如可以是连杆、轴、发动机缸体、电动车窗开关、面板等。药品例如可以是已包装的片剂、未包装的片剂等。产品R可以是在制造过程完成后生成的最终品,也可以是在制造过程的中途生成的中间品,也可以是在经过制造过程之前准备的初始品。
各训练数据(122、223)通过由摄像头SA或与其同种的摄像头拍摄产品R而得到。摄像头的种类没有特别限定。摄像头例如可以使用构成为获取RGB图像的一般的数字摄像头、构成为获取深度图像的深度摄像头、构成为使红外线量图像化的红外线摄像头等。
各训练数据(122、223)所包含的特征涉及产品R的状态。产品R的状态例如可以是与划痕、污渍、裂纹、压痕、毛刺、颜色不均、异物混入等缺陷的有无相关的状态。与此相应地,各正解数据(123、225)例如可以构成为表示在产品R中是否包含缺陷、产品R所包含的缺陷的种类、产品R所包含的缺陷的范围等。各正解数据(123、225)可以由操作员的输入而得到。另外,也可以利用训练为推定在图像数据中示出的产品R的状态的推定器,获取推定各训练数据(122、223)中示出的产品R的状态的结果作为各正解数据(123、225)。
在第二阶段中,学习装置1使用上述各训练数据(122、223)以及各正解数据(123、225),实施学习模型(各神经网络(50、51)以及学习模型52中的至少任一个)的机器学习。由此,学习模型构成为能够执行推定在图像数据中示出的产品的状态的任务。学习装置1通过上述步骤S503的处理,生成与该学习完毕的学习模型相关的信息作为第二学习结果数据127A,将所生成的第二学习结果数据127A保存在规定的存储区域中。
检查装置3A与上述推定装置3对应。检查装置3A除了处理的数据不同这一点以外,也可以与上述推定装置3同样地构成。第二学习结果数据127A可以在任意的时刻提供给检查装置3A。在本变形例中,检查装置3A与摄像头SA连接。检查装置3A通过利用摄像头SA来拍摄对产品R,从而获取该产品R示出的对象图像数据。检查装置3A利用由学习装置1构建的学习完毕的学习模型,基于所获取的对象图像数据来推定产品R的状态。
<检查装置的硬件结构>
图14A示意性地例示本变形例所涉及的检查装置3A的硬件结构的一例。如图14A所示,本变形例所涉及的检查装置3A与上述推定装置3同样地,是控制部31、存储部32、通信接口33、输入装置34、输出装置35、驱动器36,以及外部接口37电连接的计算机。检查装置3A经由外部接口37与摄像头SA连接。摄像头SA也可以适当地配置在能够拍摄产品R的场所。例如,摄像头SA也可以配置在输送产品R的输送装置的附近。但是,检查装置3A的硬件结构不限定于这样的例子。关于检查装置3A的具体的硬件结构,能够根据实施方式适当地省略、置换以及追加构成要素。检查装置3A除了被设计为所提供的服务专用的信息处理装置以外,也可以是通用的服务器装置、通用的PC、PLC(programmable logic controller:可编程逻辑控制器)等。
本变形例所涉及的检查装置3A的存储部32存储检查程序83A、第二学习结果数据127A等各种信息。检查程序83A以及第二学习结果数据127A与上述实施方式所涉及的推定程序83以及第二学习结果数据127对应。检查程序83A以及第二学习结果数据127A中的至少任一个也可以存储在存储介质93中。另外,检查装置3A也可以从存储介质93获取检查程序83A以及第二学习结果数据127A中的至少任一个。
<检查装置的软件结构以及动作例>
图14B示意性地例示本变形例所涉及的检查装置3A的软件结构的一例。与上述实施方式同样地,检查装置3A的软件结构通过由控制部31执行检查程序83A来实现。如图14B所示,除了处理的数据从传感数据置换为图像数据这一点以外,检查装置3A的软件结构与上述推定装置3的软件结构相同。由此,检查装置3A与上述推定装置3的推定处理同样地,执行与检查处理相关的一系列的处理。
即,在步骤S701中,控制部31作为数据获取部311进行动作,从摄像头SA获取成为外观检查的对象的产品R示出的对象图像数据321A。在步骤S702中,控制部31作为推定部312进行动作,利用学习完毕的学习模型70A,推定在所获取的对象图像数据321A中示出的产品R的状态。具体而言,控制部31参照第二学习结果数据127A,进行学习完毕的学习模型70A的设定。学习完毕的学习模型70A是通过上述第二阶段的机器学习训练后的神经网络(50、51)以及学习模型52中的至少任一个。控制部31将所获取的对象图像数据321A输入到学习完毕的学习模型70A,执行学习完毕的学习模型70A的运算处理。由此,控制部31从学习完毕的学习模型70A获取与推定对象图像数据321A示出的产品R的状态的结果对应的输出值。
在步骤S703中,控制部31作为输出部313进行动作,输出与推定产品R的状态的结果相关的信息。输出目的地以及输出信息分别与上述实施方式同样地,可以根据实施方式适当确定。例如,控制部31也可以将推定产品R的状态的结果直接输出到输出装置35。另外,例如,控制部31也可以在产品R包含缺陷的情况下,向输出装置35输出用于通知该情况的警告。另外,例如,在检查装置3A与输送产品R的输送装置(未图示)连接的情况下,也可以基于推定产品R的状态的结果,对输送装置进行控制,使得无缺陷的产品R与具有缺陷的产品R以不同的线路输送。
根据本变形例,在构建用于外观检查的推定器的场景下,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。另外,能够进一步使用通过主动学习提取出的第二训练数据223,高效地生成性能更高的学习完毕的学习模型。检查装置3A通过利用由此生成的学习完毕的学习模型,能够高精度地执行产品R的外观检查。
(B)推定对象者的状态的场景
图15示意性地例示第二变形例所涉及的监视系统100B的应用场景的一例。本变形例是在推定对象者的状态的场景中应用了上述实施方式的例子。在图15中,作为预测对象者的状态的场景的一例,例示了对车辆的驾驶员RB的状态进行监视的场景。驾驶员RB是对象者的一例。如图15所示,本实施方式所涉及的监视系统100B具备学习装置1、数据生成装置2以及监视装置3B。与上述实施方式同样地,学习装置1、数据生成装置2以及监视装置3B可以经由网络相互连接。
本变形例所涉及的监视系统100B除了处理的数据不同这一点以外,也可以与上述实施方式同样地构成。与上述实施方式同样地,学习装置1在第一阶段中,使用多个第一学习数据集121,实施各神经网络(50、51)的机器学习。数据生成装置2利用在第一阶段的机器学习中训练后的各神经网络(50、51),生成至少一个以上的第二学习数据集227。学习装置1在第二阶段中,使用多个第一学习数据集121以及至少一个以上的第二学习数据集227,实施各神经网络(50、51)的再学习或者新的学习模型52的有示教学习。
各训练数据(122、223)由通过对受检者的状态进行观察的传感器而得到的传感数据构成。传感器只要能够观察人物(受检者、对象者)的状态,则其种类没有特别限定,可以根据实施方式适当选择。在图15的例子中,作为观察人物的状态的传感器的一例,使用摄像头SB1以及活力传感器SB2。
各训练数据(122、223)通过由摄像头SB1和活力传感器SB2以及与它们同种的传感器观察受检者(驾驶员)的状态而得到。摄像头SB1例如可以使用一般的RGB摄像头、深度摄像头、红外线摄像头等。另外,活力传感器SB例如可以使用体温计、血压计、脉搏计等。各训练数据(122、223)由图像数据以及活力的测定数据构成。
各训练数据(122、223)所包含的特征涉及受检者的状态。在本变形例中,受检者的状态例如也可以包括表示受检者的睡意程度的睡意度、表示受检者的疲劳程度的疲劳度、表示针对受检者的驾驶的富余程度的富余度、或它们的组合。与此相应地,各正解数据(123、225)例如可以构成为表示受检者的状态的类别、表示受检者的状态的数值、受检者的出现范围等。各正解数据(123、225)可以由操作员的输入而得到。另外,也可以利用训练为根据传感数据推定对象者的状态的推定器,根据各训练数据(122、223)推定受检者的状态的结果作为各正解数据(123、225)而获取。
在第二阶段中,学习装置1使用上述各训练数据(122、223)以及各正解数据(123、225),实施学习模型(各神经网络(50、51)以及学习模型52中的至少任一个)的机器学习。由此,学习模型构成为能够执行根据传感数据推定对象者的状态的任务。学习装置1通过上述步骤S503的处理,生成与该学习完毕的学习模型相关的信息作为第二学习结果数据127B,将生成的第二学习结果数据127B保存在规定的存储区域中。
监视装置3B与上述推定装置3对应。监视装置3B除了处理的数据不同这一点以外,也可以与上述推定装置3同样地构成。第二学习结果数据127B可以在任意的时刻提供给监视装置3B。在本变形例中,从摄像头SB1和活力传感器SB2获取对象传感数据。监视装置3B利用由学习装置1构建的学习完毕的学习模型,基于所获取的传感数据来推定驾驶员RB的状态。
<监视装置的硬件结构>
图16A示意性地例示本变形例所涉及的监视装置3B的硬件结构的一例。如图16A所示,本变形例所涉及的监视装置3B与上述推定装置3同样地,是控制部31、存储部32、通信接口33、输入装置34、输出装置35、驱动器36,以及外部接口37电连接的计算机。监视装置3B经由外部接口37与摄像头SB1以及活力传感器SB2连接。摄像头SB1可以适当地配置在能够拍摄驾驶员RB的场所。活力传感器SB2可以适当地配置在能够测定驾驶员RB的活力的场所。但是,监视装置3B的硬件结构不限定于这样的例子。关于监视装置3B的具体的硬件结构,能够根据实施方式适当地省略、置换以及追加构成要素。监视装置3B除了被设计为所提供的服务专用的信息处理装置以外,也可以是通用的计算机、包括智能手机的移动电话、车载装置等。
本变形例所涉及的监视装置3B的存储部32存储监视程序83B、第二学习结果数据127B等各种信息。监视程序83B以及第二学习结果数据127B与上述实施方式所涉及的推定程序83以及第二学习结果数据127对应。监视程序83B以及第二学习结果数据127B中的至少任一个也可以存储在存储介质93中。另外,监视装置3B也可以从存储介质93获取监视程序83B以及第二学习结果数据127B中的至少任一个。
<监视装置的软件结构以及动作例>
图16B示意性地例示本变形例所涉及的监视装置3B的软件结构的一例。与上述实施方式同样地,监视装置3B的软件结构通过由控制部31执行监视程序83B来实现。如图16B所示,除了处理的数据是由观察人物的状态的传感器得到的传感数据这一点以外,监视装置3B的软件结构与上述推定装置3的软件结构相同。由此,监视装置3B与上述推定装置3的推定处理同样地执行与监视处理相关的一系列的处理。
即,在步骤S701中,控制部31作为数据获取部311进行动作,从对驾驶员RB的状态进行观察的传感器获取对象感应数据321B。在本变形例中,作为该传感器,摄像头SB1以及活力传感器SB2与监视装置3B连接。因此,所获取的目标传感数据321B由从摄像头SB1得到的图像数据以及从活力传感器SB2得到的活力的测定数据构成。
在步骤S702中,控制部31作为推定部312进行动作,利用学习完毕的学习模型70B,根据所获取的对象传感数据321B推定驾驶员RB的状态。具体而言,控制部31参照第二学习结果数据127B,进行学习完毕的学习模型70B的设定。学习完毕的学习模型70B是通过上述第二阶段的机器学习训练后的神经网络(50、51)以及学习模型52中的至少任一个。控制部31将所获取的对象传感数据321B输入到学习完毕的学习模型70B,执行学习完毕的学习模型70B的运算处理。由此,控制部31从学习完毕的学习模型70B获取与从对象传感数据321B推定出驾驶员RB的状态的结果对应的输出值。
在步骤S703中,控制部31作为输出部313进行动作,输出与推定出驾驶员RB的状态的结果相关的信息。输出目的地以及输出的信息的内容分别可以根据实施方式适当确定。例如,控制部31也可以将推定出驾驶员RB的状态的结果直接输出到输出装置35。另外,例如,控制部31也可以基于推定的结果来执行某些信息处理。另外,控制部31也可以将执行该信息处理的结果作为与推定的结果相关的信息而输出。
作为该信息处理的一例,控制部31也可以根据推定出的驾驶员RB的状态,向输出装置35输出警告等特定的消息。作为具体例,在将驾驶员RB的睡意度以及疲劳度中的至少一方推定为驾驶员RB的状态的情况下,控制部31可以判定推定出的睡意度以及疲劳度中的至少一方是否超过阈值。阈值可以适当设定。另外,在睡意度以及疲劳度中的至少一方超过了阈值的情况下,控制部31可以向输出装置35输出警告,以促使驾驶员RB在停车场等停车并休息。
另外,例如,在构成为车辆能够进行自动驾驶动作的情况下,控制部31也可以基于推定驾驶员RB的状态的结果来控制车辆的自动驾驶的动作。作为一例,假定车辆构成为能够在通过系统来控制车辆行驶的自动驾驶模式以及通过驾驶员RB转向来控制车辆行驶的手动驾驶模式之间切换。
在该情况下,在自动驾驶模式下车辆正在行驶,从驾驶员RB或者系统受理了从自动驾驶模式向手动驾驶模式的切换时,控制部31可以判定所推定出的驾驶员RB的富余度是否超过了阈值。另外,在驾驶员RB的富余度超过阈值的情况下,控制部31也可以允许从自动驾驶模式向手动驾驶模式的切换。另一方面,在驾驶员RB的富余度为阈值以下的情况下,控制部31也可以不允许从自动驾驶模式向手动驾驶模式的切换,而维持以自动驾驶模式进行行驶。
另外,在车辆以手动驾驶模式进行行驶时,控制部31也可以判定推定出的睡意度以及疲劳度中的至少一方是否超过阈值。另外,在睡意度以及疲劳度中的至少一方超过了阈值的情况下,控制部31也可以从手动驾驶模式切换为自动驾驶模式,并向车辆的系统发送指示在停车场等安全的场所停车的指令。另一方面,在不是这样的情况下,控制部31也可以维持以手动驾驶模式进行车辆的行驶。
另外,在车辆以手动驾驶模式进行行驶时,控制部31也可以判定推定出的富余度是否为阈值以下。另外,在富余度为阈值以下的情况下,控制部31也可以将减速的指令发送至车辆的系统。另一方面,在不是这样的情况下,控制部31也可以维持以驾驶员RB的操作进行车辆的行驶。
根据本变形例,在构建用于推定对象者的状态的推定器的场景中,即使在任务的种类不同的神经网络中也能够利用共同的指标来实施主动学习。另外,能够进一步使用通过主动学习提取出的第二训练数据223,高效地生成性能更高的学习完毕的学习模型。监视装置3B通过利用由此生成的学习完毕的学习模型,能够高精度地执行推定驾驶员RB的状态的任务。
需要说明的是,成为推定状态的对象的对象者不限于图15所例示的车辆的驾驶员RB,也可以包括所有的人物。成为预测状态的对象的对象者例如也可以包括在办公室、工厂等进行作业的作业者、测量活力的被测量者等。
图17示意性地例示预测对象者的状态的其他场景的一例。图17所例示的诊断系统100C具备学习装置1、数据生成装置2以及诊断装置3C。诊断装置3C与上述监视装置3B对应。在图17的例子中,诊断装置3C与活力传感器SC连接,通过该活力传感器SC获取被测量者的对象传感数据。诊断装置3C通过与上述监视装置3B同样的处理来推定被测量者的状态。被测量者的状态可以包括该被测量者的健康状态。健康状态例如可以包括是否健康、是否有生病的预兆等。各正解数据(123、225)例如可以构成为表示人物的健康状态的类别、对象生病的概率等。
<4.2>
在上述实施方式中,在各神经网络(50、51)中使用卷积神经网络。然而,各神经网络(50、51)的种类不限定于这样的例子,可以根据实施方式适当选择。在各神经网络(50、51)中,除了上述卷积神经网络以外,还可以使用全结合型神经网络、递归型神经网络等。或者,各神经网络(50、51)可以由具有多个不同结构的神经网络的组合构成。各神经网络(50、51)的结构没有特别限定,可以根据实施方式适当设定。
另外,在上述实施方式中,关注层(503、513)是配置为卷积神经网络的中间层的卷积层。然而,关注层(503、513)不限于卷积层,可以根据实施方式适当选择。除了卷积层以外,例如可以将池化层、全结合层等中间层设定为关注层。需要说明的是,在将对卷积层的输出进行池化处理的池化层(即,紧接卷积层之后配置的池化层)设定为关注层的情况下,该池化层的输出能够与卷积层的输出同样地处理。因此,通过与上述实施方式同样的方法(式1~式3中的任一个),能够根据池化层的输出值来计算评价值222。另外,在将包括多个神经元(节点)的全结合层设定为关注层的情况下,该全结合层的输出也能够与卷积层的输出同样地处理。因此,通过与上述实施方式同样的方法(式1~式3中的任一个),能够根据全结合层的输出值来计算评价值222。另一方面,在将包含一个神经元(节点)的全结合层设定为关注层的情况下,通过上述式3的方法,能够根据全结合层的输出值来计算评价值222。
<4.3>
在上述实施方式中,学习装置1执行第一阶段的机器学习以及第二阶段的机器学习两者。另外,学习装置1以及数据生成装置2是不同的计算机。然而,学习系统101的结构不限定于这样的例子。例如,第一阶段的机器学习以及第二阶段的机器学习可以分别由不同的计算机执行。另外,例如,学习装置1以及数据生成装置2可以由一体的计算机构成。
<4.4>
在上述实施方式中,数据生成装置2将由各神经网络(50、51)导出的评价值222用于从未赋予正解数据的第二训练数据221中提取成为赋予正解数据的对象的第二训练数据223。然而,基于评价值222的提取不限定于这样的例子。数据生成装置2例如为了从已经被赋予了正解数据的多件训练数据、即多件学习数据集中提取被推定为有助于提高推定器的性能的程度高的一个以上的学习数据集,也可以利用评价值222。该学习数据集的提取处理能够按照与上述第二训练数据223的提取处理同样的处理步骤来执行。在该情况下,也可以对第二训练数据221赋予正解数据。也可以从数据生成装置2的上述处理步骤中省略步骤S306。另外,也可以从数据生成装置2的软件结构中省略生成部215。
附图标记说明:
100…推定系统,101…学习系统,1…学习装置,11…控制部,12…存储部,13…通信接口,14…输入装置,15…输出装置,16…驱动器,111…数据获取部(第一数据获取部),112…学习处理部,113…保存处理部,121…第一学习数据集,122…第一训练数据,123…第一正解数据,125…第一学习结果数据,127…第二学习结果数据,81…学习程序,85…第一数据池,91…存储介质,2…数据生成装置,21…控制部,22…存储部,23…通信接口,24…输入装置,25…输出装置,26…驱动器,211…模型获取部,212…数据获取部(第二数据获取部),213…评价部,214…提取部,215…生成部,216…输出部,221…第二训练数据,222…评价值,223…(所提取的)第二训练数据,225…第二正解数据,227…第二学习数据集,82…数据生成程序,87…第二数据池,92…存储介质,3…推定装置,31…控制部,32…存储部,33…通信接口,34…输入装置,35…输出装置,36…驱动器,37…外部接口,311…数据获取部,312…推定部,313…输出部,321…对象数据,83…推定程序,93…存储介质,50…第一神经网络,501…输入层,503…关注层,507…输出层,51…第二神经网络,511…输入层,513……关注层,517…输出层,52…学习模型,70…推定器。
Claims (10)
1.一种学习系统,具备:
第一数据获取部,获取由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合分别构成的多个第一学习数据集;
学习处理部,使用所获取的所述多个第一学习数据集,实施多个神经网络的机器学习,其中,
所述各神经网络包括从输入侧向输出侧排列配置的多个层,
所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,
实施所述机器学习包括:针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练所述各神经网络,使得从所述各神经网络的所述关注层输出的输出值彼此适合;
第二数据获取部,获取多件第二训练数据;
评价部,通过对训练后的所述各神经网络输入所述各件第二训练数据,从所述各神经网络的所述关注层获取输出值,基于从所述各神经网络的所述关注层获取的所述输出值,计算表示对于所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值;
提取部,从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据;以及
生成部,分别对于提取出的所述至少一件以上的第二训练数据,受理表示所述第二训练数据所包含的特征的第二正解数据的输入,由此,生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集,
所述学习处理部使用所述多个第一学习数据集以及所述至少一个以上的第二学习数据集,再次实施所述多个神经网络的机器学习,或者实施与所述多个神经网络不同的学习模型的有示教学习。
2.根据权利要求1所述的学习系统,其中,
所述各神经网络是卷积神经网络,
所述关注层是卷积层。
3.根据权利要求2所述的学习系统,其中,
从所述各神经网络的所述关注层输出的输出值彼此适合是指,根据从所述各卷积神经网络的所述卷积层输出的特征图导出的关注图彼此一致。
4.根据权利要求1至3中任一项所述的学习系统,其中,
所述各神经网络的所述多个层具备用于运算的运算参数,
训练所述各神经网络包括:针对所述各第一学习数据集,重复进行所述各神经网络的所述运算参数的值的调整,使得在对所述各神经网络输入了所述第一训练数据时,从所述各神经网络的所述输出层输出的输出值与所述第一正解数据的误差变小,并且从所述各神经网络的所述关注层输出的输出值之间的误差变小,
与从所述关注层输出的输出值之间的误差相关的学习率被设定为每当重复所述运算参数的值的调整时变大。
5.根据权利要求1至4中任一项所述的学习系统,其中,
所述各训练数据由产品示出的图像数据构成,
所述特征涉及所述产品的状态。
6.根据权利要求1至4中任一项所述的学习系统,其中,
所述各训练数据由通过观察受检者的状态的传感器得到的传感数据构成,
所述特征涉及所述受检者的状态。
7.一种数据生成装置,具备:
模型获取部,获取通过使用了多个第一学习数据集的机器学习训练后的多个神经网络,所述多个第一学习数据集分别由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合构成,其中,
所述各神经网络包括从输入侧向输出侧排列配置的多个层,
所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,
所述各神经网络通过所述机器学习,针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练为从所述各神经网络的所述关注层输出的输出值彼此适合;
数据获取部,获取多件第二训练数据;
评价部,通过对训练后的所述各神经网络输入所述各件第二训练数据,从所述各神经网络的所述关注层获取输出值,基于从所述各神经网络的所述关注层获取的所述输出值,计算表示对于所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值;
提取部,从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据;以及
生成部,分别对于提取出的所述至少一件以上的第二训练数据,受理表示所述第二训练数据所包含的特征的第二正解数据的输入,由此,生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集。
8.一种数据生成装置,其中,
所述数据生成装置还具备输出部,
所述输出部将所生成的所述至少一个以上的第二学习数据集以能够供学习模型的有示教学习使用的方式输出。
9.一种数据生成方法,其中,
计算机执行以下步骤:
获取通过使用了多个第一学习数据集的机器学习训练后的多个神经网络,所述多个第一学习数据集分别由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合构成,
所述各神经网络包括从输入侧向输出侧排列配置的多个层,
所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,
所述各神经网络通过所述机器学习,针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练为从所述各神经网络的所述关注层输出的输出值彼此适合;
获取多件第二训练数据;
通过对训练后的所述各神经网络输入所述各件第二训练数据来从所述各神经网络的所述关注层获取输出值;
基于从所述各神经网络的所述关注层获取的所述输出值,计算表示对于所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值;
从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据;以及
通过分别针对提取出的所述至少一件以上的第二训练数据受理表示所述第二训练数据所包含的特征的第二正解数据的输入,生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集。
10.一种数据生成程序,用于使计算机执行以下步骤:
获取通过使用了多个第一学习数据集的机器学习训练后的多个神经网络,所述多个第一学习数据集分别由第一训练数据以及表示该第一训练数据所包含的特征的第一正解数据的组合构成,
所述各神经网络包括从输入侧向输出侧排列配置的多个层,
所述多个层包括配置为最靠近输出侧的输出层以及配置为比该输出层更靠近输入侧的关注层,
所述各神经网络通过所述机器学习,针对所述各第一学习数据集,在对所述各神经网络输入所述第一训练数据时,从所述各神经网络的所述输出层输出适合于所述第一正解数据的输出值,并且训练为从所述各神经网络的所述关注层输出的输出值彼此适合;
获取多件第二训练数据;
通过对训练后的所述各神经网络输入所述各件第二训练数据来从所述各神经网络的所述关注层获取输出值;
基于从所述各神经网络的所述关注层获取的所述输出值,计算表示对于所述各件第二训练数据的所述各神经网络的输出的不稳定性的评价值;
从所述多件第二训练数据中提取所述评价值满足用于判定为所述不稳定性高的条件中的至少一件以上的第二训练数据;以及
通过分别针对提取出的所述至少一件以上的第二训练数据受理表示所述第二训练数据所包含的特征的第二正解数据的输入,生成由所述第二训练数据以及所述第二正解数据的组合分别构成的至少一个以上的第二学习数据集。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/017585 WO2020217371A1 (ja) | 2019-04-25 | 2019-04-25 | 学習システム、データ生成装置、データ生成方法、及びデータ生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113557536A true CN113557536A (zh) | 2021-10-26 |
CN113557536B CN113557536B (zh) | 2024-05-31 |
Family
ID=
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835901A (en) * | 1994-01-25 | 1998-11-10 | Martin Marietta Corporation | Perceptive system including a neural network |
CN1758034A (zh) * | 2004-10-08 | 2006-04-12 | 欧姆龙株式会社 | 知识作成装置及参数搜索方法 |
JP2016031746A (ja) * | 2014-07-30 | 2016-03-07 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
CN105654176A (zh) * | 2014-11-14 | 2016-06-08 | 富士通株式会社 | 神经网络系统及神经网络系统的训练装置和方法 |
CN105809815A (zh) * | 2015-01-19 | 2016-07-27 | 株式会社巨晶片 | 特征图像生成装置和判定装置以及特征图像生成方法和判定方法 |
CN106295799A (zh) * | 2015-05-12 | 2017-01-04 | 核工业北京地质研究院 | 一种深度学习多层神经网络的实现方法 |
CN106446209A (zh) * | 2016-09-30 | 2017-02-22 | 浙江大学 | 一种海洋环境监测要素短期预测方法 |
US20170228639A1 (en) * | 2016-02-05 | 2017-08-10 | International Business Machines Corporation | Efficient determination of optimized learning settings of neural networks |
JP2018005640A (ja) * | 2016-07-04 | 2018-01-11 | タカノ株式会社 | 分類器生成装置、画像検査装置、及び、プログラム |
JP2018055580A (ja) * | 2016-09-30 | 2018-04-05 | 富士通株式会社 | 機械学習プログラム、機械学習方法、および機械学習装置 |
CN108182389A (zh) * | 2017-12-14 | 2018-06-19 | 华南师范大学 | 基于大数据与深度学习的用户数据处理方法、机器人系统 |
CN108351986A (zh) * | 2015-10-30 | 2018-07-31 | 株式会社摩如富 | 学习系统、学习装置、学习方法、学习程序、训练数据生成装置、训练数据生成方法、训练数据生成程序、终端装置以及阈值变更装置 |
CN109325508A (zh) * | 2017-07-31 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 知识表示、机器学习模型训练、预测方法、装置以及电子设备 |
KR20190034021A (ko) * | 2017-09-22 | 2019-04-01 | 삼성전자주식회사 | 객체를 인식하는 방법 및 장치 |
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835901A (en) * | 1994-01-25 | 1998-11-10 | Martin Marietta Corporation | Perceptive system including a neural network |
CN1758034A (zh) * | 2004-10-08 | 2006-04-12 | 欧姆龙株式会社 | 知识作成装置及参数搜索方法 |
JP2016031746A (ja) * | 2014-07-30 | 2016-03-07 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
CN105654176A (zh) * | 2014-11-14 | 2016-06-08 | 富士通株式会社 | 神经网络系统及神经网络系统的训练装置和方法 |
CN105809815A (zh) * | 2015-01-19 | 2016-07-27 | 株式会社巨晶片 | 特征图像生成装置和判定装置以及特征图像生成方法和判定方法 |
CN106295799A (zh) * | 2015-05-12 | 2017-01-04 | 核工业北京地质研究院 | 一种深度学习多层神经网络的实现方法 |
CN108351986A (zh) * | 2015-10-30 | 2018-07-31 | 株式会社摩如富 | 学习系统、学习装置、学习方法、学习程序、训练数据生成装置、训练数据生成方法、训练数据生成程序、终端装置以及阈值变更装置 |
US20170228639A1 (en) * | 2016-02-05 | 2017-08-10 | International Business Machines Corporation | Efficient determination of optimized learning settings of neural networks |
JP2018005640A (ja) * | 2016-07-04 | 2018-01-11 | タカノ株式会社 | 分類器生成装置、画像検査装置、及び、プログラム |
CN106446209A (zh) * | 2016-09-30 | 2017-02-22 | 浙江大学 | 一种海洋环境监测要素短期预测方法 |
JP2018055580A (ja) * | 2016-09-30 | 2018-04-05 | 富士通株式会社 | 機械学習プログラム、機械学習方法、および機械学習装置 |
CN109325508A (zh) * | 2017-07-31 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 知识表示、机器学习模型训练、预测方法、装置以及电子设备 |
KR20190034021A (ko) * | 2017-09-22 | 2019-04-01 | 삼성전자주식회사 | 객체를 인식하는 방법 및 장치 |
CN108182389A (zh) * | 2017-12-14 | 2018-06-19 | 华南师范大学 | 基于大数据与深度学习的用户数据处理方法、机器人系统 |
Non-Patent Citations (2)
Title |
---|
SUN SHILIANG 等: "Multiple-View Multiple-Learner Semi-Supervised Learning", NEURAL PROCESSING LETTERS, pages 229 - 240 * |
WILLIAM H. BELUCH 等: "The power of ensembles for active learning in image classification", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, pages 9368 - 9377 * |
Also Published As
Publication number | Publication date |
---|---|
EP3961555A1 (en) | 2022-03-02 |
JPWO2020217371A1 (zh) | 2020-10-29 |
EP3961555A4 (en) | 2022-11-02 |
WO2020217371A1 (ja) | 2020-10-29 |
JP7164028B2 (ja) | 2022-11-01 |
US20220172046A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6844563B2 (ja) | 検査装置、画像識別装置、識別装置、検査方法、及び検査プログラム | |
EP4006790A1 (en) | Inference device, inference method, and inference program | |
JP7003953B2 (ja) | 学習装置、推定装置、データ生成装置、学習方法、及び学習プログラム | |
US11715190B2 (en) | Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device | |
CN111712840B (zh) | 注释方法、注释装置、存储介质以及识别系统 | |
JP7059883B2 (ja) | 学習装置、画像生成装置、学習方法、及び学習プログラム | |
JP2016085704A (ja) | 情報処理システム、情報処理装置、情報処理方法、及びプログラム | |
JP7164028B2 (ja) | 学習システム、データ生成装置、データ生成方法、及びデータ生成プログラム | |
CN112534367B (zh) | 学习装置、控制装置、学习方法以及计算机可读存储介质 | |
CN111758117B (zh) | 检查系统、识别系统以及学习数据生成装置 | |
CN115210724A (zh) | 模型生成装置、推断装置、模型生成方法及模型生成程序 | |
WO2021100483A1 (ja) | モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム | |
JP2019158684A (ja) | 検査システム、識別システム、及び識別器評価装置 | |
CN113557536B (zh) | 学习系统、数据生成装置、数据生成方法及存储介质 | |
JP2020064364A (ja) | 学習装置、画像生成装置、学習方法、及び学習プログラム | |
US11361424B2 (en) | Neural network-type image processing device, appearance inspection apparatus and appearance inspection method | |
US20220101137A1 (en) | Learning device, extraction device, learning method, extraction method, learning program, and extraction program | |
US20240161259A1 (en) | Inference device, model generation device, inference method, and non-transitory computer storage media | |
CN114556448A (zh) | 模型生成装置、推断装置、模型生成方法以及模型生成程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |