JP7384238B2 - Inference device, inference method, and inference program - Google Patents
Inference device, inference method, and inference program Download PDFInfo
- Publication number
- JP7384238B2 JP7384238B2 JP2022094069A JP2022094069A JP7384238B2 JP 7384238 B2 JP7384238 B2 JP 7384238B2 JP 2022094069 A JP2022094069 A JP 2022094069A JP 2022094069 A JP2022094069 A JP 2022094069A JP 7384238 B2 JP7384238 B2 JP 7384238B2
- Authority
- JP
- Japan
- Prior art keywords
- class
- neural network
- classes
- training data
- reliability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 54
- 238000013528 artificial neural network Methods 0.000 claims description 111
- 238000012549 training Methods 0.000 claims description 60
- 230000006870 function Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 23
- 238000012360 testing method Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 4
- 238000002910 structure generation Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 23
- 238000006243 chemical reaction Methods 0.000 description 14
- 230000004913 activation Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 11
- 230000010365 information processing Effects 0.000 description 11
- 238000009499 grossing Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 238000002372 labelling Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Description
本発明は、推論装置、推論方法および推論プログラムに関する。 The present invention relates to an inference device, an inference method, and an inference program.
近年、各種の分野においてニューラルネットワークが用いられている。例えば、学習済みのニューラルネットワーク(例えば、ディープラーニングに基づく学習済みのニューラルネットワークなど)に基づいて、画像に写る物体を検出する技術(物体検出技術)が注目されている。物体検出技術として、各種の技術が知られている(非特許文献1~非特許文献4参照)。かかる物体検出技術においては、画像に写る物体が属するクラス(物体クラス)が識別される。
In recent years, neural networks have been used in various fields. For example, a technology (object detection technology) that detects an object in an image based on a trained neural network (for example, a trained neural network based on deep learning) is attracting attention. Various techniques are known as object detection techniques (see Non-Patent
しかし、画像に写る物体が属するクラスの識別の精度を向上させることを可能とする技術が提供されることが望まれる。 However, it is desired to provide a technique that can improve the accuracy of identifying the class to which an object in an image belongs.
上記問題を解決するために、本発明のある観点によれば、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて前記第1のクラス群を構成するクラス同士が上下関係を有すると判定された場合に生成された、前記上下関係を示す階層構造と、正解クラスに対応する要素の値と前記正解クラスが属する層と同一の層に属する前記正解クラス以外のクラスに対応する要素の値とを近づける変換が行われた後の教師データと、前記第1のニューラルネットワークから前記教師データに対応する訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して前記第1のクラス群を構成するクラス全体について出力される出力データと、前記階層構造とに基づいて、前記クラス全体における各クラスの信頼度を算出し、前記クラス全体における各クラスの信頼度に基づいて、前記テストデータが属するクラスの識別処理を行う推論部を備え、前記推論部は、前記クラス全体の中に、クラスが属する層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、前記識別処理を行う、推論装置が提供される。
In order to solve the above problem, according to one aspect of the present invention, classes forming the first class group are provided based on information regarding the classes forming the first class group that can be identified by a first neural network. A hierarchical structure indicating the hierarchical relationship generated when it is determined that there is a hierarchical relationship , the value of the element corresponding to the correct answer class, and the correct answer belonging to the same layer as the layer to which the correct answer class belongs. The teacher data after conversion has been performed to bring the values of elements corresponding to classes other than the class closer together, and the output data output from the first neural network corresponding to the training data corresponding to the teacher data. A trained neural network obtained by a learning process based on the training process is obtained, output data output from the trained neural network for the entire class constituting the first class group in response to test data, and the hierarchy an inference unit that calculates the reliability of each class in the entire class based on the structure, and performs a process of identifying a class to which the test data belongs based on the reliability of each class in the entire class , An inference device is provided, wherein the inference unit performs the identification process depending on whether there is a class among the entire classes that has a higher reliability than a first threshold value corresponding to a layer to which the class belongs. Ru.
前記推論部は、前記第1の閾値よりも信頼度が高いクラスが存在する場合に、当該クラスを前記テストデータが属するクラスの識別結果として出力してもよい。
また、前記推論部は、前記第1の閾値よりも信頼度が高いクラスが存在しない場合、かつ、当該層に属するクラスの上位クラスの信頼度が第2の閾値より高い場合に、前記上位クラスを前記テストデータが属するクラスの識別結果として出力してもよい。
The reasoning section isIf there is a class whose reliability is higher than the first threshold, the class may be output as the identification result of the class to which the test data belongs.
Furthermore, when there is no class whose reliability is higher than the first threshold, and when the reliability of the upper class of the class belonging to the layer is higher than the second threshold, the inference unit determines whether the upper class may be output as the identification result of the class to which the test data belongs.
また、本発明の別の観点によれば、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて前記第1のクラス群を構成するクラス同士が上下関係を有すると判定された場合に生成された、前記上下関係を示す階層構造と、正解クラスに対応する要素の値と前記正解クラスが属する層と同一の層に属する前記正解クラス以外のクラスに対応する要素の値とを近づける変換が行われた後の教師データと、前記第1のニューラルネットワークから前記教師データに対応する訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して前記第1のクラス群を構成するクラス全体について出力される出力データと、前記階層構造とに基づいて、前記クラス全体における各クラスの信頼度を算出し、前記クラス全体における各クラスの信頼度に基づいて、前記テストデータが属するクラスの識別処理を行うことを含み、前記クラス全体の中に、クラスが属する層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、前記識別処理を行うことを含む、推論方法が提供される。
According to another aspect of the present invention, the classes forming the first class group have a hierarchical relationship with each other based on information regarding the classes forming the first class group that can be identified by the first neural network. A hierarchical structure showing the above-mentioned hierarchical relationship, which is generated when it is determined that obtained through a learning process based on the training data that has been transformed to bring the values of the corresponding elements closer to each other, and the output data output from the first neural network corresponding to the training data corresponding to the training data. based on the output data outputted from the trained neural network for the entire class constituting the first class group in response to the test data, and the hierarchical structure. , calculating the reliability of each class in the whole class, and performing a process of identifying the class to which the test data belongs based on the reliability of each class in the whole class, and in the whole class, An inference method is provided, which includes performing the above-mentioned identification process depending on whether there is a class whose reliability is higher than a first threshold value corresponding to a layer to which the class belongs.
また、本発明の別の観点によれば、コンピュータを、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて前記第1のクラス群を構成するクラス同士が上下関係を有すると判定された場合に生成された、前記上下関係を示す階層構造と、正解クラスに対応する要素の値と前記正解クラスが属する層と同一の層に属する前記正解クラス以外のクラスに対応する要素の値とを近づける変換が行われた後の教師データと、前記第1のニューラルネットワークから前記教師データに対応する訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して前記第1のクラス群を構成するクラス全体について出力される出力データと、前記階層構造とに基づいて、前記クラス全体における各クラスの信頼度を算出し、前記クラス全体における各クラスの信頼度に基づいて、前記テストデータが属するクラスの識別処理を行う推論部を備え、前記推論部は、前記クラス全体の中に、クラスが属する層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、前記識別処理を行う、推論装置として機能させる推論プログラムが提供される。
Further, according to another aspect of the present invention, the computer is configured to identify classes that make up the first class group based on information about the classes that make up the first class group that can be identified by the first neural network. A hierarchical structure indicating the above-mentioned above-mentioned above-mentioned above-mentioned above-mentioned above-mentioned hierarchical structure generated when it is determined that there is a above-mentioned above-mentioned relation, the value of the element corresponding to the correct answer class, and the above-mentioned correct answer class belonging to the same layer as the above-mentioned correct answer class belongs. learning based on teacher data after conversion has been performed to bring values of elements corresponding to classes closer to each other, and output data output from the first neural network corresponding to training data corresponding to the teacher data. A trained neural network obtained by the processing is obtained, and output data output from the trained neural network for the entire class constituting the first class group in response to test data, and the hierarchical structure. an inference unit that calculates reliability of each class in the entire class based on the reliability of each class in the entire class, and performs processing to identify a class to which the test data belongs based on the reliability of each class in the entire class, the inference unit is an inference program that functions as an inference device that performs the identification process depending on whether or not there is a class among the entire classes that has a reliability higher than a first threshold value corresponding to a layer to which the class belongs. is provided.
以上説明したように本発明によれば、画像に写る物体が属するクラスの識別の精度を向上させることを可能とする技術が提供される。 As described above, according to the present invention, a technique is provided that makes it possible to improve the accuracy of identifying the class to which an object appearing in an image belongs.
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Note that, in this specification and the drawings, components having substantially the same functional configurations are designated by the same reference numerals and redundant explanation will be omitted.
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。 Further, in this specification and the drawings, a plurality of components having substantially the same functional configuration may be distinguished by attaching different numbers after the same reference numeral. However, if there is no particular need to distinguish between a plurality of components having substantially the same functional configuration, only the same reference numerals are given. Further, similar components in different embodiments may be distinguished by attaching different alphabets after the same reference numerals. However, when it is not necessary to particularly distinguish between similar components of different embodiments, only the same reference numerals are given.
(0.背景)
まず、本発明の実施形態の背景について説明する。
(0. Background)
First, the background of the embodiment of the present invention will be explained.
近年、各種の分野においてニューラルネットワークが用いられている。例えば、学習済みのニューラルネットワーク(例えば、ディープラーニングに基づく学習済みのニューラルネットワークなど)に基づいて、画像に写る物体を検出する技術(物体検出技術)が注目されている。そして、かかる物体検出技術によって各種のアプリケーションが実現されることが期待されている。例えば、車載カメラによって得られた画像に写る物体の検出結果に基づいて、画像に写る人物を同定したり、画像に写るナンバープレートを認識したり、画像に写る状況を認識したりするアプリケーションの実現が期待されている。 In recent years, neural networks have been used in various fields. For example, a technology (object detection technology) that detects an object in an image based on a trained neural network (for example, a trained neural network based on deep learning) is attracting attention. It is expected that various applications will be realized using such object detection technology. For example, based on the detection results of objects in images obtained by in-vehicle cameras, we can create applications that identify people in images, recognize license plates in images, and recognize situations in images. is expected.
画像に写る物体を検出する技術(物体検出技術)は、画像に基づいて1または複数の物体候補領域を推定する領域推定サブタスクと、1または複数の物体候補領域それぞれに写る被写体のクラスを識別するクラス識別タスクとによって実現され得る(例えば、非特許文献1参照)。ここで、図1を参照しながら、かかる物体検出技術の概要について説明する。 Technology for detecting objects in images (object detection technology) includes a region estimation subtask of estimating one or more object candidate regions based on the image, and identifying the class of the object in each of the one or more object candidate regions. This can be realized by a class identification task (for example, see Non-Patent Document 1). Here, an overview of such object detection technology will be explained with reference to FIG.
図1は、物体検出技術の概要について説明するための図である。図1を参照すると、物体が写る画像50が示されている。より詳細には、画像50における物体領域51Aに、物体の例としてのバスが写っている。また、画像50における物体領域52Aに、物体の例としての人が写っている。図1には、かかる画像50から物体を検出する物体検出器の例として、2段階検出器N1および1段階検出器N2が示されている。
FIG. 1 is a diagram for explaining an overview of object detection technology. Referring to FIG. 1, an
2段階検出器N1は、画像50に基づいて特徴マップF1を抽出する第1の段階(特徴抽出タスクN11)と、特徴マップF1に基づいて物体候補領域h1~h3を推定する第2の段階(領域推定タスクN12)とによって、物体候補領域h1~h3の位置および特徴量を検出する。一方、1段階検出器N2は、あらかじめ定められた物体候補領域の位置(例えば、あらかじめ画像全体に網羅的に定められた物体候補領域の位置(「i1,j1」、「i1,j2」、「i2,j1」、「i2,j2」、・・・)と画像50とに基づいて、1つの段階(特徴抽出&領域推定タスクN13)によって、物体候補領域ごとの特徴量を検出する。
The two-stage detector N1 has a first stage (feature extraction task N11) of extracting a feature map F1 based on the
また、2段階検出器N1および1段階検出器N2それぞれにおいて、クラス識別タスクN21は、物体候補領域ごとの特徴量に基づいて、物体が含まれていない物体候補領域を背景領域として識別し、物体が含まれている物体候補領域を物体領域として識別する。クラス識別タスクN21は、物体候補領域に物体が含まれている場合には、その物体候補領域に含まれる物体が属するクラス(物体クラス)を識別する。 In addition, in each of the two-stage detector N1 and the one-stage detector N2, the class identification task N21 identifies object candidate regions that do not contain objects as background regions based on the feature amount of each object candidate region, and The object candidate region that includes is identified as an object region. If an object is included in the object candidate area, the class identification task N21 identifies the class (object class) to which the object included in the object candidate area belongs.
図1に示された例では、(バスが写る物体領域51Aに対応する)物体候補領域51Bに写る物体がトラックであると識別されているため、物体候補領域51Bにおいては、誤ったクラス識別が行われている。一方、図1に示された例では、(人が写る物体領域52Aに対応する)物体候補領域52Bに写る物体が人であると識別されているため、物体候補領域52Bにおいては、正しいクラス識別が行われている。
In the example shown in FIG. 1, since the object appearing in the
クラス識別タスクN21においては、物体候補領域ごとの識別結果に基づいて、交差エントロピー誤差を用いて、物体候補領域に含まれる物体が属するクラス(物体クラス)を排他的に識別する学習が行われるのが一般的である。しかし、排他的なクラス識別が適さない場合があり得る。ここで、図2および図3を参照しながら、排他的なクラス識別が適さない場合の例について説明する。 In the class identification task N21, learning is performed to exclusively identify the class (object class) to which the object included in the object candidate region belongs, using cross-entropy error, based on the classification results for each object candidate region. is common. However, there may be cases where exclusive class identification is not suitable. Here, an example in which exclusive class identification is not suitable will be described with reference to FIGS. 2 and 3.
図2および図3は、排他的なクラス識別が適さない場合の例について説明するための図である。図2および図3を参照すると、正解クラスを「Car(乗用車)」とする教師データがそれぞれ対応付けられた画像21A、22A、23Aおよび24Aが示されている。また、正解クラスを「Truck」とする教師データがそれぞれ対応付けられた画像21B、22B、23Bおよび24Bが示されている。また、正解クラスを「Bus」とする教師データがそれぞれ対応付けられた画像21C、22C、23Cおよび24Cが示されている。
FIGS. 2 and 3 are diagrams for explaining an example where exclusive class identification is not suitable. Referring to FIGS. 2 and 3,
ここで、正解クラスを「Car」とする教師データがそれぞれ対応付けられた画像21A、22Aの物体候補領域(太い矩形枠内)には、「Car」が写っている。一方、正解クラスを「Car」とする教師データが対応付けられた画像23Aの物体候補領域には、「Truck」が写っている。すなわち、画像23Aに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Car」とする教師データが対応付けられた画像24Aの物体候補領域には、「Van(貨物を運搬する屋根付きの車両)」が写っている。「Van」がどのクラスに属するかは曖昧である。すなわち、画像24Aの物体候補領域に写る物体が属するクラスは、曖昧である。
Here, "Car" is shown in the object candidate area (within the thick rectangular frame) of
同様に、正解クラスを「Truck」とする教師データがそれぞれ対応付けられた画像21B、22Bの物体候補領域には、「Truck」が写っている。一方、正解クラスを「Truck」とする教師データが対応付けられた画像23Bの物体候補領域には、「Car」が写っている。すなわち、画像23Bに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Truck」とする教師データが対応付けられた画像24Bには、「Van」が写っている。すなわち、画像24Bの物体候補領域に写る物体が属するクラスは、曖昧である。
Similarly, "Truck" is shown in the object candidate regions of
同様に、正解クラスを「Bus」とする教師データがそれぞれ対応付けられた画像21C、22Cの物体候補領域には、「Bus」が写っている。一方、正解クラスを「Bus」とする教師データが対応付けられた画像23Cの物体候補領域には、「Car」が写っている。すなわち、画像23Cに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Bus」とする教師データが対応付けられた画像24Cの物体候補領域には、「Van」が写っている。すなわち、画像24Cの物体候補領域に写る物体が属するクラスは、曖昧である。
Similarly, "Bus" appears in the object candidate regions of
このように、排他的なクラス識別が適さない場合の例としては、アノテーション(画像に対するラベル付け)に誤りが存在する場合が挙げられる。また、排他的なクラス識別が適さない場合の他の例としては、画像に写る物体が属するクラスが曖昧である場合が挙げられる。このように排他的なクラス識別が適さない場合が存在するにも関わらず、排他的なクラス識別の学習が行われてしまうと、クラス識別に誤りが生じてしまう可能性がある。 As described above, an example of a case where exclusive class identification is not suitable is a case where an error exists in the annotation (labeling of an image). Another example of a case where exclusive class identification is not suitable is a case where the class to which an object in an image belongs is ambiguous. Even though there are cases where exclusive class identification is not suitable, if exclusive class identification is learned, there is a possibility that errors will occur in class identification.
そこで、クラス識別に誤りが生じてしまう可能性を低減するために、識別可能な具体的なクラスに関する情報に基づいて、抽象的なクラスを生成し、具体的なクラスおよび抽象的なクラスのいずれのクラスに物体が属するかを識別する技術(すなわち、階層的なクラス識別を行う技術)が提案されている(例えば、非特許文献2参照)。非特許文献2に記載の技術では、階層的なクラス識別によって、画像に写る物体が属するクラスとして抽象的なクラスを識別することが可能となる。 Therefore, in order to reduce the possibility of class identification errors, abstract classes are generated based on information about concrete classes that can be identified, and whether concrete classes or abstract classes are A technique for identifying whether an object belongs to a class (that is, a technique for performing hierarchical class identification) has been proposed (for example, see Non-Patent Document 2). In the technique described in Non-Patent Document 2, hierarchical class identification makes it possible to identify an abstract class as a class to which an object appearing in an image belongs.
しかし、非特許文献2に記載の技術では、排他的なクラス識別が適さない場合に(例えば、アノテーションに誤りが存在する場合または画像に写る物体が属するクラスが曖昧である場合などに)過学習が行われてしまい、クラス識別の精度が劣化してしまうことがあり得る。過学習が行われてしまう原因の一つとしては、学習段階において排他的に識別する学習が行われてしまうことが挙げられる。また、過学習が行われてしまう原因の他の一つとしては、学習に用いられる教師データが排他的であることが挙げられる。 However, with the technology described in Non-Patent Document 2, over-fitting occurs when exclusive class identification is not suitable (for example, when there is an error in the annotation or when the class to which an object in an image belongs is ambiguous). is performed, and the accuracy of class identification may deteriorate. One of the causes of overfitting is that exclusive discrimination learning is carried out in the learning stage. Another cause of overfitting is that the teacher data used for learning is exclusive.
そこで、以下の説明では、非排他的に識別する学習を行う技術(例えば、非特許文献3に記載の技術)を階層的なクラス識別に適用する技術について提案する。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度が劣化してしまう可能性が低減され得る。本発明の実施形態では、非排他的に識別する学習を行う技術の例として、「シグモイド活性(Sigmoid Activation)」という技術を用いる。 Therefore, in the following description, a technique is proposed in which a technique for learning non-exclusive discrimination (for example, the technique described in Non-Patent Document 3) is applied to hierarchical class discrimination. According to this configuration, the possibility that overfitting will be performed when exclusive class identification is not suitable is reduced, so the possibility that the accuracy of class identification will deteriorate can be reduced. In the embodiment of the present invention, a technique called "Sigmoid Activation" is used as an example of a technique for performing non-exclusive discrimination learning.
さらに、以下の説明では、非排他的な教師データを学習に用いる技術(例えば、非特許文献4に記載の技術)を階層的なクラス識別に適用する技術について提案する。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度が劣化してしまう可能性が低減され得る。本発明の実施形態では、非排他的な教師データを学習に用いる技術の例として、「ラベルスムージング(Label Smoothing)」という技術を用いる。 Furthermore, in the following description, a technique is proposed in which a technique that uses non-exclusive training data for learning (for example, the technique described in Non-Patent Document 4) is applied to hierarchical class identification. According to this configuration, the possibility that overfitting will be performed when exclusive class identification is not suitable is reduced, so the possibility that the accuracy of class identification will deteriorate can be reduced. In an embodiment of the present invention, a technique called "label smoothing" is used as an example of a technique that uses non-exclusive training data for learning.
なお、以下の説明では、階層的なクラス識別に、シグモイド活性およびラベルスムージングの双方を適用する例について主に説明する。しかし、階層的なクラス識別に、必ずしもシグモイド活性およびラベルスムージングの双方が適用されなくてもよい。例えば、階層的なクラス識別に、シグモイド活性およびラベルスムージングの一方のみが適用されてもよい。 In the following description, an example in which both sigmoid activation and label smoothing are applied to hierarchical class identification will be mainly described. However, both sigmoid activation and label smoothing do not necessarily have to be applied to hierarchical class identification. For example, only one of sigmoid activation and label smoothing may be applied to hierarchical class identification.
以上、本発明の実施形態の背景について説明した。 The background of the embodiments of the present invention has been described above.
(1.実施形態の詳細)
続いて、本発明の実施形態の詳細について説明する。
(1. Details of embodiment)
Next, details of embodiments of the present invention will be described.
(1-1.構成の説明)
まず、本発明の実施形態に係るクラス識別システムの構成例について説明する。図4は、本発明の実施形態に係るクラス識別システムの機能構成例を示す図である。図4に示されるように、本発明の実施形態に係るクラス識別システム1は、データ部11、階層構造生成部12、学習部13および推論部14を備える。クラス識別システム1は、同一のコンピュータによって実現されてもよいし、複数のコンピュータに分散されて実現されてもよい。なお、階層構造生成部12および学習部13は、学習装置を構成し得る。また、推論部14は、推論装置を構成し得る。
(1-1. Explanation of configuration)
First, a configuration example of a class identification system according to an embodiment of the present invention will be described. FIG. 4 is a diagram showing an example of the functional configuration of the class identification system according to the embodiment of the present invention. As shown in FIG. 4, the
階層構造生成部12、学習部13および推論部14は、CPU(Central Processing Unit)などの演算装置を含み、図示しないメモリにより記憶されているプログラム(学習プログラムおよび推論プログラム)がCPUによりRAM(Random Access Memory)に展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、階層構造生成部12、学習部13および推論部14は、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。
The hierarchical
(データ部11)
データ部11は、メモリによって構成され得る。データ部11は、ニューラルネットワーク(第1のニューラルネットワーク)を記憶する。また、データ部11は、ニューラルネットワークの訓練に使用されるデータ(学習用データセット)を記憶する。また、データ部11は、ニューラルネットワークによって識別可能なクラス群(第1のクラス群)を構成するクラスに関する情報を記憶する。また、データ部11は、テストデータの例としてのテスト画像を記憶する。
(Data part 11)
The
本発明の実施形態では、ニューラルネットワークが畳み込みニューラルネットワークである場合を主に想定する。しかし、ニューラルネットワークの構成は特に限定されない。なお、学習済みのニューラルネットワークは、2段階検出器N1(図1)となり得る。あるいは、学習済みのニューラルネットワークは、1段階検出器N2(図1)となり得る。 In the embodiments of the present invention, it is mainly assumed that the neural network is a convolutional neural network. However, the configuration of the neural network is not particularly limited. Note that the trained neural network can become the two-stage detector N1 (FIG. 1). Alternatively, the trained neural network can be a one-stage detector N2 (FIG. 1).
学習用データセットには、教師データと訓練データの例としての訓練画像とが含まれる。教師データは、訓練画像に写る被写体が属する正解クラスに関する情報を含んでいる。ここで、正解クラスに関する情報は、正解クラスに対応する要素として「1」が設定され、正解クラス以外に対応する要素として「0」が設定されたベクトル(所謂、One-hot表現)によって示される。その他、教師データは、訓練画像において被写体が写る物体候補領域に関する情報(例えば、物体候補領域の位置およびサイズなど)を含んでよい。 The learning data set includes teacher data and training images as examples of training data. The teacher data includes information regarding the correct class to which the subject in the training image belongs. Here, information regarding the correct class is indicated by a vector (so-called one-hot expression) in which "1" is set as an element corresponding to the correct class and "0" is set as an element corresponding to a class other than the correct answer class. . In addition, the teacher data may include information regarding the object candidate region in which the subject appears in the training image (for example, the position and size of the object candidate region, etc.).
ニューラルネットワークによって識別可能なクラス群を構成するクラスに関する情報は、一例としてクラス名であってよい。しかし、クラスに関する情報は、クラス名に限定されず、クラスを識別可能な情報であればよい。 The information regarding the classes constituting the class group that can be identified by the neural network may be, for example, a class name. However, the information regarding the class is not limited to the class name, and may be any information that allows the class to be identified.
データ部11は、学習段階において、クラスに関する情報とニューラルネットワークとを階層構造生成部12に出力する。また、データ部11は、学習段階において、学習用データセットを学習部13に出力する。一方、データ部11は、推論段階において、テスト画像を推論部14に出力する。
The
(階層構造生成部12)
階層構造生成部12は、ニューラルネットワークによって識別可能なクラス群(以下、「既存クラス」とも言う。)を構成するクラス(以下、「既存クラス」とも言う。)に関する情報がデータ部11から入力されると、既存クラスに関する情報に基づいて、既存クラス同士の上下関係を示す階層構造を生成する。ここで、上下関係は、概念的な上下関係であってよい。また、階層構造が生成されるタイミングは、学習段階であることが主に想定される。しかし、階層構造は、学習段階に先立ってあらかじめ生成されていてもよい。
(Hierarchical structure generation unit 12)
The hierarchical
階層構造生成部12は、既存クラスに関する情報に基づいて、既存クラス群に新たなクラス(以下、「追加クラス」とも言う。)を追加してもよい。追加クラスの数は限定されず、1または複数であってよい。このとき、階層構造生成部12は、新たなクラスの追加後のクラス群(第2のクラス群)を構成するクラス同士の上下関係を示す階層構造を生成する。そして、階層構造生成部12は、当該新たなクラスの追加に基づいて、データ部11から入力されたニューラルネットワークを(第2のニューラルネットワークに)変換する。
The hierarchical
図5~図7を参照しながら、階層構造の生成の例とニューラルネットワークの変換の例について説明する。図5は、データ部11から階層構造生成部12に入力されるニューラルネットワークの例を示す図である。図6は、階層構造生成部12による変換後のニューラルネットワークの例を示す図である。図7は、階層構造生成部12によって生成される階層構造の例を示す図である。
An example of generation of a hierarchical structure and an example of conversion of a neural network will be described with reference to FIGS. 5 to 7. FIG. 5 is a diagram showing an example of a neural network input from the
図5を参照すると、データ部11から階層構造生成部12に入力されるニューラルネットワークの例が示されている。ただし、図5に示された例は、ニューラルネットワークの一部に相当するクラス識別タスクN21および出力層L0が示されている。クラス識別タスクN21への入力の例として、物体候補領域h2が示されている。出力層L0の各ノードは、ニューラルネットワークによって識別可能な複数のクラスそれぞれに対応している。出力層L0の各ノードは、既存クラスに対応するノード(図5では、塗りつぶしのないノード)である。
Referring to FIG. 5, an example of a neural network input from the
出力層L0は、クラス識別タスクN21との間で全結合を形成している。図5においては、出力層L0とクラス識別タスクN21との間に形成されている結合の一部が実線の線分によって示されている。すなわち、図5に示された例では、出力層L0とクラス識別タスクN21との間に形成されている結合の全部が示されている訳ではなく、出力層L0とクラス識別タスクN21との間に形成されている結合の一部が省略されている。 The output layer L0 forms a full connection with the class identification task N21. In FIG. 5, a part of the connection formed between the output layer L0 and the class identification task N21 is shown by a solid line segment. That is, in the example shown in FIG. 5, not all the connections formed between the output layer L0 and the class identification task N21 are shown, but the connections between the output layer L0 and the class identification task N21 are not shown. Some of the bonds formed in are omitted.
図5を参照すると、既存クラスの例として、「Background」クラス、「Car」クラス、「Truck」クラス、「Bus」クラス、「Pedestrian」クラス、「Rider」クラスおよび「Person」クラスなどが存在している。これらの既存クラスが、ニューラルネットワークによって識別可能な既存クラス群に該当する。階層構造生成部12は、既存クラス群に関する情報に基づいて、既存クラス群を構成するクラス同士の上下関係を特定する。
Referring to FIG. 5, examples of existing classes include the "Background" class, "Car" class, "Truck" class, "Bus" class, "Pedestrian" class, "Rider" class, and "Person" class. ing. These existing classes correspond to a group of existing classes that can be identified by a neural network. The hierarchical
一例として、下位クラスの名称とその上位クラスの名称との組み合わせがあらかじめ登録された辞書データがデータ部11に存在する場合が想定される。かかる場合、階層構造生成部12は、既存クラス群を構成する二つのクラスの名称の組み合わせと一致または類似する組み合わせが、辞書データに登録されている場合、当該二つのクラス同士が上下関係にあると特定してもよい。例えば、図7を参照すると、二つの既存クラスである「Person」クラスおよび「Pedestrian」クラスが、上下関係にあると特定されている。なお、図7には、既存クラスが塗りつぶしのないクラスとして示されている。
As an example, it is assumed that the
また、階層構造生成部12は、既存クラスに関する情報に基づいて、既存クラス群に新たなクラス(追加クラス)が追加された階層構造を生成し得る。例えば、既存クラス群を構成するクラスの名称と一致または類似する一方の名称が、辞書データに登録されている場合が想定される。かかる場合、階層構造生成部12は、当該一方の名称と組み合わせを形成している他の名称を新たなクラスの名称とし、当該一方の名称と当該他の名称との上下関係に基づいて、当該新たなクラスが追加された階層構造を生成してもよい。例えば、図7を参照すると、既存クラスである「Car」クラスの上位クラスとして「Vehicle」クラスが追加されている。なお、図7には、追加クラスが塗りつぶしのあるクラスとして示されている。
Further, the hierarchical
階層構造生成部12は、二つの追加クラスの名称の組み合わせと一致または類似する組み合わせが、辞書データに登録されている場合、当該二つの追加クラス同士が上下関係にあると特定してもよい。例えば、図7を参照すると、二つの追加クラスである「Foreground」クラスおよび「Vehicle」クラスが、上下関係にあると特定されている。なお、このようにして生成される階層構造60(図7)は、層L1~L5によって形成されている。層L1~L5それぞれは、同一のクラスを上位クラスとするクラスの集合である。
If a combination of names that match or are similar to the combination of names of two additional classes is registered in the dictionary data, the hierarchical
階層構造生成部12は、新たなクラスを追加した場合、当該新たなクラスの追加に基づいて、データ部11から入力されたニューラルネットワークを変換する。図6には、追加クラスとして、「Foreground」クラス、「Vehicle」クラス、「Motorist」クラスおよび「Cyclist」クラスなどが存在している。これらの追加クラスと既存クラスが、変換後のニューラルネットワークによって識別可能なクラス群に該当する。
When a new class is added, the hierarchical
階層構造生成部12は、これらの追加クラスに対応するノードを新たなクラスに対応するノードとして、出力層に追加する。図6では、出力層の追加クラスに対応するノードは、塗りつぶしのあるノードとして示されている。なお、既存クラスとクラス識別タスクN21との間と同様に、追加クラスとクラス識別タスクN21との間にも結合(図6では、破線の線分)が形成される。
The hierarchical
階層構造生成部12は、変換後のニューラルネットワーク(第2のニューラルネットワーク)を学習部13に出力する。なお、階層構造生成部12は、データ部11から入力されたニューラルネットワーク(第1のニューラルネットワーク)を変換しなかった場合には(すなわち、新たなクラスの追加を行わなかった場合には)、データ部11から入力されたニューラルネットワークをそのまま学習部13に出力すればよい。また、階層構造生成部12は、生成した階層構造60を学習部13に出力する。
The hierarchical
(学習部13)
学習部13は、学習処理(すなわち、学習用データセットに基づくニューラルネットワークの重みパラメータの更新)を行うに先立って、非排他的に識別する学習を行う技術(シグモイド活性)のための置換を、階層構造生成部12から入力されたニューラルネットワークに対して施す。また、学習部13は、学習処理を行うに先立って、非排他的な教師データを学習に用いる技術(ラベルスムージング)のための変換をデータ部11から入力された教師データに対して施す。
(Learning part 13)
Prior to performing the learning process (that is, updating the weight parameters of the neural network based on the learning data set), the
図8は、ニューラルネットワークの置換および教師データの変換の概要について説明するための図である。ここでは、階層構造60(図7)のうち、層L3に主に着目する。また、階層構造生成部12から入力されたニューラルネットワークの出力層のノードのうち、層L3を構成する各クラス(「Car」クラス、「Truck」クラスおよび「Bus」クラス)に対応するノードに主に着目する。
FIG. 8 is a diagram for explaining an overview of neural network replacement and training data conversion. Here, we will mainly focus on the layer L3 of the hierarchical structure 60 (FIG. 7). Also, among the nodes of the output layer of the neural network input from the hierarchical
(ニューラルネットワークの置換)
図8を参照すると、学習用データセットに含まれる訓練データの例として、訓練画像40が示されている。訓練画像40に写る物体が属するクラスは、「Truck」クラスである。階層構造生成部12から入力されたニューラルネットワークに対して訓練画像40の入力が行われたとすると、訓練画像40に対応してニューラルネットワークの出力層のノードにおいて計算された結果は、ロジット(Logits)C10に示されるようになる。ただし、ロジットC10は、出力層のノードへの入力と重みおよびバイアスとに基づく計算結果であり、活性化関数が適用される前の計算結果である。
(Neural network replacement)
Referring to FIG. 8, a
ここで、ニューラルネットワークの出力層における活性化関数としては、ソフトマックス関数C11が導入されている。しかし、ロジットC10に対してソフトマックス関数C11が適用された場合には、ニューラルネットワークからの出力は、一例として出力データC12に示される通りになる。すなわち、ロジットが最も大きい「Car」クラスに対応するノードからの出力値と、ロジットが2番目以降に大きいクラスである「Truck」および「Bus」クラスそれぞれに対応するノードからの出力値との間の差分が大きくなってしまう。このように出力値の差分が大きくなってしまうことは、排他的に識別する学習が行われてしまうことに繋がり得る。 Here, a softmax function C11 is introduced as an activation function in the output layer of the neural network. However, when the softmax function C11 is applied to the logit C10, the output from the neural network is as shown in output data C12, as an example. That is, between the output value from the node corresponding to the "Car" class with the largest logit and the output value from the nodes corresponding to the "Truck" and "Bus" classes, respectively, which are the classes with the second largest logit. The difference becomes large. Increasing the difference in output values in this manner may lead to exclusive identification learning being performed.
そこで、学習部13は、ニューラルネットワークに含まれるソフトマックス関数C11をシグモイド関数E11に置換する。より詳細に、ニューラルネットワークの出力層の既存クラスに対応するノードには、活性化関数としてソフトマックス関数C11が導入されている。そこで、学習部13は、ニューラルネットワークの出力層の既存クラスに対応するノードに導入されているソフトマックス関数C11をシグモイド関数E11に変換する。
Therefore, the
一方、ニューラルネットワークの出力層の追加クラスに対応するノードには、活性化関数がまだ導入されていない。そこで、学習部13は、ニューラルネットワークの出力層の追加クラスに対応するノードの活性化関数としてシグモイド関数E11を導入する。
On the other hand, activation functions have not yet been introduced to nodes corresponding to additional classes in the output layer of the neural network. Therefore, the
以下では、既存クラスに対応するノードに導入されているソフトマックス関数C11がシグモイド関数E11に変換され、追加クラスに対応するノードの活性化関数としてシグモイド関数E11が導入された後のニューラルネットワークを「置換後のニューラルネットワーク」とも言う。ただし、階層構造生成部12によって新たなクラスの追加が行われなかった場合には、既存クラスに対応するノードに導入されているソフトマックス関数C11がシグモイド関数E11に変換された後のニューラルネットワークを「置換後のニューラルネットワーク」とも言う。
In the following, the neural network after the softmax function C11 introduced to the node corresponding to the existing class is converted to the sigmoid function E11 and the sigmoid function E11 is introduced as the activation function of the node corresponding to the additional class is described as " It is also called ``neural network after replacement''. However, if a new class is not added by the hierarchical
ロジットC10に対してシグモイド関数E11が適用された場合には、ニューラルネットワークからの出力は、一例として出力データE12に示される通りになる。すなわち、ロジットが最も大きい「Car」クラスに対応するノードからの出力値と、ロジットが2番目以降に大きいクラスである「Truck」および「Bus」クラスそれぞれに対応するノードからの出力値との間の差分が小さくなる。このように出力値の差分が小さくなることは、非排他的に識別する学習が行われることに繋がり得る。 When the sigmoid function E11 is applied to the logit C10, the output from the neural network is as shown in output data E12, as an example. That is, between the output value from the node corresponding to the "Car" class with the largest logit and the output value from the nodes corresponding to the "Truck" and "Bus" classes, respectively, which are the classes with the second largest logit. The difference becomes smaller. A decrease in the difference in output values in this manner may lead to learning to identify non-exclusively.
図9は、ニューラルネットワークの修正量をニューラルネットワークの置換前後において比較して示す図である。図9を参照すると、正解クラスを「Truck」とする教師データに対応する訓練データAの例として、訓練画像40Aが示されている。また、正解クラスを「Car」とする教師データに対応する訓練データBの例として、訓練画像40Bが示されている。
FIG. 9 is a diagram showing a comparison of the amount of correction of the neural network before and after replacement of the neural network. Referring to FIG. 9, a
修正量C13は、訓練データAを用いた学習による置換前のニューラルネットワークの修正量である。一方、修正量E13は、訓練データAを用いた学習による置換後のニューラルネットワークの修正量である。また、修正量C14は、訓練データBを用いた学習による置換前のニューラルネットワークの修正量である。一方、修正量E14は、訓練データBを用いた学習による置換後のニューラルネットワークの修正量である。 The modification amount C13 is the modification amount of the neural network before replacement by learning using the training data A. On the other hand, the modification amount E13 is the modification amount of the neural network after replacement by learning using the training data A. Further, the modification amount C14 is the modification amount of the neural network before replacement by learning using the training data B. On the other hand, the modification amount E14 is the modification amount of the neural network after replacement by learning using the training data B.
なお、図9に示された「+ve」は、「Positive」の略であり、そのクラスへの識別が行われやすくなる方向へのニューラルネットワークの修正を示す。一方、図9に示された「-ve」は、「Negative」の略であり、そのクラスへの識別が行われにくくなる方向へのニューラルネットワークの修正を示す。 Note that "+ve" shown in FIG. 9 is an abbreviation for "Positive" and indicates a modification of the neural network in a direction that makes it easier to identify the class. On the other hand, "-ve" shown in FIG. 9 is an abbreviation for "Negative" and indicates a modification of the neural network in a direction that makes it difficult to identify the class.
修正量C13、C14を参照すると、置換前のニューラルネットワークでは、正解クラスへの識別が行われやすくなる方向へのニューラルネットワークの修正が行われる他、正解クラス以外のクラスへの識別が行われにくくなる方向へのニューラルネットワークの修正が行われることが把握される。すなわち、置換前のニューラルネットワークでは、排他的なクラス識別の学習が行われることが把握される。 Referring to the correction amounts C13 and C14, in the neural network before replacement, the neural network is corrected in a direction that makes it easier to identify the correct class, and also makes it difficult to identify classes other than the correct class. It is understood that the neural network will be modified in the direction of That is, it is understood that exclusive class identification learning is performed in the neural network before replacement.
一方、修正量E13、E14を参照すると、置換後のニューラルネットワークでは、正解クラスへの識別が行われやすくなる方向へのニューラルネットワークの修正のみが行われることが把握される。すなわち、置換後のニューラルネットワークでは、非排他的なクラス識別の学習が行われることが把握される。 On the other hand, referring to the correction amounts E13 and E14, it can be seen that in the neural network after replacement, only corrections are made to the neural network in a direction that makes it easier to identify the correct class. That is, it is understood that non-exclusive class identification learning is performed in the neural network after replacement.
(教師データの変換)
図8に戻って説明を続ける。図8を参照すると、教師データの例として、教師データC20が示されている。教師データC20は、正解クラスである「Truck」クラスに対応する要素の値として「1」が設定され、正解クラス以外のクラスである「Car」クラスおよび「Bus」クラスそれぞれに対応する要素の値として「0」が設定されたベクトル(One-hot表現)によって示される。
(Conversion of training data)
Returning to FIG. 8, the explanation will be continued. Referring to FIG. 8, teacher data C20 is shown as an example of teacher data. In the teacher data C20, "1" is set as the value of the element corresponding to the "Truck" class which is the correct answer class, and the value of the element corresponding to each of the "Car" class and "Bus" class which are classes other than the correct answer class. It is indicated by a vector (one-hot expression) in which "0" is set as "0".
学習部13は、正解クラスである「Truck」クラスに対応する要素の値「1」と、正解クラス「Truck」が属する層と同一の層L3(図7)に属する正解クラス以外のクラスである「Car」クラスおよび「Bus」クラスそれぞれに対応する要素の値とを近づける変換を行う。これによって、非排他的な教師データが学習に用いられるようになる。
The
例えば、学習部13は、正解クラスに対応する要素の値「1」から所定の値λだけ減算してもよい。このとき、学習部13は、正解クラスが属する層と同一の層に属する正解クラス以外のクラスの個数Nで除して得られる結果「λ/N」を、当該正解クラス以外のクラスに対応する要素の値「0」それぞれに加算してもよい。
For example, the
図8に示された例では、λ=0.4であり、正解クラス以外のクラスの個数N=2である場合が想定されている。そのため、正解クラスである「Truck」クラスに対応する要素の値が「1-λ」=「1-0.4」=「0.6」となり、正解クラス以外のクラスである「Car」クラスおよび「Bus」クラスそれぞれに対応する要素の値が「0+λ/N」=「0+0.4/2」=「0.2」となっている。 In the example shown in FIG. 8, it is assumed that λ=0.4 and the number of classes other than the correct class N=2. Therefore, the value of the element corresponding to the correct class "Truck" class is "1-λ" = "1-0.4" = "0.6", and the value of the element corresponding to the "Car" class, which is a class other than the correct class, and The value of the element corresponding to each "Bus" class is "0+λ/N" = "0+0.4/2" = "0.2".
図10は、変換後の教師データが学習に用いられる場合について説明するための図である。一方、図11は、変換前の教師データが学習に用いられる場合について説明するための図である。 FIG. 10 is a diagram for explaining a case where converted teacher data is used for learning. On the other hand, FIG. 11 is a diagram for explaining a case where pre-conversion teacher data is used for learning.
図10を参照すると、変換前の教師データが学習に用いられる場合における訓練データの特徴量の変化が特徴空間71に示されている。図11を参照すると、変換後の教師データが学習に用いられる場合における訓練データの特徴量の変化が特徴空間72に示されている。
Referring to FIG. 10, a
特徴空間71および特徴空間72において、正解クラスが「Car」クラスである訓練データの特徴量が濃いドットによって示され、正解クラスが「Truck」クラスである訓練データの特徴量が中程度の濃さのドットによって示され、正解クラスが「Bus」クラスである訓練データの特徴量が薄いドットによって示されている。
In the
変換前の教師データが学習に用いられる場合においては、それぞれの正解クラスの訓練データに基づく学習が、特徴空間72(図11)における特徴量同士の距離D21~D23があまり大きく離れないように行われる。そのため、「Car」クラス、「Truck」クラスおよび「Bus」クラスの上位クラスに該当する「Vehicle」へのクラス識別が行われにくく、クラス識別の精度が向上しないことが把握される。 When the pre-conversion teacher data is used for learning, learning based on the training data of each correct answer class is performed so that the distances D21 to D23 between the feature quantities in the feature space 72 (FIG. 11) are not too far apart. be exposed. Therefore, it is understood that class identification to "Vehicle", which is a higher class of the "Car" class, "Truck" class, and "Bus" class, is difficult to be performed, and the accuracy of class identification is not improved.
一方、変換後の教師データが学習に用いられる場合においては、それぞれの正解クラスの訓練データに基づく学習が、特徴空間71(図10)における特徴量同士の距離D11~D13がより大きく離れるように行われる。そのため、「Car」クラス、「Truck」クラスおよび「Bus」クラスの上位クラスに該当する「Vehicle」へのクラス識別が行われやすく、クラス識別の精度が向上することが把握される。 On the other hand, when the converted training data is used for learning, learning based on the training data of each correct answer class is performed so that the distances D11 to D13 between the feature quantities in the feature space 71 (FIG. 10) become larger. It will be done. Therefore, it is understood that class identification to "Vehicle", which is a higher class of the "Car" class, "Truck" class, and "Bus" class, is easily performed, and the accuracy of class identification is improved.
(学習処理)
図8に戻って説明を続ける。学習部13は、変換後の教師データと、置換後のニューラルネットワークから訓練データに対応して出力される出力データと、階層構造生成部12から入力された階層構造60(図7)とに基づいて、層ごとに誤差を算出する。ここでは、学習部13が誤差の例として、交差エントロピー誤差C30を用いる場合を想定する。しかし、学習部13によって用いられる誤差は、交差エントロピー誤差に限定されない。例えば、aを層の番号とした場合、層Laのエントロピー誤差LossLaは、下記の式(1)のように表現され得る。
(Learning process)
Returning to FIG. 8, the explanation will be continued. The
ただし、nは、その層を構成するクラス数を示し、kは、その層を構成するクラスの番号を示す。tkは、変換後の教師データのうちクラスkに対応する要素の値である。P(xk)は、置換後のニューラルネットワークの出力層のノードのうち、その層を構成するn個のクラスに対応するノードの出力値の合計に対するクラスkに対応するノードの出力値の割合(確率)を示す。すなわち、P(xk)は、層単位でのクラスkの信頼度に該当する。 Here, n indicates the number of classes configuring the layer, and k indicates the number of the class configuring the layer. t k is the value of the element corresponding to class k in the converted teacher data. P(x k ) is the ratio of the output value of the node corresponding to class k to the sum of the output values of the nodes corresponding to the n classes composing that layer among the nodes of the output layer of the neural network after replacement. (probability). That is, P(x k ) corresponds to the reliability of class k in layer units.
学習部13は、層ごとの交差エントロピー誤差の合計を損失関数として、置換後のニューラルネットワークの学習処理を行う。一例として、層ごとの交差エントロピー誤差の合計は、層ごとの交差エントロピー誤差の重み付け和であってよい。例えば、層Laの重みをαaとした場合、層ごとの交差エントロピー誤差の重み付け和Lossは、下記の式(2)のように表現され得る。
The
ただし、mは、層の数を示す。例えば、学習部13は、損失関数Lossに基づく誤差逆伝播法(バックプロパゲーション)などを用いて、置換後のニューラルネットワークの学習処理を行う。これによって、学習用データセットに適応するように置換後のニューラルネットワークの重みが調整される。
However, m indicates the number of layers. For example, the
学習部13は、損失関数Lossが収束したと判定した場合には、置換後のニューラルネットワークの学習処理を終了する。例えば、損失関数Lossまたはその変化が閾値よりも小さくなった場合に、損失関数Lossが収束したと判定されてもよい。学習済みのニューラルネットワークは、推論部14に出力される。
If the
なお、学習部13は、変換後の教師データと、置換後のニューラルネットワークとを学習に用いられる場合を主に想定した。しかし、教師データの変換およびニューラルネットワークの置換の一方のみが行われる場合も想定される(すなわち、階層的なクラス識別に、シグモイド活性およびラベルスムージングの一方のみが適用される場合も想定される)。
Note that the
例えば、学習部13は、教師データの変換のみを行う場合、データ部11から入力される教師データそのものを学習に用いてもよい。また、学習部13は、ニューラルネットワークの置換のみを行う場合、階層構造生成部12から入力されるニューラルネットワークそのものを学習に用いてもよい。
For example, when the
(推論部14)
推論部14は、学習部13から入力される学習済みのニューラルネットワークを取得し、学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、階層構造生成部12によって生成された階層構造60(図7)とに基づいて、テストデータが属するクラスの識別処理を行う。
(Inference part 14)
The
より詳細に、推論部14は、テストデータに対応する出力データと階層構造60とに基づいて、学習済みのニューラルネットワークによって識別可能なクラス群を構成するクラス全体に対応するノードの出力値の合計に対する各クラスに対応するノードの出力値の割合(確率)を算出する。かかる確率は、クラス全体に対するクラスの信頼度に該当する。
More specifically, the
クラス全体に対するクラスの信頼度は、どのようにして算出されてもよい。一例として、推論部14は、層単位でのクラスの信頼度に基づいて、クラス全体に対するクラスの信頼度を算出してもよい。例えば、推論部14は、クラス全体に対するクラスkの信頼度を、階層構造60において最上位のクラスを起点としてクラスkに到達するまでに通過する各クラスの層単位での信頼度の積によって算出してもよい。
The reliability of a class for the entire class may be calculated in any manner. As an example, the
一例として、推論部14は、クラス全体に対する「Car」クラスの信頼度を、層単位での「Foreground」クラスの信頼度と、層単位での「Vehicle」クラスの信頼度と、層単位での「Car」クラスの信頼度との積によって算出し得る。
As an example, the
そして、推論部14は、クラス全体における各クラスの信頼度に基づいてクラスの識別処理を行う。各クラスの信頼度に基づくクラスの識別は、どのように行われてもよい。一例として、推論部14は、層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、クラスの識別を行ってもよい。推論部14は、クラスの識別結果を出力する。
Then, the
例えば、推論部14は、層に対応する第1の閾値よりも信頼度が高いクラスが存在する場合には、そのクラスを識別結果としてもよい。一例として、推論部14は、層L3に属する「Car」クラスの信頼度が第1の閾値よりも高い場合に、「Car」クラスを識別結果としてもよい。
For example, if there is a class whose reliability is higher than the first threshold value corresponding to the layer, the
一方、推論部14は、層に対応する第1の閾値よりも信頼度が高いクラスがその層に1つも存在しない場合、かつ、その層に属するクラスの上位クラスの信頼度が第2の閾値よりも高い場合には、当該上位クラスを識別結果としてもよい。一例として、推論部14は、層L3に属する「Car」クラス、「Truck」クラスおよび「Bus」クラスのいずれも第1の閾値以下である場合、かつ、これらのクラスの上位クラスである「Vehicle」クラスの信頼度が第2の閾値よりも高い場合に、上位クラスである「Vehicle」クラスを識別結果としてもよい。 On the other hand, if there is no class in the layer whose reliability is higher than the first threshold corresponding to the layer, and the reliability of the upper class of the class belonging to the layer is higher than the second threshold, If it is higher than , the upper class may be used as the identification result. As an example, if the "Car" class, "Truck" class, and "Bus" class belonging to layer L3 are all below the first threshold, and "Vehicle" which is a higher class of these classes, If the reliability of the ``Vehicle'' class is higher than the second threshold, the ``Vehicle'' class, which is a higher class, may be used as the identification result.
(1-3.効果の説明)
上記では、非排他的に識別する学習を行う技術を階層的なクラス識別に適用する技術について説明した。特に上記では、非排他的に識別する学習を行う技術の例として、「シグモイド活性」という技術を用いる場合について主に説明した。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度を向上させることが可能である。
(1-3. Explanation of effects)
The above describes a technique in which a technique for learning non-exclusive discrimination is applied to hierarchical class discrimination. In particular, in the above description, the case where a technique called "sigmoid activation" is used is mainly explained as an example of a technique for performing non-exclusive discrimination learning. According to this configuration, the possibility of overfitting being performed when exclusive class identification is not suitable is reduced, so it is possible to improve the accuracy of class identification.
さらに、非排他的な教師データを学習に用いる技術を階層的なクラス識別に適用する技術についても説明した。特に上記では、非排他的な教師データを学習に用いる技術の例として、「ラベルスムージング」という技術を用いる場合について主に説明した。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度を向上させることが可能である。 Furthermore, we have also explained a technique that applies the technique of using non-exclusive training data for learning to hierarchical class identification. In particular, above, the case where a technique called "label smoothing" is used is mainly described as an example of a technique that uses non-exclusive training data for learning. According to this configuration, the possibility of overfitting being performed when exclusive class identification is not suitable is reduced, so it is possible to improve the accuracy of class identification.
より詳細に、排他的なクラス識別が適さない場合の例としては、上記したように、アノテーションに誤りが存在する場合、および、画像に写る物体が属するクラスが曖昧である場合などが挙げられる。このように排他的なクラス識別が適さない場合に、本発明の実施形態によれば、具体的なクラス(例えば、「Car」クラス、「Truck」クラスおよび「Bus」クラスなど)ではなく、抽象的なクラス(例えば、「Vehicle」クラスなど)が識別結果とされやすくなる。 More specifically, examples of cases where exclusive class identification is not suitable include cases where an error exists in the annotation and cases where the class to which an object in an image belongs is ambiguous, as described above. In cases where such exclusive class identification is not suitable, embodiments of the present invention provide for abstract class identification rather than concrete classes (e.g., "Car" class, "Truck" class, and "Bus" class, etc.). classes (for example, “Vehicle” class, etc.) are more likely to be identified as identification results.
すなわち、本発明の実施形態に係るクラス識別システム1は、アノテーションに誤りが存在する場合、および、画像に写る物体が属するクラスが曖昧である場合などに対して、頑健なクラス識別が可能なシステムであると言える。
That is, the
(2.各種の変形例)
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
(2. Various modifications)
Although preferred embodiments of the present invention have been described above in detail with reference to the accompanying drawings, the present invention is not limited to such examples. It is clear that a person with ordinary knowledge in the technical field to which the present invention pertains can come up with various changes or modifications within the scope of the technical idea stated in the claims. It is understood that these also naturally fall within the technical scope of the present invention.
上記した例では、クラス識別システム1が、画像に写る物体が属するクラスとして、車両のクラス(例えば、「Car」クラス、「Truck」クラス、「Bus」クラスおよび「Vehicle」クラスなど)を識別する例について主に説明した。しかし、クラス識別システム1は、画像に写る物体が属するクラスとして、車両以外のクラスを識別することも可能である。例えば、クラス識別システム1は、画像に写る物体が属するクラスとして、人物のクラス(例えば、「Pedestrian」クラス、「Rider」クラスおよび「Motorist」クラス)などといった他の物体クラスを識別することも可能である。
In the above example, the
上記したように、学習済みのニューラルネットワークは、2段階検出器N1(図1)となり得る。あるいは、学習済みのニューラルネットワークは、1段階検出器N2(図1)となり得る。すなわち、本発明の実施形態においては、ニューラルネットワークのアーキテクチャとして、2段階検出器N1(図1)または1段階検出器N2(図1)などといった一般的な検出器が利用され得る。 As mentioned above, the trained neural network can become a two-stage detector N1 (FIG. 1). Alternatively, the trained neural network can be a one-stage detector N2 (FIG. 1). That is, in embodiments of the present invention, a general detector such as a two-stage detector N1 (FIG. 1) or a one-stage detector N2 (FIG. 1) may be used as the neural network architecture.
(3.ハードウェア構成例)
続いて、本発明の実施形態に係るクラス識別システム1のハードウェア構成例について説明する。以下では、本発明の実施形態に係るクラス識別システム1のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、クラス識別システム1のハードウェア構成の一例に過ぎない。したがって、クラス識別システム1のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
(3. Hardware configuration example)
Next, an example of the hardware configuration of the
図12は、本発明の実施形態に係るクラス識別システム1の例としての情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
FIG. 12 is a diagram showing a hardware configuration of an
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
The
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
The
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
The
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
The
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
The
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
The
以上、本発明の実施形態に係るクラス識別システム1のハードウェア構成例について説明した。
The example hardware configuration of the
1 クラス識別システム
11 データ部
12 階層構造生成部
13 学習部
14 推論部
60 階層構造
1
Claims (5)
前記推論部は、前記クラス全体の中に、クラスが属する層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、前記識別処理を行う、
推論装置。 The previous class generated when it is determined that the classes constituting the first class group have a hierarchical relationship based on information regarding the classes constituting the first class group that can be identified by the first neural network. A transformation is performed to bring the values of elements corresponding to the correct class closer to the values of elements corresponding to classes other than the correct class that belong to the same layer as the layer to which the correct class belongs. a trained neural network obtained by a learning process based on the training data corresponding to the training data corresponding to the training data from the first neural network and the training data corresponding to the training data corresponding to the training data, and Calculating the reliability of each class in the entire class based on the output data output from the trained neural network for the entire class constituting the first class group in response to the test data and the hierarchical structure. and an inference unit that performs a process of identifying a class to which the test data belongs based on the reliability of each class among the entire classes ,
The inference unit performs the identification process depending on whether there is a class among the entire classes that has a higher reliability than a first threshold value corresponding to a layer to which the class belongs.
Reasoning device.
請求項1に記載の推論装置。 The inference unit outputs the class as an identification result of the class to which the test data belongs, if there is a class whose reliability is higher than the first threshold.
The inference device according to claim 1.
請求項1に記載の推論装置。 The inference device according to claim 1.
前記クラス全体の中に、クラスが属する層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、前記識別処理を行うことを含む、
推論方法。 The previous class generated when it is determined that the classes constituting the first class group have a hierarchical relationship based on information regarding the classes constituting the first class group that can be identified by the first neural network. A transformation is performed to bring the values of elements corresponding to the correct class closer to the values of elements corresponding to classes other than the correct class that belong to the same layer as the layer to which the correct class belongs. a trained neural network obtained by a learning process based on the training data corresponding to the training data corresponding to the training data from the first neural network and the training data corresponding to the training data corresponding to the training data, and Calculating the reliability of each class in the entire class based on the output data output from the trained neural network for the entire class constituting the first class group in response to the test data and the hierarchical structure. and performing a process of identifying a class to which the test data belongs based on the reliability of each class among the entire classes ,
performing the identification process depending on whether there is a class among the entire classes that has a reliability higher than a first threshold value corresponding to a layer to which the class belongs;
Reasoning method.
第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて前記第1のクラス群を構成するクラス同士が上下関係を有すると判定された場合に生成された、前記上下関係を示す階層構造と、正解クラスに対応する要素の値と前記正解クラスが属する層と同一の層に属する前記正解クラス以外のクラスに対応する要素の値とを近づける変換が行われた後の教師データと、前記第1のニューラルネットワークから前記教師データに対応する訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して前記第1のクラス群を構成するクラス全体について出力される出力データと、前記階層構造とに基づいて、前記クラス全体における各クラスの信頼度を算出し、前記クラス全体における各クラスの信頼度に基づいて、前記テストデータが属するクラスの識別処理を行う推論部を備え、
前記推論部は、前記クラス全体の中に、クラスが属する層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、前記識別処理を行う、
推論装置として機能させる推論プログラム。
computer,
The previous class generated when it is determined that the classes constituting the first class group have a hierarchical relationship based on information regarding the classes constituting the first class group that can be identified by the first neural network. A transformation is performed to bring the values of elements corresponding to the correct class closer to the values of elements corresponding to classes other than the correct class that belong to the same layer as the layer to which the correct class belongs. a trained neural network obtained by a learning process based on the training data corresponding to the training data corresponding to the training data from the first neural network and the training data corresponding to the training data corresponding to the training data, and Calculating the reliability of each class in the entire class based on the output data output from the trained neural network for the entire class constituting the first class group in response to the test data and the hierarchical structure. and an inference unit that performs a process of identifying a class to which the test data belongs based on the reliability of each class among the entire classes ,
The inference unit performs the identification process depending on whether there is a class among the entire classes that has a higher reliability than a first threshold value corresponding to a layer to which the class belongs.
An inference program that functions as an inference device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022094069A JP7384238B2 (en) | 2020-11-16 | 2022-06-10 | Inference device, inference method, and inference program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020190451A JP7095726B2 (en) | 2020-11-16 | 2020-11-16 | Learning equipment, learning methods and learning programs |
| JP2022094069A JP7384238B2 (en) | 2020-11-16 | 2022-06-10 | Inference device, inference method, and inference program |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020190451A Division JP7095726B2 (en) | 2020-11-16 | 2020-11-16 | Learning equipment, learning methods and learning programs |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022111347A JP2022111347A (en) | 2022-07-29 |
| JP7384238B2 true JP7384238B2 (en) | 2023-11-21 |
Family
ID=81707577
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020190451A Active JP7095726B2 (en) | 2020-11-16 | 2020-11-16 | Learning equipment, learning methods and learning programs |
| JP2022094069A Active JP7384238B2 (en) | 2020-11-16 | 2022-06-10 | Inference device, inference method, and inference program |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020190451A Active JP7095726B2 (en) | 2020-11-16 | 2020-11-16 | Learning equipment, learning methods and learning programs |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP7095726B2 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020142247A1 (en) | 2019-01-02 | 2020-07-09 | Zoox, Inc. | Hierarchical machine-learning network architecture |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019176806A1 (en) * | 2018-03-16 | 2019-09-19 | 富士フイルム株式会社 | Machine learning device and method |
-
2020
- 2020-11-16 JP JP2020190451A patent/JP7095726B2/en active Active
-
2022
- 2022-06-10 JP JP2022094069A patent/JP7384238B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020142247A1 (en) | 2019-01-02 | 2020-07-09 | Zoox, Inc. | Hierarchical machine-learning network architecture |
Also Published As
| Publication number | Publication date |
|---|---|
| JP7095726B2 (en) | 2022-07-05 |
| JP2022079325A (en) | 2022-05-26 |
| JP2022111347A (en) | 2022-07-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11170257B2 (en) | Image captioning with weakly-supervised attention penalty | |
| CN113255714B (en) | Image clustering methods, apparatus, electronic devices and computer-readable storage media | |
| US12462525B2 (en) | Co-learning object and relationship detection with density aware loss | |
| CN112036447B (en) | Zero-shot object detection system and fusion method of learnable semantics and fixed semantics | |
| JP7457647B2 (en) | Method and system for image content recognition | |
| US10332028B2 (en) | Method for improving performance of a trained machine learning model | |
| CN110537184A (en) | Semi-Supervised Regression Using Generative Adversarial Networks | |
| JP2008538041A5 (en) | ||
| KR20220047228A (en) | Method and apparatus for generating image classification model, electronic device, storage medium, computer program, roadside device and cloud control platform | |
| US20250068917A1 (en) | Systems and methods for automated parsing of schematics | |
| CN111832584A (en) | Image processing device, training device and training method therefor | |
| CN116452818A (en) | Small sample remote sensing image target detection method based on feature enhancement | |
| CN112651467B (en) | Convolutional neural network training method and system and prediction method and system | |
| US12412373B2 (en) | Saliency-based input resampling for efficient object detection | |
| JP2024077442A (en) | Target detection program, device, and machine learning model generation method | |
| CN116957051B (en) | A Weakly Supervised Target Detection Method for Remote Sensing Images with Optimized Feature Extraction | |
| US20210256308A1 (en) | Parameter update apparatus, classification apparatus, recording medium, and parameter update method | |
| JP5445062B2 (en) | Information processing apparatus and information processing program | |
| KR102464851B1 (en) | Learning method and image cassification method using multi-scale feature map | |
| Wanyonyi et al. | Enhanced machine learning and hybrid ensemble approaches for Coronary Heart Disease prediction | |
| CN111797762B (en) | Scene recognition method and system | |
| JP7384238B2 (en) | Inference device, inference method, and inference program | |
| JP7322468B2 (en) | Information processing device, information processing method and program | |
| EP4105893B1 (en) | Dynamic artifical intelligence camera model update | |
| US20250292555A1 (en) | Information processing apparatus and control method therefor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220610 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230425 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230516 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230712 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231010 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231023 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7384238 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |