【手続補正書】
【提出日】平成29年3月31日(2017.3.31)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
ランダムプロジェクションでは、乱数に基づいて生成した基底ベクトルを用いて特徴ベクトルをより低次元の空間に射影する。一般的に射影演算を実現する場合、特許文献１に開示されている様に、記憶装置に格納された基底ベクトル（別途予め算出された基底ベクトル）を参照しながら処理する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
特徴抽出処理部１０２は、外部メモリ１１１から転送された画素ブロックごとに、該画素ブロックからｎ次元の特徴ベクトル（要素数がｎのベクトル）を抽出する。この特徴ベクトルは、例えば、輝度勾配の方向をビンとしたヒストグラムや複数画像フレーム間の画素の動きベクトル（オプティカルフロー等）の方向をビンとしたヒストグラム等、識別目的に応じて定める様々な特徴量に基づくデータ列である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
まずＤＭＡＣ１０８によって外部メモリ１１１に格納されている乱数シードをシードバッファ１０７に転送する（８０１、８０３）。特徴抽出処理部１０２は、この転送に並行して特徴抽出処理を実行する（８１５）。特徴抽出処理（８１５）と乱数シードの転送（８０１，８０３）を終了すると、シードバッファ１０７からの乱数シードの読み出し（８０６）、乱数生成処理（８０８）、基底ベクトル生成処理（８１０）を順次実行する。生成された基底ベクトルと格納済みの特徴ベクトルに対して内積演算処理を実行する（８１２）。ここでは、内積演算処理部１０３で並列に処理する基底ベクトルの個数分の内積演算が実行される。ここでの一連の処理と並行して、次の内積演算処理（８１３）のための乱数シードの転送を開始する（８０２、８０４）。内積演算処理（８１２）が終了すると、シードバッファ１０７に格納された乱数シードを参照して乱数生成処理（８０９）、基底ベクトル生成処理（８１１）を順次実行する。更に、生成された基底ベクトルと特徴抽出処理８１５で抽出された特徴ベクトルとの内積演算を実行する（８１３）。内積演算（８１３）を終了すると、得られた射影ベクトルに対して識別処理（８１４）を開始する。この様に本実施形態では、外部メモリに格納する少量の乱数シードに基づいて基底ベクトルを動的に生成しながら射影演算を実行する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
【数６】
2015197702.tif 000001
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
第３層（特徴面１１１１）では、前階層の特徴面１１０７ａ、１１０７ｂに対する非線形コンボリューション演算により検出対象の存在尤度を算出する（１１１２）。ここで、式（６）は一つのコンボリューションフィルタを基底ベクトルとすると式（１）に示す射影演算の総和（前階層への結合数i）に非線形関数演算を追加したものと捉える事ができる（式（７））。つまり、非線形コンボリューション演算を非線形射影演算と定義できる（射影後の次元は特徴面の数に対応することになる）。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
【数７】
2015197702.tif 000002
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
一般的にコンボリューションフィルタの係数Ｅi（＝ｗｅｉｇｈｔ）はバックプロパゲーション等により学習される。一方、非特許文献２に開示されている様に、下位階層（本実施形態の場合、第１層１１０６、第２層１１１０）の係数Ｗｅｉｇｈｔに乱数を使用しても良い検出性能を示す事が知られている。本実施形態では第１層１１０６、第２層１１１０のコンボリューションフィルタ１１０４ａ〜１１０４ｃ、１１０８ａ〜１１０８ｆの係数が乱数から生成するものとする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
図１３はＣＮＮ回路の動作タイミングを模式的に説明する図である。図１３は特徴面１１０７ａの一つの注目点の値を算出する場合の例を示している。１３０１ａはシードデータの読み出し処理であり、１１０８ａのフィルタ演算の係数に対応する乱数シードのシードメモリ１２０５からの読み出しを示す。１３０２ａは乱数生成処理部１２０４の動作期間であり、１３０１ａで読みだされた乱数シードに基づいて乱数列を生成する処理を示す。１３０３ａは基底ベクトル生成処理部１２０３の動作期間であり、乱数生成処理部１２０４で生成された乱数列に基づいてコンボリューションフィルタ１１０８ａの係数に相当する基底ベクトルを生成する。即ち乱数列から所定の条件でフィルタ係数列を取り出す。１３０４ａは特徴面データ保持メモリ１２０２からのデータ読み出し期間を示す。ここでは１１０５ａに相当する特徴面の領域データを読み出す。１３０５ａは非線形コンボリューション演算処理部１２０１の動作期間を示す。ここでは基底ベクトル生成処理部１２０３で生成されたフィルタ係数と特徴面データ保持メモリ１２０２から読み出された前階層の特徴データとの内積演算を実行し、その結果を累積加算器に格納する。同様に１３０１ｂ〜１３０５ｂのタイミングで前階層の特徴１１０５ｂに対して１１０８ｂに示すフィルタ演算を実行し、その結果を累積加算する。更に同様に１３０１ｃ〜１３０５ｃのタイミングで前階層の特徴１１０５ｃに対して１１０８ｃに示すフィルタ演算を実行し、その結果を累積加算する。１３０６は３つのフィルタ演算の結果の累積和を非線形変換処理するタイミングである。なお、バイアス項は図示しないメモリに階層毎に格納し、その加算も１３０６で処理されるものとする。非線形変換処理された累積加算結果は１３０７で特徴面データ保持メモリ１２０２に格納する。以上の処理をラスタスキャン順に処理する事で特徴面１１０７ａを算出する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
また、第３の実施形態では、ＣＮＮに適用した場合について説明したが、乱数に基づく係数による複数のコンボリューション演算処理を有する様々な処理に対応可能である。また、一般的なＭｕｌｔｉ  Ｌａｙｅｒ Ｐｅｒｃｅｐｔｒｏｎ型のニューラルネットワークに適用しても良い。この場合、階層型ニューラルネットワークの一つのニューロン値を算出するための前階層ニューロン値に対する結合係数列が上記の基底ベクトルに対応する。更に、以下に開示されているＲｅｃｕｒｓｉｖｅ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ等に適用しても良い。
【手続補正１０】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
変換元ベクトルを取得する取得手段と、
メモリに格納されている複数の乱数シードを用いて複数の乱数列を生成する生成手段と、
前記複数の乱数列から複数の基底ベクトルを生成し、該生成した複数の基底ベクトルを用いて前記変換元ベクトルに対する乱数射影を行うことで、該変換元ベクトルをより低次元のベクトルに変換する変換手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記変換手段は、前記複数の基底ベクトルのそれぞれと、前記変換元ベクトルと、の内積演算を行うことで、前記変換元ベクトルをより低次元のベクトルに変換することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変換手段は、前記複数の乱数列を、前記複数の基底ベクトルとすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記変換手段は、前記複数の乱数列から平均乱数列を求め、該求めた平均乱数列から前記基底ベクトルを取り出すことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
更に、
複数の乱数シードの候補のそれぞれについて、該候補を用いて乱数列を生成し、該乱数列から基底ベクトルを生成し、該基底ベクトルと、複数の学習画像のそれぞれから予め抽出された特徴ベクトルと、の内積演算の結果から、該候補に対する評価値を求める手段と、
前記複数の乱数シードの候補のうち前記評価値が高い順に上位から、前記変換手段により変換するベクトルの次元数に対応する個数の候補を、前記生成手段が用いる乱数シードとして前記メモリに登録する手段と
を備えることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記基底ベクトルは、コンボリューション演算で用いるフィルタ係数であることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記基底ベクトルは、コンボリューショナルニューラルネットワークで用いるフィルタ係数であることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項８】
前記基底ベクトルは、階層型ニューラルネットワークにおける１つのニューロン値を算出するための前階層ニューロン値に対する結合係数列であることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項９】
情報処理装置が行う情報処理方法であって、
前記情報処理装置の取得手段が、変換元ベクトルを取得する取得工程と、
前記情報処理装置の生成手段が、メモリに格納されている複数の乱数シードを用いて複数の乱数列を生成する生成工程と、
前記情報処理装置の変換手段が、前記複数の乱数列から複数の基底ベクトルを生成し、該生成した複数の基底ベクトルを用いて前記変換元ベクトルに対する乱数射影を行うことで、該変換元ベクトルをより低次元のベクトルに変換する変換工程と
を備えることを特徴とする情報処理方法。
【請求項１０】
コンピュータを、請求項１乃至８の何れか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。