JP2022079322A - 学習装置、学習方法および学習プログラム - Google Patents
学習装置、学習方法および学習プログラム Download PDFInfo
- Publication number
- JP2022079322A JP2022079322A JP2020190447A JP2020190447A JP2022079322A JP 2022079322 A JP2022079322 A JP 2022079322A JP 2020190447 A JP2020190447 A JP 2020190447A JP 2020190447 A JP2020190447 A JP 2020190447A JP 2022079322 A JP2022079322 A JP 2022079322A
- Authority
- JP
- Japan
- Prior art keywords
- class
- neural network
- learning
- hierarchical structure
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】画像に写る物体が属するクラスの識別の精度を向上させる学習装置、学習装置、学習方法、学習プログラム、推論装置、推論方法および推論プログラムを提供する。【解決手段】学習装置としてのクラス識別システム1は、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて、第1のクラス群を構成するクラス同士の上下関係を示す階層構造を生成する階層構造生成部12と、第1のニューラルネットワークに含まれるソフトマックス関数をシグモイド関数に置換し、教師データと、置換後の第1のニューラルネットワークから訓練データに対応して出力される出力データと、階層構造とに基づいて、同一のクラスを上位クラスとするクラスの集合である層ごとに誤差を算出し、算出した層ごとの誤差の合計を損失関数として、置換後の第1のニューラルネットワークの学習処理を行う学習部13と、を備える。【選択図】図4
Description
本発明は、学習装置、学習方法、学習プログラム、推論装置、推論方法および推論プログラムに関する。
近年、各種の分野においてニューラルネットワークが用いられている。例えば、学習済みのニューラルネットワーク(例えば、ディープラーニングに基づく学習済みのニューラルネットワークなど)に基づいて、画像に写る物体を検出する技術(物体検出技術)が注目されている。物体検出技術として、各種の技術が知られている(非特許文献1~非特許文献4参照)。かかる物体検出技術においては、画像に写る物体が属するクラス(物体クラス)が識別される。
Xiongwei Wu, Doyen Sahoo, and Steven C.H. Hoi、"Recent Advances in Deep Learning forObject Detection"、[online]、5 July 2020、Neurocomputing、[令和2年11月2日検索]、インターネット<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>
Aditya Krishna Menon、他3名、"Multilabel reductions: what is my lossoptimising?"、[online]、2019 Neural Information Processing Systems (NIPS)、[令和2年11月2日検索]、インターネット<https://papers.nips.cc/paper/9245-multilabel-reductions-what-is-my-loss-optimising>
、Rafael Muller, Simon Kornblith andGeoffrey Hinton、"When Does Label SmoothingHelp?"、[online]、2019 Neural Information Processing Systems (NIPS)、[令和2年11月2日検索]、インターネット<https://papers.nips.cc/paper/8717-when-does-label-smoothing-help>
しかし、画像に写る物体が属するクラスの識別の精度を向上させることを可能とする技術が提供されることが望まれる。
上記問題を解決するために、本発明のある観点によれば、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造を生成する階層構造生成部と、前記第1のニューラルネットワークに含まれるソフトマックス関数をシグモイド関数に置換し、教師データと、置換後の第1のニューラルネットワークから訓練データに対応して出力される出力データと、前記階層構造とに基づいて、同一のクラスを上位クラスとするクラスの集合である層ごとに誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第1のニューラルネットワークの学習処理を行う学習部と、を備える、学習装置が提供される。
前記階層構造生成部は、前記クラスに関する情報に基づいて、前記第1のクラス群に1または複数のクラスが追加された第2のクラス群を構成するクラス同士の上下関係を示す階層構造を生成するとともに、前記1または複数のクラスの追加に基づいて、前記第1のニューラルネットワークを第2のニューラルネットワークに変換し、前記学習部は、前記第2のニューラルネットワークの出力層の追加されたクラスに対応するノードの活性化関数としてシグモイド関数を導入するとともに、前記ソフトマックス関数をシグモイド関数に置換し、前記教師データと、置換後の第2のニューラルネットワークから前記訓練データに対応して出力される出力データと、前記階層構造とに基づいて、層ごとの誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第2のニューラルネットワークの学習処理を行ってもよい。
前記誤差は、交差エントロピー誤差であってもよい。
前記層ごとの誤差の合計は、前記層ごとの誤差の重み付け和であってもよい。
また、本発明の別の観点によれば、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造を生成することと、前記第1のニューラルネットワークに含まれるソフトマックス関数をシグモイド関数に置換し、教師データと、置換後の第1のニューラルネットワークから訓練データに対応して出力される出力データと、前記階層構造とに基づいて、同一のクラスを上位クラスとするクラスの集合である層ごとに誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第1のニューラルネットワークの学習処理を行うことと、を含む、学習方法が提供される。
また、本発明の別の観点によれば、コンピュータを、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造を生成する階層構造生成部と、前記第1のニューラルネットワークに含まれるソフトマックス関数をシグモイド関数に置換し、教師データと、置換後の第1のニューラルネットワークから訓練データに対応して出力される出力データと、前記階層構造とに基づいて、同一のクラスを上位クラスとするクラスの集合である層ごとに誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第1のニューラルネットワークの学習処理を行う学習部と、を備える学習装置として機能させる学習プログラムが提供される。
また、本発明の別の観点によれば、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて生成された、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造と、教師データと、ソフトマックス関数がシグモイド関数に置換された後の第1のニューラルネットワークから訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、前記階層構造とに基づいて、前記テストデータが属するクラスの識別処理を行う推論部を備える、推論装置が提供される。
前記推論部は、前記テストデータに対応する出力データと前記階層構造とに基づいて、前記第1のクラス群を構成するクラス全体における各クラスの信頼度を算出し、前記クラス全体における各クラスの信頼度に基づいて前記識別処理を行ってもよい。
また、本発明の別の観点によれば、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて生成された、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造と、教師データと、ソフトマックス関数がシグモイド関数に置換された後の第1のニューラルネットワークから訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、前記階層構造とに基づいて、前記テストデータが属するクラスの識別処理を行うことを含む、推論方法が提供される。
また、本発明の別の観点によれば、コンピュータを、第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて生成された、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造と、教師データと、ソフトマックス関数がシグモイド関数に置換された後の第1のニューラルネットワークから訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、前記階層構造とに基づいて、前記テストデータが属するクラスの識別処理を行う推論部を備える、推論装置として機能させるプログラムが提供される。
以上説明したように本発明によれば、画像に写る物体が属するクラスの識別の精度を向上させることを可能とする技術が提供される。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。
(0.背景)
まず、本発明の実施形態の背景について説明する。
まず、本発明の実施形態の背景について説明する。
近年、各種の分野においてニューラルネットワークが用いられている。例えば、学習済みのニューラルネットワーク(例えば、ディープラーニングに基づく学習済みのニューラルネットワークなど)に基づいて、画像に写る物体を検出する技術(物体検出技術)が注目されている。そして、かかる物体検出技術によって各種のアプリケーションが実現されることが期待されている。例えば、車載カメラによって得られた画像に写る物体の検出結果に基づいて、画像に写る人物を同定したり、画像に写るナンバープレートを認識したり、画像に写る状況を認識したりするアプリケーションの実現が期待されている。
画像に写る物体を検出する技術(物体検出技術)は、画像に基づいて1または複数の物体候補領域を推定する領域推定サブタスクと、1または複数の物体候補領域それぞれに写る被写体のクラスを識別するクラス識別タスクとによって実現され得る(例えば、非特許文献1参照)。ここで、図1を参照しながら、かかる物体検出技術の概要について説明する。
図1は、物体検出技術の概要について説明するための図である。図1を参照すると、物体が写る画像50が示されている。より詳細には、画像50における物体領域51Aに、物体の例としてのバスが写っている。また、画像50における物体領域52Aに、物体の例としての人が写っている。図1には、かかる画像50から物体を検出する物体検出器の例として、2段階検出器N1および1段階検出器N2が示されている。
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)によって、物体候補領域ごとの特徴量を検出する。
また、2段階検出器N1および1段階検出器N2それぞれにおいて、クラス識別タスクN21は、物体候補領域ごとの特徴量に基づいて、物体が含まれていない物体候補領域を背景領域として識別し、物体が含まれている物体候補領域を物体領域として識別する。クラス識別タスクN21は、物体候補領域に物体が含まれている場合には、その物体候補領域に含まれる物体が属するクラス(物体クラス)を識別する。
図1に示された例では、(バスが写る物体領域51Aに対応する)物体候補領域51Bに写る物体がトラックであると識別されているため、物体候補領域51Bにおいては、誤ったクラス識別が行われている。一方、図1に示された例では、(人が写る物体領域52Aに対応する)物体候補領域52Bに写る物体が人であると識別されているため、物体候補領域52Bにおいては、正しいクラス識別が行われている。
クラス識別タスクN21においては、物体候補領域ごとの識別結果に基づいて、交差エントロピー誤差を用いて、物体候補領域に含まれる物体が属するクラス(物体クラス)を排他的に識別する学習が行われるのが一般的である。しかし、排他的なクラス識別が適さない場合があり得る。ここで、図2および図3を参照しながら、排他的なクラス識別が適さない場合の例について説明する。
図2および図3は、排他的なクラス識別が適さない場合の例について説明するための図である。図2および図3を参照すると、正解クラスを「Car(乗用車)」とする教師データがそれぞれ対応付けられた画像21A、22A、23Aおよび24Aが示されている。また、正解クラスを「Truck」とする教師データがそれぞれ対応付けられた画像21B、22B、23Bおよび24Bが示されている。また、正解クラスを「Bus」とする教師データがそれぞれ対応付けられた画像21C、22C、23Cおよび24Cが示されている。
ここで、正解クラスを「Car」とする教師データがそれぞれ対応付けられた画像21A、22Aの物体候補領域(太い矩形枠内)には、「Car」が写っている。一方、正解クラスを「Car」とする教師データが対応付けられた画像23Aの物体候補領域には、「Truck」が写っている。すなわち、画像23Aに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Car」とする教師データが対応付けられた画像24Aの物体候補領域には、「Van(貨物を運搬する屋根付きの車両)」が写っている。「Van」がどのクラスに属するかは曖昧である。すなわち、画像24Aの物体候補領域に写る物体が属するクラスは、曖昧である。
同様に、正解クラスを「Truck」とする教師データがそれぞれ対応付けられた画像21B、22Bの物体候補領域には、「Truck」が写っている。一方、正解クラスを「Truck」とする教師データが対応付けられた画像23Bの物体候補領域には、「Car」が写っている。すなわち、画像23Bに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Truck」とする教師データが対応付けられた画像24Bには、「Van」が写っている。すなわち、画像24Bの物体候補領域に写る物体が属するクラスは、曖昧である。
同様に、正解クラスを「Bus」とする教師データがそれぞれ対応付けられた画像21C、22Cの物体候補領域には、「Bus」が写っている。一方、正解クラスを「Bus」とする教師データが対応付けられた画像23Cの物体候補領域には、「Car」が写っている。すなわち、画像23Cに対するラベル付け(アノテーション)には、誤りが存在している。さらに、正解クラスを「Bus」とする教師データが対応付けられた画像24Cの物体候補領域には、「Van」が写っている。すなわち、画像24Cの物体候補領域に写る物体が属するクラスは、曖昧である。
このように、排他的なクラス識別が適さない場合の例としては、アノテーション(画像に対するラベル付け)に誤りが存在する場合が挙げられる。また、排他的なクラス識別が適さない場合の他の例としては、画像に写る物体が属するクラスが曖昧である場合が挙げられる。このように排他的なクラス識別が適さない場合が存在するにも関わらず、排他的なクラス識別の学習が行われてしまうと、クラス識別に誤りが生じてしまう可能性がある。
そこで、クラス識別に誤りが生じてしまう可能性を低減するために、識別可能な具体的なクラスに関する情報に基づいて、抽象的なクラスを生成し、具体的なクラスおよび抽象的なクラスのいずれのクラスに物体が属するかを識別する技術(すなわち、階層的なクラス識別を行う技術)が提案されている(例えば、非特許文献2参照)。非特許文献2に記載の技術では、階層的なクラス識別によって、画像に写る物体が属するクラスとして抽象的なクラスを識別することが可能となる。
しかし、非特許文献2に記載の技術では、排他的なクラス識別が適さない場合に(例えば、アノテーションに誤りが存在する場合または画像に写る物体が属するクラスが曖昧である場合などに)過学習が行われてしまい、クラス識別の精度が劣化してしまうことがあり得る。過学習が行われてしまう原因の一つとしては、学習段階において排他的に識別する学習が行われてしまうことが挙げられる。また、過学習が行われてしまう原因の他の一つとしては、学習に用いられる教師データが排他的であることが挙げられる。
そこで、以下の説明では、非排他的に識別する学習を行う技術(例えば、非特許文献3に記載の技術)を階層的なクラス識別に適用する技術について提案する。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度が劣化してしまう可能性が低減され得る。本発明の実施形態では、非排他的に識別する学習を行う技術の例として、「シグモイド活性(Sigmoid Activation)」という技術を用いる。
さらに、以下の説明では、非排他的な教師データを学習に用いる技術(例えば、非特許文献4に記載の技術)を階層的なクラス識別に適用する技術について提案する。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度が劣化してしまう可能性が低減され得る。本発明の実施形態では、非排他的な教師データを学習に用いる技術の例として、「ラベルスムージング(Label Smoothing)」という技術を用いる。
なお、以下の説明では、階層的なクラス識別に、シグモイド活性およびラベルスムージングの双方を適用する例について主に説明する。しかし、階層的なクラス識別に、必ずしもシグモイド活性およびラベルスムージングの双方が適用されなくてもよい。例えば、階層的なクラス識別に、シグモイド活性およびラベルスムージングの一方のみが適用されてもよい。
以上、本発明の実施形態の背景について説明した。
(1.実施形態の詳細)
続いて、本発明の実施形態の詳細について説明する。
続いて、本発明の実施形態の詳細について説明する。
(1-1.構成の説明)
まず、本発明の実施形態に係るクラス識別システムの構成例について説明する。図4は、本発明の実施形態に係るクラス識別システムの機能構成例を示す図である。図4に示されるように、本発明の実施形態に係るクラス識別システム1は、データ部11、階層構造生成部12、学習部13および推論部14を備える。クラス識別システム1は、同一のコンピュータによって実現されてもよいし、複数のコンピュータに分散されて実現されてもよい。なお、階層構造生成部12および学習部13は、学習装置を構成し得る。また、推論部14は、推論装置を構成し得る。
まず、本発明の実施形態に係るクラス識別システムの構成例について説明する。図4は、本発明の実施形態に係るクラス識別システムの機能構成例を示す図である。図4に示されるように、本発明の実施形態に係るクラス識別システム1は、データ部11、階層構造生成部12、学習部13および推論部14を備える。クラス識別システム1は、同一のコンピュータによって実現されてもよいし、複数のコンピュータに分散されて実現されてもよい。なお、階層構造生成部12および学習部13は、学習装置を構成し得る。また、推論部14は、推論装置を構成し得る。
階層構造生成部12、学習部13および推論部14は、CPU(Central Processing Unit)などの演算装置を含み、図示しないメモリにより記憶されているプログラム(学習プログラムおよび推論プログラム)がCPUによりRAM(Random Access Memory)に展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、階層構造生成部12、学習部13および推論部14は、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。
(データ部11)
データ部11は、メモリによって構成され得る。データ部11は、ニューラルネットワーク(第1のニューラルネットワーク)を記憶する。また、データ部11は、ニューラルネットワークの訓練に使用されるデータ(学習用データセット)を記憶する。また、データ部11は、ニューラルネットワークによって識別可能なクラス群(第1のクラス群)を構成するクラスに関する情報を記憶する。また、データ部11は、テストデータの例としてのテスト画像を記憶する。
データ部11は、メモリによって構成され得る。データ部11は、ニューラルネットワーク(第1のニューラルネットワーク)を記憶する。また、データ部11は、ニューラルネットワークの訓練に使用されるデータ(学習用データセット)を記憶する。また、データ部11は、ニューラルネットワークによって識別可能なクラス群(第1のクラス群)を構成するクラスに関する情報を記憶する。また、データ部11は、テストデータの例としてのテスト画像を記憶する。
本発明の実施形態では、ニューラルネットワークが畳み込みニューラルネットワークである場合を主に想定する。しかし、ニューラルネットワークの構成は特に限定されない。なお、学習済みのニューラルネットワークは、2段階検出器N1(図1)となり得る。あるいは、学習済みのニューラルネットワークは、1段階検出器N2(図1)となり得る。
学習用データセットには、教師データと訓練データの例としての訓練画像とが含まれる。教師データは、訓練画像に写る被写体が属する正解クラスに関する情報を含んでいる。ここで、正解クラスに関する情報は、正解クラスに対応する要素として「1」が設定され、正解クラス以外に対応する要素として「0」が設定されたベクトル(所謂、One-hot表現)によって示される。その他、教師データは、訓練画像において被写体が写る物体候補領域に関する情報(例えば、物体候補領域の位置およびサイズなど)を含んでよい。
ニューラルネットワークによって識別可能なクラス群を構成するクラスに関する情報は、一例としてクラス名であってよい。しかし、クラスに関する情報は、クラス名に限定されず、クラスを識別可能な情報であればよい。
データ部11は、学習段階において、クラスに関する情報とニューラルネットワークとを階層構造生成部12に出力する。また、データ部11は、学習段階において、学習用データセットを学習部13に出力する。一方、データ部11は、推論段階において、テスト画像を推論部14に出力する。
(階層構造生成部12)
階層構造生成部12は、ニューラルネットワークによって識別可能なクラス群(以下、「既存クラス」とも言う。)を構成するクラス(以下、「既存クラス」とも言う。)に関する情報がデータ部11から入力されると、既存クラスに関する情報に基づいて、既存クラス同士の上下関係を示す階層構造を生成する。ここで、上下関係は、概念的な上下関係であってよい。また、階層構造が生成されるタイミングは、学習段階であることが主に想定される。しかし、階層構造は、学習段階に先立ってあらかじめ生成されていてもよい。
階層構造生成部12は、ニューラルネットワークによって識別可能なクラス群(以下、「既存クラス」とも言う。)を構成するクラス(以下、「既存クラス」とも言う。)に関する情報がデータ部11から入力されると、既存クラスに関する情報に基づいて、既存クラス同士の上下関係を示す階層構造を生成する。ここで、上下関係は、概念的な上下関係であってよい。また、階層構造が生成されるタイミングは、学習段階であることが主に想定される。しかし、階層構造は、学習段階に先立ってあらかじめ生成されていてもよい。
階層構造生成部12は、既存クラスに関する情報に基づいて、既存クラス群に新たなクラス(以下、「追加クラス」とも言う。)を追加してもよい。追加クラスの数は限定されず、1または複数であってよい。このとき、階層構造生成部12は、新たなクラスの追加後のクラス群(第2のクラス群)を構成するクラス同士の上下関係を示す階層構造を生成する。そして、階層構造生成部12は、当該新たなクラスの追加に基づいて、データ部11から入力されたニューラルネットワークを(第2のニューラルネットワークに)変換する。
図5~図7を参照しながら、階層構造の生成の例とニューラルネットワークの変換の例について説明する。図5は、データ部11から階層構造生成部12に入力されるニューラルネットワークの例を示す図である。図6は、階層構造生成部12による変換後のニューラルネットワークの例を示す図である。図7は、階層構造生成部12によって生成される階層構造の例を示す図である。
図5を参照すると、データ部11から階層構造生成部12に入力されるニューラルネットワークの例が示されている。ただし、図5に示された例は、ニューラルネットワークの一部に相当するクラス識別タスクN21および出力層L0が示されている。クラス識別タスクN21への入力の例として、物体候補領域h2が示されている。出力層L0の各ノードは、ニューラルネットワークによって識別可能な複数のクラスそれぞれに対応している。出力層L0の各ノードは、既存クラスに対応するノード(図5では、塗りつぶしのないノード)である。
出力層L0は、クラス識別タスクN21との間で全結合を形成している。図5においては、出力層L0とクラス識別タスクN21との間に形成されている結合の一部が実線の線分によって示されている。すなわち、図5に示された例では、出力層L0とクラス識別タスクN21との間に形成されている結合の全部が示されている訳ではなく、出力層L0とクラス識別タスクN21との間に形成されている結合の一部が省略されている。
図5を参照すると、既存クラスの例として、「Background」クラス、「Car」クラス、「Truck」クラス、「Bus」クラス、「Pedestrian」クラス、「Rider」クラスおよび「Person」クラスなどが存在している。これらの既存クラスが、ニューラルネットワークによって識別可能な既存クラス群に該当する。階層構造生成部12は、既存クラス群に関する情報に基づいて、既存クラス群を構成するクラス同士の上下関係を特定する。
一例として、下位クラスの名称とその上位クラスの名称との組み合わせがあらかじめ登録された辞書データがデータ部11に存在する場合が想定される。かかる場合、階層構造生成部12は、既存クラス群を構成する二つのクラスの名称の組み合わせと一致または類似する組み合わせが、辞書データに登録されている場合、当該二つのクラス同士が上下関係にあると特定してもよい。例えば、図7を参照すると、二つの既存クラスである「Person」クラスおよび「Pedestrian」クラスが、上下関係にあると特定されている。なお、図7には、既存クラスが塗りつぶしのないクラスとして示されている。
また、階層構造生成部12は、既存クラスに関する情報に基づいて、既存クラス群に新たなクラス(追加クラス)が追加された階層構造を生成し得る。例えば、既存クラス群を構成するクラスの名称と一致または類似する一方の名称が、辞書データに登録されている場合が想定される。かかる場合、階層構造生成部12は、当該一方の名称と組み合わせを形成している他の名称を新たなクラスの名称とし、当該一方の名称と当該他の名称との上下関係に基づいて、当該新たなクラスが追加された階層構造を生成してもよい。例えば、図7を参照すると、既存クラスである「Car」クラスの上位クラスとして「Vehicle」クラスが追加されている。なお、図7には、追加クラスが塗りつぶしのあるクラスとして示されている。
階層構造生成部12は、二つの追加クラスの名称の組み合わせと一致または類似する組み合わせが、辞書データに登録されている場合、当該二つの追加クラス同士が上下関係にあると特定してもよい。例えば、図7を参照すると、二つの追加クラスである「Foreground」クラスおよび「Vehicle」クラスが、上下関係にあると特定されている。なお、このようにして生成される階層構造60(図7)は、層L1~L5によって形成されている。層L1~L5それぞれは、同一のクラスを上位クラスとするクラスの集合である。
階層構造生成部12は、新たなクラスを追加した場合、当該新たなクラスの追加に基づいて、データ部11から入力されたニューラルネットワークを変換する。図6には、追加クラスとして、「Foreground」クラス、「Vehicle」クラス、「Motorist」クラスおよび「Cyclist」クラスなどが存在している。これらの追加クラスと既存クラスが、変換後のニューラルネットワークによって識別可能なクラス群に該当する。
階層構造生成部12は、これらの追加クラスに対応するノードを新たなクラスに対応するノードとして、出力層に追加する。図6では、出力層の追加クラスに対応するノードは、塗りつぶしのあるノードとして示されている。なお、既存クラスとクラス識別タスクN21との間と同様に、追加クラスとクラス識別タスクN21との間にも結合(図6では、破線の線分)が形成される。
階層構造生成部12は、変換後のニューラルネットワーク(第2のニューラルネットワーク)を学習部13に出力する。なお、階層構造生成部12は、データ部11から入力されたニューラルネットワーク(第1のニューラルネットワーク)を変換しなかった場合には(すなわち、新たなクラスの追加を行わなかった場合には)、データ部11から入力されたニューラルネットワークをそのまま学習部13に出力すればよい。また、階層構造生成部12は、生成した階層構造60を学習部13に出力する。
(学習部13)
学習部13は、学習処理(すなわち、学習用データセットに基づくニューラルネットワークの重みパラメータの更新)を行うに先立って、非排他的に識別する学習を行う技術(シグモイド活性)のための置換を、階層構造生成部12から入力されたニューラルネットワークに対して施す。また、学習部13は、学習処理を行うに先立って、非排他的な教師データを学習に用いる技術(ラベルスムージング)のための変換をデータ部11から入力された教師データに対して施す。
学習部13は、学習処理(すなわち、学習用データセットに基づくニューラルネットワークの重みパラメータの更新)を行うに先立って、非排他的に識別する学習を行う技術(シグモイド活性)のための置換を、階層構造生成部12から入力されたニューラルネットワークに対して施す。また、学習部13は、学習処理を行うに先立って、非排他的な教師データを学習に用いる技術(ラベルスムージング)のための変換をデータ部11から入力された教師データに対して施す。
図8は、ニューラルネットワークの置換および教師データの変換の概要について説明するための図である。ここでは、階層構造60(図7)のうち、層L3に主に着目する。また、階層構造生成部12から入力されたニューラルネットワークの出力層のノードのうち、層L3を構成する各クラス(「Car」クラス、「Truck」クラスおよび「Bus」クラス)に対応するノードに主に着目する。
(ニューラルネットワークの置換)
図8を参照すると、学習用データセットに含まれる訓練データの例として、訓練画像40が示されている。訓練画像40に写る物体が属するクラスは、「Truck」クラスである。階層構造生成部12から入力されたニューラルネットワークに対して訓練画像40の入力が行われたとすると、訓練画像40に対応してニューラルネットワークの出力層のノードにおいて計算された結果は、ロジット(Logits)C10に示されるようになる。ただし、ロジットC10は、出力層のノードへの入力と重みおよびバイアスとに基づく計算結果であり、活性化関数が適用される前の計算結果である。
図8を参照すると、学習用データセットに含まれる訓練データの例として、訓練画像40が示されている。訓練画像40に写る物体が属するクラスは、「Truck」クラスである。階層構造生成部12から入力されたニューラルネットワークに対して訓練画像40の入力が行われたとすると、訓練画像40に対応してニューラルネットワークの出力層のノードにおいて計算された結果は、ロジット(Logits)C10に示されるようになる。ただし、ロジットC10は、出力層のノードへの入力と重みおよびバイアスとに基づく計算結果であり、活性化関数が適用される前の計算結果である。
ここで、ニューラルネットワークの出力層における活性化関数としては、ソフトマックス関数C11が導入されている。しかし、ロジットC10に対してソフトマックス関数C11が適用された場合には、ニューラルネットワークからの出力は、一例として出力データC12に示される通りになる。すなわち、ロジットが最も大きい「Car」クラスに対応するノードからの出力値と、ロジットが2番目以降に大きいクラスである「Truck」および「Bus」クラスそれぞれに対応するノードからの出力値との間の差分が大きくなってしまう。このように出力値の差分が大きくなってしまうことは、排他的に識別する学習が行われてしまうことに繋がり得る。
そこで、学習部13は、ニューラルネットワークに含まれるソフトマックス関数C11をシグモイド関数E11に置換する。より詳細に、ニューラルネットワークの出力層の既存クラスに対応するノードには、活性化関数としてソフトマックス関数C11が導入されている。そこで、学習部13は、ニューラルネットワークの出力層の既存クラスに対応するノードに導入されているソフトマックス関数C11をシグモイド関数E11に変換する。
一方、ニューラルネットワークの出力層の追加クラスに対応するノードには、活性化関数がまだ導入されていない。そこで、学習部13は、ニューラルネットワークの出力層の追加クラスに対応するノードの活性化関数としてシグモイド関数E11を導入する。
以下では、既存クラスに対応するノードに導入されているソフトマックス関数C11がシグモイド関数E11に変換され、追加クラスに対応するノードの活性化関数としてシグモイド関数E11が導入された後のニューラルネットワークを「置換後のニューラルネットワーク」とも言う。ただし、階層構造生成部12によって新たなクラスの追加が行われなかった場合には、既存クラスに対応するノードに導入されているソフトマックス関数C11がシグモイド関数E11に変換された後のニューラルネットワークを「置換後のニューラルネットワーク」とも言う。
ロジットC10に対してシグモイド関数E11が適用された場合には、ニューラルネットワークからの出力は、一例として出力データE12に示される通りになる。すなわち、ロジットが最も大きい「Car」クラスに対応するノードからの出力値と、ロジットが2番目以降に大きいクラスである「Truck」および「Bus」クラスそれぞれに対応するノードからの出力値との間の差分が小さくなる。このように出力値の差分が小さくなることは、非排他的に識別する学習が行われることに繋がり得る。
図9は、ニューラルネットワークの修正量をニューラルネットワークの置換前後において比較して示す図である。図9を参照すると、正解クラスを「Truck」とする教師データに対応する訓練データAの例として、訓練画像40Aが示されている。また、正解クラスを「Car」とする教師データに対応する訓練データBの例として、訓練画像40Bが示されている。
修正量C13は、訓練データAを用いた学習による置換前のニューラルネットワークの修正量である。一方、修正量E13は、訓練データAを用いた学習による置換後のニューラルネットワークの修正量である。また、修正量C14は、訓練データBを用いた学習による置換前のニューラルネットワークの修正量である。一方、修正量E14は、訓練データBを用いた学習による置換後のニューラルネットワークの修正量である。
なお、図9に示された「+ve」は、「Positive」の略であり、そのクラスへの識別が行われやすくなる方向へのニューラルネットワークの修正を示す。一方、図9に示された「-ve」は、「Negative」の略であり、そのクラスへの識別が行われにくくなる方向へのニューラルネットワークの修正を示す。
修正量C13、C14を参照すると、置換前のニューラルネットワークでは、正解クラスへの識別が行われやすくなる方向へのニューラルネットワークの修正が行われる他、正解クラス以外のクラスへの識別が行われにくくなる方向へのニューラルネットワークの修正が行われることが把握される。すなわち、置換前のニューラルネットワークでは、排他的なクラス識別の学習が行われることが把握される。
一方、修正量E13、E14を参照すると、置換後のニューラルネットワークでは、正解クラスへの識別が行われやすくなる方向へのニューラルネットワークの修正のみが行われることが把握される。すなわち、置換後のニューラルネットワークでは、非排他的なクラス識別の学習が行われることが把握される。
(教師データの変換)
図8に戻って説明を続ける。図8を参照すると、教師データの例として、教師データC20が示されている。教師データC20は、正解クラスである「Truck」クラスに対応する要素の値として「1」が設定され、正解クラス以外のクラスである「Car」クラスおよび「Bus」クラスそれぞれに対応する要素の値として「0」が設定されたベクトル(One-hot表現)によって示される。
図8に戻って説明を続ける。図8を参照すると、教師データの例として、教師データC20が示されている。教師データC20は、正解クラスである「Truck」クラスに対応する要素の値として「1」が設定され、正解クラス以外のクラスである「Car」クラスおよび「Bus」クラスそれぞれに対応する要素の値として「0」が設定されたベクトル(One-hot表現)によって示される。
学習部13は、正解クラスである「Truck」クラスに対応する要素の値「1」と、正解クラス「Truck」が属する層と同一の層L3(図7)に属する正解クラス以外のクラスである「Car」クラスおよび「Bus」クラスそれぞれに対応する要素の値とを近づける変換を行う。これによって、非排他的な教師データが学習に用いられるようになる。
例えば、学習部13は、正解クラスに対応する要素の値「1」から所定の値λだけ減算してもよい。このとき、学習部13は、正解クラスが属する層と同一の層に属する正解クラス以外のクラスの個数Nで除して得られる結果「λ/N」を、当該正解クラス以外のクラスに対応する要素の値「0」それぞれに加算してもよい。
図8に示された例では、λ=0.4であり、正解クラス以外のクラスの個数N=2である場合が想定されている。そのため、正解クラスである「Truck」クラスに対応する要素の値が「1-λ」=「1-0.4」=「0.6」となり、正解クラス以外のクラスである「Car」クラスおよび「Bus」クラスそれぞれに対応する要素の値が「0+λ/N」=「0+0.4/2」=「0.2」となっている。
図10は、変換後の教師データが学習に用いられる場合について説明するための図である。一方、図11は、変換前の教師データが学習に用いられる場合について説明するための図である。
図10を参照すると、変換前の教師データが学習に用いられる場合における訓練データの特徴量の変化が特徴空間71に示されている。図11を参照すると、変換後の教師データが学習に用いられる場合における訓練データの特徴量の変化が特徴空間72に示されている。
特徴空間71および特徴空間72において、正解クラスが「Car」クラスである訓練データの特徴量が濃いドットによって示され、正解クラスが「Truck」クラスである訓練データの特徴量が中程度の濃さのドットによって示され、正解クラスが「Bus」クラスである訓練データの特徴量が薄いドットによって示されている。
変換前の教師データが学習に用いられる場合においては、それぞれの正解クラスの訓練データに基づく学習が、特徴空間72(図11)における特徴量同士の距離D21~D23があまり大きく離れないように行われる。そのため、「Car」クラス、「Truck」クラスおよび「Bus」クラスの上位クラスに該当する「Vehicle」へのクラス識別が行われにくく、クラス識別の精度が向上しないことが把握される。
一方、変換後の教師データが学習に用いられる場合においては、それぞれの正解クラスの訓練データに基づく学習が、特徴空間71(図10)における特徴量同士の距離D11~D13がより大きく離れるように行われる。そのため、「Car」クラス、「Truck」クラスおよび「Bus」クラスの上位クラスに該当する「Vehicle」へのクラス識別が行われやすく、クラス識別の精度が向上することが把握される。
(学習処理)
図8に戻って説明を続ける。学習部13は、変換後の教師データと、置換後のニューラルネットワークから訓練データに対応して出力される出力データと、階層構造生成部12から入力された階層構造60(図7)とに基づいて、層ごとに誤差を算出する。ここでは、学習部13が誤差の例として、交差エントロピー誤差C30を用いる場合を想定する。しかし、学習部13によって用いられる誤差は、交差エントロピー誤差に限定されない。例えば、aを層の番号とした場合、層Laのエントロピー誤差LossLaは、下記の式(1)のように表現され得る。
図8に戻って説明を続ける。学習部13は、変換後の教師データと、置換後のニューラルネットワークから訓練データに対応して出力される出力データと、階層構造生成部12から入力された階層構造60(図7)とに基づいて、層ごとに誤差を算出する。ここでは、学習部13が誤差の例として、交差エントロピー誤差C30を用いる場合を想定する。しかし、学習部13によって用いられる誤差は、交差エントロピー誤差に限定されない。例えば、aを層の番号とした場合、層Laのエントロピー誤差LossLaは、下記の式(1)のように表現され得る。
ただし、nは、その層を構成するクラス数を示し、kは、その層を構成するクラスの番号を示す。tkは、変換後の教師データのうちクラスkに対応する要素の値である。P(xk)は、置換後のニューラルネットワークの出力層のノードのうち、その層を構成するn個のクラスに対応するノードの出力値の合計に対するクラスkに対応するノードの出力値の割合(確率)を示す。すなわち、P(xk)は、層単位でのクラスkの信頼度に該当する。
学習部13は、層ごとの交差エントロピー誤差の合計を損失関数として、置換後のニューラルネットワークの学習処理を行う。一例として、層ごとの交差エントロピー誤差の合計は、層ごとの交差エントロピー誤差の重み付け和であってよい。例えば、層Laの重みをαaとした場合、層ごとの交差エントロピー誤差の重み付け和Lossは、下記の式(2)のように表現され得る。
ただし、mは、層の数を示す。例えば、学習部13は、損失関数Lossに基づく誤差逆伝播法(バックプロパゲーション)などを用いて、置換後のニューラルネットワークの学習処理を行う。これによって、学習用データセットに適応するように置換後のニューラルネットワークの重みが調整される。
学習部13は、損失関数Lossが収束したと判定した場合には、置換後のニューラルネットワークの学習処理を終了する。例えば、損失関数Lossまたはその変化が閾値よりも小さくなった場合に、損失関数Lossが収束したと判定されてもよい。学習済みのニューラルネットワークは、推論部14に出力される。
なお、学習部13は、変換後の教師データと、置換後のニューラルネットワークとを学習に用いられる場合を主に想定した。しかし、教師データの変換およびニューラルネットワークの置換の一方のみが行われる場合も想定される(すなわち、階層的なクラス識別に、シグモイド活性およびラベルスムージングの一方のみが適用される場合も想定される)。
例えば、学習部13は、教師データの変換のみを行う場合、データ部11から入力される教師データそのものを学習に用いてもよい。また、学習部13は、ニューラルネットワークの置換のみを行う場合、階層構造生成部12から入力されるニューラルネットワークそのものを学習に用いてもよい。
(推論部14)
推論部14は、学習部13から入力される学習済みのニューラルネットワークを取得し、学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、階層構造生成部12によって生成された階層構造60(図7)とに基づいて、テストデータが属するクラスの識別処理を行う。
推論部14は、学習部13から入力される学習済みのニューラルネットワークを取得し、学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、階層構造生成部12によって生成された階層構造60(図7)とに基づいて、テストデータが属するクラスの識別処理を行う。
より詳細に、推論部14は、テストデータに対応する出力データと階層構造60とに基づいて、学習済みのニューラルネットワークによって識別可能なクラス群を構成するクラス全体に対応するノードの出力値の合計に対する各クラスに対応するノードの出力値の割合(確率)を算出する。かかる確率は、クラス全体に対するクラスの信頼度に該当する。
クラス全体に対するクラスの信頼度は、どのようにして算出されてもよい。一例として、推論部14は、層単位でのクラスの信頼度に基づいて、クラス全体に対するクラスの信頼度を算出してもよい。例えば、推論部14は、クラス全体に対するクラスkの信頼度を、階層構造60において最上位のクラスを起点としてクラスkに到達するまでに通過する各クラスの層単位での信頼度の積によって算出してもよい。
一例として、推論部14は、クラス全体に対する「Car」クラスの信頼度を、層単位での「Foreground」クラスの信頼度と、層単位での「Vehicle」クラスの信頼度と、層単位での「Car」クラスの信頼度との積によって算出し得る。
そして、推論部14は、クラス全体における各クラスの信頼度に基づいてクラスの識別処理を行う。各クラスの信頼度に基づくクラスの識別は、どのように行われてもよい。一例として、推論部14は、層に対応する第1の閾値よりも信頼度が高いクラスが存在するか否かに応じて、クラスの識別を行ってもよい。推論部14は、クラスの識別結果を出力する。
例えば、推論部14は、層に対応する第1の閾値よりも信頼度が高いクラスが存在する場合には、そのクラスを識別結果としてもよい。一例として、推論部14は、層L3に属する「Car」クラスの信頼度が第1の閾値よりも高い場合に、「Car」クラスを識別結果としてもよい。
一方、推論部14は、層に対応する第1の閾値よりも信頼度が高いクラスがその層に1つも存在しない場合、かつ、その層に属するクラスの上位クラスの信頼度が第2の閾値よりも高い場合には、当該上位クラスを識別結果としてもよい。一例として、推論部14は、層L3に属する「Car」クラス、「Truck」クラスおよび「Bus」クラスのいずれも第1の閾値以下である場合、かつ、これらのクラスの上位クラスである「Vehicle」クラスの信頼度が第2の閾値よりも高い場合に、上位クラスである「Vehicle」クラスを識別結果としてもよい。
(1-3.効果の説明)
上記では、非排他的に識別する学習を行う技術を階層的なクラス識別に適用する技術について説明した。特に上記では、非排他的に識別する学習を行う技術の例として、「シグモイド活性」という技術を用いる場合について主に説明した。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度を向上させることが可能である。
上記では、非排他的に識別する学習を行う技術を階層的なクラス識別に適用する技術について説明した。特に上記では、非排他的に識別する学習を行う技術の例として、「シグモイド活性」という技術を用いる場合について主に説明した。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度を向上させることが可能である。
さらに、非排他的な教師データを学習に用いる技術を階層的なクラス識別に適用する技術についても説明した。特に上記では、非排他的な教師データを学習に用いる技術の例として、「ラベルスムージング」という技術を用いる場合について主に説明した。かかる構成によれば、排他的なクラス識別が適さない場合に過学習が行われてしまう可能性が低減されるため、クラス識別の精度を向上させることが可能である。
より詳細に、排他的なクラス識別が適さない場合の例としては、上記したように、アノテーションに誤りが存在する場合、および、画像に写る物体が属するクラスが曖昧である場合などが挙げられる。このように排他的なクラス識別が適さない場合に、本発明の実施形態によれば、具体的なクラス(例えば、「Car」クラス、「Truck」クラスおよび「Bus」クラスなど)ではなく、抽象的なクラス(例えば、「Vehicle」クラスなど)が識別結果とされやすくなる。
すなわち、本発明の実施形態に係るクラス識別システム1は、アノテーションに誤りが存在する場合、および、画像に写る物体が属するクラスが曖昧である場合などに対して、頑健なクラス識別が可能なシステムであると言える。
(2.各種の変形例)
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
上記した例では、クラス識別システム1が、画像に写る物体が属するクラスとして、車両のクラス(例えば、「Car」クラス、「Truck」クラス、「Bus」クラスおよび「Vehicle」クラスなど)を識別する例について主に説明した。しかし、クラス識別システム1は、画像に写る物体が属するクラスとして、車両以外のクラスを識別することも可能である。例えば、クラス識別システム1は、画像に写る物体が属するクラスとして、人物のクラス(例えば、「Pedestrian」クラス、「Rider」クラスおよび「Motorist」クラス)などといった他の物体クラスを識別することも可能である。
上記したように、学習済みのニューラルネットワークは、2段階検出器N1(図1)となり得る。あるいは、学習済みのニューラルネットワークは、1段階検出器N2(図1)となり得る。すなわち、本発明の実施形態においては、ニューラルネットワークのアーキテクチャとして、2段階検出器N1(図1)または1段階検出器N2(図1)などといった一般的な検出器が利用され得る。
(3.ハードウェア構成例)
続いて、本発明の実施形態に係るクラス識別システム1のハードウェア構成例について説明する。以下では、本発明の実施形態に係るクラス識別システム1のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、クラス識別システム1のハードウェア構成の一例に過ぎない。したがって、クラス識別システム1のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
続いて、本発明の実施形態に係るクラス識別システム1のハードウェア構成例について説明する。以下では、本発明の実施形態に係るクラス識別システム1のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、クラス識別システム1のハードウェア構成の一例に過ぎない。したがって、クラス識別システム1のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
図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と、を備える。
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
以上、本発明の実施形態に係るクラス識別システム1のハードウェア構成例について説明した。
1 クラス識別システム
11 データ部
12 階層構造生成部
13 学習部
14 推論部
60 階層構造
11 データ部
12 階層構造生成部
13 学習部
14 推論部
60 階層構造
本発明は、学習装置、学習方法および学習プログラムに関する。
Claims (10)
- 第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造を生成する階層構造生成部と、
前記第1のニューラルネットワークに含まれるソフトマックス関数をシグモイド関数に置換し、教師データと、置換後の第1のニューラルネットワークから訓練データに対応して出力される出力データと、前記階層構造とに基づいて、同一のクラスを上位クラスとするクラスの集合である層ごとに誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第1のニューラルネットワークの学習処理を行う学習部と、
を備える、学習装置。 - 前記階層構造生成部は、前記クラスに関する情報に基づいて、前記第1のクラス群に1または複数のクラスが追加された第2のクラス群を構成するクラス同士の上下関係を示す階層構造を生成するとともに、前記1または複数のクラスの追加に基づいて、前記第1のニューラルネットワークを第2のニューラルネットワークに変換し、
前記学習部は、前記第2のニューラルネットワークの出力層の追加されたクラスに対応するノードの活性化関数としてシグモイド関数を導入するとともに、前記ソフトマックス関数をシグモイド関数に置換し、前記教師データと、置換後の第2のニューラルネットワークから前記訓練データに対応して出力される出力データと、前記階層構造とに基づいて、層ごとの誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第2のニューラルネットワークの学習処理を行う、
請求項1に記載の学習装置。 - 前記誤差は、交差エントロピー誤差である、
請求項1または2に記載の学習装置。 - 前記層ごとの誤差の合計は、前記層ごとの誤差の重み付け和である、
請求項1~3のいずれか一項に記載の学習装置。 - 第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造を生成することと、
前記第1のニューラルネットワークに含まれるソフトマックス関数をシグモイド関数に置換し、教師データと、置換後の第1のニューラルネットワークから訓練データに対応して出力される出力データと、前記階層構造とに基づいて、同一のクラスを上位クラスとするクラスの集合である層ごとに誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第1のニューラルネットワークの学習処理を行うことと、
を含む、学習方法。 - コンピュータを、
第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造を生成する階層構造生成部と、
前記第1のニューラルネットワークに含まれるソフトマックス関数をシグモイド関数に置換し、教師データと、置換後の第1のニューラルネットワークから訓練データに対応して出力される出力データと、前記階層構造とに基づいて、同一のクラスを上位クラスとするクラスの集合である層ごとに誤差を算出し、算出した層ごとの誤差の合計を損失関数として、前記置換後の第1のニューラルネットワークの学習処理を行う学習部と、
を備える学習装置として機能させる学習プログラム。 - 第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて生成された、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造と、教師データと、ソフトマックス関数がシグモイド関数に置換された後の第1のニューラルネットワークから訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、前記階層構造とに基づいて、前記テストデータが属するクラスの識別処理を行う推論部を備える、
推論装置。 - 前記推論部は、前記テストデータに対応する出力データと前記階層構造とに基づいて、前記第1のクラス群を構成するクラス全体における各クラスの信頼度を算出し、前記クラス全体における各クラスの信頼度に基づいて前記識別処理を行う、
請求項7に記載の推論装置。 - 第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて生成された、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造と、教師データと、ソフトマックス関数がシグモイド関数に置換された後の第1のニューラルネットワークから訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、前記階層構造とに基づいて、前記テストデータが属するクラスの識別処理を行うことを含む、
推論方法。 - コンピュータを、
第1のニューラルネットワークによって識別可能な第1のクラス群を構成するクラスに関する情報に基づいて生成された、前記第1のクラス群を構成するクラス同士の上下関係を示す階層構造と、教師データと、ソフトマックス関数がシグモイド関数に置換された後の第1のニューラルネットワークから訓練データに対応して出力される出力データとに基づく学習処理によって得られた学習済みのニューラルネットワークを取得し、前記学習済みのニューラルネットワークからテストデータに対応して出力される出力データと、前記階層構造とに基づいて、前記テストデータが属するクラスの識別処理を行う推論部を備える、
推論装置として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020190447A JP2022079322A (ja) | 2020-11-16 | 2020-11-16 | 学習装置、学習方法および学習プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020190447A JP2022079322A (ja) | 2020-11-16 | 2020-11-16 | 学習装置、学習方法および学習プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022079322A true JP2022079322A (ja) | 2022-05-26 |
Family
ID=81707565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020190447A Pending JP2022079322A (ja) | 2020-11-16 | 2020-11-16 | 学習装置、学習方法および学習プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022079322A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017207947A (ja) * | 2016-05-19 | 2017-11-24 | 株式会社 ディー・エヌ・エー | 対象物の類似度判定のためのプログラム、システム、及び方法 |
WO2020121679A1 (ja) * | 2018-12-14 | 2020-06-18 | 富士フイルム株式会社 | ミニバッチ学習装置とその作動プログラムおよび作動方法 |
JP2020109627A (ja) * | 2018-12-28 | 2020-07-16 | パロ アルト リサーチ センター インコーポレイテッド | 画像現実感予測器 |
JP2020524349A (ja) * | 2017-06-16 | 2020-08-13 | マーカブル インコーポレイテッドMarkable,Inc. | 画像処理システム |
-
2020
- 2020-11-16 JP JP2020190447A patent/JP2022079322A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017207947A (ja) * | 2016-05-19 | 2017-11-24 | 株式会社 ディー・エヌ・エー | 対象物の類似度判定のためのプログラム、システム、及び方法 |
JP2020524349A (ja) * | 2017-06-16 | 2020-08-13 | マーカブル インコーポレイテッドMarkable,Inc. | 画像処理システム |
WO2020121679A1 (ja) * | 2018-12-14 | 2020-06-18 | 富士フイルム株式会社 | ミニバッチ学習装置とその作動プログラムおよび作動方法 |
JP2020109627A (ja) * | 2018-12-28 | 2020-07-16 | パロ アルト リサーチ センター インコーポレイテッド | 画像現実感予測器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019200270B2 (en) | Concept mask: large-scale segmentation from semantic concepts | |
US20230237088A1 (en) | Automatically detecting user-requested objects in digital images | |
US20170061326A1 (en) | Method for improving performance of a trained machine learning model | |
US20200134455A1 (en) | Apparatus and method for training deep learning model | |
JP6892606B2 (ja) | 位置特定装置、位置特定方法及びコンピュータプログラム | |
KR20220047228A (ko) | 이미지 분류 모델 생성 방법 및 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램, 노변 장치 및 클라우드 제어 플랫폼 | |
Wei et al. | Multi-modal depression estimation based on sub-attentional fusion | |
Deshpande et al. | Anomaly detection in surveillance videos using transformer based attention model | |
CN114821825B (zh) | 一种多粒度人脸伪造检测方法、系统、设备和介质 | |
KR20230038087A (ko) | 영상 데이터에 포함된 텍스트 플레이트 비식별화 방법 및 이를 수행하기 위한 장치 | |
US20220327394A1 (en) | Learning support apparatus, learning support methods, and computer-readable recording medium | |
JP7095726B2 (ja) | 学習装置、学習方法および学習プログラム | |
JP2022079322A (ja) | 学習装置、学習方法および学習プログラム | |
JP5445062B2 (ja) | 情報処理装置及び情報処理プログラム | |
US20230153377A1 (en) | Re-weighted self-influence for labeling noise removal in medical imaging data | |
Zheng et al. | Causally motivated multi-shortcut identification and removal | |
AU2021251463B2 (en) | Generating performance predictions with uncertainty intervals | |
CN114818979A (zh) | 一种基于最大化间隔机制的含噪多标记分类方法 | |
KR102464851B1 (ko) | 다중 스케일 특징맵을 이용하는 학습 방법 및 영상 분류 방법 | |
EP4309084A1 (en) | Method for training a classifier and system for classifying blocks | |
Liu et al. | Scene-Specialized Multitarget Detector with an SMC-PHD Filter and a YOLO Network | |
CN114238968A (zh) | 应用程序检测方法及装置、存储介质及电子设备 | |
CN111488927A (zh) | 分类阈值确定方法、装置、电子设备及存储介质 | |
CN114912502B (zh) | 一种基于表情与语音的双模态深度半监督情感分类方法 | |
US20240169272A1 (en) | Machine Learning Model for Detecting Out-Of-Distribution Inputs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220705 |