(57)【要約】  【課題】  多層ニューラルネットワークの層数を調整できる学習装置を提供する。  【解決手段】  ＰＤＮＮ学習装置１００は、教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置であって、隠れ層に、出力層に順伝搬しないプロービングニューロンを有する多層ニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習部１２と、プロービングニューロンのコストに基づいて多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とする層数調整部１３と、層数調整部１３にて上層を除去された多層ニューラルネットワークについて再学習を行う再学習部１４とを備えている。【選択図】  図１
2015095215.tif 000002
【特許請求の範囲】
【請求項１】
教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置であって、
隠れ層に、出力層に順伝搬しないプロービングニューロンを有する多層ニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習部と、
前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とする層数調整部と、
を備えたことを特徴とする学習装置。
【請求項２】
前記層数調整部にて上層を除去された多層ニューラルネットワークについて再学習を行う再学習部をさらに備えたことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記層数調整部は、さらに、前記再学習部にて再学習された多層ニューラルネットワークについて、前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とすることを特徴とする請求項２に記載の学習装置。
【請求項４】
前記層数調整部は、コストが最小となる前記プロービングニューロンを前記出力層とすることを特徴とする請求項１ないし３のいずれか一項に記載の学習装置。
【請求項５】
前記層数調整部は、前記多層ニューラルネットワークの出力層のコストが最小でない場合に、コストが最小である前記プロービングニューロンを有する層よりも上層の少なくとも１つの前記プロービングニューロンを残して前記多層ニューラルネットワークの上層を除去することを特徴とする請求項３に記載の学習装置。
【請求項６】
前記プロービングニューロンに接続する部分が層構造を有することを特徴とする請求項１ないし５のいずれか一項に記載の学習装置。
【請求項７】
教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置であって、
請求項１ないし６のいずれか一項に記載の学習装置で学習された多層ニューラルネットワークから前記プロービングニューロンを除去した多層ニューラルネットワークを初期多層ニューラルネットワークとして使用した学習を行うことを特徴とする学習装置。
【請求項８】
請求項１ないし６のいずれか一項の学習装置によって得られた多層ニューラルネットワークを用いて識別を行う識別器であって、
前記プロービングニューロンによって識別を行うことで早期棄却を行うことを特徴とする識別器。
【請求項９】
前記プロービングニューロンによって出力層のいずれかのユニットに該当するか否かを判断することで前記早期棄却を行うことを特徴とする請求項８に記載の識別器。
【請求項１０】
教師あり学習によって順伝搬型の畳み込みニューラルネットワークの学習を行う学習装置であって、
隠れ層に、マップに連結するプロービングニューロンを有する畳み込みニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習部と、
前記プロービングニューロンのコストに基づいて前記畳み込みニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを畳み込みの出力層とする層数調整部と、
を備えたことを特徴とする学習装置。
【請求項１１】
コンピュータを、
教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置であって、
隠れ層に、出力層に順伝搬しないプロービングニューロンを有する多層ニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習部と、
前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とする層数調整部と、
を備えた学習装置として機能させることを特徴とする学習プログラム。
【請求項１２】
教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習方法であって、
隠れ層に、出力層に順伝搬しないプロービングニューロンを有する多層ニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習ステップと、
前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とする層数最適化ステップと、
を含むことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置、学習プログラム、及び学習方法に関するものである。
【背景技術】
【０００２】
教師あり学習によって得られる多層ニューラルネットワークは、識別能力が高く優れた計算モデルである。教師あり学習によって多層ニューラルネットワークの構造を決定するに際して、ある与えられた訓練データ（教師データともいう。）に対してどのような構造の多層ニューラルネットワークが高い汎化能力（学習に使用していないデータに対する識別性能）を与えるかを説明する理論はいまだ確立されておらず、従来より、汎化能力の高い多層ニューラルネットワークの構造を得るための手法として、発見的手法が採用されてきた。
【０００３】
例えば、X. Liang, “Removal of Hidden Neurons by Crosswise Propagation”, Neural Information Processing-Letters and Reviews, Vol. 6, No 3, 2005.（非特許文献１）では、多層ニューラルネットワークの各隠れ層のユニットを１つずつ除去することで最適なネットワーク構造を構築する方法が提案されている。この方法は、初期設定された多層ニューラルネットワーク（以下単に「初期多層ニューラルネットワーク」又は「初期ネットワーク」という。）を充分に訓練した状態で、以下の要領に従ってユニットを削減する：訓練データに対し、同じ層の異なるユニットの出力同士の相関を計算する；相関が最も高いものを１つ除去する；ユニットの除去の後、それ以外の重みの学習を再開する；再学習とユニットの除去をコスト関数が上昇に転じるまで繰り返す。なお、最初のネットワーク構造は手動で与えられる。
【０００４】
また、特許第３７５７７２２号公報（特許文献１）には、教師あり学習における多層ニューラルネットワークの中間層（隠れ層）のユニット数を最適化する方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３７５７７２２号公報
【非特許文献】
【０００６】
【非特許文献１】X. Liang, “Removal of Hidden Neurons by Crosswise Propagation”, Neural Information Processing-Letters and Reviews, Vol. 6, No 3, 2005.
【非特許文献２】Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel, "Handwritten Digit Recognition with a Back-Paopagation Network", Advances in Neural Information Processing Systems (NIPS), pp. 396-404, 1990.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多層ニューラルネットワークの構造を決定するための上記の従来手法に共通することは、初期ネットワークを最初に訓練し、汎化能力が良くなると期待できる指標に従ってユニットを増減することで隠れ層のユニット数を自動決定する点である。即ち、従来手法は、層数を固定してユニット数を最適化するものであって、層数自体を最適化するものではない。
【０００８】
多層ニューラルネットワークは一般に識別性能が良いとされるが、多層になればなるほど識別に時間がかかり、従って層数は識別性能と計算量を大きく左右するパラメタである。しかしながら、上述のように、従来、層数の最適な決定方法は提案されていない。また、畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）においても、フィルタ層の層数、またフィルタ層に続く全結合層の層数は、設計者によって手動で決められるのが現状であり、フィルタ層と全結合層の最適な層数の決定方法は提案されていない。
【０００９】
本発明は、上記の問題に鑑みてなされたものであり、多層ニューラルネットワークの層数を自動で調整できる学習装置、学習プログラム、及び学習方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の態様の学習装置は、教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置であって、隠れ層に、出力層に順伝搬しないプロービングニューロンを有する多層ニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習部と、前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とする層数調整部とを備えたことを特徴とする。
【００１１】
この構成によれば、層数調整部が学習部における学習に基づいて、多層ニューラルネットワークの不要な上層を除去するので、層数を無駄に多くして処理負荷及び計算に要する時間を増大させることなく、十分な汎化能力を有する多層ニューラルネットワークを取得できる。
【００１２】
本発明の第２の態様の学習装置は、第１の態様の学習装置において、前記層数調整部にて上層を除去された多層ニューラルネットワークについて再学習を行う再学習部をさらに備えたことを特徴とする。
【００１３】
この構成によれば、不要な上層を除去した後に再学習を行うので、コストをさらに低減できる。
【００１４】
本発明の第３の態様の学習装置は、第２の態様の学習装置において、前記層数調整部は、さらに、前記再学習部にて再学習された多層ニューラルネットワークについて、前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とすることを特徴とする。
【００１５】
この構成によれば、再学習部による再学習の後に再度上層の除去を試み、必要に応じて上層を除去するので、さらに層数を最適化できる。
【００１６】
本発明の第４の態様の学習装置は、第１ないし第３のいずれかの態様の学習装置において、前記層数調整部は、コストが最小となる前記プロービングニューロンを前記出力層とすることを特徴とする。
【００１７】
この構成によれば、出力層のコストを最小化して、層数を最適化できる。
【００１８】
本発明の第５の態様の学習装置は、第３の態様の学習装置において、前記層数調整部は、前記多層ニューラルネットワークの隠れ層の最上層の前記プロービングニューロンのコストが最小でない場合に、コストが最小である前記プロービングニューロンを有する層よりも上層の少なくとも１つの前記プロービングニューロンを残して前記多層ニューラルネットワークの上層を除去することを特徴とする。
【００１９】
この構成によれば、層を上層側から徐々に除去していくので、複数回の再学習によって、最適な層数を決定することができる。
【００２０】
本発明の第６の態様の学習装置は、第１ないし第５のいずれかの態様の学習装置において、前記プロービングニューロンに接続する部分が層構造を有することを特徴とする。
【００２１】
この構成によれば、プロービングニューロンに接続する部分が層構造をなすことで、プロービングニューロンの識別性能を高めることができ、さらに、隠れ層の線形分離性能の最適化の制約がないので、出力層における識別性能の向上も期待できる。
【００２２】
本発明の第７の態様の学習装置は、教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置であって、第１ないし第６のいずれかの態様の学習装置で学習された多層ニューラルネットワークから前記プロービングニューロンを除去した多層ニューラルネットワークを初期多層ニューラルネットワークとして使用した学習を行うことを特徴とする。
【００２３】
この構成によれば、識別性能の高い初期多層ニューラルネットワークを提供できる。
【００２４】
本発明の第８の態様の識別器は、第１ないし第６のいずれかの学習装置によって得られた多層ニューラルネットワークを用いて識別を行う識別器であって、前記プロービングニューロンによって識別を行うことで早期棄却を行うことを特徴とする。
【００２５】
この構成によれば、早期棄却を採用した高速な識別が可能となる。
【００２６】
本発明の第９の態様の識別器は、第８の態様の識別器において、前記プロービングニューロンによって出力層のいずれかのユニットに該当するか否かを判断することで前記早期棄却を行うことを特徴とする。
【００２７】
この構成によれば、出力層のいずれかのユニットに該当するか否かを早期に判断して、計算量を削減できる。
【００２８】
本発明の第１０の態様の学習装置は、教師あり学習によって順伝搬型の畳み込みニューラルネットワークの学習を行う学習装置であって、隠れ層に、マップに連結するプロービングニューロンを有する畳み込みニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習部と、前記プロービングニューロンのコストに基づいて前記畳み込みニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを畳み込みの出力層とする層数調整部とを備えたことを特徴とする。
【００２９】
この構成によれば、層数調整部が学習部における学習に基づいて、畳み込みニューラルネットワークの不要な上層を除去するので、層数を無駄に多くして処理負荷及び計算に要する時間を増大させることなく、十分な汎化能力を有する畳み込みニューラルネットワークを取得できる。
【００３０】
本発明の第１１の態様の学習プログラムは、コンピュータを、教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置であって、隠れ層に、出力層に順伝搬しないプロービングニューロンを有する多層ニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習部と、前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とする層数調整部とを備えた学習装置として機能させることを特徴とする。
【００３１】
この構成によっても、層数調整部が学習部における学習に基づいて、不要な上層を除去するので、層数を無駄に多くして処理負荷及び計算に要する時間を増大させることなく、十分な汎化能力を有する多層ニューラルネットワークを取得できる。
【００３２】
本発明の第１２の態様の学習方法は、教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習方法であって、隠れ層に、出力層に順伝搬しないプロービングニューロンを有する多層ニューラルネットワークについて、訓練データセットを用いたコスト計算による学習を行う学習ステップと、前記プロービングニューロンのコストに基づいて前記多層ニューラルネットワークの上層を除去して、残った最上層のプロービングニューロンを出力層とする層数最適化ステップとを含むことを特徴とする。
【００３３】
この構成によっても、学習ステップにおける学習に基づいて、層数最適化ステップにて不要な上層を除去するので、層数を無駄に多くして処理負荷及び計算に要する時間を増大させることなく、十分な汎化能力を有する多層ニューラルネットワークを取得できる。
【発明の効果】
【００３４】
本発明によれば、層数調整部が学習部における学習に基づいて、不要な上層を除去するので、層数を無駄に多くして処理負荷及び計算に要する時間を増大させることなく、十分な汎化能力を有する多層ニューラルネットワークを取得できる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態における多層ニューラルネットワーク学習装置の構成を示すブロック図
【図２】本発明の実施の形態における初期多層ニューラルネットワークの構成を示す図
【図３】従来の多層ニューラルネットワークの構造を示す図
【図４】本発明の実施の形態における初期多層ニューラルネットワークの構造を示す図
【図５】本発明の実施の形態における層数と学習終了時のテストコストとの関係を示す図
【図６】本発明の実施の形態における層を除去した後の多層ニューラルネットワークを示す図
【図７】本発明の実施の形態における再学習部による処理を説明する図
【図８】本発明の実施の形態における多層ニューラルネットワーク学習装置による学習方法のフロー図
【図９】本発明の実施の形態の変形例１における多層ニューラルネットワーク学習装置におけるＰＤＮＮ学習方法のフロー図
【図１０】本発明の実施の形態の変形例２における多層ニューラルネットワークの構造を示す図
【図１１】本発明の実施の形態の応用例１における多層ニューラルネットワーク学習装置の構成を示すブロック図
【図１２】本発明の実施の形態におけるファインチューニングされた多層ニューラルネットワークからプロービングニューロンを除去した多層ニューラルネットワークのコストを示す図
【図１３】本発明の実施の形態の応用例２における車載カメラを使って歩行者を検知する例を示す図
【図１４】本発明の実施の形態の応用例２における早期棄却の処理を説明する図
【図１５】本発明の実施の形態に応用例３における早期棄却の処理を説明する図
【図１６】本発明の実施の形態の応用例４で用いる手書き数字のデータセットを示す図
【図１７】本発明の実施の形態の応用例４における多層ニューラルネットワークの構造を示す図
【図１８】従来の学習によって得られた多層ニューラルネットワークの構造を示す図
【図１９】図１６のデータセットを用いてテストをした結果を示すグラフ
【図２０】従来の畳み込みニューラルネットワークの構造を示す図
【図２１】本発明の実施の形態の応用例６における畳み込みニューラルネットワークの構造を示す図
【発明を実施するための形態】
【００３６】
以下、本発明の実施の形態の多層ニューラルネットワーク学習装置について、図面を参照しながら説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
【００３７】
図１は、本実施の形態の多層ニューラルネットワーク学習装置の構成を示すブロック図である。本実施の形態の多層ニューラルネットワーク学習装置は、後述するようにプロービングニューロンが追加された多層ニューラルネットワークの学習装置であり、以下では、プロービングニューロンが追加された多層ニューラルネットワークをプローブド深層ニューラルネットワーク（ＰＤＮＮ：Probed Deep Neural Network）と呼び、その学習装置をＰＤＮＮ学習装置と呼ぶこととする。また、以下では、多層ニューラルネットワークを単に「ネットワーク」ともいう。
【００３８】
ＰＤＮＮ学習装置１００は、教師データ記憶部１１と、学習部１２と、層数調整部１３と、再学習部１４とを備えている。ＰＤＮＮ学習装置１００は、補助記憶装置（ＨＤＤ、ＳＳＤ等）、主記憶装置（ＲＡＭ等）、処理装置（ＣＰＵ等）、入出力装置（各種入出力ポート及び通信モジュール）等を備えたコンピュータによって実現される。特に、教師データ記憶部１１は、補助記憶装置によって実現され、学習部１２、層数調整部１３、及び再学習部１４は、コンピュータが本実施の形態の学習プログラムを実行することによって実現される。
【００３９】
学習部１２は、与えられた初期多層ニューラルネットワークについてコストを計算することで学習を行う。層数調整部１３は、学習部１２にて計算された初期多層ニューラルネットワークのコストに基づいて、初期多層ニューラルネットワークの上層を除去することで、多層ニューラルネットワークの層数を調整して最適化する。再学習部１４は、層数調整部１３にて層数が最適化された多層ニューラルネットワークについて再学習を行って、多層ニューラルネットワークをチューニングする。層数調整部１３は、さらに、再学習部１４で調整された多層ニューラルネットワークについても、必要に応じて上層の除去を行うことで、再度層数を調整して最適化する。
【００４０】
教師データ記憶部１１には、教師データとして、ネットワークの入力となる多次元ベクトルと、それに対応した、ネットワークの出力となるターゲット値（多次元ベクトルまたはスカラー）の組が多数記憶されている。教師データは、ネットワークを学習するために使用される訓練データセット１１１と、学習されたネットワークを評価するために使用されるテストデータセット１１２に分割されて教師データ記憶部１１に記憶されている。
【００４１】
ＰＤＮＮ学習装置１００の各部における処理の説明の前に、まず、本発明の実施の形態において対象とする多層ニューラルネットワークの種類について説明する。本実施の形態の多層ニューラルネットワークは、層を跨いだユニット間の結合はないものとする。また、ある層の全ユニットと、その次の層の全ユニットとは、全てが結合していてもよいし、一部が結合していなくてもよい。対象とするネットワークは、入力層から出力層まで順番に信号が伝搬する順伝搬（フィードフォワード）型とする。
【００４２】
図２は、従来の多層ニューラルネットワークとの比較において、本実施の形態の初期多層ニューラルネットワークの構成を示す図である。図２の上段が本実施の形態の初期多層ニューラルネットワークの一例であり、下段が従来の多層ニューラルネットワークである。図２に示すように、本実施の形態の初期多層ニューラルネットワークは、従来の多層ニューラルネットワークに、プロービングニューロン（ＰＮ：Probing Neuron）というユニットを追加したネットワーク構造を有する。ＰＮは、ターゲット値に近づくように学習された、隠れ層に属するユニットである。
【００４３】
以下では、まず、従来の多層ニューラルネットワークの学習方法を説明し、次いで本実施の形態のＰＤＮＮ学習装置１００によるＰＤＮＮの学習方法を説明する。図３は、従来の多層ニューラルネットワークの構造を示す図である。図３において、層数Ｌと各層のユニット数Ｄl（ｌ＝１，２，…，Ｌ）はあらかじめ与えられているものとする。第ｎ（ｎ＝１，２，…，Ｎ）番目の入力ベクトルを下式（１）、式（２）のように定義する。
【数１】
2015095215.tif 000003
【数２】
2015095215.tif 000004
【００４４】
すべてのｌ＝１，２，…，Ｌに対して、下式（３）〜（７）の変数を定める。
【数３】
2015095215.tif 000005
【数４】
2015095215.tif 000006
【数５】
2015095215.tif 000007
【数６】
2015095215.tif 000008
【数７】
2015095215.tif 000009
なお、ｈは単調増加かつ微分可能な非線形活性関数である。
【００４５】
最適化問題として、下式（８）を最小化する
【数８】
2015095215.tif 000010
を求める。
【数９】
2015095215.tif 000011
ここで、
【数１０】
2015095215.tif 000012
であり、ｔnは、次元ＤLの既知の正解出力ベクトル（スカラー）である。なお、Ｅnは、真値との差の二乗の総和の他、クロスエントロピーを採用することもできる。
【００４６】
学習は、出力層に近い重みから順に勾配法による更新を繰り返す誤差逆伝搬法を用いる。なお、この時の初期値は乱数によって与えられる。勾配法は下式（９）で表現される。
【数１１】
2015095215.tif 000013
勾配法で使用する微分の計算方法は以下のとおりである。なお、以下の式において下付きのｉ、ｊ、ｋは、ベクトルや行列のインデクスである。
【００４７】
まず、最終の重み層の微分は、下式（１０）〜（１２）の計算で求められる。
【数１２】
2015095215.tif 000014
【数１３】
2015095215.tif 000015
【００４８】
ｌ＝Ｄ−１，Ｄ−２，…，１の重み層の微分は、下式（１３）〜（１６）の計算で求められる。
【数１４】
2015095215.tif 000016
【数１５】
2015095215.tif 000017
【００４９】
次に、本実施の形態のＰＤＮＮの学習方法を説明する。ＰＤＮＮの学習方法では、まず、充分な層数を持ったＰＤＮＮが初期ネットワークとして設定される。そして、ＰＤＮＮ学習装置１００は、以下の手順によって最適な層数を決定する。
【００５０】
図４は、ＰＤＮＮの初期ネットワークの構造を示す図である。層数Ｌと各層のユニット数Ｄl＝（ｌ＝１，２，…，Ｌ）はあらかじめ与えられるものとする。また、各隠れ層に置かれるＰＮの個数は出力ユニット数と同数である。訓練データセット１１１の第ｎ（ｎ＝１，２，…，Ｎ）番目の入力ベクトルを下式（１７）、（１８）のように定義する。
【数１６】
2015095215.tif 000018
【数１７】
2015095215.tif 000019
【００５１】
ｌ＝１に対して、下式（１９）〜（２３）の変数を定める。
【数１８】
2015095215.tif 000020
【数１９】
2015095215.tif 000021
【数２０】
2015095215.tif 000022
【数２１】
2015095215.tif 000023
【数２２】
2015095215.tif 000024
【００５２】
また、ｌ＝２，３，…，Ｌ−１に対して、下式（２４）〜（２８）の変数を定める。
【数２３】
2015095215.tif 000025
【数２４】
2015095215.tif 000026
【数２５】
2015095215.tif 000027
【数２６】
2015095215.tif 000028
【数２７】
2015095215.tif 000029
【００５３】
最終層（ｌ＝Ｌ）の変数は次のように定める。
【数２８】
2015095215.tif 000030
【数２９】
2015095215.tif 000031
【数３０】
2015095215.tif 000032
【数３１】
2015095215.tif 000033
【００５４】
学習部１２は、最適化問題として、下式（３３）を最小化する
【数３２】
2015095215.tif 000034
を求める。
【数３３】
2015095215.tif 000035
【数３４】
2015095215.tif 000036
ここで、式（３３）の右辺の第１項は出力層（第Ｌ層）のコストであり、右辺第２項は第Ｌ−１層のＰＮコストであり、右辺第３項は第Ｌ−２層のＰＮコストであり、右辺の最終項は第２層のＰＮコストである。
【００５５】
なお、隠れ層においては、ＰＮと真値との差の二乗の総和をＰＮコストとして採用してよく、出力層においては通常のニューラルネットワークと同じであり、二乗和の代わりにクロスエントロピーをコストとして採用してもよい。
【００５６】
以下では、下式（３７）、（３８）のように標記を簡略化する。
【数３５】
2015095215.tif 000037
【数３６】
2015095215.tif 000038
【００５７】
学習は、通常のニューラルネットワークと同様に、勾配法による重みの更新則を適用して行う。まず、最終Ｌの重み層の微分は、下式（３９）〜（４１）の計算で求められる。
【数３７】
2015095215.tif 000039
【数３８】
2015095215.tif 000040
【００５８】
また、最終の１つ前の重み層（第Ｌ−１層）の微分は、ｌ＝Ｌ−１とおくと、下式（４２）〜（４８）の計算で求められる。
【数３９】
2015095215.tif 000041
【数４０】
2015095215.tif 000042
【数４１】
2015095215.tif 000043
【数４２】
2015095215.tif 000044
ここで、式（４１）はＰＮに直結する重みについての微分であり、式（４５）はＰＮに直結しない重みについての微分である。
【００５９】
最終の２つ前の重み層（第Ｌ−２層）の微分は、ｌ＝Ｌ−２とおくと、下式（４９）〜（５５）の計算で求められる。
【数４３】
2015095215.tif 000045
【数４４】
2015095215.tif 000046
【数４５】
2015095215.tif 000047
【数４６】
2015095215.tif 000048
【００６０】
以上の導出より、ｌ＝Ｌ−１，Ｌ−２，…，２においては、以下の通り更新則を一般化できる。
【数４７】
2015095215.tif 000049
【数４８】
2015095215.tif 000050
そして、ｌ＝１のときは、以下のとおりとすればよい。
【数４９】
2015095215.tif 000051
【００６１】
次に、層数調整部１３の処理について説明する。上記のようにして学習部１２において、学習によってコストＥを最小化する
【数５０】
2015095215.tif 000052
が求まると、層数調整部１３は、そのコストＥに基づいて、ネットワークの上層を除去する。
【００６２】
図５は、層数と学習終了時のテストコストとの関係を示す図である。図５におけるテストコストとは、テストデータセット１１２を用いて式（３３）を計算した場合のＰＮのコストＥのことであり、この値は小さい方が望ましい。図５の例では、簡単のため、出力層のユニット数及び各隠れ層のＰＮは１つとしている。
【００６３】
学習部１２における学習にて得られたネットワークのＰＮは、そのそれぞれがターゲット値に近づくように学習されているため、出力層のユニットと同じように、識別器と考えることができる。学習部１２にて初期ネットワークを学習することで、図５のように各ＰＮのコストの値を得ることができる。テストデータに対して層数が多すぎればＰＮは過学習を起こし、層数が少なすぎればＰＮは十分な弁別能力を持たなくなる。よって、ＰＮのコストが最小値を取る層が最良の層である。図５の例では、第７層において、ＰＮのコストが最小値をとなっている。
【００６４】
層数調整部１３は、重み層の数をカウントする。ＰＮコストが最小（最良）である層の後段の層は、全体の識別性能を向上させないため、計算不要である。従って、層数調整部１３は、図５の点線で囲まれた部分をネットワークから除去する。即ち、層数調整部１３は、コストが最小であるＰＮより上層のＰＮは除去し、除去されるＰＮに連結している重み（ＰＮの前段の全ての重み）も除去する。
【００６５】
図６は、層を除去した後のネットワークを示す図である。図６に示すように、第７層のＰＮが出力層のユニットとされる。なお、不要な上層をネットワークから除去することは、残ったネットワークの信号を一切変化させないため、ＰＮのコストもまた変化しない。このことは、層数調整部１３による不要な上層の除去が、識別性能を一切劣化させないことを意味している。
【００６６】
次に、再学習部１４における処理について説明する。再学習部１４は、層数調整部にて上層を除去されたネットワークについて再度上記で説明した学習（ファインチューニング）を行う。図７は、再学習部１４による処理を説明する図である。層数調整部１３にて不要な層が除去されたネットワークは、さらなる学習によってコストを低減させることが可能である。ここでの学習は、現在保持している重みの値から、誤差逆伝搬法による更新を行うことを意味している。不要な層が除去されたネットワークは、もはや上層からの誤差の逆伝搬がないため、更新量は変化し、コストをさらに低減させることができる。
【００６７】
再学習の結果得られるネットワークとその重みは、初期ネットワークの学習結果と比べて高い汎化能力を持つことが多い。その理由は、各隠れ層にＰＮを配置し、各隠れ層の線形分離性能を最適化することで、隠れ層の信号がデータの弁別のために必要以上に複雑な表現を持つことを回避し、訓練データへの過剰な適合を防いでいるためと考えられる。
【００６８】
再学習部１４は、再学習を行って、そのコストを計算する。そうすると、コストは低減するが、このとき最上層（出力層）のコストが最低になるとは限らない。例えば、再学習の結果、最上層の１つ前の層でコストが最低となることもあり得る。そこで、層数調整部１３は、再学習後に最上層にてコストが最低となっていない場合には、コストが最低となっている層より上層の層を除去する。
【００６９】
再学習部１４は、層数調整部１３にて上層が除去された場合には、さらにそのようなネットワークについて、再学習を行う。このような層数調整部１３による不要な層の除去と再学習部１４による再学習は、不要な層が出現しなくなるまで繰り返される。不要な層が出現しなくなると、ＰＤＮＮ学習装置１００は、そのＰＤＮＮを最終的な結果として出力する。
【００７０】
図８は、本実施の形態のＰＤＮＮ学習装置によるＰＤＮＮ学習方法のフロー図である。まず、学習部１２は、初期ネットワークについてコスト計算による学習を行う（ステップＳ８１）。次に、層数調整部１３は、コストが最小である層より上層の層を除去して、残った最上層のＰＮ、即ちコストが最小となるＰＮを出力層とする（ステップＳ８２）。次に、再学習部１４は、残った層からなるネットワークについて再学習を行う（ステップＳ８３）。
【００７１】
層最適化部１３は、再学習を行った結果、依然として最上層のコストが最小であるかを判断する（ステップＳ８４）。最上層のコストが最小でない場合には（ステップＳ８４にてＮＯ）、コストが最小である層より上層の層を除去し（ステップＳ８２）、再学習部１４はそのようなネットワークについて再学習を行う（ステップＳ８３）。ステップＳ８２〜Ｓ８４を繰り返して、ステップＳ８４にて最上層のコストが最小となったときは（ステップＳ８４にてＹＥＥ）、その結果を出力する（ステップＳ８５）。
【００７２】
以上のように、本実施の形態のＰＤＮＮ学習装置１００によれば、層数調整部１３が学習部１２における学習に基づいて、ＰＤＮＮの不要な上層を除去するので、層数を無駄に多くして処理負荷及び計算に要する時間を増大させることなく、十分な汎化能力を有する多層ニューラルネットワークを取得できる。
【００７３】
また、本実施の形態のＰＤＮＮ装置１００によれば、ＰＤＮＮの不要な上層を除去した後に再学習によってコストを低減するための学習を行うので、コストをより低減できる。さらに、再学習の後に再度上層の除去を試み、可能な場合に上層を除去し、さらに再学習を行い、これを上層の除去が有効である限り繰り返すので、さらにコストを低減して汎化能力の高いネットワークを構成できる。
【００７４】
以下、上記の実施の形態に対する変形例を説明する。
【００７５】
（変形例１）
上記の実施の形態では、層数調整部１３は、学習部１２にて学習の結果計算されたコストが最小になる層数を残して上層のユニットを除去した。しかしながら、再学習部１４による再学習の結果、残った層のうちの最上層（図５の第７層）よりも上層の層でコストが最小になる可能性がある。そこで、本変形例のＰＤＮＮ学習装置では、層数調整部１３は、最上層（出力層）のコストが最小でない場合に、学習部１２にて学習の結果計算されたコストが最小となる層より上のすべての層を直ちに除去するのではなく、コストが最小であるＰＮを有する層よりも上層の少なくともの１つのＰＮを残して上層を除去する。具体的には、層数調整部１３は、最上層のコストが最小でない場合に、最上層から１層ずつ除去していく。
【００７６】
層数調整部１３が最上層を１層除去すると、再学習部１４は、最上層が除去されたネットワークについて再学習を行い、そのコストを計算する。その結果、最上層のコストが最小となっていない場合には、層数調整部１３は、さらに最上層を１層除去し、再学習部１４は、そのようなネットワークについて再学習を行う。このようにして、最上層のコストが最小となるまで、最上層の除去及び再学習が繰り返される。
【００７７】
上記のように、本変形例では、層数調整部１３は、学習及びコスト計算によって不要と判断された層を直ちにすべて除去するのではなく、最上層から１層ずつ除去し、層が１層除去されるごとに、再学習部１４にて再学習を行う。
【００７８】
図９は、変形例のＰＤＮＮ学習装置におけるＰＤＮＮ学習方法のフロー図である。まず、学習部１２は、上記の実施の形態と同様に、初期ネットワークについてコスト計算による学習を行う（ステップＳ９１）。次に、層数調整部１３は、コスト計算の結果、最上層においてコストが最小となっているか否かを判断し（ステップＳ９２）、最上層においてコストが最小となっていない場合には（ステップＳ９２にてＮＯ）、最上層を除去する（ステップＳ９３）。最上層が除去されると、再学習部１４は、そのようなネットワークについて再学習を行い、コストを計算する（ステップＳ９４）。
【００７９】
層数調整部１３は、再学習部１４で再学習が行われた結果について、再び、最上層においてコストが最小となっているか否かを判断し（ステップＳ９２）、最上層においてコストが最小となるまでステップＳ９２〜Ｓ９４を繰り返す。ステップＳ９２において、最上層においてコストが最小となった場合には（ステップＳ９２にてＹＥＳ）、そのネットワークを出力する（ステップＳ９５）。
【００８０】
即ち、層数調整部１３は、最上層のＰＮのコスト（図５の例の場合は第９層のコスト）が最小でない場合に、コストが最小であるＰＮを有する層（図５の例の場合は第７層）よりも上層の少なくともの１つのＰＮ（図５の例の場合は第８層のＰＮ）を残して上層（図５の例の場合は、第８層のＰＮ以外のユニット及び第９層）を除去する。このように、本変形例によれば、層を１層ずつ除去していくので、複数回の再学習によって、最適な層数を決定することができる。
【００８１】
（変形例２）
次に、変形例２として、出力層に順伝搬しない部分が層構造を持つ場合を説明する。図１０は、本変形例のネットワーク構造を示す図である。図１０に示すように、各層のユニット数は３であるが、この３ユニットから直ちにＰＮを得るのではなく、ＰＮを得る前に、さらに複数のニューロンを経て、それらのニューロンからＰＮを算出する。
【００８２】
本変形例においても、上記の実施の形態と同様に、ＰＮの識別性能によって層数を減らすことが可能である。また、ＰＮに接続する部分が層構造をなすことで、ＰＮの識別性能を高めることができると考えられる。さらに、本変形例では、各隠れ層の線形分離性能の最適化の制約がないので、出力層における識別性能の向上も期待できる。
【００８３】
以下、本実施の形態及びその変形例のＰＤＮＮ学習装置の応用例を説明する。
【００８４】
（応用例１）
図１１は、応用例１の多層ニューラルネットワーク学習装置の構成を示すブロック図である。多層ニューラルネットワーク学習装置２００は、上記の実施の形態のＰＤＮＮ学習装置１００と、ＰＮのない通常の多層ニューラルネットワークの学習部１０１を備えている。学習部１０１は、従来と同様の学習方法によって多層ニューラルネットワークの学習を行う。ＰＤＮＮ学習装置１００は、この学習部１０１に対して、ＰＤＮＮの学習の結果（除去の後に残った重みの値）を初期値として与える。
【００８５】
ＰＤＮＮは、各隠れ層の線形分離性能が最適化されているため、過度に非線形な内部表現を生成しない利点がある。一方、ＰＮのないネットワークと比較して、ＰＮのあるネットワークでは、各ユニットの役割が大きく異なる。即ち、ＰＮのないネットワークにおいて、あるユニットは、出力層において最高の性能となるように信号を調整するのに対し、ＰＮのあるネットワークにおいて、あるユニットは、それ以降すべての層において良い識別性能を与えるように調整される。この強い制約により、ＰＤＮＮの出力層の識別性能は制限を蒙っている可能性がある。
【００８６】
ＰＤＮＮ学習装置１００は、上記の実施の形態のとおり、ＰＤＮＮの学習、不要な層の除去、及び再学習を行い、不要な層が出現しなくなるまで上層の除去と再学習を繰り返す。この時の重みを保持したまま、出力ユニットへ順伝搬しないすべてのユニットと重み（図１においてはＰＮと、ＰＮに連結する重み）をネットワークから除去して、このネットワークを学習部１０１の初期ネットワークとして出力する。学習部１０１は、通常のニューラルネットワークの学習を行う。
【００８７】
（応用例２）
本応用例では、上記の実施の形態又はその変形例によって学習されたＰＤＮＮを用いた識別器について説明する。適切に学習されたＰＤＮＮによって早期棄却を使った高速な識別が可能である。本応用例の識別器は、ＰＤＮＮを利用して早期棄却を行う。本応用例では、早期棄却の考え方を画像による歩行者検知を例にとって説明する。
【００８８】
図１３は、車載カメラを使って歩行者を検知する例を示す図である。識別器は、図１３に示すように、画像に対し識別器のウィンドウをスキャンすることで領域を網羅的に識別する（ターゲットであるかないかを判定する）。図１３の例のように、ウィンドウによって囲まれる領域の大半が背景である場合、例えば空や路面といった明らかに歩行者ではない部分の識別が高速化されれば、画像全体の識別が非常に高速化されることになる。このようにターゲットではないエリアにおける判定を少ない演算量で棄却することを早期棄却という。また、ターゲットかそうでないかの判定が難しい領域は、より演算量を費やした方法により、より信頼性の高い識別を行う。このことにより、全体として高い識別性能を保持することが可能である。
【００８９】
図１４は、ＰＮを利用した早期棄却の処理を説明する図である。適切に学習されたＰＤＮＮは、各ＰＮが識別器の役割を持つため、早期棄却が可能である。最初のＰＮの値が計算された時点で、背景であるスコアが十分高ければ（ＰＮの出力がある閾値以下又はある閾値以上であれば）、その時点で識別結果を「背景」とし、その層より上層の計算を棄却する。このルールを全ての隠れ層のＰＮに適用することで、段階的な棄却が可能となる。
【００９０】
具体的には、識別器は、各隠れ層のＰＮを算出するたびに、それが閾値以下となっているか否かを判断し、閾値以下となっている場合は、直ちに歩行者なしと識別する。閾値以下となっていない場合には、次の層の計算を行う。ウィンドウの大半にターゲットが存在しない場合には、どれほど層の多いＰＤＮＮであっても、早期棄却が行われることにより、実際の計算時間はそれよりはるかに少ない層を持った多層ニューラルネットワーク相当となる。
【００９１】
（応用例３）
応用例３は、応用例２の変形例である。本応用例では、出力層のユニット及び各層のＰＮに異なる種類のターゲット値を近似させることにより、早期棄却を行う。図１５は、本応用例の早期棄却の処理を示す図である。以下、例として、車載カメラ画像からの標識認識の問題に対し、図１５のＰＤＮＮの適用を考える。
【００９２】
ＰＮに対してはある画像パッチの中に標識があるか・ないかの二値分類を学習させることとする。標識はいかなる種類でもよいこととする。一方、出力層においては、止まれの標識があるか・ないかの二値分類を行うユニット、駐車禁止の標識があるか・ないかの二値分類を行うユニット、といった具合に、それぞれ固有の標識を認識できるように学習させたユニットを配置する。
【００９３】
このネットワークを使えば、低層においては、標識のある・なしの二値分類のみを行うこととなり、全ての種類の標識の認識を網羅的に行うよりはるかに低い演算量で棄却が可能である。実際に画像パッチに標識がある場合においては、出力層において網羅的な識別を行うことができるため、種類の認識を的確に行うことができる。なお、各ＰＮにおける早期棄却のための閾値は、画像全体の計算時間と識別性能のバランスを取りながらチューニングして決定する。
【００９４】
なお、本応用例の識別器のためにＰＤＮＮ学習装置１００にて学習を行う場合には、各隠れ層は、とまれ、駐車禁止、徐行等の出力層のすべてに対応したＰＮを有することになる。これらのＰＮのすべてを識別器においても早期棄却のためのニューロンとして利用してよい。こうすることで、隠れ層の各層において、とまれ、駐車禁止、徐行、…等の標識の有無を判断して早期棄却を行うことができる。
【００９５】
さらに、隠れ層の下層で早期棄却ができる可能性が低い場合には、隠れ層のうちの途中の層から早期棄却のためのニューロンを用意してもよい。これによって、早期棄却のための効率の低い演算に演算資源および時間を割くことを回避することができる。
【００９６】
（応用例４）
本応用例では、ＰＤＮＮ学習装置１００で学習されたＰＤＮＮを用いて手書き数字を識別する識別器を説明する。図１６は、手書き数字のデータセットを示す。各数字は、２８×２８画素のグレイスケールであり、正解は０〜９までの１０種類ある。図１７は、ＰＤＮＮのネットワーク構造を示す図であり、図１８は、ＰＮなしの従来の学習によって得られた多層ニューラルネットワークの構造を示す図である。
【００９７】
本応用例の識別器で用いるＰＤＮＮの各層のユニット数は１００であり、出力層は上述のように１０種類である。隠れ層には１０個のＰＮが用意されており、各層において、早期棄却の判定が行われる。入力データとしては、２８×２８の画素の白黒に対応するバイナリコードが入力される。
【００９８】
図１９は、ＰＮを用いて学習をしたネットワーク（「with probing neuron (no fine tuning)」）、ＰＮを用いて学習をし、さらにファインチューニングを行ったネットワーク（「with probing neuron (fine tuning)」）、及び図１８に示すようにＰＮなしで学習を行ったネットワーク（「without probing neuron」）のそれぞれについて、図１６のデータセットを用いてテストをした結果を示すグラフである。図１９は、層数に対するコストを示している。ここで、コストとしては、クロスエントロピーを用いている。図１９に示すように、第３層以降は、ＰＮなしの場合と比較して、ＰＮありの学習のほうがコストが低く、ファインチューニングを行った場合にはさらにコストが低減されている。
【００９９】
（応用例６）
本応用例では、上記の実施の形態のＰＤＮＮ学習装置１００を畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）の学習装置として応用する例を説明する。
【０１００】
まず、ＣＮＮについて説明する。ＣＮＮについては、例えば、Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel, "Handwritten Digit Recognition with a Back-Paopagation Network", Advances in Neural Information Processing Systems (NIPS), pp. 396-404, 1990.（非特許文献２）にＣＮＮを使った画像認識手法が記載されている。
【０１０１】
ＣＮＮの学習において使用するデータについて説明する。教師データとして、ネットワークの入力となる２次元配列の画像と、それに対応した、ネットワークの出力となるターゲット値（多次元ベクトルまたはスカラー）の組が多数与えられているものとする。入力となる２次元配列の画像は，グレイスケールであってもよいし、またＲＧＢなどの要素を持つカラー画像であってもよい。カラー画像の場合であれば、入力は３つの２次元配列となる。上記の実施の形態と同様に、教師データは、ネットワークを学習するために使用される訓練データセットと、学習されたネットワークを評価するテストデータセットに分割しておくものとする。
【０１０２】
図２０は、ＣＮＮの典型的なネットワーク構造を示す図である。まず、入力画像に対しフィルタによる畳み込み（convolution）と、画像の解像度を下げる操作であるプーリング（pooling）が施される。この畳み込みとプーリングを数回繰り返し、十分に解像度が小さくなった段階で、各ピクセルを入力ユニットとする順伝搬型の多層ニューラルネットワークに結合される。なお、図２０では隠れ層の図示を省略している。
【０１０３】
図２０中の網掛けされた要素はフィルタであり、フィルタとはｎ（ピクセル）×ｎ（ピクセル）の要素を持つ重みである。なお、このフィルタには、バイアスを加えてもよい。このＣＮＮを誤差逆伝搬法により学習することで、局所的な歪みに頑健でありかつ識別に有効な特徴を抽出できるようになる。畳み込み演算された値は、シグモイド関数などの活性化関数（activation function）によって、非線形写像が行われる（図示は省略）。こうして得られた信号は、入力と同様に２次元配列で記述できる。
【０１０４】
次の演算は、プーリング（pooling）である。典型的なプーリングは、上述の二次元配列を２×２のグリッドに分割し、各グリッドの４つの信号の最大値を取る処理である。この処理により、上述の二次元配列はその４分の１のサイズに縮小される。プーリングにより画像の位置に関する特徴を失わずに情報を圧縮することが可能となる。プーリングの結果得られた２次元配列をマップ（map）と呼ぶ。マップの集まりが畳み込みニューラルネットワークにおいて１つの隠れ層を形成する。
【０１０５】
上記の例とは異なるプーリングも可能である。例えば、プーリングとして、２×２のグリッドから最大値を抽出する最大値プーリング（max pooling）、グリッドのある１つの要素（例えば（１，１）要素）だけを取り出すサブサンプリング（subsampling）等を採用してもよい。また、グリッドをオーバーラップするようにしてもよい。いずれにしても、畳み込みされた２次元配列を縮小させる点は同じである。
【０１０６】
なお、畳み込みとプーリング（convolution＋pooling）は、通常複数回反復する。図２０の例では二重であるがそれ以上の繰り返し回数であってもよい。畳み込みとプーリングを反復させて情報を充分に圧縮した後、（畳み込みではない）通常のニューラルネットワークを適用する。
【０１０７】
図２０の例では、畳み込みとプーリングを２度行った結果得られる２次元配列の各要素を１つのユニットとして、通常のニューラルネットワークが連結されている。この通常のニューラルネットワークは多層であってよい。
【０１０８】
以上のように、ＣＮＮは順伝搬型の多層ニューラルネットワークの一種である。即ち、ある層の信号は、その１つ前の層の信号と両者の間の重みの関数であり、また、この関数は微分が可能である。従って、ＣＮＮには誤差逆伝搬法が適用可能である。そこで、本応用例では、上記の実施の形態と同様にＣＮＮにＰＮを導入する。以下、ＰＮが導入されたＣＮＮを、プローブド畳み込みニューラルネットワーク（ＰＣＮＮ：Probed Convolutional Neural Network）といい、その学習装置をＰＣＮＮ学習装置という。ＰＣＮＮは、ターゲット値に近づくように学習されたユニットを各隠れ層に持つＣＮＮである。
【０１０９】
図２１は、ＰＣＮＮのネットワーク構造を示す図である。図２１に示すように、ＰＣＮＮでは、マップに対してＰＮを連結する。マップから連結されるＰＮは、マップのすべての画素と連結していてもよいし、縦横１画素おきの結合を有していてもよい。
【０１１０】
ＰＣＮＮ学習装置は、上記の実施の形態のＰＤＮＮ学習装置１００と同様に、教師データ記憶部１１、学習部１２、層数調整部１３、及び再学習部１４を備え、拡張された誤差逆伝搬法により学習を行う。さらに、ＰＣＮＮ学習装置の層数調整部１３は、ＰＤＮＮ学習装置１００と同様に、全結合された層のうち、不要な上層を特定してネットワークから除去する。ＰＣＮＮ学習装置は、複数の畳み込み（＋プーリング）層において、第ｎ層のＰＮの識別性能が第ｎ−１層のＰＮの識別性能を上回らなかった場合は、第ｎ層の畳み込み（＋プーリング）層を除去したネットワークを生成し、第ｎ層以降の重みを乱数によって初期化してＰＣＮＮの学習を繰り返してもよい。
【０１１１】
また、ＰＣＮＮ学習装置の再学習部１４は、ＰＤＮＮ学習装置１００と同様に、除去されたネットワークを再学習する。これによってコストをさらに低減させることができる。また、ＰＮを持たないＣＮＮの良い初期値を与える方法として、ＰＣＮＮ学習装置で学習されたＰＣＮＮを利用することも可能である。さらに、ＰＣＮＮも上記の応用例と同様に、識別器において早期棄却による高速な検出が可能である。
【産業上の利用可能性】
【０１１２】
以上のように、本発明は、層数調整部が学習部における学習に基づいて、不要な上層を除去するので、層数を無駄に多くして処理負荷及び計算に要する時間を増大させることなく、十分な汎化能力を有する多層ニューラルネットワークを取得できるという効果を有し、教師あり学習によって順伝搬型の多層ニューラルネットワークの学習を行う学習装置等として有用である。
【符号の説明】
【０１１３】
１００  ＰＤＮＮ学習装置（多層ニューラルネットワーク学習装置）
１１  教師データ記憶部
１２  学習部
１３  層数調整部
１４  再学習部
１０１  学習部
２００  多層ニューラルネットワーク学習装置
【図１】
2015095215.tif 000053
【図２】
2015095215.tif 000054
【図３】
2015095215.tif 000055
【図４】
2015095215.tif 000056
【図５】
2015095215.tif 000057
【図６】
2015095215.tif 000058
【図７】
2015095215.tif 000059
【図８】
2015095215.tif 000060
【図９】
2015095215.tif 000061
【図１０】
2015095215.tif 000062
【図１１】
2015095215.tif 000063
【図１２】
2015095215.tif 000064
【図１３】
2015095215.tif 000065
【図１４】
2015095215.tif 000066
【図１５】
2015095215.tif 000067
【図１６】
2015095215.tif 000068
【図１７】
2015095215.tif 000069
【図１８】
2015095215.tif 000070
【図１９】
2015095215.tif 000071
【図２０】
2015095215.tif 000072
【図２１】
2015095215.tif 000073