(57)【特許請求の範囲】
【請求項１】
学習データを用いてニューラルネットワークを学習させるニューラルネットワークの学習方法であって、
前記ニューラルネットワークに含まれた隠れノードの中から基準隠れノードを選択するステップと、
前記隠れノードのうち前記基準隠れノードを除いた残りの隠れノードに基づいて前記ニューラルネットワークを学習させるステップと、
を含み、
前記基準隠れノードは、前の時間区間における値を次の時間区間まで保持する、方法。
【請求項２】
シーケンシャルデータを受信するステップと、
隠れノードを含むニューラルネットワークを用いて前記シーケンシャルデータを認識するステップと、
を含み、
前記隠れノードは、現在の時間区間に先行する時間区間における当該隠れノードの値及び前記当該隠れノードの値が前記現在の時間区間まで伝達される確率に基づいて算出された値を含み、
前記ニューラルネットワークは、前記隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて学習される、方法。
【請求項３】
学習データを用いてニューラルネットワークを学習させるニューラルネットワークの学習方法であって、
隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて第１の時間区間において前記ニューラルネットワークを学習させるステップであって、前記基準隠れノードは、前記ニューラルネットワークに含まれた前記隠れノードの中から選択される、ステップと、
次の時間区間において前記ニューラルネットワークを学習させるステップと、
を含み、
前記基準隠れノードは、前の時間区間における値を次の時間区間まで保持する、方法。
【請求項４】
前記基準隠れノードは、時間区間ごとに前記隠れノードの中から任意に選択される、請求項１又は２に記載の方法。
【請求項５】
前記基準隠れノードは、前の時間区間において当該基準隠れノードが含む値を次の時間区間まで保持する、請求項１又は２に記載の方法。
【請求項６】
前記基準隠れノードは、当該基準隠れノードが含まれた隠れ層の下位層から入力される値を遮断し、及び／又は当該基準隠れノードが含まれた隠れ層の上位層に出力される値を遮断する、請求項１乃至３のいずれか一項に記載の方法。
【請求項７】
前記残りの隠れノードは、他の時間区間の隠れノードに接続される、請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
前記学習データは、音声データ、映像データ、生体データ、及び筆跡データのうち少なくとも１つで構成されたシーケンシャルデータを含む、請求項１又は３に記載の方法。
【請求項９】
前記ニューラルネットワークの学習結果に基づいて前記ニューラルネットワークに適用される結合重みを更新するステップ、を含む請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記ニューラルネットワークは、隠れ層を含むリカレントニューラルネットワークである、請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
請求項１乃至１０のうちいずれか一項に記載の方法をコンピュータに実行させるためのプログラムが記録されたコンピュータで読取可能な記録媒体。
【請求項１２】
学習データを用いてニューラルネットワークを学習させる装置であって、
前記学習データを受信する受信部と、
前記ニューラルネットワークに含まれた隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて前記ニューラルネットワークを学習させる学習部と、
を含み、
前記基準隠れノードは、前の時間区間における値を次の時間区間まで保持する、装置。
【請求項１３】
シーケンシャルデータを受信する受信部と、
隠れノードを含むニューラルネットワークを用いて前記シーケンシャルデータを認識する認識部と、
を含み、
前記隠れノードは、現在の時間区間に先行する時間区間における当該隠れノードの値及び前記当該隠れノードの値が前記現在の時間区間まで伝達される確率に基づいて算出された値を含み、
前記ニューラルネットワークは、前記隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて学習される、装置。
【請求項１４】
前記隠れノードは、時間区間ごとに前記隠れノードの中から任意に選択される、請求項１２又は１３に記載の装置。
【請求項１５】
前記基準隠れノードのそれぞれは、前の時間区間において当該基準隠れノードが含む値を次の時間区間まで保持する、請求項１２又は１３に記載の装置。
【請求項１６】
前記基準隠れノードのそれぞれは、当該基準隠れノードが含まれた隠れ層の下位層から入力される値を遮断し、及び／又は当該基準隠れノードが含まれた隠れ層の上位層に出力される値を遮断する、請求項１２又は１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
以下、実施形態はニューラルネットワークの学習方法及び装置、及び認識方法及び装置に関する。
【背景技術】
【０００２】
近年、入力パターンを特定グループに分類する問題を解決する方案として、人間が有している効率的なパターン認識方法を実コンピュータに適用させようとする研究が活発に進行している。このような研究のうちの１つとして、人間の生物学的神経細胞の特性を数学的表現によってモデリングした人工ニューラルネットワークに関する研究がある。入力パターンを特定グループに分類する問題を解決するために、人工ニューラルネットワークは、人間が有している学習という能力を模倣したアルゴリズムを用いる。このアルゴリズムを用いて人工ニューラルネットワークは入力パターンと出力パターンとの間の写像を生成することができ、これを人工ニューラルネットワークでは学習能力があると表現する。また、人工ニューラルネットワークは、学習結果に基づいて学習に利用されなかった入力パターンに対して比較的好ましい出力を生成することができる一般化能力を有している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、ニューラルネットワークの学習方法及び装置、及び認識方法及び装置を提供することにある。
【課題を解決するための手段】
【０００４】
一実施形態に係る学習データを用いてニューラルネットワークを学習させるニューラルネットワークの学習方法は、前記ニューラルネットワークに含まれた隠れノードの中から基準隠れノードを選択するステップと、前記隠れノードのうち前記基準隠れノードを除いた残りの隠れノードに基づいて前記ニューラルネットワークを学習させるステップとを含み、前記基準隠れノードは、前の時間区間における値を次の時間区間まで保持する。
【０００５】
一実施形態に係るニューラルネットワークの学習方法であって、前記１つの基準隠れノードを選択するステップは、時間区間ごとに前記隠れノードの中から１つの基準隠れノードを任意に選択してもよい。
【０００６】
一実施形態に係るニューラルネットワークの学習方法であって、前記基準隠れノードは、前の時間区間において、当該基準隠れノードが含む長期記憶値を次の時間区間まで保持してもよい。
【０００７】
一実施形態に係るニューラルネットワークの学習方法であって、前記基準隠れノードは、当該基準隠れノードが含まれた隠れ層の下位層から入力される値を遮断してもよい。
【０００８】
一実施形態に係るニューラルネットワークの学習方法であって、前記基準隠れノードのそれぞれは、当該基準隠れノードが含まれた隠れ層の上位層に出力される値を遮断してもよい。
【０００９】
一実施形態に係るニューラルネットワークの学習方法であって、前記残りの隠れノードは、他の時間区間の隠れノードに接続されてもよい。
【００１０】
一実施形態に係るニューラルネットワークの学習方法であって、前記学習データは、音声データ、映像データ、生体データ、及び筆跡データのうち少なくとも１つで構成されたシーケンシャルデータを含んでもよい。
【００１１】
一実施形態に係るニューラルネットワークの学習方法であって、前記ニューラルネットワークを学習させるステップは、前記学習結果に基づいて前記ニューラルネットワークに適用される結合重みを更新するステップを含んでもよい。
【００１２】
一実施形態に係るニューラルネットワークの学習方法であって、前記ニューラルネットワークは、隠れ層を含むリカレントニューラルネットワークであってもよい。
【００１３】
一実施形態に係る認識方法は、シーケンシャルデータを受信するステップと、隠れノードを含むニューラルネットワークを用いて前記シーケンシャルデータを認識するステップとを含み、前記隠れノードは、現在の時間区間に先行する時間区間における当該隠れノードの値及び前記当該隠れノードの値が前記現在の時間区間まで伝達される確率に基づいて算出された値を含み、前記ニューラルネットワークは、前記隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて学習される。
【００１４】
一実施形態に係る学習データを用いてニューラルネットワークを学習させるニューラルネットワーク学習装置は、前記学習データを受信する受信部と、前記ニューラルネットワークに含まれた隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて前記ニューラルネットワークを学習させる学習部とを含み、前記基準隠れノードは、前の時間区間における値を次の時間区間まで保持する。
【００１５】
一実施形態に係る認識装置は、シーケンシャルデータを受信する受信部と、隠れノードを含むニューラルネットワークを用いて前記シーケンシャルデータを認識する認識部とを含み、前記隠れノードは、現在の時間区間に先行する時間区間における当該隠れノードの値及び前記当該隠れノードの値が前記現在の時間区間まで伝達される確率に基づいて算出された値を含み、前記ニューラルネットワークは、前記隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて学習される。
【００１６】
一実施形態に係る学習データを用いてニューラルネットワークを学習させるニューラルネットワークの学習方法は、隠れノードのうち基準隠れノードを除いた残りの隠れノードに基づいて第１の時間区間において前記ニューラルネットワークを学習させるステップ（前記基準隠れノードは、前記ニューラルネットワークに含まれた前記隠れノードの中から選択される）と、次の時間区間において前記ニューラルネットワークを学習させるステップとを含み、前記基準隠れノードは、前の時間区間における値を次の時間区間まで保持する。
【図面の簡単な説明】
【００１７】
【図１】一実施形態に係るニューラルネットワーク学習装置を示す図である。
【図２】一実施形態に係るニューラルネットワークを学習させる過程を説明するための図である。
【図３】一実施形態に係るニューラルネットワークを学習させる具体的な過程を説明するための図である。
【図４】一実施形態に係る隠れ層に含まれた隠れノードの値を更新する過程及びこれを用いた学習アルゴリズムを説明するための図である。
【図５】一実施形態に係る認識装置を示す図である。
【図６】一実施形態に係る既に学習されたニューラルネットワークに基づいて認識を行うときの隠れノードの値を決定する過程を説明するための図である。
【図７】一実施形態に係るニューラルネットワークの学習方法を示す図である。
【図８】一実施形態に係る認識方法を示す図である。
【発明を実施するための形態】
【００１８】
以下、添付の図面を参照しながら、実施形態を詳細に説明する。下記の特定の構造的ないし機能的説明は、単に実施形態を説明するための目的で例示されたものであって、実施形態の範囲が本文に説明された内容に限定されると解釈されてはならない。関連技術分野における通常の知識を有する者であれば、このような記載から様々な修正及び変形が可能である。また、各図面に提示された同一の参照符号は同一の部材を示し、公知された機能及び構造は省略する。
【００１９】
図１は、一実施形態に係るニューラルネットワーク学習装置を示す図である。
【００２０】
ニューラルネットワーク学習装置１００は、ニューラルネットワーク（例えば、人工ニューラルネットワーク）を学習させる。ニューラルネットワークは、接続線で接続された複数の人工ニューロンを用いて生物学的なシステムの算出能力を模倣するソフトウェア及び／又はハードウェアで実現された認識モデルである。
【００２１】
ニューラルネットワークにおいては、生物学的なニューロンの機能を単純化させた人工ニューロンが用いられ、人工ニューロンは、結合重み（ｃｏｎｎｅｃｔｉｏｎ  ｗｅｉｇｈｔ）を有する接続線によって相互接続される。例えば、結合重みは接続線が有する特定の値であって、接続強度とも示してもよい。ニューラルネットワークは、人工ニューロンによって人間の認知作用や学習過程を行うことができる。人工ニューロンはニューラルネットワークの単位元（ｕｎｉｔ  ｅｌｅｍｅｎｔ）のノードとも呼んでもよい。
【００２２】
一例として、ニューラルネットワークは複数の層を含んでもよい。例えば、ニューラルネットワークは、入力層、隠れ層、出力層を含んでもよい。入力層は、学習を行うための入力を受信して隠れ層に伝達することができ、出力層は、隠れ層のノードから受信された信号に基づいてニューラルネットワークの出力を生成することができる。隠れ層は、入力層と出力層との間に位置し、入力層によって伝達された学習データを予測しやすい値に変化させることができる。入力層と隠れ層に含まれたノードは、結合重みを有する接続線によって接続され、隠れ層と出力層に含まれたノードにおいても結合重みを有する接続線によって接続される。入力層、隠れ層、及び出力層は複数のノードを含んでもよい。
【００２３】
ニューラルネットワークは複数の隠れ層を含んでもよい。複数の隠れ層を含むニューラルネットワークを深いニューラルネットワークと言い、深いニューラルネットワークを学習させることを深い学習（ディープラーニング）と言う。隠れ層に含まれたノードを隠れノードと言う。前の時間区間における隠れノードの出力は、現在の時間区間における隠れノードに接続され得る。そして、現在の時間区間における隠れノードの出力は、次の時間区間における隠れノードに接続され得る。互いに異なる時間区間における隠れノード間に再帰的（ｒｅｃｕｒｒｅｎｔ）な接続があるニューラルネットワークをリカレントニューラルネットワークと言う。
【００２４】
ニューラルネットワーク学習装置１００は、教師あり学習過程（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ  ｐｒｏｃｅｓｓ）によってニューラルネットワークを学習させる。教師あり学習過程とは、学習データとそれに対応する出力データをともにニューラルネットワークに入力して、学習データに対応する出力データが出力されるように接続線の結合重みを更新する方法である。学習データは、教師データ（ｔｒａｉｎｉｎｇ  ｄａｔａ）の集合を指し示すものである。ニューラルネットワークがパターン認識を補正することができるように、学習データを用いて適切なニューラルネットワークの重みと接続線が決定されてもよい。
【００２５】
例えば、ニューラルネットワーク学習装置１００は、デルタルールとエラーバックプロパゲーション学習法（ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ  ｌｅａｒｎｉｎｇ  ｔｅｃｈｎｉｑｕｅ）などによって人工ニューロン間の結合重みを更新してもよい。
【００２６】
エラーバックプロパゲーション学習法は、与えられた学習データに対して前進計算（ｆｏｒｗａｒｄ  ｃｏｍｐｕｔａｔｉｏｎ）でエラーを推定した後、出力層から始めて隠れ層と入力層に逆方向に推定したエラーを伝搬して、エラーを減らす方向に結合重みを調節する方法である。データを分類する際のニューラルネットワークの処理は、入力層、隠れ層、出力層の順に行われるが、エラーバックプロパゲーション学習における結合重みの更新方向は、出力層、隠れ層、入力層の順に行われる。
【００２７】
図１を参照すると、ニューラルネットワーク学習装置１００は、受信部１１０、及び学習部１２０を含む。ニューラルネットワーク学習装置１００は、ハードウェアモジュールで実現することができる。ニューラルネットワーク学習装置１００は、スマートフォン、タブレットＰＣ、ラップトップコンピュータ、デスクトップコンピュータ、テレビ、ウェアラブル装置、セキュリティシステム、スマートホームシステムなどの様々なコンピュータ装置及び／又はシステムに搭載されてもよい。
【００２８】
受信部１１０は学習データを受信する。学習データは、音声データ、映像データ、生体データ、及び筆跡データのうち少なくとも１つで構成されたシーケンシャルデータを含んでもよい。
【００２９】
学習部１２０はまず学習データから特徴値を抽出する。例えば、学習部１２０は、音声データにおいて時間によって変化する相対的変化量を特徴値として抽出し、抽出された特徴値に基づいてニューラルネットワークを学習させる。音声データは一定の時間単位に分割され、分割された音声データが学習データとしてニューラルネットワークに入力されてもよい。
【００３０】
学習部１２０は、ニューラルネットワークに含まれた複数の隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいてニューラルネットワークを学習させる。残りの隠れノード、入力層のノード、出力層のノードは、１つの学習パターンを構成することができる。ニューラルネットワークは、互いに異なる時間区間において、隠れノード間の接続が存在するリカレントニューラルネットワークであってもよく、複数の隠れ層を含んでもよい。連続する時間区間において、隠れ層の出力値は次の時間区間の隠れ層に入力されてもよい。
【００３１】
学習部１２０は、複数の隠れノードのうち少なくとも１つの基準隠れノードを任意に選択することができる。同一の学習データが入力される間、学習部１２０は、時間区間ごとに少なくとも１つの基準隠れノードを任意に選択することができる。したがって、学習部１２０は、時間区間ごとに互いに異なる学習パターンに基づいてニューラルネットワークを学習させることができる。
【００３２】
基準隠れノードは、ニューラルネットワークを学習させる過程から除外される隠れノードを示す。学習過程において、基準隠れノードと上位層との間の接続を考慮しないことで基準隠れノードと上位層のノードとの間の接続が無視されてもよい。言い換えると、学習過程における基準隠れノードは、上位層に出力される値を遮断することができる。ここで、上位層は、当該基準隠れノードが含まれた隠れ層より上位にある異なる隠れ層又は出力層を示す。基準隠れノードと上位層のノードとの間の接続が無視されることは、基準隠れノードの出力が上位層のノードに入力されない場合、又は基準隠れノードが上位層のノードに「０」の値又は他のヌル値を出力する場合を意味する。
【００３３】
学習過程において、基準隠れノードと異なる時間区間における隠れノード間の接続は無視されてもよい。ただし、基準隠れノードと異なる時間区間における自分自身の隠れノード間の接続は、無視されずに保持され得る。ここで、基準隠れノードは、前の時間区間における自分自身の隠れノードの値を次の時間区間における自分自身の隠れノードに伝達することができる。言い換えると、基準隠れノードと異なる時間区間における自分自身の隠れノード間の結合重みは、「１」であってもよい。時間区間ごとに除外される基準隠れノードが任意に選択されるため、他の時間区間における自分自身の隠れノードは、基準隠れノードであってもよく、基準隠れノードでなくてもよい。
【００３４】
複数の隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードは、他の時間区間の隠れノードに接続されてもよい。
【００３５】
１つの学習データに基づいた学習が終了する場合、学習部１２０は、選択的に他の学習データに基づいてニューラルネットワークを学習させることができる。
【００３６】
学習部１２０は、学習データに基づいた学習結果にしたがってニューラルネットワークに適用された結合重みを更新することができる。学習部１２０は、ニューラルネットワークの出力層から出力される出力値と学習データに対する所望の期待値とを比較してエラーを算出し、算出されたエラーを減らす方向にニューラルネットワークに適用される結合重みを調整することができる。学習部１２０は、予め設定された繰り返し回数に基づいてニューラルネットワークが学習データに含まれた全てのシーケンシャルデータに対する学習を繰り返し行うように制御することができる。
【００３７】
図２は、一実施形態に係るニューラルネットワークを学習させる過程を説明するための図である。
【００３８】
図２を参照すると、各タイムスタンプによる特定のニューラルネットワークの学習パターン２４０，２５０，２６０が図示されている。図２においては、一実施形態に係るニューラルネットワークの学習方法を説明するために一部の接続線を省略する。説明の便宜のために現在の時間区間Ｔの学習パターン２５０に含まれた基準隠れノード２５２，２５６を基準に説明し、学習パターンから除外される基準隠れノードは黒い円で表示する。
【００３９】
学習パターン２４０は、前の時間区間Ｔ−１における学習パターンを示し、学習パターン２５０は、現在の時間区間Ｔにおける学習パターンを示し、学習パターン２６０は、次の時間区間Ｔ＋１における学習パターンを示す。前の時間区間Ｔ−１、現在の時間区間Ｔ、及び次の時間区間Ｔ＋１における学習パターン２４０，２５０，２６０全てが学習に用いられる。
【００４０】
ニューラルネットワークは、入力層２１０、隠れ層２２０、及び出力層２３０を含む。入力層２１０は最下層であって、シーケンシャルデータが学習データとして入力される層であり、隠れ層２２０は、入力層２１０及び出力層２３０の間に存在する中間層であり、出力層２３０は、最上層であって、入力層２１０から入力されたシーケンシャルデータに対する出力値を出力する層である。入力層２１０、隠れ層２２０、及び出力層２３０のそれぞれは、複数のノードを含んでもよい。この中においても隠れ層２２０に含まれたノードを隠れノードと言う。
【００４１】
ニューラルネットワークによって伝達される情報の流れを考慮する際、ニューラルネットワークは、入力層２１０、隠れ層２２０、出力層２３０方向に接続される。入力層２１０のノードに学習データが入力されれば、学習データは、入力層２１０のノードに変換されて隠れ層２２０に伝達され、最終的に出力層２３０で出力値が生成される。図２においては、説明の便宜のために１つの隠れ層２２０だけを図示したが、実施形態の範囲はこれに限定されるものではなく、ニューラルネットワークは複数の隠れ層を含んでもよい。
【００４２】
ニューラルネットワーク学習装置は、シーケンシャルデータをニューラルネットワークの入力層２１０に入力させ、シーケンシャルデータに対する分類結果がニューラルネットワークの出力層２３０から出力されるようにニューラルネットワークを学習させる。ニューラルネットワーク学習装置によって学習されたニューラルネットワークは、互いに異なる時間区間において、隠れノード間の再帰的接続が存在するリカレントニューラルネットワークであってもよい。ニューラルネットワーク学習装置によってニューラルネットワークがシーケンシャルデータを学習する際、隠れ層に含まれた隠れノードは、次の時間区間における隠れノードに接続されてもよい。現在の時間区間Ｔにおける隠れノードの出力値が次の時間区間Ｔ＋１における隠れノードに入力されてもよい。
【００４３】
ニューラルネットワーク学習装置は、シーケンシャルデータを学習する際、複数の隠れノードのうち一部が除外された学習パターンに基づいてニューラルネットワークを学習させる。ニューラルネットワーク学習装置は、隠れノードのうち学習過程から除外（又は、無視）される基準隠れノードを任意に選択することができる。
【００４４】
一例として、ニューラルネットワーク学習装置は、１つのシーケンシャルデータが入力される度に隠れノードの中から基準隠れノードを選択することができる。選択された基準隠れノードは、当該シーケンシャルデータに基づいた全学習過程から除外される。言い換えると、選択された基準隠れノードは、全時間区間の学習から排除されるため、当該基準隠れノードが学習されるためには、追加的なシーケンシャルデータが要求され得る。したがって、追加的なシーケンシャルデータの要求により、全隠れノードが十分に学習されるための時間は増加し得る。
【００４５】
別の一例として、ニューラルネットワーク学習装置は、時間区間ごとに複数の隠れノードの中から基準隠れノードを任意に選択することができる。学習から除外される基準隠れノードが時間区間ごとに任意に選択されるため、前の時間区間で基準隠れノードに選択されて学習から排除されても、現在の時間区間では基準隠れノードとして選択されないため、学習に参加することができる。１つのシーケンシャルデータを用いても多くの隠れノードが学習され得る。ただし、前の時間区間において基準隠れノードとして選択されて学習されなかった隠れノードが現在の時間区間で学習されるためには、当該隠れノードが現在の時間区間において意味のある値を有さなければならない。したがって、当該隠れノードは、基準隠れノードに選択される前の値を現在の時間区間まで保持して学習過程に参加することができる。言い換えると、時間区間ごとに基準隠れノードを任意に選択するためには、複数の時間区間にわたって当該基準隠れノードの値が保持される必要があり、このような過程に対しては図２に示された学習パターン２４０，２５０，２６０を参照して後述する。
【００４６】
図２を参照すると、学習パターン２４０，２５０，２６０から除外される基準隠れノードは、隠れノードの中から任意に選択され、互いに同一ではない。
【００４７】
現在の時間区間Ｔの学習パターン２５０では隠れ層の両終端に位置するノードが基準隠れノード２５２，２５６として選択されて除外されてもよい。基準隠れノード２５２は、前の時間区間Ｔ−１における値を次の時間区間Ｔ＋１まで保持してもよい。例えば、学習パターン２４０の隠れノード２４２、学習パターン２５０の基準隠れノード２５２、及び学習パターン２６０の隠れノード２６２は、全て同一の値を有してもよい。ここで、隠れノード又は基準隠れノードが有する値は、当該ノードにおける長期記憶値を意味する。長期記憶値は、下位層から伝達されたり上位層に伝達される値ではない当該隠れノードが複数の時間区間にわたって保持している値を意味する。
【００４８】
同一に、基準隠れノード２５６は、前の時間区間Ｔ−１における値を次の時間区間Ｔ＋１まで保持することができる。例えば、学習パターン２４０の隠れノード２４６、学習パターン２５０の基準隠れノード２５６、及び学習パターン２６０の基準隠れノード２６６は、全て同一の値を有してもよい。ただし、学習パターン２６０においては、基準隠れノード２６６を含むため、基準隠れノード２５６は、その次の時間区間Ｔ＋２まで同一の値を保持することができる。
【００４９】
一方、現在の時間区間Ｔの学習パターン２５０に含まれた隠れノード２５４は、複数の隠れノードのうち基準隠れノード２５２，２５６を除いた残りの隠れノードを示す。隠れノード２５４は、他の時間区間の隠れノードに接続されてもよい。言い換えると、隠れノード２５４は、前の時間区間Ｔ−１における学習パターン２４０の隠れノードに接続されてもよい。隠れノード２５４は、次の時間区間Ｔ＋１における学習パターン２６０の隠れノードに接続されてもよい。ただし、隠れノード２５４が学習パターン２６０の基準隠れノード２６６と接続されても基準隠れノード２６６は隠れノード２５４から伝達された値を無視して、学習パターン２５０の基準隠れノード２５６の値を保持することができる。
【００５０】
図３は、一実施形態に係るニューラルネットワークを学習させる具体的な過程を説明するための図である。
【００５１】
図３を参照すると、ニューラルネットワークに含まれた入力層３１０、隠れ層３２０、及び出力層３３０に含まれた複数のノードの接続が図示されている。図３において、実線の接続は、ノード間において正常に接続されたことを示し、点線の接続は、ノード間において接続が無視されることを示し、一点鎖線の接続は、当該隠れノードの値が次の時間区間においても保持されることを示す。
【００５２】
図３において、学習パターン３４０は、前の時間区間Ｔ−１における学習パターンを示し、学習パターン３５０は、現在の時間区間Ｔにおける学習パターンを示し、学習パターン３６０は、次の時間区間Ｔ＋１における学習パターンを示す。
【００５３】
前の時間区間Ｔ−１においては、隠れノード３４２，３４４，３４６の中から基準隠れノード３４４が選択された。基準隠れノード３４４と上位層である出力層３３０のノードとの間の接続は無視されてもよい。言い換えると、基準隠れノード３４４は、上位層である出力層３３０に出力される値を遮断することができる。
【００５４】
他の時間区間のノードとの接続を調べると、基準隠れノード３４４と現在の時間区間の隠れ層のノードとの間の接続は、基本的に無視されるが、例外的に基準隠れノード３４４と現在の時間区間における自分自身の隠れノード３５４との間の接続は、保持され得る。したがって、前の時間区間Ｔ−１における基準隠れノード３４４の値は、現在の時間区間Ｔまで保持され得る。ここで、保持される値は、長期記憶値を意味する。
【００５５】
基準隠れノード３４４と下位層である入力層３１０のノードとの間の接続は、無視されない。ただし、基準隠れノード３４４において、入力層３１０から入力される値を用いずに無視するため、基準隠れノード３４４は、入力層３１０から入力される値を遮断することができる。
【００５６】
前の時間区間Ｔ−１において、隠れノード３４２，３４４，３４６の中から基準隠れノード３４４を除いた残りの隠れノード３４２，３４６は、上位層３３０のノードだけでなく現在の時間区間の隠れノード３５２，３５４，３５６に接続され得る。
【００５７】
現在の時間区間Ｔにおいては、隠れノード３５２，３５４，３５６の中から基準隠れノード３５２，３５４が選択された。基準隠れノード３５２，３５４と上位層である出力層のノードとの間の接続は、無視されてもよい。言い換えると、基準隠れノード３５２，３５４は、上位層である出力層に出力される値を遮断することができる。
【００５８】
他の時間区間のノードとの接続を調べると、基準隠れノード３５２と次の時間区間Ｔ＋１における隠れ層の隠れノードとの間の接続は、基本的に無視されるが、例外的に基準隠れノード３５２と次の時間区間における自分自身の隠れノード３６２との間の接続は、保持され得る。基準隠れノード３５２は、前の時間区間Ｔ−１における隠れノードと接続されてもよい。ただし、基準隠れノード３５２において、前の時間区間Ｔ−１における自分自身の隠れノード３４２の値だけ保持して、それ以外の隠れノード３４４，３４６の値は無視してもよい。したがって、現在の時間区間Ｔの基準隠れノード３５２は、前の時間区間Ｔ−１における値を次の時間区間Ｔ＋１まで保持することができる。
【００５９】
同様に、基準隠れノード３５４も前の時間区間Ｔ−１における隠れノード３４４の値を次の時間区間Ｔ＋１まで保持することができる。
【００６０】
基準隠れノード３５２，３５４と下位層である入力層のノードとの間の接続は、無視されない。ただし、基準隠れノード３５２，３５４において、入力層から入力される値を用いずに無視するため、基準隠れノード３５２，３５４は、入力層から入力される値を遮断することができる。
【００６１】
現在の時間区間Ｔにおいて、隠れノード３５２，３５４，３５６の中から基準隠れノード３５２，３５４を除いた残りの隠れノード３５６は、上位層のノードだけでなく次の時間区間の隠れノード３６２，３６４，３６６に接続され得る。
【００６２】
図４は、一実施形態に係る隠れ層に含まれた隠れノードの値を更新する過程及びこれを用いた学習アルゴリズムを説明するための図である。
【００６３】
一実施形態に係るニューラルネットワーク学習装置が学習させるニューラルネットワークは、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ−Ｔｅｒｍ  Ｍｅｍｏｒｙ）構造のリカレントニューラルネットワークである。ＬＳＴＭ構造のリカレントニューラルネットワークは、３つのゲートを用いることによって、他のタイプのニューラルネットワークに比べてシーケンスの長さが長いシーケンシャルデータの認識率を高めることができる。
【００６４】
図４を参照すると、一実施形態に係るニューラルネットワークの隠れ層に含まれた隠れノード４００が図示されている。隠れノード４００は、入力ゲート４１０、忘却ゲート４２０、セル４３０、及び出力ゲート４４０を含む。
【００６５】
入力ゲート４１０は、隠れノード４００が含まれた隠れ層の下位層から伝達される値を制御することができる。もし、入力ゲート４１０の出力値が「０」である場合、隠れノード４００は、下位層から伝達される値を無視することができる。入力ゲート４１０の出力値ｂｔｌは、式（１）のように算出され得る。
【００６６】
【数１】
0006614981.tif 000002
【００６７】
ここで、ａｔｌは、入力ゲート４１０に入力される値を示し、ｘｔｉは、現在の時間区間の下位層から伝達された値を示し、ｗｉｌは、ｘｔｉに適用される重みを示す。ｂｔ−１ｈは、前の時間区間における自分自身の隠れノードの出力値を示し、ｗｈｌは、ｂｔ−１ｈに適用される重みを示す。ｓｔ−１ｃは、前の時間区間のセル４３０の出力値を示し、ｗｃｌは、ｓｔ−１ｃに適用される重みを示す。ｆ（）は、ゲートの活性化関数（ａｃｔｉｖａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）を示す。Ｉは、下位層に含まれたノードの個数を示し、Ｈは、隠れノード４００が含まれた隠れ層に属したノードの個数を示し、Ｃは、隠れノード４００に含まれたセル４３０の個数を示す。
【００６８】
忘却ゲート４２０は、前の時間区間における隠れノードから伝達される値を制御することができる。忘却ゲート４２０の出力値が「０」である場合、隠れノード４００は、前の時間区間における隠れノードから伝達される値を無視することができる。忘却ゲート４２０の出力値ｂｔφは、下記の式（２）のように算出され得る。
【００６９】
【数２】
0006614981.tif 000003
【００７０】
ここで、ａｔΦは、忘却ゲート４２０に入力される値を示し、ｗｉΦ、ｗｈ、ｗｃΦは、それぞれｘｔｉ、ｂｔ−１ｈ、ｓｔ−１ｃに適用される重みを示す。
【００７１】
もし、隠れノード４００が基準隠れノードとして選択されて除外される場合、忘却ゲート４２０は「１」を出力することができる。
【００７２】
セル４３０は、隠れノード４００のメモリ値を含んでもよい。セル４３０の出力値ｓｔｃは、下記の式（３）のように算出され得る。
【００７３】
【数３】
0006614981.tif 000004
【００７４】
ここで、ａｔｃは、セル４３０に入力される値を示し、ｗｉｃ、ｗｈｃは、それぞれｘｔｉ、ｂｔ−１ｈに適用される重みを示す。ｇ（）は、セル入力活性化関数（ｃｅｌｌ  ｉｎｐｕｔ  ａｃｔｉｖａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）を示す。
【００７５】
もし、隠れノード４００が基準隠れノードとして選択されて除外される場合、セル４３０に入力される値ａｔｃは、「０」の値を有し、忘却ゲート４２０の出力値ｂｔｌは、「１」の値を有するため、セル４３０の出力値ｓｔｃは、前の時間区間におけるセルの出力値であるｓｔ−１ｃと同一になる。したがって、隠れノード４００が基準隠れノードとして選択される場合、隠れノード４００は、前の時間区間の値を次の時間区間まで保持することができる。
【００７６】
出力ゲート４４０は、隠れノード４００が含まれた隠れ層の上位層に伝達される値を制御することができる。もし、出力ゲート４４０の出力値が「０」である場合、隠れノード４００は、上位層に隠れノード４００の出力値を伝達することができない。出力ゲート４４０の出力値ｂｔｗは、下記の式（４）のように算出することができる。
【００７７】
【数４】
0006614981.tif 000005
【００７８】
ここで、ａｔｗは、出力ゲート４４０に入力される値を示し、ｗｉω、ｗｈｗ、ｗｃｗは、それぞれｘｔｉ、ｂｔ−１ｈ、ｓｔｃに適用される重みを示す。
【００７９】
隠れノード４００の最終的な出力値ｂｔｃは、下記の式（５）のように算出することができる。
【００８０】
【数５】
0006614981.tif 000006
【００８１】
ここで、ｈ（）は、セル出力活性化関数（ｃｅｌｌ  ｏｕｔｐｕｔ  ａｃｔｉｖａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）を示す。
【００８２】
上述した内容は、ニューラルネットワークの入力層に入力されたシーケンシャルデータが出力層によって出力値を出力する際の隠れノードの状態を説明することによって、ニューラルネットワークを用いて伝達されるデータのフォワードパス（ｆｏｒｗａｒｄ  ｐａｓｓ）に該当する。ニューラルネットワークを用いて伝達されるデータのフォワードパスによって、ニューラルネットワーク学習装置は、各隠れノードの値を更新することができる。さらに、ニューラルネットワーク学習装置は、出力に出力される出力値によってエラーを推定することができる。
【００８３】
ニューラルネットワーク学習装置は、出力層から始まり、隠れ層と入力層の逆方向にエラーを伝搬してエラーを減らす方向に結合重みを更新することができる。このような逆方向にエラーを伝搬することをバックワードパス（ｂａｃｋｗａｒｄ  ｐａｓｓ）と言う。ここでは、出力層、隠れ層、入力層の逆方向に進行するだけでなく、時間の順序も逆方向に進行することになる。フォワードパスの場合、ｔが増加するが、バックワードパスの場合、ｔは減少する方向に進行される。
【００８４】
ニューラルネットワーク学習装置は、現在の設定された結合重みがどれくらい最適に近いのかを測定するための目的関数を定義し、目的関数の結果に基づいて結合重みを続けて変更して、学習を繰り返し行うことができる。例えば、目的関数は、ニューラルネットワークが学習データに基づいて実際に出力した出力値と出力されることを所望する期待値との間のエラーを算出するためのエラー関数であってもよい。ニューラルネットワーク学習装置は、エラー関数の値を減らす方向に結合重みを更新してもよい。
【００８５】
バックワードパスにおいて、隠れノード４００に入力される値εｔｃ、セル４３０に入力されるεｔｓは、下記の式（６）のように定義され得る。
【００８６】
【数６】
0006614981.tif 000007
【００８７】
ここで、Ｏは、目的関数であって、ニューラルネットワークにおけるクロスエントロピー誤差（ｃｒｏｓｓ−ｅｎｔｒｏｐｙ  ｅｒｒｏｒ）を示す。
【００８８】
上位層において、隠れノード４００に入力される値εｔｃは、下記の式（７）のように算出することができる。
【００８９】
【数７】
0006614981.tif 000008
【００９０】
ここで、δｔｋは、現在の時間区間の上位層から伝達された値を示し、δｔ＋１ｈは、次の時間区間における自分自身の隠れノードから出力される値を示し、ｗｃｋ、ｗｃｈは、それぞれδｔｋ、δｔ＋１ｈに適用される重みを示す。Ｋは、上位層に含まれたノードの個数を示す。
【００９１】
もし、隠れノード４００が基準隠れノードとして選択されて除外される場合、隠れノード４００は、隠れノード４００に入力される値を無視することができる。
【００９２】
出力ゲート４４０から出力される値δｔｗは、下記の式（８）のように算出することができる。
【００９３】
【数８】
0006614981.tif 000009
【００９４】
セル４３０に入力される値εｔｓ、セル４３０から出力される値δｔｃは、下記の式（９）のように算出することができる。
【００９５】
【数９】
0006614981.tif 000010
【００９６】
ここで、εｔ＋１ｓは、次の時間区間における自分自身の隠れノードのセルに入力される値を示し、δｔ＋１ｌは、次の時間区間における自分自身の隠れノードの入力ゲート４１０から出力される値を示し、δｔ＋１φは、次の時間区間における自分自身の隠れノードの忘却ゲート４２０から出力される値を示す。
【００９７】
もし、隠れノード４００が基準隠れノードとして選択されて除外される場合、セル４３０は、「０」を出力することができる。
【００９８】
忘却ゲート４２０から出力される値δｔφは、下記の式（１０）のように算出することができる。
【００９９】
【数１０】
0006614981.tif 000011
【０１００】
もし、隠れノード４００が基準隠れノードとして選択されて除外される場合、忘却ゲート４２０は、「０」を出力することができる。
【０１０１】
隠れノード４００から出力される値δｔｌは、下記の式（１１）のように算出することができる。
【０１０２】
【数１１】
0006614981.tif 000012
【０１０３】
上述したように、ニューラルネットワーク学習装置は、エラー逆電波学習によってニューラルネットワークに含まれたノード間の結合重みを更新することができる。
【０１０４】
図５は、一実施形態に係る認識装置を示す図である。図５を参照すると、認識装置５００は、受信部５１０及び認識部５２０を含む。例えば、認識装置５００は、音声認識、映像認識、身体状態認識、又は、手書き文字認識などの領域において広範囲に用いてもよい。認識装置５００は、ソフトウェアモジュール、ハードウェアモジュール、又は、これらの組み合わせで実現してもよい。認識装置５００は、スマートフォン、タブレットＰＣ、ラップトップコンピュータ、デスクトップコンピュータ、テレビ、ウェアラブル装置、セキュリティシステム、スマートホームシステムなどの様々なコンピュータ装置及び／又はシステムに搭載されてもよい。
【０１０５】
受信部５１０はシーケンシャルデータを受信する。シーケンシャルデータは、音声データ、映像データ、生体データ、又は、筆跡データなどのように時間性ないし順序を有するデータであってもよい。
【０１０６】
認識部５２０は、既に学習されたニューラルネットワークを用いて入力されるシーケンシャルデータを認識する。一例として、認識部５２０は、入力された音声データがいかなる文章（又は、単語）であるかを認識したり、動画に現れた人物が誰であるかを認識することができる。又は、認識部５２０は、心電図（ＥＣＧ；ｅｌｅｃｔｒｏｃａｒｄｉｏｇｒａｍ）、脳電図（ＥＥＧ；ｅｌｅｃｔｒｏｅｎｃｅｐｈａｌｏｇｒａｍ）などの生体信号を分析してユーザの身体状態を認識したり、又はユーザの動作を分析して入力された筆跡を認識することができる。別の一例として、認識部５２０は、ＤＮＡ（ｄｅｏｘｙｒｉｂｏｎｕｃｌｅｉｃ  ａｃｉｄ）塩基配列決定装置（ＤＮＡ  ｓｅｑｕｅｎｃｉｎｇ  ｄｅｖｉｃｅ）において、観察信号から正しいＤＮＡ塩基配列を推定するのに用いてもよい。
【０１０７】
例えば、認識部５２０は、シーケンシャルデータから特徴値を抽出し、抽出された特徴値を分類器に入力し、入力されたシーケンシャルデータの分類結果又は認識結果を出力してもよい。
【０１０８】
認識部５２０が用いる既に学習されたニューラルネットワークは、複数の隠れノードを含んでもよい。複数の隠れノードは、現在の時間区間に先行する時間区間における当該隠れノードの値及び当該隠れノードの値が現在の時間区間まで伝達される確率に基づいて算出された値を含んでもよい。複数の隠れノードの値を算出する過程に関しては、図６を参照して後述する。
【０１０９】
ここで、既に学習されたニューラルネットワークは、複数の隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて学習され得る。ニューラルネットワークが学習される際、基準隠れノードは、時間区間ごとに複数の隠れノードの中から任意に選択されて除外され得る。基準隠れノードは、前の時間区間における値を次の時間区間まで保持することができる。残りの隠れノードは、他の時間区間の隠れノードに接続され得る。
【０１１０】
図６は、一実施形態に係る既に学習されたニューラルネットワークに基づいて認識を行う際の隠れノードの値を決定する過程を説明するための図である。
【０１１１】
図６を参照すると、各タイムスタンプによる特定の既に学習されたニューラルネットワークの認識パターン６１０，６２０，６３０が図示されている。図６においては、一実施形態に係る既に学習されたニューラルネットワークに基づいた認識方法を説明するために一部の接続線を省略する。説明の便宜のために現在の時間区間Ｔの学習パターン６３０に含まれた隠れノード６３６を基準に説明する。認識装置が用いるニューラルネットワークを学習する際、ニューラルネットワークに含まれた隠れノードは、ｐの確率で除外されると仮定する。
【０１１２】
学習パターン６３０は、現在の時間区間Ｔにおける学習パターンを示し、学習パターン６２０は、第１の前の時間区間Ｔ−１における学習パターンを示し、学習パターン６１０は、第２の前の時間区間Ｔ−２における学習パターンを示す。
【０１１３】
認識装置は、現在の時間区間に先行する時間区間における当該隠れノードの値と当該隠れノードの値が現在の時間区間まで伝達される確率に基づいて現在の時間区間Ｔにおける隠れノード６３６の値とを決定することができる。
【０１１４】
例えば、第１の前の時間区間Ｔ−１の隠れノード６２６の値Ａが隠れノード６３６に伝達されるためには、隠れノード６２６が除外されてはならないため、隠れノード６２６の値Ａが隠れノード６３６に伝達される確率は、１−ｐである。
【０１１５】
第２の前の時間区間Ｔ−２の隠れノード６１６の値Ｂが隠れノード６３６に伝達されるためには、隠れノード６１６が除外されずに、隠れノード６２６が除外されなければならない。したがって、隠れノード６１６の値Ｂが隠れノード６３６に伝達される確率は、ｐ（１−ｐ）である。
【０１１６】
第３の前の時間区間の隠れノードの値Ｃが隠れノード６３６に伝達されるためには、第３の前の時間区間の隠れノードが除外されずに、隠れノード６１６，６２６が除外されなければならない。したがって、第３の前の時間区間の隠れノードの値Ｃが隠れノード６３６に伝達される確率は、ｐ２（１−ｐ）である。
【０１１７】
上述された方法により、現在の時間区間Ｔにおける隠れノード６３６は、「Ａ＊（１−ｐ）＋Ｂ＊ｐ（１−ｐ）＋Ｃ＊ｐ２（１−ｐ）＋…」の値を有することができる。ここで、算出された隠れノード３６３の値は、長期記憶値を意味する。長期記憶値は、下位層から伝達されたり、上位層に伝達される値ではない、隠れノードが複数の時間区間にわたって保持している値を意味する。
【０１１８】
図７は、一実施形態に係るニューラルネットワークの学習方法を示す図である。図７は、一実施形態に係るニューラルネットワーク学習装置の動作方法を示した動作フローチャートである。図７を参照すると、ニューラルネットワークの学習方法は、ニューラルネットワークに含まれた複数の隠れノードのうち少なくとも１つの基準隠れノードを選択するステップＳ７１０及び複数の隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいてニューラルネットワークを学習させるステップＳ７２０を含む。
【０１１９】
図７に示された各ステップには、図１〜図４によって上述した事項がそのまま適用されるため、より詳細な説明は省略する。
【０１２０】
図８は、一実施形態に係る認識方法を示す図である。図８は、一実施形態に係る認識装置の動作方法を示した動作フローチャートである。図８を参照すると、認識方法は、シーケンシャルデータを受信するステップＳ８１０及び複数の隠れノードを含むニューラルネットワークを用いてシーケンシャルデータを認識するステップＳ８２０を含む。ここで、複数の隠れノードは、現在の時間区間に先行する時間区間における当該隠れノードの値と当該隠れノードの値が現在の時間区間まで伝達される確率に基づいて算出された値とを有する。ニューラルネットワークは、複数の隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて学習される。
【０１２１】
図８に示された各ステップには、図１〜図６によって上述した事項がそのまま適用されるため、より詳細な説明は省略する。
【０１２２】
実施形態は、互いに異なる一部の隠れノードが除外された学習パターンに基づいてニューラルネットワークを学習させることによって、リカレントニューラルネットワークでアンサンブル効果を得ることができ、学習する所要時間を効果的に減少させることができる。
【０１２３】
実施形態は、学習から除外された基準隠れノードが前の時間区間における値を次の時間区間まで保持することによって、ＬＳＴＭ構造のリカレントニューラルネットワークにおいてもドロップアウト方法を適用することができる。
【０１２４】
実施形態は、全ての隠れノードではない一部の隠れノードだけを用いてニューラルネットワークを学習させることによって、ニューラルネットワークが学習データに過度に適応し、実際に認識しようとする対象に対する認識率が低くなる過剰適合を効果的に改善させることができる。
【０１２５】
実施形態は、一部の隠れノードだけを用いてニューラルネットワークを学習させることによって、学習の結果として隠れノードの結合重みが互いに似てくる相互適応（ｃｏ−ａｄａｐｔａｔｉｏｎ）を共に解決することができる。
【０１２６】
以上で説明された実施形態はハードウェア構成要素、ソフトウェア構成要素、及び／又はハードウェア構成要素及びソフトウェア構成要素の組合で実現してもよい。例えば、実施形態で説明された装置、方法及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答できる異なるいかなる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて実現されてもよい。処理装置はオペレーティングシステム（ＯＳ）及び前記オペレーティングシステム上で行われる１つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答して、データをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は１つが使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素及び／又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含んでもよい。また、並列プロセッサのような、他の処理構成も可能である。
【０１２７】
ソフトウェアはコンピュータプログラム、コード、命令、又は、これらのうちの１つ以上の組合を含んでもよく、希望通りに動作するように処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び／又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的に又は一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは１つ以上のコンピュータ読取可能な記録媒体に格納されてもよい。
【０１２８】
実施形態に係る方法は、多様なコンピュータ手段を介して実施することができるプログラム命令の形態で実現され、コンピュータで読取可能な媒体に記録してもよい。前記記録媒体は、プログラム命令、データファイル、データ構造などを単独で又は組合せて含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。上述のハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【０１２９】
上述したように、実施形態が限定された実施形態と図面によって説明されたが、当該技術分野における通常の知識を有する者であれば、前記の記載から様々な修正及び変形が可能である。例えば、説明された技術が説明された方法と異なる順序で行われたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせたり、他の構成要素又は均等物によって代替、置換されても適切な結果が達成され得る。したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１３０】
１００  ニューラルネットワーク学習装置
１１０  受信部
１２０  学習部
５００  認識装置
５１０  受信部
５２０  認識部
【図１】
0006614981.tif 000013
【図２】
0006614981.tif 000014
【図３】
0006614981.tif 000015
【図４】
0006614981.tif 000016
【図５】
0006614981.tif 000017
【図６】
0006614981.tif 000018
【図７】
0006614981.tif 000019
【図８】
0006614981.tif 000020