(57)【要約】  学習装置３０は、１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、パラメタが固定されていない層の集合である第２グループとで構成されている判別モデルに対して、第２グループのパラメタを更新するパラメタ更新処理を行う学習部３１を備える。
2020044406.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、前記複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、前記パラメタが固定されていない層の集合である第２グループとで構成されている前記判別モデルに対して、前記第２グループの前記パラメタを更新するパラメタ更新処理を行う学習部を備える
ことを特徴とする学習装置。
【請求項２】
判別用データが入力されると、判別モデルの各ユニットの出力を所定の順番で計算する推論処理を行う推論部を備える
請求項１記載の学習装置。
【請求項３】
推論部は、推論処理における第１グループからの出力を特徴量として記憶媒体に記憶させ、
学習部は、記憶されている特徴量を用いてパラメタ更新処理を行う
請求項２記載の学習装置。
【請求項４】
推論部は、特徴量を圧縮してから記憶媒体に記憶させ、
学習部は、圧縮された状態の特徴量を伸長してからパラメタ更新処理を行う
請求項３記載の学習装置。
【請求項５】
推論部は、入力された学習用データに対して第１グループを適用して特徴量を求める
請求項２から請求項４のうちのいずれか１項に記載の学習装置。
【請求項６】
判別モデルは、ニューラルネットワークである
請求項１から請求項５のうちのいずれか１項に記載の学習装置。
【請求項７】
１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、前記複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、前記パラメタが固定されていない層の集合である第２グループとで構成されている前記判別モデルに対して、前記第２グループの前記パラメタを更新するパラメタ更新処理を行う
ことを特徴とする学習方法。
【請求項８】
判別用データが入力されると、判別モデルの各ユニットの出力を所定の順番で計算する推論処理を行う
請求項７記載の学習方法。
【請求項９】
コンピュータに、
１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、前記複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、前記パラメタが固定されていない層の集合である第２グループとで構成されている前記判別モデルに対して、前記第２グループの前記パラメタを更新するパラメタ更新処理
を実行させるための学習プログラム。
【請求項１０】
コンピュータに、
判別用データが入力されると、判別モデルの各ユニットの出力を所定の順番で計算する推論処理を実行させる
請求項９記載の学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【０００２】
特許文献１には、映像信号の合成、変形、色変換等の処理を行う画像情報処理装置が記載されている。また、特許文献２には、監視システムの実運用中に効果的かつ効率的に映像解析精度を高めることができる映像処理装置が記載されている。【０００３】
上記のような映像解析技術において機械学習が取り入れられた場合、時々刻々と変化する状況に対応するための更なる工夫が求められる。時々刻々と変化する状況に対応するためには、使用される環境で取得される多様な生データを学習用データとして学習に取り入れることが求められる。学習用データは、判別モデルの学習に用いられるデータである。【０００４】
学習用データが用いられた学習（機械学習）では、例えば、学習用データが示す入力と出力の関係等に基づいて、所定の学習器で使用される演算式や判別式のパラメタが調整される。学習器は、例えば、データが入力されると、１つまたは複数のラベルに関する判別を行う判別モデルである。【０００５】
機械学習における演算資源と演算精度の関係として、例えば、非特許文献１には、ニューラルネットワークの深層学習を効率的に、特に低い消費電力で実行するための学習用演算回路および学習方法の例が記載されている。【０００６】
また、非特許文献２には、ＣＮＮ（Convolutional Neural Network）における深層学習において、複数ある畳込み層を、重みが固定される層と重みが更新される層（拡張機能層）に分けて学習範囲を制限することによって学習時間の短縮を図る学習方法の例が記載されている。【０００７】
また、機械学習における学習演算用の回路構成の例として、非特許文献３には、ＦＰＧＡ（Field-Programmable Gate Array ）をベースとしたアクセラレータ設計の最適化例が記載されている。【０００８】
以下、学習方法の概略を説明する。図１０は、入力層と出力層との間に１つ以上の中間層を含むニューラルネットワークにおける一般的な学習方法および学習のための回路構成の例を示す説明図である。【０００９】
図１０に示す例では、汎用用途の学習アルゴリズムに対応するために、大規模学習回路９０が、所定の判別モデルであるニューラルネットワーク全体を学習する。【００１０】
図１０に示す大規模学習回路９０に付された吹き出しには、ニューラルネットワークの学習過程における処理の方向および処理の範囲が模式的に記載されている。吹き出し内において、楕円９１は、ニューラルネットワークにおけるニューロンに相当するユニットを表す。【００１１】
また、線分９２（図１０に示すユニット間を結ぶ線）は、ユニット間結合を表す。また、矢印９３（図１０に示す右向きの太線矢印）は、推論処理および推論処理の範囲を表す。また、矢印９４（図１０に示す左向きの太線矢印）は、パラメタ更新処理およびパラメタ更新処理の範囲を表す。【００１２】
なお、図１０は、各ユニットへの入力が前段の層のユニットの出力になるフィードフォワード型のニューラルネットワークの例を示す。例えば、時系列情報が保持されている場合、リカレント型のニューラルネットワークのように、各ユニットへの入力に、前の時刻における前段の層のユニットの出力が含まれてもよい。【００１３】
なお、各ユニットへの入力に前の時刻における前段の層のユニットの出力が含まれる場合も、推論処理の方向は、入力層から出力層へと向かう方向（順方向）であるとみなされる。また、各ユニットへの入力は、上記の例に限定されない。【００１４】
入力層から所定の順番で行われる推論処理は、「順伝搬」とも呼ばれる。一方、パラメタ更新処理の方向は、特に限定されない。例えば、図１０に示すパラメタ更新処理のように、パラメタ更新処理の方向は、出力層から入力層へと向かう方向（逆方向）でもよい。【００１５】
なお、図１０に示すパラメタ更新処理は、誤差逆伝搬法で実行される処理の例である。しかし、パラメタ更新処理は、誤差逆伝搬法で実行される処理に限定されない。例えば、パラメタ更新処理は、ＳＴＤＰ（Spike Timing Dependent Plasticity ）で実行されてもよい。【００１６】
ニューラルネットワークに限らず、深層学習におけるモデルの学習方法の例として、次のような学習方法が挙げられる。まず、入力層に学習用データを入力した後、出力層までの各層で順方向に各ユニットの出力を計算する推論処理を行う（順伝搬：図１０に示す矢印９３参照）。【００１７】
次いで、出力層からの出力（最終出力）と学習用データが示す入力と出力の関係等とから算出される誤差に基づいて、層内の各ユニットの出力を計算するために用いられるパラメタを更新するパラメタ更新処理を行う（逆伝搬：図１０に示す矢印９４参照）。図１０に示すように、パラメタ更新処理は、出力層から第１層までの各層を逆方向に辿って行われる。また、パラメタ更新処理は、算出される誤差が最小になるように行われる。【００１８】
図１０に示すように、モデル全体が学習対象である場合、パラメタ更新処理で、入力層より後段の全ての層（第１層〜第ｎ層）における層内の各ユニットの出力を計算するために用いられるパラメタが更新される。更新されるパラメタは、例えば、層内の各ユニットと他の層のユニットを結合するユニット間結合の重みである。【００１９】
上記のようなパラメタ更新処理が、例えば学習用データが変更されながら複数回繰り返し実行されることによって、高い認識率を有する学習済みモデルが生成される。図１０は、学習を行う演算回路の実現例として、上記の推論処理とパラメタ更新処理とを高い演算精度で行う大規模学習回路９０を示す。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２００４−３５７３１３号公報
【特許文献２】国際公開第２０１４／２０８５７５号
【非特許文献】
【００２１】
【非特許文献１】Y.H.Chen, et.al., "Eyeriss: an Energy-Efficient Reconfigurable Accelerator for Deep Convolutional Neural Networks", in IEEE Jornal of Slid-State Circuits, vol.52, no.1, Jan. 2017, pp.127-138.
【非特許文献２】Wei. Liu, et.al., "SSD: Single shot MultiBox Detector", arXiv:1512.02325v5, Dec. 2016.
【非特許文献３】Chen Zhang, et.al., "Optimizing FPGA-based Accelerator Design for Deep convolutional Neural Networks", In ACM FPGA 2015, pp.160-170.
【発明の概要】
【発明が解決しようとする課題】
【００２２】
入力層より後段の全ての層における層内の各ユニットの出力を計算するために用いられるパラメタが更新される場合、学習処理（パラメタ更新処理）に係る負荷は重くなる。しかし、学習処理に係る負荷を軽減する方法は、特許文献１〜２、および非特許文献１〜３には記載されていない。【００２３】
［発明の目的］
そこで、本発明は、上述した課題を解決する、学習処理に係る負荷を軽減できる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
本発明による学習装置は、１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、パラメタが固定されていない層の集合である第２グループとで構成されている判別モデルに対して、第２グループのパラメタを更新するパラメタ更新処理を行う学習部を備えることを特徴とする。【００２５】
本発明による学習方法は、１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、パラメタが固定されていない層の集合である第２グループとで構成されている判別モデルに対して、第２グループのパラメタを更新するパラメタ更新処理を行うことを特徴とする。【００２６】
本発明による学習プログラムは、コンピュータに、１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、パラメタが固定されていない層の集合である第２グループとで構成されている判別モデルに対して、第２グループのパラメタを更新するパラメタ更新処理を実行させることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、学習処理に係る負荷を軽減できる。
【図面の簡単な説明】
【００２８】
【図１】本発明による監視システムの第１の実施形態の構成例を示すブロック図である。
【図２】本発明による監視システムの第１の実施形態の他の構成例を示すブロック図である。
【図３】第１の実施形態の学習装置１００による推論処理の動作を示すフローチャートである。
【図４】第１の実施形態の学習装置１００による学習処理の動作を示すフローチャートである。
【図５】本発明による監視システムの第２の実施形態の構成例を示すブロック図である。
【図６】本発明による監視システムの第２の実施形態の他の構成例を示すブロック図である。
【図７】第２の実施形態の学習装置１００による推論処理の動作を示すフローチャートである。
【図８】本発明による学習装置１００のハードウェア構成例を示す説明図である。
【図９】本発明による学習装置の概要を示すブロック図である。
【図１０】入力層と出力層との間に１つ以上の中間層を含むニューラルネットワークにおける一般的な学習方法および学習のための回路構成の例を示す説明図である。
【発明を実施するための形態】
【００２９】
実施形態１．
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明による監視システムの第１の実施形態の構成例を示すブロック図である。図１に示すように、監視システム１０は、学習装置１００と、特徴量画像記憶部２００と、カメラ３００とを含む。
【００３０】
パラメタ更新処理には、入力層に近い層、すなわち浅い層におけるパラメタが各処理で大きく変化しないという特徴がある。また、出力層に近い層、すなわち深い層におけるパラメタは、各処理で大きく変化するという特徴がある。
【００３１】
すなわち、浅い層に対するパラメタ更新処理が毎回行われなくても、推論処理の精度が大きく低下する可能性は低い。よって、学習処理に係る負荷を軽減するために、パラメタ更新処理の範囲を深い層に限定する方法が考えられる。本実施形態の学習装置１００は、パラメタ更新処理の範囲を深い層に限定している。
【００３２】
なお、各ブロック図に記載されている単方向の矢印は、データが流れる方向を示す。しかし、各矢印が記載されている箇所において双方向にデータが流れる可能性は排除されていない。また、各ブロック図に記載されている構成要素間の矢印の太さは、入出力されるデータの量に比例している。
【００３３】
なお、各ブロック図に記載されている「30fps 」等のフレームレートの値は一例である。各実施形態の監視システムでは、各ブロック図に記載されている値以外のフレームレートでデータが転送されてもよい。
【００３４】
図１に示すように、学習装置１００は、推論部１１０と、学習部１２０とを有する。なお、本実施形態の学習装置１００の画像処理能力は、1000fps である。
【００３５】
推論部１１０は、入力層に判別用データを入力した後、出力層までの各層で順方向に各ユニットの出力を計算する推論処理を行う機能を有する（順伝搬：図１に示す矢印９３参照）。
【００３６】
推論部１１０は、推論処理において、例えばカメラ３００から入力されたカメラ画像中の物体が指定された物体であるか否かを、判別モデルを用いて判別する。すなわち、推論部１１０は、判別用データ（例えば、カメラ画像）が入力されると、判別モデルの各ユニットの出力を所定の順番で計算する推論処理を行う。
【００３７】
また、学習部１２０は、より現実的な学習処理であるパラメタ更新処理を行う機能を有する。学習部１２０は、出力層からの出力（最終出力）と学習用データが示す入力と出力の関係等とから算出される誤差に基づいて、層内の各ユニットの出力を計算するために用いられるパラメタを更新するパラメタ更新処理を行う（逆伝搬：図１に示す矢印９４参照）。
【００３８】
図１に示す矢印９４のように、本実施形態の学習装置１００は、判別モデルの一部のみを学習対象とする。なお、学習部１２０は、パラメタ更新処理の前に、入力された学習用データに対して第ｋ層〜第ｎ層の各層に含まれる各ユニットの出力を計算する推論処理を学習処理の一部として行う。
【００３９】
また、本例の判別モデルは、図１に示すように入力層を第０層、出力層を第ｎ層とする、第０層から第ｎ層までのｎ＋１層の多層構造のニューラルネットワークである。すなわち、本例の判別モデルは、１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルである。また、入力層は、外部からのデータを入力とする。
【００４０】
また、第（ｋ−１）層は、入力層（第０層）よりも後段でかつ出力層（第ｎ層）よりも前段の中間層である。すなわち、ｋは、０＜ｋ−１＜ｎを満たす整数である。
【００４１】
以下、第１層から第（ｋ−１）層までの層の集合を第１グループともいう。また、第ｋ層から第ｎ層までの層の集合を第２グループともいう。上記の判別モデルの複数の層は、入力層、第１グループ、および第２グループの順に構成されている。
【００４２】
学習装置１００の推論部１１０は、上記と同様に順伝搬を行う。また、モデルの一部のみを学習対象とする学習装置１００の学習部１２０は、出力層からの出力（最終出力）と学習用データが示す入力と出力の関係等とから算出される誤差に基づいて、指定されたユニットに対してのみ、ユニットの出力を計算するために用いられるパラメタを更新するパラメタ更新処理を行う。
【００４３】
指定されたユニットは、例えば図１に示すように、出力層である第ｎ層から第ｋ層までの各層内のユニット、すなわち第２グループ内のユニットである。また、更新されるパラメタは、例えば、他ユニットとの結合に係る重みである。
【００４４】
なお、パラメタ更新処理が実行されない第１層から第（ｋ−１）層までの各層内のユニット、すなわち第１グループ内のユニットにおけるパラメタは、固定されている。本実施形態において第１グループ内のユニットにおけるパラメタは、学習用データである学習用画像を基に事前に決定されている。
【００４５】
すなわち、第１グループは、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である。また、第２グループは、各ユニットの出力の計算に用いられるパラメタが固定されていない層の集合である。学習部１２０は、第２グループ内のユニットにおけるパラメタを更新するパラメタ更新処理を行う。
【００４６】
学習装置１００の推論部１１０は、推論処理の結果を推論結果として出力する。例えば、カメラ３００から30fps でカメラ画像が入力された場合、推論部１１０は、30fps で推論結果を出力する。
【００４７】
また、学習装置１００の推論部１１０は、カメラ画像に対する第１層〜第（ｋ−１）層の推論処理の結果（以下、特徴量画像と呼ぶ。）を、特徴量画像記憶部２００に保存する。例えば、カメラ３００から30fps でカメラ画像が入力された場合、推論部１１０は、30fps で特徴量画像を出力する。
【００４８】
パラメタ更新処理を行う場合、学習装置１００の学習部１２０は、特徴量画像記憶部２００から、例えば1000fps で特徴量画像を読み込む。パラメタ更新処理では多くの画像が使用されるため、学習部１２０は、比較的高いフレームレートで特徴量画像を読み込む。
【００４９】
すなわち、推論部１１０は、推論処理における第１グループからの出力を特徴量（例えば、特徴量画像）として記憶媒体（例えば、特徴量画像記憶部２００）に記憶させている。また、学習部１２０は、記憶されている特徴量を用いてパラメタ更新処理を行う。
【００５０】
なお、特徴量画像記憶部２００には、学習用画像に対する第１層〜第（ｋ−１）層の推論処理の結果である特徴量画像も予め保存されている。
【００５１】
また、学習部１２０は、外部からの指示に応じて学習処理を開始する。外部からの指示は、例えば管理者等からの学習部１２０に対する手動の指示でもよいし、学習装置１００内の制御部（図示せず）からの学習部１２０に対する自動の指示でもよい。
【００５２】
図２は、本発明による監視システムの第１の実施形態の他の構成例を示すブロック図である。図２に示す監視システム１１の構成と、図１に示す監視システム１０の構成は同様である。
【００５３】
図２に示す監視システム１１では、学習装置１００の特徴量画像記憶部２００に対する新たな処理が追加されている。図１に示す監視システム１０では、学習装置１００の推論部１１０は、特徴量画像をそのまま特徴量画像記憶部２００に保存している。また、図１に示す監視システム１０では、学習装置１００の学習部１２０は、特徴量画像を特徴量画像記憶部２００からそのまま読み出している。
【００５４】
図２に示す監視システム１１では、学習装置１００の推論部１１０は、特徴量画像を圧縮してから特徴量画像記憶部２００に保存している。また、図２に示す監視システム１１では、学習装置１００の学習部１２０は、特徴量画像記憶部２００から読み出した特徴量画像を伸長してから使用している。図２に示す特徴量画像記憶部２００には、特徴量画像が圧縮された状態で保存されている。
【００５５】
一般的に、ニューラルネットワークの各層を通過したデータの量は、特徴が何度も抽出されるため、通過する前と比べて減る。例えば、量が224x224x3=150,528 のデータが、ある層では7x7x512=25,088まで、すなわち元の1/6 の量まで削減される。また、例えばＣＮＮを通過したデータには、０が多く含まれる。０は、「無視しても可」と判断されたデータに対応する。
【００５６】
すなわち、特徴量画像は、サイズの小さいデータに圧縮可能であるという性質を有する。上記の性質を基に、図２に示す特徴量画像記憶部２００には、特徴量画像が圧縮された状態で保存される。
【００５７】
以上のように、図２に示す推論部１１０は、特徴量（例えば、特徴量画像）を圧縮してから記憶媒体（例えば、特徴量画像記憶部２００）に記憶させている。また、図２に示す学習部１２０は、圧縮された状態の特徴量を伸長してからパラメタ更新処理を行う。特徴量画像が圧縮された状態で保存されると、特徴量画像記憶部２００の容量が削減可能になる。すなわち、記憶媒体に係るコストが削減される。
【００５８】
［動作の説明］
以下、本実施形態の学習装置１００の推論結果を出力する動作を図３を参照して説明する。図３は、第１の実施形態の学習装置１００による推論処理の動作を示すフローチャートである。
【００５９】
最初に、カメラ３００が学習装置１００に撮影されたカメラ画像を入力する（ステップS111）。
【００６０】
次いで、学習装置１００の推論部１１０は、順伝搬として第１層〜第ｎ層の各層に含まれる各ユニットの出力を計算する推論演算を、入力されたカメラ画像に対して実行する（ステップS112）。
【００６１】
次いで、推論部１１０は、ステップS112の処理における途中の演算結果である、第１層〜第（ｋ−１）層（第１グループ）の順伝搬の演算結果を特徴量画像として保存する（ステップS113）。具体的には、推論部１１０は、第（ｋ−１）層の各ユニットからの出力を特徴量画像記憶部２００に保存する。
【００６２】
なお、監視システム１１に含まれる学習装置１００の推論部１１０は、ステップS113で、第１層〜第（ｋ−１）層（第１グループ）の順伝搬の演算結果である特徴量画像を圧縮する。次いで、監視システム１１に含まれる学習装置１００の推論部１１０は、圧縮された特徴量画像を特徴量画像記憶部２００に保存する。
【００６３】
次いで、推論部１１０は、ステップS112の処理における演算結果である、第１層〜第ｎ層の順伝搬の演算結果を推論結果として出力する（ステップS114）。具体的には、推論部１１０は、第ｎ層の各ユニットからの出力を推論結果とする。推論結果を出力した後、学習装置１００は、推論処理を終了する。
【００６４】
次に、本実施形態の学習装置１００のパラメタを更新する動作を図４を参照して説明する。図４は、第１の実施形態の学習装置１００による学習処理の動作を示すフローチャートである。
【００６５】
最初に、学習装置１００の学習部１２０は、ステップS114で保存された特徴量画像（第（ｋ−１）層の各ユニットからの出力）を特徴量画像記憶部２００から読み出す（ステップS121）。
【００６６】
なお、監視システム１１に含まれる学習装置１００の学習部１２０は、ステップS121で、特徴量画像記憶部２００から読み出された、圧縮された状態の特徴量画像を伸展する。
【００６７】
次いで、学習部１２０は、読み出された特徴量画像に対する順伝搬の続きを実行する（ステップS122）。具体的には、学習部１２０は、第ｋ層〜第ｎ層（第２グループ）の各層に含まれる各ユニットの出力を計算する推論演算を行う。
【００６８】
次いで、学習部１２０は、一部の層に含まれる各ユニットにおけるパラメタを更新するためのパラメタ更新処理を実行する（ステップS123）。具体的には、学習部１２０は、第ｋ層〜第ｎ層（第２グループ）の各層における他ユニットとの結合重み等を更新する。
【００６９】
次いで、学習部１２０は、ステップS123のパラメタ更新処理の結果を内部メモリ（図示せず）に保存する（ステップS124）。具体的には、学習部１２０は、第ｋ層〜第ｎ層（第２グループ）の各層に含まれる各ユニットにおける更新後のパラメタを保存する。
【００７０】
なお、ステップS124でパラメタ更新処理の結果として保存された更新後のパラメタが、上述した学習済みモデルに相当する。パラメタを保存した後、学習装置１００は、学習処理を終了する。
【００７１】
なお、学習装置１００は、図３に示す推論処理と図４に示す学習処理とを並列に実行してもよい。また、想定されていない内容を示す推論結果が得られた場合、学習装置１００は、その推論結果に対応する特徴量画像を基に図４に示す学習処理を実行してもよい。
【００７２】
［効果の説明］
本実施形態の学習装置１００は、モデルの一部のみを学習対象とする。すなわち、推論処理に対する影響が小さいモデルの部分が学習対象から除外されるため、学習装置１００の学習部１２０が実行する学習処理に係る負荷は、軽減される。
【００７３】
具体的には、本実施形態の学習装置１００は、何度も同じ入力画像が用いられる学習処理において、浅い方の層の集合である第１グループにおける重みが固定されていることを利用している。学習装置１００の推論部１１０が第１グループにおける推論結果を保存することによって、第１グループにおける処理が入力画像１枚当たり１回だけに留まる。
【００７４】
さらに、学習用画像に対する特徴量画像が予め外部で計算された上で特徴量画像記憶部２００に事前に保存されるため、第１グループにおける処理が学習用画像１枚当たり０回になる。従って、学習処理に係る負荷が軽減される。また、学習処理に係る時間も短縮される。
【００７５】
実施形態２．
［構成の説明］
次に、本発明による監視システムの第２の実施形態を、図面を参照して説明する。図５は、本発明による監視システムの第２の実施形態の構成例を示すブロック図である。
【００７６】
図５に示すように、監視システム２０は、学習装置１００と、特徴量画像記憶部２００と、カメラ３００と、学習用画像記憶部４００と、カメラ画像／学習用画像選択部５００とを含む。
【００７７】
また、図５に示すように、学習装置１００は、推論部１１０と、学習部１２０とを有する。学習装置１００、特徴量画像記憶部２００、およびカメラ３００がそれぞれ有する機能は、第１の実施形態における各機能とそれぞれ同様である。
【００７８】
本実施形態の監視システム２０には、第１の実施形態と異なり、学習用画像記憶部４００と、カメラ画像／学習用画像選択部５００とが含まれている。学習用画像記憶部４００は、学習処理に使用される学習用画像を記憶する機能を有する。推論部１１０は、学習用画像記憶部４００から入力された学習用データである学習用画像に対して、第１グループを適用して特徴量画像を求める。
【００７９】
カメラ画像／学習用画像選択部５００は、学習装置１００に入力する画像を選択する機能を有する。本実施形態のカメラ３００は、撮影されたカメラ画像をカメラ画像／学習用画像選択部５００に入力する。また、カメラ画像／学習用画像選択部５００は、学習用画像記憶部４００から、学習用画像を読み出す。
【００８０】
カメラ画像／学習用画像選択部５００は、入力された画像のうちカメラ画像のみを学習装置１００に入力してもよいし、学習用画像のみを学習装置１００に入力してもよい。また、カメラ画像／学習用画像選択部５００は、カメラ画像と学習用画像の両方の画像を学習装置１００に入力してもよい。
【００８１】
図５に示すように、本実施形態の学習装置１００も、モデルの一部のみを学習対象とする。モデルの一部のみが学習対象である場合、学習用画像記憶部４００から学習用画像が読み出されるフレームレートが、モデル全体が学習対象である場合に比べて低減される。
【００８２】
例えば、モデル全体が学習対象である場合、学習用画像記憶部４００から学習用画像が読み出されるフレームレートが図５に示す「70fps 」以上である（例えば、1000fps ）ことが考えられる。しかし、モデルの一部のみが学習対象である場合、学習用画像記憶部４００から学習用画像が読み出されるフレームレートは、「70fps 」程度に抑えられる。
【００８３】
学習用画像記憶部４００から学習用画像が読み出されるフレームレートが抑えられるため、学習用画像記憶部４００とカメラ画像／学習用画像選択部５００との間の通信路に求められる画像処理能力も抑えられる。また、カメラ画像／学習用画像選択部５００と学習装置１００との間の通信路に求められる画像処理能力も抑えられる。
【００８４】
図６は、本発明による監視システムの第２の実施形態の他の構成例を示すブロック図である。図６に示す監視システム２１の構成と、図５に示す監視システム２０の構成は同様である。
【００８５】
本実施形態においても、記憶媒体に係るコストが削減されるように特徴量画像が圧縮されてもよい。すなわち、図６に示す監視システム２１では、学習装置１００の推論部１１０が、特徴量画像を圧縮してから特徴量画像記憶部２００に保存している。
【００８６】
また、学習装置１００の学習部１２０は、特徴量画像記憶部２００から読み出した特徴量画像を伸長してから使用する。図６に示す特徴量画像記憶部２００には、特徴量画像が圧縮された状態で保存されている。
【００８７】
［動作の説明］
以下、本実施形態の学習装置１００の推論結果を出力する動作を図７を参照して説明する。図７は、第２の実施形態の学習装置１００による推論処理の動作を示すフローチャートである。
【００８８】
最初に、カメラ３００がカメラ画像／学習用画像選択部５００に撮影されたカメラ画像を入力する。また、カメラ画像／学習用画像選択部５００が、学習用画像記憶部４００から学習用画像を読み出す。次いで、カメラ画像／学習用画像選択部５００は、入力されたカメラ画像と学習用画像とを、学習装置１００に入力する（ステップS211）。
【００８９】
次いで、学習装置１００の推論部１１０は、順伝搬として第１層〜第ｎ層の各層に含まれる各ユニットの出力を計算する推論演算を、入力されたカメラ画像に対して実行する（ステップS212）。
【００９０】
次いで、推論部１１０は、順伝搬として第１層〜第（ｋ−１）層（第１グループ）の各層に含まれる各ユニットの出力を計算する推論演算を、入力された学習用画像に対して実行する（ステップS213）。
【００９１】
次いで、推論部１１０は、ステップS212の処理における途中の演算結果である、第１層〜第（ｋ−１）層（第１グループ）の順伝搬の演算結果を特徴量画像として保存する。
【００９２】
また、推論部１１０は、ステップS213の処理における演算結果である、第１層〜第（ｋ−１）層（第１グループ）の順伝搬の演算結果を特徴量画像として保存する（ステップS214）。具体的には、推論部１１０は、第（ｋ−１）層の各ユニットからの出力を特徴量画像記憶部２００に保存する。
【００９３】
なお、監視システム２１に含まれる学習装置１００の推論部１１０は、ステップS214で、第１層〜第（ｋ−１）層（第１グループ）の順伝搬の演算結果である特徴量画像を圧縮する。次いで、監視システム２１に含まれる学習装置１００の推論部１１０は、圧縮された特徴量画像を特徴量画像記憶部２００に保存する。
【００９４】
次いで、推論部１１０は、ステップS212の処理における演算結果である、第１層〜第ｎ層の順伝搬の演算結果を推論結果として出力する（ステップS215）。具体的には、推論部１１０は、第ｎ層の各ユニットからの出力を推論結果とする。推論結果を出力した後、学習装置１００は、推論処理を終了する。
【００９５】
なお、本実施形態の学習装置１００の学習部１２０による学習処理は、図４に示す学習処理と同様である。
【００９６】
［効果の説明］
本実施形態の学習装置１００は、モデルの一部のみを学習対象とする。すなわち、推論処理に対する影響が小さいモデルの部分が学習対象から除外されるため、学習装置１００の学習部１２０が実行する学習処理に係る負荷は、軽減される。
【００９７】
具体的には、本実施形態の学習装置１００は、何度も同じ入力画像が用いられる学習処理において、浅い方の層の集合である第１グループにおける重みが固定されていることを利用している。学習装置１００の推論部１１０が第１グループにおける推論結果を保存することによって、第１グループにおける処理が画像１枚当たり１回だけに留まるため、学習処理に係る負荷が軽減される。また、学習処理に係る時間も、短縮される。
【００９８】
また、モデルの一部のみが学習対象であるため、監視システム２０または監視システム２１の設計者は、学習装置１００への学習用画像の入力に使用される通信路の性能を、モデル全体が学習対象である場合に比べて下げることができる。
【００９９】
以下、各実施形態の学習装置１００のハードウェア構成の具体例を説明する。図８は、本発明による学習装置１００のハードウェア構成例を示す説明図である。
【０１００】
図８に示す学習装置１００は、プロセッサ１０８と、主記憶装置１０２と、補助記憶装置１０３と、インタフェース１０４と、出力デバイス１０５と、入力デバイス１０６とを備える。また、プロセッサ１０８は、ＣＰＵ１０１や、ＧＰＵ１０７等の各種演算・処理装置を含んでいてもよい。
【０１０１】
図８に示すように実装される場合、学習装置１００の動作は、プログラムの形式で補助記憶装置１０３に記憶されていてもよい。プログラムが補助記憶装置１０３に記憶される場合、ＣＰＵ１０１は、プログラムを補助記憶装置１０３から読み出して主記憶装置１０２に展開し、展開されたプログラムに従って学習装置１００における所定の処理を実行する。
【０１０２】
なお、ＣＰＵ１０１は、プログラムに従って動作する情報処理装置の一例である。学習装置１００は、ＣＰＵ（Central Processing Unit ）以外にも、例えば、ＭＰＵ（Micro Processing Unit ）やＭＣＵ（Memory Control Unit ）やＧＰＵ（Graphics Processing Unit）を備えていてもよい。図８には、学習装置１００がＣＰＵ１０１に加えて、ＧＰＵ１０７をさらに備える例が記載されている。
【０１０３】
補助記憶装置１０３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース１０４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory ）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory ）、半導体メモリ等が挙げられる。
【０１０４】
また、補助記憶装置１０３に記憶される対象のプログラムが補助記憶装置１０３に記憶される代わりに通信回線によって学習装置１００に配信される場合、配信を受けた学習装置１００は、配信されたプログラムを主記憶装置１０２に展開し、所定の処理を実行してもよい。
【０１０５】
また、プログラムは、学習装置１００における所定の処理の一部を実現するためのものでもよい。さらに、プログラムは、補助記憶装置１０３に既に記憶されている他のプログラムと組み合わせられて使用される、学習装置１００における所定の処理を実現するための差分プログラムでもよい。
【０１０６】
インタフェース１０４は、他の装置との間で情報の送受信を行う。また、出力デバイス１０５は、ユーザに情報を提示する。また、入力デバイス１０６は、ユーザからの情報の入力を受け付ける。
【０１０７】
また、学習装置１００における処理内容によっては、図８に示す一部の要素は省略可能である。例えば、学習装置１００がユーザに情報を提示しないのであれば、出力デバイス１０５は省略可能である。また、例えば、学習装置１００がユーザから情報入力を受け付けないのであれば、入力デバイス１０６は省略可能である。
【０１０８】
また、上記の各構成要素の一部または全部は、汎用または専用の回路（Circuitry ）、プロセッサ等やこれらの組み合わせによって実現される。これらは単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。また、上記の各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【０１０９】
上記の各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【０１１０】
次に、本発明の概要を説明する。図９は、本発明による学習装置の概要を示すブロック図である。本発明による学習装置３０は、１つ以上のユニットでそれぞれ構成された複数の層が層状に結合された判別モデルであって、複数の層が外部からのデータを入力とする入力層と、各ユニットの出力の計算に用いられるパラメタが固定されている層の集合である第１グループと、パラメタが固定されていない層の集合である第２グループとで構成されている判別モデルに対して、第２グループのパラメタを更新するパラメタ更新処理を行う学習部３１（例えば、学習部１２０）を備える。
【０１１１】
そのような構成により、学習装置は、学習処理に係る負荷を軽減できる。
【０１１２】
また、学習装置３０は、判別用データが入力されると、判別モデルの各ユニットの出力を所定の順番で計算する推論処理を行う推論部（例えば、推論部１１０）を備えてもよい。
【０１１３】
そのような構成により、学習装置は、推論処理を実行できる。
【０１１４】
また、推論部は、推論処理における第１グループからの出力を特徴量として記憶媒体（例えば、特徴量画像記憶部２００）に記憶させ、学習部３１は、記憶されている特徴量を用いてパラメタ更新処理を行ってもよい。
【０１１５】
そのような構成により、学習装置は、学習処理に係る時間を短縮できる。
【０１１６】
また、推論部は、特徴量を圧縮してから記憶媒体に記憶させ、学習部３１は、圧縮された状態の特徴量を伸長してからパラメタ更新処理を行ってもよい。
【０１１７】
そのような構成により、学習装置は、記憶媒体に係るコストを削減できる。
【０１１８】
また、推論部は、入力された学習用データに対して第１グループを適用して特徴量を求めてもよい。
【０１１９】
そのような構成により、学習装置は、新規の学習用データを用いて学習処理を実行できる。
【０１２０】
また、判別モデルは、ニューラルネットワークでもよい。
【０１２１】
そのような構成により、学習装置は、深層学習を実行できる。
【０１２２】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１２３】
１０、１１、２０、２１  監視システム
３０、１００  学習装置
３１、１２０  学習部
９０  大規模学習回路
１０１  ＣＰＵ
１０２  主記憶装置
１０３  補助記憶装置
１０４  インタフェース
１０５  出力デバイス
１０６  入力デバイス
１０７  ＧＰＵ
１０８  プロセッサ
１１０  推論部
２００  特徴量画像記憶部
３００  カメラ
４００  学習用画像記憶部
５００  カメラ画像／学習用画像選択部
【図１】
2020044406.tif 000003
【図２】
2020044406.tif 000004
【図３】
2020044406.tif 000005
【図４】
2020044406.tif 000006
【図５】
2020044406.tif 000007
【図６】
2020044406.tif 000008
【図７】
2020044406.tif 000009
【図８】
2020044406.tif 000010
【図９】
2020044406.tif 000011
【図１０】
2020044406.tif 000012
【国際調査報告】
2020044406.tif 000013
2020044406.tif 000014