(57)【特許請求の範囲】
【請求項１】
入力データに対する演算結果を出力する複数のノードを接続したネットワークであって所定のクラスに含まれる第１のサブクラスに属するデータの特徴を学習済みの既存のネットワークに対して新規ノードを追加する追加部と、
前記所定のクラスに含まれる第２のサブクラスに属する学習用のデータを入力データとして受け付ける受付部と、
前記受付部によって受け付けられた学習用のデータを前記ネットワークに入力した場合の出力結果に基づいて、前記第２のサブクラスに属する学習用のデータの特徴をさらに学習するように、前記追加部によって追加された新規ノードと他のノードとの間の結合係数を算出する算出部と
を備えたことを特徴とする算出装置。
【請求項２】
前記算出部は、
前記結合係数として、前記学習用のデータを前記ネットワークに入力した場合の出力結果と前記学習用のデータに対応する正しい出力結果との間の誤差を最小とする結合係数を算出する
ことを特徴とする請求項１に記載の算出装置。
【請求項３】
前記算出部は、
前記追加部によって追加された新規ノードと他のノードとの間の結合係数として、前記他のノード間の結合係数を不変にして前記誤差を最小とする結合係数を算出する
ことを特徴とする請求項２に記載の算出装置。
【請求項４】
前記算出部は、
前記追加部によって追加された新規ノードと他のノードとの間の結合係数を、前記ネットワークに含まれるノードのうち上位層に近いノードとの間の結合係数から順に前記誤差を最小とする結合係数を算出する
ことを特徴とする請求項２または３に記載の算出装置。
【請求項５】
前記追加部は、
前記ネットワークに含まれるノードと前記新規ノードとの間の結合係数を前記出力結果に影響を与えない初期値にして前記新規ノードを前記ネットワークに対して追加する
ことを特徴とする請求項１〜４のいずれか１つに記載の算出装置。
【請求項６】
前記算出部によって算出された結合係数を前記学習用のデータが有する特徴を示す特徴量ベクトルとして出力する出力部
をさらに備えることを特徴とする請求項１〜５のいずれか１つに記載の算出装置。
【請求項７】
前記新規ノードが追加され、各ノード間の結合係数を前記算出部によって算出された結合係数に設定したネットワークを出力する出力部
をさらに備えることを特徴とする請求項１〜５のいずれか１つに記載の算出装置。
【請求項８】
算出装置が実行する算出方法であって、
入力データに対する演算結果を出力する複数のノードを接続したネットワークであって所定のクラスに含まれる第１のサブクラスに属するデータの特徴を学習済みの既存のネットワークに対して新規ノードを追加する追加工程と、
前記所定のクラスに含まれる第２のサブクラスに属する学習用のデータを入力データとして受け付ける受付工程と、
前記受付工程によって受け付けられた学習用のデータを前記ネットワークに入力した場合の出力結果に基づいて、前記第２のサブクラスに属する学習用のデータの特徴をさらに学習するように、前記追加工程によって追加された新規ノードと他のノードとの間の結合係数を算出する算出工程と
を含んだことを特徴とする算出方法。
【請求項９】
入力データに対する演算結果を出力する複数のノードを接続したネットワークであって所定のクラスに含まれる第１のサブクラスに属するデータの特徴を学習済みの既存のネットワークに対して新規ノードを追加する追加手順と、
前記所定のクラスに含まれる第２のサブクラスに属する学習用のデータを入力データとして受け付ける受付手順と、
前記受付手順によって受け付けられた学習用のデータを前記ネットワークに入力した場合の出力結果に基づいて、前記第２のサブクラスに属する学習用のデータの特徴をさらに学習するように、前記追加手順によって追加された新規ノードと他のノードとの間の結合係数を算出する算出手順と
をコンピュータに実行させることを特徴とする算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、算出装置、算出方法及び算出プログラムに関する。
【背景技術】
【０００２】
近年、多段に接続されたニューロンを有するＤＮＮ（Deep Neural Network）を利用して言語認識や画像認識の学習を行うディープラーニングに関する技術が知られている。例えば、このような技術では、入力された画像データから画像に含まれる物体等を学習することでＤＮＮを取得する。そして、新たな画像データが入力された場合に、取得したＤＮＮに基づいてどのような物体が画像に含まれているかを識別する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００９−５１６２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、ＤＮＮを容易に取得することができるとは限らなかった。例えば、上記の従来技術では、所望の判定を行うＤＮＮを取得するために、大量のデータを用いて学習を行うことになる。このため、上記の従来技術では、学習用のデータを集める手間がかかるとともに、データの学習に時間がかかる。このようなことから、上記の従来技術では、ＤＮＮを容易に取得することができるとは限らなかった。
【０００５】
本願は、上記に鑑みてなされたものであって、ＤＮＮを容易に取得することができる算出装置、算出方法及び算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る算出装置は、入力データに対する演算結果を出力する複数のノードを接続したネットワークであって所定のクラスに含まれる第１のサブクラスに属するデータの特徴を学習済みのネットワークに対して新規ノードを追加する追加部と、前記所定のクラスに含まれる第２のサブクラスに属する学習用のデータを入力データとして受け付ける受付部と、前記受付部によって受け付けられた学習用のデータを前記ネットワークに入力した場合の出力結果に基づいて、前記第２のサブクラスに属する学習用のデータの特徴を学習するように、前記追加部によって追加された新規ノードと他のノードとの間の結合係数を算出する算出部とを備えたことを目的とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、ＤＮＮを容易に取得することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る算出装置による算出処理の一例を示す説明図である。
【図２】図２は、実施形態に係る算出装置の構成例を示す図である。
【図３】図３は、実施形態に係るＤＮＮ情報記憶部の一例を示す図である。
【図４】図４は、算出装置による算出処理手順を示すフローチャートである。
【図５】図５は、算出装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る算出装置、算出方法及び算出プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る算出装置、算出方法及び算出プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
〔１．算出処理〕
まず、図１を用いて、実施形態に係る算出処理の一例について説明する。図１は、実施形態に係る算出装置による算出処理の一例を示す説明図である。図１の例では、算出装置１００によってデータの特徴を識別可能なＤＮＮの結合係数を算出する算出処理が行われる例を示す。
【００１１】
算出装置１００は、ＤＮＮにおけるノード（例えば、ニューロン）間の結合係数（例えば、重み係数）を算出するサーバ装置である。ここで、ＤＮＮは、例えば、入力データに対する演算結果を出力する複数のニューロンを接続したネットワークであって所定のクラスに属するデータの特徴を抽出する結合係数が複数のニューロン間に設定されたネットワークである。図１の例では、ＤＮＮは、ニューロンＮ０１〜Ｎ０３によって形成される入力層と、ニューロンＮ１１〜Ｎｎ３によって形成される中間層と、ニューロンＮＣによって形成される出力層とから構成される。また、ＤＮＮは、洋服（所定のクラスに相当）が描画された画像から、Ａ社製の洋服（第１のサブクラスに相当）が含まれる画像を取り出す学習器である。なお、ニューロンＮＣは、画像にＡ社製の洋服が含まれている場合には、「１」を出力する。一方、ニューロンＮＣは、画像にＡ社製の洋服が含まれていない場合には、「０」を出力する。また、図１では、説明を簡単にするため、ＤＮＮの中間層として３層のニューロン群を一例として図示したが、ＤＮＮの中間層は、任意の数の層によって構成される。
【００１２】
算出装置１００は、例えば、データの特徴を抽出するために、ＤＮＮに追加されたニューロンと他のニューロンとの間の結合係数を算出する。この点について図１を用いて詳細に説明する。なお、図１の例では、算出装置１００は、Ｃ社製の洋服（第２のサブクラスに相当）の特徴を抽出するＤＮＮの結合係数を算出する。
【００１３】
まず、算出装置１００は、Ａ社製の洋服の学習を行う。例えば、算出装置１００は、図１に示すように、Ａ社製の洋服が描出された複数の画像データＰ１１〜Ｐ１５を入力データとして受け付ける（ステップＳ１）。なお、図１では、説明を簡単にするため、算出装置１００は、５つの入力データを受け付ける例を示すが、実際には、Ａ社製の洋服の特徴を学習するのに十分な数の画像データを入力データとして受け付ける。
【００１４】
そして、算出装置１００は、受け付けた画像データを用いて、データの特徴を抽出する結合係数が複数のニューロンＮ０１〜Ｎｎ３間に設定されたＤＮＮを生成する。例えば、算出装置１００は、ＤＮＮに入力したデータと出力したデータとの誤差が少なくなるように各ニューロン間の結合係数を補正する。これにより、算出装置１００は、各種の洋服が描出された画像データのうち、Ａ社製の洋服が含まれた画像データを識別することが可能なＤＮＮを生成する（ステップＳ２）。この場合、出力層のニューロンはニューロンＮＣの１個であり、画像にＡ社製の洋服が含まれていれば「１」を出力し、画像にＡ社製の洋服が含まれていなければ「０」を出力するように学習する。他にも出力層として洋服の種類（コート、背広，セータ，シャツ、パンツ、靴下、など）を表すニューロンをそれぞれ用意して洋服の種類を識別するＤＮＮを用いることもできる。あるいは出力層として入力層と同じ画像のピクセルに対応するニューロンを用意して、入力した画像と同じ画像を再現するように学習することもできる（この場合は洋服を含む画像を入力すると精度よく再現できるが、その他の学習したことがない例えば車の画像を入力すると出力層には入力した画像を精度よくは再現できない）。なお、算出装置１００は、上述した手法以外の手法を用いてＡ社製の洋服の特徴を学習したＤＮＮを生成してもよい。また、算出装置１００は、上述した学習処理を行わずに、他のサーバ装置などによって生成されたＤＮＮであってＡ社製の洋服の特徴を学習済みのＤＮＮを取得して用いてもよい。また、以下の説明では、ステップＳ２にて生成されたＤＮＮを学習済みＤＮＮと記載する場合がある。
【００１５】
その後、算出装置１００は、画像にＡ社製の洋服が含まれることを識別することが可能なＤＮＮに対して新規ニューロンＮｐを新たに追加する（ステップＳ３）。以下、新規ニューロンＮｐを新たに追加したＤＮＮを処理対象ＤＮＮと記載する場合がある。なお、ニューロンＮｆは、入力データとして入力された画像にＣ社製の洋服が含まれている場合には、「１」を出力する。一方、ニューロンＮｆは、入力データとして入力された画像にＣ社製の洋服が含まれていない場合には、「０」を出力するニューロンであるものとする。続いて、算出装置１００は、Ｃ社製の洋服が描出された画像データＰ２１〜Ｐ２２を学習用の入力データとして受け付ける（ステップＳ４）。なお、図１では、説明を簡単にするため、算出装置１００は、画像データＰ２１および画像データＰ２２を入力データとして受け付ける例を示すが、実際には、Ｃ社製の洋服の特徴を学習するのに十分な数の画像データを入力データとして受け付ける。
【００１６】
そして、算出装置１００は、受け付けた画像データＰ２１（Ｃ社製の洋服の画像）を処理対象ＤＮＮに入力した場合の出力結果に基づいて、追加された新規ニューロンＮｐと他のニューロンとの間の結合係数を算出する（ステップＳ５）。すなわち、算出装置１００は、Ｃ社製の洋服を識別するようにＤＮＮの結合係数を調整する。具体的には、算出装置１００は、各ニューロンＮ０１〜Ｎｎ３およびＮｆ間の結合係数を固定値として、バックプロパゲーション法（誤差補正手法）によって新規ニューロンＮｐと他のニューロンＮ１１〜Ｎｎ３およびＮｆとの間の結合係数を補正する。
【００１７】
例えば、算出装置１００は、処理対象ＤＮＮに画像データＰ２１を入力する。かかる場合、処理対象ＤＮＮは、Ｃ社製の洋服を判定するように設計されていないため、出力結果として「Ｃ社製の洋服」を出力せずに誤った出力をする場合がある。一例としては、ニューロンＮｆは、「Ｃ社製の洋服」が描出された画像データＰ２１が入力された際に、「Ｃ社製の洋服」が画像に描出されていないことを示す「０」を出力する場合がある。そこで、算出装置１００は、入力データに対する誤った出力結果の誤差が解消されるように、処理対象ＤＮＮに含まれる結合係数のうち、学習済みＤＮＮの結合係数以外の結合係数、すなわち新規ニューロンＮｐと他のニューロンとの間の結合係数を算出する。
【００１８】
ここで、処理対象ＤＮＮのうち、学習済みＤＮＮの範囲には、少なくともＡ社製の洋服の特徴が学習されている。そこで、算出装置１００は、Ａ社製の洋服の特徴が学習された学習済みＤＮＮに新規ニューロンＮｐを追加し、Ｃ社製の洋服を判定するように、新規ニューロンＮｐと他のニューロンＮ１１〜Ｎｎ３およびＮｆとの間の結合係数を算出する。
【００１９】
具体的には、算出装置１００は、入力データをＤＮＮに入力した場合の出力結果と入力データに対応する正しい出力結果との間の誤差を最小とする結合係数を算出する。一例としては、算出装置１００は、Ｃ社製の洋服が描出された複数の画像データが入力データとして入力された場合に、可能な限り多くの画像データに対して「Ｃ社製の洋服」を出力結果として出力する結合係数を算出する。より具体的には、算出装置１００は、Ｃ社製の洋服が描出された画像データが入力データとして入力された場合に、ニューロンＮｆが「１」を出力する結合係数を算出する。すなわち、算出装置１００は、Ｃ社製の洋服の識別誤差が最小となるように結合係数を補正する。
【００２０】
また、算出装置１００は、ニューロンＮ０１〜Ｎｎ３およびＮｆのうち新規ニューロンＮｐを追加した層より出力層側に位置する上段ニューロンＮ１１〜Ｎｎ３およびＮｆと新規ニューロンＮｐとの間の結合係数Ｗ１１〜Ｗｎ３およびＷｆを算出する。より具体的には、算出装置１００は、例えば、新規ニューロンＮｐと他のニューロンＮ１１〜Ｎｎ３およびＮｆとの間の結合係数を、ＤＮＮに含まれるニューロンのうち上位層に近いニューロンとの間の結合係数から順に誤差を最小とする結合係数Ｗ１１〜Ｗｎ３およびＷｆを算出する。すなわち、算出装置１００は、図１の例では、結合係数Ｗｆ、Ｗｎ１、Ｗｎ２、Ｗｎ３、・・・Ｗ２１、Ｗ２２、Ｗ１１、Ｗ１２、Ｗ１３の順に出力の誤差が最小となる結合係数を算出する。これにより、算出装置１００は、Ｃ社製の洋服を識別する精度を高めたＤＮＮ、すなわち、Ｃ社製の洋服用に調整されたＤＮＮを取得できる。
【００２１】
また、Ｃ社製の洋服が描出されていない入力データ（例えば、Ｘ社製の洋服が描出された画像データ）に対する出力結果として、処理対象ＤＮＮが「Ｃ社製の洋服」を誤って出力した場合、算出装置１００は、可能な限り多くの画像データに対して「Ｃ社製の洋服」を出力結果として出力しない結合係数を算出する。例えば、算出装置１００は、Ｘ社製の洋服が描出された画像データが入力データとして入力された場合に、ニューロンＮｆが「０」を出力する結合係数を算出する。なお、同じＤＮＮにＸ社製の洋服が描出された画像データを入力し、新規ニューロンＮｐと他のニューロンＮ１１〜Ｎｎ３およびＮｆとの間の結合係数だけを補正することで、Ｘ社製の洋服を識別する結合係数を算出することもできる。
【００２２】
そして、算出装置１００は、算出した結合係数に基づいて「Ｃ社製の洋服」を識別するＤＮＮを生成する（ステップＳ６）。すなわち、算出装置１００は、結合係数Ｗｆ、Ｗｎ１、Ｗｎ２、Ｗｎ３、・・・Ｗ２１、Ｗ２２、Ｗ１１、Ｗ１２、Ｗ１３が算出された値であるＤＮＮを生成する。なお、算出装置１００は、算出した結合係数、すなわち、ニューロンＮ１１〜Ｎｎ３およびＮｆと新規ニューロンＮｐとの間の結合係数をデータの特徴を示す特徴量ベクトルとして取得してもよい。かかる特徴量ベクトルは、例えば、入力データを分類するためのデータとして利用可能となる場合がある。このため、算出装置１００は、算出した結合係数をＣ社製の洋服が描出された画像の特徴量として抽出してもよい。
【００２３】
このように、実施形態に係る算出装置１００は、入力データに対する演算結果を出力する複数のノードを接続したネットワークであって、所定のクラス（例えば「洋服」のクラス）に含まれる第１のサブクラス（例えば、「Ａ社製の洋服」）に属するデータの特徴を学習済みのネットワークに対して新規ノードを追加する。また、算出装置１００は、新規なデータとして、所定のクラスに含まれる第２のサブクラス（例えば、「洋服」のクラスに含まれる「Ｃ社製の洋服」）に属するデータを入力データとして受け付ける。また、算出装置１００は、受け付けられた新規なデータをネットワークに入力した場合の出力結果に基づいて、新規なデータの特徴を学習するように、すなわち、第２のサブクラスの特徴を学習するように、追加された新規ノードと他のノードとの間の結合係数を算出する。
【００２４】
また、実施形態に係る算出装置１００は、結合係数として、新規なデータをネットワークに入力した場合の出力結果と新規なデータに対応する正しい出力結果との間の誤差を最小とする結合係数を算出する。
【００２５】
また、実施形態に係る算出装置１００は、追加された新規ノードと他のノードとの間の結合係数を、ネットワークに含まれるノードのうち上位層に近いノードとの間の結合係数から順に誤差を最小とする結合係数を算出する。
【００２６】
これにより、算出装置１００は、既存のＤＮＮを利用して新規なデータの特徴を抽出するＤＮＮを容易に得ることができる。すなわち、算出装置１００は、新規なデータの特長を抽出するように、既存のＤＮＮを調整することができる。例えば、算出装置１００は、Ａ社製の洋服の特徴について学習済みのＤＮＮを用いて、Ｃ社製の洋服の特徴を識別可能なＤＮＮを取得することができるので、Ｃ社製の洋服の特徴を識別可能なＤＮＮを新たに生成する場合と比較して容易に取得することができる。
【００２７】
また、算出装置１００は、所定の特徴について学習済みのＤＮＮを用いるので、ＤＮＮを新たに生成する場合と比較して他の特徴を学習するための画像データが少なくてもＤＮＮを取得することができる。このため、算出装置１００は、学習用のデータを集める手間を減らすことができるとともに、データの学習にかかる時間を減らすことができる。
【００２８】
他の例では、算出装置１００は、ニューロン間の結合係数を調整することで判定精度を高めることができる。例えば、算出装置１００は、被写体が鮮明に描出された画像データを用いて特徴の学習を行った後に、被写体が不鮮明に描出された画像データを用いてニューロン間の結合係数を調整する。これにより、算出装置１００は、画像データの被写体が鮮明でも不鮮明でも高い精度で判定することができる。
【００２９】
なお、算出装置１００は、Ｃ社製の洋服の特徴に限らず、Ａ社製の洋服、Ｂ社製の洋服およびＣ社製の洋服の特徴を識別可能なＤＮＮを生成してもよい。この場合、算出装置１００は、Ａ社製の洋服、Ｂ社製の洋服およびＣ社製の洋服の特徴を識別するようにニューロン間の結合係数を調整する。これにより、算出装置１００は、複数の製造元の洋服を識別可能なＤＮＮを生成することができる。また、算出装置１００は、Ｃ社製の洋服の特徴のみを識別するようにニューロン間の結合係数を調整した場合には、Ｃ社製の洋服を高い精度で識別することができる。  
【００３０】
〔２．算出装置の構成〕
次に、図２を用いて、実施形態に係る算出装置１００の構成について説明する。図２は、実施形態に係る算出装置１００の構成例を示す図である。図２に示すように、算出装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、算出装置１００は、算出装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００３１】
（通信部１１０について）
通信部１１０は、例えば、ＮＩＣ等によって実現される。かかる通信部１１０は、ネットワークと有線又は無線で接続され、ネットワークを介して、各種のサーバ装置や端末装置やノードとの間で情報の送受信を行う。
【００３２】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２０は、ＤＮＮ情報記憶部１２１を有する。
【００３３】
（ＤＮＮ情報記憶部１２１について）
ＤＮＮ情報記憶部１２１は、ＤＮＮに関する情報を記憶する。具体的には、ＤＮＮ情報記憶部１２１は、ノードごとに、ＤＮＮに含まれるノード間の結合係数に関する情報を記憶する。例えば、ＤＮＮ情報記憶部１２１は、新たに追加された新規ニューロンと他のニューロンとの間の結合係数を記憶する。ここで、図３に、実施形態に係るＤＮＮ情報記憶部１２１の一例を示す。図３に示すように、ＤＮＮ情報記憶部１２１は、「ニューロンＩＤ」、「結合先ニューロンＩＤ」、「結合係数」といった項目を有する。
【００３４】
「ニューロンＩＤ」は、ＤＮＮに含まれるニューロンを識別するための識別情報を示す。「結合先ニューロンＩＤ」は、「ニューロンＩＤ」に対応するニューロンと結合するニューロンを識別するための識別情報を示す。「結合係数」は、ニューロン間の結合係数を示す。なお、「結合係数」には、新規ニューロンが追加された際に、新規ニューロンと結合先ニューロンの間の結合係数としてＤＮＮに影響を与えない初期値が記憶される。例えば、「結合係数」には、新規ニューロンが追加された際に、初期値として「０」が記憶される。
【００３５】
すなわち、図３では、ニューロンＩＤ「Ｎ１１」に対応するニューロンＮ１１は、ニューロンＩＤ「Ｎ２１」に対応するニューロンＮ２１との間の結合係数が「ＷＡ」である例を示している。また、図３では、ニューロンＩＤ「ＮＰ」に対応する新規に追加されたニューロンＮＰは、ニューロンＩＤ「Ｎ２１」に対応するニューロンＮ２１との間の結合係数が「Ｗ２１」である例を示している。
【００３６】
（制御部１３０について）
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、算出装置１００内部の記憶装置に記憶されている各種プログラム（算出プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００３７】
制御部１３０は、図２に示すように、追加部１３１と、受付部１３２と、算出部１３３と、出力部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図２に示した構成に限られず、後述する算出処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図２に示した接続関係に限られず、他の接続関係であってもよい。
【００３８】
（追加部１３１について）
追加部１３１は、ＤＮＮに新規ノードを追加する。具体的には、追加部１３１は、入力データに対する演算結果を出力する複数のニューロンを接続したネットワークであって所定のクラスに含まれるサブクラスに属するデータの特徴を抽出する結合係数が複数のニューロン間に設定されたネットワークに対して新規ニューロンを追加する。例えば、追加部１３１は、ＤＮＮを構成するニューロン群に新規ニューロンを追加する。ここで、追加部１３１は、新規ニューロンと他のニューロンとの間の結合係数を初期値「０」としてＤＮＮ情報記憶部１２１に記憶する。
【００３９】
（受付部１３２について）
受付部１３２は、入力データを受け付ける。具体的には、受付部１３２は、識別対象の特徴を学習するために学習用の入力データを受け付ける。例えば、受付部１３２は、識別対象が描出された画像データを学習用の入力データとして受け付ける。一例としては、受付部１３２は、ＤＮＮがＡ社製の洋服を識別可能な場合には、Ｃ社製の洋服が描出された画像データを学習用の入力データとして受け付ける。
【００４０】
（算出部１３３について）
算出部１３３は、ＤＮＮに含まれるノード間の結合係数を算出する。具体的には、算出部１３３は、受付部１３２によって受け付けられたデータをネットワークに入力した場合の出力結果に基づいて、追加部１３１によって追加された新規ニューロンと他のニューロンとの間の結合係数を算出する。例えば、算出部１３３は、バックプロパゲーション法により新規ニューロンと他のニューロンとの間の結合係数を算出する。
【００４１】
一例としては、算出部１３３は、入力データに対する誤った出力結果が解消されるように、新規ニューロンと他のニューロンとの間の結合係数を算出する。具体的には、算出部１３３は、受付部１３２が受け付けたデータをＤＮＮに入力した場合の出力結果とデータに対応する正しい出力結果との間の誤差を最小とする結合係数を算出する。一例としては、算出装置１００は、可能な限り多くの入力データに対して正しい出力結果を出力する結合係数を算出する。すなわち、算出装置１００は、入力データの識別誤差が最小となるように結合係数を算出する。これにより、算出装置１００は、出力層における予測誤差を減らすことができる。
【００４２】
例えば、算出部１３３は、新規ニューロンと他のニューロンとの間の結合係数を、ＤＮＮに含まれるニューロンのうち上位層に近いニューロンとの間の結合係数から順に誤差を最小とする結合係数を算出する。一例としては、算出部１３３は、新規ニューロンと他のニューロンのうち新規ニューロンを追加した層より出力層側に位置する上段ニューロンとの間の結合係数を算出する。
【００４３】
ここで、算出部１３３は、追加部１３１によって追加された新規ニューロンと他のニューロンとの間の結合係数として、新規ニューロン以外の他のニューロン間の結合係数を不変にして誤差を最小とする結合係数を算出する。ＤＮＮは、新規ニューロン以外の他のニューロン間の結合係数を変更すると、新たに入力されるデータの特徴を学習するのにかかる時間が増える可能性があるためである。図３の例では、算出部１３３は、新規ニューロンＮｐが追加された場合に、ニューロンＮ１１〜Ｎｎ３およびＮｆとの間の結合係数Ｗ１１〜Ｗｎ３およびＷｆのみを算出する。そして、算出部１３３は、ＤＮＮ情報記憶部１２１に記憶されている結合係数を、算出された結合係数に更新する。
【００４４】
また、算出部１３３は、所定の特徴を学習済みのＤＮＮに対して新規ノードが追加された場合に、他の特徴（例えば、他のサブクラスに属するデータの特徴）を識別するようにＤＮＮに含まれるニューロン間の結合係数を調整する。例えば、算出部１３３は、バックプロパゲーション法によってニューロン間の結合係数を補正する。一例としては、算出部１３３は、Ａ社製の洋服を識別可能な学習済みＤＮＮに対して新規ニューロンが追加された場合に、Ｃ社製の洋服の特徴を識別するようにＤＮＮに含まれるニューロン間の結合係数を調整する。これにより、算出装置１００は、学習済みの特徴とは異なる他の特徴を識別することが可能なＤＮＮを生成することができる。
【００４５】
（出力部１３４について）
出力部１３４は、ＤＮＮを出力する。具体的には、出力部１３４は、学習済みのＤＮＮに対して新規ニューロンが追加されたＤＮＮであって、算出部１３３が算出した結合係数が設定されたＤＮＮを生成し、生成したＤＮＮを利用者が使用する利用者端末等に出力する。なお、図２に示す例では、記載を省略したが、例えば、算出装置１００は、ネットワークＮなどを介して、利用者端末に生成したＤＮＮを送信してもよい。
【００４６】
〔３．算出処理手順〕
次に、図４を用いて、実施形態に係る算出装置１００による算出処理の手順について説明する。図４は、実施形態に係る算出装置１００による算出処理手順を示すフローチャートである。
【００４７】
図４に示すように、算出装置１００は、入力データに対する演算結果を出力する複数のニューロンを接続したＤＮＮであって所定のクラスに含まれる第１のサブクラスに属するデータの特徴を抽出する結合係数が複数のニューロン間に設定されたＤＮＮに対して新規ニューロンを追加する（ステップＳ１０１）。そして、算出装置１００は、ＤＮＮに対して新規ニューロンを追加していない場合には（ステップＳ１０１；Ｎｏ）、ＤＮＮに新規ニューロンを追加するまで待機する。
【００４８】
一方、算出装置１００は、新規ニューロンを追加した場合（ステップＳ１０１；Ｙｅｓ）、第２のサブクラスに属する学習用のデータを入力データとして受け付ける（ステップＳ１０２）。例えば、算出装置１００は、入力データに対する出力結果と入力データに対応する正しい出力結果との間に誤差を意図的に生じさせる入力データと誤差を生じさせない入力データとを受け付ける。そして、算出装置１００は、学習用のデータを入力データとして受け付けていない場合には（ステップＳ１０２；Ｎｏ）、学習用のデータを入力データとして受け付けるまで待機する。
【００４９】
一方、算出装置１００は、学習用のデータを入力データとして受け付けた場合（ステップＳ１０２；Ｙｅｓ）、第２のサブクラスに属する学習用のデータをＤＮＮに入力した場合の出力結果に基づいて、新規ニューロンと他のニューロンとの間の結合係数を算出する（ステップＳ１０３）。具体的には、算出装置１００は、入力データをＤＮＮに入力した場合の出力結果と入力のデータに対応する正しい出力結果との間の誤差を最小とする結合係数を算出する。一例としては、算出装置１００は、新規ニューロンと他のニューロンとの間の結合係数を、ＤＮＮに含まれるニューロンのうち上位層に近いニューロンとの間の結合係数から順に誤差を最小とする結合係数を算出する。例えば、算出装置１００は、追加部１３１によって追加された新規ニューロンと他のニューロンとの間の結合係数として、新規ニューロン以外の他のニューロン間の結合係数を不変にして誤差を最小とする結合係数を算出する。
【００５０】
そして、算出装置１００は、学習済みのＤＮＮに対して新規ニューロンが追加されたＤＮＮであって、算出部１３３が算出した結合係数が設定されたＤＮＮを生成し、生成したＤＮＮを利用者が使用する利用者端末等に出力する。（ステップＳ１０４）。
【００５１】
〔４．変形例〕
上述した実施形態に係る算出装置１００は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の算出装置１００の他の実施形態について説明する。
【００５２】
〔４−１．新規ニューロンの追加（１）〕
上記実施形態では、算出装置１００は、入力データに対する演算結果を出力する複数のニューロンを接続したネットワークであって所定のクラスに含まれる第１のサブクラスに属するデータの特徴を抽出する結合係数が複数のニューロン間に設定されたネットワークに対して新規ニューロンを追加する例を示した。ここで、算出装置１００は、ネットワークに含まれるニューロンと新規ニューロンとの間の結合係数を任意の初期値に設定して新規ニューロンをネットワークに対して追加してもよい。
【００５３】
具体的には、算出装置１００は、ネットワークに含まれるニューロンと新規ニューロンとの間の結合係数を出力結果に影響を与えない初期値にして新規ニューロンをネットワークに対して追加する。例えば、算出装置１００は、ネットワークに含まれるニューロンと新規ニューロンとの間の結合係数の初期値を「０」に設定して新規ニューロンをネットワークに追加する。
【００５４】
このように、算出装置１００は、ネットワークに含まれるニューロンと新規ニューロンとの間の結合係数を出力結果に影響を与えない初期値にして新規ニューロンをネットワークに対して追加する。これにより、算出装置１００は、新規ニューロンを追加したことによる影響を抑えることができるので、誤った出力結果の誤差に応じた結合係数を算出することができる。
【００５５】
〔４−２．新規ニューロンの追加（２）〕
上記実施形態では、算出装置１００は、ＤＮＮの入力層に新規ニューロンを追加する例を示した。ここで、算出装置１００は、新規ニューロンをＤＮＮの入力層に限らず、任意の層に追加してもよい。
【００５６】
例えば、算出装置１００は、図１の例では、ニューロンＮ０１〜Ｎ０３が含まれる入力層や、ニューロンＮ１１〜Ｎｎ３が含まれる中間層、およびニューロンＮｆが含まれる出力層といった任意の層に新規ニューロンＮｐを追加してもよい。なお、算出装置１００は、中間層を形成するニューロン群のうち任意のニューロン群の段に新規ニューロンＮｐを追加してもよい。
【００５７】
このように、算出装置１００は、新規ニューロンをＤＮＮの入力層に限らず、任意の層に追加する。これにより、算出装置１００は、バリエーションに富んだＤＮＮを取得することができる。
【００５８】
〔４−３．新規ニューロンの追加（３）〕
上記実施形態では、算出装置１００は、ＤＮＮに新規ニューロンを追加する例を示した。ここで、算出装置１００は、オートエンコーダに対して新規ニューロンを追加してもよい。
【００５９】
具体的には、算出装置１００は、入力データの再現性が高い出力結果を出力するＤＮＮであるオートエンコーダに対して新規ニューロンを追加する。例えば、算出装置１００は、入力データの次元数を削減した後に元の次元数に戻す操作を行うオートエンコーダに対して新規ニューロンを追加する。すなわち、算出装置１００は、中間層のニューロン群に含まれるニューロンの数が入力層や出力層に含まれるニューロンの数と比較して少ないＤＮＮに対して新規ニューロンを追加する。
【００６０】
このように、算出装置１００は、オートエンコーダに対して新規ニューロンを追加して、新たなデータへの最適化を行うので、新たなデータの特徴を適切に抽出するオートエンコーダを容易に得ることができる。
【００６１】
〔４−４．新規ニューロンの追加（４）〕
上記実施形態では、算出装置１００は、ＤＮＮに１個の新規ニューロンを追加する例を示した。ここで、算出装置１００は、１個の新規ニューロンに限らず、任意の数の新規ニューロンをＤＮＮに対して追加してもよい。例えば、算出装置１００は、複数の新規ニューロンを含むニューロン群であって既に特定の対象について学習済みのニューロン群をＤＮＮに追加する。
【００６２】
このように、算出装置１００は、任意の数の新規ニューロンをＤＮＮに追加する。これにより、算出装置１００は、ニューロン群ごとＤＮＮに追加することができるので、既に特定の対象について学習済みのニューロン群を活用することができる。
【００６３】
〔４−５．結合係数の算出〕
上記実施形態では、算出装置１００は、新規ニューロンと他のニューロンのうち新規ニューロンを追加した層より出力層側に位置する上段ニューロンとの間の結合係数を算出する例を示した。ここで、算出装置１００は、新規ニューロンと上段ニューロンとの間の結合係数に限らず、新規ニューロンと他のニューロンのうち新規ニューロンを追加した層より入力層側に位置する下段ニューロンとの間の結合係数を算出してもよい。
【００６４】
例えば、算出装置１００は、図１の例では、新規ニューロンＮｐと上段ニューロンＮ２１〜Ｎｎ３との間の結合係数Ｗ２１〜Ｗｎ３だけでなく、新規ニューロンＮｐと新規ニューロンＮｐを追加した層より入力層側に位置する下段ニューロン新規ニューロンＮｐを追加した層と同じ層に位置するニューロンＮ０１〜Ｎ０３との間の結合係数Ｗ０１〜Ｗ０３も算出する。
【００６５】
このように、算出装置１００は、新規ニューロンと他のニューロンのうち新規ニューロンを追加した層より入力層側に位置する下段ニューロンとの間の結合係数を算出する。これにより、算出装置１００は、識別精度の高いＤＮＮを取得することができる。
【００６６】
〔４−６．算出処理〕
上記実施形態では、算出装置１００は、ＤＮＮに含まれるニューロンと新規ニューロンとの間の結合係数を算出する処理手順の例を示した。ここで、算出装置１００は、上述した処理手順に限らず、各種の処理を任意の順に行ってもよい。
【００６７】
例えば、算出装置１００は、学習用のデータをＤＮＮに入力した場合の出力結果と学習用のデータに対応する正しい出力結果との間の誤差を最小とするニューロン間の結合係数を同時並行的に算出する。なお、かかる並行処理については、量子アニーリング等、任意の手法を適用することができる。
【００６８】
このように、算出装置１００は、各種の処理を任意の順に行う。これにより、算出装置１００は、処理速度を速めることができる。
【００６９】
また、算出装置１００は、画像に描出された洋服に限らず、画像に描出された各種の被写体を識別するＤＮＮを生成してもよい。例えば、算出装置１００は、アジア人の特徴を学習済みのＤＮＮに対して新規ノードを追加し、ヨーロッパ人の特徴を識別可能なＤＮＮを生成する。このような例を以下に説明する。
【００７０】
例えば、算出装置１００は、まず、アジア人が描出された複数の画像データを入力データとして受け付ける。そして、算出装置１００は、画像に描出されたアジア人の特徴を学習する。これにより、算出装置１００は、アジア人が描出された画像データを入力データとして受け付けた場合に、画像にアジア人が含まれることを識別することが可能な学習済みＤＮＮを生成する。
【００７１】
その後、算出装置１００は、アジア人を識別可能な学習済みＤＮＮに対して新規ニューロンを追加する。続いて、算出装置１００は、ヨーロッパ人が描出された複数の画像データを入力データとして受け付ける。そして、算出装置１００は、画像に描出されたヨーロッパ人の特徴を識別するようにＤＮＮに含まれるニューロン間の結合係数を調整する。例えば、算出装置１００は、バックプロパゲーション法によってニューロン間の結合係数を補正する。これにより、算出装置１００は、ヨーロッパ人の特徴を識別可能なＤＮＮを生成する。
【００７２】
すなわち、算出装置１００は、「人」というクラスに含まれる「アジア人」というサブクラスに属する入力データを用いて学習したＤＮＮに対し、新規ノードを追加し、「人」というクラスに含まれる「ヨーロッパ人」というサブクラスに属する入力データを用いて、新規ノードと他のノードとの結合係数を補正する。これにより、算出装置１００は、既存のＤＮＮを利用して他の特徴を抽出するＤＮＮを生成することができるので、ＤＮＮを新たに生成する場合と比較してＤＮＮを容易に取得することができる。
【００７３】
また、出力部１３４は、特徴量ベクトルを出力してもよい。具体的には、出力部１３４は、ニューロン間の結合係数を特徴量ベクトルとして出力する。一例としては、出力部１３４は、算出部１３３によって算出された結合係数をデータの特徴を示す特徴量ベクトルとして出力する。すなわち、出力部１３４は、追加部１３１によって追加された新規ニューロンと他のニューロンとの間の結合係数をデータの特徴を示す特徴量ベクトルとして出力する。これにより、算出装置１００は、データの特徴を示す特徴量ベクトルを活用することができる。
【００７４】
この場合、算出装置１００は、例えば、所定のクラスに属するデータの特徴を抽出する結合係数が複数のノード間に設定されたＤＮＮに対して、所定のクラスに属するサブクラスのデータを入力した場合の出力結果に基づいて、ノード間の結合係数を算出する。一例としては、算出装置１００は、サブクラスのデータをＤＮＮに入力した場合の出力結果とサブクラスのデータに対応する正しい出力結果との間の誤差を最小とする結合係数を算出する。そして、算出装置１００は、算出された結合係数を、サブクラスの特徴を示す特徴量ベクトルとして出力する。
【００７５】
〔４−７．ＤＮＮ〕
上記実施形態では、算出装置１００は、３つの層によって構成されるＤＮＮに新規ニューロンを追加する例を示した。ここで、算出装置１００は、上述した例に限らず、任意の数の層によって構成されたＤＮＮに対して新規ニューロンを追加してもよい。例えば、算出装置１００は、中間層に複数のニューロン群が含まれる多段のＤＮＮに対して新規ニューロンを追加する。また、ＤＮＮに含まれるニューロン群は、上述した例に限らず、任意の数のニューロンによって構成されてもよい。
【００７６】
また、ＤＮＮに含まれる各ニューロンは、上述した例に限らず、公知となっている各種の従来技術によって各ニューロンが結合されてもよい。例えば、ＤＮＮに含まれる各ニューロンは、ランダムに結合されてもよい。
【００７７】
〔４−８．適用対象〕
上記実施形態では、算出装置１００は、画像データに描出されたものを識別する画像認識の適用例を示した。ここで、算出装置１００は、画像認識に限らず、各種の認識に適用してもよい。例えば、算出装置１００は、音声を対象とする音声認識に適用する。これにより、算出装置１００は、音声データを入力データとして入力することで、話者を識別することができる。例えば、算出装置１００は、音声データに含まれる音声を発した話者の性別や年齢などを識別することができる。
【００７８】
他の例では、算出装置１００は、株価を対象として適用する。これにより、算出装置１００は、株価の時系列データや業種を入力データとして入力することで、株価に関する情報を識別することができる。例えば、算出装置１００は、株価の値動きを識別することで業種の判定や、株価の予測等を実現できる。
【００７９】
〔４−９．その他〕
上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００８０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示した追加部１３１および受付部１３２は統合されてもよい。
【００８１】
〔４−１０．ハードウェア構成〕
また、上述してきた実施形態に係る算出装置１００は、例えば図５に示すような構成のコンピュータ１０００によって実現される。以下、算出装置１００を例に挙げて説明する。図５は、算出装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、およびメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【００８２】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【００８３】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、通信網５０を介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを通信網５０を介して他の機器へ送信する。
【００８４】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【００８５】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto  Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【００８６】
例えば、コンピュータ１０００が実施形態に係る算出装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。また、ＨＤＤ１４００には、記憶部１２０内のデータが格納される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５０を介してこれらのプログラムを取得してもよい。
【００８７】
〔５．効果〕
上述してきたように、実施形態に係る算出装置１００は、追加部１３１と、受付部１３２と、算出部１３３とを有する。追加部１３１は、入力データに対する演算結果を出力する複数のノードを接続したネットワークであって所定のクラスに含まれる第１のサブクラスに属するデータの特徴を学習済みのネットワークに対して新規ノードを追加する。受付部１３２は、所定のクラスに含まれる第２のサブクラスに属する学習用のデータを入力データとして受け付ける。算出部１３３は、受付部１３２によって受け付けられた学習用のデータをネットワークに入力した場合の出力結果に基づいて、第２のサブクラスに属する学習用のデータの特徴を学習するように、追加部１３１によって追加された新規ノードと他のノードとの間の結合係数を算出する。
【００８８】
また、実施形態に係る算出装置１００において、算出部１３３は、結合係数として、学習用のデータをネットワークに入力した場合の出力結果とデータに対応する正しい出力結果との間の誤差を最小とする結合係数を算出する。
【００８９】
また、実施形態に係る算出装置１００において、算出部１３３は、追加部１３１によって追加された新規ノードと他のノードとの間の結合係数を、ネットワークに含まれるノードのうち上位層に近いノードとの間の結合係数から順に誤差を最小とする結合係数を算出する。
【００９０】
これにより、実施形態に係る算出装置１００は、既存のＤＮＮを利用してデータの特徴を抽出することができるので、データの特徴を識別可能なＤＮＮを容易に取得することができる。例えば、算出装置１００は、Ａ社製の洋服の特徴について学習済みのＤＮＮを用いてＣ社製の洋服の特徴を識別可能なＤＮＮを取得することができるので、ＤＮＮを新たに生成する場合と比較してＤＮＮを容易に取得することができる。また、算出装置１００は、あるクラスについて学習済みのＤＮＮを用いるので、ＤＮＮを新たに生成する場合と比較して学習用のデータが少なくてもデータの特徴を識別可能なＤＮＮを取得することができる。このため、算出装置１００は、学習用のデータを集める手間を減らすことができるとともに、データの学習にかかる時間を減らすことができる。
【００９１】
また、実施形態に係る算出装置１００において、出力部１３４は、算出部１３３によって算出された結合係数を特徴量ベクトルとして出力する。
【００９２】
これにより、実施形態に係る算出装置１００は、データの特徴を示す特徴量ベクトルを活用することができる。
【００９３】
また、変形例に係る算出装置１００において、算出部１３３は、追加部１３１によって追加された新規ノードと他のノードとの間の結合係数として、新規ノード以外の他のノード間の結合係数を不変にして誤差を最小とする結合係数を算出する。
【００９４】
これにより、変形例に係る算出装置１００は、データの特徴を識別することが可能なＤＮＮを容易に取得することができる。すなわち、算出装置１００は、新規ノードと他のノードとの結合により、学習済みＤＮＮの判定内容を、新たなクラスのデータに対して最適化することができる。このため、算出装置１００は、少ないデータで特徴を識別することが可能なＤＮＮを容易に取得することができる。
【００９５】
また、変形例に係る算出装置１００において、追加部１３１は、ネットワークに含まれるノードと新規ノードとの間の結合係数を出力結果に影響を与えない初期値にして新規ノードをネットワークに対して追加する。
【００９６】
これにより、変形例に係る算出装置１００は、新規ニューロンを追加したことによる影響を抑えることができるので、誤った出力結果の誤差に応じた結合係数を算出することができる。
【００９７】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【符号の説明】
【００９８】
１００  算出装置
１２１  ＤＮＮ情報記憶部
１２２  特徴情報記憶部
１３１  追加部
１３２  受付部
１３３  算出部
１３４  出力部
【図１】
0005899272.tif 000002
【図２】
0005899272.tif 000003
【図３】
0005899272.tif 000004
【図４】
0005899272.tif 000005
【図５】
0005899272.tif 000006