CN116635877A - 模型生成装置、推测装置、模型生成方法以及模型生成程序 - Google Patents
模型生成装置、推测装置、模型生成方法以及模型生成程序 Download PDFInfo
- Publication number
- CN116635877A CN116635877A CN202180081830.XA CN202180081830A CN116635877A CN 116635877 A CN116635877 A CN 116635877A CN 202180081830 A CN202180081830 A CN 202180081830A CN 116635877 A CN116635877 A CN 116635877A
- Authority
- CN
- China
- Prior art keywords
- input
- tensor
- feature
- vertex
- vertices
- 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
- 238000000034 method Methods 0.000 title claims description 100
- 238000010801 machine learning Methods 0.000 claims abstract description 123
- 238000012549 training Methods 0.000 claims description 206
- 238000012545 processing Methods 0.000 claims description 105
- 230000008569 process Effects 0.000 claims description 35
- 238000009954 braiding Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 118
- 230000000052 comparative effect Effects 0.000 description 82
- 238000003860 storage Methods 0.000 description 57
- 230000006870 function Effects 0.000 description 52
- 238000009826 distribution Methods 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 33
- 238000012795 verification Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 26
- 238000004422 calculation algorithm Methods 0.000 description 24
- 238000012986 modification Methods 0.000 description 22
- 230000004048 modification Effects 0.000 description 22
- 238000002474 experimental method Methods 0.000 description 20
- 230000010365 information processing Effects 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 9
- 239000000126 substance Substances 0.000 description 9
- 239000013598 vector Substances 0.000 description 8
- 238000009941 weaving Methods 0.000 description 8
- 241000282326 Felis catus Species 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 7
- 230000000903 blocking effect Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000002146 bilateral effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000001351 cycling effect Effects 0.000 description 5
- 239000000470 constituent Substances 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000009499 grossing Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000002910 structure generation Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- JQMFQLVAJGZSQS-UHFFFAOYSA-N 2-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]piperazin-1-yl]-N-(2-oxo-3H-1,3-benzoxazol-6-yl)acetamide Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)N1CCN(CC1)CC(=O)NC1=CC2=C(NC(O2)=O)C=C1 JQMFQLVAJGZSQS-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 240000004760 Pimpinella anisum Species 0.000 description 1
- 238000005162 X-ray Laue diffraction Methods 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000857 drug effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/0475—Generative networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
实现对以图表达的任务的解进行推测的精度的提高。本发明的一方面的模型生成装置实施包括特征编织网络以及推测器的推测模块的机器学习。特征编织网络包括多个特征编织层。各特征编织层的编码器构成为,在反映出与其他顶点之间的关系的基础上,编织各顶点的流出枝以及流入枝的特征量。而且,各特征编织层的编码器构成为,并非针对每个顶点来计算邻接的枝的特征的加权和,而是关于对象顶点来根据所输入的所有枝的特征量导出各枝的相对特征量。
Description
技术领域
本发明涉及一种模型生成装置、推测装置、模型生成方法以及模型生成程序。
背景技术
在解算匹配、路径搜索等各种推论任务时,为了表达各种信息,有时会使用图。图基本上包含顶点(节点)以及枝(边缘)。根据任务,例如可使用有向图(digraph)、二部图(bipartite graph)等具有各种结构的图。
作为一例,在解算稳定匹配问题时,可使用二部图。稳定匹配问题例如是求职者与雇主间的匹配等双边市场(two sided market)的分配问题。二部图是以将顶点集分割为两个子集且在各子集内的顶点彼此之间不存在枝的方式构成的图(即,构成二部图的多个顶点被划分为属于两个子集中的任一个且在各子集内不存在枝)。
作为表达稳定匹配问题的方法的一例,各子集关联于进行匹配的对象所属的团体(party),各子集内的顶点关联于匹配的对象(例如求职者/雇主)。各对象(顶点)具有对属于其他团体的对象的期望度(例如期望顺位)。匹配是通过包含枝的枝集来表达,所述枝表示属于其中一个子集的顶点以及属于另一个子集的顶点的组合且以不共用顶点的方式而分配。
在相对于构成匹配的枝集而存在期望度比属于所述枝集的枝的组合高的顶点彼此的组合时,表示此组合的枝会阻塞所述匹配(即,表示另外存在比由此枝集表示的匹配更优选的匹配)。在稳定匹配问题中,要以不具有此种阻塞对(blocking pair)且满足任意尺度(例如公平性)的方式来搜索顶点彼此的组合。
以往,为了解算此种以图来表达的任务,开发出各种算法。非专利文献1中提出的GS算法作为解算所述稳定匹配问题的经典方法的一例而为人知晓。但是,此种借助特定算法的方法由于任务的内容即便稍稍变更也会变得无法使用,因此缺乏通用性,而且,由于包含手动作业的部分多,因此解算器(solver)的生成成本高。
因此,近年来,作为解算以图来表达的任务的通用方法,正在推进使用神经网络等机器学习模型的方法的研究。例如,非专利文献2中提出:使用五层神经网络来解算稳定匹配问题。根据使用此种机器学习模型的方法,只要准备与任务相应的学习数据,便能够生成获得解算所述任务的能力的学习完毕模型(解算器)。因此,可提高所生成的模型的通用性,而且可降低生成成本。
现有技术文献
非专利文献
非专利文献1:大卫·盖尔、劳埃德·S·沙普利,“大学招生与婚姻的稳定性”,“美国数学月刊”,69(1):9-15,1962.(David Gale,Lloyd S Shapley,“College admissionsand the stability of marriage”,The American Mathematical Monthly,69(1):9-15,1962.)
非专利文献2:希拉里,“双边匹配市场的深度学习”,博士论文,哈佛大学,2019.(Shira Li,“Deep Learning for Two-Sided Matching Markets”,PhD thesis,HarvardUniversity,2019.)
发明内容
发明所要解决的问题
本申请发明人等发现,在非专利文献2等所提出的、用于解算对具有图结构的数据的推论任务的网络模型(例如图卷积网络(Graph Convolutional Networks))中存在如下所述的问题。即,为了高精度地解算复杂的任务,理想的是加深网络的层级。但是,以往的方法中,是通过针对枝的每个种类来计算邻接的顶点的特征的加权和,从而执行针对各顶点的特征的卷积运算。根据所述加权和的计算,会引起过剩的平滑化,因此越是叠加层级,则特征越丢失。因此,无法加深网络的层级(例如,非专利文献2中提出的方法中为五层),起因于此,难以实现对任务的解进行推测的精度的提高。
本发明在一方面是有鉴于此种情况而完成,其目的在于提供一种实现对以图来表达的任务的解进行推测的精度的提高的技术。
解决问题的技术手段
为了解决所述问题,本发明采用以下的结构。
即,本发明的一方面的模型生成装置包括:获取部,构成为获取多个训练图;以及学习处理部,构成为,使用所获取的所述多个训练图来实施推测模块的机器学习。推测模块包括特征编织网络以及推测器。特征编织网络构成为,通过包括多个特征编织层,从而受理输入图的输入并输出与所述输入图相关的特征信息。推测器构成为,根据从特征编织网络输出的特征信息来推测对输入图的任务的解。各特征编织层构成为,受理三层的第一输入张量以及第二输入张量的输入。第一输入张量构成为具有:输入图的属于第一集的第一顶点作为要素而排列的第一轴、输入图的属于第二集的第二顶点作为要素而排列的第二轴、以及与从第一顶点向第二顶点流出的枝相关的特征量作为要素而排列的第三轴。第二输入张量构成为具有:第二顶点作为要素而排列的第一轴、第一顶点作为要素而排列的第二轴、以及与从第二顶点向第一顶点流出的枝相关的特征量作为要素而排列的第三轴。各特征编织层包括编码器。并且,各特征编织层构成为:固定第二输入张量的第三轴而使第二输入张量的第三轴以外的其他轴逐个循环,且将第一输入张量以及循环的第二输入张量的各要素的特征量予以连结,由此来生成三层的第一连结张量,固定第一输入张量的第三轴而使第一输入张量的第三轴以外的其他轴逐个循环,且将第二输入张量以及循环的第一输入张量的各要素的特征量予以连结,由此来生成三层的第二连结张量,将所生成的第一连结张量分割为第一轴的每个要素而输入至编码器,执行编码器的运算,由此来生成与第一输入张量对应的三层的第一输出张量,并且将所生成的第二连结张量分割为第一轴的每个要素而输入至编码器,执行编码器的运算,由此来生成与第二输入张量对应的三层的第二输出张量。编码器构成为,根据所输入的所有要素的特征量导出各要素的相对特征量。多个特征编织层中的最开始的特征编织层构成为,从输入图受理第一输入张量以及第二输入张量。特征信息包含从多个特征编织层中的最后的特征编织层输出的第一输出张量以及第二输出张量。机器学习是通过下述方式而构成,即,将各训练图作为输入图而输入至特征编织网络,由此来训练推测模块,以使得由推测器所获得的推测结果符合对各训练图的任务的正解。
所述结构中,通过特征编织网络来提取输入图的特征。所述特征编织网络中,输入图的数据是通过输入张量来表达。各输入张量构成为,表示从属于各集合的顶点朝向属于其他集合的顶点的流出枝的特征量。即,特征编织网络构成为,并非对应于每个顶点来参照输入图的特征,而是对应于每个枝来参照输入图的特征。
各特征编织层中,使各输入张量的轴一致而予以连结,由此生成连结张量。各连结张量构成为,以属于各集合的顶点为基准来表示流出枝以及流入枝的特征量。并且,各特征编织层中,各连结张量被分割为第一轴的每个要素而输入至编码器,执行编码器的运算。由此,能够以各顶点为基准而在各枝的特征量中反映其他枝的特征量。越是叠加特征编织层,则越能够将与离开各顶点的顶点相关的枝的特征量反映至与各顶点相关的枝的特征量中。
除此以外,编码器构成为,并非针对每个顶点来计算邻接的枝的特征的加权和,而是根据所输入的所有枝的特征量来导出各枝的相对特征量。根据所述编码器的结构,能够使得即便叠加特征编织层也不会引起过剩的平滑化。因此,能够根据任务的难易度来加深特征编织网络的层级,其结果,在特征编织网络中,能够期待对于解算任务为适当的输入图的特征提取。由此,在推测器中,能够基于所获得的特征量而期待高精度的推测。因此,根据所述结构,即便是复杂的任务,通过加深特征编织网络的层级,对于所生成的训练完毕的推测模块,也能够实现对以图来表达的任务的解进行推测的精度的提高。
所述一方面的模型生成装置中,特征编织网络可构成为具有残差结构。所谓残差结构,是指具有如下所述的捷径的结构,即,多个特征编织层中的至少一者的输出除了输入至接下来邻接的特征编织层以外,还输入至接下来邻接的特征编织层以后的其他特征编织层(隔开两层以上的特征编织层)。根据所述结构,通过残差结构,能够容易地加深特征编织网络的层级。由此,能够实现所生成的训练完毕的推测模块的推测精度的提高。
所述一方面的模型生成装置中,各特征编织层的编码器可包含在第一连结张量以及第二连结张量的第一轴的各要素间共同使用的单个编码器。根据所述结构,通过在各特征编织层中的各连结张量的每个要素的运算中使用共同的编码器,从而能够降低推测模块所具有的参数的数量。由此,能够抑制推测模块的计算量(即,抑制在推测模块的运算中使用的计算资源的消耗),实现机器学习的效率化。
所述一方面的模型生成装置中,各特征编织层也可对应于每个连结张量还包括归一化器,所述归一化器构成为,对编码器的运算结果进行归一化。在所获得的第一输入张量以及第二输入张量属于不同的分布的情况下,可能造成对编码器的输入的定义域存在两种的状况。每当叠加编码器(特征编织层)时,因所述分布的差异造成的偏倚被放大,由此,单个编码器有可能陷入解算不同的两个任务而非解算共同的任务的状态。其结果,编码器的精度有可能发生恶化,从而导致推测模块整体的精度恶化。针对此问题,根据所述结构,通过归一化器对编码器的运算结果进行归一化,由此能够抑制偏倚的放大,由此,能够防止推测模块的精度恶化。
所述一方面的模型生成装置中,各特征编织层可还构成为,在执行编码器的运算之前,对第一输入张量以及第二输入张量各自的第三轴赋予条件码。所述结构中,编码器在对特征量进行编码时,能够基于条件码来识别数据的来源。因此,即便在第一输入张量以及第二输入张量属于不同的分布的情况下,在机器学习的过程中,也能够借助条件码的作用来训练编码器以消除因分布的差异造成的偏倚。因此,根据所述结构,能够防止因各输入张量所属的分布不同引起的推测模块的精度恶化。
所述一方面的模型生成装置中,各训练图可为有向二部图,构成有向二部图的多个顶点可被划分为属于两个子集的任一个。输入图的第一集可对应于有向二部图的两个子集中的其中一者,且输入图的第二集可对应于有向二部图的两个子集中的另一者。根据所述结构,在所给予的任务是以有向二部图来表达的场景中,对于所生成的训练完毕的推测模块,能够实现对任务的解进行推测的精度的提高。
所述一方面的模型生成装置中,任务也可为两个团体间的匹配任务,且是决定属于各团体的对象彼此的最佳配对的任务。有向二部图的两个子集可对应于匹配任务中的两个团体,有向二部图的属于各子集的顶点也可对应于属于各团体的对象。并且,与从第一顶点向第二顶点流出的枝相关的特征量可对应于从属于两个团体中的其中一者的对象对属于另一者的对象的期望度,与从第二顶点向第一顶点流出的枝相关的特征量也可对应于从属于两个团体中的另一者的对象对属于其中一者的对象的期望度。根据所述结构,对于所生成的训练完毕的推测模块,能够实现对以有向二部图来表达的双边(two sided)匹配的解进行推测的精度的提高。
所述一方面的模型生成装置中,各训练图可为无向二部图,构成无向二部图的多个顶点可被划分为属于两个子集的任一个。输入图的第一集可对应于无向二部图的两个子集中的其中一者,输入图的第二集可对应于无向二部图的两个子集中的另一者。根据所述结构,在所给予的任务是以无向二部图来表达的情况下,对于所生成的训练完毕的推测模块,能够实现对任务的解进行推测的精度的提高。
所述一方面的模型生成装置中,任务也可为两个团体间的匹配任务,且是决定属于各团体的对象彼此的最佳配对的任务。无向二部图的两个子集可对应于匹配任务中的两个团体,无向二部图的属于各子集的顶点也可对应于属于各团体的对象。与从第一顶点向第二顶点流出的枝相关的特征量以及与从第二顶点向第一顶点流出的枝相关的特征量也可均对应于对属于两个团体内的其中一者的对象以及属于另一者的对象彼此进行配对的成本或报酬。根据所述结构,对于所生成的训练完毕的推测模块,能够实现对以无向二部图来表达的单边(one sided)匹配的解进行推测的精度的提高。
所述一方面的模型生成装置中,各训练图可为有向图。输入图的属于第一集的第一顶点可对应于构成有向图的有向枝的起点,属于第二集的第二顶点也可对应于有向枝的终点。并且,从第一顶点向第二顶点流出的枝可对应于从起点向终点流出的有向枝,从第二顶点向第一顶点流出的枝也可对应于从起点流入至终点的有向枝。根据所述结构,在所给予的任务是以一般有向图来表达的情况下,对于所生成的训练完毕的推测模块,能够实现对任务的解进行推测的精度的提高。
所述一方面的模型生成装置中,有向图可构成为表达网络,任务可为推测在所述网络上产生的事态的任务。与从第一顶点向第二顶点流出的枝相关的特征量以及与从第二顶点向第一顶点流出的枝相关的特征量可均对应于构成网络的各顶点间的连接属性。根据所述结构,对于所生成的训练完毕的推测模块,能够实现对在以一般有向图来表达的网络上产生的事态进行推测的精度的提高。
所述一方面的模型生成装置中,各训练图可为无向图。输入图的属于第一集的第一顶点以及属于第二集的第二顶点可分别对应于构成无向图的各顶点。输入至各特征编织层的第一输入张量以及第二输入张量可彼此相同。由各特征编织层所生成的第一输出张量以及第二输出张量可彼此相同,生成第一输出张量的处理以及生成第二输出张量的处理可共同地执行。根据所述结构,在所给予的任务是以一般无向图来表达的情况下,对于所生成的训练完毕的推测模块,能够实现对任务的解进行推测的精度的提高。
所述一方面的模型生成装置中,各训练图可为包含多个顶点的顶点特征图,且是各顶点具有属性的顶点特征图。输入图的属于第一集的第一顶点以及属于第二集的第二顶点可分别对应于构成顶点特征图的各顶点。与从第一顶点向第二顶点流出的枝相关的特征量也可对应于与第一顶点对应的顶点特征图的顶点的属性,与从第二顶点向第一顶点流出的枝相关的特征量也可对应于与第二顶点对应的顶点特征图的顶点的属性。根据所述结构,在所给予的任务是以顶点具有特征(属性)的顶点特征图(例如,顶点加权图)来表达的情况下,对于所生成的训练完毕的推测模块,能够实现对任务的解进行推测的精度的提高。
所述一方面的模型生成装置中,对于来自输入图的第一输入张量以及第二输入张量各自的第三轴的各要素,可连结或乘算表示顶点特征图的对应的顶点间的关系性的信息,任务可为推测从顶点特征图导出的事态的任务。根据所述结构,对于所生成的训练完毕的推测模块,能够实现对与以顶点特征图来表达的对象相关的事态进行推测的精度的提高。
所述一方面的模型生成装置中,任务可为推测构成顶点特征图的各顶点间的关系性的任务。根据所述结构,对于所生成的训练完毕的推测模块,能够实现对通过顶点特征图的各顶点来表达的各对象间的关系性进行推测的精度的提高。
所述各方面的模型生成装置中,枝构成为表达两个顶点的组合(即,表示两个顶点间的关系性)。但是,枝的结构可不限定于此种示例。在另一例中,枝可构成为表达三个以上的顶点的组合。即,图可为超图。例如,本发明的一方面的模型生成装置包括:获取部,构成为获取多个训练图;以及学习处理部,构成为,使用所获取的多个训练图来实施推测模块的机器学习。各训练图为K份超图。K为3以上。构成超图的多个顶点被划分为属于K个子集的任一个。推测模块包括特征编织网络以及推测器。特征编织网络构成为,通过包括多个特征编织层,从而受理输入图的输入,并输出与所述输入图相关的特征信息。推测器构成为,根据从特征编织网络输出的特征信息来推测对输入图的任务的解。各特征编织层受理K个(K+1)层的输入张量的输入。K个输入张量中的第i个输入张量构成为:在第一轴中,输入图的属于第i个子集的第i顶点作为要素而排列,在从第二轴直至第K轴为止的第j轴中,以第i个为起点而循环地,属于第(j-1)个子集的顶点作为要素而排列,且在第(K+1)轴中,与从属于第i个子集的第i顶点向分别属于(K-1)个其他子集的顶点彼此的组合流出的枝相关的特征量作为要素而排列。各特征编织层包括编码器。各特征编织层构成为:对于从第一个直至第K个为止的第i个输入张量,固定第i个以外的(K-1)个其他输入张量各自的第(K+1)轴,并以与第i个输入张量的各轴一致的方式来使其他输入张量各自的第(K+1)轴以外的其他轴循环,且将第i个输入张量以及循环的所述各其他输入张量的各要素的特征量予以连结,由此来生成K个(K+1)层的连结张量,并且将所生成的K个连结张量各自分割为第一轴的每个要素而输入至编码器,执行编码器的运算,由此来生成与K个输入张量各自分别对应的K个(K+1)层的输出张量。编码器构成为,根据所输入的所有要素的特征量导出各要素的相对特征量。多个特征编织层中的最开始的特征编织层构成为,从输入图受理K个输入张量。特征信息包含从多个特征编织层中的最后的特征编织层输出的K个输出张量。并且,机器学习是通过下述方式而构成,即,将各训练图作为输入图而输入至特征编织网络,由此来训练推测模块,以使得由推测器所获得的推测结果符合对各训练图的任务的正解。根据所述结构,在所给予的任务是以超图来表达的情况下,对于所生成的训练完毕的推测模块,能够实现对任务的解进行推测的精度的提高。
而且,本发明的形态也可不限于所述模型生成装置的形态。本发明的一侧面也可为一种推测装置,其构成为,使用由所述任一形态的模型生成装置所生成的训练完毕的推测模块来推测对图的任务的解。例如,本发明的一方面的推测装置包括:获取部,构成为获取对象图;推测部,构成为,使用通过机器学习而训练完毕的推测模块,推测对所获取的对象图的任务的解;以及输出部,构成为,输出与对任务的解进行推测的结果相关的信息。推测模块是与所述同样地构成。使用训练完毕的推测模块来推测对于对象图的任务的解的处理是通过下述方式而构成,即,将对象图作为输入图而输入至特征编织网络,从推测器获得对任务的解进行推测的结果。另外,推测装置可根据适用场景中的任务的种类而改读为例如匹配装置、预测装置等。
而且,作为所述各形态的模型生成装置以及推测装置各自的其他形态,本发明的一方面也可为实现以上的各结构的全部或其一部分的信息处理方法,也可为程序,还可为存储有此种程序的、计算机或其他装置、机械等可读取的存储介质。此处,所谓计算机等可读取的存储介质,是指通过电、磁、光学、机械或化学作用来保存程序等信息的介质。而且,本发明的一方面也可为包含所述任一形态的模型生成装置以及推测装置的推测系统。
例如,本发明的一方面的模型生成方法是一种信息处理方法,由计算机执行下述步骤:获取多个训练图;以及使用所获取的多个训练图来实施推测模块的机器学习。而且,例如本发明的一方面的模型生成程序是用于使计算机执行下述步骤的程序,即:获取多个训练图;以及使用所获取的多个训练图来实施推测模块的机器学习。推测模块是与所述同样地构成。机器学习是通过下述方式而构成,即,将各训练图作为输入图而输入至特征编织网络,由此来训练推测模块,以使得由推测器所获得的推测结果符合对各训练图的任务的正解。
发明的效果
根据本发明,能够实现对以图来表达的任务的解进行推测的精度的提高。
附图说明
[图1]图1示意性地例示适用本发明的场景的一例。
[图2A]图2A示意性地例示实施方式的推测模块的结构的一例。
[图2B]图2B示意性地例示实施方式的特征编织层的结构的一例。
[图3]图3示意性地例示实施方式的模型生成装置的硬件结构的一例。
[图4]图4示意性地例示实施方式的推测装置的硬件结构的一例。
[图5]图5示意性地例示实施方式的模型生成装置的软件结构的一例。
[图6A]图6A示意性地例示实施方式的、配置于特征编织层的编码器的结构的一例。
[图6B]图6B示意性地例示实施方式的、配置于特征编织层的编码器的结构的一例。
[图7]图7示意性地例示实施方式的推测装置的软件结构的一例。
[图8]图8是表示实施方式的模型生成装置的处理流程的一例的流程图。
[图9]图9是表示实施方式的推测装置的处理流程的一例的流程图。
[图10]图10示意性地例示实施方式的、经过两个特征编织层的情况的一例。
[图11]图11示意性地例示适用本发明的另一场景(以有向二部图来表达任务的场景)的一例。
[图12]图12示意性地例示适用本发明的另一场景(以无向二部图来表达任务的场景)的一例。
[图13]图13示意性地例示适用本发明的另一场景(以一般有向图来表达任务的场景)的一例。
[图14]图14示意性地例示适用本发明的另一场景(以一般无向图来表达任务的场景)的一例。
[图15]图15示意性地例示以一般无向图来表达任务的场景中的特征编织层的运算处理的一例。
[图16]图16示意性地例示适用本发明的另一场景(以给予有顶点间的关系性的顶点特征图来表达任务的场景)的一例。
[图17]图17示意性地例示适用本发明的另一场景(推测对象间的关系性的任务是以顶点特征图来表达的场景)的一例。
[图18]图18示意性地例示适用本发明的另一场景(以超图来表达任务的场景)的一例。
[图19]图19示意性地例示以超图来表达任务的场景中的特征编织层的运算处理的一例。
[图20]图20示意性地例示变形例的机器学习的处理过程的一例。
[图21]图21示意性地例示变形例的推测模块的输入形态的一例。
[图22]图22示意性地例示变形例的推测模块的结构的一例。
[图23]图23示意性地例示变形例的特征编织层的结构的一例。
[图24A]图24A表示对于实施例算出对各尺寸的验证样本的匹配的成功率的结果。
[图24B]图24B表示对于比较例算出对各尺寸的验证样本的匹配的成功率的结果。
[图25A]图25A表示对于实施例算出对各尺寸的验证样本的公平性匹配的成功率的结果。
[图25B]图25B表示对于比较例算出对各尺寸的验证样本的公平性匹配的成功率的结果。
[图25C]图25C表示对于第二实施例以及第三实施例算出所有匹配结果的公平性成本的平均值的结果。
[图26A]图26A表示对于实施例算出对各尺寸的验证样本的平衡匹配的成功率的结果。
[图26B]图26B表示对于比较例算出对各尺寸的验证样本的平衡匹配的成功率的结果。
[图26C]图26C表示对于第二实施例以及第四实施例算出所有匹配结果的平衡成本的平均值的结果。
具体实施方式
以下,基于附图来说明本发明的一方面的实施方式(以下也称作“本实施方式”)。但是,以下说明的本实施方式在所有方面不过是本发明的例示。当然可不脱离本发明的范围而进行各种改良或变形。即,在本发明的实施时,也可适当采用与实施方式相应的具体结构。另外,通过自然语言说明了本实施方式中出现的数据,但更具体而言,是以计算机可识别的伪语言、命令、参数、机器语言等来指定。
§1适用例
图1示意性地例示适用本发明的场景的一例。如图1所示,本实施方式的推测系统100包括模型生成装置1以及推测装置2。
(模型生成装置)
本实施方式的模型生成装置1是构成为通过实施机器学习而生成训练完毕的推测模块5的计算机。具体而言,模型生成装置1获取多个训练图30。各训练图30的种类可根据由推测模块5所获得的解算任务的能力来适当选择。各训练图30例如可包含有向二部图、无向二部图、一般有向图、一般无向图、顶点特征图、超图等。模型生成装置1使用所获取的多个训练图30来实施推测模块5的机器学习。由此,生成训练完毕的推测模块5。
(推测装置)
另一方面,本实施方式的推测装置2是构成为使用训练完毕的推测模块5来推测对图的任务的解的计算机。具体而言,推测装置2获取对象图221。对象图221是成为对任务的解进行推测的对象的图,其种类与所述训练图30同样,可根据训练完毕的推测模块5所获得的能力来适当选择。推测装置2使用通过机器学习而训练完毕的推测模块5,来推测对所获取的对象图221的任务的解。并且,推测装置2输出与对任务的解进行推测的结果相关的信息。
(推测模块)
进一步使用图2A来说明推测模块5的结构的一例。图2A示意性地例示本实施方式的推测模块5的结构的一例。推测模块5包括特征编织网络50以及推测器55。特征编织网络50包括串联地排列的多个特征编织层500。由此,特征编织网络50构成为,受理输入图的输入,并输出与输入图相关的特征信息。推测器55构成为,根据从特征编织网络输出的特征信息来推测对输入图的任务的解。
进一步使用图2B来说明特征编织网络50的结构的一例。图2B示意性地例示本实施方式的特征编织层500的结构的一例。各特征编织层500构成为,受理三层的第一输入张量(ZA l)以及第二输入张量(ZB l)的输入。后缀“l”对应于特征编织层500的层级编号。即,各输入张量(ZA l、ZB l)对应于对第l+1个特征编织层500的输入。对输入张量的后缀“l”代入0至L-1为止的整数。L表示特征编织层500的数量。L的值只要为2以上,则可根据实施方式来适当设定。
第一输入张量(ZA l)构成为具有:输入图的属于第一集(A)的第一顶点作为要素而排列的第一轴、输入图的属于第二集(B)的第二顶点作为要素而排列的第二轴、以及与从第一顶点向第二顶点流出的枝相关的特征量(Dl维)作为要素而排列的第三轴。本实施方式中,为了便于说明,设想第一顶点的数量为N个,第二顶点的数量为M个,特征量的维数为Dl。N、M以及Dl的值可根据实施方式来适当设定。另外,为了方便,在图中假定N为4、M为3。第二输入张量(ZB l)构成为具有:属于第二集(B)的第二顶点作为要素而排列的第一轴、属于第一集(A)的第一顶点作为要素而排列的第二轴、以及与从第二顶点向第一顶点流出的枝相关的特征量(Dl维)作为要素而排列的第三轴。
各特征编织层500包括编码器505,且构成为执行以下的各运算。即,各特征编织层500固定第二输入张量的第三轴而使第二输入张量的第三轴以外的其他轴逐个循环本实施方式中,第二输入张量(ZB l)所具有的轴的数量为三个,因此使第三轴以外的其他轴逐个循环相当于使第一轴以及第二轴调换。在从第一轴的要素理解的情况下,使轴循环的第二输入张量/>的第三轴上排列的各要素相当于与从第二顶点流入至第一顶点的枝相关的特征量。除此以外,各特征编织层500将第一输入张量(ZA l)以及使轴循环的第二输入张量/>的各要素的特征量予以连结(cat运算)。cat运算的一例是:在第一输入张量(ZA l)的第三轴的最末尾结合使轴循环的第二输入张量的第三轴的各要素。通过这些运算,各特征编织层500生成三层的第一连结张量/>
而且,各特征编织层500固定第一输入张量的第三轴而使第一输入张量的第三轴以外的其他轴逐个循环与所述第二输入张量的运算同样,使第一输入张量的第三轴以外的其他轴逐个循环相当于使第一输入张量的第一轴以及第二轴调换。在从第一轴的要素理解的情况下,使轴循环的第一输入张量/>的第三轴上排列的各要素相当于与从第一顶点流入至第二顶点的枝相关的特征量。除此以外,各特征编织层500将第二输入张量(ZB l)以及使轴循环的第一输入张量/>的各要素的特征量予以连结(cat运算)。cat运算的一例是:在第二输入张量(ZB l)的第三轴的最末尾结合使轴循环的第一输入张量/>的第三轴的各要素。通过这些运算,各特征编织层500生成三层的第二连结张量/>
继而,各特征编织层500将所生成的第一连结张量分割为第一轴的每个要素,将所获得的各要素(zai l∈R1×M×2Dl)输入至编码器505,执行编码器505的运算。各特征编织层500通过针对每个要素获得所述编码器505的运算结果,从而生成与第一输入张量(ZA l)对应的三层的第一输出张量(ZA l+1∈RN×M×Dl+1)。而且,各特征编织层500将所生成的第二连结张量分割为第一轴的每个要素,将所获得的各要素(zbj l∈R1×N×2Dl)输入至编码器505,执行编码器505的运算。各特征编织层500通过针对每个要素获得所述编码器505的运算结果,从而生成与第二输入张量(ZB l)对应的三层的第二输出张量(ZB l+1∈RM×N×Dl+1)。各输出张量的第三轴的要素即特征量的维数(Dl+1)可根据实施方式来适当决定,既可与受到编码之前的维数(Dl)相同,也可不同。各特征编织层500构成为执行以上的各运算。
编码器505构成为,从所输入的所有要素的特征量导出各要素的相对特征量。即,对象连结张量的第一轴的各要素对应于对象集合的各顶点(第一顶点ai、第二顶点bj),对象连结张量表示将相对于各顶点的流出枝以及流入枝的特征量予以连结的状态。编码器505构成为,从与相对于对象顶点的流出枝以及流入枝相关的所有特征量导出对象流出枝的相对特征量。编码器505的结构只要可进行此种运算,则可不受特别限定,可根据实施方式来适当选择。具体例将后述。
如图2B所示,本实施方式的一例中,各特征编织层500的编码器505可包含在第一连结张量以及第二连结张量的第一轴的各要素(zai l、zbj l)间共同使用的单个编码器。即,特征编织网络50可构成为,针对每个特征编织层500包括单个编码器(相对于L层的特征编织层500而包括L个编码器)。由此,能够降低推测模块5所具有的参数的数量。其结果,能够抑制推测模块5的计算量,实现机器学习的效率化。
但是,构成特征编织层500的编码器505的数量也可不限定于此种示例。在另一例中,可在第一连结张量的第一轴的各要素(zai l)间使用共同的编码器,且在第二连结张量的第一轴的各要素(zbj l)间使用另一共同的编码器。即,编码器505可包含由各连结张量分别使用的两个编码器。由此,能够对从第一顶点所见的枝的特征量与从第二顶点所见的枝的特征量分别进行编码,从而能够通过推论来反映各自的各别的特征。其结果,能够期待推测模块的精度的提高。在与第一集以及第二集相关的特征量的分布不同的情况下,编码器505可像这样相对于第一连结张量以及第二连结张量而分别设置。进而,在另一例中,编码器505可对应于第一连结张量以及第二连结张量的每个要素(zai l、zbj l)而分别设置。
如图2A所示,多个特征编织层500中的最开始的特征编织层(即,配置在最靠输入侧的特征编织层)5001构成为,从输入图受理第一输入张量601(ZA 0)以及第二输入张量602(ZB 0)。一例中,输入图是以一般的图格式而给予,各输入张量(601、602)可从所给予的输入图直接获得。在另一例中,各输入张量(601、602)可从对输入图执行的规定的运算处理的结果而获得。规定的运算处理例如可由卷积层等具有任意结构的运算器所执行。即,也可设有在特征编织网络50之前执行的任意运算器。进而,在另一例中,输入图也可以各输入张量(601、602)的格式而直接获得。
一例中,各特征编织层500可串联地连续配置。此时,最开始的特征编织层5001以外的其他特征编织层(即,第二个以后的特征编织层)500构成为,受理由紧靠其前配置的特征编织层500所生成的各输出张量来作为各输入张量。即,配置在第l+1个的特征编织层500构成为,受理由第l个特征编织层所生成的各输出张量(ZA l+1、ZB l+1)来作为各输入张量(此时,l为1至L-1为止的整数)。
但是,各特征编织层500的配置可不限定于此种示例。例如,也可在邻接的特征编织层500之间插入其他种类的层(例如卷积层、全结合层等)。此时,所插入的其他层构成为,对从紧靠其前配置的特征编织层500获得的各输出张量执行运算处理。配置在所插入的其他层之后的特征编织层500构成为,从所述其他层的运算结果获取各输入张量。所插入的其他层的数量可不受特别限定,可根据实施方式来适当选择。所插入的其他层的结构可根据实施方式来适当决定。在多个部位插入其他种类的层的情况下,根据所插入的部位,各层的结构既可相同,也可不同。
特征信息包含从多个特征编织层500中的最后的特征编织层(即,配置在最靠输出侧的特征编织层)500L输出的第一输出张量651(ZA L)以及第二输出张量652(ZB L)。推测器55适当构成为,从各输出张量(651、652)导出对任务的解进行推测的结果。推测器55的结构只要可执行此种运算,则可不受特别限定,可根据实施方式(例如各输出张量的结构、推测结果的导出格式等)来适当决定。
推测器55例如可包含数据表、函数式、规则等。在包含函数式的情况的一例中,推测器55例如可包含具有一层卷积层、一层全结合层等任意结构的神经网络。此时,推测器55可包括多个节点(神经元),各节点间的结合的权重以及各节点的阈值为推测器55的参数的一例。各节点的阈值也可包含任意的激活函数。而且,推测器55的输出格式可不受特别限定,可根据实施方式来适当选择。一例中,推测器55的输出可构成为直接表示推测结果。另一例中,推测器55的输出可构成为间接地表示推测结果。此时,通过执行对推测器55的输出的阈值判定等规定的运算处理,可从推测器55的输出导出推测结果。
另外,如图2A所示,特征编织网络50可构成为具有残差结构。所谓残差结构,是指具有如下所述的捷径的结构,即,多个特征编织层中的至少一者的输出除了输入至接下来邻接的特征编织层以外,还输入至接下来邻接的特征编织层以后的其他特征编织层(隔开两层以上的特征编织层)。
图2A的示例中,特征编织网络50具有省略两层特征编织层500的捷径501。由此,紧靠捷径501之前的特征编织层500的输出被输入至三层前的特征编织层500。图2A的示例中,例如在第一个特征编织层5001的输出侧设有捷径501。因此,第四个特征编织层500构成为,从第三个特征编织层500的输出张量以及第一个特征编织层5001的输出张量获取输入张量。
但是,捷径501所省略的特征编织层500的数量可不限定于此种示例。捷径501所省略的特征编织层500的数量既可为一层,或者也可为三层以上。而且,设定捷径501的间隔可不受特别限定,可根据实施方式来适当决定。捷径501例如可以每三层等规定的间隔而设定。
通过具有此种残差结构,能够容易地加深特征编织网络50的层级(即,容易地增加特征编织层500的数量)。通过加深特征编织网络50的层级,能够提高借助所述特征编织网络50所进行的特征提取的精度,其结果,能够实现推测模块5的推测精度的提高。另外,特征编织网络50的结构可不限定于此种示例。残差结构也可予以省略。
如图1以及图2A所示,在模型生成装置1中,所述机器学习是通过下述方式而构成,即,将各训练图30作为输入图而输入至特征编织网络50,由此来训练推测模块5以使得由推测器55所获得的推测结果符合对各训练图30的任务的正解(真值)。另一方面,在推测装置2中,使用训练完毕的推测模块5来推测对于对象图221的任务的解的处理是通过下述方式而构成,即,将对象图221作为输入图而输入至特征编织网络50,从推测器55获得对任务的解进行推测的结果。
(特征)
如上所述,本实施方式的推测模块5的特征编织网络50中构成为,并非针对每个顶点来参照输入图的特征,而是针对每个枝来参照输入图的特征。各特征编织层500中,通过编码器505,以各顶点为基准而在与各枝相关的特征量中反映与其他枝相关的特征量。越是叠加特征编织层500,则越能够将与离开各顶点的顶点相关的枝的特征量反映至与各顶点相关的枝的特征量中。除此以外,编码器505构成为,并非针对每个顶点来计算邻接的枝的特征的加权和,而是对于对象顶点来根据所输入的所有枝的特征量导出各枝的相对特征量。根据所述编码器505的结构,能够使得即便叠加特征编织层500也不会引起过剩的平滑化。因此,能够根据任务的难易度来加深特征编织网络50的层级,其结果,在特征编织网络50中,能够提取对于解算任务为适当的输入图的特征。即,能够期待借助特征编织网络50所进行的特征提取的精度提高。由此,在推测器55中,能够基于所获得的特征量而期待高精度的推测。因此,根据本实施方式,即便是复杂的任务,也能够加深特征编织网络50的层级,与此相应地,对于推测模块5,能够实现对以图来表达的任务的解进行推测的精度的提高。模型生成装置1中,可期待能够高精度地推测对输入图的任务的解的、训练完毕的推测模块5的生成。推测装置2中,通过使用此种训练完毕的推测模块5,能够期待对于对象图221的任务的解的高精度的推测。
另外,图1的示例中,模型生成装置1以及推测装置2经由网络彼此连接。网络的种类例如可从国际互联网、无线通信网、移动通信网、电话网、专用网等中适当选择。但是,在模型生成装置1与推测装置2之间交换数据的方法也可不限定于此种示例,可根据实施方式来适当选择。例如,在模型生成装置1与推测装置2之间,可利用存储介质来交换数据。
而且,图1的示例中,模型生成装置1以及推测装置2分别包含各别的计算机。但是,本实施方式的推测系统100的结构也可不限定于此种示例,可根据实施方式来适当决定。例如,模型生成装置1以及推测装置2也可为一体的计算机。而且,例如也可为,模型生成装置1以及推测装置2中的至少一者包含多台计算机。
§2结构例
[硬件结构]
<模型生成装置>
图3示意性地例示本实施方式的模型生成装置1的硬件结构的一例。如图3所示,本实施方式的模型生成装置1是由控制部11、存储部12、通信接口13、外部接口14、输入装置15、输出装置16以及驱动器17电连接而成的计算机。另外,图3中,将通信接口以及外部接口记作“通信I/F”以及“外部I/F”。
控制部11包含作为硬件处理器的中央处理器(Central Processing Unit,CPU)、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)等,且构成为基于程序以及各种数据来执行信息处理。存储部12为存储器的一例,例如包含硬盘驱动器、固态硬盘等。本实施方式中,存储部12存储模型生成程序81、多个训练图30、学习结果数据125等各种信息。
模型生成程序81是用于使模型生成装置1执行后述的机器学习的信息处理(图8)的程序,所述机器学习生成训练完毕的推测模块5。模型生成程序81包含所述信息处理的一连串命令。多个训练图30被用于推测模块5的机器学习。学习结果数据125表示与通过机器学习的实施而生成的训练完毕的推测模块5相关的信息。本实施方式中,学习结果数据125是作为执行模型生成程序81的结果而生成。详情将后述。
通信接口13例如为有线局域网(Local Area Network,LAN)模块、无线LAN模块等,是用于进行经由网络的有线或无线通信的接口。模型生成装置1可利用通信接口13来与其他信息处理装置之间执行经由网络的数据通信。外部接口14例如为通用串行总线(Universal Serial Bus,USB)端口、专用端口等,是用于与外部装置连接的接口。外部接口14的种类以及数量可任意选择。训练图30例如也可通过摄像机等传感器而获得。或者,训练图30也可由其他计算机生成。此时,模型生成装置1可经由通信接口13以及外部接口14的至少一者连接于所述传感器或其他计算机。
输入装置15例如为鼠标、键盘等用于进行输入的装置。而且,输出装置16例如为显示器、扬声器等用于进行输出的装置。用户等作业员通过利用输入装置15以及输出装置16,从而可操作模型生成装置1。训练图30也可通过经由输入装置15的输入而获得。
驱动器17例如为光盘(Compact Disc,CD)驱动器、数字多功能光盘(DigitalVersatile Disc,DVD)驱动器等,是用于读取存储在存储介质91中的程序等各种信息的驱动装置。存储介质91是以计算机或其他装置、机械等能够读取所存储的程序等各种信息的方式而通过电、磁、光学、机械或化学作用来保存所述程序等信息的介质。所述模型生成程序81以及多个训练图30的至少任一者也可被存储于存储介质91中。模型生成装置1也可从所述存储介质91获取所述模型生成程序81以及多个训练图30的至少任一者。另外,图3中,作为存储介质91的一例,例示了CD、DVD等盘型的存储介质。但是,存储介质91的种类也可不限于盘型,也可为盘型以外。作为盘型以外的存储介质,例如可列举快闪存储器等半导体存储器。驱动器17的种类可根据存储介质91的种类来任意选择。
另外,关于模型生成装置1的具体硬件结构,可根据实施方式来适当地进行构成元件的省略、替换以及追加。例如,控制部11也可包含多个硬件处理器。硬件处理器可包含微处理器、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)等。存储部12也可包含控制部11中所含的RAM以及ROM。通信接口13、外部接口14、输入装置15、输出装置16以及驱动器17的至少任一者也可予以省略。模型生成装置1也可包含多台计算机。此时,各计算机的硬件结构既可一致,也可不一致。而且,模型生成装置1除了专为所提供的服务设计的信息处理装置以外,也可为通用的服务器装置、个人计算机(Personal Computer,PC)等。
<推测装置>
图4示意性地例示本实施方式的推测装置2的硬件结构的一例。如图4所示,本实施方式的推测装置2是由控制部21、存储部22、通信接口23、外部接口24、输入装置25、输出装置26以及驱动器27电连接而成的计算机。
推测装置2的控制部21~驱动器27以及存储介质92可分别与所述模型生成装置1的控制部11~驱动器17以及存储介质91各自同样地构成。控制部21包含作为硬件处理器的CPU、RAM、ROM等,且构成为基于程序以及数据来执行各种信息处理。存储部22例如包含硬盘驱动器、固态硬盘等。本实施方式中,存储部22存储推测程序82、学习结果数据125等各种信息。
推测程序82是用于使推测装置2执行使用训练完毕的推测模块5来执行推测任务的、后述的信息处理(图9)的程序。推测程序82包含所述信息处理的一连串命令。推测程序82以及学习结果数据125的至少任一者也可被存储于存储介质92中。而且,推测装置2也可从存储介质92获取推测程序82以及学习结果数据125的至少任一者。
与所述训练图30同样,对象图221例如也可通过摄像机等传感器而获得。或者,对象图221也可由其他计算机生成。此时,推测装置2可经由通信接口23以及外部接口24的至少一者连接于所述传感器或其他计算机。或者,对象图221也可通过经由输入装置25的输入而获得。
另外,关于推测装置2的具体硬件结构,可根据实施方式来适当地进行构成元件的省略、替换以及追加。例如,控制部21也可包含多个硬件处理器。硬件处理器可包含微处理器、FPGA、DSP等。存储部22也可包含控制部21中所含的RAM以及ROM。通信接口23、外部接口24、输入装置25、输出装置26以及驱动器27的至少任一者也可予以省略。推测装置2也可包含多台计算机。此时,各计算机的硬件结构既可一致,也可不一致。而且,推测装置2除了专为所提供的服务设计的信息处理装置以外,也可为通用的服务器装置、通用的PC、平板PC、终端装置等。
[软件结构]
<模型生成装置>
图5示意性地例示本实施方式的模型生成装置1的软件结构的一例。模型生成装置1的控制部11将存储于存储部12的模型生成程序81展开到RAM中。并且,控制部11通过CPU来解释以及执行在RAM中展开的模型生成程序81中所含的命令,以控制各构成元件。由此,如图5所示,本实施方式的模型生成装置1作为包括获取部111、学习处理部112以及保存处理部113作为软件模块的计算机而运行。即,本实施方式中,模型生成装置1的各软件模块是通过控制部11(CPU)而实现。
获取部111构成为获取多个训练图30。学习处理部112构成为,使用所获取的多个训练图30来实施推测模块5的机器学习。推测模块5包括特征编织网络50以及推测器55。机器学习是通过下述方式而构成,即,将各训练图30作为输入图而输入至特征编织网络50,由此来训练推测模块5以使得由推测器55所获得的推测结果符合对各训练图30的任务的正解(真值)。正解(真值)例如也可通过不具有稳定匹配问题的情况中的阻塞对、满足规定的尺度等规定的规则而给予。或者,对于所获取的各训练图30,可关联正解标签(教学信号)。各正解标签可构成为表示对应的训练图30的正解(真值)。
保存处理部113构成为,生成与通过机器学习而生成的训练完毕的推测模块5相关的信息作为学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可适当构成为包含用于再现训练完毕的推测模块5的信息。
(编码器)
如图2A以及图2B所示,特征编织网络50包括多个特征编织层500,各特征编织层500包括编码器505。只要可从所输入的所有要素的特征量导出各要素的相对特征量,则编码器505的结构可根据实施方式来适当选择。为了应对因输入图的顶点的数量、枝的有无等差异而连结张量的要素数量可变的情况,优选的是,编码器505构成为可受理可变长度的输入。本实施方式中,作为编码器505的结构,也可采用以下的两个结构例中的任一个。
(1)第一结构例
图6A示意性地例示本实施方式的编码器5051的结构的一例。编码器5051为所述编码器505的一例。第一结构例中,编码器5051包含双向长短期记忆(Long Short-TermMemory)。
双向LSTM包括多个节点(神经元)。各节点间的结合的权重以及各节点的阈值为编码器5051的参数的一例。各节点的阈值也可包含任意的激活函数。双向LSTM的具体结构的一例例如在文献:亚历克斯·格拉夫斯和尤尔根·施密杜贝尔,“基于双向LSTM和其他神经网络架构的框架式音素分类”,神经网络,2005(Alex Graves and Jurgen Schmidhuber,“Framewise phoneme classification with bidirectional LSTM and other neuralnetwork architectures”,Neural Networks,2005)等中提出。
由此,编码器5051构成为,以可变长度的序列接纳对应于第二轴的每个要素而在第三轴上排列的各特征量,双向依存于先输入的特征量以及后输入的特征量,对应于第二轴的每个要素而导出在输出张量的第三轴上排列的各特征量。根据所述编码器5051,能够受理从具有任意结构的图导出的可变长度的连结张量的输入,并从与相对于对象顶点的流出枝以及流入枝相关的所有特征量适当地导出对象流出枝的相对特征量。
(2)第二结构例
图6B示意性地例示本实施方式的编码器5052的结构的一例。编码器5052为所述编码器505的一例。第二结构例中,编码器5052包括第一结合器5054、统合器5055以及第二结合器5056。
第一结合器5054构成为,将对应于连结张量的第二轴的每个要素而在第三轴上排列的特征量6051予以结合(即,将来源于各输入张量的数据予以结合)。统合器5055构成为,将第一结合器5054对第二轴的每个要素的结合结果6054予以统合。一例中,统合器5055可构成为,针对第三轴(特征量)的每个要素而算出例如最大值、最小值、平均值等统计信息。第二结合器5056构成为,从对应于第二轴的每个要素而在第三轴上排列的特征量6051以及由统合器5055得出的统合结果6055,对应于第二轴的每个要素而导出在输出张量的第三轴上排列的各特征量6056。一例中,各结合器(5054、5056)可对应于第二轴的每个要素而分别设置。在另一例中,也可在第二轴的要素间共同使用单个的各结合器(5054、5056)。
只要可执行所述运算,则第一结合器5054、统合器5055以及第二结合器5056的结构可不受特别限定,可根据实施方式来适当选择。各结合器(5054、5056)例如可包含任意的函数式等。一例中,构成函数式的参数相当于各结合器(5054、5056)的参数。第一结合器5054以及第二结合器5056的参数为编码器5052的参数的一例。
根据所述编码器5052,通过第二结合器5056将由统合器5055所获得的统合结果6055结合至第二轴的每个要素的特征量6051,由此,能够从与相对于对象顶点的流出枝以及流入枝相关的所有特征量适当地导出对象流出枝的相对特征量。而且,各结合器(5054、5056)构成为可针对每个要素而独立地执行运算,且将统合器5055的运算构成为可适用于可变长度的要素列,由此,编码器5052可构成为受理可变长度的输入。
(机器学习)
如图5所示,将各训练图30作为输入图而输入至推测模块5,执行特征编织网络50以及推测器55的顺向的运算处理,由此可获得对各训练图30的推测结果。学习处理部112构成为,在机器学习中调整推测模块5的参数(例如所述各特征编织层500的编码器505以及推测器55的参数),以使得对各训练图30获得的推测结果与正解之间的误差变小。
保存处理部113构成为生成学习结果数据125,所述学习结果数据125用于再现通过所述机器学习而生成的训练完毕的推测模块5。只要能够再现训练完毕的推测模块5,则学习结果数据125的结构可不受特别限定,可根据实施方式来适当决定。作为一例,学习结果数据125可包含表示通过所述机器学习的调整而获得的各参数的值的信息。根据情况,学习结果数据125可包含表示推测模块5的结构的信息。结构例如可根据层的数量、各层的种类、各层中所含的节点的数量、邻接的层的节点彼此的结合关系等来确定。
<推测装置>
图7示意性地例示本实施方式的推测装置2的软件结构的一例。推测装置2的控制部21将存储在存储部22中的推测程序82展开到RAM中。并且,控制部21通过CPU来解释以及执行在RAM中展开的推测程序82中所含的命令,以控制各构成元件。由此,如图7所示,本实施方式的推测装置2作为包括获取部211、推测部212以及输出部213作为软件模块的计算机而运行。即,本实施方式中,推测装置2的各软件模块也与模型生成装置1同样,是通过控制部21(CPU)来实现。
获取部211构成为获取对象图221。推测部212通过保持学习结果数据125而包括训练完毕的推测模块5。推测部212构成为,使用训练完毕的推测模块5来推测对所获取的对象图221的任务的解。使用训练完毕的推测模块5来推测对于对象图221的任务的解的处理是通过下述方式而构成,即,将对象图221作为输入图而输入至特征编织网络50,从推测器55获得对任务的解进行推测的结果。输出部213构成为输出与对任务的解进行推测的结果相关的信息。
<其他>
关于模型生成装置1以及推测装置2的各软件模块,利用后述的动作例来详细说明。另外,本实施方式中,对模型生成装置1以及推测装置2的各软件模块均通过通用的CPU来实现的示例进行了说明。但是,所述软件模块的一部分或全部也可通过一个或多个专用的处理器(例如图形处理单元)来实现。所述各模块也可作为硬件模块而实现。而且,关于模型生成装置1以及推测装置2各自的软件结构,也可根据实施方式来适当地进行软件模块的省略、替换以及追加。
§3动作例
[模型生成装置]
图8是表示与本实施方式的模型生成装置1所进行的机器学习相关的处理流程的一例的流程图。以下说明的模型生成装置1的处理流程为模型生成方法的一例。但是,以下说明的模型生成装置1的处理流程不过是一例,各步骤可尽可能地变更。而且,对于以下的处理流程,可根据实施方式来适当地进行步骤的省略、替换以及追加。
(步骤S101)
步骤S101中,控制部11作为获取部111而运行,获取多个训练图30。
各训练图30可根据由推测模块5所获得的任务能力而适当生成。解算任务的对象的条件可适当给予,各训练图30可根据所给予的条件而生成。而且,各训练图30可根据表示现有的交通网、现有的通信网络等的现有数据而获得。除此以外,各训练图30可根据图像数据而获得。图像数据既可通过摄像机而获得,或者也可由计算机适当地生成。
各训练图30的数据格式可不受特别限定,可根据实施方式来适当选择。一例中,各训练图30可包含邻接表或邻接矩阵。另一例中,各训练图30可包含邻接表以及邻接矩阵以外的其他数据格式(例如图像数据等)。作为其他数据格式的一例,各训练图30可包含图像数据。此时,各像素可对应于顶点,像素间的关系性可对应于枝。
对各训练图30的正解(真值)可适当给予。一例中,正解(真值)可根据规定的规则而给予。另一例中,正解(真值)可通过正解标签(教学信号)来表示。此时,可适当生成与各训练图30对应的正解标签,所生成的正解标签可关联于各训练图30。由此,各训练图30也可以关联有正解标签的数据集的格式而生成。
各训练图30既可通过计算机的动作而自动地生成,或者也可通过至少局部包含作业员的操作而手动地生成。而且,各训练图30的生成既可由模型生成装置1进行,或者也可由模型生成装置1以外的其他计算机进行。即,控制部11可自动地、或者通过经由输入装置15的作业员的操作而手动地生成各训练图30。或者,控制部11例如可经由网络、存储介质91等而获取由其他计算机所生成的各训练图30。多个训练图30的一部分可由模型生成装置1所生成,其他可由一个或多个其他计算机所生成。多个训练图30中的至少任一者例如也可由包含机器学习模型的生成模型(例如,敌对的生成网络中所含的生成模型)所生成。
所获取的训练图30的数量可不受特别限定,可以能够实施机器学习的方式而根据实施方式来适当决定。当获取多个训练图30时,控制部11将处理推进至接下来的步骤S102。
(步骤S102)
步骤S102中,控制部11作为学习处理部112而运行,使用所获取的多个训练图30来实施推测模块5的机器学习。
作为机器学习的处理的一例,首先,控制部11进行成为机器学习的处理对象的推测模块5的初始设定。推测模块5的结构以及参数的初始值既可通过模板来给予,或者也可通过作业员的输入来决定。而且,在进行追加学习或再学习的情况下,控制部11也可基于过去的通过机器学习而获得的学习结果数据来进行推测模块5的初始设定。
接下来,控制部11通过机器学习来训练推测模块5(即,调整推测模块5的参数的值),以使得对各训练图30推测任务的解的结果符合正解(真值)。对于所述训练处理,可使用概率梯度下降法、小批量梯度下降法等。
作为训练处理的一例,首先,控制部11将各训练图30输入至推测模块5,执行顺向的运算处理。一例中,控制部11从各训练图30获取各输入张量(601、602),将所获得的各输入张量(601、602)输入至特征编织网络50的配置在最靠输入侧的最开始的特征编织层5001。接下来,控制部11顺向地执行各特征编织层500的运算处理。在各特征编织层500的运算处理中,控制部11由各输入张量生成各连结张量。继而,控制部11使用编码器505,由各连结张量生成各输出张量。本实施方式中,可采用所述两个编码器(5051、5052)中的任一个来作为编码器505。作为顺向执行各特征编织层500的运算处理的结果,控制部11从最后的特征编织层500L获取各输出张量(651、652)。并且,控制部11将所获得的各输出张量(651、652)输入至推测器55,执行推测器55的运算处理。通过所述一连串的顺向的运算处理,控制部11从推测器55获取对各训练图30的任务的解的推测结果。
接下来,控制部11算出所获得的推测结果与对应的正解之间的误差。如上所述,正解可根据规定的规则而给予,或者可通过对应的正解标签而给予。对于误差的算出,可使用损耗函数。损耗函数例如可根据任务、正解的格式等而适当设定。继而,控制部11算出所算出的误差的梯度。控制部11通过误差反向传播法,使用所算出的误差的梯度,从输出侧依序算出包含推测器55以及各特征编织层500的编码器505的各参数的、推测模块5的参数的值的误差。并且,控制部11基于所算出的各误差来更新推测模块5的各参数的值。对各参数的值进行更新的程度可通过学习率来调节。学习率既可通过作业员的指定来给予,也可作为程序内的设定值而给予。
控制部11通过所述一连串的更新处理来调整各参数的值,以使得关于各训练图30而算出的误差之和变小。例如,控制部11也可重复借助所述一连串的更新处理所进行的各参数的值的调整,直至满足执行规定次数的、所算出的误差之和成为阈值以下等规定条件为止。作为所述机器学习的处理结果,控制部11可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了执行与所使用的训练图30相应的所期望的推测任务(即,对所给予的图推测任务的解)的能力。当机器学习的处理完成时,控制部11将处理推进至接下来的步骤S103。
(步骤S103)
步骤S103中,控制部11作为保存处理部113而运行,生成与通过机器学习而生成的训练完毕的推测模块5相关的信息作为学习结果数据125。并且,控制部11将所生成的学习结果数据125保存至规定的存储区域。
规定的存储区域例如可为控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。存储介质例如可为CD、DVD等,控制部11也可经由驱动器17而将学习结果数据125保存至存储介质中。外部存储装置例如可为网络附属存储器(Network AttachedStorage,NAS)等数据服务器。此时,控制部11也可利用通信接口13,经由网络而将学习结果数据125保存至数据服务器。而且,外部存储装置例如也可为经由外部接口14连接于模型生成装置1的外置的存储装置。
当学习结果数据125的保存完成时,控制部11结束与本动作例相关的模型生成装置1的处理流程。
另外,所生成的学习结果数据125可在任意的时机提供给推测装置2。例如,控制部11也可作为步骤S103的处理或者独立于步骤S103的处理,而将学习结果数据125转发至推测装置2。推测装置2也可通过接收所述转发而获取学习结果数据125。而且,例如推测装置2也可利用通信接口23而经由网络来访问模型生成装置1或数据服务器,由此来获取学习结果数据125。而且,例如推测装置2也可经由存储介质92来获取学习结果数据125。而且,例如学习结果数据125也可被预先装入至推测装置2中。
进而,控制部11也可通过定期或不定期地重复所述步骤S101~步骤S103的处理来更新或新生成学习结果数据125。在所述重复时,可适当执行用于机器学习的训练图30的至少一部分的变更、修正、追加、删除等。并且,控制部11也可利用任意方法将经更新或新生成的学习结果数据125提供给推测装置2,由此来更新推测装置2所保持的学习结果数据125。
[推测装置]
图9是表示与本实施方式的推测装置2对推测任务的执行相关的处理流程的一例的流程图。以下说明的推测装置2的处理流程为推测方法的一例。但是,以下说明的推测装置2的处理流程不过是一例,各步骤可尽可能地变更。而且,对于以下的处理流程,可根据实施方式来适当地进行步骤的省略、替换以及追加。
(步骤S201)
步骤S201中,控制部21作为获取部211而运行,获取成为推测任务的对象的对象图221。对象图221的结构与训练图30同样。对象图221的数据格式可根据实施方式来适当选择。对象图221例如可根据经由输入装置25等而输入的条件来生成。或者,对象图221也可根据现有的数据而获得。除此以外,对象图221也可根据图像数据而获得。控制部21也可直接获取对象图221。或者,控制部21例如也可经由网络、传感器、其他计算机、存储介质92等来间接地获取对象图221。当获取对象图221时,控制部21将处理推进至接下来的步骤S202。
(步骤S202)
步骤S202中,控制部21作为推测部212而运行,参照学习结果数据125来进行训练完毕的推测模块5的设定。并且,控制部21使用训练完毕的推测模块5来推测对所获取的对象图221的任务的解。所述推测的运算处理可与所述机器学习的训练处理中的顺向的运算处理同样。控制部21将对象图221输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部21能够从推测器55获取对于对象图221推测任务的解的结果。当获取推测结果时,控制部21将处理推进至接下来的步骤S203。
(步骤S203)
步骤S203中,控制部21作为输出部213而运行,输出与推测结果相关的信息。
输出目标以及所输出的信息的内容可分别根据实施方式来适当决定。例如,控制部21也可将通过步骤S202而获得的推测结果直接输出至输出装置26或其他计算机的输出装置。而且,控制部21也可基于所获得的推测结果来执行某些信息处理。并且,控制部21也可将执行所述信息处理的结果作为与推测结果相关的信息而输出。在执行所述信息处理的结果的输出中,可包含根据推测结果对控制对象装置的动作进行控制等。输出目标例如可为输出装置26、其他计算机的输出装置、控制对象装置等。
当与推测结果相关的信息的输出完成时,控制部21结束与本动作例相关的推测装置2的处理流程。另外,控制部21也可持续地反复执行步骤S201~步骤S203的一连串信息处理。反复的时机可根据实施方式来适当决定。由此,推测装置2可构成为持续地反复执行所述推测任务。
[特征]
如上所述,本实施方式的推测模块5的特征编织网络50中构成为,并非针对每个顶点来参照输入图的特征,而是针对每个枝来参照输入图的特征。特征编织网络50的各特征编织层500中,通过编码器505,以各顶点为基准而在与各枝相关的特征量中反映与其他枝相关的特征量。
图10示意性地例示经过本实施方式的两个特征编织层500来反映与其他枝相关的特征量的情况的一例。在被输入至特征编织层500之前,第一输入张量(ZA la)表示与以第一顶点为基准而从第一顶点流出至第二顶点的枝相关的特征量。第二输入张量(ZB la)表示与以第二顶点为基准而从第二顶点流出至第一顶点的枝相关的特征量。第一连结张量表示将与以第一顶点为基准而流出至第二顶点的枝以及从第二顶点流入的枝相关的特征量予以结合的状态。
在第一个特征编织层500的编码器505(1)中对第一连结张量进行编码时,对流出至作为对象的第二顶点的枝以及从作为对象的第二顶点流入的枝的特征量进行编织,并且将与其他第二顶点之间的关系(即,流出至其他第二顶点的枝以及流入至其他第二顶点的枝的特征量)反映至所述特征量的编织中。因而,经过编码器505(1)而获得的第一输出张量(ZA la+1)的各要素表示如下所述的特征量,即:关于作为对象的第一顶点,在反映出与其他第二顶点之间的关系的基础上,编织流出至作为对象的第二顶点的枝以及从作为对象的第二顶点流入的枝的特征量,由此而导出的特征量。同样地,第二输出张量(ZB la+1)的各要素表示如下所述的特征量,即:关于作为对象的第二顶点,在反映出与其他第一顶点之间的关系的基础上,编织流出至作为对象的第一顶点的枝以及从作为对象的第一顶点流入的枝的特征量,由此而导出的特征量。
在经过第二个特征编织层500之前,从各输出张量(ZA la+1、ZB la+1)导出各输入张量,使轴循环后连结各输入张量。由此,生成各连结张量。此阶段的第一连结张量表示将与以第一顶点为基准而流出至第二顶点的枝以及从第二顶点流入的枝相关的特征量予以结合的状态,并且在各特征量中反映出了与以第一顶点为基准的其他第二顶点之间的关系以及与以第二顶点为基准的其他第一顶点之间的关系。因而,经过第二个特征编织层500的编码器505(2)而获得的第一输出张量(ZA la+2)的各要素表示如下所述的特征量,即:关于作为对象的第一顶点,在反映出与其他第二顶点之间的关系以及与以各第二顶点为基准的其他第一顶点之间的关系的基础上,进一步编织流出至作为对象的第二顶点的枝以及从作为对象的第二顶点流入的枝的特征量,由此而导出的特征量。
即,在第一输出张量(ZA la+2)的各要素所表示的特征量且与作为对象的第一顶点以及作为对象的第二顶点之间的枝相关的特征量中,反映出与距作为对象的第一顶点为尺寸2的范围的枝(即,作为对象的第一顶点与其他第二顶点之间的枝、以及各第二顶点与其他第一顶点之间的枝)相关的特征量。如图10所示,在所述机器学习的反向传播的过程中也同样。在反向传播的过程中,经过两个特征编织层500而获得的第一输出张量的对象要素(斜线要素)如图的斜线部所示,每当追溯一个特征编织层500(编码器505)时,扩展为尺寸1的范围。
因此,越是叠加特征编织层500,则越能够将与离开各顶点的顶点相关的枝的特征量反映至与各顶点相关的枝的特征量中。另外,如上所述,根据特征编织层500的数量,所参照的其他枝的范围扩大。因此,优选的是,特征编织层500的数量为输入图的尺寸以上。对于输入图的尺寸,可选择任意的两顶点,并根据在从所选择的两顶点中的其中一者朝向另一者的最短路径上通过的枝的最大值来算出。通过特征编织层500的数量为输入图的尺寸以上,能够在与各枝相关的特征量中反映与所有的其他枝相关的特征量(尤其是与在图内远离对象枝的枝相关的特征量)。由此,能够从图整体中提取各枝的特征。作为一例,在输入图对应于图像的情况下,能够在反映出远离的区域彼此的关系性的基础上提取各区域的特征。
除此以外,编码器505构成为,并非针对每个顶点来计算邻接的枝的特征的加权和,而是关于对象顶点来从所输入的所有枝的特征量导出各枝的相对特征量。根据所述编码器505的结构,能够使得即便叠加特征编织层500也不会引起过剩的平滑化。因此,能够根据任务的难易度来加深特征编织网络50的层级,其结果,在特征编织网络50中,能够提取对于解算任务为适当的输入图的特征。即,能够期待借助特征编织网络50所进行的特征提取的精度提高。由此,在推测器55中,能够基于所获得的特征量来期待高精度的推测。
因此,根据本实施方式,即便是复杂的任务,也能够加深特征编织网络50的层级,与此相应地,对于推测模块5,能够实现对以图来表达的任务的解进行推测的精度的提高。模型生成装置1中,通过步骤S101以及步骤S102的处理,可期待能够高精度地推测对输入图的任务的解的、训练完毕的推测模块5的生成。推测装置2中,借助步骤S201~步骤S203的处理,通过使用此种训练完毕的推测模块5,能够期待对于对象图221的任务的解的高精度的推测。
§4变形例
以上,详细说明了本发明的实施方式,但直至前述为止的说明在所有方面不过是本发明的例示。当然可不脱离本发明的范围而进行各种改良或变形。例如,可进行如下所述的变更。另外,以下,关于与所述实施方式同样的构成元件,使用同样的符号,对于与所述实施方式同样的点,则适当省略了说明。以下的变形例可适当组合。
<4.1>
所述实施方式的推测系统100可适用于解算能够以图来表达的各种任务的场景。图(训练图30、对象图221)的种类可根据任务来适当选择。图例如可为有向二部图、无向二部图、一般有向图、一般无向图、顶点特征图、超图等。任务例如可为双边匹配、单边匹配、事态的推测(包含预测)、图的特征推测、图内的搜索、顶点的分类(categorize)(图的分割)、顶点间的关系性的推测等。以下,表示限定了适用场景的具体例。
(A)采用有向二部图的场景
图11示意性地例示第1具体例的推测系统100A的适用场景的一例。第1具体例是在采用有向二部图来作为表达所给予的条件(解算任务的对象)的图的场景中适用了所述实施方式的示例。第1具体例的推测系统100A包括模型生成装置1以及推测装置2A。推测装置2A为所述推测装置2的一例。
第1具体例中,各训练图30A以及对象图221A(输入图)为有向二部图70A。构成有向二部图70A的多个顶点是以各子集(71A、72A)内的顶点彼此不存在枝的方式被划分为属于两个子集(71A、72A)的任一个。输入图的第一集对应于有向二部图70A的两个子集(71A、72A)中的其中一个,输入图的第二集对应于有向二部图70A的两个子集(71A、72A)中的另一个。各训练图30A以及对象图221A为所述实施方式中的各训练图30以及对象图221的一例。另外,有向二部图70A中的顶点的数量以及顶点间的有向枝的有无可被适当决定为适当地表达解算任务的对象。
任务只要可通过有向二部图来表达,则其内容可不受特别限定,可根据实施方式来适当选择。一例中,任务可为双边匹配。具体而言,任务可为两个团体间的匹配任务且决定属于各团体的对象彼此的最佳配对的任务。
此时,有向二部图70A的两个子集(71A、72A)对应于匹配任务中的两个团体。有向二部图70A的属于各子集(71A、72A)的顶点对应于属于各团体的对象。从第一顶点向第二顶点流出的枝对应于起点为第一顶点且终点为第二顶点的有向枝。从第二顶点向第一顶点流出的枝对应于起点为第二顶点且终点为第一顶点的有向枝。
与从第一顶点向第二顶点流出的枝相关的特征量对应于从属于两个团体中的其中一者的对象(第一顶点)对属于另一者的对象(第二顶点)的期望度。与从第二顶点向第一顶点流出的枝相关的特征量对应于从属于两个团体中的另一者的对象(第二顶点)对属于其中一者的对象(第一顶点)的期望度。
只要能够表示期望组队(匹配)的程度,则期望度的形式可不受特别限定,可根据实施方式来适当选择。期望度例如可为期望顺位、得分等。得分是以数值来表示期望组队的程度。得分可适当给予。一例中,可在从各对象给予了期望顺位的列表后,将各对象的以列表表示的期望顺位通过规定的运算进行数值转换,由此来获得得分,可使用所获得的得分来作为期望度。
匹配对象可根据实施方式来适当选择。匹配对象(以下,也将匹配对象称作“主体(agent)”)例如可为男/女、室友(roommate)、求职者/雇主、职员/分配目标、患者/医生、能量的供给者/受供者等。另外,与任务为匹配对应地,推测装置2A可改读为匹配装置。
推测器55可适当构成为根据特征信息来推测匹配结果。作为一例,推测器55可包括一层卷积层。由此,推测器55可构成为,将第一输出张量(ZA L)输入至卷积层,执行卷积层的运算处理,由此,将第一输出张量(ZA L)转换为以属于其中一个团体的对象(第一顶点)为基准的匹配的推测结果(qA∈RN×M)。而且,推测器55可构成为,将第二输出张量(ZB L)输入至卷积层,执行卷积层的运算处理,由此,将第二输出张量(ZB L)转换为以属于另一个团体的对象(第二顶点)为基准的匹配的推测结果(qB∈RM×N)。进而,推测器55可构成为,对针对每个团体(主体)而获得的各推测结果(qA、qB)进行平均化,由此来算出匹配的推测结果(q)(以下的式1)。
[数式1]
T表示转置。推测结果(q)能够以N×M的矩阵来表达。另外,推测器55中,既可相对于各输出张量(ZA L、ZB L)而共同使用单个卷积层,或者也可相对于各输出张量(ZA L、ZB L)而设置各自的卷积层。
机器学习中的正解可以获得满足所期望的基准的匹配结果的方式适当给予。一例中,在推测模块5的机器学习中,可使用以下定义的损耗函数。即,首先,推测结果(q)可针对每个团体而使用柔性最大值函数(softmax),通过以下的式2至式4进行预处理。
[数式2]
qeA=softmax(q)…(式2)
[数式3]
qeB=softmax(qT)…(式3)
[数式4]
qe表示预处理后的推测结果。qe ij的后缀(i、j)表示第i行第j列的要素。关于qeA以及qeB的后缀也同样。A表示其中一个团体(第一集),B表示另一个团体(第二集)。min函数是选择所给予的自变量中的最小值。用于使用所述预处理后的推测结果(qe)而以不具有阻塞对的方式进行训练的损耗函数λs可通过式5至式7来定义。
[数式5]
[数式6]
[数式7]
vA表示从属于其中一个团体的对象对属于另一个团体的对象的期望度。vB表示从属于另一个团体的对象对属于其中一个团体的对象的期望度。一例中,期望度可通过下述方式而获得,即,对期望顺位进行数值转换,以使得期望顺位越高,则期望度为越高的值,且为与期望顺位相应的超过0且为1以下的值。ai表示属于其中一个团体的(第i个)对象,bj表示属于另一个团体的(第j个)对象。vA ij表示从属于其中一个团体的第i个对象对属于另一个团体的第j个对象的期望度。vB ji表示从属于另一个团体的第j个对象对属于其中一个团体的第i个对象的期望度。max函数是选择所给予的自变量中的最大值。
g(ai;bj,qe)在相对于属于另一个团体的任意对象bc(c≠j)而ai比起bc更喜好bj(即,对bj的期望度高于对bc的期望度)的情况下,输出比0大的值。同样地,g(bj;ai,qe)在相对于属于其中一个团体的任意对象ac(c≠i)而bj比起ac更喜好ai(即,对ai的期望度高于对ac的期望度)的情况下,输出比0大的值。在g(ai;bj,qe)以及g(bj;ai,qe)均输出比0大的值的情况下,{ai,bj}成为阻塞对。根据损耗函数λs,能够抑制产生此种阻塞对的匹配。
而且,推测结果(q)的各要素可构成为表示对应的对象彼此的匹配的概率。此时,推测结果(q)优选为对称的双随机矩阵。用于收敛为此种推测结果的损耗函数λc可通过以下的式8至式9来定义。
[数式8]
[数式9]
*表示任意要素。例如,qeA i*表示将矩阵qeA的第i行的所有要素排列而成的矢量,qeB *i表示将矩阵qeB的第i列的所有要素排列而成的矢量。C函数对每个团体的推测结果(分配矢量)的相关进行平均。通过使用基于相关的损耗,能够不受qeA以及qeB的范数的差异的影响而计算仅相对于矩阵的对称性的损耗。
进而,为了相对于满意度、公平性等规定基准也获得稳定的匹配,可追加用于使推测结果收敛以使其满足规定基准的损耗函数。一例中,也可追加通过以下的式10至式15来定义的三个损耗函数(λf、λe、λb)中的至少任一个。
[数式10]
[数式11]
[数式12]
[数式13]
[数式14]
S函数计算匹配结果中的期望度的总和。因此,根据损耗函数λf,能够抑制匹配结果中的其中一个团体的期望度的总和与另一个团体的期望度的总和之间的差距(gap),即,能够提高推测结果的公平性。而且,根据损耗函数λe,能够加大匹配结果中的期望度的总和,即,能够提高推测结果的满意度。损耗函数λb与损耗函数λf以及损耗函数λe的平均值相同。因此,根据损耗函数λb,能够在取得平衡的状态下提高推测结果的公平性以及满意度。
[数式15]
λ=wsλs+wcλc+wfλf+wbλb…(式15)
因此,在推测模块5的机器学习中,可使用以所述式15定义的损耗函数λ。式15中的ws、wc、wf、we以及wb是规定各损耗函数(λs、λc、λf、λe、λb)的优先级的权重。ws、wc、wf、we以及wb的值可适当指定。在机器学习中,通过将推测结果代入损耗函数λ,从而算出误差,朝使所算出的误差的梯度反向传播而减小损耗函数λ的值(例如,接近下限、单纯变小等)的方向调整推测模块5的参数的值。
第1具体例中,在模型生成装置1的机器学习时以及推测装置2A的推测处理时,将有向二部图70A作为输入图进行处理。特征编织网络50的最开始的特征编织层5001构成为,从所述有向二部图70A受理第一输入张量601A以及第二输入张量602A。第一输入张量601A表示与从属于两个子集(71A、72A)中的其中一个子集的顶点向属于另一个子集的顶点延伸的有向枝相关的特征量。第二输入张量602A表示从属于另一个子集的顶点向属于其中一个子集的顶点延伸的特征量。在特征量为一维的情况下,各输入张量(601A、602A)可以矩阵(N×M、M×N)来表达。除了这些点以外,第1具体例的结构可与所述实施方式同样。
(模型生成装置)
第1具体例中,模型生成装置1可通过与所述实施方式同样的处理流程而生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对有向二部图70A的任务的解的能力。
即,步骤S101中,控制部11获取多个训练图30A。各训练图30A包含有向二部图70A。各训练图30A中的顶点以及枝的设定可以适当表达训练对象的条件的方式适当给予。步骤S102中,控制部11使用所获取的多个训练图30A来实施推测模块5的机器学习。通过所述机器学习,可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对有向二部图70A的任务的解的能力。另外,在使推测模块5学会执行所述匹配任务来作为任务的能力的情况下,在机器学习中,可使用所述损耗函数λ。在机器学习中,控制部11可通过将推测结果代入所述损耗函数λ而算出误差,朝使所算出的误差的梯度反向传播而减小损耗函数λ的值的方向调整推测模块5的参数的值。步骤S103中,控制部11生成表示所生成的训练完毕的推测模块5的学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可在任意时机提供给推测装置2A。
(推测装置)
推测装置2A的硬件结构以及软件结构可与所述实施方式的推测装置2同样。第1具体例中,推测装置2A可通过与所述推测装置2同样的处理流程来推测对有向二部图70A的任务的解。
即,步骤S201中,推测装置2A的控制部作为获取部而运行,获取对象图221A。对象图221A包含有向二部图70A。对象图221A中的顶点以及枝的设定可以适当表达推测对象的条件的方式适当给予。步骤S202中,控制部作为推测部而运行,使用训练完毕的推测模块5来推测对所获取的对象图221A的任务的解。具体而言,控制部将对象图221A输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部可从推测器55获取对于对象图221A推测任务的解的结果。在训练完毕的推测模块5获得了执行所述匹配任务的能力的情况下,控制部可获得匹配的推测结果。此时,控制部也可在推测器55的处理中进行了所述式1至式4的运算后,对所获得的qe ij执行最大值自变量(argument of the maximum,argmax)运算,由此获得匹配的推测结果。
步骤S203中,控制部作为输出部而运行,输出与推测结果相关的信息。作为一例,控制部在获得了所述匹配的推测结果的情况下,也可将所获得的推测结果直接输出至输出装置。由此,推测装置2A也可敦促作业员是否采用推测结果。作为另一例,在获得了所述匹配的推测结果的情况下,控制部也可使推测结果的至少一部分的匹配成立(确定)。此时,匹配对象(顶点)可在任意时机追加,推测装置2A也可反复执行自由对象(顶点)彼此的匹配。通过匹配任务的执行而匹配已成立的对象(顶点)可从下次以后的匹配任务的对象中予以排除。而且,已成立的匹配可在任意时机解除,匹配已解除的对象(顶点)可追加为此后的匹配任务的对象。由此,推测装置2A可构成为在线且实时地执行匹配。
(特征)
根据第1具体例,在所给予的任务(例如所述匹配任务)是以有向二部图70A来表达的场景中,能够实现推测模块5的推测精度的提高。模型生成装置1中,可期待能够高精度地推测以有向二部图70A来表达的任务的解的、训练完毕的推测模块5的生成。推测装置2A中,通过使用此种训练完毕的推测模块5,能够期待以有向二部图70A来表达的任务的解的高精度的推测。
(B)采用无向二部图的场景
图12示意性地例示第2具体例的推测系统100B的适用场景的一例。第2具体例是在采用无向二部图来作为表达所给予的条件(解算任务的对象)的图的场景中适用了所述实施方式的示例。第2具体例的推测系统100B包括模型生成装置1以及推测装置2B。推测装置2B为所述推测装置2的一例。
第2具体例中,各训练图30B以及对象图221B(输入图)为无向二部图70B。构成无向二部图70B的多个顶点是以各子集(71B、72B)内的顶点彼此不存在枝的方式被划分为属于两个子集(71B、72B)的任一个。输入图的第一集对应于无向二部图70B的两个子集(71B、72B)中的其中一个,输入图的第二集对应于无向二部图70B的两个子集(71B、72B)中的另一个。各训练图30B以及对象图221B为所述实施方式中的各训练图30以及对象图221的一例。另外,无向二部图70B中的顶点的数量以及顶点间的枝的有无可以适当表达解算任务的对象的方式适当决定。
任务只要可通过无向二部图来表达,则其内容可不受特别限定,可根据实施方式来适当选择。一例中,任务可为单边匹配。具体而言,任务可为两个团体间的匹配任务且决定属于各团体的对象彼此的最佳配对的任务。此时,无向二部图70B的两个子集(71B、72B)对应于匹配任务中的两个团体。无向二部图70B的属于各子集(71B、72B)的顶点对应于属于各团体的对象。与从第一顶点向第二顶点流出的枝相关的特征量以及与从第二顶点向第一顶点流出的枝相关的特征量均对应于对属于两个团体内的其中一者的对象以及属于另一者的对象彼此进行配对的成本或报酬。
匹配对象可根据实施方式来适当选择。匹配对象例如可为搬运机器人/行李、房间/客人(住宿设施的自动登记)、座位/客人(例如公共交通工具、游乐设施等中的座位分配)等。另一例中,匹配可为了在多个图像(例如动态图像中的连续的帧)间追踪多个物体而进行。此时,第一图像可对应于其中一个团体,第二图像可对应于另一个团体,匹配对象(顶点)可为在各图像内检测出的物体(或物体区域)。通过在各图像间匹配同一物体,从而可进行所述物体的追踪。
成本表示妨碍匹配的程度。报酬表示促进匹配的程度。作为一例,在进行搬运机器人以及行李的匹配的场景中,可将从对象搬运机器人直至对象行李为止的距离设定为成本。作为另一例,在进行座位以及客人的匹配的场景中,可将对象客人的喜好(例如窗侧、通道侧等喜好位置)设定为对于对象座位的报酬。成本或报酬的数值表达可根据实施方式来适当决定。另外,与任务为匹配对应地,推测装置2B可改读为匹配装置。
另一例中,在卷积神经网络中获得的特征图可理解为高度×宽度×特征量这三层的张量。与此相应地,特征图可理解为具有属于其中一个子集的高度h个顶点以及属于另一个子集的宽度w个顶点的无向二部图。因此,无向二部图70B可包含此种特征图,任务可为对图像的规定推论。对图像的推论例如可为对区域进行分割、对物体进行检测等。这些规定的推论例如可在对映照在由车辆的摄像机所获得的拍摄图像中的对象进行提取的场景、对映照在由配置在街头的摄像机所获得的拍摄图像中的人物进行检测的场景等各种场景中执行。另外,卷积神经网络的结构可不受特别限定,可根据实施方式来适当决定。而且,特征图既可作为卷积神经网络的输出而获得,也可作为卷积神经网络中途的运算结果而获得。
推测器55可适当构成为,从特征信息中导出所述匹配、对图像的规定推论等对无向二部图70B的任务的解的推测结果。机器学习中的正解可根据对无向二部图70B的任务的内容而适当给予。在任务为所述匹配任务的情况下,与所述第1具体例同样地,机器学习中的正解可以获得满足所期望的基准的匹配结果的方式适当给予。在任务为对所述图像的规定推论的情况下,例如可将表示区域分割的真值、物体检测结果的真值等推论正解的正解标签关联至各训练图30B。在机器学习中,可使用所述正解标签来算出误差。
第2具体例中,在模型生成装置1的机器学习时以及推测装置2B的推测处理时,将无向二部图70B作为输入图进行处理。特征编织网络50的最开始的特征编织层5001构成为,从所述无向二部图70B受理第一输入张量601B以及第二输入张量602B。无向二部图70B中,各枝不具有方向性,因此与从第一顶点向第二顶点流出的枝相关的特征量以及与从第二顶点向第一顶点流出的枝相关的特征量彼此相同。因此,由最开始的特征编织层5001所受理的来自输入图的第二输入张量602B可通过对来自输入图的第一输入张量601B的第一轴以及第二轴进行转置而生成。在特征量为一维的情况下,各输入张量(601B、602B)可以矩阵(N×M、M×N)来表达。除了这些点以外,第2具体例的结构可与所述实施方式同样。
(模型生成装置)
第2具体例中,模型生成装置1可通过与所述实施方式同样的处理流程而生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对无向二部图70B的任务的解的能力。
即,步骤S101中,控制部11获取多个训练图30B。各训练图30B包含无向二部图70B。各训练图30B中的顶点以及枝的设定可以适当表达训练对象的条件的方式适当给予。步骤S102中,控制部11使用所获取的多个训练图30B来实施推测模块5的机器学习。通过所述机器学习,可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了对无向二部图70B推测任务的解的能力。步骤S103中,控制部11生成表示所生成的训练完毕的推测模块5的学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可在任意时机提供给推测装置2B。
(推测装置)
推测装置2B的硬件结构以及软件结构可与所述实施方式的推测装置2同样。第2具体例中,推测装置2B可通过与所述推测装置2同样的处理流程,来推测对无向二部图70B的任务的解。
即,步骤S201中,推测装置2B的控制部作为获取部而运行,获取对象图221B。对象图221B包含无向二部图70B。对象图221B中的顶点以及枝的设定可以适当表达推测对象的条件的方式适当给予。在训练完毕的推测模块5获得了对图像执行规定推论的能力的情况下,控制部可执行卷积神经网络的运算来作为预处理,由此获取对象图221B(特征图)。
步骤S202中,控制部作为推测部而运行,使用训练完毕的推测模块5来推测对所获取的对象图221B的任务的解。具体而言,控制部将对象图221B输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部可从推测器55获取对于对象图221B推测任务的解的结果。在训练完毕的推测模块5获得了执行所述匹配任务的能力的情况下,控制部可获得匹配的推测结果。在训练完毕的推测模块5获得了对图像执行规定推论的能力的情况下,控制部可获得对获取了对象图221B的图像的、规定的推论结果。
步骤S203中,控制部作为输出部而运行,输出与推测结果相关的信息。作为一例,控制部也可将所获得的推测结果直接输出至输出装置。作为另一例,在获得了所述匹配的推测结果的情况下,与所述第1具体例同样地,控制部也可使推测结果的至少一部分的匹配成立。此时,进而与所述第1具体例同样地,推测装置2B可构成为在线且实时地执行匹配。例如在所述自动登记/座位分配的情况中,推测装置2B可伴随客人的到访以及房间/座位的开放而将对应的顶点追加至各子集,并根据客人的要求而通过匹配来分配空房/空座。并且,推测装置2B可从各子集中删除与已分配的客人以及房间/座位对应的各顶点。进而,作为另一例,在所述物体追踪的情况中,控制部可基于推测结果来追踪各图像内的一个以上的物体。此时,推测装置2B可构成为,当在图像内检测到时,将对象物体追加为匹配对象,当未在图像内检测到(例如跑出拍摄范围外、被屏蔽物的影子遮挡等)时,从匹配对象中排除对象物体。由此,推测装置2B可构成为,实时地执行物体追踪。
(特征)
根据第2具体例,在所给予的任务是以无向二部图70B来表达的场景中,能够实现推测模块5的推测精度的提高。模型生成装置1中,可期待能够高精度地推测以无向二部图70B来表达的任务的解的、训练完毕的推测模块5的生成。推测装置2B中,通过使用此种训练完毕的推测模块5,能够期待以无向二部图70B来表达的任务的解的高精度的推测。
(C)采用一般有向图的情况
图13示意性地例示第3具体例的推测系统100C的适用场景的一例。第3具体例是在采用一般有向图(也可简称作有向图)来作为表达所给予的条件(解算任务的对象)的图的场景中适用了所述实施方式的示例。第3具体例的推测系统100C包括模型生成装置1以及推测装置2C。推测装置2C为所述推测装置2的一例。
第3具体例中,各训练图30C以及对象图221C(输入图)为一般有向图70C。图中的圆形标记、方形标记以及星型标记表示顶点。输入图的属于第一集的第一顶点对应于构成一般有向图70C的有向枝的起点,属于第二集的第二顶点对应于有向枝的终点。因此,如图13所示,第一集以及第二集的顶点的数量相同,属于各集合的顶点共同(即,M=N)。而且,从第一顶点向第二顶点流出的枝对应于从起点向终点流出的有向枝,从第二顶点向第一顶点流出的枝对应于从起点流入至终点的有向枝。各训练图30C以及对象图221C为所述实施方式中的各训练图30以及对象图221的一例。另外,一般有向图70C中的顶点的数量以及顶点间的有向枝的有无可以适当表达解算任务的对象的方式适当决定。
任务只要可通过一般有向图来表达,则其内容可不受特别限定,可根据实施方式来适当选择。一例中,一般有向图70C可构成为表达网络。网络例如可对应于道路网、铁路网、航路网、航线网等交通网。或者,网络可对应于通信网。与此对应地,任务可为推测(包含预测)在网络上产生的事态的任务。推测事态例如可为预计两顶点间的移动所耗费的时间、预测异常的发生、搜索最佳路径等。
此时,与从第一顶点向第二顶点流出的枝相关的特征量以及与从第二顶点向第一顶点流出的枝相关的特征量可均对应于构成网络的各顶点间的连接属性。在网络对应于交通网的情况下,各顶点可对应于交通的据点(例如岔路口、主要地点、车站、港口、机场等),连接属性例如可为路的种类(例如一般道路、高速路等道路种类)、路的通行容许量、移动所耗费的时间、距离等。在网络对应于通信网的情况下,各顶点可对应于通信的据点(例如服务器、路由器、开关等),连接属性例如可为通信的种类、通信容许量、通信速度等。特征量可包含一个以上的属性值。另外,与预测事态对应地,推测装置2C可改读为预测装置。
另一例中,任务可为对一般有向图进行分割(即,对构成一般有向图的顶点进行分类)。作为任务的具体例,一般有向图70可为根据在连续的两副图像间关联特征点的结果而获得的、表示动向的类似性的加权图。此时,所述图的分割可为了下述目的而执行,即,检测密集的子图以判定关联的准确性。或者,一般有向图70可为表示图像内的特征点的图。此时,所述图的分割可为了针对每个物体来分类特征点而执行。在各种情况中,特征量可以表示特征点间的关系性的方式适当设定。
在机器学习中,可训练分割图的能力,以达成判定所述关联的准确性、针对每个物体进行分类等目的。进而,可对通过分割而获得的子图适用规定的运算处理(例如某些近似算法)。此时,在机器学习中,可训练分割图的能力,以使得对于规定的运算为最佳(例如近似算法的近似精度变高)。
进而,另一例中,任务可为:推测在一般有向图中表现出的特征。作为任务的具体例,一般有向图70C例如可为知识图谱(knowledge graph)等表达对象物(例如人、物等)的量变曲线的图。此时,任务可为:推测从以图来表达的量变曲线导出的对象物的特征。
推测器55可适当构成为,从特征信息中导出所述事态推测、图分割、特征推测等对一般有向图70C的任务的解的推测结果。作为一例,推测器55的输出可包含表示推测结果的每个顶点的独热码(one-hot)矢量。机器学习中的正解可根据对一般有向图70C的任务的内容来适当给予。例如,可将表示事态的真值、分割的真值、特征的真值等推测的正解的正解标签关联至各训练图30C。在机器学习中,可使用所述正解标签来算出误差。除此以外,机器学习中的正解例如可以获得满足所期望的基准的推测结果的方式适当给予,例如使交通量最大化、使各移动体的移动时间最小化、使网络整体的通信量最大化等。
第3具体例中,在模型生成装置1的机器学习时以及推测装置2C的推测处理时,将一般有向图70C作为输入图进行处理。特征编织网络50的最开始的特征编织层5001构成为,从所述一般有向图70C受理第一输入张量601C以及第二输入张量602C。此处,如上所述,输入图的属于第一集的第一顶点对应于有向枝的起点,属于第二集的第二顶点对应于有向枝的终点,第一集以及第二集的顶点的数量相同,且属于各集合的顶点共同。因此,由最开始的特征编织层5001所受理的来自输入图的第二输入张量602C可通过对来自输入图的第一输入张量601C的第一轴以及第二轴进行转置而生成。在特征量为一维的情况下,各输入张量(601C、602C)可以矩阵(N×N)来表达。除了这些点以外,第3具体例的结构可与所述实施方式同样。
(模型生成装置)
第3具体例中,模型生成装置1通过与所述实施方式同样的处理流程,可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对一般有向图70C的任务的解的能力。
即,步骤S101中,控制部11获取多个训练图30C。各训练图30C包含一般有向图70C。各训练图30C中的顶点以及有向枝的设定可以适当表达训练对象的条件的方式适当给予。步骤S102中,控制部11使用所获取的多个训练图30C来实施推测模块5的机器学习。通过所述机器学习,可生成获得了对一般有向图70C推测任务的解的能力的、训练完毕的推测模块5。步骤S103中,控制部11生成表示所生成的训练完毕的推测模块5的学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可在任意时机提供给推测装置2C。
(推测装置)
推测装置2C的硬件结构以及软件结构可与所述实施方式的推测装置2同样。第3具体例中,推测装置2C可通过与所述推测装置2同样的处理流程来推测对一般有向图70C的任务的解。
即,步骤S201中,推测装置2C的控制部作为获取部而运行,获取对象图221C。对象图221C包含一般有向图70C。对象图221C中的顶点以及有向枝的设定可以适当表达推测对象的条件的方式适当给予。
步骤S202中,控制部作为推测部而运行,使用训练完毕的推测模块5来推测对所获取的对象图221C的任务的解。具体而言,控制部将对象图221C输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部可从推测器55获取对于对象图221C推测任务的解的结果。
步骤S203中,控制部作为输出部而运行,输出与推测结果相关的信息。作为一例,控制部也可将所获得的推测结果直接输出至输出装置。作为另一例,在获得了在所述网络上产生的事态的推测结果的情况下,控制部也可在异常发生的可能性为阈值以上时,输出告知此情况的警报。进而,作为另一例,在获得了通信网中的最佳路径的推测结果的情况下,控制部也可依据所推测出的最佳路径来发送数据包。
(特征)
根据第3具体例,在所给予的任务是以一般有向图70C来表达的场景中,能够实现推测模块5的推测精度的提高。模型生成装置1中,可期待能够高精度地推测以一般有向图70C来表达的任务的解的、训练完毕的推测模块5的生成。推测装置2C中,通过使用此种训练完毕的推测模块5,能够期待以一般有向图70C来表达的任务的解的高精度的推测。
(D)采用一般无向图的情况
图14示意性地例示第4具体例的推测系统100D的适用场景的一例。第4具体例是在采用一般无向图(也简称作无向图)来作为表达所给予的条件(解算任务的对象)的图的场景中适用了所述实施方式的示例。第4具体例的推测系统100D包括模型生成装置1以及推测装置2D。推测装置2D为所述推测装置2的一例。
第4具体例中,各训练图30D以及对象图221D(输入图)为一般无向图70D。输入图的属于第一集的第一顶点以及属于第二集的第二顶点分别对应于构成一般无向图70D的各顶点。与所述第3具体例同样地,第一集以及第二集的顶点的数量相同,属于各集合的顶点共同(即,M=N)。从第一顶点向第二顶点流出的枝以及从第二顶点向第一顶点流出的枝对应于对应的两个顶点间的无向枝。各训练图30D以及对象图221D为所述实施方式中的各训练图30以及对象图221的一例。另外,一般无向图70D中的顶点的数量以及顶点间的枝的有无可以适当表达解算任务的对象的方式适当决定。
任务只要可通过一般无向图来表达,则其内容可不受特别限定,可根据实施方式来适当选择。除了枝不具有方向性这点以外,第4具体例中的任务可与第3具体例同样。即,一例中,一般无向图70D可构成为表达网络。与此相应地,任务可为:推测(包含预测)在网络上产生的事态。此时,与从第一顶点向第二顶点流出的枝相关的特征量以及与从第二顶点向第一顶点流出的枝相关的特征量可均对应于构成网络的各顶点间的连接属性。另外,与预测事态对应地,推测装置2D可改读为预测装置。另一例中,任务可为分割一般无向图。进而,另一例中,任务可为推测在一般无向图中表现出的特征。
推测器55可适当构成为,从特征信息中导出所述事态推测、图分割、特征推测等对一般无向图70D的任务的解的推测结果。一例中,推测器55的输出可包含表示推测结果的每个顶点的独热码(one-hot)矢量。机器学习中的正解可根据对一般无向图70D的任务的内容而适当给予。例如,可将表示事态的真值、分割的真值、特征的真值等推测的正解的正解标签关联至各训练图30D。在机器学习中,可使用所述正解标签来算出误差。除此以外,机器学习中的正解可以获得满足所期望的基准的推测结果的方式适当给予。
第4具体例中,在模型生成装置1的机器学习时以及推测装置2D的推测处理时,将一般无向图70D作为输入图进行处理。特征编织网络50的最开始的特征编织层5001构成为,从所述一般无向图70D受理第一输入张量601D以及第二输入张量602D。在特征量为一维的情况下,各输入张量(601D、602D)可以矩阵(N×N)来表达。
图15示意性地例示第4具体例中的各特征编织层500的运算处理的一例。第4具体例中,属于第一集的顶点以及属于第二集的顶点相同,因此与第3具体例同样地,可通过对来自输入图的第一输入张量601D的第一轴以及第二轴进行转置而生成由最开始的特征编织层5001所受理的来自输入图的第二输入张量602D。但是,在一般无向图70D中,由于枝不具有方向性,因此通过转置而生成的第二输入张量602D与第一输入张量601D相同。因此,输入至各特征编织层500的第一输入张量(ZA l)以及第二输入张量(ZB l)彼此相同,由各特征编织层500所生成的第一输出张量(ZA l+1)以及第二输出张量(ZB l+1)也彼此相同。
因此,如图15所示,各特征编织层500中,生成第一输出张量的处理以及生成第二输出张量的处理可共同地执行。即,由第一输入张量生成第一输出张量的一连串处理以及由第二输入张量生成第二输出张量的一连串处理可单一地构成,其中任一者可予以省略。换言之,生成第一输出张量的一连串处理以及生成第二输出张量的一连串处理可视为通过其中任一个处理的执行来执行两个处理而处理。图15例示省略了生成第二输入张量的一连串处理的场景。除了这些点以外,第4具体例的结构可与所述实施方式同样。
(模型生成装置)
返回图14,第4具体例中,模型生成装置1通过与所述实施方式同样的处理流程,可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对一般无向图70D的任务的解的能力。
即,步骤S101中,控制部11获取多个训练图30D。各训练图30D包含一般无向图70D。各训练图30D中的顶点以及枝的设定可以适当表达训练对象的条件的方式适当给予。步骤S102中,控制部11使用所获取的多个训练图30D来实施推测模块5的机器学习。通过所述机器学习,可生成获得了对一般无向图70D推测任务的解的能力的、训练完毕的推测模块5。步骤S103中,控制部11生成表示所生成的训练完毕的推测模块5的学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可在任意时机提供给推测装置2D。
(推测装置)
推测装置2D的硬件结构以及软件结构可与所述实施方式的推测装置2同样。第4具体例中,推测装置2D可通过与所述推测装置2同样的处理流程来推测对一般无向图70D的任务的解。
即,步骤S201中,推测装置2D的控制部作为获取部而运行,获取对象图221D。对象图221D包含一般无向图70D。对象图221D中的顶点以及枝的设定可以适当表达推测对象的条件的方式适当给予。
步骤S202中,控制部作为推测部而运行,使用训练完毕的推测模块5来推测对所获取的对象图221D的任务的解。具体而言,控制部将对象图221D输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部可从推测器55获取对于对象图221D推测任务的解的结果。
步骤S203中,控制部作为输出部而运行,输出与推测结果相关的信息。与第3具体例同样地,作为一例,控制部也可将所获得的推测结果直接输出至输出装置。作为另一例,在获得了在所述网络上产生的事态的推测结果的情况下,控制部也可在异常发生的可能性为阈值以上时,输出告知此情况的警报。进而,作为另一例,在获得了通信网中的最佳路径的推测结果的情况下,控制部也可依据所推测出的最佳路径来发送数据包。
(特征)
根据第4具体例,在所给予的任务是以一般无向图70D来表达的场景中,能够实现推测模块5的推测精度的提高。模型生成装置1中,可期待能够高精度地推测以一般无向图70D来表达的任务的解的、训练完毕的推测模块5的生成。推测装置2D中,通过使用此种训练完毕的推测模块5,能够期待以一般无向图70D来表达的任务的解的高精度的推测。
(E)采用给予了顶点间的关系性的顶点特征图的情况
图16示意性地例示第5-1具体例的推测系统100E的适用场景的一例。第5-1具体例是在采用顶点特征图来作为表达所给予的条件(解算任务的对象)的图,且构成所采用的顶点特征图的顶点间的关系性为已知的场景中适用了所述实施方式的示例。第5-1具体例的推测系统100E包括模型生成装置1以及推测装置2E。推测装置2E为所述推测装置2的一例。
第5-1具体例中,各训练图30E以及对象图221E(输入图)是包含多个顶点的顶点特征图70E,且是各顶点具有属性(即顶点特征)的顶点特征图70E。各顶点所具有的属性的种类以及数量可根据实施方式来适当决定。各顶点可具有一种以上的属性值。权重为属性的一例,顶点加权图为顶点特征图70E的一例。
输入图的属于第一集的第一顶点以及属于第二集的第二顶点分别对应于构成顶点特征图70E的各顶点。因此,第一集以及第二集的顶点的数量相同,属于各集合的顶点共同。与从第一顶点向第二顶点流出的枝相关的特征量对应于与第一顶点对应的顶点特征图70E的顶点的属性,与从第二顶点向第一顶点流出的枝相关的特征量对应于与第二顶点对应的顶点特征图70E的顶点的属性。即,第5-1具体例中,将各顶点的属性值理解为各枝的特征量,由此,顶点特征图70E是作为与所述第1具体例~第4具体例同样的、各枝具有属性的枝特征图来处理。对各枝给予权重的枝加权图为枝特征图的一例。特征量可包含一种以上的属性值。
各训练图30E以及对象图221E为所述实施方式中的各训练图30以及对象图221的一例。另外,顶点特征图70E中的顶点的数量、属性以及顶点间的枝的关系性可以适当表达解算任务的对象的方式适当决定。以下,为了方便说明,假定顶点的数量为N个。
任务只要可通过顶点特征图来表达,则其内容可不受特别限定,可根据实施方式来适当选择。一例中,任务可为推测从顶点特征图70E导出的事态。
作为任务的具体例,顶点特征图70E可构成为表示化学式或物理性的结晶结构,所述化学式表示成分。此时,各顶点可对应于元素,各顶点的属性例如可对应于元素的种类等元素的属性。顶点间的关系性可对应于元素间的连接关系。推测事态可为:推测所述成分所具有的性质等与成分相关的特征。除此以外,推测事态可为:推测生成所述成分的物质的流程。对于流程的表达,例如可使用自然语言、符号串等。在使用符号串的情况下,符号串与流程之间的对应关系可通过规则来预先规定。进而,符号串可包含用于对构成为生成所述成分的物质的生产装置的动作进行控制的命令。生产装置例如可为计算机、控制器、机器人装置等。命令例如可为控制指令、计算机程序等。
作为任务的另一具体例,顶点特征图70E可构成为表示多个对象物(例如人、物等)各自的特征。此时,各顶点可对应于各对象物,各顶点的属性可对应于各对象物的特征。各对象物的特征可通过所述第3具体例或第4具体例而从表达量变曲线的图中提取。推测事态可为:对于对象物彼此进行最佳匹配。匹配的对象物例如可为客人/广告、患者/医生、人物/工作等。
作为任务的又一具体例,顶点特征图70E可构成为表示电力供给网。此时,各顶点可对应于电力的生产节点或消耗节点。顶点的属性例如可构成为表示生产量、消耗量等。各枝可对应于电线。推测事态可为:推测生产节点以及消耗节点的最佳组合。
推测器55可适当构成为,从特征信息中导出所述事态推测等对顶点特征图70E的任务的解的推测结果。机器学习中的正解可根据对顶点特征图70E的任务的内容来适当给予。例如,可将表示事态的真值等推测的正解的正解标签关联至各训练图30E。在机器学习中,可使用所述正解标签来算出误差。除此以外,机器学习中的正解可以获得满足所期望的基准的推测结果的方式适当给予。
第5-1具体例中,在模型生成装置1的机器学习时以及推测装置2E的推测处理时,将顶点特征图70E作为输入图进行处理。特征编织网络50的最开始的特征编织层5001构成为,从所述顶点特征图70E受理第一输入张量601E以及第二输入张量602E。将通过将顶点排列于第一轴且将表示顶点的属性的特征量排列于第三轴而获得的张量(∈RN×1×D0)的各要素沿着第二轴复制N次(图16的“重复×N”),由此可获得各输入张量(601E、602E)。但是,在此状态下,各输入张量(601E、602E)中未反映出顶点间的关系性。
因此,对于由最开始的特征编织层5001所受理的来自输入图的各输入张量(601E、602E)的第三轴的各要素,可连结或乘算表示顶点特征图70E的对应的顶点间的关系性的信息75E(E、ET)。顶点间的关系性例如可利用枝的有无、枝的种类、与枝相关的特征量等枝的属性来规定。顶点间的关系性的表达形式可不受特别限定,可根据实施方式来适当决定。一例中,在表示枝的有无的情况下,顶点间的关系性可利用{0,1}这两值来表达。在另一例中,在反映枝的种类等属性的情况下,顶点间的关系性可利用连续值来表达。
通过将各顶点排列于第一轴以及第二轴,将表示各顶点间的关系性(各顶点间的枝的属性)的数值信息排列于第三轴,从而能够以张量形式(E∈RN×N×DE)生成适用于第一输入张量601E的信息75E。DE表示数值信息的维数,所述数值信息表示顶点间的关系性。通过对所述信息75E(E)的第一轴与第二轴进行转置,从而能够生成适用于第二输入张量602E的信息75E(ET)。一例中,DE可为一维,表示顶点间的关系性的信息75E可以矩阵来表达。
连结可为:将表示顶点间的关系性的信息75E结合至各输入张量(601E、602E)的第三轴(cat运算)。除此以外,表示顶点间的关系性的信息75E也可结合至各输入张量(601E、602E)的其他维度(例如新的第四轴)。而且,在顶点间的关系性仅以枝的有无来规定的情况下,也可通过省略无顶点间的关系性(不存在枝)的部分而在各输入张量(601E、602E)中反映顶点间的关系性。除了这些点以外,第5-1具体例的结构可与所述实施方式同样。
(模型生成装置)
第5-1具体例中,模型生成装置1通过与所述实施方式同样的处理流程,可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对顶点特征图70E的任务的解的能力。
即,步骤S101中,控制部11获取多个训练图30E。各训练图30E包含顶点特征图70E。各训练图30E中的顶点、属性以及枝的设定可以适当表达训练对象的条件的方式适当给予。步骤S102中,控制部11使用所获取的多个训练图30E来实施推测模块5的机器学习。通过所述机器学习,能够生成获得了对顶点特征图70E推测任务的解的能力的、训练完毕的推测模块5。步骤S103中,控制部11生成表示所生成的训练完毕的推测模块5的学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可在任意时机提供给推测装置2E。
(推测装置)
推测装置2E的硬件结构以及软件结构可与所述实施方式的推测装置2同样。第5-1具体例中,推测装置2E可通过与所述推测装置2同样的处理流程来推测对顶点特征图70E的任务的解。
即,步骤S201中,推测装置2E的控制部作为获取部而运行,获取对象图221E。对象图221E包含顶点特征图70E。对象图221E中的顶点、属性以及枝的设定可以适当表达推测对象的条件的方式适当给予。
步骤S202中,控制部作为推测部而运行,使用训练完毕的推测模块5来推测对所获取的对象图221E的任务的解。具体而言,控制部将对象图221E输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部可从推测器55获取对于对象图221E推测任务的解的结果。
步骤S203中,控制部作为输出部而运行,输出与推测结果相关的信息。作为一例,控制部也可将所获得的推测结果直接输出至输出装置。作为另一例,在对象图221E构成为表示对象成分(化学式或物理性的结晶结构),且推测出生成所述对象成分的物质的流程的情况下,控制部也可依据所获得的推测结果所示的流程来控制生产装置的动作。作为另一例,在推测出对象物彼此的匹配或生产节点以及消耗节点的组合的情况下,控制部也可使所述匹配或组合成立(确定)。
(特征)
根据第5-1具体例,在通过顶点间的关系性为已知的顶点特征图70E来表达任务的场景中,能够实现推测模块5的推测精度的提高。模型生成装置1中,可期待能够高精度地推测以顶点特征图70E来表达的任务的解的、训练完毕的推测模块5的生成。推测装置2E中,通过使用此种训练完毕的推测模块5,可期待以顶点特征图70E来表达的任务的解的高精度的推测。
(F)采用顶点间的关系性不明的顶点特征图的情况
图17示意性地例示第5-2具体例的推测系统100F的适用场景的一例。第5-2具体例是在采用顶点特征图来作为表达所给予的条件(解算任务的对象)的图,且构成所采用的顶点特征图的顶点间的关系性未知的场景中适用了所述实施方式的示例。第5-2具体例的推测系统100F包括模型生成装置1以及推测装置2F。推测装置2F为所述推测装置2的一例。
基本上,第5-2具体例除了未给予顶点间的关系性(即,枝的信息)这点以外,与第5-1具体例同样。即,各训练图30F以及对象图221F(输入图)是包含多个顶点的顶点特征图70F,且是各顶点具有属性的顶点特征图70F。输入图的属于第一集的第一顶点以及属于第二集的第二顶点分别对应于构成顶点特征图70F的各顶点。与从第一顶点向第二顶点流出的枝相关的特征量对应于顶点特征图70F中与第一顶点对应的顶点的属性,与从第二顶点向第一顶点流出的枝相关的特征量对应于顶点特征图70F中与第二顶点对应的顶点的属性。各训练图30F以及对象图221F为所述实施方式中的各训练图30以及对象图221的一例。另外,顶点特征图70F中的顶点的数量以及属性可以适当表达解算任务的对象的方式适当决定。
任务只要可通过顶点间的关系性未知的顶点特征图来表达,则其内容可不受特别限定,可根据实施方式来适当选择。一例中,任务可为:推测构成顶点特征图70F的各顶点间的关系性。
作为任务的具体例,顶点特征图70F可构成为对应于已检测出物体的图像(例如场景图)。此时,各顶点也可对应于所检测出的物体,各顶点的属性也可对应于所检测出的物体的属性。推测各顶点间的关系性可为推测在图像中表现出的特征(图像识别)。所述具体例可在进行图像识别的各种场景下采用。
作为任务的另一具体例,顶点特征图70F可构成为对应于映照有一位以上的人物的图像且检测出人物的特征点的图像(例如场景图、骨架模型)。此时,各顶点也可对应于所检测出的人物的特征点(例如关节等),各顶点的属性也可对应于所检测出的特征点的属性(例如关节的种类、位置、斜度等)。推测各顶点的关系性可为推测人物的动作的种类(动作分析)。所述具体例例如可在体育运动(尤其是团体竞技)的动态图像分析等进行动作分析的各种场景下采用。
作为任务的又一具体例,顶点特征图70F可构成为表示成分物的性质。成分物的性质例如可通过对人体的影响的种类(药效、副作用、残留性、皮肤接触时的反应等)、各种效应的程度(光电效应的效率性、热电效应的效率性、红外线的吸收/反射效率、摩擦系数等)等来规定。此时,各顶点可对应于特定的性质,各顶点的属性可构成为表示特定性质的程度。推测各顶点的关系性可为:推测(生成)满足由顶点特征图70F所示的性质的成分物的结构(例如化学式、物理性的结晶结构)。
推测器55可适当构成为,从特征信息中导出所述图像识别、动作分析、结构生成等对顶点特征图70F的任务的解的推测结果。机器学习中的正解可根据对顶点特征图70F的任务的内容来适当给予。例如,可将表示图像识别的真值、动作分析的真值、结构生成的真值等推测的正解的正解标签关联至各训练图30F。在机器学习中,可使用所述正解标签来算出误差。
第5-2具体例中,在模型生成装置1的机器学习时以及推测装置2F的推测处理时,将顶点特征图70F作为输入图进行处理。特征编织网络50的最开始的特征编织层5001构成为,从所述顶点特征图70F受理第一输入张量601F以及第二输入张量602F。各输入张量(601F、602F)可利用与第5-1具体例的各输入张量(601E、602E)同样的方法而获得。除了这些点以外,第5-2具体例的结构可与所述实施方式同样。
(模型生成装置)
第5-2具体例中,模型生成装置1通过与所述实施方式同样的处理流程,可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对顶点特征图70F的任务的解的能力。
即,步骤S101中,控制部11获取多个训练图30F。各训练图30F包含顶点特征图70F。各训练图30F中的顶点以及属性的设定可以适当表达训练对象的条件的方式适当给予。步骤S102中,控制部11使用所获取的多个训练图30F来实施推测模块5的机器学习。通过所述机器学习,可生成获得了对顶点特征图70F推测任务的解的能力的、训练完毕的推测模块5。步骤S103中,控制部11生成表示所生成的训练完毕的推测模块5的学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可在任意时机提供给推测装置2F。
(推测装置)
推测装置2F的硬件结构以及软件结构可与所述实施方式的推测装置2同样。第5-2具体例中,推测装置2F可通过与所述推测装置2同样的处理流程来推测对顶点特征图70F的任务的解。
即,步骤S201中,推测装置2F的控制部作为获取部而运行,获取对象图221F。对象图221F包含顶点特征图70F。对象图221F中的顶点以及属性的设定可以适当表达推测对象的条件的方式适当给予。在结构生成的情况中,各性质的值(即,各顶点的属性值)也可以随机数来给予,或者可通过作业员的指定来给予。
步骤S202中,控制部作为推测部而运行,使用训练完毕的推测模块5来推测对所获取的对象图221F的任务的解。具体而言,控制部将对象图221F输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部可从推测器55获取对于对象图221F推测任务的解的结果。
步骤S203中,控制部作为输出部而运行,输出与推测结果相关的信息。作为一例,控制部也可将所获得的推测结果直接输出至输出装置。作为另一例,控制部可执行与所获得的推测结果相应的信息处理。例如在对象图221F构成为对应于已检测出物体的图像的情况下,控制部可执行与图像识别的结果相应的信息处理。作为具体的适用场景,可在通过利用摄像机来拍摄车辆外部的状况而获得的拍摄图像的识别中适用第5-2具体例。此场景中,当基于图像识别的结果而判定为障碍物正在接近车辆时,控制部也可对车辆给予避开障碍物的指令(例如停止、变更车道等)。而且,例如在对象图221F构成为对应于检测出人物的特征点的图像的情况下,控制部可执行与动作分析的结果相应的信息处理。作为具体的适用场景,可在映照在利用设置于火车站的站台的摄像机而获得的拍摄图像中的人物的动作分析中适用第5-2具体例。此场景中,当基于动作分析的结果而判定为危险正在迫近位于站台的人物(例如,将要从站台滚落)时,控制部也可输出告知此情况的警报。
(特征)
根据第5-2具体例,在对顶点间的关系性进行推测的任务是通过顶点特征图70F来表达的场景中,能够实现推测模块5的推测精度的提高。模型生成装置1中,可期待能够高精度地推测对顶点特征图70F的顶点间的关系性进行推测的任务的解的、训练完毕的推测模块5的生成。推测装置2F中,通过使用此种训练完毕的推测模块5,能够期待对顶点特征图70F的顶点间的关系性进行推测的任务的解的高精度的推测。
(G)采用超图的情况
图18示意性地例示第6具体例的推测系统100G的适用场景的一例。第6具体例是在采用超图来作为表达所给予的条件(解算任务的对象)的图的场景中适用了所述实施方式的示例。第6具体例的推测系统100G包括模型生成装置1以及推测装置2G。推测装置2G为所述推测装置2的一例。
第6具体例中,各训练图30G以及对象图221G(输入图)为K份超图70G。K为3以上的整数。构成超图70G的多个顶点是以各子集内的顶点彼此不存在枝的方式被划分为属于K个子集中的任一个。各训练图30G以及对象图221G对应于所述实施方式中的各训练图30以及对象图221。另外,超图70G中的顶点的数量、顶点间的枝的有无以及K的值可以适当表达解算任务的对象的方式适当决定。
与所述实施方式同样,第6具体例中,推测模块5包括特征编织网络50以及推测器55。特征编织网络50构成为,通过包括多个特征编织层500,从而受理输入图的输入并输出与输入图相关的特征信息。推测器55构成为,根据从特征编织网络输出的特征信息来推测对输入图的任务的解。各特征编织层500包括编码器505。编码器505构成为,根据所输入的所有要素的特征量来导出各要素的相对特征量。另一方面,第6具体例中,推测模块5的各特征编织层500以及各种信息(输入张量等)为了处理超图70G而从所述实施方式扩展。
图19示意性地例示第6具体例中的各特征编织层500的运算处理的一例。图19中,Ni表示第i顶点的数量(i为1至K为止的整数)。各特征编织层500构成为,受理K个(K+1)层的输入张量(Z1 l、…、ZK l)的输入。K个输入张量中的第i个输入张量(Zi l)构成为,在第一轴中,输入图的属于第i个子集的第i顶点作为要素而排列,在从第二轴直至第K轴为止的第j轴中,以第i个子集为起点而循环地,属于第(j-1)个子集的顶点作为要素而排列,且在第(K+1)轴中,与从属于第i个子集的第i顶点向分别属于(K-1)个(第i个以外的)其他子集的顶点彼此的组合流出的枝相关的特征量作为要素而排列。例如,第一输入张量(Z1 l)的各轴的要素表达为N1×N2×…×NK×Dl。第二输入张量的各轴的要素表达为N2×N3×…×NK×N1×Dl。第K输入张量的各轴的要素表达为NK×N1×…×NK-1×Dl。
各特征编织层500构成为执行以下的各运算。即,各特征编织层500对于从第一个直至第K个为止的第i个输入张量(Zi l),固定第i个以外的(K-1)个其他输入张量各自的第(K+1)轴,而以与第i个输入张量的各轴一致的方式来使其他输入张量各自的第(K+1)轴以外的其他轴循环。例如,在第一输入张量的处理路径中,使第一输入张量以外的第二输入张量~第K输入张量的第(K+1)轴以外的轴以与第一输入张量的各轴一致的方式而循环。具体而言,第二输入张量中,第K轴对应于第一输入张量的第一轴。因此,第二输入张量的第一轴~第K轴在所述轴要素的表达(N2×N3×…×NK×N1×Dl)中朝右方向一个一个地循环(P1(Z2 l))。同样地,第三输入张量的第一轴~第K轴朝右方向两个两个地循环。第K输入张量的第一轴~第K轴朝右方向K个K个地循环(PK(ZK l))。而且,例如在第K输入张量的处理路径中,使第K输入张量以外的第一输入张量~第(K-1)输入张量的第(K+1)轴以外的轴以与第K输入张量的各轴一致的方式而循环。具体而言,第一输入张量的第一轴~第K轴朝右方向一个一个地循环(P1(Z1 l))。同样地,第(K-1)输入张量的第一轴~第K轴朝右方向K个K个地循环(PK(ZK-1 l))。在第二输入张量~第K-1输入张量的处理路径中,也利用同样的方法来使各输入张量的轴循环。
继而,各特征编织层500将第i个输入张量以及使轴循环的所述各其他输入张量的各要素的特征量予以连结。由此,各特征编织层500生成K个(K+1)层的连结张量。例如,在第一输入张量的处理路径中,各特征编织层500将第一输入张量(Z1 l)以及使轴循环的第二输入张量(P1(Z2 l))~第K输入张量(PK(ZK l))的各要素的特征量予以连结,由此生成第一连结张量(cat(Z1 l,P1(Z2 l),…,PK(ZK l))。而且,例如在第K输入张量的处理路径中,各特征编织层500将第K输入张量(ZK l)以及使轴循环的第一输入张量(P1(Z1 l))~第(K-1)输入张量(PK(ZK -1 l))的各要素的特征量予以连结,由此生成第K连结张量(cat(ZK l,P1(Z1 l),…,PK(ZK-1 l))。在第二输入张量~第K-1输入张量的处理路径中,也利用同样的方法来生成各连结张量。
并且,各特征编织层500将所生成的K个连结张量分别分割为第一轴的每个要素而输入至编码器505,执行编码器505的运算。各特征编织层500对应于每个要素获得所述编码器505的运算结果,由此生成与K个输入张量分别各自对应的K个(K+1)层的输出张量。各特征编织层500构成为执行以上的各运算。各特征编织层500的其他结构可与所述实施方式同样。
与所述实施方式同样地,一例中,编码器505可包含在各连结张量的第一轴的各要素间共同使用的单个编码器。在另一例中,编码器505可包含对于各连结张量分别使用的K个编码器。进而,在另一例中,编码器505可对应于各连结张量的每个要素而分别设置。
返回图18,任务只要可通过超图来表达,则其内容可不受特别限定,可根据实施方式来适当选择。一例中,任务可为K个团体间的匹配任务且为决定属于各团体的对象彼此的最佳组合的任务。此时,超图70G的各子集对应于匹配任务中的各团体。超图70G的属于各子集的顶点对应于属于各团体的对象。与从属于第i个子集的第i顶点向分别属于(K-1)个(第i个以外的)其他子集的顶点彼此的组合流出的枝相关的特征量,可对应于对与第i顶点对应的对象以及与属于第i个以外的其他子集的各顶点对应的对象彼此的组合进行匹配的成本或报酬。或者,特征量可对应于从与第i顶点对应的对象对与属于第i个以外的其他子集的各顶点对应的对象彼此的组合的期望度。
匹配对象可根据实施方式来适当选择。匹配任务例如可以下述内容为目的而执行,即:确定三个以上的零件的最佳组合;确定三位以上的人物的最佳组合;确定对于距离学习中的用于triplet loss计算的学习为最佳的三项的组合;在同时推测图像中的多个人物的姿势时,确定属于同一人物的特征点的组合;以及确定配送用货车、行李以及路径的最佳组合等。与此相应地,匹配对象例如可为零件、人物、成为计算triplet loss的对象的数据、在图像内检测出的人物的特征点、配送用货车/行李/路径等。确定人物的最佳组合例如可为了管理者/程序员/业务、网页的前端程序员/后端程序员/数据科学家(data-scientist)等的团队建设(team biulding)而进行。
推测器55可适当构成为,从特征信息中导出所述匹配任务等对超图70G的任务的解的推测结果。机器学习中的正解可根据对超图70G的任务的内容而适当给予。一例中,在任务为所述匹配任务的情况下,与所述第1具体例等同样地,机器学习中的正解可以获得满足所期望的基准的匹配结果的方式适当给予。在另一例中,可将表示匹配的真值等推测的正解的正解标签关联至各训练图30G。在机器学习中,可使用所述正解标签来算出误差。除此以外,机器学习中的正解可以获得满足所期望的基准的推测结果的方式适当给予。作为一例,在所述团队建设的情况中,规定的基准例如可被规定为对金钱的利益、离职率的下降、开发工序的缩小、进展报告量的增加、心理指标(例如问卷、睡眠时间、血压等)的改善等在真实世界达成的成果进行评估,正解可根据所述评估值而给予。
第6具体例中,在模型生成装置1的机器学习时以及推测装置2G的推测处理时,将超图70G作为输入图进行处理。多个特征编织层500中的最开始的特征编织层5001构成为,从所述超图70G(输入图)受理K个输入张量601G~60KG(Z1 0、…、ZK 0)。与所述实施方式同样地,一例中,各输入张量601G~60KG可从输入图直接获得。在另一例中,各输入张量601G~60KG可根据对输入图执行的规定的运算处理的结果而获得。进而,在另一例中,输入图可以各输入张量601G~60KG的形式而给予。
一例中,各特征编织层500可串联地连续配置。此时,最开始的特征编织层5001以外的其他特征编织层500构成为,受理由紧靠其前配置的特征编织层500所生成的各输出张量来作为各输入张量。即,配置在第l+1个的特征编织层500构成为,受理由第l个特征编织层所生成的各输出张量来作为各输入张量。但是,与所述实施方式同样地,第6具体例中,各特征编织层500的配置可不限定于此种示例。例如,也可在邻接的特征编织层500之间插入其他种类的层(例如卷积层、全结合层等)。
特征信息包含从多个特征编织层500中的最后的特征编织层500L输出的K个输出张量。推测器55可适当构成为,从这些K个输出张量导出所述推测结果。除了这些点以外,第6具体例的结构可与所述实施方式同样。
(模型生成装置)
第6具体例中,模型生成装置1通过与所述实施方式同样的处理流程,可生成训练完毕的推测模块5,所述训练完毕的推测模块5获得了推测对超图70G的任务的解的能力。
即,步骤S101中,控制部11获取多个训练图30G。各训练图30G包含超图70G。各训练图30G中的顶点以及枝的设定可以适当表达训练对象的条件的方式适当给予。步骤S102中,控制部11使用所获取的多个训练图30G来实施推测模块5的机器学习。与所述实施方式同样地,机器学习是通过下述方式而构成,即,将各训练图30G作为输入图而输入至特征编织网络50,由此来训练推测模块5以使得由推测器55所获得的推测结果符合对各训练图30G的任务的正解(真值)。通过所述机器学习,能够生成获得了对超图70G推测任务的解的能力的、训练完毕的推测模块5。步骤S103中,控制部11生成表示所生成的训练完毕的推测模块5的学习结果数据125,并将所生成的学习结果数据125保存至规定的存储区域。学习结果数据125可在任意时机提供给推测装置2G。
(推测装置)
推测装置2G的硬件结构以及软件结构可与所述实施方式的推测装置2同样。第6具体例中,推测装置2G可通过与所述推测装置2同样的处理流程来推测对超图70G的任务的解。
即,步骤S201中,推测装置2G的控制部作为获取部而运行,获取对象图221G。对象图221G包含超图70G。对象图221G中的顶点以及枝的设定可以适当表达推测对象的条件的方式适当给予。
步骤S202中,控制部作为推测部而运行,使用训练完毕的推测模块5来推测对所获取的对象图221G的任务的解。与所述实施方式同样地,使用训练完毕的推测模块5来推测对于对象图221G的任务的解的处理是通过下述方式而构成,即,将对象图221G作为输入图而输入至特征编织网络50,从推测器55获得推测任务的解的结果。具体而言,控制部将对象图221G输入至训练完毕的推测模块5,执行训练完毕的推测模块5的顺向的运算处理。作为执行所述运算处理的结果,控制部可从推测器55获取对于对象图221G推测任务的解的结果。
步骤S203中,控制部作为输出部而运行,输出与推测结果相关的信息。作为一例,控制部也可将所获得的推测结果直接输出至输出装置。作为另一例,在获得了所述匹配的推测结果的情况下,与所述第1具体例等同样地,控制部也可使推测结果的至少一部分的匹配成立。此时,进而与所述第1具体例等同样地,推测装置2G可构成为在线且实时地执行匹配。
(特征)
根据第6具体例,在通过超图70G来表达任务的场景中,能够实现推测模块5的推测精度的提高。模型生成装置1中,可期待能够高精度地推测以超图70G来表达的任务的解的、训练完毕的推测模块5的生成。推测装置2G中,通过使用此种训练完毕的推测模块5,能够期待以超图70G来表达的任务的解的高精度的推测。
<4.2>
机器学习的方法可不限定于所述训练处理的示例,可根据实施方式来适当地进行处理的省略、变更、替换以及追加。作为另一例,在机器学习的对象中,除了推测模块5以外,可进而包含识别模型。与此相应地,机器学习除了所述训练处理以外,可进而包含在推测模块5(尤其是推测器55)以及识别模型之间实施敌对学习。
图20示意性地例示本变形例的机器学习的处理过程的一例。与所述实施方式同样地,推测模块5构成为,受理输入图Z的输入,并输出对输入图Z的任务的解的推测结果x。与此相对,识别模型59构成为,受理与输入图Z对应的任务的正解(真值)X或推测模块5的推测结果x的输入,对输入数据的来源(即,输入数据是正解X还是推测结果x)进行识别。构成识别模型59的机器学习模型的种类可不受特别限定,可根据实施方式来适当选择。识别模型59例如可包含神经网络等。
在敌对学习的一例中,识别模型59使用对各训练图30(输入图Z)的正解X、以及推测模块5对各训练图30的推测结果x作为输入数据而受到训练,以使得对输入数据的来源进行识别的结果的误差变小。在所述识别模型59的训练步骤中,识别模型59的参数的值受到调整,与此相对,推测模块5的参数的值被固定。而且,推测模块5受到训练,以输出识别模型59弄错识别的推测结果x。所述推测模块5的训练步骤中,识别模型59的参数的值被固定,与此相对,推测模块5中的至少一部分(例如推测器55)的参数的值受到调整。
对于各训练的方法,可采用误差反向传播法等已知的方法。各训练步骤可交替地反复执行。或者,通过在推测模块5与识别模型59之间插入梯度反转层,从而所述两个训练步骤可同时执行。各梯度反转层可适当构成为,在顺向传播的运算时使值直接通过,而在反向传播时使值反转。
根据本变形例,对应于推测模块5的推测能力,识别模型59获得对输入数据的来源进行识别的能力。另一方面,对应于识别模型59的识别能力,推测模块5获得生成与正解近似的推测结果的能力。通过反复执行各训练步骤,推测模块5以及识别模型59的能力相互提高。由此,推测模块5能够获得生成与正解极为相近的推测结果的能力。作为一例,本变形例可在所述第5-2具体例的结构生成的情况中采用。由此,可期待能够更高精度地推测满足所指定的性质的成分物的结构的、训练完毕的推测模块5的生成。
<4.3>
图21示意性地例示推测模块5的输入形态的另一例。如图21所示,所述实施方式中,在解算任务时一次输入至推测模块5的图的数量可不限于一个,可将多个输入图(图中的第一图、第二图等)同时输入至推测模块5。此时,根据所输入的图的数量,推测模块5的结构可适当变更。
图22示意性地例示本变形例的推测模块5H的结构的一例。推测模块5H构成为,受理两个图的输入,并执行在其中一个输入图(图案)内搜索另一个输入图(查询(query))的任务。推测模块5H为所述实施方式的推测模块5的一例。为了方便说明,假定第一图为查询,第二图为图案。第一图以及第二图的作用也可调换。
图22的示例中,推测模块5H包括第一特征提取器581、第二特征提取器582、相互作用推测器583以及特征推测器584。第一特征提取器581构成为,受理第一图的输入,并提取所输入的第一图的特征。第二特征提取器582构成为,受理第二图的输入,并提取所输入的第二图的特征。第一特征提取器581以及第二特征提取器582并列配置在输入侧。一例中,第一特征提取器581以及第二特征提取器582可包含共同使用的单个特征提取器(即,也可由一个特征提取器兼具第一特征提取器581以及第二特征提取器582的作用)。在另一例中,第一特征提取器581以及第二特征提取器582可分别设置。
相互作用推测器583构成为,受理各特征提取器(581、582)对各图的特征提取的结果,并推测各图间的特征的相互关系。特征推测器584构成为,受理相互作用推测器583对相互关系的推测结果,并输出在第二图内搜索第一图的结果。搜索结果的形式可根据实施方式来适当决定。搜索例如可包含:利用二值来判定图案中是否包含查询、推测图案中所含的查询的数量、搜索(匹配)图案内包含查询的所有部位、以及搜索两个图共同的最大的子图等。
一例中,各特征提取器(581、582)可为所述特征编织网络50。与此相应地,相互作用推测器583以及特征推测器584可对应于所述推测器55。此时,各特征提取器(581、582)也可以任意的形式来受理各图的输入。一例中,各特征提取器(581、582)也可以所述第3具体例或第4具体例的形式来受理各图的输入。即,各图也可为一般有向图或一般无向图。
在另一例中,相互作用推测器583可为所述特征编织网络50。与此相应地,特征推测器584可对应于所述推测器55。此时,各特征提取器(581、582)只要可提取各图的特征,则其结构可不受特别限定,可根据实施方式来适当决定。各特征提取器(581、582)可包含任意模型。相互作用推测器583可以所述第5-2具体例的图形式来受理各特征提取器(581、582)对特征的提取结果。
本变形例中,各训练图以及对象图包含两个图。两个图中的其中一者为图案,另一者为查询。除了这些点以外,本变形例可与所述实施方式同样地构成。所述模型生成装置1可构成为实施推测模块5H的机器学习。所述推测装置2构成为,使用训练完毕的推测模块5H来执行图搜索。机器学习以及推测处理的方法可与所述实施方式同样。
根据本变形例,能够实现推测模块5H的搜索精度的提高,所述推测模块5H构成为受理两个图的输入,且在其中一个图内搜索另一个图。在模型生成装置1中,可期待能够高精度地推测图搜索的、训练完毕的推测模块5H的生成。推测装置2中,通过使用此种训练完毕的推测模块5H,能够期待图搜索的高精度的执行。
<4.4>
所述实施方式中,机器学习可包含强化学习。此时,正解可与所述实施方式同样地,通过规定的规则来给予。根据以所述规定的规则而给予的正解来计算报酬,推测模块5可被训练为,所算出的报酬的总和最大化。规定的规则可在真实世界中给予,报酬也可在真实世界中获得。训练推测模块5以使得由推测器55所获得的推测结果符合正解可包含借助此种强化学习的训练。此时,可在推测装置2中一边运用推测模块5,一边重复推测模块5的训练。推测装置2可包括学习处理部112,可使用对象图221来作为训练图30。
<4.5>
所述实施方式中,编码器505可包含单个编码器。但是,本申请发明人等发现下述问题,即:若第一输入张量以及第二输入张量属于不同的分布(即,与第一集以及第二集相关的特征量的分布互不相同),则可能造成对单个编码器的输入的定义域存在两种的状况,每当叠加编码器时,因所述分布的差异造成的偏倚被放大,由此,单个编码器有可能陷入解算不同的两个任务而非解算共同的任务的状态,其结果,编码器505的精度有可能发生恶化,从而导致推测模块5整体的精度恶化。
通过简单地如上述那样针对每个连结张量分别设置编码器,能够消除所述问题。但是,消除所述问题的方法可不限定于此种示例。在编码器505包含单个编码器的情况下,也可通过采用下述两个方法中的至少一个方法来消除所述问题。
(第一方法)
图23示意性地例示变形例的特征编织层500的结构的一例。第一方法是使用归一化器508来消除分布的差异的方法。本变形例中,各特征编织层500的编码器505可包含单个编码器,各特征编织层500可对应于每个连结张量还包括归一化器508,所述归一化器508构成为,对编码器505的运算结果进行归一化。即,所述实施方式中,各特征编织层500可包括与各连结张量分别对应的两个归一化器508(相对于L层的特征编织层500为2L个归一化器508)。归一化的方法可根据实施方式来适当决定。对于归一化的方法,例如可采用批量归一化等已知的方法。作为一例,各归一化器508可构成为,通过以下的式16所示的运算来对编码器505的运算结果进行归一化。
[数式16]
x表示编码器505对各连结张量的运算结果,u表示所述运算结果的平均值,v表示所述运算结果的方差。通过对应于每个连结张量而设有归一化器508,从而针对每个连结张量(即,以第一连结张量以及第二连结张量分别)算出平均值u以及方差v。根据所述归一化器508的运算,能够以遵循平均值0以及方差1的分布的方式来对编码器505对各连结张量的运算结果进行归一化。由此,能够消除对于接下来的特征编织层500的、第一输入张量以及第二输入张量之间的分布的差异。
因此,根据本变形例,即便在各连结张量之间共用编码器505(即,即便编码器505包含单个编码器),也能够通过归一化器508的作用来抑制因第一输入张量以及第二输入张量所属的分布的差异造成的偏倚的放大。其结果,能够消除所述问题,防止推测模块5的精度恶化。
另外,所述各具体例中,各特征编织层500也可对应于每个连结张量还包括归一化器508。第6具体例(超图的情况)中,各特征编织层500可包括与各连结张量分别对应的K个归一化器508。
(第二方法)
所述实施方式中,各特征编织层500的编码器505可包含单个编码器,各特征编织层500可进而构成为,在执行编码器505的运算之前,对第一输入张量以及第二输入张量各自的第三轴赋予条件码。即,第二方法是对编码器505的输入附条件的方法。所述第二方法可取代所述第一方法或者与所述第一方法一同采用。
条件码可在从获取各输入张量开始直至执行编码器505的运算为止的任意时机赋予。而且,条件码的结构可根据实施方式来适当决定。一例中,条件码可包含与各输入张量对应的规定值。各规定值可以能够识别各输入张量的方式来适当选择。作为具体例,对第一输入张量赋予的条件码可为第一值(例如1),对第二输入张量赋予的条件码可为第二值(例如0)。所赋予的部位可任意决定。一例中,各条件码可相对于各输入张量的第一轴以及第二轴的各要素而一律追加在第三轴的最末尾。
本变形例中,各特征编织层500的编码器505在对特征量进行编码时,可基于条件码来识别数据的来源。因此,即便在第一输入张量以及第二输入张量属于不同分布的情况下,在机器学习的过程中,也能够通过条件码的作用来训练编码器505以消除因分布的差异造成的偏倚。因此,根据本变形例,能够防止因各输入张量所属的分布不同引起的推测模块5的精度恶化。
另外,所述各具体例中,各特征编织层500也可进而构成为,在执行编码器505的运算之前,对第一输入张量以及第二输入张量各自的第三轴赋予条件码。在第6具体例(超图的情况)中,对各输入张量的条件码可以能够识别至少一个输入张量的方式来适当决定。作为一例,对第一输入张量赋予的条件码可为第一值(例如1),对第二至第K输入张量(即,第一输入张量以外的输入张量)赋予的条件码可为第二值(例如0)。此时,可在循环运算之前对各输入张量的第K+1轴赋予条件码。由此,在各连结张量的条件码的赋予部分,可根据第一值的位置来确定第一输入张量的循环次数。其结果,在编码器505的运算时,可确定未在各连结张量内循环的输入张量(第i个输入张量)。因此,通过利用所述方法来赋予条件码,从而在执行编码器505对K个连结张量各自的运算时,能够基于条件码来识别数据的来源。另外,在采用所述方法的情况下,通过对第一至第K输入张量的任一个赋予第一值,对剩余的K-1个输入张量赋予第二值,从而能够与所述同样地基于条件码(第一值的位置)来识别数据的来源。因此,赋予第一值的对象可不限于第一输入张量。
§5实施例
为了验证特征编织网络50所进行的特征提取的有效性,在以下的四个实验中生成实施例以及比较例的推测模块。但是,本发明并不限定于以下的实施例。
[样本的生成方法]
首先,作为表达所给予的条件的图,假定所述第1具体例的有向二部图。对于任务,采用了所述匹配任务的一例即稳定婚姻问题。假定各团体的匹配对象(主体)的数量为相同(M=N)。在此假定下,采用在参考文献1“尼古拉斯·齐亚韦利斯、约阿尼斯·詹纳科普洛斯、卡特琳娜·多卡、奈塔丽奥斯·科齐里斯和帕纳约蒂斯·卡拉斯,“二次时间中的公平稳定匹配”,神经信息处理系统进展论文集,第457–467页,2019.(Nikolaos Tziavelis,Ioannis Giannakopoulos,Katerina Doka,Nectarios Koziris,and PanagiotisKarras,"Equitable stable matchings in quadratic time",In Proceedings ofAdvances in Neural Information Processing Systems,pages 457–467,2019.)”中提出的方法,根据以下的分布来制作各对象(顶点)对于对方的期望度的列表。由此,生成用于机器学习以及评估的样本。
·第一分布:均匀分布(U)
各主体对匹配候选(对方)的期望度为随机,且通过均匀分布U(0,1)来定义(值越大,则表示期望度越高)。
·第二分布:离散分布(D)
各主体对于匹配候选的一部分(0.4N以下的最大整数的候选)具有通过U(0.5,1)而定义的期望度,对于剩余的候选具有通过U(0,0.5)而定义的期望度。
·第三分布:高斯分布(G)
各主体对第i个匹配候选的期望度是通过高斯分布N(i/N,0.4)来定义。
·第四分布:LibimSeTi(Lib)
基于根据在捷克的网页服务“LibimSeTi”上获得的数据(匹配的活跃度)所推测的各概率对的频率的二维分布,来定义各团体的各主体的期望度(参考文献2“卢卡斯·布罗佐夫斯基和瓦茨拉夫·佩特里切克,“在线约会服务的推荐系统”,2007年知识会议记录,俄斯特拉发,2007.(Lukas Brozovsky and Vaclav Petricek,“Recommender system foronline dating service”,In Proceedings of Conference Znalosti 2007,Ostrava,2007.)”)。
通过针对第一团体(第一子集)以及第二团体(第二子集)分别选择所述四个分布中的任一个,从而制作出五个不同的设定(即UU、DD、GG、UD以及Lib)。例如,“UU”表示两团体均以均匀分布(U)来定义各主体的期望度。“UD”表示以均匀分布(U)来定义属于其中一个团体的各主体的期望度,且以离散分布(D)来定义属于另一个团体的各主体的期望度。并且,对于五个分布设定以及以下的各实验中指定的尺寸(N×N),分别随机生成1000个训练样本(训练数据)以及1000个验证样本(验证数据)。
[实验I:实施例与其他机器学习模型的比较]
实验I中,通过在以下的各实施例的解算器与以下的比较例的包含学习完毕的机器学习模型的解算器之间比较匹配的成功率,来验证本发明的有效性。
<实施例>
通过采用所述实施方式的结构,从而制作第一实施例(WN-6)、第二实施例(WN-18)、第三实施例(WN-18f)以及第四实施例(WN-18b)的推测模块。
在第一实施例中,特征编织层的数量设为六层。在第二实施例至第四实施例中,特征编织层的数量设为十八层。在第一实施例至第四实施例的各特征编织层中,采用了在各连结张量的第一轴的各要素间共同使用的单个编码器。对于第一实施例至第四实施例的编码器的结构,采用了图6B的结构。对于第一实施例至第四实施例中的推测器的结构,采用了所述第1具体例的结构(包含预处理)(式1至式4)。在第一实施例至第四实施例中,作为获得匹配的推测阶段(推测装置)中的最终的推测结果的运算,采用了所述argmax运算。在第一实施例的特征编织网络中省略了残差结构(即,未设捷径)。另一方面,在第二实施例至第四实施例的特征编织网络中,以连接于各偶数的特征编织层的输入的方式设有捷径。
第一实施例以及第二实施例中,作为机器学习中的损耗函数,采用用于抑制阻塞对的损耗函数λs以及用于使推测结果收敛为对称的双随机矩阵的损耗函数λc,而未采用用于以满足其他基准的方式来使推测结果收敛的损耗函数。另一方面,第三实施例中,除了损耗函数(λs、λc)以外,还进而采用了促进公平性的损耗函数λf。第四实施例中,除了损耗函数(λs、λc)以外,还采用了促进公平性以及满意度的平衡的损耗函数λb。具体而言,第一实施例至第四实施例中,在式15的损耗函数λ中,在ws中代入了0.7以及在wc中代入了1。第一实施例以及第二实施例中,在其他损耗函数的权重中代入了0。第三实施例中,在wf中代入了0.01,在其他损耗函数的权重(we、wb)中代入了0。第四实施例中,在wb中代入了0.01,在其他损耗函数的权重(wf、we)中代入了0。
<比较例>
第一比较例(MLP-O)中,在推测模块中采用了在非专利文献2中提出的模型。具体而言,使从图提取特征的特征提取器包含三层中间层,使根据由特征提取器所获得的特征来推测匹配结果的推测器包含一层输出层。推测模块的机器学习的方法也采用了在非专利文献2中提出的方法。第二比较例(MLP)中,在推测模块中采用了与第一比较例相同的模型结构。另一方面,在第二比较例中,取代在非专利文献2中提出的损耗函数的项中的、与以下的式17对应的项,而采用了所述式8至式9的λc。
[数式17]
第三比较例(GIN)中,在推测模块中采用了在参考文献3“徐基、胡伟华、尤雷·莱斯科韦茨和斯蒂芬妮·杰格尔卡,“图神经网络有多强大?”,国际学习表征大会论文集,2019.(Keyulu Xu,Weihua Hu,Jure Leskovec,and Stefanie Jegelka,“How powerfulare graph neural networks?”,In Proceedings of International Conference onLearning Representations,2019.)”中提出的模型。具体而言,第三比较例中,第三比较例的推测模块构成为包括特征提取器、特征连结器以及推测器。特征提取器构成为,通过在参考文献3中提出的两层的模型,对应于每个顶点来输出特征量。特征连结器构成为,将从特征提取器输出的所有顶点的特征连结于一个扁平矢量。进而,推测器构成为,通过与第一比较例同样的一层输出层,以N×M(本例中,M=N)个扁平矢量获得匹配的推测结果。通过将从所述推测器获得的扁平矢量视为N×M尺寸的矩阵,从而第三比较例构成为,获得与各实施例中的匹配的推测结果相同的结构的输出。对于推测模块的机器学习的方法,采用了在参考文献3中提出的方法。对于损耗函数,采用了与第一实施例相同的损耗函数。
第四比较例(DBM-6)中,在推测模块中采用了在参考文献4“丹尼尔·吉本斯、林郑周和石彭,“二部分配问题的深度学习”,IEEE国际会议论文集系统,人与控制论,第2318-2325页,2019.(Daniel Gibbons,Cheng-Chew Lim,and Peng Shi,“Deep learning forbipartite assignment problems”,In Proceedings of IEEE InternationalConference on Systems,Man and Cybernetics,pages 2318-2325,2019.)”中提出的模型。第四比较例中,推测模块中的构成特征提取器的层的数量设为六层。对于推测模块的机器学习的方法,采用了在参考文献4中提出的方法。对于损耗函数,采用了与第一实施例相同的损耗函数。第五比较例(SSWN-6)中,在推测模块中采用了与第四比较例同样的模型。但是,第五比较例中,将构成特征提取器的各层中所设的编码器变更为图6B的结构。第五比较例的其他结构以及机器学习的方法采用了与第四比较例同样的结构以及方法。
<机器学习以及评估方法>
对于验证样本的尺寸,采用了3×3、5×5、7×7以及9×9这四种不同的尺寸。第一比较例以及第二比较例的模型不受理不同尺寸的输入,因此在第一比较例以及第二比较例的训练中,使用各尺寸的训练样本。另一方面,在第一实施例至第四实施例以及第三比较例至第五比较例的训练中,使用10×10的训练样本。训练的反复次数设为20万次,批量尺寸设为8。基于所述各分布,在各反复中随机生成训练样本,将所生成的训练样本用于训练。对于最佳化算法,采用了Adam(参考文献5“迪德里克·P·金马和吉米·巴,“Adam:一种随机优化方法”,国际学习表征会议论文集,2015.(Diederik P.Kingma and Jimmy Ba,“Adam:Amethod for stochastic optimization”,In Proceedings of InternationalConference on Learning Representations,2015.)”)。学习率设为0.0001。通过这些条件,生成第一实施例至第四实施例以及第一比较例至第五比较例各自的训练完毕的推测模块(解算器)。
继而,使用所生成的各训练完毕的推测模块,针对各尺寸的验证样本获得匹配的推测结果。并且,匹配的成功是设为获得了不存在阻塞对的匹配,基于所获得的推测结果,算出获得不存在阻塞对的匹配的概率来作为匹配的成功率。而且,通过以下的式18至式21而算出各匹配结果的公平性(男女平等(Sex equality),SEq(m;I))与公平性以及满意度的平衡(平衡(Balance),Bal(m;I))的程度(成本)。并且,算出关于各指标而获得最佳的匹配结果的概率来作为满足各指标的匹配的成功率。进而,对于第二实施例以及第三实施例,算出对所获得的所有验证样本的匹配结果的公平性成本的平均值。对于第二实施例以及第四实施例,算出对所获得的所有验证样本的匹配结果的平衡成本的平均值。
[数式18]
SEq(m;I)=|P(m;A)-P(m;B)|…(式18)
[数式19]
Bal(m;I)=max(P(m;A),P(m;B))…(式19)
[数式20]
[数式21]
M表示基于推测结果而成立的匹配。
<结果>
图24A以及图24B表示对于第一实施例至第四实施例(图24A)以及第一比较例至第五比较例(图24B)算出对各尺寸的验证样本的匹配的成功率的结果。图25A以及图25B表示对于第一实施例至第四实施例(图25A)以及第一比较例至第五比较例(图25B)算出对各尺寸的验证样本的公平性匹配的成功率的结果。图25C表示对于第二实施例以及第三实施例算出对所有验证样本的匹配结果的公平性成本的平均值的结果。图26A以及图26B表示对于第一实施例至第四实施例(图26A)以及第一比较例至第五比较例(图26B)算出对各尺寸的验证样本的平衡匹配的成功率的结果。图26C表示对于第二实施例以及第四实施例算出对所有验证样本的匹配结果的平衡成本的平均值的结果。图25C以及图26C进而表示各指标的平均值的理想值(Ideal)。
如图24A以及图24B所示,各实施例与各比较例相比,能够高精度地推测稳定的匹配。第一比较例至第三比较例中,当主体的数量为5以上时,难以推测稳定的匹配。以往,作为用于解算对图的任务的方法,第一比较例至第三比较例那样的网络模型被认为是适合的。但是,根据图24A以及图24B所示的结果可知的是,这些网络模型不适合于解算以有向二部图表达的双边匹配的任务。与此相对,根据实施例,可比各比较例更高精度地获得稳定的匹配结果。尤其,第一实施例的参数数量为约25000个,与此相对,第一比较例以及第二比较例的参数数量为约28000个,第三比较例以及第四比较例的参数数量为约29000个,且第五比较例的参数数量为约25000个。根据此结果可知的是,根据本发明,即便参数数量为同程度,也能够提高稳定匹配的成功率。
而且,如图25A、图25B、图26A以及图26B所示,各实施例在公平性以及平衡的各指标中,稳定匹配的成功率均高于各比较例。根据此结果可知的是,根据本发明,满足规定基准的稳定匹配的成功率也能够提高。进而,如图25C以及图26C所示可知的是,通过对损耗函数追加公平性以及平衡的指标,可使各指标的成本的平均值接近理想值。根据此结果可知的是,在本发明中,通过变更损耗函数,能够变更使推测模块所获得的能力。即,可知的是,本发明通过适当变更损耗函数,不仅可适用于稳定婚姻问题,也可适用于对图的各种其他任务。例如暗示了:即便变更图的种类,通过设定与任务相应的损耗函数,也能够生成获得了解算对应的任务的能力的、训练完毕的推测模块。
[实验II:实施例与现有算法的比较]
实验II中,通过在以下的各实施例的解算器与以下的比较例的现有算法的解算器之间比较匹配结果,从而验证本发明的有效性。
<实施例>
通过将第三实施例中的特征编织层的数量变更为60层,从而制作出第五实施例(WN-60f)的推测模块。对于第五实施例的其他结构,采用了与第三实施例同样的结构。而且,通过将第四实施例中的特征编织层的数量变更为60层,从而制作出第六实施例(WN-60b)的推测模块。对于第六实施例的其他结构,采用了与第四实施例同样的结构。在第五实施例以及第六实施例的训练中,使用了30×30的训练样本。关于机器学习的其他条件,采用了与所述实验I同样的条件。
<比较例>
第六比较例(GS)中,在解算器中采用了在非专利文献1中提出的GS算法。第七比较例(PolyMin)中,在解算器中采用了在参考文献6“丹·古斯菲尔德和罗伯特·W·欧文,“稳定婚姻问题:结构和算法”,麻省理工学院出版社,1989.(Dan Gusfield and Robert WIrving,“The stable marriage problem:structure and algorithms”,MIT press,1989.)”中公开的算法。具体而言,第七比较例中,在解算器中采用了取代所述公平性(SEq(m;I))以及平衡(Bal(m;I))的成本而使以下的式22以及式23的成本(Reg(m;I)、Egal(m;I))最小化的算法。
[数式22]
[数式23]
Egal(m;I)=P(m;A)+P(m;B)…(式23)
第八比较例(DACC)中,在解算器中采用了在参考文献7“彼得·德沃扎克,“带有补偿链的延期承兑”,2016年美国计算机学会经济学与计算会议论文集,第65-66页,2016.(Piotr Dworczak,“Deferred acceptance with compensation chains”,In Proceedingsof the 2016 ACM Conference on Economics and Computation,pages 65-66,2016.)”中提出的算法。第九比较例(力量平衡(PowerBalance))中,在解算器中采用了在所述参考文献1中提出的算法。另外,第八比较例的算法的计算量为O(n4),第九比较例的算法的计算量为O(n2)。
<评估方法>
对于验证样本的尺寸,采用了20×20以及30×30这两种不同的尺寸。使用各实施例的训练完毕的推测模块以及各比较例的解算器,获得对各尺寸的验证样本的匹配结果。并且,利用与所述实验I同样的方法,对于第五实施例以及各比较例,算出对所获得的所有验证样本的匹配结果的公平性成本的平均值。同样地,对于第六实施例以及各比较例,算出对所获得的所有验证样本的匹配结果的平衡成本的平均值。而且,对于各实施例,在推测模块中采用了机器学习模型,不一定能够切实地导出正解,因此利用与所述实验I同样的方法来算出匹配的成功率。进而,各实施例中,因包含失败的匹配的推测结果,因而认为各指标的成本的平均值发生恶化。因此,在各成本的平均值最佳的比较例(关于UD为第六比较例,关于除此以外为第九比较例)与各实施例之间,比较对各验证样本的匹配结果的各指标的成本,算出各实施例好于比较例的情况(胜(win))、相同的情况(打平(tie))以及各实施例较差的情况(损耗+不稳定(loss+unstable))的概率。
<结果>
[表1]
[表2]
表1表示对于第五实施例以及各比较例算出所述各评估指标的结果。表2表示对于第六实施例以及各比较例算出所述各评估指标的结果。如表1以及表2所示,对于UD的验证样本,在第六比较例中,获得了对于各指标的成本为最佳的结果。对于其他验证样本,在第九比较例中,获得了对于各指标的成本为最佳的结果。但是,各实施例也获得了与各比较例同等的结果。根据与结果为最佳的比较例的各自的匹配中的各指标的成本的比较结果,在各实施例中,能够以75.7%~95%的概率获得各指标的成本佳(胜(win))或相同(打平(tie))的匹配。进而,根据各实施例,对于20×20以及30×30的验证样本,可高精度地推测稳定匹配。根据这些结果可知的是,根据本发明,能够生成与现有的最佳算法相比毫不逊色且具有高精度地推测稳定匹配的能力的、训练完毕的推测模块。
[实验III:对大尺寸的图的有效性的验证]
实验III中,将训练样本以及验证样本的尺寸变更为100×100,将各样本的分布变更为仅为UU,并通过与实验II同样的流程,在以下的各实施例的解算器与比较例(所述第六比较例至第九比较例)的现有算法的解算器之间比较匹配结果,由此来验证本发明的有效性。
<实施例>
将第三实施例中的特征编织层的数量变更为80层,将获得推论结果时的运算由argmax运算变更为匈牙利算法(Hungarian algorithm),由此制作出第七实施例(WN-80f+匈牙利)的推测模块。对于第七实施例的其他结构,采用了与第三实施例同样的结构。而且,将第四实施例中的特征编织层的数量变更为80层,将获得推论结果时的运算由argmax运算变更为匈牙利算法,由此制作出第八实施例(WN-80b+匈牙利)的推测模块。对于第八实施例的其他结构,采用了与第四实施例同样的结构。在第七实施例以及第八实施例的训练中,使用了100×100的训练样本。训练的反复次数设为30万次。关于机器学习的其他条件,采用了与所述实验I同样的条件。
<评估方法>
与所述实验II同样地,使用各实施例的训练完毕的推测模块以及各比较例的解算器,获得对各尺寸的验证样本的匹配结果。并且,对于第七实施例以及各比较例,算出对所获得的所有验证样本的匹配结果的公平性成本的平均值。对于第八实施例以及各比较例,算出对所获得的所有验证样本的匹配结果的平衡成本的平均值。进而,对于各实施例,算出匹配的成功率。
<结果>
[表3]
表3表示对于各实施例以及各比较例算出所述各评估指标的结果。根据表3所示的结果,对于100×100的尺寸,稳定匹配的成功率发生了恶化,但在各实施例中,能够以相对较高的精度来推测稳定匹配。而且,与实验II同样,关于各指标的成本,在各实施例中,能够获得与结果最佳的比较例为同程度的结果。因此可知的是,根据本发明,即便对于尺寸大的(100×100)问题,也能够生成与现有的最佳算法相比毫不逊色且具有以相对较高的精度来推测稳定匹配的能力的、训练完毕的推测模块。
[实验IV:各变形的有效性的验证]
实验IV中,使用与实验II为同样尺寸的样本,在以下的各实施例以及比较例之间比较匹配的成功率,由此来验证对应于每个连结张量而各别地设置编码器505的形态、设置归一化器的形态、以及赋予条件码的形态的有效性。
<实施例>
在第五实施例中的各特征编织层的编码器之后,以由各连结张量共用的方式设置构成为对编码器的运算结果进行归一化的归一化器,由此制作出第九实施例(WN-60f-对称)的推测模块。在第五实施例中的各特征编织层的编码器之后,对应于每个连结张量而设置构成为对编码器的运算结果进行归一化的归一化器,且追加对各输入张量赋予条件码的运算,由此制作出第十实施例(WN-60f-不对称)的推测模块。将第五实施例中的各特征编织层的编码器由单个编码器变更为针对每个连结张量分别使用的编码器,由此制作出第十一实施例(WN-60f-双)的推测模块。制作出具有与第五实施例的推测模块为相同结构的第十二实施例(WN-60f(20))的推测模块。将第五实施例中的获得推测结果时的运算结果由argmax运算变更为匈牙利算法,由此制作出第十三实施例(WN-60f+匈牙利)的推测模块。对于第九实施例至第十一实施例以及第十二实施例的其他结构,采用了与第五实施例同样的结构。
同样地,在第六实施例中的各特征编织层的编码器之后,以由各连结张量共用的方式设置构成为对编码器的运算结果进行归一化的归一化器,由此制作出第十四实施例(WN-60b-对称)的推测模块。在第六实施例中的各特征编织层的编码器之后,对应于每个连结张量而设置构成为对编码器的运算结果进行归一化的归一化器,且追加对各输入张量赋予条件码的运算,由此制作出第十五实施例(WN-60b-不对称)的推测模块。将第六实施例中的各特征编织层的编码器由单个编码器变更为针对每个连结张量分别使用的编码器,由此制作出第十六实施例(WN-60b-双)的推测模块。制作出具有与第六实施例的推测模块为相同结构的第十七实施例(WN-60b(20))的推测模块。将第六实施例中的获得推测结果时的运算结果由argmax运算变更为匈牙利算法,由此制作出第十八实施例(WN-60b+匈牙利)的推测模块。对于第十四实施例至第十六实施例以及第十八实施例的其他结构,采用了与第六实施例同样的结构。
<比较例>
将第五比较例中的构成特征提取器的层的数量变更为60层,将以式10所示的公平性的指标(λf,权重为0.01)追加至损耗函数,由此制作出第十比较例(SSWN-60f)的推测模块。而且,将第五比较例中的构成特征提取器的层的数量变更为60层,将以式12所示的公平性的指标(λb,权重为0.01)追加至损耗函数,由此制作出第十一比较例(SSWN-60b)的推测模块。对于第十比较例以及第十一比较例的其他结构,采用了与第五比较例同样的结构。
<机器学习以及评估方法>
在第十二实施例以及第十七实施例的训练中,使用了20×20的训练样本。在其他的实施例以及各比较例的训练中,使用了30×30的训练样本。关于机器学习的其他条件,采用了与所述实验I同样的条件。
对于验证样本的尺寸,采用了20×20以及30×30这两种不同的尺寸。使用各实施例以及各比较例的训练完毕的推测模块,获得对各尺寸的验证样本的匹配结果。并且,利用与所述实验I同样的方法,对于各实施例以及各比较例算出匹配的成功率。对于第九实施例至第十三实施例以及第十比较例,算出对所获得的所有验证样本的匹配结果的公平性成本的平均值。对于第十四实施例至第十八实施例以及第十一比较例,算出对所获得的所有验证样本的匹配结果的平衡成本的平均值。另外,对于分布无偏倚的UU、DD以及GG,省略了第十实施例、第十一实施例、第十五实施例以及第十六实施例的验证。
<结果>
[表4]
[表5]
表4表示对于第九实施例至第十三实施例以及第十比较例算出匹配的成功率以及公平性成本的平均值的结果。表5表示对于第十四实施例至第十八实施例以及第十一比较例算出匹配的成功率以及平衡成本的平均值的结果。对于成功率以及各指标的成本,均获得各实施例比各比较例佳的结果。根据此结果,能够呈现出本发明的有效性。
而且,可知的是,在输入分布存在偏倚的情况下,在共同使用编码器的结构(例如第九实施例、第十四实施例)中,匹配的成功率以及各指标的成本有可能发生恶化。与此相对,根据对应于连结张量而分别设置编码器的形态(第十一实施例、第十六实施例)与采用了所述<4.5>的第一方法以及第二方法的形态(第十实施例、第十五实施例),可知的是能够改善匹配的成功率以及各指标的成本。
进而,若对这些形态进行比较,则比起分别设置编码器的形态,采用了所述<4.5>的第一方法以及第二方法的形态的结果佳的可能性更高。根据此结果可知的是,即便不分别设置编码器(即,在抑制了参数的增加的基础上),所述<4.5>的第一方法以及第二方法也作为抑制因输入分布的差异引起的偏倚的放大的方法而有效。
符号的说明
1:模型生成装置
11:控制部
12:存储部
13:通信接口
14:外部接口
15:输入装置
16:输出装置
17:驱动器
81:模型生成程序
91:存储介质
111:获取部
112:学习处理部
113:保存处理部
125:学习结果数据
2:推测装置
21:控制部
22:存储部
23:通信接口
24:外部接口
25:输入装置
26:输出装置
27:驱动器
82:推测程序
92:存储介质
211:获取部
212:推测部
213:输出部
221:对象图
30:训练图
5:推测模块
50:特征编织网络
500:特征编织层
505:编码器
55:推测器
Claims (19)
1.一种模型生成装置,包括:
获取部,构成为获取多个训练图;以及
学习处理部,构成为,使用所获取的所述多个训练图来实施推测模块的机器学习,所述模型生成装置中,
所述推测模块包括特征编织网络以及推测器,
所述特征编织网络构成为,通过包括多个特征编织层,从而受理输入图的输入并输出与所述输入图相关的特征信息,
所述推测器构成为,根据从所述特征编织网络输出的所述特征信息来推测对所述输入图的任务的解,
各特征编织层受理三层的第一输入张量以及第二输入张量的输入,
所述第一输入张量构成为具有:所述输入图的属于第一集的第一顶点作为要素而排列的第一轴、所述输入图的属于第二集的第二顶点作为要素而排列的第二轴、以及与从所述第一顶点向所述第二顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述第二输入张量构成为具有:所述第二顶点作为要素而排列的第一轴、所述第一顶点作为要素而排列的第二轴、以及与从所述第二顶点向所述第一顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述各特征编织层包括编码器,
所述各特征编织层构成为:
固定所述第二输入张量的所述第三轴而使所述第二输入张量的所述第三轴以外的其他轴逐个循环,且将所述第一输入张量以及循环的所述第二输入张量的各要素的特征量予以连结,由此来生成三层的第一连结张量,
固定所述第一输入张量的所述第三轴而使所述第一输入张量的所述第三轴以外的其他轴逐个循环,且将所述第二输入张量以及循环的所述第一输入张量的各要素的特征量予以连结,由此来生成三层的第二连结张量,
将所生成的所述第一连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第一输入张量对应的三层的第一输出张量,并且
将所生成的所述第二连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第二输入张量对应的三层的第二输出张量,
所述编码器构成为,根据所输入的所有要素的特征量导出各要素的相对特征量,
所述多个特征编织层中的最开始的特征编织层构成为,从所述输入图受理所述第一输入张量以及所述第二输入张量,
所述特征信息包含从所述多个特征编织层中的最后的特征编织层输出的所述第一输出张量以及所述第二输出张量,并且
所述机器学习是通过下述方式而构成,即,将各训练图作为所述输入图而输入至所述特征编织网络,由此来训练所述推测模块,以使得由所述推测器所获得的推测结果符合对所述各训练图的所述任务的正解。
2.根据权利要求1所述的模型生成装置,其中
所述特征编织网络具有残差结构。
3.根据权利要求1或2所述的模型生成装置,其中
所述各特征编织层的所述编码器包含在所述第一连结张量以及所述第二连结张量的所述第一轴的各要素间共同使用的单个编码器。
4.根据权利要求3所述的模型生成装置,其中
所述各特征编织层对应于每个所述连结张量还包括归一化器,所述归一化器构成为,对所述编码器的运算结果进行归一化。
5.根据权利要求3或4所述的模型生成装置,其中
所述各特征编织层还构成为,在执行所述编码器的运算之前,对所述第一输入张量以及所述第二输入张量各自的第三轴赋予条件码。
6.根据权利要求1至5中任一项所述的模型生成装置,其中
所述各训练图为有向二部图,
构成所述有向二部图的多个顶点被划分为属于两个子集的任一个,
所述输入图的所述第一集对应于所述有向二部图的所述两个子集中的其中一者,
所述输入图的所述第二集对应于所述有向二部图的所述两个子集中的另一者。
7.根据权利要求6所述的模型生成装置,其中
所述任务是两个团体间的匹配任务,且是决定属于各团体的对象彼此的最佳配对的任务,
所述有向二部图的所述两个子集对应于所述匹配任务中的所述两个团体,
所述有向二部图的属于各子集的所述顶点对应于属于所述各团体的所述对象,
与从所述第一顶点向所述第二顶点流出的枝相关的特征量对应于从属于所述两个团体中的其中一者的对象对属于另一者的对象的期望度,
与从所述第二顶点向所述第一顶点流出的枝相关的特征量对应于从属于所述两个团体中的另一者的对象对属于其中一者的对象的期望度。
8.根据权利要求1至5中任一项所述的模型生成装置,其中
所述各训练图为无向二部图,
构成所述无向二部图的多个顶点被划分为属于两个子集的任一个,
所述输入图的所述第一集对应于所述无向二部图的所述两个子集中的其中一者,
所述输入图的所述第二集对应于所述无向二部图的所述两个子集中的另一者。
9.根据权利要求8所述的模型生成装置,其中
所述任务是两个团体间的匹配任务,且是决定属于各团体的对象彼此的最佳配对的任务,
所述无向二部图的所述两个子集对应于所述匹配任务中的所述两个团体,
所述无向二部图的属于各子集的所述顶点对应于属于所述各团体的所述对象,
与从所述第一顶点向所述第二顶点流出的枝相关的特征量以及与从所述第二顶点向所述第一顶点流出的枝相关的特征量均对应于对属于所述两个团体内的其中一者的对象以及属于另一者的对象彼此进行配对的成本或报酬。
10.根据权利要求1至5中任一项所述的模型生成装置,其中
所述各训练图为有向图,
所述输入图的属于所述第一集的所述第一顶点对应于构成所述有向图的有向枝的起点,
属于所述第二集的所述第二顶点对应于所述有向枝的终点,
从所述第一顶点向所述第二顶点流出的枝对应于从所述起点向所述终点流出的有向枝,
从所述第二顶点向所述第一顶点流出的枝对应于从所述起点流入至所述终点的有向枝。
11.根据权利要求10所述的模型生成装置,其中
所述有向图构成为表达网络,
所述任务是推测在所述网络上产生的事态的任务,
与从所述第一顶点向所述第二顶点流出的枝相关的特征量以及与从所述第二顶点向所述第一顶点流出的枝相关的特征量均对应于构成所述网络的各顶点间的连接属性。
12.根据权利要求1至5中任一项所述的模型生成装置,其中
所述各训练图为无向图,
所述输入图的属于所述第一集的所述第一顶点以及属于所述第二集的所述第二顶点分别对应于构成所述无向图的各顶点,
输入至所述各特征编织层的所述第一输入张量以及所述第二输入张量彼此相同,
由所述各特征编织层所生成的所述第一输出张量以及所述第二输出张量彼此相同,
生成所述第一输出张量的处理以及生成所述第二输出张量的处理是共同地执行。
13.根据权利要求1至5中任一项所述的模型生成装置,其中
所述各训练图是包含多个顶点的顶点特征图,且是各顶点具有属性的顶点特征图,
所述输入图的属于所述第一集的所述第一顶点以及属于所述第二集的所述第二顶点分别对应于构成所述顶点特征图的各顶点,
与从所述第一顶点向所述第二顶点流出的枝相关的特征量对应于与所述第一顶点对应的所述顶点特征图的顶点的属性,
与从所述第二顶点向所述第一顶点流出的枝相关的特征量对应于与所述第二顶点对应的所述顶点特征图的顶点的属性。
14.根据权利要求13所述的模型生成装置,其中
对于来自所述输入图的所述第一输入张量以及所述第二输入张量各自的第三轴的各要素,连结或乘算表示所述顶点特征图的对应的顶点间的关系性的信息,
所述任务是推测从所述顶点特征图导出的事态的任务。
15.根据权利要求13所述的模型生成装置,其中
所述任务是推测构成所述顶点特征图的各顶点间的关系性的任务。
16.一种推测装置,包括:
获取部,构成为获取对象图;
推测部,构成为,使用通过机器学习而训练完毕的推测模块,推测对所获取的所述对象图的任务的解;以及
输出部,构成为,输出与对所述任务的解进行推测的结果相关的信息,所述推测装置中,
所述推测模块包括特征编织网络以及推测器,
所述特征编织网络构成为,通过包括多个特征编织层,从而受理输入图的输入并输出与所述输入图相关的特征信息,
所述推测器构成为,根据从所述特征编织网络输出的所述特征信息来推测对所述输入图的任务的解,
各特征编织层受理三层的第一输入张量以及第二输入张量的输入,
所述第一输入张量构成为具有:所述输入图的属于第一集的第一顶点作为要素而排列的第一轴、所述输入图的属于第二集的第二顶点作为要素而排列的第二轴、以及与从所述第一顶点向所述第二顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述第二输入张量构成为具有:所述第二顶点作为要素而排列的第一轴、所述第一顶点作为要素而排列的第二轴、以及与从所述第二顶点向所述第一顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述各特征编织层包括编码器,
所述各特征编织层构成为:
固定所述第二输入张量的所述第三轴而使所述第二输入张量的所述第三轴以外的其他轴逐个循环,且将所述第一输入张量以及循环的所述第二输入张量的各要素的特征量予以连结,由此来生成三层的第一连结张量,
固定所述第一输入张量的所述第三轴而使所述第一输入张量的所述第三轴以外的其他轴逐个循环,且将所述第二输入张量以及循环的所述第一输入张量的各要素的特征量予以连结,由此来生成三层的第二连结张量,
将所生成的所述第一连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第一输入张量对应的三层的第一输出张量,并且
将所生成的所述第二连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第二输入张量对应的三层的第二输出张量,
所述编码器构成为,根据所输入的所有要素的特征量导出各要素的相对特征量,
所述多个特征编织层中的最开始的特征编织层构成为,从所述输入图受理所述第一输入张量以及所述第二输入张量,
所述特征信息包含从所述多个特征编织层中的最后的特征编织层输出的所述第一输出张量以及所述第二输出张量,并且
使用所述训练完毕的推测模块来推测对所述对象图的所述任务的解的处理是通过下述方式而构成,即,将所述对象图作为所述输入图而输入至所述特征编织网络,从所述推测器获得对所述任务的解进行推测的结果。
17.一种模型生成方法,由计算机执行下述步骤:
获取多个训练图;以及
使用所获取的所述多个训练图来实施推测模块的机器学习,所述模型生成方法中,
所述推测模块包括特征编织网络以及推测器,
所述特征编织网络构成为,通过包括多个特征编织层,从而受理输入图的输入并输出与所述输入图相关的特征信息,
所述推测器构成为,根据从所述特征编织网络输出的所述特征信息来推测对所述输入图的任务的解,
各特征编织层受理三层的第一输入张量以及第二输入张量的输入,
所述第一输入张量构成为具有:所述输入图的属于第一集的第一顶点作为要素而排列的第一轴、所述输入图的属于第二集的第二顶点作为要素而排列的第二轴、以及与从所述第一顶点向所述第二顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述第二输入张量构成为具有:所述第二顶点作为要素而排列的第一轴、所述第一顶点作为要素而排列的第二轴、以及与从所述第二顶点向所述第一顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述各特征编织层包括编码器,
所述各特征编织层构成为:
固定所述第二输入张量的所述第三轴而使所述第二输入张量的所述第三轴以外的其他轴逐个循环,且将所述第一输入张量以及循环的所述第二输入张量的各要素的特征量予以连结,由此来生成三层的第一连结张量,
固定所述第一输入张量的所述第三轴而使所述第一输入张量的所述第三轴以外的其他轴逐个循环,且将所述第二输入张量以及循环的所述第一输入张量的各要素的特征量予以连结,由此来生成三层的第二连结张量,
将所生成的所述第一连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第一输入张量对应的三层的第一输出张量,并且
将所生成的所述第二连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第二输入张量对应的三层的第二输出张量,
所述编码器构成为,根据所输入的所有要素的特征量导出各要素的相对特征量,
所述多个特征编织层中的最开始的特征编织层构成为,从所述输入图受理所述第一输入张量以及所述第二输入张量,
所述特征信息包含从所述多个特征编织层中的最后的特征编织层输出的所述第一输出张量以及所述第二输出张量,并且
所述机器学习是通过下述方式而构成,即,将各训练图作为所述输入图而输入至所述特征编织网络,由此来训练所述推测模块,以使得由所述推测器所获得的推测结果符合对所述各训练图的所述任务的正解。
18.一种模型生成程序,用于使计算机执行下述步骤:
获取多个训练图;以及
使用所获取的所述多个训练图来实施推测模块的机器学习,所述模型生成程序中,
所述推测模块包括特征编织网络以及推测器,
所述特征编织网络构成为,通过包括多个特征编织层,从而受理输入图的输入并输出与所述输入图相关的特征信息,
所述推测器构成为,根据从所述特征编织网络输出的所述特征信息来推测对所述输入图的任务的解,
各特征编织层受理三层的第一输入张量以及第二输入张量的输入,
所述第一输入张量构成为具有:所述输入图的属于第一集的第一顶点作为要素而排列的第一轴、所述输入图的属于第二集的第二顶点作为要素而排列的第二轴、以及与从所述第一顶点向所述第二顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述第二输入张量构成为具有:所述第二顶点作为要素而排列的第一轴、所述第一顶点作为要素而排列的第二轴、以及与从所述第二顶点向所述第一顶点流出的枝相关的特征量作为要素而排列的第三轴,
所述各特征编织层包括编码器,
所述各特征编织层构成为:
固定所述第二输入张量的所述第三轴而使所述第二输入张量的所述第三轴以外的其他轴逐个循环,且将所述第一输入张量以及循环的所述第二输入张量的各要素的特征量予以连结,由此来生成三层的第一连结张量,
固定所述第一输入张量的所述第三轴而使所述第一输入张量的所述第三轴以外的其他轴逐个循环,且将所述第二输入张量以及循环的所述第一输入张量的各要素的特征量予以连结,由此来生成三层的第二连结张量,
将所生成的所述第一连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第一输入张量对应的三层的第一输出张量,并且
将所生成的所述第二连结张量分割为第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述第二输入张量对应的三层的第二输出张量,
所述编码器构成为,根据所输入的所有要素的特征量导出各要素的相对特征量,
所述多个特征编织层中的最开始的特征编织层构成为,从所述输入图受理所述第一输入张量以及所述第二输入张量,
所述特征信息包含从所述多个特征编织层中的最后的特征编织层输出的所述第一输出张量以及所述第二输出张量,并且
所述机器学习是通过下述方式而构成,即,将各训练图作为所述输入图而输入至所述特征编织网络,由此来训练所述推测模块,以使得由所述推测器所获得的推测结果符合对所述各训练图的所述任务的正解。
19.一种模型生成装置,包括:
获取部,构成为获取多个训练图;以及
学习处理部,构成为,使用所获取的所述多个训练图来实施推测模块的机器学习,所述模型生成装置中,
所述各训练图为K份超图,
K为3以上,
构成所述超图的多个顶点被划分为属于K个子集的任一个,
所述推测模块包括特征编织网络以及推测器,
所述特征编织网络构成为,通过包括多个特征编织层,从而受理输入图的输入,并输出与所述输入图相关的特征信息,
所述推测器构成为,根据从所述特征编织网络输出的所述特征信息来推测对所述输入图的任务的解,
各特征编织层受理K个(K+1)层的输入张量的输入,
所述K个输入张量中的第i个输入张量构成为:
在第一轴中,所述输入图的属于第i个子集的第i顶点作为要素而排列,
在从第二轴直至第K轴为止的第j轴中,以所述第i个为起点而循环地,属于第(j-1)个子集的顶点作为要素而排列,且
在第(K+1)轴中,与从属于所述第i个子集的所述第i顶点向分别属于(K-1)个其他子集的顶点彼此的组合流出的枝相关的特征量作为要素而排列,
所述各特征编织层包括编码器,
所述各特征编织层构成为:
对于从第一个直至第K个为止的第i个输入张量,固定所述第i个以外的(K-1)个其他输入张量各自的所述第(K+1)轴,并以与所述第i个输入张量的各轴一致的方式来使所述其他输入张量各自的所述第(K+1)轴以外的其他轴循环,且将所述第i个输入张量以及循环的所述各其他输入张量的各要素的特征量予以连结,由此来生成K个(K+1)层的连结张量,并且
将所生成的所述K个连结张量各自分割为所述第一轴的每个要素而输入至所述编码器,执行所述编码器的运算,由此来生成与所述K个输入张量各自分别对应的K个(K+1)层的输出张量,
所述编码器构成为,根据所输入的所有要素的特征量导出各要素的相对特征量,
所述多个特征编织层中的最开始的特征编织层构成为,从所述输入图受理所述K个输入张量,
所述特征信息包含从所述多个特征编织层中的最后的特征编织层输出的所述K个输出张量,并且
所述机器学习是通过下述方式而构成,即,将所述各训练图作为所述输入图而输入至所述特征编织网络,由此来训练所述推测模块,以使得由所述推测器所获得的推测结果符合对所述各训练图的所述任务的正解。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021013294A JP2022116884A (ja) | 2021-01-29 | 2021-01-29 | モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム |
JP2021-013294 | 2021-01-29 | ||
PCT/JP2021/033723 WO2022163003A1 (ja) | 2021-01-29 | 2021-09-14 | モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116635877A true CN116635877A (zh) | 2023-08-22 |
Family
ID=82654400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180081830.XA Pending CN116635877A (zh) | 2021-01-29 | 2021-09-14 | 模型生成装置、推测装置、模型生成方法以及模型生成程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240037451A1 (zh) |
EP (1) | EP4287081A1 (zh) |
JP (1) | JP2022116884A (zh) |
CN (1) | CN116635877A (zh) |
WO (1) | WO2022163003A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117017233A (zh) * | 2023-10-08 | 2023-11-10 | 华南师范大学 | 一种睡眠呼吸暂停检测方法、装置、设备以及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023078639A (ja) | 2021-11-26 | 2023-06-07 | トヨタ自動車株式会社 | 情報処理装置及び情報処理方法 |
CN117893538B (zh) * | 2024-03-15 | 2024-05-31 | 成都方昇科技有限公司 | 基于机器视觉的半导体器件质量检测方法、装置及系统 |
-
2021
- 2021-01-29 JP JP2021013294A patent/JP2022116884A/ja active Pending
- 2021-09-14 US US18/268,310 patent/US20240037451A1/en active Pending
- 2021-09-14 EP EP21923011.7A patent/EP4287081A1/en active Pending
- 2021-09-14 WO PCT/JP2021/033723 patent/WO2022163003A1/ja active Application Filing
- 2021-09-14 CN CN202180081830.XA patent/CN116635877A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117017233A (zh) * | 2023-10-08 | 2023-11-10 | 华南师范大学 | 一种睡眠呼吸暂停检测方法、装置、设备以及存储介质 |
CN117017233B (zh) * | 2023-10-08 | 2024-01-09 | 华南师范大学 | 一种睡眠呼吸暂停检测方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4287081A1 (en) | 2023-12-06 |
JP2022116884A (ja) | 2022-08-10 |
WO2022163003A1 (ja) | 2022-08-04 |
US20240037451A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733431B2 (en) | Systems and methods for optimizing pose estimation | |
US10796452B2 (en) | Optimizations for structure mapping and up-sampling | |
US10565729B2 (en) | Optimizations for dynamic object instance detection, segmentation, and structure mapping | |
CN116635877A (zh) | 模型生成装置、推测装置、模型生成方法以及模型生成程序 | |
CN111695415B (zh) | 图像识别方法及相关设备 | |
CN111401406B (zh) | 一种神经网络训练方法、视频帧处理方法以及相关设备 | |
EP3493106B1 (en) | Optimizations for dynamic object instance detection, segmentation, and structure mapping | |
CN111931602B (zh) | 基于注意力机制的多流分段网络人体动作识别方法及系统 | |
CN115456159A (zh) | 一种数据处理方法和数据处理设备 | |
CN113159283B (zh) | 一种基于联邦迁移学习的模型训练方法及计算节点 | |
CN109948741A (zh) | 一种迁移学习方法及装置 | |
Saxena et al. | D-GAN: Deep generative adversarial nets for spatio-temporal prediction | |
US20220309334A1 (en) | Graph neural networks for datasets with heterophily | |
WO2021238333A1 (zh) | 一种文本处理网络、神经网络训练的方法以及相关设备 | |
KR102011788B1 (ko) | 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법 | |
CN113807399A (zh) | 一种神经网络训练方法、检测方法以及装置 | |
JP6900576B2 (ja) | 移動状況認識モデル学習装置、移動状況認識装置、方法、及びプログラム | |
CN111091010A (zh) | 相似度确定、网络训练、查找方法及装置和存储介质 | |
WO2021217937A1 (zh) | 姿态识别模型的训练方法及设备、姿态识别方法及其设备 | |
CN115018039A (zh) | 一种神经网络蒸馏方法、目标检测方法以及装置 | |
CN113781519A (zh) | 目标跟踪方法和目标跟踪装置 | |
WO2021036397A1 (zh) | 目标神经网络模型的生成方法和装置 | |
Liu et al. | Multilevel federated learning-based intelligent traffic flow forecasting for transportation network management | |
Abid et al. | Improving indoor geomagnetic field fingerprinting using recurrence plot-based convolutional neural networks | |
CN116597336A (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 |