(57)【要約】【課題】後段のレイヤにおいて有用な情報と無用な情報とを適切に判定しつつ、演算量の低減を図る。【解決手段】識別装置（１００）は、複数のレイヤを有するニューラルネットワーク（１０）と、複数のレイヤのうち一のレイヤの出力である中間データから取得される複数の部分データ各々に対して、演算処理を継続するか否かの判定を行う分類器（２１、２２、２３、２４）と、複数のレイヤのうち、一のレイヤの後段のレイヤであって、中間データを入力データとするレイヤである他のレイヤにおいて、複数の部分データのうち演算処理を継続しないと判定された部分データについて演算処理が行われないように、中間データのうち、演算処理を継続しないと判定された部分データに対応するデータの変更又は前記対応するデータが他のレイヤに入力される際に適用される重みの変更を行う処理手段（３０）と、を備える。【選択図】図１
2019200648.tif 000002
【特許請求の範囲】
【請求項１】
複数のレイヤを有するニューラルネットワークと、
前記複数のレイヤのうち一のレイヤの出力である中間データから取得される複数の部分データ各々に対して、演算処理を継続するか否かの判定を行う分類器と、
前記複数のレイヤのうち、前記一のレイヤの後段のレイヤであって、前記中間データを入力データとするレイヤである他のレイヤにおいて、前記複数の部分データのうち前記演算処理を継続しないと判定された部分データについて前記演算処理が行われないように、前記中間データのうち、前記演算処理を継続しないと判定された部分データに対応するデータの変更又は前記対応するデータが前記他のレイヤに入力される際に適用される重みの変更を行う処理手段と、
を備えることを特徴とする識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを用いる識別装置の技術分野に関する。
【背景技術】
【０００２】
この種の装置で用いられる方法として、例えば、ニューラルネットワークの畳み込みレイヤの特徴マップのセットについての中間分類器による判定を行い、対象とするパターンを含まないデータを後段の畳み込みレイヤで処理しない方法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−５３８９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の方法では、対象とするパターンの一部が含まれているデータについても後段の畳み込みレイヤで処理されない（即ち、処理が中止されてしまう）ので、対象とするパターンを求めるための情報（例えば、対象とするパターンの一部を含む部分のデータ）が消失してしまうおそれがある。
【０００５】
本発明は、上記問題点に鑑みてなされたものであり、後段のレイヤにおいて有用な情報と無用な情報とを適切に判定しつつ、演算量の低減を図ることができる識別装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る識別装置は、複数のレイヤを有するニューラルネットワークと、前記複数のレイヤのうち一のレイヤの出力である中間データから取得される複数の部分データ各々に対して、演算処理を継続するか否かの判定を行う分類器と、前記複数のレイヤのうち、前記一のレイヤの後段のレイヤであって、前記中間データを入力データとするレイヤである他のレイヤにおいて、前記複数の部分データのうち前記演算処理を継続しないと判定された部分データについて前記演算処理が行われないように、前記中間データのうち、前記演算処理を継続しないと判定された部分データに対応するデータの変更又は前記対応するデータが前記他のレイヤに入力される際に適用される重みの変更を行う処理手段と、を備えるというものである。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る画像識別装置の概要を示す図である。
【図２】実施形態に係る分類器の動作の概念を説明するための図である。
【図３】実施形態に係るゼロ置換の概念を説明するための図である。
【図４】実施形態に係る画像識別装置の動作を示すフローチャートである。
【発明を実施するための形態】
【０００８】
識別装置に係る実施形態について図１乃至図３を参照して説明する。以下の実施形態では、識別装置の一例として、畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＣＮＮ）を備える画像識別装置を挙げる。
【０００９】
（構成）
実施形態に係る画像識別装置の構成について図１を参照して説明する。図１は、実施形態に係る画像識別装置の概要を示す図である。
【００１０】
図１において、画像識別装置１００は、畳み込みニューラルネットワーク１０（以降、適宜“ＣＮＮ１０”と称する）と、分類器２１、２２、２３及び２４と、処理器３０とを備えて構成されている。
【００１１】
ＣＮＮ１０は、複数のレイヤＬ０、Ｌ１、Ｌ２、Ｌ３、Ｌ４、Ｆ５及びＦ６を有する。ここで、レイヤＬ０、Ｌ１、Ｌ２、Ｌ３及びＬ４は畳み込みレイヤであり、レイヤＦ５及びＦ６は全結合レイヤである。尚、ＣＮＮ１０には、既存の技術を適用可能であるので、その詳細な説明は省略する。
【００１２】
分類器２１、２２、２３及び２４各々は、例えばサポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ：ＳＶＭ）分類器であってよい。処理器３０については後述する。
【００１３】
（動作）
画像識別装置１００の動作について図１に加えて、図２及び図３を参照して説明する。図２は、実施形態に係る分類器の動作の概念を説明するための図である。図３は、実施形態に係るゼロ置換の概念を説明するための図である。
【００１４】
入力データとしての画像に畳み込み処理が施されることによって、レイヤＬ０の中間出力値としての第１の特徴マップが出力される。分類器２１は、第１の特徴マップのサイズよりも十分に小さいサイズの窓を用いて、第１の特徴マップの一の部分から特徴量を抽出する。分類器２１は、抽出された特徴量に基づいて、該一の部分が、後段のレイヤＬ１における処理に有用であるか否かの判別を行う。分類器２１は、例えば図２に示すように、窓で第１の特徴マップ全体を走査しながら上記判別を繰り返し行い、第１の特徴マップに含まれる特徴量が後段のレイヤＬ１における処理に有用であるか否かを部分毎に判別する。
【００１５】
処理器３０は、分類器２１の判別結果に基づいて、第１の特徴マップのうち、レイヤＬ１における処理に有用でない（即ち、無用である）と判別された部分の特徴量を“０”に置換する、或いは、レイヤＬ１に係るウェイトパラメータのうち、該部分に対応するウェイトパラメータを“０”に置換する。このような処理を、本実施形態では「ゼロ置換」と称する。
【００１６】
ウェイトパラメータの置換について、図３を参照して説明を加える。図３において、Ｌｘ層の各ノードが、特徴マップの各部分（即ち、窓により特徴量が抽出された部分）に対応しているものとする。Ｌｘ層の各ノードとＬｘ＋１層の一のノードとを結ぶ各エッジには、ウェイトパラメータｗ１、ｗ２、ｗ３、…、ｗｉ、…ｗｎが設定されている。Ｌｘ層のノードＮｉが、特徴マップのうち、Ｌｘ＋１層における処理に有用でないと判別された部分に対応しているとすると、処理器３０は、ウェイトパラメータｗｉの値を“０”に置換する。
【００１７】
尚、特徴量としては、例えば、ヒートマップやエッジ等の画像的特徴、ジャイロ情報、露光、感度等のカメラ情報、等が挙げられる。
【００１８】
再び図１に戻り、レイヤＬ０から出力された第１の特徴マップに畳み込み処理が施されることによって、レイヤＬ１の中間出力値としての第２の特徴マップが出力される。分類器２２は、第２の特徴マップのサイズよりも十分に小さい窓で、第２の特徴マップ全体を走査しながら上述の判別を繰り返し行い、第２の特徴マップに含まれる特徴量が後段のレイヤＬ２における処理に有用であるか否かを部分毎に判別する。
【００１９】
処理器３０は、分類器２２の判別結果に基づいて、第２の特徴マップのうち、レイヤＬ２における処理に有用でない（即ち、無用である）と判別された部分の特徴量を“０”に置換する、或いは、レイヤＬ２に係るウェイトパラメータのうち、該部分に対応するウェイトパラメータを“０”に置換する。
【００２０】
レイヤＬ１から出力された第２の特徴マップに畳み込み処理が施されることによって、レイヤＬ２の中間出力値としての第３の特徴マップが出力される。分類器２３は、第３の特徴マップのサイズよりも十分に小さい窓で、第３の特徴マップ全体を走査しながら上述の判別を繰り返し行い、第３の特徴マップに含まれる特徴量が後段のレイヤＬ３における処理に有用であるか否かを部分毎に判別する。
【００２１】
処理器３０は、分類器２３の判別結果に基づいて、第３の特徴マップのうち、レイヤＬ３における処理に有用でない（即ち、無用である）と判別された部分の特徴量を“０”に置換する、或いは、レイヤＬ３に係るウェイトパラメータのうち、該部分に対応するウェイトパラメータを“０”に置換する。
【００２２】
レイヤＬ２から出力された第３の特徴マップに畳み込み処理が施されることによって、レイヤＬ３の中間出力値としての第４の特徴マップが出力される。分類器２４は、第４の特徴マップのサイズよりも十分に小さい窓で、第４の特徴マップ全体を走査しながら上述の判別を繰り返し行い、第４の特徴マップに含まれる特徴量が後段のレイヤＬ４における処理に有用であるか否かを部分毎に判別する。
【００２３】
処理器３０は、分類器２４の判別結果に基づいて、第４の特徴マップのうち、レイヤＬ４における処理に有用でない（即ち、無用である）と判別された部分の特徴量を“０”に置換する、或いは、レイヤＬ４に係るウェイトパラメータのうち、該部分に対応するウェイトパラメータを“０”に置換する。
【００２４】
尚、上述した判別及び分類器２１、２２、２３及び２４の構築には、既存の技術を適用可能であるので、その詳細な説明は省略する。
【００２５】
次に、画像識別装置１００の動作について図４のフローチャートを参照して説明を加える。
【００２６】
図４において、ＣＮＮ１０のＬｘ層（即ち、レイヤＬ０、Ｌ１、Ｌ２及びＬ３のいずれか）において畳み込み処理に係る演算が行われる（ステップＳ１０１）。尚、“ｘ”の初期値は“０”である。次に、Ｌｘ層に対応する分類器２１、２２、２３又は２４は、窓を用いて抽出した、Ｌｘ層の中間出力値としての特徴マップの一の部分の特徴量に基づいて、該一の部分が後段のＬｘ＋１層における処理に有用であるか否かの判別を行う（ステップＳ１０２）。
【００２７】
次に、処理器３０は、分類器２１、２２、２３又は２４の判別結果に基づいて、上記一の部分についてゼロ置換が必要であるか否かを判定する（ステップＳ１０３）。ステップＳ１０３の処理において、ゼロ置換が必要ではないと判定された場合（即ち、上記一の部分が後段のＬｘ＋１層における処理に有用であると判別された場合）（ステップＳ１０３：Ｎｏ）、後述するステップＳ１０５の処理が行われる。
【００２８】
他方、ステップＳ１０３の処理において、ゼロ置換が必要であると判定された場合（
即ち、上記一の部分が後段のＬｘ＋１層における処理に有用でないと判別された場合）（ステップＳ１０３：Ｙｅｓ）、処理器３０は、上記一の部分の特徴量を“０”に置換する、或いは、Ｌｘ＋１層に係るウェイトパラメータのうち、該一の部分に対応するウェイトパラメータを“０”に置換する（ステップＳ１０４）。
【００２９】
次に、Ｌｘ層の中間出力値としての特徴マップの全てについて判別が行われたか否かが判定される（ステップＳ１０５）。ステップＳ１０５の処理において、特徴マップの全てについて判別が行われていないと判定された場合（ステップＳ１０５：Ｎｏ）、ステップＳ１０２の処理が行われる。他方、ステップＳ１０５の処理において、特徴マップの全てについて判別が行われたと判定された場合（ステップＳ１０５：Ｙｅｓ）、“ｘ”がインクリメントされる（ステップＳ１０６）。
【００３０】
次に、“ｘ”がＮ（本実施形態では“４”）以上であるか否かが判定される（ステップＳ１０７）。ステップＳ１０７の処理において、“ｘ”がＮ未満であると判定された場合（ステップＳ１０７：Ｎｏ）、ステップＳ１０１の処理が行われる（即ち、処理が後段に移行する）。他方、ステップＳ１０７において、“ｘ”がＮ以上であると判定された場合（ステップＳ１０７：Ｙｅｓ）、図４に示す処理は終了される。
【００３１】
（技術的効果）
当該画像識別装置１００では、レイヤＬ０、Ｌ１、Ｌ２及びＬ３各々の中間出力値としての特徴マップの部分毎に、分類器２１、２２、２３又は２４により、後段の畳み込みレイヤにおける処理に有用であるか否の判別が行われる。そして、後段の畳み込みレイヤにおける処理に有用でない（即ち、無用である）と判別された部分の特徴量が“０”に置換される、或いは、該部分の特徴量を入力データとする後段の畳み込みレイヤに係るウェイトパラメータが“０”に置換される。このため、後段の畳み込みレイヤにおける処理に無用であると判別された部分については、実質的に、後段の畳み込みレイヤにおける処理が行われない（即ち、当該画像識別装置１００全体における演算量が削減される）。
【００３２】
当該画像識別装置１００では特に、後段の畳み込みレイヤにおける処理に無用であると判別された部分の特徴量又はウェイトパラメータが“０”に置換されるので、例えば後段の畳み込みレイヤにおける処理に無用であると判別された部分を、後段の畳み込みレイヤにおいて処理するか否かを管理するフラグマップを別途生成する比較例に係る装置に比べて、メモリの消費量を抑制することができる。
【００３３】
当該画像識別装置１００では特に、後段の畳み込みレイヤにおける処理に有用であるか否かの判別が特徴マップの部分毎に行われるので、後段の畳み込みレイヤにおける処理に有用である部分（例えば、識別対象の一部が含まれている部分）については、後段の畳み込みレイヤにおいて処理される。つまり、当該画像識別装置１００によれば、特徴マップのうち後段の畳み込みレイヤにおける処理に有用な部分を残しつつ、演算量の削減やメモリの消費量の抑制を行うことができる。
【００３４】
当該画像識別装置１００を、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を組み合わせた構成により実現する場合、上述の如く演算量が削減されたり、メモリの消費量が抑制されたりする結果、ＣＰＵとＧＰＵとの間に存在するシステムバスの帯域幅を削減することができる。
【００３５】
当該画像識別装置１００によれば更に、上述の如く演算量が削減されたり、メモリの消費量が抑制されたりする結果、演算時間の短縮（言い換えれば、演算速度の向上）や、当該画像識別装置１００の発熱の抑制を図ることができる。
【００３６】
以上に説明した実施形態から導き出される発明の各種態様を以下に説明する。
【００３７】
発明の一態様に係る識別装置は、複数のレイヤを有するニューラルネットワークと、前記複数のレイヤのうち一のレイヤの出力である中間データから取得される複数の部分データ各々に対して、演算処理を継続するか否かの判定を行う分類器と、前記複数のレイヤのうち、前記一のレイヤの後段のレイヤであって、前記中間データを入力データとするレイヤである他のレイヤにおいて、前記複数の部分データのうち前記演算処理を継続しないと判定された部分データについて前記演算処理が行われないように、前記中間データのうち、前記演算処理を継続しないと判定された部分データに対応するデータの変更又は前記対応するデータが前記他のレイヤに入力される際に適用される重みの変更を行う処理手段と、を備えるというものである。
【００３８】
上述の実施形態においては、畳み込みニューラルネットワーク１０がニューラルネットワークの一例に相当し、分類器２１、２２、２３及び２４が分類器の一例に相当し、処理器３０が処理手段の一例に相当し、特徴マップが中間データの一例に相当する。上述の実施形態において「後段の畳み込みレイヤにおける処理に有用でない（即ち、無用である）と判別された部分」は、「前記複数の部分データのうち前記演算処理を継続しないと判定された部分データ」の一例に相当する。
【００３９】
当該識別装置では、一のレイヤの出力である中間データから取得される複数の部分データのうち演算処理を継続しないと判定された部分データについて、該一のレイヤの後段の他のレイヤにおいて演算処理が行われない。言い換えれば、上記複数の部分データのうち演算処理を継続すると判定された部分データについては、他のレイヤにおいて演算処理が行われる。つまり、当該識別装置によれば、複数の部分データのうち他のレイヤにおける演算処理に有用な部分データを残すことができる。他方で、複数の部分データのうち他のレイヤにおける演算処理に無用な部分データ（即ち、演算処理を継続しないと判定された部分データ）についての演算処理を削減することができるので、当該識別装置全体の演算量を低減することができる。
【００４０】
従って、当該識別装置によれば、後段レイヤにおける演算処理に有用な情報と無用な情報とを適切に判定しつつ、演算量の低減を図ることができる。
【００４１】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う識別装置もまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【００４２】
１０…畳み込みニューラルネットワーク、２１、２２、２３、２４…分類器、３０…処理器、１００…画像識別装置
【図１】
2019200648.tif 000003
【図２】
2019200648.tif 000004
【図３】
2019200648.tif 000005
【図４】
2019200648.tif 000006