(57)【特許請求の範囲】
【請求項１】
学習データを用いて神経網を学習させる神経網学習方法であって、
順次データを含む学習データを受信するステップと、
神経網に含まれた複数の隠れノードのうち少なくとも１つの基準隠れノードを選択するステップと、
前記少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて前記神経網を学習させるステップと、
を含み、
前記残りの隠れノードは、他の時間区間の隠れノードに連結し、前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視される、
ことを特徴とする神経網学習方法。
【請求項２】
前記基準隠れノードは、１つの順次データが学習される間に継続的に除外される、
ことを特徴とする請求項１に記載の神経網学習方法。
【請求項３】
前記選択するステップは、前記複数の隠れノードのうち前記基準隠れノードをランダムに選択するステップ、を含む、
ことを特徴とする請求項１または２に記載の神経網学習方法。
【請求項４】
前記学習させるステップは、
１つの順次データに対する学習が終了する場合、前記複数の隠れノードのうち前記基準隠れノードをランダムに選択するステップと、
前記選択された基準隠れノードを除いた残りの隠れノードに基づいて他の順次データを学習させるステップと、
を含む、
ことを特徴とする請求項１乃至３いずれか一項に記載の神経網学習方法。
【請求項５】
前記順次データは、音声データ、映像データ、生体データ、及び筆跡データのうち少なくとも１つを含む、
ことを特徴とする請求項１乃至４いずれか一項に記載の神経網学習方法。
【請求項６】
前記学習させるステップは、学習結果に基づいて前記神経網に適用される結合荷重をアップデートするステップ、を含む、
ことを特徴とする請求項１乃至５いずれか一項に記載の神経網学習方法。
【請求項７】
前記学習させるステップは、予め設定された反復回数に基づいて前記神経網が前記学習データに対する学習を繰り返し行うように制御するステップ、を含む、
ことを特徴とする請求項１乃至６いずれか一項に記載の神経網学習方法。
【請求項８】
前記神経網は、回帰神経網であり、複数の隠れ層を含む、
ことを特徴とする請求項１乃至７いずれか一項に記載の神経網学習方法。
【請求項９】
コンピュータに請求項１に記載の方法を実行させるためのプログラム、が記録されたコンピュータで読み出し可能な記録媒体。
【請求項１０】
学習データを用いて神経網を学習させる神経網学習方法であって、
順次データを含む学習データを受信するステップと、
神経網に含まれた複数の隠れノードのうち、少なくとも１つの基準隠れノードを選択するステップと、
前記少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて前記神経網を学習させるステップと、
を含み、
前記基準隠れノードは、１つの順次データが学習される間に継続的に除外され、
前記残りの隠れノードは、前記１つの順次データを学習する間に他の時間区間の隠れノードに連結し、
前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視される、
ことを特徴とする神経網学習方法。
【請求項１１】
前記選択するステップは、前記１つの順次データに対する学習が終了する場合、前記複数の隠れノードのうち前記基準隠れノードをランダムに選択するステップと、
前記学習させるステップは、前記選択された基準隠れノードを除いた残りの隠れノードに基づいて他の順次データを学習させるステップと、
を含む、
ことを特徴とする請求項１０に記載の神経網学習方法。
【請求項１２】
コンピュータに請求項１０に記載の方法を実行させるためのプログラム、が記録されたコンピュータで読み出し可能な記録媒体。
【請求項１３】
学習データを用いて神経網を学習させる神経網学習装置であって、
複数の順次データを含む学習データを格納する学習データ格納部と、
前記神経網に含まれた複数の隠れノードのうち、少なくとも１つの基準隠れノードが除外された学習パターンに基づいて、前記神経網を学習させる神経網学習部と、
を含み、
前記基準隠れノードを除いた残りの隠れノードは、他の時間区間の隠れノードに連結し、
前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視される、
ことを特徴とする神経網学習装置。
【請求項１４】
前記学習パターンは、１つの順次データを学習する間に固定される、
ことを特徴とする請求項１３に記載の神経網学習装置。
【請求項１５】
前記神経網学習部は、前記１つの順次データに対する学習が終了する場合、前記学習パターンを変更し、他の順次データを用いて前記神経網を学習させる、
ことを特徴とする請求項１４に記載の神経網学習装置。
【請求項１６】
順次データに基づいて神経網を学習させる間、前記神経網に含まれた複数の隠れノードのうち少なくとも１つの基準隠れノードを除外させることにより、前記除外された残りの隠れノードに基づいて前記神経網を学習させる神経網学習部、を含み、
前記残りの隠れノードは、他の時間区間の隠れノードに連結し、前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視される、
ことを特徴とする神経網学習装置。
【請求項１７】
前記少なくとも１つの基準隠れノードと上位層のノードとの間の連結は無視される、
ことを特徴とする請求項１６に記載の神経網学習装置。
【請求項１８】
前記神経網学習部は、前記順次データに基づいて神経網を学習させる間、それぞれの時間区間で隠れノードのうち同じ基準隠れノードを除外させることにより、前記神経網を学習させる、
ことを特徴とする請求項１６または１７に記載の神経網学習装置。
【請求項１９】
複数の隠れノードを含む神経網の認識モデルを用いて順次データを認識する認識部と、
前記複数の隠れノードのうち、少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて前記認識モデルを学習させる学習部と、
前記順次データの認識が失敗した場合、前記順次データを学習するように前記学習部を制御する制御部と、
を含み、
前記残りの隠れノードは、他の時間区間の隠れノードに連結し、前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視される、
ことを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、神経網学習方法、神経網学習装置及びデータ処理装置に関する。
【背景技術】
【０００２】
近年、入力パターンを特定グループに分類する問題を解決する方案として、人が有する効率的なパターン認識方法を実際にコンピュータに適用させようとする研究が盛んに行われている。このような研究の１つとして、人の生物学的な神経細胞の特性を数学的な表現によりモデリングした人工神経網（ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）に対する研究が行われている。入力パターンを特定グループに分類する問題を解決するため、人工神経網は、人が有する学習という能力を模倣したアルゴリズムを用いる。このアルゴリズムにより人工神経網は、入力パターンと出力パターンとの間の写像（ｍａｐｐｉｎｇ）を生成することができ、これを人工神経網が学習能力があると表現している。また、人工神経網は、学習された結果に基づいて学習に利用されていない入力パターンに対して比較的に正しい出力を生成することのできる一般化能力を有する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、神経網学習方法及び装置を提供することにある。
【課題を解決するための手段】
【０００４】
一実施形態に係る神経網学習方法は、順次データを含む学習データを受信するステップと、神経網に含まれた複数の隠れノードのうち少なくとも１つの基準隠れノードを選択するステップと、前記少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて前記神経網を学習させるステップとを含み、前記残りの隠れノードは他の時間区間の隠れノードに連結し、前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視される。
【０００５】
一実施形態に係る神経網学習方法において、前記基準隠れノードは、１つの順次データが学習される間に継続的に除外されてもよい。
【０００６】
一実施形態に係る神経網学習方法は、前記選択するステップは、前記複数の隠れノードのうち前記基準隠れノードをランダムに選択するステップを含んでもよい。
【０００７】
一実施形態に係る神経網学習方法において、前記学習させるステップは、１つの順次データに対する学習が終了する場合、前記複数の隠れノードのうち前記基準隠れノードをランダムに選択するステップと、前記選択された基準隠れノードを除いた残りの隠れノードに基づいて他の順次データを学習させるステップとを含んでもよい。
【０００８】
一実施形態に係る神経網学習方法において、前記順次データは、音声データ、映像データ、生体データ、及び筆跡データのうち少なくとも１つを含んでもよい。
【０００９】
一実施形態に係る神経網学習方法は、前記学習させるステップは、前記学習結果に基づいて前記神経網に適用される結合荷重をアップデートするステップを含んでもよい。
【００１０】
一実施形態に係る神経網学習方法において、前記学習させるステップは、予め設定された反復回数に基づいて前記神経網が前記学習データに対する学習を繰り返し行うように制御するステップを含んでもよい。
【００１１】
一実施形態に係る神経網学習方法において、前記神経網は、回帰神経網であり、複数の隠れ層を含んでもよい。
【００１２】
他の実施形態に係る神経網学習方法は、順次データを含む学習データを受信するステップと、神経網に含まれた複数の隠れノードのうち、少なくとも１つの基準隠れノードを選択するステップと、前記少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて前記神経網を学習させるステップとを含み、前記基準隠れノードは、１つの順次データが学習される間に継続的に除外されてもよい。
【００１３】
他の実施形態に係る神経網学習方法において、前記残りの隠れノードは、前記１つの順次データを学習する間に他の時間区間の隠れノードに連結し、前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視されてもよい。
【００１４】
一実施形態に係る神経網学習装置は、複数の順次データを含む学習データを格納する学習データ格納部と、前記神経網に含まれた複数の隠れノードのうち、少なくとも１つの基準隠れノードが除外された学習パターンに基づいて前記神経網を学習させる神経網学習部とを含み、前記学習パターンは、１つの順次データを学習する間に固定される。
【００１５】
他の実施形態に係る神経網学習装置は、順次データを含む学習データを格納する学習データ格納部と、前記神経網に含まれた複数の隠れノードのうち、少なくとも１つの基準隠れノードが除外された学習パターンに基づいて前記神経網を学習させる神経網学習部とを含み、前記基準隠れノードを除いた残りの隠れノードは、他の時間区間の隠れノードに連結し、前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視されてもよい。
【００１６】
更なる実施形体に係る神経網学習装置は、順次データに基づいて神経網を学習させる間に、前記神経網に含まれた複数の隠れノードのうち少なくとも１つの基準隠れノードを除外させることにより前記神経網を学習させる神経網学習部を含んでもよい。
【００１７】
更なる実施形態に係る神経網学習装置において、前記少なくとも１つの基準隠れノードと上位層のノードとの間の連結、又は前記少なくとも１つの基準隠れノードと他の時間区間における隠れノードとの間の連結は無視されてもよい。
【００１８】
更なる実施形態に係る神経網学習装置において、前記神経網学習部は、前記順次データに基づいて神経網を学習させる間、それぞれの時間区間で隠れノードのうち同じ基準隠れノードを除外させることで前記神経網を学習させてもよい。
【００１９】
一実施形態に係るデータ処理装置は、複数の隠れノードを含む神経網の認識モデルを用いて順次データを認識する認識部と、前記複数の隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて前記認識モデルを学習させる学習部と、前記順次データの認識が失敗した場合、前記順次データを学習するように前記学習部を制御する制御部を含み、前記残りの隠れノードは他の時間区間の隠れノードに連結され、前記基準隠れノードと前記他の時間区間の隠れノードとの間の連結は無視されてもよい。
【発明の効果】
【００２０】
一実施形態によると、順次データに対する認識性能を改善させることができる。
【００２１】
一実施形態によると、ノイズに強い神経網に基づいた認識モデルを提供することができる。
【図面の簡単な説明】
【００２２】
【図１】一実施形態に係る神経網学習装置の構成を示す図である。
【図２】一実施形態に係る神経網学習装置が順次データを用いて神経網を学習させる動作を説明するための図である。
【図３】一実施形態に係る神経網学習装置が順次データを用いて神経網を学習させる動作を説明するための図である。
【図４】一実施形態に係る神経網学習方法の動作を説明するためのフローチャートである。
【図５】一実施形態に係る神経網学習方法の動作を具体化したフローチャートである。
【図６】一実施形態に係るデータ処理装置の構成を示す図である。
【発明を実施するための形態】
【００２３】
以下、実施形態を添付する図面を参照しながら詳細に説明する。以下の特定な構造的ないし機能的な説明は、単に実施形態を説明することを目的として例示されたものであり、実施形態の範囲が本文に説明された内容に限定されるものと解釈されることはない。関連の技術分野で通常の知識を有する者であれば、このような記載から様々な変更及び変形が可能である。また、各図面に提示された同じ参照符号は同じ部材を示し、公知された機能及び構造は省略する。
【００２４】
図１は、一実施形態に係る神経網学習装置１００の構成を示す図である。神経網学習装置１００は、神経網（又は、人工神経網）を学習させる。神経網は、連結線に連結された複数の人工ニューロンを用いて、生物学的なシステムの算出能力を模倣するソフトウェアやハードウェアに具現された認識モデルである。
【００２５】
神経網の認識モデルは、順次データ（ｓｅｑｕｅｎｔｉａｌ  ｄａｔａ）を認識でき、音声認識、映像認識、体状態認識、または、筆跡認識などの領域で利用されている。順次データは、音声データ、映像データ、生体データ、または、筆跡データなどのように時間性ないし順序を有するデータである。例えば、神経網の認識モデルは、入力された音声データがいかなる文章（又は、単語）であるかを認識したり、動画に示された人物が誰であるかを認識することができる。または、神経網の認識モデルは、心電図（ＥＣＧ；ｅｌｅｃｔｒｏｃａｒｄｉｏｇｒａｍ）、脳電図（ＥＥＧ；ｅｌｅｃｔｒｏｅｎｃｅｐｈａｌｏｇｒａｍ）などの生体信号を分析してユーザの身体状態を認識したり、または、ユーザの動作を分析して入力された筆跡を認識することができる。更なる例として、神経網の認識モデルは、ＤＮＡ（ｄｅｏｘｙｒｉｂｏｎｕｃｌｅｉｃ  ａｃｉｄ）塩基序列決定装置（ＤＮＡ  ｓｅｑｕｅｎｃｉｎｇ  ｄｅｖｉｃｅ）で観察信号から正しいＤＮＡ塩基序列を推定するために用いてもよい。
【００２６】
神経網では、生物学的なニューロンの機能を単純化した人工ニューロンが利用され、人工ニューロンは結合荷重（ｃｏｎｎｅｃｔｉｏｎ  ｗｅｉｇｈｔ）を有する連結線を用いて相互連結されてもよい。結合荷重は、連結線が有する特定の値として連結強度とも表示してもよい。神経網は、人工ニューロンを用いて人の認知作用や学習過程を行ってもよい。人工ニューロンは、ノードと称してもよい。
【００２７】
神経網は複数の層を含む。例えば、神経網は、入力層（ｉｎｐｕｔ  ｌａｙｅｒ）、隠れ層（ｈｉｄｄｅｎ  ｌａｙｅｒ）、出力層（ｏｕｔｐｕｔ  ｌａｙｅｒ）を含んでもよい。入力層は、学習を行うための入力を受信して隠れ層に伝達し、出力層は、隠れ層のノードから受信した信号に基づいて神経網の出力を生成する。隠れ層は、入力層と出力層との間に位置し、入力層を用いて伝えられた学習データを予測しやすい値に変化させる。入力層と隠れ層に含まれたノードは、結合荷重を有する連結線によって連結され、隠れ層と出力層に含まれたノードでも結合荷重を有する連結線によって連結されてもよい。入力層、隠れ層、及び出力層は、複数のノードを含んでもよい。
【００２８】
神経網は複数の隠れ層を含む。複数の隠れ層を含む神経網を深い神経網（ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）といい、深い神経網を学習させることを深い学習（ｄｅｅｐ  ｌｅａｒｎｉｎｇ）という。隠れ層に含まれたノードを隠れノード（ｈｉｄｄｅｎ  ｎｏｄｅ）という。以前の時間区間における隠れノードの出力は、現在の時間区間における隠れノードに連結される。そして、現在の時間区間における隠れノードの出力は、次の時間区間における隠れノードに連結される。互いに異なる時間区間で隠れノード間に再帰的な連結のある神経網を回帰神経網（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）という。
【００２９】
神経網学習装置１００は、監督学習（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）により神経網を学習させる。監督学習とは、学習データとそれに対応する出力データをともに神経網に入力し、学習データに対応する出力データが出力されるように連結線の結合荷重をアップデートする方法である。例えば、神経網学習装置１００は、デルタ規則と誤差逆伝搬学習（ｂａｃｋｐｒｏｐａｇａｔｉｏｎ  ｌｅａｒｎｉｎｇ）などにより人工ニューロン間の結合荷重をアップデートすることができる。
【００３０】
誤差逆伝搬学習は、与えられた学習データに対して前方算出により誤差を推定した後、出力層から始まって隠れ層と入力層方向に逆に前進して推定した誤差を伝搬し、誤差を減らす方向に結合荷重をアップデートする方法である。神経網の処理は、入力層→隠れ層→出力層の方向に行われるが、誤差逆伝搬学習で結合荷重のアップデート方向は、出力層→隠れ層→入力層の方向に行われてもよい。
【００３１】
神経網学習装置１００は、現在の設定された結合荷重がどれほど最適に近いかを測定するための目的関数を定義し、目的関数の結果に基づいて結合荷重を続けて変更し、学習を繰り返し行う。例えば、目的関数は、神経網が学習データに基づいて実際に出力した出力値と出力されることを希望する期待値との間の誤差を算出するための誤差関数であってもよい。神経網学習装置１００は、誤差関数の値を減らす方向に結合荷重をアップデートしてもよい。
【００３２】
図１を参照すると、神経網学習装置１００は、学習データ格納部１１０及び神経網学習部１２０を含む。
【００３３】
学習データ格納部１１０は、学習データを格納する。学習データは、音声データ、映像データ、生体データ、または、筆跡データなどのような順次データを含む。例えば、生体データは、脳電図（ＥＥＧ）、心電図（ＥＣＧ）、筋電図（ＥＭＧ；ｅｌｅｃｔｒｏｍｙｏｇｒａｍ）、電気眼球図（ＥＯＧ；ｅｌｅｃｔｒｏｏｃｕｌｏｇｒａｍ）、及び脈（ｐｕｌｓｅ）などを含んでもよい。学習データ格納部１１０は、外部から受信した学習データを格納し、格納した学習データを神経網学習部１２０に提供する。神経網学習部１２０は、学習データを用いて神経網を学習させる。
【００３４】
神経網学習部１２０は、まず学習データから特徴値を検出する。例えば、神経網学習部１２０は、音声データで時間に応じて変化する相対的変化量を特徴値に抽出してもよい。神経網学習部１２０は、学習データから十分に多くの特徴値を取得し、取得された特徴値を用いて神経網を学習させることができる。
【００３５】
例えば、学習データが音声データである場合、学習データ格納部１１０には「ボリュームアップ」、「ボリュームダウン」、及び「以前チャネルに移動」などに対応する音声データが格納されてもよい。神経網学習部１２０は、音声データから特徴値を抽出し、抽出した特徴値に基づいて神経網を学習させる。各音声データは特定の時間単位に分割され、特定の時間単位に分割された音声データが順次神経網に入力されてもよい。
【００３６】
神経網学習部１２０は、複数の隠れノードのうち少なくとも１つの基準隠れノードが除外された学習パターンに基づいて神経網を学習させてもよい。学習パターンは、１つの順次データを学習する間に継続的に固定されてもよい。神経網は、互いに異なる時間区間で隠れノード間の連結が存在する回帰神経網であってもよく、複数の隠れ層を含んでもよい。連続する時間区間で、回帰神経網の現在の時間区間における隠れ層から出力された出力値は、次の時間区間における隠れ層に入力されてもよい。
【００３７】
神経網学習部１２０は、神経網の隠れ層に含まれた隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて神経網を学習させる。１つの順次データが学習される間に同じ基準隠れノードが継続的に除外されてもよい。
【００３８】
神経網学習部１２０は、複数の隠れノードのうち少なくとも１つの基準隠れノードをランダムに選択してもよい。基準隠れノードが除外される学習パターンは、１つの順次データを学習する間には同一に保持されてもよい。神経網学習部１２０は、学習対象に入力される順次データが変わるごとに、基準隠れノードが除外される学習パターンをランダムに変更してもよい。
【００３９】
基準隠れノードは、順次データの学習過程から除外される隠れノードを示す。基準隠れノードと上位層のノードとの間の連結、及び基準隠れノードと他の時間区間における隠れノードとの間の連結は無視されてもよい。ここで、上位層は、基準隠れノードが含まれた隠れ層より上位にある他の隠れ層又は出力層を含んでもよい。基準隠れノードと異なるノード間の連結が無視されるということは、実際に、基準隠れノードの出力が他のノードに入力されない場合、及び基準隠れノードが他のノードに出力として「０」の値を出力する場合の全てを含む。ここで、他のノードは、上位層のノード又は他の時間区間における隠れノードを含んでもよい。
【００４０】
隠れ層に含まれた複数の隠れノードのうち、基準隠れノードを除いた残りの隠れノードは他の時間区間の隠れノードに連結され、基準隠れノードと他の時間区間における隠れノードとの間の連結は無視されてもよい。
【００４１】
１つの順次データに対する学習が終了する場合、神経網学習部１２０は、学習パターンを変更して他の順次データに対する学習を開始する。神経網学習部１２０は、神経網に含まれた全体隠れノードのうち基準隠れノードを再びランダムに選択し、選択された基準隠れノードを除いた残りの隠れノードに基づいて神経網を学習させる。
【００４２】
例えば、神経網に「ボリュームアップ」の音声データを学習させる場合、神経網学習部１２０は、除外する神経網に含まれた隠れノードから除外する基準隠れノードを選択し、基準隠れノードを除いた残りの隠れノードを用いて、「ボリュームアップ」の音声データを学習させる。神経網が「ボリュームアップ」の音声データを学習する間、当該基準隠れノードは、継続的に無視されるまま学習が行われる。「ボリュームアップ」の音声データに対する学習が終了し、次の順次データの「ボリュームダウン」の音声データに対する学習が開始する場合、神経網学習部１２０は、全体隠れノードのうち学習過程から除外する基準隠れノードを再び選択してもよい。その後、神経網学習部１２０は、再び選択された基準隠れノードを継続的に除外したまま、「ボリュームダウン」の音声データに対する学習を行ってもよい。
【００４３】
神経網学習部１２０は、順次データの学習結果に基づいて神経網に適用される結合荷重を調整する。神経網学習部１２０は、神経網の出力層から生成された出力値と学習データに対する所望する期待値とを比較して誤差を算出し、誤差を減らすよう神経網の認識モデルに適用される結合荷重を調整する。神経網学習部１２０は、予め設定された反復回数に基づいて、神経網が学習データに含まれた全ての順次データに対する学習を繰り返し行うように制御する。
【００４４】
神経網学習部１２０は、全ての隠れノードではない一部の隠れノードのみを用いて神経網を学習させることで、過剰適合（ｏｖｅｒｆｉｔｔｉｎｇ）が発生する問題を効率よく改善できる。過剰適合は、神経網の認識モデルが学習データに過度に適応することになり、実際認識しようとする対象に対する認識率が低くなる現象を表す。また、神経網学習部１２０は、一部の隠れノードのみを用いて神経網を学習させることで、学習の結果で隠れノードの結合荷重が互いに類似する相互適応（ｃｏ−ａｄａｐｔａｔｉｏｎ）の問題を解決できる。
【００４５】
学習された神経網は、順次データを認識するために活用される。例えば、神経網の認識モデルは順次データが入力されれば、順次データから特徴値を抽出し、抽出された特徴値を分類器に入力し、入力された順次データの分類結果又は認識結果を出力してもよい。
【００４６】
図２及び図３は、一実施形態に係る神経網学習装置が順次データを用いて神経網を学習させる動作を説明するための図である。
【００４７】
図２は、神経網が特定の１つの順次データを学習する動作を説明するための図である。学習対象として順次データが入力されれば、順次データは、特定の時間単位に分割されてもよい。神経網学習装置が神経網を学習させるとき、１つの神経網モデルが用いられる。例えば、分割された順次データは、時間順序に応じて順序通りに１つの神経網「Ａ」に入力されて学習されてもよい。
【００４８】
各タイムスタンプによる特定神経網の学習パターンが図２に示す学習パターン２１０、学習パターン２５０、学習パターン２６０に図示されている。学習パターン２１０は以前の時間区間（Ｔ−１）における学習パターンを示し、学習パターン２５０は現在の時間区間（Ｔ）における学習パターンを示し、学習パターン２６０は次の時間区間（Ｔ＋１）における学習パターンを示す。以前の時間区間、現在の時間区間、及び次の時間区間の全てで１つの神経網構造が学習に用いられる。
【００４９】
神経網は、入力層２２０、隠れ層２３０、及び出力層２４０を含む。最も下位層が学習データとして順次データが入力される入力層２２０であり、入力層２２０と出力層２４０との間の中間層が隠れ層２３０であり、最も上位層が出力層２４０である。それぞれの入力層２２０、隠れ層２３０、及び出力層２４０は複数のノードを含んでもよい。隠れ層２３０に含まれたノード２３４、２３２、２３６を隠れノードという。
【００５０】
神経網２１０は、入力層２２０→隠れ層２３０→出力層２４０の方向に連結されている。入力層２２０の各ノードに学習データが入力されれば、学習データは、入力層２２０の各ノードに変換して隠れ層２３０に伝えられ、最後に出力層２４０で出力が生成する。図２及び図３では、説明の便宜のために１つの隠れ層２３０のみを示しているが、実施形態の範囲がこれに限定されることなく、神経網は複数の隠れ層２３０を含んでもよい。
【００５１】
神経網学習装置は、順次データを神経網の入力層２２０に入力させ、順次データに対する分類結果が神経網の出力層２４０から出力されるよう神経網を学習させる。神経網学習装置により学習される神経網は、互いに異なる時間区間で隠れノード間の再帰的連結が存在する回帰神経網であってもよい。神経網学習装置により神経網が順次データを学習するとき、隠れ層に含まれた隠れノードは、次の時間区間における隠れノードに連結されてもよい。現在の時間区間における隠れノードの出力値が次の時間区間における隠れノードに入力されてもよい。
【００５２】
神経網学習装置は順次データを学習するとき、全ての隠れノードではない一部の隠れノードが除外された学習パターンに基づいて神経網を学習させてもよい。神経網学習装置は、隠れノードのうち学習過程から除外（又は、無視）する基準隠れノードをランダムに選択してもよい。
【００５３】
以前の時間区間の学習パターン２１０で、隠れ層２３０に含まれた隠れノード２３２、２３４、２３６のうち中間に位置する隠れノードが基準隠れノード２３２として選択されている。基準隠れノード２３２と上位層２４０のノードとの間の連結は無視され、基準隠れノード２３２と現在の時間区間における隠れノード２５２、２５４、２５６間の連結も無視される。そして、現在の時間区間における基準隠れノード２５２と上位層のノードとの間の連結も無視され、基準隠れノード２５２と次の時間区間における隠れノード２６２、２６４、２６６との間の連結も無視されてもよい。図２において、実線で示した連結はノード間で正常に連結されていることを示し、点線で示した連結はノード間で無視される連結を示す。
【００５４】
以前の時間区間で、隠れノード２３２、２３４、２３６のうち、基準隠れノード２３２を除いた残りの隠れノード２３４、２３６は、上位層２４０のノードのみならず、現在の時間区間における隠れノード２５２、２５４、２５６に連結されている。例えば、隠れノード２３４で生成された出力は上位層２４０のノードのみならず、次の時間区間における隠れノード２５２、２５４、２５６に入力されてもよい。そして、現在の時間区間で、基準隠れノード２５２を除いた残りの隠れノード２５４、２５６は、次の時間区間における隠れノード２６２、２６４、２６６に連結されてもよい。
【００５５】
１つの順次データを学習する間に各時間区間で基準隠れノードが除外される学習パターンは同一に保持される。例えば、順次データが「ボリュームアップ」の音声データである場合、神経網学習装置は、同じ基準隠れノードが除外された学習パターンに基づいて当該音声データを学習してもよい。以前の時間区間の学習パターン２１０で選択された基準隠れノード２３２は、現在の時間区間の学習パターン２５０で同一に基準隠れノード２５２になり、次の時間区間の学習パターン２６０でも基準隠れノード２６２になり得る。各時間区間で基準隠れノードは、無視されるまま残りの隠れノードに基づいて順次データに対する学習が行われる。
【００５６】
神経網学習装置は、各時間区間で生成される出力層の出力値と所望する期待値とを比較し、出力値と期待値との間の差が小さくなるよう、ノードの結合荷重を調整する。神経網学習装置は、結合荷重の調整により神経網を学習させる。例えば、入力層に入力された学習データが隠れ層を経由しながら結合荷重と乗算して合算される過程を介して出力層から出力値が生成される。出力層から生成された出力値と期待する出力値との間に互いに差が発生し、神経網学習装置は、当該差を最小化する方向にノードの結合荷重をアップデートすることができる。
【００５７】
図３は、神経網学習装置が他の順次データを学習させる動作を説明するための図である。神経網学習装置は、各順次データごとに学習パターンをランダムに決定して神経網を学習させる。各順次データごとに学習過程から除外される基準隠れノードが決定されてもよい。決定された基準隠れノードは、当該順次データが学習される間に継続的に基準隠れノードとして選択される。
【００５８】
例えば、「ボリュームアップ」の音声データを学習する間には基準隠れノードＡが継続的に無視されるまま学習が行われ、「ボリュームダウン」の音声データが学習される間には他の基準隠れノードの基準隠れノードＢが継続的に無視されるまま学習が行われる。しかし、各順次データの学習過程から除外される基準隠れノードはランダムに選択されるため、順次データが異なっても同じ基準隠れノードが選択されてもよい。
【００５９】
１つの順次データの学習が完了し、神経網学習装置が他の順次データを学習させようとする場合、神経網学習装置は学習パターンを変更してもよい。神経網学習装置は、隠れ層に含まれた複数の隠れノードのうち、学習過程から除外する基準隠れノードを再びランダムに選択してもよい。
【００６０】
他の順次データを学習するための神経網の学習パターンが図３に示されている。図３を参照すると、学習パターン３１０は以前の時間区間の学習パターンを示し、学習パターン３５０は現在の時間区間の学習パターンを示し、学習パターン３６０は次の時間区間の学習パターンを示す。以前の時間区間、現在の時間区間、及び次の時間区間の全てで１つの神経網構造が学習に用いられる。また、全ての順次データが１つの神経網構造により学習される。
【００６１】
図２と同様に、神経網は入力層３２０、隠れ層３３０、及び出力層３４０を含む。隠れ層３３０に含まれたノード３３４、３３２、３３６が隠れノードである。
【００６２】
以前の時間区間の学習パターン３１０で、隠れ層３３０に含まれた隠れノード３３２、３３４、３３６のうち２つの基準隠れノード３３２、３３４が選択された。基準隠れノード３３２、３３４と上位層３４０のノードとの間の連結は無視され、基準隠れノード３３２、３３４と現在の時間区間の隠れノード３５２、３５４、３５６との間の連結も無視される。図２と同様に、図３において実線で示した連結はノード間で正常に連結されたものを示し、点線で示した連結はノード間で無視される連結を示す。
【００６３】
現在の時間区間における学習パターン３５０で、隠れノード３５２、３５４、３５６のうち隠れノード３５２、３５４が基準隠れノードとして選択された。ここで、隠れノード３５２、３５４は、現在の時間区間の基準隠れノードに対応する。現在の時間区間の基準隠れノード３５２、３５４と上位層のノードとの間の連結も無視され、基準隠れノード３５２、３５４と次の時間区間における隠れノード３６２、３６４、３６６との間の連結も無視されてもよい。
【００６４】
以前の時間区間で、隠れノード３３２、３３４、３３６のうち、基準隠れノード３３２を除いた残りの隠れノード３３６は上位層３４０のノードだけではなく、現在の時間区間の隠れノード３５２、３５４、３５６に連結される。そして、現在の時間区間で、基準隠れノード３５２、３５４を除いた残りの隠れノード３５６は、次の時間区間の隠れノード３６２、３６４、３６６に連結されてもよい。
【００６５】
神経網学習装置は、学習される各順次データごとに基準隠れノードを選択し、当該順次データが学習される時間区間では選択された基準隠れノードを継続的に無視したまま学習を行ってもよい。そして、神経網に含まれた隠れノードのうち、学習過程から除外される基準隠れノードに選択されれば、基準隠れノードから上位層のノードへの連結だけではなく、基準隠れノードから次の時間区間の隠れノードへの連結も無視されるまま神経網の学習が行われる。
【００６６】
図４は、一実施形態に係る神経網学習方法の動作を説明するためのフローチャートである。
【００６７】
ステップＳ４１０において、神経網学習装置は、複数の順次データを含む学習データを受信する。順次データは、音声データ、映像データ、生体データ、または、筆跡データなどを含んでもよい。神経網学習装置は、外部から受信した学習データを格納し、格納した学習データから特徴値を検出してもよい。神経網学習装置は、学習データから十分多くの特徴値を取得し、特徴値を用いて神経網を学習させる。
【００６８】
ステップＳ４２０において、神経網学習装置は、神経網に含まれた複数の隠れノードのうち少なくとも１つの基準隠れノードを選択する。神経網学習装置は、基準隠れノードをランダムに選択し、選択された基準隠れノードを除いた残りの隠れノードに基づいて神経網を学習させる。
【００６９】
ステップＳ４３０において、神経網学習装置は、複数の隠れノードのうち少なくとも１つの基準隠れノードを除いた残りの隠れノードに基づいて神経網を学習させる。基準ノードが除外される学習パターンは、１つの順次データを学習する間継続的に固定されてもよい。１つの順次データが学習される間に同じ基準隠れノードが継続的に除外されてもよい。
【００７０】
神経網学習装置は、学習対象に入力される順次データが変わるごとに基準隠れノードが除外される学習パターンをランダムに変更してもよい。基準隠れノードと上位層のノードとの間の連結、及び基準隠れノードと他の時間区間における隠れノードとの間の連結は無視されてもよい。隠れ層に含まれた複数の隠れノードのうち、基準隠れノードを除いた残りの隠れノードは他の時間区間の隠れノードに連結され、基準隠れノードと他の時間区間における隠れノードとの間の連結は無視されてもよい。
【００７１】
１つの順次データに対する学習が終了する場合、神経網学習装置は、神経網に含まれた全体隠れノードのうち基準隠れノードを再びランダムに選択してもよい。その後、神経網学習装置は、選択された基準隠れノードを除いた残りの隠れノードに基づいて他の順次データを学習させる。
【００７２】
神経網学習装置は、順次データの学習結果に基づいて神経網の認識モデルに適用される結合荷重を調整してもよい。神経網学習装置は、神経網の出力層から生成された出力値と学習データに対する所望する期待値とを比較し、出力値と期待値間の差を減らす方向に結合荷重をアップデートする。神経網学習装置は、予め設定された反復回数だけ学習データに含まれた全ての順次データに対する学習を繰り返し行ってもよい。
【００７３】
図５は、他の実施形態に係る神経網学習方法の動作を説明するためのフローチャートである。
【００７４】
ステップＳ５１０において、神経網学習装置は学習データを受信する。学習データは、音声データ、映像データ、生体データ、または、筆跡データなどのような順次データを含んでもよい。
【００７５】
ステップＳ５２０において、神経網学習装置は、学習データから特徴値を検出する。例えば、神経網学習装置は、学習データから特徴ベクトルを検出し、検出された特徴ベクトルを用いて神経網を学習させる。
【００７６】
ステップＳ５３０において、神経網学習装置は、学習データのうち最初に学習する第１学習データを選択する。学習データは、学習される順序に応じて第１学習データ、第２学習データ、…第Ｎ学習データ（Ｎは２よりも大きい自然数）に区分してもよい。それぞれの学習データは、互いに独立した順次データであってもよい。例えば、第１学習データは「ボリュームアップ」に対応する音声データであり、第２学習データは「ボリュームダウン」に対応する音声データであり、第３学習データは「以前チャネルに変更」に対応する音声データであってもよい。
【００７７】
ステップＳ５４０において、神経網学習装置は、神経網に含まれた複数の隠れノードのうち、学習過程から除外する基準隠れノードをランダムに選択する。例えば、各隠れノードは、５０％の確率で基準隠れノードに選択されてもよい。基準隠れノードと上位層のノードとの間の連結、及び基準隠れノードと他の時間区間における隠れノードとの間の連結は無視されてもよい。
【００７８】
ステップＳ５５０において、神経網学習装置は、基準隠れノードを除いた残りの隠れノードに基づいて神経網を学習させる。神経網学習装置は、学習データを用いて残りの隠れノードに基づいた神経網を学習させる。１つの学習データが学習される間、基準隠れノードが除外される学習パターンは同一に保持されてもよい。神経網学習装置は、学習データの学習結果に基づいて神経網に適用される結合荷重をアップデートしてもよい。
【００７９】
ステップＳ５６０において、神経網学習装置は、全ての学習データが学習されたかの有無を決定する。全ての学習データに対する学習が実行されていない場合、ステップＳ５７０において、神経網学習装置は次の学習データを選択する。例えば、第１学習データの次の学習データとして第２学習データが選択されてもよい。その後、神経網学習装置は、ステップＳ５４０で再び複数の隠れノードのうち基準隠れノードをランダムに選択し、ステップＳ５５０で第２学習データを入力として神経網を学習させる。
【００８０】
ステップＳ５６０で全ての学習データに対する学習が実行されたと決定された場合、ステップＳ５８０で神経網学習装置は予め設定された反復回数に達したか否かを決定する。予め設定された反復回数に達していない場合、神経網学習装置は、ステップＳ５３０で再び第１学習データを選択し、ステップＳ５４０ないしステップＳ５７０の動作を繰り返し行う。
【００８１】
ステップＳ５８０において、予め設定された反復回数に達したと決定された場合、神経網学習装置は神経網に対する学習を終了する。
【００８２】
図６は、一実施形態に係るデータ処理装置６００の構成を示す図である。データ処理装置６００は、神経網の認識モデルを用いて音声データ、映像データ、生体データ、または、筆跡データなどの順次データを認識する。データ処理装置６００は、入力された順次データの認識が失敗したものと決定された場合、当該順次データに対する学習を行ってもよい。データ処理装置６００は、認識が失敗した順次データを学習することで認識性能を継続的に改善させることができる。
【００８３】
一実施形態に係るデータ処理装置６００は順次データを認識し、これに対応する動作を行うことのできる電子機器であってもよい。例えば、データ処理装置６００は、デジタルＴＶ、デスクトップコンピュータ、ノートブック、セットトップボックス、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）／ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））プレーヤー、ＤＶＤレコーダ、スマートフォン、タブレットＰＣ（ｔａｂｌｅｔ  ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、または、スマートＴＶ（ｓｍａｒｔ  ｔｅｌｅｖｉｓｉｏｎ）などの電子機器であってもよい。
【００８４】
図６を参照すると、データ処理装置６００は、認識部６１０、学習部６２０、制御部６３０、及びユーザインタフェース部６４０を含む。
【００８５】
認識部６１０は、音声データ、映像データ、生体データ、または、筆跡データなどの順次的なデータを認識する。例えば、認識部６１０は、マイクロホンにより入力された音声データを認識したり、又はカメラにより撮影された映像データを認識してもよい。認識部６１０は神経網の認識モデルを含んでもよく、神経網は複数の隠れ層を含む回帰神経網であってもよい。認識部６１０は、順次的なデータが入力されたとき、神経網の認識モデルを用いて順次的なデータが何を示すかを決定してもよい。
【００８６】
例えば、データ処理装置６００に「以前チャネルに変更」の音声データが入力する場合、認識部６１０は、当該音声データを分析して音声認識結果を出力してもよい。認識部６１０は、「以前チャネルに変更」の音声データを複数のフレームに分割し、神経網の認識モデルを用いて分割されたフレームの音声データが何に対応するかを推定する。認識部６１０は、入力された音声データを量子化して特徴値を抽出し、抽出された特徴値を音声認識対象の特徴値と比較してもよい。認識部６１０は、各フレームの認識結果を総合して最終的な認識結果を出力してもよい。音声認識結果に応じて、認識部６１０は、「以前チャネルに変更」に対応する認識結果を出力してもよく、間違って認識された結果を出力してもよい。
【００８７】
学習部６２０は、制御部６３０の制御により神経網の認識モデルを学習させる。制御部６３０は、認識部６１０が順次データを充分に認識できないものと決定された場合、学習部６２０が当該順次データを学習するように制御してもよい。制御部６３０は、認識部６１０が順次データの認識を失敗する場合だけではなく、順次データの認識を成功する場合にも、入力された順次データを学習するように学習部６２０を制御する。
【００８８】
学習部６２０は、順次データを学習するとき、神経網に含まれた隠れノードのうち一部の隠れノードを無視したまま認識モデルの学習を行ってもよい。神経網の隠れ層に含まれた隠れノードのうち、学習過程で無視された隠れノードを基準隠れノードのように定義する。学習部６２０は、複数の隠れノードのうち基準隠れノードをランダムに選択し、１つの順次データが学習される時間区間では、選択された基準隠れノードを継続的に無視したまま学習を行ってもよい。そして、神経網に含まれた隠れノードのうち基準隠れノードに選択されれば、基準隠れノードで上位層のノードへの連結だけではなく、基準隠れノードで次の時間区間の隠れノードへの連結も無視されるまま神経網の学習が行われてもよい。順次データの学習が行われるとき、隠れノードのうち基準隠れノードを除いた残りの隠れノードは上位層のノードだけではなく、次の時間区間における隠れノードに連結されてもよい。
【００８９】
制御部６３０は、認識対象である順次データを認識するように認識部６１０を制御する。認識が成功する場合、制御部６３０は、認識結果に対応する特定動作を行ってもよい。例えば、データ処理装置６００に入力された音声データが「以前チャネルに移動」であり、認識部６１０が当該音声データの認識を成功したとすると、データ処理装置６００は、表示されるチャネルを現在のチャネルから以前チャネルに変更してもよい。
【００９０】
ユーザインタフェース部６４０は、ユーザから認識成功の可否に対するフィードバックを受信する。ユーザインタフェース部６４０は、ユーザから順次データの認識が成功したか又は失敗したかに関して入力されてもよい。例えば、ユーザが音声を入力したり、又は映像を撮影した後、認識結果が失敗したことを表すキーを押す場合、又は一定時間ユーザの入力がない場合に、データ処理装置６００は認識失敗であると決定する。
【００９１】
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、及び／またはハードウェア構成要素及びソフトウェア構成要素の組合せで実現してもよい。例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、または、命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答できる異なる装置のように、１つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現されてもよい。処理装置は、オペレーティングシステム（ＯＳ）及び前記オペレーティングシステム上で行われる１つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は１つ使用されるものと説明された場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／または複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは１つのプロセッサ及び１つのコントローラを含んでもよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【００９２】
ソフトウェアはコンピュータプログラム、コード、命令、またはこのうちの１つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び／またはデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは１つ以上のコンピュータで読み出し可能な記録媒体に格納されてもよい。
【００９３】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち１つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【００９４】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な変更及び変形が可能である。
【００９５】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【００９６】
１００：神経網学習装置
１１０：学習データ格納部
１２０：神経網学習部
【図１】
0006606349.tif 000002
【図２】
0006606349.tif 000003
【図３】
0006606349.tif 000004
【図４】
0006606349.tif 000005
【図５】
0006606349.tif 000006
【図６】
0006606349.tif 000007