(57)【要約】【課題】  神経網の動作方法と学習方法及びその神経網を提供する。【解決手段】  一実施形態に係る第１ネットワーク及び第２ネットワークを含む神経網の動作方法は、入力情報に基づいて第１ネットワークから出力される状態情報を取得し、第２ネットワークを用いて状態情報が条件を満足するか否かを決定し、状態情報が条件を満足しないという決定に応じて、状態情報を第１ネットワークに循環的に印加し、状態情報が条件を満足するという決定に応じて状態情報を出力する。【選択図】      図１
2020057357.tif 000002
【特許請求の範囲】
【請求項１】
第１ネットワーク及び第２ネットワークを含む神経網の動作方法において、
入力情報に基づいて前記第１ネットワークから出力される状態情報を取得するステップと、
前記第２ネットワークを用いて前記状態情報が条件を満足するか否かを決定するステップと、
前記状態情報が前記条件を満足しないという決定に応じて、前記状態情報を前記第１ネットワークに循環的に印加するステップと、
前記状態情報が前記条件を満足するという決定に応じて、前記状態情報を出力するステップと、
を含む、神経網の動作方法。
【請求項２】
前記決定するステップは、閾値と、前記第２ネットワークで出力された前記状態情報に対応する評価結果とを比較するステップを含む、請求項１に記載の神経網の動作方法。
【請求項３】
前記決定するステップは、前記状態情報が前記第１ネットワークに循環的に印加された回数と設定された回数とを比較するステップをさらに含む、請求項１又は２に記載の神経網の動作方法。
【請求項４】
前記入力情報は入力ベクトルに対応し、前記状態情報は出力ベクトルに対応する、請求項１乃至３のうちのいずれか一項に記載の神経網の動作方法。
【請求項５】
前記第１ネットワークは、応用サービスを提供するために前記入力情報を循環的に処理し、
前記第２ネットワークは、前記第１ネットワークの循環的な処理結果に該当する前記状態情報を評価する、請求項１乃至４のうちのいずれか一項に記載の神経網の動作方法。
【請求項６】
応用サービスを提供するために、第３ネットワークを用いて前記状態情報を復号化するステップをさらに含む、請求項１乃至５のうちのいずれか一項に記載の神経網の動作方法。
【請求項７】
前記入力情報を前記状態情報の次元に符号化するステップと、
前記状態情報の次元に符号化された入力情報を前記第１ネットワークに印加するステップと、
をさらに含む、請求項１乃至６のうちのいずれか一項に記載の神経網の動作方法。
【請求項８】
前記状態情報を第１ネットワークに循環的に印加するステップは、
前記状態情報を前記入力情報の次元に符号化するステップと、
前記入力情報の次元に符号化された状態情報を前記第１ネットワークに印加するステップと、
を含む、請求項１乃至７のうちのいずれか一項に記載の神経網の動作方法。
【請求項９】
前記入力情報は、単一データ及び順次データのいずれか１つ又はその組合せを含む、請求項１乃至８のうちのいずれか一項に記載の神経網の動作方法。
【請求項１０】
前記入力情報が順次データである場合、前記順次データを前記第１ネットワークの入力次元の埋め込みベクトルに符号化するステップと、
前記埋め込みベクトルを前記第１ネットワークに印加するステップと、
をさらに含む、請求項１乃至８のうちのいずれか一項に記載の神経網の動作方法。
【請求項１１】
前記状態情報を出力するステップは、前記状態情報を前記順次データに復号化して出力するステップを含む、請求項１０に記載の神経網の動作方法。
【請求項１２】
前記第１ネットワークは、音声認識のための神経網又は映像認識のための神経網を含む、請求項１乃至１１のうちのいずれか一項に記載の神経網の動作方法。
【請求項１３】
前記第１ネットワークは、完全接続レイヤ（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）、単純回帰神経網（ｓｉｍｐｌｅ  ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）、ＬＳＴＭ（Ｌｏｎｇ−Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）ネットワーク、又はＧＲＵｓ（Ｇａｔｅｄ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔｓ）のうち少なくとも１つを含む、請求項１乃至１２のうちのいずれか一項に記載の神経網の動作方法。
【請求項１４】
ハードウェアと結合して請求項１乃至請求項１３のいずれか一項に記載の方法を実行させるために媒体に格納されたコンピュータプログラム。
【請求項１５】
第１ネットワーク及び第３ネットワークを含む神経網の学習方法において、
設定された循環回数の間に学習データに対応する入力情報を前記第１ネットワークに印加することによって、循環別状態情報を生成するステップと、
前記第３ネットワークを用いて前記循環別状態情報に対応する結果を予測するステップと、
循環別に予測された前記結果と前記入力情報に対応する正解との間の第１ロスに基づいて、前記第１ネットワークを学習させるステップと、
を含む、神経網の学習方法。
【請求項１６】
循環別に予測された前記結果に対する評価スコアに基づいて、前記循環別状態情報を評価する第２ネットワークを学習させるステップをさらに含む、請求項１５に記載の神経網の学習方法。
【請求項１７】
前記第２ネットワークを学習させるステップは、循環別に予測された前記結果と前記正解に基づいて循環別に予測された前記結果を評価することによって前記評価スコアを決定するステップを含む、請求項１６に記載の神経網の学習方法。
【請求項１８】
前記第２ネットワークを学習させるステップは、前記循環別に状態情報のうち一部にノイズを付加するステップを含む、請求項１６に記載の神経網の学習方法。
【請求項１９】
前記第１ネットワークを学習させるステップは、前記第１ロスに基づいて前記第３ネットワークを学習させるステップを含む、請求項１５乃至１８のうちのいずれか一項に記載の神経網の学習方法。
【請求項２０】
前記入力情報を前記循環別状態情報の次元に符号化するステップと、
前記循環別状態情報の次元に符号化された入力情報を前記第１ネットワークに印加するステップと、
をさらに含む、請求項１５乃至１９のうちのいずれか一項に記載の神経網の学習方法。
【請求項２１】
前記循環別状態情報を生成するステップは、
前記循環別状態情報を前記入力情報の次元に符号化するステップと、
前記入力情報の次元に符号化された循環別状態情報を前記第１ネットワークに印加するステップと、
をさらに含む、請求項１６に記載の神経網の学習方法。
【請求項２２】
前記循環回数は、前記神経網によって提供される応用サービスに対応する認識のレベルに基づく、請求項１５乃至２１のうちのいずれか一項に記載の神経網の学習方法。
【請求項２３】
前記循環回数はさらに高い認識のレベルに応答して増加し、
前記循環回数はさらに低い認識のレベルに応答して減少する、請求項２２に記載の神経網の学習方法。
【請求項２４】
ハードウェアと結合して請求項１５乃至請求項２３のいずれか一項に記載の方法を実行させるために媒体に格納されたコンピュータプログラム。
【請求項２５】
入力情報に基づいて状態情報を生成する第１ネットワークと、
前記状態情報が条件を満足するか否かを決定する第２ネットワークと、
前記状態情報が前記条件を満足しないという決定に応じて、前記状態情報を前記第１ネットワークに循環的に印加し、前記状態情報が前記条件を満足するという決定に応じて、前記状態情報を出力するプロセッサと、
を含む、神経網。
【請求項２６】
前記第２ネットワークは、閾値と、前記第２ネットワークで出力された前記状態情報に対応する評価結果とを比較する、請求項２５に記載の神経網。
【請求項２７】
前記第２ネットワークは、前記状態情報が前記第１ネットワークに循環的に印加された回数と設定された回数とを比較する、請求項２５又は２６に記載の神経網。
【請求項２８】
前記第１ネットワークは、応用サービスを提供するために前記入力情報を循環的にさらに処理し、
前記第２ネットワークは、前記第１ネットワークの循環的な処理結果に該当する前記状態情報をさらに評価する、請求項２５乃至２７のうちのいずれか一項に記載の神経網。
【請求項２９】
応用サービスを提供するために、前記状態情報を復号化する第３ネットワークをさらに含む、請求項２５乃至２８のうちのいずれか一項に記載の神経網。
【請求項３０】
前記プロセッサは、前記入力情報を前記状態情報の次元に符号化し、前記状態情報の次元に符号化された入力情報を前記第１ネットワークに印加する、請求項２５に記載の神経網。
【請求項３１】
前記プロセッサは、前記状態情報を前記入力情報の次元に符号化し、前記入力情報の次元に符号化された状態情報を前記第１ネットワークに印加する、請求項２５乃至３０のうちのいずれか一項に記載の神経網。
【請求項３２】
前記入力情報は、単一データ及び順次データのいずれか１つ又はその組合せを含む、請求項２５乃至３１のうちのいずれか一項に記載の神経網。
【請求項３３】
前記入力情報が順次データである場合、前記順次データを前記第１ネットワークの入力次元の埋め込みベクトルに符号化するエンコーダをさらに含み、
前記プロセッサは、前記埋め込みベクトルを前記第１ネットワークに印加する、請求項２５乃至３１のうちのいずれか一項に記載の神経網。
【請求項３４】
前記入力情報が前記順次データである場合、前記状態情報を順次データに復号化するデコーダをさらに含み、
前記プロセッサは、前記復号化された順次データを出力する、請求項３３に記載の神経網。
【請求項３５】
入力情報を受信するセンサと、
前記入力情報、第１ネットワーク、第２ネットワーク、第３ネットワーク及び命令を格納するメモリと、
前記入力情報に基づいて状態情報を生成する第１ネットワークを実現し、
前記状態情報が条件を満足するか否かを決定する第２ネットワークを実現し、
応用サービスを提供するために前記状態情報を復号化する第３ネットワークを実現し、
前記条件を満足しない状態情報に応答して、前記第１ネットワークに前記状態情報を繰り返し適用し、
前記条件が満足される状態情報に応答して、前記復号化された状態情報を出力する、命令を実行するプロセッサと、
を含む、電子装置。
【請求項３６】
前記プロセッサは、前記第２ネットワークによる前記状態情報の評価結果を閾値と比較する、請求項３５に記載の電子装置。
【請求項３７】
前記プロセッサは、前記状態情報が前記第１ネットワークに繰り返し適用される回数と反復回数とを比較する、請求項３５又は３６に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、神経網の動作方法と学習方法及びその神経網に関する。
【背景技術】
【０００２】
神経網（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）は、数多い互いに異なる機械学習アルゴリズムが共に作動して複雑なデータ入力を処理し、パターンを認識するように多くの階層の構造又はフレームワークである。一般的に、特徴ベクトルに対する高い解釈能力又は高い性能を確保するために、神経網を深層神経網の形態に構成する。しかし、深層神経網は、様々な加重値を有する複数のレイヤを含み、複数のレイヤを格納することは多くの格納空間を必要とする。また、順次データを処理する循環神経網は、決定した回数（例えば、順次データの長さ）だけ繰り返して動作を行う。したがって、順次データではない一般の特徴ベクトルに適用することが容易ではなく、順次データの長さが極めて長い場合には処理時間が長くなり得る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１８／０１２９９１９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一実施形態によれば、神経網は入力情報に基づいて状態情報を出力する第１ネットワークと状態情報を評価する第２ネットワークから構成され、状態情報が予め決定された応用サービスを提供するためのタスクを行うために十分なレベルの情報で熟成されたと評価される場合は状態情報を出力し、状態情報が十分なレベルの情報で熟成されていないと評価される場合は、状態情報を第１ネットワークに循環的に印加して熟成させることにある。
【０００５】
一実施形態によれば、第２ネットワークの評価結果に応じて、第１ネットワークに状態情報を循環的に印加することで、相対的に少ないメモリ容量の場合にも、複数のレイヤを介して高い解釈力を有する深層神経網と同一、又は、深層神経網よりも優れた結果を取得し、タスクによる中間算出ベクトルを評価することにある。
【０００６】
一実施形態によれば、長い長さの順次データがなくても循環神経網を実現することにある。
【課題を解決するための手段】
【０００７】
一側面によれば、第１ネットワーク及び第２ネットワークを含む神経網の動作方法は、入力情報に基づいて前記第１ネットワークから出力される状態情報を取得するステップと、前記第２ネットワークを用いて前記状態情報が条件を満足するか否かを決定するステップと、前記状態情報が前記条件を満足しないという決定に応じて、前記状態情報を前記第１ネットワークに循環的に印加するステップと、前記状態情報が前記条件を満足するという決定に応じて、前記状態情報を出力するステップとを含む。
【０００８】
前記決定するステップは、閾値と、前記第２ネットワークで出力された前記状態情報に対応する評価結果とを比較するステップを含み得る。
【０００９】
前記決定するステップは、前記状態情報が前記第１ネットワークに循環的に印加された回数と設定された回数とを比較するステップをさらに含み得る。
【００１０】
前記入力情報は入力ベクトルに対応し、前記状態情報は出力ベクトルに対応し得る。
【００１１】
前記第１ネットワークは、応用サービスを提供するために前記入力情報を循環的に処理し、前記第２ネットワークは、前記第１ネットワークの循環的な処理結果に該当する前記状態情報を評価し得る。
【００１２】
前記神経網の動作方法は、応用サービスを提供するために、第３ネットワークを用いて前記状態情報を復号化するステップをさらに含み得る。
【００１３】
前記神経網の動作方法は、前記入力情報を前記状態情報の次元に符号化するステップと、前記状態情報の次元に符号化された入力情報を前記第１ネットワークに印加するステップとをさらに含み得る。
【００１４】
前記状態情報を第１ネットワークに循環的に印加するステップは、前記状態情報を前記入力情報の次元に符号化するステップと、前記入力情報の次元に符号化された状態情報を前記第１ネットワークに印加するステップとを含み得る。
【００１５】
前記入力情報は、単一データ及び順次データのいずれか１つ又はその組合せを含み得る。
【００１６】
前記神経網の動作方法は、前記入力情報が順次データである場合、前記順次データを前記第１ネットワークの入力次元の埋め込みベクトルに符号化するステップと、前記埋め込みベクトルを前記第１ネットワークに印加するステップとをさらに含み得る。
【００１７】
前記状態情報を出力するステップは、前記状態情報を順次データに復号化して出力するステップを含み得る。
【００１８】
前記第１ネットワークは、音声認識のための神経網又は映像認識のための神経網を含み得る。
【００１９】
前記第１ネットワークは、完全接続レイヤ（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）、単純回帰神経網（ｓｉｍｐｌｅ  ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）、ＬＳＴＭ（Ｌｏｎｇ−Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）ネットワーク、又はＧＲＵｓ（Ｇａｔｅｄ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔｓ）のうち少なくとも１つを含み得る。
【００２０】
一実施形態によると、第１ネットワーク及び第３ネットワークを含む神経網の学習方法は、設定された循環回数の間に学習データに対応する入力情報を前記第１ネットワークに印加することによって、循環別状態情報を生成するステップと、前記第３ネットワークを用いて前記循環別状態情報に対応する結果を予測するステップと、循環別に予測された前記結果と前記入力情報に対応する正解との間の第１ロスに基づいて、前記第１ネットワークを学習させるステップとを含む。
【００２１】
前記神経網の学習方法は、循環別に予測された前記結果に対する評価スコアに基づいて、前記状態情報を評価する第２ネットワークを学習させるステップをさらに含み得る。
【００２２】
前記第２ネットワークを学習させるステップは、循環別に予測された前記結果と前記正解に基づいて循環別に予測された前記結果を評価することによって前記評価スコアを決定するステップを含み得る。
【００２３】
前記第２ネットワークを学習させるステップは、前記循環別に状態情報のうち一部にノイズを付加するステップを含み得る。
【００２４】
前記第１ネットワークを学習させるステップは、前記第１ロスに基づいて前記第３ネットワークを学習させるステップを含み得る。
【００２５】
前記神経網の学習方法は、前記入力情報を前記状態情報の次元に符号化するステップと、前記状態情報の次元に符号化された入力情報を前記第１ネットワークに印加するステップとをさらに含み得る。
【００２６】
前記循環別状態情報を生成するステップは、前記状態情報を前記入力情報の次元に符号化するステップと、前記入力情報の次元に符号化された状態情報を前記第１ネットワークに印加するステップとをさらに含み得る。
【００２７】
前記循環回数は、前記神経網によって提供される応用サービスに対応する認識のレベルに基づく。
【００２８】
前記循環回数はさらに高い認識レベルに応答して増加し、前記循環回数はさらに低い認識レベルに応答して減少し得る。
【００２９】
一実施形態によると、神経網は、入力情報に基づいて状態情報を生成する第１ネットワークと、前記状態情報が条件を満足するか否かを決定する第２ネットワークと、前記状態情報が前記条件を満足しないという決定に応じて、前記状態情報を前記第１ネットワークに循環的に印加し、前記状態情報が前記条件を満足するという決定に応じて、前記状態情報を出力するプロセッサとを含む。
【００３０】
前記第２ネットワークは、閾値と、前記第２ネットワークで出力された前記状態情報に対応する評価結果とを比較し得る。
【００３１】
前記第２ネットワークは、前記状態情報が前記第１ネットワークに循環的に印加された回数と設定された回数とを比較し得る。
【００３２】
前記第１ネットワークは、応用サービスを提供するために前記入力情報を循環的にさらに処理し、前記第２ネットワークは、前記第１ネットワークの循環的な処理結果に該当する前記状態情報をさらに評価し得る。
【００３３】
前記神経網は、応用サービスを提供するために、前記状態情報を復号化する第３ネットワークをさらに含み得る。
【００３４】
前記プロセッサは、前記入力情報を前記状態情報の次元に符号化し、前記状態情報の次元に符号化された入力情報を前記第１ネットワークに印加し得る。
【００３５】
前記プロセッサは、前記状態情報を前記入力情報の次元に符号化し、前記入力情報の次元に符号化された状態情報を前記第１ネットワークに印加し得る。
【００３６】
前記入力情報は、単一データ及び順次データのいずれか１つ又はその組合せを含み得る。
【００３７】
前記神経網は、前記入力情報が順次データである場合、前記順次データを前記第１ネットワークの入力次元の埋め込みベクトルに符号化するエンコーダをさらに含み、前記プロセッサは、前記埋め込みベクトルを前記第１ネットワークに印加し得る。
【００３８】
前記神経網は、前記入力情報が前記順次データである場合、前記状態情報を順次データに復号化するデコーダをさらに含み、前記プロセッサは、前記復号化された順次データを出力し得る。
【００３９】
位置実施形態によると、電子装置は、入力情報を受信するセンサと、前記入力情報、第１ネットワーク、第２ネットワーク、第３ネットワーク及び命令を格納するメモリと、前記入力情報に基づいて状態情報を生成する第１ネットワークを実現し、前記状態情報が条件を満足するか否かを決定する第２ネットワークを実現し、応用サービスを提供するために前記状態情報を復号化する第３ネットワークを実現し、前記条件を満足しない状態情報に応答して、前記第１ネットワークに前記状態情報を繰り返し適用し、前記条件が満足される状態情報に応答して、前記復号化された状態情報を出力する、命令を実行するプロセッサとを含む。
【００４０】
前記プロセッサは、前記第２ネットワークによる前記状態情報の評価結果を閾値と比較し得る。
【００４１】
前記プロセッサは、前記状態情報が前記第１ネットワークに繰り返し適用される回数と反復回数とを比較し得る。
【発明の効果】
【００４２】
一側面によれば、神経網は入力情報に基づいて状態情報を出力する第１ネットワークと状態情報を評価する第２ネットワークから構成され、状態情報が予め決定された応用サービスを提供するためのタスクを行うために十分なレベルの情報で熟成されたと評価される場合は状態情報を出力し、状態情報が十分なレベルの情報で熟成されていないと評価される場合は、状態情報を第１ネットワークに循環的に印加して熟成させることができる。
【００４３】
一側面によれば、第２ネットワークの評価結果に応じて、第１ネットワークに状態情報を循環的に印加することで、相対的に少ないメモリ容量の場合にも、複数のレイヤを介して高い解釈力を有する深層神経網と同一、又は、深層神経網よりも優れた結果を取得することができ、タスクによる中間算出ベクトルを評価することができる。
【００４４】
一側面によれば、長い長さの順次データがなくても循環神経網を実現することができる。
【図面の簡単な説明】
【００４５】
【図１】一実施形態に係る神経網の動作方法を示したフローチャートである。
【図２】一実施形態に係る神経網の動作方法を説明するための図である。
【図３】一実施形態に係る神経網の動作方法を説明するための図である。
【図４】一実施形態に係る神経網の構造を説明するための図である。
【図５】他の実施形態に係る神経網の構造を説明するための図である。
【図６】一実施形態に係る神経網の学習方法を示したフローチャートである。
【図７】一実施形態に係る神経網の学習方法を説明するための図である。
【図８】一実施形態に係る神経網の学習方法を説明するための図である。
【図９】一実施形態に係る神経網の学習方法を説明するための図である。
【図１０】一実施形態に係る神経網の構成ブロック図である。
【発明を実施するための形態】
【００４６】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更される。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【００４７】
第１又は第２などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は１つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第１構成要素は第２構成要素と命名することができ、同様に第２構成要素は第１構成要素にも命名することができる。
【００４８】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【００４９】
本明細書で用いられる用語は、単に特定の実施形態を説明するために使用されたものであり、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００５０】
異なるように定義がされない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００５１】
以下、実施形態を添付の図面を参照して詳説する。添付図面を参照して説明することにおいて、図面符号に関わらず同じ構成要素は同じ参照符号を付与し、これに関する重複説明は省略することにする。
【００５２】
図１は、一実施形態に係る神経網の動作方法を示したフローチャートである。図１に示す動作は、図１に示された順序及び方式により実行され、説明された例示的な実施形態の思想と範囲を逸脱しないで一部動作の順序が変更されたり、一部動作が省略されてもよい。図１に示された多くの動作は、並列又は同時に実行されてもよい。図１に示す１つ以上のブロック及び前記ブロックの組合せは、特定機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。
【００５３】
図１を参照すると、一実施形態に係る神経網は、第１ネットワークを用いて入力情報に基づいて出力される状態情報を取得する（Ｓ１１０）。一例として、神経網は、単一ネットワークとして構成され、また、反復的ネットワークとして構成されてもよい。例えば、神経網は、完全接続レイヤ（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）、単純リカレント神経網（ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ；ＲＮＮ）、長／短期メモリ（ｌｏｎｇ−ｓｈｏｒｔ  ｔｅｒｍ  ｍｅｍｏｒｙ；ＬＳＴＭ）神経網、及びＧＲＵｓ（ｇｒａｔｅｄ  ｒｅｃｕｒｒｅｎｔ  ｕｎｉｔｓ）を含み得る。
【００５４】
一例として、入力情報は、単一データ及び順次データのうち少なくとも１つを含む。例えば、入力情報は、映像又は音声であってもよい。入力情報は、状態情報と同じ次元の情報であってもよく、状態情報と異なる次元の情報であってもよい。状態情報は、神経網により神経網の入力情報及び／又は神経網の循環的な結果に対応する。
【００５５】
一実施形態に係る状態情報は、以前時間ステップからの神経網の出力及び以前時間ステップからの神経網の内部状態のいずれか１つ、又は両方に対応する。例えば、神経網は、現在時間ステップの開始点で状態情報を使用し得る。一実施形態に係る状態情報は、応用サービスを提供するためのタスク（ｔａｓｋ）により多次元中間算出ベクトル又は出力ベクトルであり得る。
【００５６】
異なる例として、状態情報は、入力情報に応答して神経網から出力され得る様々な類型の情報であってもよい。一例として、リカレント神経網は、畳み込みレイヤに加えて、例えば、サブサンプリングレイヤ（ｓｕｂ−ｓａｍｐｌｉｎｇ  ｌａｙｅｒ）、プーリングレイヤ（ｐｏｏｌｉｎｇ  ｌａｙｅｒ）、完全接続レイヤ（ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒ）などを含む。
【００５７】
神経網は、入力映像、特徴マップ、及び出力を含む複数のレイヤを有する構造で実現される。神経網では、入力映像とカーネル（ｋｅｒｎｅｌ）と呼ばれるフィルタ間の畳み込み演算が行われ、畳み込み演算の結果として特徴マップが出力される。ここで、出力される特徴マップは入力特徴マップであり、出力された特徴マップとカーネルとの間の畳み込み演算が再び実行され、結果的に新しい特徴マップが出力される。このような反復的な畳み込み演算に基づいて、神経網を通した入力映像の特徴認識結果が出力される。
【００５８】
異なる実施形態において、神経網は、入力映像の代わりに入力ソース文章（例えば、音声エントリ）を含む。
【００５９】
このような例において、カーネルを用いて入力ソース文章に対して畳み込み演算が行われ、その結果、特徴マップが出力される。畳み込み演算は、カーネルと共に入力特徴マップとして出力特徴マップで再び実行され、新しい特徴マップが出力される。
【００６０】
このように繰り返して畳み込み演算を行うと、最終的に神経網を介して入力原文の特徴に対する認識結果を出力することができる。
【００６１】
第１ネットワークは、予め決定された応用サービスを提供するために入力情報を循環的に処理する。第１ネットワークは、例えば、音声認識のための神経網又は映像認識のための神経網を含む。
【００６２】
神経網は、第２ネットワークを用いて状態情報が条件を満足するか否かを判断する（Ｓ１２０）。第２ネットワークは、第１ネットワークから出力される状態情報を評価する。一実施形態において、第２ネットワークはいかなる形態の単一ネットワークにも構成され、例えば、状態情報に対する評価を行う評価ロジック内に含まれてもよい。条件は、状態情報が予め決定された応用サービスを提供するためのタスクを行うために十分なレベルの情報で熟成されるかを評価する条件であってもよい。条件は、例えば、閾値よりも大きい状態情報に対応する評価結果を含んだり、及び／又は第１ネットワークに循環的に印加された回数が設定された回数に該当する条件であってもよい。ステップＳ１２０において、神経網は、例えば、予め決定された閾値と状態情報に対応する評価結果とを比較したり、又は、状態情報が第１ネットワークに循環的に印加された回数と予め設定された回数とを比較する方式で状態情報を評価する。
【００６３】
神経網は、ステップＳ１２０で状態情報が条件を満足しないという判断に応じて、状態情報を第１ネットワークに循環的に印加する（Ｓ１３０）。一実施形態では、第１ネットワークから出力される状態情報を第１ネットワークに循環的に印加することで、複数のレイヤを含む深層神経網のための大きい格納空間がなくても高い解釈能力を確保することができる。
【００６４】
神経網、はステップＳ１２０で状態情報が条件を満足するという判断に応じて、状態情報を出力する（Ｓ１４０）。ステップＳ１４０で出力された状態情報は、例えば、ソフトマックスレイヤ（ｓｏｆｔｍａｘ  ｌａｙｅｒ）などを介して最終的な結果から出力される。
【００６５】
図２は、一実施形態に係る神経網の動作方法を説明するための図である。図２の動作は、図２に示された順序及び方式により実行され、説明された例示的な実施形態の思想と範囲を逸脱しないで一部動作の順序が変更されたり、一部動作が省略されてもよい。図２に示された多くの動作は並列又は同時に実行されてもよい。図２に示す１つ以上のブロック及び前記ブロックの組合せは、特定機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。次の図２の説明に加えて、図１の説明は図２にも適用され、参照によって含まれてもよい。したがって、図１の説明は繰り返すことはない。
【００６６】
一実施形態に係る神経網は、第１ネットワークｆ及び第２ネットワークｄの２つのネットワークを含む。第１ネットワークｆは、例えば、入力情報に該当する入力ベクトルｘを処理して状態情報に該当する出力ベクトルｏを生成するネットワークであってもよい。また、第２ネットワークｄは、例えば、出力ベクトルｏを評価し、出力ベクトルｏを第１ネットワークに循環させるか否かを決定する評価ネットワークであり得る。
【００６７】
図２を参照すると、入力情報ｘが神経網に入力されると（Ｓ２１０）、神経網は、入力情報ｘを第１ネットワークｆ（ｘ）に印加する（Ｓ２２０）。第１ネットワークｆ（ｘ）は状態情報ｏを出力する（Ｓ２３０）。
【００６８】
神経網は、第２ネットワークｄを用いて状態情報ｏを評価する（Ｓ２４０）。ステップＳ２４０で、神経網は、例えば、評価結果ｄ（ｏ）が閾値を満足するかを評価する。ここで、神経網は、評価結果ｄ（ｏ）がハイパーパラメータ（ｈｙｐｅｒ  ｐａｒａｍｅｔｅｒ）で設定した閾値を満足するかを評価する。
【００６９】
一実施形態でハイパーパラメータは、図２に示す神経網を動作させる方法が開始する前にその値が設定される。
【００７０】
実施形態により、神経網は、例えば、評価結果ｄ（ｏ）が予め設定された閾値に達しない場合、状態情報が第１ネットワークに循環的に印加された回数が予め設定された回数（ｍａｘｉｍｕｍ  ｉｔｅｒａｔｉｏｎ）に達したかを評価する。
【００７１】
ステップＳ２４０で、評価結果ｄ（ｏ）が予め設定された閾値を満足するか、又は、状態情報が第１ネットワークに循環的に印加された回数が予め設定された回数に達するものと評価される場合、神経網は状態情報ｏを出力する（Ｓ２６０）。例えば、閾値が０．７であり、評価結果ｄ（ｏ）が０．８である場合、神経網は第１ネットワークｆの循環から離脱して状態情報ｏを出力する。
【００７２】
一方、ステップＳ２４０で、評価結果ｄ（ｏ）が予め設定された閾値を満足しないか、又は、状態情報が第１ネットワークに循環的に印加された回数が予め設定された回数に達しないと評価される場合、神経網は状態情報ｏの循環的処理のために、状態情報ｏを入力情報ｘの次元に符号化する（Ｓ２５０）。その後、神経網は、入力情報ｘの次元に符号化された状態情報を第１ネットワークに印加する（Ｓ２２０）。
【００７３】
一実施形態において学習される以前の初期形態の第２ネットワークから正しい評価結果を取得することは難しいため、第２ネットワークは、一般的な学習方法とは異なる学習方法によって学習されなければならない。第２ネットワークの学習方法は、下記の図８〜図９を参照して具体的に説明する。
【００７４】
一実施形態に係る神経網は、第２ネットワークを用いて第１ネットワークの出力である状態情報が予め決定された応用サービスを提供するためのタスクにどれ程補助できるか、言い換えれば、状態情報がタスクを行うために十分なレベルの情報であるかを評価する。神経網は、第２ネットワークにおける評価結果が満足されない場合、第１ネットワークにおける循環的処理をさらに行う。神経網は、第２ネットワークにおける評価結果が満足する場合、状態情報を出力する。
【００７５】
一実施形態に係る神経網は、循環的処理の有無を自ら決定するという点で「自己決定循環神経網（ｓｅｌｆ−ｄｅｃｉｄａｂｌｅ  ｒｅｃｕｒｒｅｎｔ  ｌａｙｅｒ）」と呼ぶことができる。
【００７６】
図３は、他の実施形態に係る神経網の動作方法を説明するための図である。図３の動作は、図３に示された順序及び方式により実行され、説明された例示的な実施形態の思想と範囲を逸脱しないで一部動作の順序が変更されたり、一部動作が省略されてもよい。図３に示された多くの動作は並列又は同時に実行されてもよい。図３に示す１つ以上のブロック及び前記ブロックの組合せは、特定機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。下記の図３の説明に加えて、図１ないし図２の説明は図３にも適用され、参照によって含まれてもよい。したがって、図１ないし図２の説明は繰り返すことはない。
【００７７】
図３を参照すると、一実施形態に係る神経網は、入力情報ｘが入力されると（Ｓ３１０）、入力情報ｘを第１ネットワークｆに印加する前に、状態情報ｏの次元に符号化する（Ｓ３２０）。神経網は、状態情報の次元に符号化された入力情報を第１ネットワークに印加し（Ｓ３３０）、第１ネットワークｆ（ｏ）から状態情報ｏを出力する（Ｓ３４０）。
【００７８】
神経網は、第２ネットワークｄを用いて状態情報ｏを評価する（Ｓ３５０）。ステップＳ３５０で、神経網は、評価結果ｄ（ｏ）が予め設定された閾値を満足するか、又は、状態情報が第１ネットワークに循環的に印加された回数が予め設定された回数に達したかを評価する。
【００７９】
ステップＳ３５０で、評価結果ｄ（ｏ）が予め設定された閾値を満足するか、又は、状態情報が第１ネットワークに循環的に印加された回数が予め設定された回数に達するものと評価される場合、神経網は、状態情報ｏを出力する（Ｓ３６０）。
【００８０】
一方、ステップＳ３５０で、評価結果ｄ（ｏ）が予め設定された閾値を満足しないか、又は、状態情報が第１ネットワークに循環的に印加された回数が予め設定された回数に達しないと評価される場合、神経網は、状態情報ｏを第１ネットワークに循環的に印加する（Ｓ３３０）。
【００８１】
図４は、一実施形態に係る神経網の構造を説明するための図である。図４Ａを参照すると、３つのレイヤから構成されたパーセプトロンシステム（ｐｅｒｃｅｐｔｒｏｎ  ｓｙｓｔｅｍ）が示されている。パーセプトロンシステムに入力された入力ベクトルは、第１レイヤ（Ｌａｙｅｒ  １）、第２レイヤ（Ｌａｙｅｒ  ２）及び第３レイヤ（Ｌａｙｅｒ  ３）を経て、最終的にソフトマックスレイヤ（Ｓｏｆｔｍａｘ  ｌａｙｅｒ）を介して各レーベルの確率分布を生成する。ここで、３つのレイヤは別に動作し、レイヤごとに別途の加重値をそれぞれ格納する。
【００８２】
図４Ｂを参照すると、前述したパーセプトロンシステムを一実施形態に係る自己決定循環神経網４３０によって構成された神経網４００が示されている。前述したパーセプトロンシステムを一実施形態に係る自己決定循環神経網で実現する場合、自己決定循環神経網の予め設定された回数（ｍａｘ  ｉｔｅｒａｔｉｏｎ）は３以上になる。
【００８３】
ここで、入力ベクトル（又は、入力情報４１０）に対する解釈能力は、図４Ａに示す３つのレイヤと図４Ｂに示す自己決定循環神経網４３０が同一であるが、自己決定循環神経網４３０は、３つのレイヤに比べてさらに少ないメモリ容量を用いる。したがって、一実施形態に係る自己決定循環神経網４３０は、メモリ容量がイシューになり得るユーザ装置で有効に用いられることができる。また、自己決定循環神経網４３０は、入力情報４１０により３回未満の循環によって結果を導出することで、はやい応答速度を提供し得る。又は、自己決定循環神経網４３０は、入力情報４１０により４回以上の循環によって結果を導出することで、より正確な結果を提供できる。
【００８４】
図４Ｂにおいて、入力情報４１０を受信した自己決定循環神経網４３０は、第１ネットワーク４３１を介して状態情報ｏｉを生成する。状態情報ｏｉは、第２ネットワーク４３３を含む判断部４３５に伝えられる。判断部４３５は、第２ネットワーク４３３を用いて状態情報ｏｉを評価する。判断部４３５は、例えば、状態情報ｏｉが閾値を満足するか否かを評価（又は、判断）する。判断部４３５は、状態情報ｏｉが閾値を満足しない場合、状態情報ｏｉを第１ネットワーク４３１に循環的に印加する。判断部４３５は、状態情報ｏｉが閾値を満足する場合、状態情報ｏｉを出力する。自己決定循環神経網４３０で出力された状態情報ｏｉは、予め決定された応用サービスを提供するために、第３ネットワーク４５０によって復号化される。ここで、第３ネットワーク４５０は、応用サービスのためのネットワーク全体で第１ネットワーク及び第２ネットワークの後段に接続されたネットワークであって、例えば、ソフトマックスレイヤなどのデコーダであり得る。
【００８５】
図５は、他の実施形態に係る神経網の構造を説明するための図である。図５を参照すると、一実施形態に係る自己決定循環神経網５３０を用いて順次データを処理する神経網５００の構造が示されている。
【００８６】
例えば、入力情報５１０がユーザの発話文章、テキスト文章、動画などのような順次データである場合、一実施形態に係る神経網５００は、エンコーダ５２０を用いて順次データを第１ネットワークの入力次元の埋め込み（ｅｍｂｅｄｄｉｎｇ）ベクトルに符号化する。入力情報５１０は、エンコーダ５２０によって埋め込まれて１つの埋め込みベクトルに表現される。埋め込みベクトルは、自己決定循環神経網５３０によって満足するほどの結果が出るまで循環（解釈）される。
【００８７】
自己決定循環神経網５３０で出力された状態情報は、デコーダ５４０によって順次データに復号化され、最終的な予測結果５５０として出力される。
【００８８】
実施形態により、エンコーダ５２０とデコーダ５３０を選択的に導入することによって、自己決定循環神経網５３０は、｛非順次データ入力、非順次データ出力｝、｛非順次データ入力、順次データ出力｝、｛順次データ入力、順次データ出力｝、｛順次データ入力、非順次データ出力｝のシナリオのように様々に適用される。
【００８９】
図６は、一実施形態された順序及び方式により実行され、説明された例示的な実施形態の思想と範囲を逸脱しないで一部動作の順序が変更されたり、一部動作が省略されてもよい。図６に示された多くの動作は並列又は同時に実行されてもよい。図６の１つ以上のブロック及び前記ブロックの組合せは、特定機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。下記の図６の説明に加えて、図１乃至図５の説明は図６にも適用され、参照によって含まれてもよい。したがって、図１乃至図５の説明は繰り返すことはない。
【００９０】
図６を参照すると、一実施形態に係る神経網の学習装置（以下、「学習装置」）は、予め設定された循環回数に応じて学習データに対応する入力情報を第１ネットワークに循環的に印加することで、循環別状態情報（ｓｔａｔｅ  ｉｎｆｏｒｍａｔｉｏｎ  ｐｅｒ  ｉｔｅｒａｔｉｏｎ）を生成する（Ｓ６１０）。ここで、予め設定された循環回数は、予め決定された応用サービスごとに異なって設定されてもよい。例えば、応用サービスが金融決済のための生体認識、音声認識、又はユーザ認証のように高いレベルの認識結果を必要とすると仮定する。この場合に、循環回数は、例えば、１５回、２０回、又は、５０回などのように相対的高い値に設定される。一方、応用サービスが単なるロック解除などのように低いレベルの認識結果を必要とすると仮定する。この場合、循環回数は、例えば、２回、３回、５回などのように相対的に低い値に設定される。学習データに対応する入力情報は、例えば、入力ベクトルであり得る。第１ネットワークで生成された循環別状態情報は、例えば、図７に示されたｏ１、ｏ２、ｏ３、ｏ４、ｏ５であってもよい。
【００９１】
ステップＳ６１０で、学習装置は、入力情報を状態情報の次元に符号化した後、第１ネットワークに入力する。この場合、学習装置は、入力情報を状態情報の次元に符号化し、符号化された入力情報を第１ネットワークに印加する。又は、学習装置は、循環した状態情報を入力情報の次元に変換した後、第１ネットワークに印加する。この場合、学習装置は、状態情報を入力情報の次元に符号化し、符号化された状態情報を第１ネットワークに印加する。
【００９２】
学習装置は、第３ネットワークを用いて循環別状態情報に対応する結果を予測する（Ｓ６２０）。第３ネットワークは、例えば、複数のソフトマックスレイヤに該当する予測レイヤであってもよい。ここで、第３ネットワークは、第１ロスに基づいて学習される。循環別状態情報に対応して第３ネットワークで予測された結果は、例えば、図７に示されたｐ（ｏ１）、ｐ（ｏ２）、ｐ（ｏ３）、ｐ（ｏ４）、及びｐ（ｏ５）であってもよい。
【００９３】
学習装置は、循環別に予測された結果と入力情報に対応する正解（Ｇｒｏｕｎｄ  Ｔｒｕｔｈ；ＧＴ）間の第１ロス（ｌｏｓｓｅｓ）に基づいて第１ネットワークを学習させる（Ｓ６３０）。学習装置が第１ネットワーク及び第３ネットワークを学習させる方法については、下記の図７を参照して具体的に説明する。
【００９４】
図７は、一実施形態に係る神経網の学習方法を説明するための図である。図７を参照すると、一実施形態に係る第１ネットワークｆ７１０及び第３ネットワークｐ７３０を学習する方法が示されている。
【００９５】
一実施形態において、第１ネットワークｆ７１０を学習するためには、例えば、アンロール（ｕｎｒｏｌｌ）学習方法を用いることができる。アンロール学習方法は、第１ネットワークｆ７１０の反復を予め設定された循環回数（ｍａｘｉｍｕｍ  ｉｔｅｒａｔｉｏｎ）で行って生じる全ての循環結果である循環別状態情報ｏ１、ｏ２、ｏ３、ｏ４、ｏ５に対して結果を導出し、逆伝播学習方式でロス（Ｌｏｓｓ）７５０を学習する方法である。
【００９６】
例えば、予め設定された循環回数を５であると仮定する。学習データに対応する入力情報ｘ７０１が第１ネットワークｆ７１０に入力されれば、第１ネットワークｆ７１０は、例えば、第１−１ネットワークｆ（ｘ）、第１−２ネットワークｆ（ｏ１）、第１−３ネットワークｆ（ｏ２）、第１−４ネットワークｆ（ｏ３）、及び第１−５ネットワークｆ（ｏ４）のように、合計５回の間に実行されて循環別状態情報ｏ１、ｏ２、ｏ３、ｏ４、ｏ５を生成及び出力する。
【００９７】
循環別状態情報ｏ１、ｏ２、ｏ３、ｏ４、ｏ５が第３ネットワークｐ７３０に入力されれば、第３ネットワークｐ７３０は、循環別状態情報ｏ１、ｏ２、ｏ３、ｏ４、ｏ５に対応して予測された結果ｐ（ｏ１）、ｐ（ｏ２）、ｐ（ｏ３）、ｐ（ｏ４）、及びｐ（ｏ５）を出力する。ここで、第３ネットワークｐ７３０は、状態情報に対応する結果を予測する予測ネットワークとして、第１ネットワークｆ７１０と同様に、予め設定された循環回数で実行されて循環別に予測された結果ｐ（ｏ１）、ｐ（ｏ２）、ｐ（ｏ３）、ｐ（ｏ４）、及びｐ（ｏ５）を出力する。
【００９８】
学習装置は、循環別に予測された結果ｐ（ｏ１）、ｐ（ｏ２）、ｐ（ｏ３）、ｐ（ｏ４）、及びｐ（ｏ５）と、入力情報に対応する正解Ｇ．Ｔ７０５間のロス（例えば、第１ロス）７５０に基づいて第１ネットワークｆ７１０を学習させる。ここで、入力情報ｘ７０１に対応する正解Ｇ．Ｔ７０５は、全ての第１ロス７５０に対して同じ値である。
【００９９】
図７において、算出された第１ロス（Ｌｏｓｓ）７５０は、第３ネットワークｐ７３０及び第１ネットワークｆ７１０に逆伝播（ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ）され、第３ネットワークｐ７３０及び第１ネットワークｆ７１０を学習させるために用いられる。
【０１００】
学習装置は、例えば、循環別に予測された結果ｐ（ｏ１）、ｐ（ｏ２）、ｐ（ｏ３）、ｐ（ｏ４）、及びｐ（ｏ５）と入力情報ｘ（Ｉｎｐｕｔ  ｘ）７０１に対応する正解Ｇ．Ｔ７０５との間の第１ロス７５０が最小化されるよう、第１ネットワークｆ７１０を学習させる。また、学習装置は、例えば、循環別に予測された結果ｐ（ｏ１）、ｐ（ｏ２）、ｐ（ｏ３）、ｐ（ｏ４）、及びｐ（ｏ５）と、入力情報ｘ７０１に対応する正解Ｇ．Ｔ７０５との間の第１ロス７５０が最小化されるよう、第３ネットワークｐ７３０を学習させる。実施形態により、第１ネットワークｆ７１０と第３ネットワークｐ７３０は共に学習され得る。
【０１０１】
図８は、一実施形態に係る神経網の学習方法を説明するための図である。図８を参照すると、一実施形態に係る第２ネットワークｄを学習させる方法が示されている。
【０１０２】
図８において、第１ネットワークｆ８１０は、前述した第１ネットワークｆ７１０のようにアンロール学習方法で学習され、第３ネットワークｐ８３０も、前述した第３ネットワークｐ７３０のように学習される。ここで、第３ネットワークｐ８３０で循環別に予測された結果ｐ（ｏ）と、入力情報ｘに対応する正解Ｇ．Ｔ８０５との間の差異は、第１ロス（Ｌｏｓｓ１）８６０に該当する。学習装置は第１ロス（Ｌｏｓｓ１）８６０が最小化されるように第１ネットワークｆ８１０を学習させる。同様に、学習装置は、第１ロス（Ｌｏｓｓ１）８６０が最小化されるように第３ネットワークｐ８３０を学習させる。
【０１０３】
第２ネットワークｄ８５０は、第１ネットワークｆ８１０の循環的な処理結果に該当する状態情報ｏ１、ｏ２、ｏ３、ｏ４、ｏ５を評価する。第２ネットワークｄ８５０は、例えば、当該ネットワークの品質を評価する評価値（又は、評価スコア）ｄ（ｏ）を予測するように学習される。ここで、予測される評価値は、評価値を測定する様々な方式により様々な値に決定される。評価値は、例えば、０と１との間の値に連続的に決定されてもよく、又は、０又は１などの不連続的な値に決定されてもよい。
【０１０４】
第３ネットワークｐ８３０における最終的な予測結果と、正解ＧＴ８０５によって決定された評価値と、第２ネットワークｄ８５０で予測された評価値との間の差異は第２ロス（Ｌｏｓｓ２）８７０に該当する。ここで、第３ネットワークｐ８３０における最終的な予測結果と、正解ＧＴ８０５によって決定された評価値は、「評価スコア」と呼ぶ。学習装置は、第２ロス（Ｌｏｓｓ２）８７０が最小化されるように第２ネットワークｄ８５０を学習する。
【０１０５】
第２ネットワークｄ８５０は、第１ネットワークｆ８１０と同様にアンロール学習方法によって学習される。第２ネットワークｄ８５０は、ネットワークをアンロールして各循環時点の出力、言い換えれば、循環別状態情報ｏ１、ｏ２、ｏ３、ｏ４、ｏ５から予測された結果に基づいて評価値（又は、評価スコア）を測定する。第２ネットワークｄ８５０は、循環別状態情報ｏ１、ｏ２、ｏ３、ｏ４、ｏ５から導出された結果の評価スコアｄ（ｏ）を予測する形態に学習される。例えば、予測正確度が評価値になる場合、特定状態情報ｏが第２ネットワークｄ８５０を通過すれば、０から１の間の予測された正確度値が出力される。
【０１０６】
一実施形態に係る学習装置は、第３ネットワークｐ８３０で循環別に予測された結果ｐ（ｏ）に対する評価値（又は、評価スコア）に基づいて第２ネットワークｄ８５０を学習する。学習装置は、第３ネットワークｐ８３０で循環別に予測された結果ｐ（ｏ）と、正解ＧＴ８０５に基づいて第３ネットワークｐ８３０で循環別に予測された結果を評価することで、評価値（又は、評価スコア）を決定する。
【０１０７】
学習装置は、第２ネットワークｄ８５０の出力（言い換えれば、第２ネットワークの予測評価値）と、第３ネットワークｐ８３０で循環別に予測された結果ｐ（ｏ）に対応する評価結果（評価値）との間の第２ロス（Ｌｏｓｓ２）８７０が最小化されるよう、第２ネットワークｄ８５０を学習させる。第３ネットワークｐ８３０で循環別に予測された結果ｐ（ｏ）に対応する評価結果（評価値）は、第３ネットワークｐ８３０で循環別に予測された結果ｐ（ｏ）と正解ＧＴ８０５に基づいて決定される。
【０１０８】
学習装置は、第１ネットワークｆ８１０と第２ネットワークｄ８５０を共に学習させ得る。又は、学習装置は、第１ネットワークｆ８１０、第２ネットワークｄ８５０及び第３ネットワークｐ８３０を共に学習させてもよい。この場合、第１ネットワークｆ８１０は、第１ロス及び第２ロスによって学習されてもよい。
【０１０９】
一実施形態によれば、第２ネットワークｄ８５０の学習後半に第２ネットワークｄ８５０が十分飽和（ｓａｔｕｒａｔｉｏｎ）（又は、学習）されたと仮定すると、評価スコアは、偏向的に（例えば、常に良好に）出てくる。第２ネットワークｄ８５０の学習で第２ネットワークｄ８５０に入力される状態情報ｏとは関係なく、第２ネットワークｄ８５０が偏向した結果値を導出した現象は、むしろ、第２ネットワークｄ８５０の学習を阻害する。この場合、学習装置は、実際の学習データに対応する入力情報を第１ネットワークを介して印加することで、生成された循環別状態情報ｏのうち少なくとも一部にノイズを付加し、第２ネットワークｄ８５０が高いスコアを評価する能力と低いスコアを評価する能力との間の均衡を合わせるようにする。ここで、循環別状態情報それぞれに付加されるノイズは同一であるか互いに異なってもよい。
【０１１０】
図９は、他の実施形態に係る神経網の学習方法を説明するための図である。図９を参照すると、例えば、入力映像に含まれたオブジェクトを分類する神経網を一実施形態に係る神経網（自己決定循環神経網）で構成したケースに該当の神経網を学習させる過程が示されている。
【０１１１】
例えば、入力映像に含まれた歩行者を分類するように神経網を学習させると仮定する。ここで、入力映像に対応する正解Ｇ．Ｔは歩行者であってもよい。ここで、予め設定された循環回数は２回であり、閾値は０．６５であると仮定する。
【０１１２】
入力映像に対応する入力情報ｘを第１ネットワークｆに印加することにより、第１ネットワークｆ（ｘ）から状態情報ｏ１が出力され、状態情報ｏ１が第２ネットワークｄ（ｏ１）及び第３ネットワークｐ（ｏ１）のように印加されると仮定する。ここで、状態情報ｏ１が印加された第３ネットワークｐ（ｏ１）は、状態情報ｏ１に対応する結果を、例えば、車、歩行者、車線のような各クラスに対して予測する。第３ネットワークｐ（ｏ１）で、状態情報ｏ１が車：０．４、歩行者：０．３、車線：０．３のような予測値に予測された場合、各予測値は、状態情報ｏ１を該当のクラスで予測できる確率又は該当の状態情報ｏ１が該当のクラスである正確度に該当する。ここで、第１ネットワークｆは、クラス歩行者の予測値である０．３と正解である歩行者に対応する値（「１」）間の差（Ｌｏｓｓ１）を最小化するように学習される。
【０１１３】
また、各クラスに対応する予測値のうち、車に対応する予測値が０．４として最も大きいことから、第３ネットワークｐ（ｏ１）の予測結果は「車」になる。学習装置は、第３ネットワークｐ（ｏ１）の予測結果である「車」と正解である「歩行者」に基づいて、第３ネットワークｐ（ｏ１）の予測結果を評価して評価スコアを決定する。ここで、第３ネットワークｐ（ｏ１）の予測結果である「車」と正解である「歩行者」は互いに異なるため、学習装置は、第３ネットワークｐ（ｏ１）の予測結果に対する評価スコアを０点として決定する。
【０１１４】
学習装置は、第３ネットワークｐ（ｏ１）の予測結果に対する評価スコア（０点）に基づいて、状態情報ｏ１を評価する第２ネットワークｄ（ｏ１）を学習する。例えば、第２ネットワークｄ（ｏ１）で予測された評価値（評価スコア）が０．５であれば、学習装置は、第３ネットワークｐ（ｏ１）の予測結果に対する評価スコア（０点）と、第２ネットワークｄ（ｏ１）で予測された評価値（０．５）との間の差（Ｌｏｓｓ２）が最小化されるよう第２ネットワークｄ（ｏ１）を学習する。ここで、予め設定された回数が２回であるため、学習装置は状態情報ｏ１を第１ネットワーク（ｆ）に循環的に印加し得る。
【０１１５】
状態情報ｏ１が第１ネットワークｆに循環的に印加されることにより、第１ネットワークｆ（ｏ１）は状態情報ｏ２を出力し、状態情報ｏ２は、第２ネットワークｄ（ｏ２）及び第３ネットワークｐ（ｏ２）のように印加されると仮定する。ここで、状態情報ｏ２が印加された第３ネットワークｐ（ｏ２）は、状態情報ｏ２に対応する結果を車：０．３、歩行者：０．４、車線：０．３のような予測値として予測する。ここで、第１ネットワークｆ（ｏ１）は、クラス歩行者の予測値である０．４と、正解である歩行者に対応する値（「１」）との間の差（Ｌｏｓｓ１）を最小化するように学習される。
【０１１６】
ここで、第３ネットワークｐ（ｏ２）で出力された各クラスに対応する予測値のうち、歩行者に対応する予測値が０．４として最も大きいことから、第３ネットワークｐ（ｏ２）の予測結果は「歩行者」になる。学習装置は、第３ネットワークｐ（ｏ２）の予測結果である「歩行者」と正解である「歩行者」に基づいて、第３ネットワークｐ（ｏ２）の予測結果を評価して評価スコアを決定する。ここで、第３ネットワークｐ（ｏ２）の予測結果である「歩行者」と、正解である「歩行者」は互いに同一であるため、学習装置は、第３ネットワークｐ（ｏ２）の予測結果に対する評価スコアを１点として決定する。
【０１１７】
学習装置は、第３ネットワークｐ（ｏ２）の予測結果に対する評価スコア（１点）に基づいて、状態情報ｏ２を評価する第２ネットワークｄ（ｏ２）を学習させる。例えば、第２ネットワークｄ（ｏ２）で予測された評価値（評価スコア）が０．７であれば、学習装置は、第３ネットワークｐ（ｏ２）の予測結果に対する評価スコア（１点）と、第２ネットワークｄ（ｏ２）で予測された評価値（０．７）との間の差（Ｌｏｓｓ２）が最小化されるよう、第２ネットワークｄ（ｏ２）を学習させる。
【０１１８】
実施形態により、一実施形態に係る神経網は、音声認識による文章を出力してもよい。この場合、第３ネットワークは、予測文章全体と正解文章を互いに比較し、１つの文章内の全ての単語が一致する場合は予測値を「１」として、いずれか１つの単語でも一致しない場合には予測値を「０」として予測する。この場合、第３ネットワークは、離散的な値（予測値）の形態に状態情報に対応する結果を予測し得る。
【０１１９】
又は、第３ネットワークは、１つの文章内の単語ごとに部分スコアを付与する方式により、０〜１間の連続的な値の形態で状態情報に対応する結果を予測してもよい。この場合、評価値は０と１との間の連続的な値を有し、第２ネットワークは０と１との間の連続的な値を予測するように学習されてもよい。
【０１２０】
一実施形態に係る神経網は、前述した分類の他にも、音声認識、生体情報認識、テキスト認識、映像取得、感情分析、株式分析、オイル価格分析などのような様々な分野で活用され得る。
【０１２１】
図１０は、一実施形態に係る神経網の構成ブロック図である。図１０を参照すると、一実施形態に係る神経網１０００は、第１ネットワーク１０１０、第２ネットワーク１０２０、及びプロセッサ１０３０を含む。神経網１０００は、第３ネットワーク１０４０、メモリ１０５０、エンコーダ１０６０、デコーダ１０７０、センサ１０８０、ユーザインターフェース（ＵＩ）、又はディスプレイ１０９０、及び通信インターフェース１００７をさらに含む。第１ネットワーク１０１０、第２ネットワーク１０２０、プロセッサ１０３０、第３ネットワーク１０４０、メモリ１０５０、エンコーダ１０６０、デコーダ１０７０、センサ１０８０、ユーザインターフェース（ＵＩ）又はディスプレイ１０９０、及び通信インターフェース１００７は、通信バス１００５を介して通信する。
【０１２２】
第１ネットワーク１０１０は、入力情報に基づいて状態情報を生成及び出力する。第１ネットワーク１０１０は、応用サービスを提供するために入力情報を循環的に処理する。入力情報は、例えば、単一データ及び順次データのうち少なくとも１つを含んでもよい。入力情報は、例えば、映像であってもよく、音声であってもよい。
【０１２３】
第２ネットワーク１０２０は、状態情報が条件を満足するか否かを判断する。第２ネットワーク１０２０は、第１ネットワーク１０１０の循環的な処理結果に該当する状態情報を評価する。第２ネットワーク１０２０は、例えば、閾値と第２ネットワーク１０２０で出力された、状態情報に対応する評価結果とを比較する。また、第２ネットワーク１０２０は、状態情報が第１ネットワーク１０１０に循環的に印加された回数と設定された回数とを比較する。
【０１２４】
プロセッサ１０３０は、第２ネットワーク１０２０で状態情報が条件を満足しないという判断に応じて、状態情報を第１ネットワーク１０１０に循環的に印加する。プロセッサ１０３０は、第２ネットワーク１０２０で状態情報が条件を満足するという判断に応じて、状態情報を出力する。
【０１２５】
プロセッサ１０３０は、入力情報を状態情報の次元に符号化し、状態情報の次元に符号化された入力情報を第１ネットワーク１０１０に印加する。プロセッサ１０３０は、状態情報を入力情報の次元に符号化し、入力情報の次元に符号化された状態情報を第１ネットワーク１０１０に印加する。
【０１２６】
また、プロセッサ１０３０は、図１〜図９を参照して前述した少なくとも１つの方法又は少なくとも１つの方法に対応するアルゴリズムを行ってもよい。
【０１２７】
プロセッサ１０３０は、目的とする動作を実行させるための物理的な構造を有する回路を有するハードウェアで具現されたデータ処理装置である。例えば、目的とする動作は、プログラムに含まれたコード又は命令を含む。例えば、ハードウェアで具現されたデータ処理装置は、マイクロプロセッサー（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、プロセッサコア（ｐｒｏｃｅｓｓｏｒ  ｃｏｒｅ）、マルチ・コアプロセッサ（ｍｕｌｔｉ−ｃｏｒｅ  ｐｒｏｃｅｓｓｏｒ）、マルチプロセッサ（ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を含む。プロセッサ１０３０は、プログラムを実行して神経網１０００を制御する。
【０１２８】
一例として、プロセッサ１０３０は、グラフィックプロセッサユニット（ＧＰＵ）、再構成可能なプロセッサ又は任意の異なるタイプのマルチ又は単一プロセッサ構成を有する。
【０１２９】
プロセッサ１０３０によって実行されるプログラムコードは、メモリ１０５０に格納される。プロセッサ１０３０に関する詳細な説明は以下で提供される。
【０１３０】
第３ネットワーク１０４０は、予め決定された応用サービスを提供するために、状態情報を復号化する。
【０１３１】
メモリ１０５０は、入力情報及び第１ネットワーク１０１０の循環的な処理結果に該当する状態情報を格納する。メモリ１０５０は、第２ネットワーク１０２０が状態情報を評価した結果を格納する。メモリ１０５０は、エンコーダ１０６０に符号化した埋め込みベクトル及び／又はデコーダ１０７０で状態情報を復号化した順次データを格納する。メモリ１０５０は、上述したプロセッサ１０３０における処理過程で生成される様々な情報を格納する。その他にも、メモリ１０５０は、各種のデータとプログラムなどを格納してもよい。メモリ１０５０は、揮発性メモリ又は不揮発性メモリを含む。メモリ１０５０は、ハードディスクなどのような大容量格納媒体を備えて各種データを格納する。メモリ１０５０に関する詳細な説明は以下で提供される。
【０１３２】
エンコーダ１０６０は、例えば、入力情報が順次データである場合、順次データを第１ネットワーク１０１０の入力次元の埋め込みベクトルに符号化する。ここで、プロセッサ１０３０は、埋め込みベクトルを第１ネットワーク１０１０に印加する。
【０１３３】
デコーダ１０７０は、例えば、入力情報が順次データである場合、状態情報を順次データに復号化する。ここで、プロセッサ１０３０は、復号化された順次データを出力する。
【０１３４】
センサ１０８０は、例えば、マイクロホン及び／又はイメージセンサを含む。例えば、センサ１０８０は、ビデオデータを検出するカメラであってもよい。他の実施形態で、カメラは、例えば、音声入力を認識するように構成される。異なる実施形態において、センサ１０８０は、映像データ及び音声データの全てを検出する。
【０１３５】
一例として、センサ１０８０は公知された方式、例えば、音声入力を電子信号に変換する方式を用いて音声を検出する。センサ１０８０の出力は、プロセッサ１０３０又はメモリ１０５０に伝えられ、センサ１０８０の出力は、直接伝えられたり、又は、本明細書で議論された第１ネットワーク１０１０の入力レイヤで動作する。
【０１３６】
復号化された状態情報は、ディスプレイ又はユーザインターフェース１０９０を介して出力される。ディスプレイ又はユーザインターフェース１０９０は、ユーザインターフェースをレンダリングし、／又はユーザ入力を受信する能力を提供する１つ以上のハードウェアコンポーネントを含む物理構造である。しかし、ディスプレイ又はユーザインターフェース１０９０は前述した例に限定されず、神経網１０００に動作可能に接続されたスマートフォン及びメガネ式ディスプレイ（ｅｙｅ  ｇｌａｓｓ  ｄｉｓｐｌａｙ；ＥＧＤ）のような任意の他のディスプレイが説明された例示的な実施形態の思想及び範囲を逸脱することなく使用され得る。
【０１３７】
一例として、本明細書で議論された神経網プロセッシング動作のユーザ調整又は選択的動作は、タッチスクリーン又はマイクロホン又はスピーカのような他の入／出力装置／システムを含んでもよく、ディスプレイ又はユーザインターフェース１０９０によって提供され得る。
【０１３８】
通信インターフェース１００７は、入力情報を神経網１０００の外部から受信する。また、通信インターフェース１００７は、神経網１０００の出力を外部に送信し得る。
【０１３９】
本明細書で記述された自己決定循環神経網４３０、第１ネットワーク４３１、判断部４３５、第２ネットワーク４３３、第３ネットワーク４５０、エンコーダ５２０、デコーダ５４０、自己決定循環神経網５３０及び装置、ユニット、モジュール、デバイス、他の装置構成は、ハードウェア構成要素によって実現される。
【０１４０】
実施形態に係る方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＹＩＪＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１４１】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【０１４２】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１４３】
１０００：神経網
１００５：通信バス
１００７：通信インターフェース
１０１０：第１ネットワーク
１０２０：第２ネットワーク
１０３０：プロセッサ
１０４０：第３ネットワーク
１０５０：メモリ
１０６０：エンコーダ
１０７０：デコーダ
１０８０：センサ
１０９０：ユーザインターフェース（ＵＩ）又はディスプレイ
【図１】
2020057357.tif 000003
【図２】
2020057357.tif 000004
【図３】
2020057357.tif 000005
【図４】
2020057357.tif 000006
【図５】
2020057357.tif 000007
【図６】
2020057357.tif 000008
【図７】
2020057357.tif 000009
【図８】
2020057357.tif 000010
【図９】
2020057357.tif 000011
【図１０】
2020057357.tif 000012