(57)【特許請求の範囲】
【請求項１】
プロセッサと、前記プロセッサに接続される記憶装置と、を有する計算機が実行する機械学習方法であって、
前記記憶装置は、所定の処理を実行する複数のシステムを実現するための複数のプログラムと、前記複数のプログラムの各々に対応する複数の構造パラメタと、前記複数のシステムに対応する複数の学習パラメタと、を保持し、
前記各学習パラメタは、前記各システムが実行する学習における前記構造パラメタの変更を指定するパラメタであり、
前記機械学習方法は、
前記プロセッサが、前記各システムに対応する学習パラメタを用いて、前記各システムに所定のデータセットを学習させる第１手順と、
前記プロセッサが、前記各システムを所定の評価方法によって評価する第２手順と、
前記プロセッサが、前記複数のシステムから第１システムおよび前記第１システムより評価が高い第２システムを選択し、前記第２システムに対応する前記プログラムおよび前記複数の構造パラメタの複製を、前記第２システムの複製を実現するためのプログラムおよびそれに対応する複数の構造パラメタとして生成し、前記第２システムに対応する前記学習パラメタの複製を前記第２システムの複製に対応する学習パラメタとして生成し、前記第２システムに対応する学習パラメタおよび前記第２システムの複製に対応する学習パラメタが互いに異なるように前記第２システムに対応する学習パラメタおよび前記第２システムの複製に対応する学習パラメタの少なくとも一方を変更する第３手順と、を含み、
前記第１システム以外の前記複数のシステムについて、前記第１手順から前記第３手順が再度実行されることを特徴とする機械学習方法。
【請求項２】
請求項１に記載の機械学習方法であって、
前記各システムに対応する前記複数の構造パラメタと、前記各システムに対応する学習パラメタと、の組合せが遺伝的アルゴリズムにおける一つの染色体として保持され、
前記機械学習方法は、前記プロセッサが、乱数を使用して前記各システムに対応する前記複数の構造パラメタの初期値及び前記各システムに対応する学習パラメタの初期値を決定する手順をさらに有し、
前記第３手順において、前記プロセッサは、前記第２システムに対応する染色体の複製を生成し、乱数を使用して前記第２システムに対応する学習パラメタ及び前記第２システムの複製に対応する学習パラメタの少なくとも一方の値を決定することを特徴とする機械学習方法。
【請求項３】
請求項１に記載の機械学習方法であって、
前記各システムはニューラルネットワークであり、
前記各システムに対応する複数の構造パラメタは前記ニューラルネットワークにおけるニューロン間の結合の重みを含み、
前記第１手順において、前記プロセッサは、逆伝搬学習によって前記各システムに前記所定のデータセットを学習させ、
前記学習パラメタは前記逆伝搬学習における前記重みの変更量の大きさを示す学習率であることを特徴とする機械学習方法。
【請求項４】
請求項３に記載の機械学習方法であって、
前記各システムに対応する前記複数の構造パラメタと、前記各システムに対応する学習パラメタと、の組合せが遺伝的アルゴリズムにおける一つの染色体として保持され、
前記各染色体は、前記ニューロン間の結合の有無を示す情報をさらに含み、
前記第３手順において、前記プロセッサは、所定の変異規則に基づいて前記ニューロン間の結合の有無を変更することを特徴とする機械学習方法。
【請求項５】
請求項４に記載の機械学習方法であって、
前記各染色体は、前記各システムに含まれるニューロン数を示す情報をさらに含み、
前記第３手順において、前記プロセッサは、所定の変異規則に基づいて前記ニューロン数を変更することを特徴とする機械学習方法。
【請求項６】
請求項４に記載の機械学習方法であって、
前記各染色体は、前記各システムに含まれるニューラルネットワークの段数を示す情報をさらに含み、
前記第３手順において、前記プロセッサは、所定の変異規則に基づいて前記ニューラルネットワークの段数を変更することを特徴とする機械学習方法。
【請求項７】
請求項３に記載の機械学習方法であって、
前記複数のシステムは、前記ニューロン間の結合の有無が互いに異なる複数のニューラルネットワーク、または、前記ニューロンの数および前記ニューロン間の結合の有無が互いに異なる複数のニューラルネットワークを含むことを特徴とする機械学習方法。
【請求項８】
請求項１に記載の機械学習方法であって、
前記第３手順において、前記プロセッサは、二つ以上の前記システムの評価が所定の値より低い場合、前記二つ以上のシステムと同数の、前記二つ以上のシステム以外のシステムを実現するためのプログラムの複製、前記二つ以上のシステム以外のシステムに対応する複数の構造パラメタの複製、および、前記二つ以上のシステム以外のシステムに対応する学習パラメタの複製を生成し、
前記二つ以上のシステム以外の前記複数のシステムについて、前記第１手順から前記第３手順が再度実行されることを特徴とする機械学習方法。
【請求項９】
請求項１に記載の機械学習方法であって、
前記計算機は、複数の前記プロセッサを有し、
前記複数のシステムの各々が前記複数のプロセッサの各々に割り当てられ、
前記第１手順において、前記各プロセッサが、前記学習パラメタを用いて、前記各プロセッサに割り当てられた一つの前記システムに所定のデータセットを学習させることを特徴とする機械学習方法。
【請求項１０】
プロセッサと、前記プロセッサに接続される記憶装置と、を有する機械学習装置であって、
前記記憶装置は、各々が前記プロセッサによって実行されるプログラム及び前記プログラムのための複数の構造パラメタを含む複数のシステムと、前記各システムに対応する学習パラメタと、を保持し、
前記各学習パラメタは、前記各システムが実行する学習における前記構造パラメタの変更を指定するパラメタであり、
前記プロセッサは、
前記各システムに対応する学習パラメタを用いて、前記各システムに所定のデータセットを学習させる第１手順と、
前記各システムを所定の評価方法によって評価する第２手順と、
前記複数のシステムから第１システムおよび前記第１システムより評価が高い第２システムを選択し、前記第２システムの複製を生成し、前記第２システムに対応する前記学習パラメタの複製を前記第２システムの複製に対応する学習パラメタとして生成し、前記第２システムに対応する学習パラメタ及び前記第２システムの複製に対応する学習パラメタが互いに異なるように前記第２システムに対応する学習パラメタ及び前記第２システムの複製に対応する学習パラメタの少なくとも一方を変更する第３手順と、を実行し、
前記第１システム以外の前記複数のシステムについて、前記第１手順から前記第３手順を再度実行することを特徴とする機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はニューラルネットワーク等を使用した機械学習に関する。
【背景技術】
【０００２】
近年、多層ニューラルネットによる音声、画像などの認識に関する研究、いわゆる深層学習の研究が活性化している。この活性化は、第１に従来は学習させることが困難だった４層以上の多層（深層）ニューラルネットを、auto-encoderという機構を使用して学習させる方法が開発されたこと、第２に、たたみこみニューラルネットによる音声や画像の認識率がおおきく向上したことなどによっている。
【０００３】
深層学習にかぎらず、ニューラルネットの訓練などで使用される逆伝搬学習法のための基本アルゴリズムとして、また各種の学習や最適化の手法として最急降下法（steepest descent method）が使用されている。この方法は決定的な探索法（deterministic search）である。しかし、この方法はほぼ確実に大域最適ではない局所最適値にとらわれるため、通常は確率的な探索（stochastic search）である確率的勾配降下法（stochastic gradient descent method）などが使用される。ニューラルネットの学習においては、学習を制御するパラメタとして学習率（learning rate）がある。学習率の初期値は実験者（人間）が決定し、学習の過程において定数であるか、またはあらかじめきめられたスケジュールで変化する。特許文献１においては、学習過程でえられた解の評価がたかいときは学習率を増加させ、評価がひくいときは学習率を低下させる。このように学習率を適応的にきめる方法は他にも提案されているが、いずれも適応可能な問題やネットワークが限定されている。
【０００４】
確率的な最適化のための方法として遺伝的アルゴリズム（ＧＡ）がある。ＧＡはもともとニューラルネットとは独立に発展してきた最適化法だが、機械学習の方法とくみあわせて使用されることもある。とくに、ニューラルネットにおいては逆伝搬学習とＧＡとをくみあわせて使用する方法も多数、開発されている。もっとも多いのは、特許文献２および非特許文献１のようにＧＡによってニューラルネットの構造およびウェイトを最適化する方法であるが、学習法を最適化するためにもＧＡが使用されている。これらの方法においては逆伝搬学習の全過程を実施したのちにＧＡの操作すなわち変異または交叉を実施することをくりかえす。なお、ほかの確率的探索法とのくみあわせとして、比較的近年開発され成功をおさめている確率的探索法である粒子群最適化法（particle swarm optimization methods）とくみあわせた方法も研究されている。また、確率的勾配降下法を並列化したアルゴリズムも開発されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第６２６９３５１号明細書
【特許文献２】米国特許第６６０１０５３号明細書
【非特許文献】
【０００６】
【非特許文献１】Marshall, S. J. and Harrison, R．F., “Optimization and Training of Feedforward Neural Networks by Genetic Algorithms”, 2nd International Conference on Artificial Neural Networks, pp. 39-43, November 1991.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年の深層学習およびニューラルネットの逆伝搬学習にかかわる研究の発展にもかかわらず、ニューラルネットの逆伝搬学習においてはいくつかの困難な課題がのこっている。第１の課題は学習率の決定法である。すなわち、最適な学習率はニューラルネットの構造によってもことなり、問題によってもことなる。さらに、学習率を学習の過程において一定にする方法が比較的ひろく使用されているが、通常は学習がすすむにつれて低下させるのがよいため、学習過程においてそれを変化させる方法をくふうする必要がある。学習率のきめかたに関しては多数の文献がある。学習過程における時刻の関数として学習率が自動的にきまる方法も提案されている。最近ではほかにもさまざまな適応的な方法が考案されているが、これらの方法のおおくは巧妙な方法だがうまくいかない場合もある。より単純で強力な方法がもとめられる。
【０００８】
逆伝搬学習における第２の課題は袋小路（local minima）から脱出することである。すなわち、ニューラルネットのおもみ（weight）の初期値によっては、逆伝搬学習しても最小化するべき関数（エラー率など）の値として最小値からほどとおい値しかもとめられないことがある。また、いったんは比較的よい値がもとめられても、さらに学習をすすめると最小値からとおざかったままもどらないことがある。このような袋小路から脱出し、最適にちかい値をもとめることが課題である。
【０００９】
逆伝搬学習が袋小路にとらわれやすいのは、逆伝搬学習が局所探索の方法だからである。前記のように逆伝搬のための方法として通常は確率的勾配降下法が使用される。しかし、確率的な探索をおこなうのであれば、確立されたさまざまな確率的探索法のなかのいずれかとくみあわせて使用することによって、改善をはかることがかんがえられる。従来の逆伝搬学習とＧＡとのくみあわせはそれを目的としているが、従来の方法においてはＧＡが１回の逆伝搬学習の過程には作用しないため、１回の学習のなかで学習率を最適化することはできない。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の一形態は、プロセッサと、前記プロセッサに接続される記憶装置と、を有する計算機が実行する機械学習方法であって、前記記憶装置は、所定の処理を実行する複数のシステムを実現するための複数のプログラムと、前記複数のプログラムの各々に対応する複数の構造パラメタと、前記複数のシステムに対応する複数の学習パラメタと、を保持し、前記各学習パラメタは、前記各システムが実行する学習における前記構造パラメタの変更を指定するパラメタであり、前記機械学習方法は、前記プロセッサが、前記各システムに対応する学習パラメタを用いて、前記各システムに所定のデータセットを学習させる第１手順と、前記プロセッサが、前記各システムを所定の評価方法によって評価する第２手順と、前記プロセッサが、前記複数のシステムから第１システムおよび前記第１システムより評価が高い第２システムを選択し、前記第２システムに対応する前記プログラムおよび前記複数の構造パラメタの複製を、前記第２システムの複製を実現するためのプログラムおよびそれに対応する複数の構造パラメタとして生成し、前記第２システムに対応する前記学習パラメタの複製を前記第２システムの複製に対応する学習パラメタとして生成し、前記第２システムに対応する学習パラメタおよび前記第２システムの複製に対応する学習パラメタが互いに異なるように前記第２システムに対応する学習パラメタおよび前記第２システムの複製に対応する学習パラメタの少なくとも一方を変更する第３手順と、を含み、前記第１システム以外の前記複数のシステムについて、前記第１手順から前記第３手順が再度実行されることを特徴とする。
【発明の効果】
【００１１】
本発明の一態様によれば、学習率（または学習パラメタ、最適化・探索制御パラメタ）を自律的に決定することによって最適化することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における多層ニューラルネットのパラメタの染色体へのエンコードの説明図である。
【図２】本発明の実施形態における逆伝搬学習とＧＡとをくみあわせた学習法の説明図である。
【図３】本発明の実施形態における学習率の変化の例の説明図である。
【図４】本発明の実施形態における最良の個体とその他の各個体とのユークリッド距離の例の説明図である。
【図５】本発明の実施形態のデータ識別用ニューラルネット設計ツールの構成および動作の概要の説明図である。
【図６】本発明の実施形態のデータ識別用ニューラルネット設計ツールのハードウェア構成を説明するブロック図である。
【発明を実施するための形態】
【００１３】
本発明の実施形態について説明する。この実施形態においてはこの実施形態における方法では並列化した逆伝搬学習の１ステップ（1 epoch）ごとにＧＡにおける選択と変異とをおこなうことによって、従来の逆伝搬学習法およびそれとＧＡとをくみあわせた方法と同様に学習結果としてニューラルネットを最適化するとともに、従来の方法においてはできなかった逆伝搬学習過程における学習率の最適化がなされる。
【００１４】
（全体構成）
図５を使用してこの実施形態の全体構成すなわちデータ識別用ニューラルネット設計ツール５００の構成と動作の概要を説明する。データ識別用ニューラルネット設計ツール５００は画像データの識別などのためのニューラルネットをユーザが設計するためのツールであり、学習用のデータである原データ５０４と、原データ５０４を説明する教師情報５０５が入力される。原データ５０４としてはビデオや静止画を入力することができ、教師情報５０５はそのビデオや静止画のどの位置に識別するべき情報たとえば車両または歩行者が存在するかを指示する複数の矩形領域（bounding box）の情報をふくむ。設計されたニューラルネットは識別用ニューラルネット５０８のためのおもみ、バイアスというかたちで学習用ニューラルネット群５０７からとりだされる。この設計結果はテストデータとして識別するべきデータ５０９をあたえてテストすることができ、その結果として識別結果出力５１０が出力される。
【００１５】
学習制御コンピュータ５０１はユーザの入力を学習制御プログラム５０２につたえ、学習制御プログラムからの出力をユーザにつたえる端末である。また、学習制御コンピュータ５０１は学習制御プログラム５０２、学習データ生成プログラム５０３、複数のニューラルネットによって構成される学習用ニューラルネット群５０７および識別用ニューラルネット５０８をそのうえで動作させることも可能であり、これらのプログラムの入出力である原データ５０４、教師情報５０５、教師情報つき学習データ５０６、識別するべきデータ５０９、および識別結果出力５１０を格納することができる。ただし、学習データ生成プログラム５０３、学習用ニューラルネット群５０７、識別用ニューラルネット５０８、原データ５０４、教師情報５０５、教師情報つき学習データ５０６、識別するべきデータ５０９、および識別結果出力５１０は学習制御プログラム５０２から指示される他のコンピュータ上に格納し実行させることもできる（図６参照）。
【００１６】
ユーザは学習制御コンピュータ５０１に原データ５０４および教師情報５０５としてどのデータを使用するかを指示する情報、学習データ生成プログラム５０３、ならびに、学習用ニューラルネット群５０７および識別用ニューラルネット５０８のためのパラメタを入力する。学習用ニューラルネット群５０７のためのパラメタは、後述するようにニューラルネットの数すなわち個体数、ニューラルネットのおもみおよびバイアスをランダムにきめるための乱数の種、複数のニューラルネットのおもみおよびバイアスの分布をきめる正規分布などの分布関数、平均値および標準偏差、ならびに、学習率の初期値の平均値および標準偏差をふくむ。ただし、これらの値として既定値を使用するときはユーザはそれを入力する必要はない。また、この入力はニューラルネットの停止条件としてステップ数（epoch数）の上限や誤差の目標値、学習率の目標値をふくむことができる。ユーザはこの入力の際に識別するべきデータ５０９もあわせて入力することができる。
【００１７】
ユーザの指示によって学習制御プログラム５０２は学習データ生成プログラム５０３を動作させ、教師情報つき学習データ５０６を生成させる。原データ５０４は比較的おおきなサイズ（たとえば６４０×４８０）のフレーム画像であり、そのままでは学習用ニューラルネット群５０７があつかえないため、１枚のフレーム画像を使用して比較的ちいさなサイズ（たとえば２４×４８）の多数のパッチ画像を生成し、教師情報つき学習データ５０６とする。これらの画像は学習データ生成プログラム５０３が教師情報５０５を使用することによって正例すなわち検出するべき画像と負例すなわち検出するべきでない画像とに分類されるため、教師情報つき学習データ５０６においてはその分類が画像と１対１に対応するかたちで格納される。教師情報５０５においては検出するべき画像がクラスわけされていることもあり、この場合には教師情報つき学習データ５０６にはそのクラスが格納される。すなわち、パッチ画像とクラスとの対が格納される。
【００１８】
ユーザの指示によって学習制御プログラム５０２は学習用ニューラルネット群５０７を動作させて逆伝搬学習をおこなう。すなわち、教師情報つき学習データ５０６がふくむ画像をニューラルネットに入力し、その出力と教師情報との差にもとづいて学習用ニューラルネット群５０７のウェイトとバイアスを更新することがくりかえされる。複数のニューラルネットを学習させる方法は後述する。
【００１９】
図６は、本発明の実施形態のデータ識別用ニューラルネット設計ツール５００のハードウェア構成を説明するブロック図である。
【００２０】
本実施形態のデータ識別用ニューラルネット設計ツール５００は、例えば、ネットワーク６３０によって相互に接続された計算機６００、６１０および６２０によって実現することができる。
【００２１】
計算機６００は、図５の学習制御コンピュータ５０１に相当し、相互に接続されたＣＰＵ（Central Processing Unit）６０１、メモリ６０２、Ｉ／Ｆ（Interface）６０３およびＨＤＤ（Hard Disk Drive）６０４を有する。ＣＰＵ６０１は、メモリ６０２に格納されたプログラムを実行するプロセッサである。メモリ６０２は、ＣＰＵ６０１によって実行されるプログラム及び処理されるデータ等を格納するいわゆる主記憶装置である。本実施形態のメモリ６０２は、学習制御プログラム５０２を格納する。本実施形態において学習制御プログラム５０２が実行する処理は、実際には、ＣＰＵ６０１が学習制御プログラム５０２に従って実行する。Ｉ／Ｆ６０３は、ネットワーク６３０を介して計算機６１０および６２０との間でデータを送受信する。ＨＤＤ６０４は、ＣＰＵ６０１によって実行されるプログラム及び処理されるデータ等を格納するいわゆる補助記憶装置である。例えば学習制御プログラム５０２がＨＤＤ６０４に格納され、必要に応じてメモリ６０２にコピーされてもよい。
【００２２】
計算機６１０は、相互に接続されたＣＰＵ６１１、メモリ６１７、Ｉ／Ｆ６１６およびＨＤＤ６１５を有し、さらに、ＣＰＵ６１１に接続されたＧＰＵ（Graphics Processing Unit）６１２を有する。ＣＰＵ６１１は、メモリ６１７に格納されたプログラムを実行するプロセッサである。メモリ６１７は、ＣＰＵ６１１によって実行されるプログラム及び処理されるデータ等を格納するいわゆる主記憶装置である。本実施形態のメモリ６０２は、学習データ生成プログラム５０３を格納する。本実施形態において学習データ生成プログラム５０３が実行する処理は、実際には、ＣＰＵ６１１が学習データ生成プログラム５０３に従って実行する。Ｉ／Ｆ６１６は、ネットワーク６３０を介して計算機６００および６２０との間でデータを送受信する。ＨＤＤ６１５は、ＣＰＵ６１１等によって実行されるプログラム及び処理されるデータ等を格納するいわゆる補助記憶装置である。本実施例のＨＤＤ６１５は、原データ５０４および教師情報５０５を格納する。
【００２３】
ＧＰＵ６１２は、複数のプロセッサコア６１３及びメモリ６１４を有するプロセッサである。本実施例のメモリ６１４には、学習用ニューラルネット群５０７および教師情報つき学習データ５０６が格納される。本実施形態の学習用ニューラルネット群５０７の動作は、ＧＰＵ６１２によって実行される。
【００２４】
なお、教師情報つき学習データ５０６は、原データ５０４および教師情報５０５から学習データ生成プログラム５０３によって生成されると、ＨＤＤ６１５に格納され、その後、ＣＰＵ６１１によってメモリ６１４にコピーされてもよい。同様に、学習用ニューラルネット群５０７は、ＨＤＤ６１５またはメモリ６１７に格納され、ＣＰＵ６１１によってメモリ６１４にコピーされてもよい。
【００２５】
学習用ニューラルネット群５０７に含まれる各学習用ニューラルネットは、メモリ６１４に格納された各学習用ニューラルネットに含まれるニューロン間の重みおよびバイアス等の構造パラメタのセットと、それらの構造パラメタおよび入力された学習データに基づいて出力を計算し、その出力の評価に基づいて所定の学習方法（たとえば逆伝搬学習）による学習を行うプログラムと、に対応する。すなわち、各学習用ニューラルネットは、ＧＰＵ６１２が構造パラメタを使用して対応するプログラムを実行することによって実現されるシステムである。
【００２６】
計算機６２０は、相互に接続されたＣＰＵ６２１、メモリ６２６、Ｉ／Ｆ６２５およびＨＤＤ６２７を有し、さらに、ＣＰＵ６２１に接続されたＧＰＵ６２２を有する。ＣＰＵ６２１は、メモリ６２６に格納されたプログラムを実行するプロセッサである。メモリ６２６は、ＣＰＵ６２１によって実行されるプログラム及び処理されるデータ等を格納するいわゆる主記憶装置である。Ｉ／Ｆ６２５は、ネットワーク６３０を介して計算機６００および６１０との間でデータを送受信する。ＨＤＤ６２７は、ＣＰＵ６２１等によって実行されるプログラム及び処理されるデータ等を格納するいわゆる補助記憶装置である。
【００２７】
ＧＰＵ６２２は、複数のプロセッサコア６２３及びメモリ６２４を有するプロセッサである。本実施例のメモリ６２４には、識別用ニューラルネット５０８、識別するべきデータ５０９および識別結果出力５１０が格納される。本実施形態の識別用ニューラルネット５０８の動作は、ＧＰＵ６２２によって実行される。
【００２８】
なお、識別用ニューラルネット５０８および識別するべきデータ５０９は、ＨＤＤ６２７またはメモリ６２６に格納され、ＣＰＵ６２１によってメモリ６２４にコピーされてもよい。また、識別結果出力５１０は、ＣＰＵ６２１によってメモリ６２４からメモリ６２６またはＨＤＤ６２７にコピーされ、さらに、必要に応じてＩ／Ｆ６２５およびネットワーク６３０を介して計算機６００等に送信されてもよい。
【００２９】
なお、図６はデータ識別用ニューラルネット設計ツール５００のハードウェア構成の一例であり、実際には種々の変形例があり得る。例えば、計算機６１０が複数のＧＰＵ６１２を有してもよい。その場合、各ＧＰＵ６１２のメモリ６１４に、学習用ニューラルネット群５０７に含まれる各学習用ニューラルネットと、教師情報つき学習データ５０６とが格納され、それぞれのＧＰＵ６１２が一つの学習用ニューラルネットの学習を行ってもよい。これによって、複数のニューラルネットの学習が並列に実行されるため、学習に要する時間が短縮される。
【００３０】
あるいは、計算機６００、６１０および６２０のいずれか二つまたは全部の機能が一つの計算機によって実現されてもよい。あるいは、上記の例においてＧＰＵ６１２等が実行する処理が、ＣＰＵ６１１等によって実行されてもよい。あるいは、ＨＤＤ６０４等がフラッシュメモリ等のＨＤＤ以外の種類の記憶装置によって置き換えられてもよい。
【００３１】
（染色体の表現）
この実施形態においては、図１のように多層ニューラルネットのパラメタが遺伝的アルゴリズム（ＧＡ）の染色体にエンコードされる。１個の個体は１個の染色体だけをもつため、染色体と個体はここでは同義である。図１（ａ）には３層パーセプトロンの例をしめす。結合のおもみ１０１を染色体上にエンコードする点は従来のニューラルネットとＧＡをくみあわせた方法におけるエンコード法と同様だが、本実施形態ではさらに学習率（learning rate）１０２もあわせてエンコードされている。なお、図１（ａ）においてはニューロン間の結合パラメタのうちおもみだけを記述しているが、定数項すなわちバイアスも染色体にエンコードすることができる。また、ここではニューラルネットの構造は固定にしているため構造は染色体上に表現されていないが、構造も表現することによって、学習過程において所定の変異規則にしたがってニューロンおよびニューロン間結合を変更（たとえば削除）するような構造最適化もＧＡを使用して実現することができる。すなわち、染色体を可変長にし、各ニューロンのパラメタを記述する（ニューロンを削除する際にはそれ全体を削除する）ようにしたり、ニューロン間の結合に関するパラメタを記述する（結合を削除する際にはそれを削除する）ようにすることができる。
【００３２】
図１（ｂ）には、画像認識などにおいてよく使用されるたたみこみニューラルネット（ＣＮＮ）のエンコードをしめしている。図１（ａ）と比較するとパラメタ数は増加し染色体の規模が拡大するが、パラメタをエンコードするという点においてはおなじである。
【００３３】
染色体の構造はすべての個体について同一である必要はない。すなわち、ことなる構造の（たとえばニューロン間の結合がことなる、またはニューロン数およびニューロン間の結合がことなる）ニューラルネットを使用して計算をおこなうことができる。この場合でも変異は同様におこなうことができる。ＧＡにおいては変異のほかに交叉という演算が使用されるが、同一の構造をもつ染色体間ではもちろん、ことなる構造をもつ染色体間でも交叉をおこなうことが可能である。たとえば、２個のニューラルネットのそれぞれをいずれかの層のあいだで分割するか、特定の層において２分割して、それらを交叉してくみあわせることが可能である。この際には、切断する結合の数がひとしくなるようにすれば単純に再接続するだけでニューラルネットの構造を維持することができるが、結合が不足するときはおもみ０の結合を導入したり、結合に剰余がでるときには結合を削除することによって、ニューラルネットの構造を再構築することができる。
【００３４】
なお、染色体へのコーディングは多層ニューラルネットにかぎらず、学習または最適化・探索のための他の種類のシステムにおいても適用することができる。すなわち、システムの構造パラメタ（ニューラルネットにおける結合のおもみに相当）と学習パラメタまたは最適化・探索の過程を制御するパラメタ（学習率に相当）をコーディングし、変異および交叉の操作を適用することができる。
【００３５】
（学習法）
以下、図２を使用して逆伝搬学習とＧＡとをくみあわせた学習法について説明する。この学習法をＬＯＧ−ＢＰ学習法（learning-rate-optimizing genetic back-propapation 学習法）とよぶ。この学習法においては、前節でしめした染色体を複数用意して並列に逆伝搬学習をおこなうことによって、それらの染色体上のおもみは自律的に変異する。また、学習率は確率的に変異させる。
【００３６】
まず、図２のプログラム（すなわち学習用ニューラルネット群５０７にふくまれるプログラム）がくみこまれたコンピュータ（図６の例では計算機６１０）が、染色体の初期化をおこなう（２０１）。個体数は可変とすることもできるが、ここでは固定数（たとえば２０個）とする。それらの染色体がもつおもみと学習率は乱数によってきめられる。おもみの初期化は通常の逆伝搬学習におけるのと同様におこなえばよいが、たとえば正規分布する乱数によっておもみやバイアスをきめてもよい。学習率も乱数を使用して適度に分布させるが、たとえば正規分布によってきめればよい。学習率は発散頻度がたかくなりすぎない程度に、比較的おおきな値にするのがよいとかんがえられる。これらの初期値をきめるためのパラメタは学習制御プログラム５０２を経由して外部から入力することができる。すなわち、学習の開始前に学習率、おもみの平均値、標準偏差、分布の形状、および乱数の種を指定することができる。
【００３７】
つぎに、コンピュータは、各個体について逆伝搬学習の１ステップ（1 epoch）をおこなう（２０３）。このステップがＧＡにおける１世代に相当する。たとえば、コンピュータは、画像データを学習させるときには、あらかじめ、できるだけ多数の画像データを訓練データとして用意し、その一部を検証用データとしてとりわける。また、おなじ形式の画像からなる評価用データを必要に応じて用意する。そして、コンピュータは、すべての訓練データを１回、学習させる（画像データを使用した学習に関しては後述する）。ミニバッチを単位とする確率的勾配降下法（すなわち、訓練データのすべてを一度に学習させる最急降下法とも、１個ずつ学習させる基本的な確率的勾配降下法ともちがって、ある程度ずつまとめて学習させる方法）を使用するときは、配列に格納した訓練用データをミニバッチごとに分割して１回ずつ逆伝搬させて学習させる。このとき、学習率としては各染色体にエンコードされた値を使用する。
【００３８】
つぎに、コンピュータは、学習によって変化したおもみによって、染色体上のおもみを更新する（２０４）。すなわち、この方法においては染色体上のおもみの値は外的に変化させるのではなくて、乱数と各個体の学習にもとづいて自律的に更新される。すなわち、Darwin的な遺伝ではなく、獲得形質がそのまま遺伝するLamarck的な遺伝を実現する。ただし、おもみの更新を変異とかんがえれば、この過程はＧＡの基本に一致する。
【００３９】
つぎに、コンピュータは、更新された各個体（もとの個体の無性生殖による卵子）に関して、検証用データを使用して評価をおこなう（２０５）。十分な評価値をもつ個体があれば、ここで計算を終了すればよい（２０６）。十分な評価値をもつ個体がないときは、評価結果がエラー率であれば値はひくいほどよいから、コンピュータは、その値にもとづいて選択をおこなう。すなわち、値が最大のものすなわち評価が最悪の個体（すなわち染色体）は殺して（すなわち削除して）、最小のものすなわち評価が最良の個体をコピーする（２卵性双生児を生成する）（２０７）。これによって個体数は不変になる。ただし、生成（コピー）確率と死滅確率とを同一にしないことにより、個体数がしだいに増加または減少するようにすることも可能である。コンピュータは、コピーによって生成された個体に関してはつぎの式にしたがって染色体上の学習率ηを変異させる。
【００４０】
η' = fη  （確率 0.5）
η' =η/f  （確率 0.5）
【００４１】
すなわち、どちらの式を適用するかは乱数によって等確率になるように決定する。ｆはたとえば１．２くらいの値であり、適応的な逆伝搬学習法において使用される規則（この規則は本来はＧＡとは無関係）にちかい。ただし、上記の式による学習率の変更は一例であり、評価が最良の個体の学習率とそれをコピーすることによって生成された個体の学習率とが相違するように決定されるかぎり、例えば両方の学習率を変更するなど、上記以外の方法によって学習率を決定してもよい。また、上記の例では、評価が最悪の個体が削除されて、評価が最良の個体のコピーが生成されるが、コピーが生成される個体の評価が削除される個体の評価よりよいかぎり、削除とコピーの対象を評価が最悪の個体と最良の個体とに限定する必要はない。
【００４２】
また、処理２０７における染色体の削除は、当該染色体をそれ以降の機械学習の処理から除外するための処理の一例であり、実際にその染色体をメモリ６１４から削除してもよいし、その染色体をメモリ６１４に残したまま、例えば学習制御プログラム５０２がそれ以降のepochにおいてその染色体に関する機械学習を行わないように学習を制御するなどの方法でその染色体を機械学習の処理から除外してもよい。以下の説明における染色体の削除も同様である。
【００４３】
コンピュータは、適切な解がえられるまで、あるいは変化がほとんどおこらなくなるまで、上記のステップ（epoch）を反復して計算する（２０９）。計算停止の条件は通常の逆伝搬学習法におけるのと同様にきめればよい。処理２０２および２０８はこの反復にかかわるパラメタの初期化および更新のための処理である。
【００４４】
上記ではステップごとに選択と変異をおこなうように記述したが、実際にはステップごとの選択と変異の回数の平均値を選択・制御するのがよいとかんがえられる。すなわち、各ステップにちょうど１回の選択・変異をおこなうのでは、個体数がすくないときはその回数は過大になり、個体数がおおいときにはその回数は過小になる。そのため、ステップごとに選択・変異をおこなう回数の平均値をあらかじめきめておいて、実際の回数は確率的にきめればよい。選択回数が過大であれば探索範囲がはやくせばまりすぎるし、過小であれば探索範囲がひろくなりすぎるとかんがえられる。選択回数を適切に制御することによって、計算開始時には広域を探索し、徐々に探索範囲をせまくすることができ、うまく解をもとめることができるという効果がある。
【００４５】
なお、ニューラルネットのかわりに他の学習システムまたは最適化・探索システムを使用するときは、反復実行されるその学習や最適化・探索の１ステップごとに評価をおこない、その結果にもとづいて選択をおこない、学習過程を制御する学習パラメタあるいは最適化・探索過程を制御する最適化・探索パラメタの値を変異させる。この変異に関しては、これらのパラメタの複数の値のあいだに距離（スカラー値のときは差）が定義できるときは乱数を使用して距離のちかいパラメタ値を生成すればよい。また、距離が定義できないときはいずれかことなる値を乱数によって選択すればよい。
【００４６】
（学習法と応用範囲に関する補足）
以下、ＬＯＧ−ＢＰ学習法の変異とその応用範囲拡大に関する６点について記述する。第１に、各個体は検証用データにもとづく評価値を参照し、それを学習に反映させることができる。上記のアルゴリズムにおいては選択のためにもその評価値を使用しているが、選択は外的なものとかんがえられるから、選択のための評価値はそれとはべつにあたえることが可能である。たとえば、検証用データ以外に評価用データをあたえ、選択にはそれを使用することもかんがえられる。すなわち、各個体による選択基準（逆伝搬学習における基準）と外的な選択基準（ＧＡにおける基準）としてことなる基準を使用することができる。
【００４７】
第２に、前記の方法においてはニューラルネットの構造およびパラメタは選択・変異によって変化しない。以下の評価においては拡張はおこなわないが、構造およびパラメタを最適化する目的でこれを拡張し、変異および交差を使用することは可能である。たとえば、各染色体が各ニューラルネットのニューロン数およびニューロン間の結合の有無を示す情報を含み、計算機６１０は、処理２０７において、所定の変異規則に基づいて染色体を変異させることによって、ニューロン間の結合を切断したり、ニューロンを消滅させたりすることができる。後述するニューロンの追加も同様である。ニューラルネット以外のシステムを使用するときも、同様の方法によってその一部を変更・削除することができる。
【００４８】
第３に、変異によってニューロンを追加することも可能である。ニューロンを追加する際、それによってすでにおこなった学習を無効にしないためには、おもみの値をちいさくすればよいとかんがえられる（おもみが０ならば追加しないのとおなじになる）。ただし、それでは追加したニューロンが活性化されない可能性もある。訓練データを増加させずにニューロンを追加すると過剰適合が発生し、みかけ上は評価値が向上しやすいとかんがえられる。そのため、ニューラルネットの規模がちいさいときに評価値が向上するように評価関数をきめるのがよいとかんがえられる。たとえば、評価値の一部として最小記述長（minimul description length, MDL）をくわえる（いいかえればdescription length penalty をあたえる）ことがかんがえられる。すなわち、ニューラルネットのモデルの記述長を評価値の一部とする。染色体がニューラルネットの構造を記述しているときには、それはモデルを記述したものということができるから、染色体のながさを記述長として使用することができる。ニューラルネット以外のシステムを使用するときも、その一部を追加することができる。
【００４９】
第４に、すでに補足説明してきているように、ＬＯＧ−ＢＰ学習法は上記のようにニューラルネットへの適用において拡張できるだけでなく、他の学習法への拡張も可能である。すなわち、分類・検知などをおこなう（ニューラルネットに対応する）システムが存在し、それを訓練するための学習法が存在するとする。その学習は反復的におこなわれ、また学習を制御するパラメタが存在するとする。このとき、反復の過程で学習の効果を評価する方法があたえられていれば、ニューラルネットの逆伝搬学習におけるのと同様に本学習法（ＬＯＧ学習法）を適用することができる。すなわち、システムの構造をきめるパラメタを染色体として表現し、複数の染色体を初期化して学習を開始し、学習、評価、変異・選択を反復していく。変異の対象となる学習制御パラメタは実数値である必要もなく、単にそれを他の値に変異させる方法が前記の変異のための２個の式のかわりにあたえられればよい。
【００５０】
第５に、上記の実施形態においては全個体が同種のニューラルネットだったが、個体ごとに異種のニューラルネットあるいは他の学習法を使用する個体であっても、評価関数をそろえて学習パラメタとその変異の方法を指定すれば上記の方法によって評価し、選択・変異させることができる。すなわち、ニューラルネットと他の学習法を混合して適用することができる。具体的には、たとえば、学習用ニューラルネット群５０７が、ニューロン間の結合の有無が異なる複数のニューラルネットを含んでもよいし、ニューロン数及びニューロン間の結合の有無が異なる複数のニューラルネットを含んでもよい。それらのすべてについて逆伝搬学習を使用してもよいし、ニューラルネットごとに異なる学習法を使用してもよい。これによって、異種のニューラルネットまたは異種の学習法のなかで最適なものを特定することができる。
【００５１】
第６に、上記の実施形態においては１台のコンピュータ上（例えば図６の計算機６１０）での学習を基本としたが、複数台のコンピュータ（例えば複数の計算機６１０）を用意し、各コンピュータに１個の染色体をわりあてることによって、これらのコンピュータが有するプロセッサ（例えば各計算機６１０のＣＰＵ６１１またはＧＰＵ６１２）によって並列計算をおこなうことができる。各染色体の評価値は１台のコンピュータにあつめて選択をおこなうことができる。つぎのepochにすすむ際にはそれらのコンピュータのうちの１台または複数台の染色体をいれかえる必要があるが、この操作は少量のデータをコンピュータ間で交換することによっておこなうことができる。ことなるパラメタを使用した通常の逆伝搬学習を複数のコンピュータ上でおこなうことは従来技術によって実現できるが、それと比較すると上記のような方法をとることによってより高速に、またより最適にちかい値がもとめられる確率がたかまるという利点がある。あるいは、図６を参照して説明したように、例えば計算機６１０が複数のＧＰＵ６１２を有し、それぞれのＧＰＵ６１２を使用して上記と同様の処理と実行することもできる。
【００５２】
（画像データセットの学習例）
この節においては、前記の学習法にしたがって歩行者画像データセットを学習させる方法について記述する。歩行者画像データセットの例としては、Caltech歩行者データセットがある。歩行者画像のかわりに顔画像、物体の画像、文字画像などを使用する場合もおなじ方法を適用することができる。この学習において使用するデータセットは複数個のビデオをふくんでいる。ビデオとはべつに注釈データが付属していて、そのなかに歩行者の位置とサイズをしめすbounding boxのデータもある。ビデオは訓練用の１個または複数個のビデオと、テスト用の１個または複数個のビデオとで構成されている。
【００５３】
訓練データのうち半数は正例であるが、それをつぎのようにして生成する。上記のデータセットにおいて指定されているbounding boxをきりとって２４×４８のサイズに正規化することによって１０万個の画像を用意し、それを左右反転してえられた１０万個とあわせた２０万個の画像を２回ずつ正例として使用する。
【００５４】
また、訓練データののこり半数の負例はつぎのようにして生成する。Caltech歩行者データセットのbounding box以外の部分からきりだしたサイズ２４×４８の画像を２０万個使用する。この初期負例の生成にあたってはその位置を乱数によってきめる。２４×４８とはことなるサイズの画像をきりだしてリサイズすることもできるが、ちょうど２４×４８のサイズの画像だけをきりだすことも可能である。そして、さらに正例２０万個、負例２０万個を使用して訓練したたたみこみ層１段のＣＮＮをもとのデータセットに適用して誤認識した部分から負例２０万個を生成する。すなわち、そのＣＮＮが歩行者がふくまれると判定したがbounding boxからはずれている画像をあらたな負例とする。これらの負例をあわせて４０万個とし、正例とあわせて８０万個の画像を用意する。
【００５５】
これらのデータがふくむ数値は、Caltech歩行者データセットなどの原データにおいては０〜２５５だが、これをほぼ−１〜１の範囲の浮動小数にし、さらに平均が０になるように補正する。
【００５６】
以下、使用するべきＣＮＮの構造とハイパー・パラメタについて記述する。その例は、たたみこみ層２段であることを前提とすると、つぎのとおりである。
【００５７】
・たたみこみ層初段：フィルタ・サイズ５×５、フィルタ数１６、非線形（activation）関数：ReLU
・プーリング層初段：最大プーリング．サイズ２×２
・たたみこみ層２段め：フィルタ・サイズ３×３、フィルタ数２６、２８、または３２、非線形関数：ReLU
・プーリング層２段め：最大プーリング．サイズ２×２
・かくれ層（１段）：ニューロン数５０
・出力層：Logistic regression．ニューロン数２（期待される出力は［１，０］または［０，１］）
・ミニバッチ・サイズ：２５０（もとにしたDeep learning tutorialよりはちいさいが、過大である可能性あり）
ここでReLUとは、f(x) = if x < 0 then 0 else x という折れ線関数を意味している。
【００５８】
（学習率の変化）
本実施形態の学習過程における学習率の変化の例を図３にしめす。学習率の平均値と標準偏差とはepochごとに測定することができるが、この図においてはそれらを5 epochごとにプロットしている。学習率は初期値がひくすぎるとき（図３（ｂ））にはその平均値が最初は増加し、その後減少するが、図３（ａ）においては増加していない。図３（ｂ）においてはやや初期値がひくすぎたが、それが自律的に調整されたのだとかんがえられる。学習率の標準偏差は初期状態では比較的おおきくしているが、学習がすすむと通常は減少する。しかし、増加する場合もある。いずれにしても、学習率は自律的に調整される。ニューラルネットの学習のかわりに他のシステムの機械学習や最適化・探索をおこなうときは、学習率のかわりに学習過程を制御する他の学習パラメタまたは最適化・探索の過程を制御するパラメタが自律的に調整される。
【００５９】
このような学習率（あるいは学習パラメタ、最適化・探索パラメタ）の値およびその変化は、学習をおこなう際あるいは学習の終了時に図３のようなグラフまたは表などの手段によって表示することができる。
【００６０】
（学習性能等に関する補足）
第１に、個体数（染色体数）に関して記述する。それが多いほうが確率的にはより最適にちかい解をもとめることができるが、すべてを並列に計算できるのでなければ、個体数が多いほうが計算時間がかかる。計算時間と探索範囲のバランスがとれる値の例として、個体数を１２個程度にすることがかんがえられる。個体数を１２として100 epochまで実験するにはＧＰＵを使用してたとえば８時間程度かかる。
【００６１】
第２に、多様性を維持する方法すなわち探索の大域性を制御するための方法に関して記述する。選択・変異の頻度がたかいと、すべての個体が１個の個体からのコピーになりやすい。そのため、その個体が大域最適値からはなれた局所最適値しかない部分に位置していると、満足できる解に到達できない。1 epochで選択・変異する確率を５％以下にする（個体数が１２個なら０．６個以下にする）必要があるとかんがえられる。選択・変異の確率をひくくすると、学習の過程がすすんでもより大域的な探索がおこなわれる。逆に選択・変異の確率をたかくすると、比較的早期に探索が局所的になる。
【００６２】
第３に、大域探索性能に関して記述する。染色体数１２程度では大域探索に十分とはいえない。この場合、最初は１２か所を探索するが、しだいに複写によって生成される個体がふえるため、上記の多様性を維持する方法を適用しても、すぐに探索箇所が３点の近傍くらいにしぼられるからである。探索範囲が何個くらいあるかは、これまでにもとめた最良の個体と現在の各個体とのユークリッド距離を計算し表示することによって推定することができる。図４にこのような表示の例をしめす。各行の右の４個の数値が各段のウェイトのユークリッド距離である。個体９（左端の数字が９の行）が最良の個体であり、すくなくとも２か所の近傍を並列に探索していることがわかる。
【００６３】
第４に、発散した個体の削除について記述する。この実験で使用した単純な逆伝搬学習のアルゴリズムにおいては、逆伝搬によってウェイトが発散する（“nan”になる）ことがしばしばある。このような個体はゾンビすなわち計算を継続しても解がえられる可能性のない個体だとかんがえられるから、削除するべきである。削除のための論理をくみこむこともできるが、そのような個体は評価値が極端に悪化するため、このアルゴリズムにおいては優先的に削除されるから、特別な論理をくみこむ必要はかならずしもない。ただし、その場合は選択・変異の頻度をゾンビの発生頻度よりたかくする必要がある。また、ゾンビが多数発生するときはそれが除去する論理をくみこんだほうが計算効率がよくなる。
【００６４】
たとえば、計算機６１０は、処理２０７において、評価が所定の条件を満たす（たとえば所定の値より悪い）全ての染色体を削除し、削除した染色体と同数の染色体の複製を生成してもよい。たとえば、計算機６１０は、複数の染色体を削除した場合、評価が最良の染色体の複製を、削除した染色体と同数生成して、評価が最良の染色体とそれらを複製した複数の染色体の学習率が全て異なるようにそれらの染色体の学習率を変更してもよい。あるいは、計算機６１０は、複数の染色体を削除した場合、削除した染色体と同数の、評価が上位の染色体を選択して、選択した染色体の複製を一つずつ生成し、複製元の染色体と複製された染色体の学習率が異なるようにそれらの少なくとも一方を変更してもよい。
【００６５】
（本発明の実施形態のまとめ）
以上のように、本実施形態は、逆伝搬学習過程にＧＡの方法をとりいれた、あらたな学習法に関する。この方法においてはニューラルネットを１個の染色体（データ）をもつ個体としてコンピュータ上に（プログラムおよびデータとして）表現し、各個体の染色体にニューラルネットのハイパー・パラメタすなわちニューロン間の接続のおもみなどをコーディング（表現）する。また、それとあわせて各染色体にそのニューラルネットの学習率をコーディングする。複数の個体を用意して並列に計算し、並列化された逆伝搬学習の１ステップ（1 epoch）ごとにＧＡにおける選択と変異とをおこなう。すなわち、成績のわるい個体を削除して成績のよい個体の学習率を変異させたものによって置換する。
【００６６】
また、本実施形態の方法はニューラルネットの学習にかぎらず、他の機械学習にも適用することができる。すなわち、画像、音声、ドキュメントなどのデータの反復学習をおこない、その結果を数値的に評価することができるときに、その機械学習を制御する学習パラメタを染色体上にコーディングし、並列化された学習の１ステップごとにＧＡにおける選択と変異とをおこなう。
【００６７】
さらに、本発明の方法は最適化および探索にも適用することができる。すなわち、探索空間内の移動を反復して最適化や探索をおこなう際に、探索空間内の現在の点を数値的に評価することができるとき、その最適化や探索を制御する最適化・探索制御パラメタを染色体上にコーディングし、並列化された最適化や探索の１ステップごとにＧＡにおける選択と変異とをおこなう。
【００６８】
本実施形態の最大の効果は学習率（または学習パラメタ、最適化・探索制御パラメタ）が自律的に決定されることである。すなわち、逆伝搬学習（または学習、最適化、探索）の１ステップごとに選択と変異とをおこなうことによって、従来の逆伝搬学習法（または学習法、最適化法、探索法）およびそれとＧＡとをくみあわせた方法と同様に学習結果としてニューラルネット（またはシステム）を最適化するのと同時に、従来の方法においてはできなかった逆伝搬学習過程（学習過程、最適化過程、または探索過程）における学習率（または学習パラメタ、最適化・探索制御パラメタ）を最適化することができる。すなわち、１ステップごとにおこなう選択と変異とによって、学習率（または学習パラメタ、最適化・探索制御パラメタ）の平均値がそのステップにおける最適値にちかづけられ、学習（または最適化、探索）の進展とともに変化する最適値に追随する。学習率（または学習パラメタ、最適化・探索制御パラメタ）は、通常は学習（または最適化、探索）の初期には比較的おおきな値をとり学習（または最適化、探索）がすすむとともに最適なスケジュールで低下させることができるが、低下させないほうがよいときはそのようになる。
【００６９】
また、それと同時に本実施形態においては学習（または最適化、探索）における探索範囲が適切に制御できるという効果がある。学習（または最適化、探索）の初期には大域的な探索をおこなうことができ、学習（または最適化、探索）の進展とともに探索範囲をせばめることができる。初期には大域的な探索をおこなうことによって局所最適値におちいる確率が低下するとともに、後期にはせまい範囲を効率的に並列探索することができる。ただし、適切な制御のためには選択と変異の頻度を適切に制御する必要がある。
【００７０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。たとえば、上記した実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００７２】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７３】
５０１  学習制御コンピュータ
５０２  学習制御プログラム
５０３  学習データ生成プログラム
５０４  原データ
５０５  教師情報
５０６  教師情報つき学習データ
５０７  学習用ニューラルネット群
５０８  識別用ニューラルネット
５０９  識別するべきデータ
５１０  識別結果出力
【図１】
0006643905.tif 000002
【図２】
0006643905.tif 000003
【図３】
0006643905.tif 000004
【図４】
0006643905.tif 000005
【図５】
0006643905.tif 000006
【図６】
0006643905.tif 000007