Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7384238B2 - Inference device, inference method, and inference program - Google Patents
[go: Go Back, main page]

JP7384238B2 - Inference device, inference method, and inference program - Google Patents

Inference device, inference method, and inference program Download PDF

Info

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
Application number
JP2022094069A
Other languages
Japanese (ja)
Other versions
JP2022111347A (en
Inventor
チョンフィ ファン
一真 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2022094069A priority Critical patent/JP7384238B2/en
Publication of JP2022111347A publication Critical patent/JP2022111347A/en
Application granted granted Critical
Publication of JP7384238B2 publication Critical patent/JP7384238B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 Documents 1 to 4). In such object detection technology, a class (object class) to which an object appearing in an image belongs is identified.

Xiongwei Wu, Doyen Sahoo, and Steven C.H. Hoi、"Recent Advances in Deep Learning for Object Detection"、[online]、5 July 2020、Neurocomputing、[令和2年11月2日検索]、インターネット<https://www.sciencedirect.com/science/article/abs/pii/S0925231220301430>Xiongwei Wu, Doyen Sahoo, and Steven C.H. Hoi, "Recent Advances in Deep Learning for Object Detection", [online], 5 July 2020, Neurocomputing, [Retrieved November 2, 2020], Internet <https:// www.sciencedirect.com/science/article/abs/pii/S0925231220301430> Joseph Redmon, Ali Farhadi、"YOLO9000:Better, Faster, Stronger "、[online]、2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)、[令和2年11月2日検索]、インターネット<https://ieeexplore.ieee.org/document/8100173>Joseph Redmon, Ali Farhadi, "YOLO9000:Better, Faster, Stronger", [online], 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), [Retrieved November 2, 2020], Internet <https:/ /ieeexplore.ieee.org/document/8100173> Aditya Krishna Menon、他3名、"Multilabel reductions: what is my loss optimising?"、[online]、2019 Neural Information Processing Systems (NIPS)、[令和2年11月2日検索]、インターネット<https://papers.nips.cc/paper/9245-multilabel-reductions-what-is-my-loss-optimising>Aditya Krishna Menon, 3 others, "Multilabel reductions: what is my loss optimizing?", [online], 2019 Neural Information Processing Systems (NIPS), [Retrieved November 2, 2020], Internet <https:/ /papers.nips.cc/paper/9245-multilabel-reductions-what-is-my-loss-optimizing> 、Rafael Muller, Simon Kornblith and Geoffrey Hinton、"When Does Label Smoothing Help?"、[online]、2019 Neural Information Processing Systems (NIPS)、[令和2年11月2日検索]、インターネット<https://papers.nips.cc/paper/8717-when-does-label-smoothing-help>, Rafael Muller, Simon Kornblith and Geoffrey Hinton, "When Does Label Smoothing Help?", [online], 2019 Neural Information Processing Systems (NIPS), [Retrieved November 2, 2020], Internet <https:// papers.nips.cc/paper/8717-when-does-label-smoothing-help>

しかし、画像に写る物体が属するクラスの識別の精度を向上させることを可能とする技術が提供されることが望まれる。 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.

物体検出技術の概要について説明するための図である。FIG. 2 is a diagram for explaining an overview of object detection technology. 排他的なクラス識別が適さない場合の例について説明するための図である。FIG. 6 is a diagram for explaining an example where exclusive class identification is not suitable. 排他的なクラス識別が適さない場合の例について説明するための図である。FIG. 6 is a diagram for explaining an example where exclusive class identification is not suitable. 本発明の実施形態に係るクラス識別システムの機能構成例を示す図である。1 is a diagram showing an example of a functional configuration of a class identification system according to an embodiment of the present invention. データ部から階層構造生成部に入力されるニューラルネットワークの例を示す図である。FIG. 3 is a diagram illustrating an example of a neural network input from a data section to a hierarchical structure generation section. 階層構造生成部による変換後のニューラルネットワークの例を示す図である。FIG. 3 is a diagram illustrating an example of a neural network after conversion by a hierarchical structure generation unit. 階層構造生成部によって生成される階層構造の例を示す図である。FIG. 3 is a diagram illustrating an example of a hierarchical structure generated by a hierarchical structure generation unit. ニューラルネットワークの置換および教師データの変換の概要について説明するための図である。FIG. 3 is a diagram for explaining an overview of neural network replacement and training data conversion. ニューラルネットワークの修正量をニューラルネットワークの置換前後において比較して示す図である。FIG. 7 is a diagram illustrating a comparison of the amount of correction of the neural network before and after replacement of the neural network. 変換後の教師データが学習に用いられる場合について説明するための図である。FIG. 6 is a diagram for explaining a case where converted teacher data is used for learning. 変換前の教師データが学習に用いられる場合について説明するための図である。FIG. 6 is a diagram for explaining a case where pre-conversion teacher data is used for learning. 本発明の実施形態に係るクラス識別システムの例としての情報処理装置のハードウェア構成を示す図である。1 is a diagram showing a hardware configuration of an information processing device as an example of a class identification system according to an embodiment of the present invention.

以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 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 image 50 of an object is shown. More specifically, a bus as an example of the object is shown in the object area 51A in the image 50. Furthermore, a person as an example of an object is shown in an object area 52A in the image 50. FIG. 1 shows a two-stage detector N1 and a one-stage detector N2 as examples of object detectors that detect objects from such an image 50.

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 image 50, and a second stage (feature extraction task N11) of estimating object candidate regions h1 to h3 based on the feature map F1. The position and feature amount of the object candidate regions h1 to h3 are detected by the region estimation task N12). On the other hand, the one-stage detector N2 detects the positions of predetermined object candidate regions (for example, the positions of object candidate regions comprehensively determined in advance over the entire image ("i1, j1", "i1, j2", " i2, j1", "i2, j2", . . . ) and the image 50, the feature amount for each object candidate region is detected in one step (feature extraction & region estimation task N13).

また、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 object candidate area 51B (corresponding to the object area 51A in which the bus is shown) is identified as a truck, incorrect class identification may occur in the object candidate area 51B. It is being done. On the other hand, in the example shown in FIG. 1, since the object appearing in the object candidate area 52B (corresponding to the object area 52A in which a person is shown) is identified as a person, correct class identification is performed in the object candidate area 52B. is being carried out.

クラス識別タスク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, images 21A, 22A, 23A, and 24A are shown that are associated with teacher data in which the correct class is "Car". Also shown are images 21B, 22B, 23B, and 24B associated with teacher data in which the correct answer class is "Truck." Also shown are images 21C, 22C, 23C, and 24C associated with teacher data in which the correct answer class is "Bus."

ここで、正解クラスを「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 images 21A and 22A, which are respectively associated with teacher data in which the correct answer class is "Car". On the other hand, "Truck" is shown in the object candidate area of the image 23A, which is associated with the teacher data in which the correct answer class is "Car". That is, there is an error in the labeling (annotation) for the image 23A. Further, a "Van (a vehicle with a roof for transporting cargo)" is shown in the object candidate region of the image 24A, which is associated with the teacher data in which the correct answer class is "Car." It is ambiguous which class "Van" belongs to. That is, the class to which the object appearing in the object candidate region of image 24A belongs is ambiguous.

同様に、正解クラスを「Truck」とする教師データがそれぞれ対応付けられた画像21B、22Bの物体候補領域には、「Truck」が写っている。一方、正解クラスを「Truck」とする教師データが対応付けられた画像23Bの物体候補領域には、「Car」が写っている。すなわち、画像23Bに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Truck」とする教師データが対応付けられた画像24Bには、「Van」が写っている。すなわち、画像24Bの物体候補領域に写る物体が属するクラスは、曖昧である。 Similarly, "Truck" is shown in the object candidate regions of images 21B and 22B, which are respectively associated with teacher data in which the correct answer class is "Truck." On the other hand, "Car" is shown in the object candidate region of the image 23B, which is associated with the teacher data in which the correct answer class is "Truck". That is, there is an error in the labeling (annotation) for the image 23B. Furthermore, "Van" is shown in the image 24B associated with the teacher data in which the correct answer class is "Truck". That is, the class to which the object appearing in the object candidate region of image 24B belongs is ambiguous.

同様に、正解クラスを「Bus」とする教師データがそれぞれ対応付けられた画像21C、22Cの物体候補領域には、「Bus」が写っている。一方、正解クラスを「Bus」とする教師データが対応付けられた画像23Cの物体候補領域には、「Car」が写っている。すなわち、画像23Cに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Bus」とする教師データが対応付けられた画像24Cの物体候補領域には、「Van」が写っている。すなわち、画像24Cの物体候補領域に写る物体が属するクラスは、曖昧である。 Similarly, "Bus" appears in the object candidate regions of images 21C and 22C, which are respectively associated with teacher data in which the correct answer class is "Bus." On the other hand, "Car" is shown in the object candidate area of the image 23C, which is associated with the teacher data in which the correct answer class is "Bus". That is, there is an error in the labeling (annotation) for the image 23C. Furthermore, "Van" is shown in the object candidate area of the image 24C, which is associated with the teacher data in which the correct answer class is "Bus". That is, the class to which the object appearing in the object candidate region of image 24C belongs is ambiguous.

このように、排他的なクラス識別が適さない場合の例としては、アノテーション(画像に対するラベル付け)に誤りが存在する場合が挙げられる。また、排他的なクラス識別が適さない場合の他の例としては、画像に写る物体が属するクラスが曖昧である場合が挙げられる。このように排他的なクラス識別が適さない場合が存在するにも関わらず、排他的なクラス識別の学習が行われてしまうと、クラス識別に誤りが生じてしまう可能性がある。 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 class identification system 1 according to the embodiment of the present invention includes a data section 11, a hierarchical structure generation section 12, a learning section 13, and an inference section 14. The class identification system 1 may be realized by the same computer, or may be realized by being distributed among multiple computers. Note that the hierarchical structure generation unit 12 and the learning unit 13 may constitute a learning device. Further, the inference unit 14 may constitute an inference device.

階層構造生成部12、学習部13および推論部14は、CPU(Central Processing Unit)などの演算装置を含み、図示しないメモリにより記憶されているプログラム(学習プログラムおよび推論プログラム)がCPUによりRAM(Random Access Memory)に展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、階層構造生成部12、学習部13および推論部14は、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。 The hierarchical structure generation unit 12, the learning unit 13, and the inference unit 14 include arithmetic units such as a CPU (Central Processing Unit), and programs (a learning program and an inference program) stored in a memory (not shown) are stored in a RAM (Random) by the CPU. The function can be realized by being deployed and executed in Access Memory. At this time, a computer-readable recording medium on which the program is recorded may also be provided. Alternatively, the hierarchical structure generation section 12, the learning section 13, and the inference section 14 may be configured by dedicated hardware, or may be configured by a combination of multiple pieces of hardware.

(データ部11)
データ部11は、メモリによって構成され得る。データ部11は、ニューラルネットワーク(第1のニューラルネットワーク)を記憶する。また、データ部11は、ニューラルネットワークの訓練に使用されるデータ(学習用データセット)を記憶する。また、データ部11は、ニューラルネットワークによって識別可能なクラス群(第1のクラス群)を構成するクラスに関する情報を記憶する。また、データ部11は、テストデータの例としてのテスト画像を記憶する。
(Data part 11)
The data section 11 may be configured by memory. The data section 11 stores a neural network (first neural network). Further, the data unit 11 stores data (learning data set) used for training the neural network. Further, the data unit 11 stores information regarding classes that constitute a class group (first class group) that can be identified by a neural network. Furthermore, the data section 11 stores test images as examples of test data.

本発明の実施形態では、ニューラルネットワークが畳み込みニューラルネットワークである場合を主に想定する。しかし、ニューラルネットワークの構成は特に限定されない。なお、学習済みのニューラルネットワークは、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 data section 11 outputs information regarding the class and the neural network to the hierarchical structure generation section 12 in the learning stage. Further, the data unit 11 outputs a learning data set to the learning unit 13 in the learning stage. On the other hand, the data section 11 outputs the test image to the inference section 14 in the inference stage.

(階層構造生成部12)
階層構造生成部12は、ニューラルネットワークによって識別可能なクラス群(以下、「既存クラス」とも言う。)を構成するクラス(以下、「既存クラス」とも言う。)に関する情報がデータ部11から入力されると、既存クラスに関する情報に基づいて、既存クラス同士の上下関係を示す階層構造を生成する。ここで、上下関係は、概念的な上下関係であってよい。また、階層構造が生成されるタイミングは、学習段階であることが主に想定される。しかし、階層構造は、学習段階に先立ってあらかじめ生成されていてもよい。
(Hierarchical structure generation unit 12)
The hierarchical structure generation unit 12 receives input from the data unit 11 of information regarding classes (hereinafter also referred to as “existing classes”) that constitute a class group (hereinafter also referred to as “existing classes”) that can be identified by a neural network. Then, based on information about existing classes, a hierarchical structure indicating the hierarchical relationship between existing classes is generated. Here, the hierarchical relationship may be a conceptual hierarchical relationship. Furthermore, the timing at which the hierarchical structure is generated is mainly assumed to be during the learning stage. However, the hierarchical structure may be generated in advance prior to the learning phase.

階層構造生成部12は、既存クラスに関する情報に基づいて、既存クラス群に新たなクラス(以下、「追加クラス」とも言う。)を追加してもよい。追加クラスの数は限定されず、1または複数であってよい。このとき、階層構造生成部12は、新たなクラスの追加後のクラス群(第2のクラス群)を構成するクラス同士の上下関係を示す階層構造を生成する。そして、階層構造生成部12は、当該新たなクラスの追加に基づいて、データ部11から入力されたニューラルネットワークを(第2のニューラルネットワークに)変換する。 The hierarchical structure generation unit 12 may add a new class (hereinafter also referred to as "additional class") to the existing class group based on information regarding existing classes. The number of additional classes is not limited and may be one or more. At this time, the hierarchical structure generation unit 12 generates a hierarchical structure indicating the hierarchical relationship between the classes that constitute the class group (second class group) after the addition of the new class. Then, the hierarchical structure generation unit 12 converts the neural network input from the data unit 11 (into a second neural network) based on the addition of the new class.

図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 data section 11 to the hierarchical structure generation section 12. FIG. 6 is a diagram showing an example of a neural network after conversion by the hierarchical structure generation unit 12. FIG. 7 is a diagram illustrating an example of a hierarchical structure generated by the hierarchical structure generation unit 12.

図5を参照すると、データ部11から階層構造生成部12に入力されるニューラルネットワークの例が示されている。ただし、図5に示された例は、ニューラルネットワークの一部に相当するクラス識別タスクN21および出力層L0が示されている。クラス識別タスクN21への入力の例として、物体候補領域h2が示されている。出力層L0の各ノードは、ニューラルネットワークによって識別可能な複数のクラスそれぞれに対応している。出力層L0の各ノードは、既存クラスに対応するノード(図5では、塗りつぶしのないノード)である。 Referring to FIG. 5, an example of a neural network input from the data section 11 to the hierarchical structure generation section 12 is shown. However, the example shown in FIG. 5 shows the class identification task N21 and the output layer L0, which correspond to a part of the neural network. An object candidate region h2 is shown as an example of input to the class identification task N21. Each node of the output layer L0 corresponds to a plurality of classes that can be identified by the neural network. Each node of the output layer L0 is a node corresponding to an existing class (in FIG. 5, the node is not filled in).

出力層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 structure generation unit 12 identifies the hierarchical relationship between the classes that make up the existing class group, based on information about the existing class group.

一例として、下位クラスの名称とその上位クラスの名称との組み合わせがあらかじめ登録された辞書データがデータ部11に存在する場合が想定される。かかる場合、階層構造生成部12は、既存クラス群を構成する二つのクラスの名称の組み合わせと一致または類似する組み合わせが、辞書データに登録されている場合、当該二つのクラス同士が上下関係にあると特定してもよい。例えば、図7を参照すると、二つの既存クラスである「Person」クラスおよび「Pedestrian」クラスが、上下関係にあると特定されている。なお、図7には、既存クラスが塗りつぶしのないクラスとして示されている。 As an example, it is assumed that the data section 11 includes dictionary data in which a combination of a name of a lower class and a name of its higher class is registered in advance. In such a case, the hierarchical structure generation unit 12 determines that if a combination of names that matches or is similar to the combination of names of two classes constituting the existing class group is registered in the dictionary data, the two classes are in a hierarchical relationship. It may also be specified. For example, referring to FIG. 7, two existing classes, the "Person" class and the "Pedestrian" class, are specified to be in a hierarchical relationship. Note that in FIG. 7, existing classes are shown as unfilled classes.

また、階層構造生成部12は、既存クラスに関する情報に基づいて、既存クラス群に新たなクラス(追加クラス)が追加された階層構造を生成し得る。例えば、既存クラス群を構成するクラスの名称と一致または類似する一方の名称が、辞書データに登録されている場合が想定される。かかる場合、階層構造生成部12は、当該一方の名称と組み合わせを形成している他の名称を新たなクラスの名称とし、当該一方の名称と当該他の名称との上下関係に基づいて、当該新たなクラスが追加された階層構造を生成してもよい。例えば、図7を参照すると、既存クラスである「Car」クラスの上位クラスとして「Vehicle」クラスが追加されている。なお、図7には、追加クラスが塗りつぶしのあるクラスとして示されている。 Further, the hierarchical structure generation unit 12 can generate a hierarchical structure in which a new class (additional class) is added to the existing class group based on information regarding existing classes. For example, it is assumed that one name that matches or is similar to the name of a class constituting an existing class group is registered in the dictionary data. In such a case, the hierarchical structure generation unit 12 sets the other name forming a combination with the one name as a new class name, and based on the hierarchical relationship between the one name and the other name, the hierarchical structure generation unit 12 A hierarchical structure with new classes added may also be generated. For example, referring to FIG. 7, the "Vehicle" class has been added as an upper class of the existing class "Car" class. Note that in FIG. 7, additional classes are shown as shaded classes.

階層構造生成部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 structure generation unit 12 may specify that the two additional classes are in a hierarchical relationship. For example, referring to FIG. 7, two additional classes, the "Foreground" class and the "Vehicle" class, are identified as having a hierarchical relationship. Note that the hierarchical structure 60 (FIG. 7) generated in this way is formed by layers L1 to L5. Each of the layers L1 to L5 is a collection of classes in which the same class is a higher class.

階層構造生成部12は、新たなクラスを追加した場合、当該新たなクラスの追加に基づいて、データ部11から入力されたニューラルネットワークを変換する。図6には、追加クラスとして、「Foreground」クラス、「Vehicle」クラス、「Motorist」クラスおよび「Cyclist」クラスなどが存在している。これらの追加クラスと既存クラスが、変換後のニューラルネットワークによって識別可能なクラス群に該当する。 When a new class is added, the hierarchical structure generation unit 12 converts the neural network input from the data unit 11 based on the addition of the new class. In FIG. 6, there are additional classes such as a "Foreground" class, a "Vehicle" class, a "Motorist" class, and a "Cyclist" class. These additional classes and existing classes correspond to a group of classes that can be identified by the neural network after conversion.

階層構造生成部12は、これらの追加クラスに対応するノードを新たなクラスに対応するノードとして、出力層に追加する。図6では、出力層の追加クラスに対応するノードは、塗りつぶしのあるノードとして示されている。なお、既存クラスとクラス識別タスクN21との間と同様に、追加クラスとクラス識別タスクN21との間にも結合(図6では、破線の線分)が形成される。 The hierarchical structure generation unit 12 adds nodes corresponding to these additional classes to the output layer as nodes corresponding to new classes. In FIG. 6, nodes corresponding to additional classes in the output layer are shown as filled nodes. Note that, in the same way as between the existing class and the class identification task N21, a connection (dashed line segment in FIG. 6) is also formed between the additional class and the class identification task N21.

階層構造生成部12は、変換後のニューラルネットワーク(第2のニューラルネットワーク)を学習部13に出力する。なお、階層構造生成部12は、データ部11から入力されたニューラルネットワーク(第1のニューラルネットワーク)を変換しなかった場合には(すなわち、新たなクラスの追加を行わなかった場合には)、データ部11から入力されたニューラルネットワークをそのまま学習部13に出力すればよい。また、階層構造生成部12は、生成した階層構造60を学習部13に出力する。 The hierarchical structure generation unit 12 outputs the converted neural network (second neural network) to the learning unit 13. Note that when the hierarchical structure generation unit 12 does not convert the neural network (first neural network) input from the data unit 11 (that is, when it does not add a new class), The neural network input from the data section 11 may be output to the learning section 13 as is. Further, the hierarchical structure generating section 12 outputs the generated hierarchical structure 60 to the learning section 13.

(学習部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 learning unit 13 performs a replacement for a technique (sigmoid activation) that performs learning for non-exclusive discrimination. This is applied to the neural network input from the hierarchical structure generation unit 12. Furthermore, before performing the learning process, the learning unit 13 performs a transformation on the teaching data input from the data unit 11 for a technique (label smoothing) that uses non-exclusive teaching data for learning.

図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 structure generation unit 12, the nodes corresponding to each class ("Car" class, "Truck" class, and "Bus" class) constituting layer L3 are mainly Focus on.

(ニューラルネットワークの置換)
図8を参照すると、学習用データセットに含まれる訓練データの例として、訓練画像40が示されている。訓練画像40に写る物体が属するクラスは、「Truck」クラスである。階層構造生成部12から入力されたニューラルネットワークに対して訓練画像40の入力が行われたとすると、訓練画像40に対応してニューラルネットワークの出力層のノードにおいて計算された結果は、ロジット(Logits)C10に示されるようになる。ただし、ロジットC10は、出力層のノードへの入力と重みおよびバイアスとに基づく計算結果であり、活性化関数が適用される前の計算結果である。
(Neural network replacement)
Referring to FIG. 8, a training image 40 is shown as an example of training data included in the learning data set. The class to which the object shown in the training image 40 belongs is the "Truck" class. Assuming that the training image 40 is input to the neural network input from the hierarchical structure generation unit 12, the result calculated at the node of the output layer of the neural network corresponding to the training image 40 is Logits. It becomes as shown in C10. However, the logit C10 is a calculation result based on the input to the output layer node, the weight, and the bias, and is the calculation result before the activation function is applied.

ここで、ニューラルネットワークの出力層における活性化関数としては、ソフトマックス関数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 learning unit 13 replaces the softmax function C11 included in the neural network with the sigmoid function E11. More specifically, a softmax function C11 is introduced as an activation function to a node corresponding to an existing class in the output layer of the neural network. Therefore, the learning unit 13 converts the softmax function C11 introduced into the node corresponding to the existing class in the output layer of the neural network into a sigmoid function E11.

一方、ニューラルネットワークの出力層の追加クラスに対応するノードには、活性化関数がまだ導入されていない。そこで、学習部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 learning unit 13 introduces the sigmoid function E11 as the activation function of the node corresponding to the additional class in the output layer of the neural network.

以下では、既存クラスに対応するノードに導入されているソフトマックス関数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 structure generation unit 12, the neural network after the softmax function C11 introduced in the node corresponding to the existing class is converted to the sigmoid function E11 is It is also called "neural network after replacement."

ロジット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 training image 40A is shown as an example of training data A corresponding to teacher data in which the correct answer class is "Truck". Furthermore, a training image 40B is shown as an example of training data B corresponding to teacher data in which the correct answer class is "Car".

修正量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 learning unit 13 determines that the element value "1" corresponding to the correct class "Truck" is a class other than the correct class that belongs to the same layer L3 (FIG. 7) as the layer to which the correct class "Truck" belongs. Conversion is performed to bring the values of the elements corresponding to the "Car" and "Bus" classes closer to each other. This allows non-exclusive training data to be used for learning.

例えば、学習部13は、正解クラスに対応する要素の値「1」から所定の値λだけ減算してもよい。このとき、学習部13は、正解クラスが属する層と同一の層に属する正解クラス以外のクラスの個数Nで除して得られる結果「λ/N」を、当該正解クラス以外のクラスに対応する要素の値「0」それぞれに加算してもよい。 For example, the learning unit 13 may subtract a predetermined value λ from the value "1" of the element corresponding to the correct answer class. At this time, the learning unit 13 divides the result "λ/N" obtained by dividing by the number N of classes other than the correct class belonging to the same layer as the layer to which the correct answer class belongs, and calculates the result "λ/N" corresponding to the class other than the correct answer class. It may be added to each element value "0".

図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 feature space 71 shows changes in the feature amount of the training data when the teacher data before conversion is used for learning. Referring to FIG. 11, the feature space 72 shows changes in the feature amount of the training data when the transformed teacher data is used for learning.

特徴空間71および特徴空間72において、正解クラスが「Car」クラスである訓練データの特徴量が濃いドットによって示され、正解クラスが「Truck」クラスである訓練データの特徴量が中程度の濃さのドットによって示され、正解クラスが「Bus」クラスである訓練データの特徴量が薄いドットによって示されている。 In the feature space 71 and the feature space 72, the features of the training data whose correct answer class is the "Car" class are indicated by dark dots, and the features of the training data whose correct answer class is the "Truck" class are indicated by medium dots. The features of the training data whose correct answer class is the "Bus" class are indicated by light dots.

変換前の教師データが学習に用いられる場合においては、それぞれの正解クラスの訓練データに基づく学習が、特徴空間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 learning unit 13 performs a process based on the converted teacher data, the output data output from the replaced neural network corresponding to the training data, and the hierarchical structure 60 (FIG. 7) input from the hierarchical structure generating unit 12. Then, calculate the error for each layer. Here, it is assumed that the learning unit 13 uses a cross-entropy error C30 as an example of the error. However, the error used by the learning unit 13 is not limited to the cross-entropy error. For example, when a is the layer number, the entropy error Loss La of the layer La can be expressed as in the following equation (1).

Figure 0007384238000001
Figure 0007384238000001

ただし、nは、その層を構成するクラス数を示し、kは、その層を構成するクラスの番号を示す。tは、変換後の教師データのうちクラスkに対応する要素の値である。P(x)は、置換後のニューラルネットワークの出力層のノードのうち、その層を構成するn個のクラスに対応するノードの出力値の合計に対するクラスkに対応するノードの出力値の割合(確率)を示す。すなわち、P(x)は、層単位でのクラス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の重みをαとした場合、層ごとの交差エントロピー誤差の重み付け和Lossは、下記の式(2)のように表現され得る。 The learning unit 13 performs learning processing of the neural network after replacement using the sum of cross-entropy errors for each layer as a loss function. As an example, the total cross-entropy error per layer may be a weighted sum of cross-entropy errors per layer. For example, when the weight of the layer La is α a , the weighted sum Loss of cross-entropy errors for each layer can be expressed as in equation (2) below.

Figure 0007384238000002
Figure 0007384238000002

ただし、mは、層の数を示す。例えば、学習部13は、損失関数Lossに基づく誤差逆伝播法(バックプロパゲーション)などを用いて、置換後のニューラルネットワークの学習処理を行う。これによって、学習用データセットに適応するように置換後のニューラルネットワークの重みが調整される。 However, m indicates the number of layers. For example, the learning unit 13 performs a learning process for the neural network after replacement using an error backpropagation method based on the loss function Loss. As a result, the weights of the replaced neural network are adjusted to adapt to the learning data set.

学習部13は、損失関数Lossが収束したと判定した場合には、置換後のニューラルネットワークの学習処理を終了する。例えば、損失関数Lossまたはその変化が閾値よりも小さくなった場合に、損失関数Lossが収束したと判定されてもよい。学習済みのニューラルネットワークは、推論部14に出力される。 If the learning unit 13 determines that the loss function Loss has converged, it ends the learning process of the neural network after replacement. For example, when the loss function Loss or its change becomes smaller than a threshold value, it may be determined that the loss function Loss has converged. The trained neural network is output to the inference section 14.

なお、学習部13は、変換後の教師データと、置換後のニューラルネットワークとを学習に用いられる場合を主に想定した。しかし、教師データの変換およびニューラルネットワークの置換の一方のみが行われる場合も想定される(すなわち、階層的なクラス識別に、シグモイド活性およびラベルスムージングの一方のみが適用される場合も想定される)。 Note that the learning unit 13 mainly assumes a case where the converted teacher data and the replaced neural network are used for learning. However, it is also assumed that only one of training data transformation and neural network replacement is performed (i.e., it is also assumed that only one of sigmoid activation and label smoothing is applied to hierarchical class identification). .

例えば、学習部13は、教師データの変換のみを行う場合、データ部11から入力される教師データそのものを学習に用いてもよい。また、学習部13は、ニューラルネットワークの置換のみを行う場合、階層構造生成部12から入力されるニューラルネットワークそのものを学習に用いてもよい。 For example, when the learning unit 13 only converts the teacher data, the learning unit 13 may use the teacher data itself input from the data unit 11 for learning. Further, when the learning section 13 only performs neural network replacement, the learning section 13 may use the neural network itself input from the hierarchical structure generating section 12 for learning.

(推論部14)
推論部14は、学習部13から入力される学習済みのニューラルネットワークを取得し、学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、階層構造生成部12によって生成された階層構造60(図7)とに基づいて、テストデータが属するクラスの識別処理を行う。
(Inference part 14)
The inference unit 14 acquires the trained neural network input from the learning unit 13, and outputs output data corresponding to the test data from the trained neural network and the hierarchy generated by the hierarchical structure generation unit 12. Based on the structure 60 (FIG. 7), the class to which the test data belongs is identified.

より詳細に、推論部14は、テストデータに対応する出力データと階層構造60とに基づいて、学習済みのニューラルネットワークによって識別可能なクラス群を構成するクラス全体に対応するノードの出力値の合計に対する各クラスに対応するノードの出力値の割合(確率)を算出する。かかる確率は、クラス全体に対するクラスの信頼度に該当する。 More specifically, the inference unit 14 calculates, based on the output data corresponding to the test data and the hierarchical structure 60, the sum of the output values of the nodes corresponding to all the classes that constitute the class group that can be identified by the trained neural network. The ratio (probability) of the output value of the node corresponding to each class is calculated. Such probability corresponds to the reliability of the class relative to the class as a whole.

クラス全体に対するクラスの信頼度は、どのようにして算出されてもよい。一例として、推論部14は、層単位でのクラスの信頼度に基づいて、クラス全体に対するクラスの信頼度を算出してもよい。例えば、推論部14は、クラス全体に対するクラスkの信頼度を、階層構造60において最上位のクラスを起点としてクラスkに到達するまでに通過する各クラスの層単位での信頼度の積によって算出してもよい。 The reliability of a class for the entire class may be calculated in any manner. As an example, the inference unit 14 may calculate the class reliability for the entire class based on the class reliability for each layer. For example, the inference unit 14 calculates the reliability of class k with respect to the entire class by the product of the reliability of each layer of each class passed through until reaching class k in the hierarchical structure 60 starting from the highest class. You may.

一例として、推論部14は、クラス全体に対する「Car」クラスの信頼度を、層単位での「Foreground」クラスの信頼度と、層単位での「Vehicle」クラスの信頼度と、層単位での「Car」クラスの信頼度との積によって算出し得る。 As an example, the inference unit 14 calculates the reliability of the "Car" class for the entire class by calculating the reliability of the "Foreground" class in each layer, the reliability of the "Vehicle" class in each layer, and the reliability of the "Vehicle" class in each layer. It can be calculated by multiplying the reliability of the "Car" class.

そして、推論部14は、クラス全体における各クラスの信頼度に基づいてクラスの識別処理を行う。各クラスの信頼度に基づくクラスの識別は、どのように行われてもよい。一例として、推論部14は、層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、クラスの識別を行ってもよい。推論部14は、クラスの識別結果を出力する。 Then, the inference unit 14 performs class identification processing based on the reliability of each class among the entire classes. Class identification based on the reliability of each class may be performed in any manner. As an example, the inference unit 14 may identify classes depending on whether there is a class whose reliability is higher than a first threshold value corresponding to the layer. The inference unit 14 outputs the class identification results.

例えば、推論部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 inference unit 14 may use that class as the identification result. As an example, if the reliability of the "Car" class belonging to the layer L3 is higher than the first threshold, the inference unit 14 may determine the "Car" class as the identification result.

一方、推論部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 class identification system 1 according to the embodiment of the present invention is a system that can perform robust class identification even when there is an error in the annotation and when the class to which an object in an image belongs is ambiguous. It can be said that

(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 class identification system 1 identifies the vehicle class (for example, "Car" class, "Truck" class, "Bus" class, "Vehicle" class, etc.) as the class to which the object in the image belongs. I mainly explained examples. However, the class identification system 1 is also capable of identifying a class other than a vehicle as a class to which an object appearing in an image belongs. For example, the class identification system 1 can also identify other object classes, such as a person class (for example, a "Pedestrian" class, a "Rider" class, and a "Motorist" class), as a class to which an object in an image belongs. It is.

上記したように、学習済みのニューラルネットワークは、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 class identification system 1 according to the embodiment of the present invention will be described. An example of the hardware configuration of the information processing device 900 will be described below as an example of the hardware configuration of the class identification system 1 according to the embodiment of the present invention. Note that the example hardware configuration of the information processing device 900 described below is only an example of the hardware configuration of the class identification system 1. Therefore, in the hardware configuration of the class identification system 1, unnecessary configurations may be deleted from the hardware configuration of the information processing device 900 described below, or new configurations may be added.

図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 information processing device 900 as an example of the class identification system 1 according to the embodiment of the present invention. The information processing device 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a host bus 904, a bridge 905, an external bus 906, and an interface. With 907 , an input device 908, an output device 909, a storage device 910, and a communication device 911.

CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。 The CPU 901 functions as an arithmetic processing device and a control device, and controls overall operations within the information processing device 900 according to various programs. Further, the CPU 901 may be a microprocessor. The ROM 902 stores programs used by the CPU 901, calculation parameters, and the like. The RAM 903 temporarily stores programs used in the execution of the CPU 901 and parameters that change as appropriate during the execution. These are interconnected by a host bus 904 composed of a CPU bus and the like.

ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。 The host bus 904 is connected via a bridge 905 to an external bus 906 such as a PCI (Peripheral Component Interconnect/Interface) bus. Note that the host bus 904, bridge 905, and external bus 906 do not necessarily need to be configured separately, and these functions may be implemented in one bus.

入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。 The input device 908 includes input means for the user to input information, such as a mouse, keyboard, touch panel, button, microphone, switch, and lever, and an input control circuit that generates an input signal based on the user's input and outputs it to the CPU 901. It is composed of etc. By operating the input device 908, a user operating the information processing device 900 can input various data to the information processing device 900 and instruct processing operations.

出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。 The output device 909 includes, for example, a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD) device, an OLED (Organic Light Emitting Diode) device, a display device such as a lamp, and an audio output device such as a speaker.

ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。 The storage device 910 is a device for storing data. The storage device 910 may include a storage medium, a recording device that records data on the storage medium, a reading device that reads data from the storage medium, a deletion device that deletes data recorded on the storage medium, and the like. The storage device 910 is configured with, for example, an HDD (Hard Disk Drive). This storage device 910 drives a hard disk and stores programs executed by the CPU 901 and various data.

通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。 The communication device 911 is, for example, a communication interface configured with a communication device for connecting to a network. Further, the communication device 911 may support either wireless communication or wired communication.

以上、本発明の実施形態に係るクラス識別システム1のハードウェア構成例について説明した。 The example hardware configuration of the class identification system 1 according to the embodiment of the present invention has been described above.

1 クラス識別システム
11 データ部
12 階層構造生成部
13 学習部
14 推論部
60 階層構造
1 Class Identification System 11 Data Section 12 Hierarchical Structure Generation Section 13 Learning Section 14 Inference Section 60 Hierarchical Structure

Claims (5)

第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて前記第1のクラス群を構成するクラス同士が上下関係を有すると判定された場合に生成された、前記上下関係を示す階層構造と、正解クラスに対応する要素の値と前記正解クラスが属する層と同一の層に属する前記正解クラス以外のクラスに対応する要素の値とを近づける変換が行われた後の教師データと、前記第1のニューラルネットワークから前記教師データに対応する訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して前記第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 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の閾値よりも信頼度が高いクラスが存在する場合に、当該クラスを前記テストデータが属するクラスの識別結果として出力する、
請求項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の閾値よりも信頼度が高いクラスが存在しない場合、かつ、当該層に属するクラスの上位クラスの信頼度が第2の閾値より高い場合に、前記上位クラスを前記テストデータが属するクラスの識別結果として出力する、The inference unit selects the upper class from the above 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. Output as the identification result of the class to which the test data belongs,
請求項1に記載の推論装置。 The inference device according to claim 1.
第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて前記第1のクラス群を構成するクラス同士が上下関係を有すると判定された場合に生成された、前記上下関係を示す階層構造と、正解クラスに対応する要素の値と前記正解クラスが属する層と同一の層に属する前記正解クラス以外のクラスに対応する要素の値とを近づける変換が行われた後の教師データと、前記第1のニューラルネットワークから前記教師データに対応する訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して前記第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.
JP2022094069A 2020-11-16 2022-06-10 Inference device, inference method, and inference program Active JP7384238B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019176806A1 (en) * 2018-03-16 2019-09-19 富士フイルム株式会社 Machine learning device and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
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