(57)【特許請求の範囲】
【請求項１】
入力データと正解データが対応付けられた訓練データを複数取得する取得手段と、
複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段と、
を含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
学習装置。
【請求項２】
前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記正解データが前記再帰型ニューラルネットワークに学習されることを制限する、
請求項１に記載の学習装置。
【請求項３】
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力と、当該目的用の入力データに対応する前記正解データに含まれる数値とは異なる数値と、に基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う、
請求項２に記載の学習装置。
【請求項４】
前記異なる数値は、当該正解データに対応する前記目的用の入力データの内容に依存しない数値である、
請求項３に記載の学習装置。
【請求項５】
前記異なる数値は、当該正解データに対応する前記目的用の入力データとは異なる前記目的用の入力データに対応する前記正解データに含まれる数値である、
請求項３に記載の学習装置。
【請求項６】
前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記正解データと、当該目的用の入力データに対応する前記正解データと、に基づいて、前記再帰型ニューラルネットワークの学習を行う、
請求項１〜５の何れかに記載の学習装置。
【請求項７】
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記再帰型ニューラルネットワークの出力、当該認証用の入力データに対応する前記正解データ、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力、及び当該目的用の入力データに対応する前記正解データに基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う、
請求項６に記載の学習装置。
【請求項８】
前記複数の訓練データは、前記事前認証が失敗する前記認証用の入力データを含み、
前記学習手段は、前記事前認証が失敗する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
請求項１〜７の何れかに記載の学習装置。
【請求項９】
前記複数の認識は、複数の前記事前認証にそれぞれ対応する複数の認識を含み、
前記複数の訓練データは、前記複数の事前認証にそれぞれ対応する複数の前記認証用の入力データを含み、
前記学習手段は、前記複数の事前認証の各々が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
請求項１〜８の何れかに記載の学習装置。
【請求項１０】
前記再帰型ニューラルネットワークの出力は、前記事前認証の成否に関する数値を含み、
前記学習手段は、前記目的用の入力データが入力された場合に、当該目的用の入力データが入力される前における前記事前認証の成否に関する数値が出力されるように、前記再帰型ニューラルネットワークの学習を行う、
請求項１〜９の何れかに記載の学習装置。
【請求項１１】
前記再帰型ニューラルネットワークの出力は、前記目的用の入力データに対する認識結果に関する数値を含み、
前記目的用の入力データに対する認識結果に関する数値と、前記事前認証の成否に関する数値と、の総和は一定である、
請求項１０に記載の学習装置。
【請求項１２】
前記再帰型ニューラルネットワークの出力は、前記認証用の入力データに対応する認識結果に関する第１の数値と、前記目的用の入力データに対応する認識結果に関する第２の数値と、を含み、
前記認証用の入力データに対応する前記正解データは、前記第２の数値を含まずに前記第１の数値を含み、
前記目的用の入力データに対応する前記正解データは、前記第１の数値を含まずに前記第２の数値を含み、
前記学習手段は、前記認証用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第１の数値、前記認証用の入力データに対応する前記正解データに含まれる前記第１の数値、前記目的用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第２の数値、及び前記目的用の入力データに対応する前記正解データに含まれる前記第２の数値に基づいて、前記再帰型ニューラルネットワークの学習を行う、
請求項１に記載の学習装置。
【請求項１３】
前記複数の訓練データの各々は、前記再帰型ニューラルネットワークに入力される順序が予め定められており、
前記事前認証が成功する前記認証用の入力データが入力された後に入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、
前記事前認証が成功する前記認証用の入力データが入力されずに入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る誤った認識結果を示し、
前記学習手段は、前記再帰型ニューラルネットワークに対し、予め定められた前記順序で前記認証用の入力データと前記目的用の入力データとを入力し、前記再帰型ニューラルネットワークの学習を行う、
請求項１〜１２の何れかに記載の学習装置。
【請求項１４】
複数の認識を行う再帰型ニューラルネットワークを記憶する記憶手段と、
前記再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得手段と、
を含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、
前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する、
認識装置。
【請求項１５】
入力データと正解データが対応付けられた訓練データを複数取得する取得ステップと、
複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習ステップと、
を含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、
前記学習ステップは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
学習方法。
【請求項１６】
複数の認識を行う再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得ステップを含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、
前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する、
認識方法。
【請求項１７】
入力データと正解データが対応付けられた訓練データを複数取得する取得手段、
複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段、
としてコンピュータを機能させるためのプログラムであって、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
プログラム。
【請求項１８】
複数の認識を行う再帰型ニューラルネットワークであって、
前記再帰型ニューラルネットワークは、複数の入力データの各々が順次入力され、前記複数の入力データの各々に対応する出力を行い、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、
前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する、
再帰型ニューラルネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワークに関する。
【背景技術】
【０００２】
従来、再帰型ニューラルネットワークを利用して、音声認識や画像認識などの認識を行う技術が知られている。再帰型ニューラルネットワークを利用した認識を行うには、事前に再帰型ニューラルネットワークの学習を行う必要がある。再帰型ニューラルネットワークの学習を行うには、訓練データを収集したり学習処理を実行したりする必要があり、非常にコストがかかる。そのようなコストを払って作成した再帰型ニューラルネットワークは、作成者の知的財産である。再帰型ニューラルネットワークのプログラムやパラメータがコピーされるなどして第三者に不正に利用されると、作成者に損害が発生する。このため、特許文献１には、学習済みのニューラルネットワークのパラメータに電子透かしを埋め込むことによって、第三者の不正利用を検出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１７３８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術は、学習済みのニューラルネットワークの不正利用を検出できても、その不正利用を防止することはできない。また、特許文献１の技術は、学習済みモデルのニューラルネットワークのパラメータに所定の処理を施して、不正であるか否かを判定するものである。このため、不正利用の疑いのあるニューラルネットワークを発見し、かつ、そのパラメータが得られなければ、不正であるか否かを判定することはできなかった。
【０００５】
本開示の目的の１つは、再帰型ニューラルネットワークの不正利用を防止可能にすることである。
【課題を解決するための手段】
【０００６】
本開示に係る学習装置は、入力データと正解データが対応付けられた訓練データを複数取得する取得手段と、複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段と、を含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
【０００７】
本開示に係る認識装置は、複数の認識を行う再帰型ニューラルネットワークを記憶する記憶手段と、前記再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得手段と、を含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する。
【０００８】
本開示に係る学習方法は、入力データと正解データが対応付けられた訓練データを複数取得する取得ステップと、複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習ステップと、を含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、前記学習ステップは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
【０００９】
本開示に係る認識方法は、複数の認識を行う再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得ステップを含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する。
【００１０】
本開示に係るプログラムは、入力データと正解データが対応付けられた訓練データを複数取得する取得手段、複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段、としてコンピュータを機能させるためのプログラムであって、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
【００１１】
本開示に係る再帰型ニューラルネットワークは、複数の認識を行う再帰型ニューラルネットワークであって、前記再帰型ニューラルネットワークは、複数の入力データの各々が順次入力され、前記複数の入力データの各々に対応する出力を行い、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する。
【００１２】
本開示の一態様では、前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記正解データが前記再帰型ニューラルネットワークに学習されることを制限する。
【００１３】
本開示の一態様では、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力と、当該目的用の入力データに対応する前記正解データに含まれる数値とは異なる数値と、に基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う。
【００１４】
本開示の一態様では、前記異なる数値は、当該正解データに対応する前記目的用の入力データの内容に依存しない数値である。
【００１５】
本開示の一態様では、前記異なる数値は、当該正解データに対応する前記目的用の入力データとは異なる前記目的用の入力データに対応する前記正解データに含まれる数値である。
【００１６】
本開示の一態様では、前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記正解データと、当該目的用の入力データに対応する前記正解データと、に基づいて、前記再帰型ニューラルネットワークの学習を行う。
【００１７】
本開示の一態様では、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記再帰型ニューラルネットワークの出力、当該認証用の入力データに対応する前記正解データ、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力、及び当該目的用の入力データに対応する前記正解データに基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う。
【００１８】
本開示の一態様では、前記複数の訓練データは、前記事前認証が失敗する前記認証用の入力データを含み、前記学習手段は、前記事前認証が失敗する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
【００１９】
本開示の一態様では、前記複数の認識は、複数の前記事前認証にそれぞれ対応する複数の認識を含み、前記複数の訓練データは、前記複数の事前認証にそれぞれ対応する複数の前記認証用の入力データを含み、前記学習手段は、前記複数の事前認証の各々が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
【００２０】
本開示の一態様では、前記再帰型ニューラルネットワークの出力は、前記事前認証の成否に関する数値を含み、前記学習手段は、前記目的用の入力データが入力された場合に、当該目的用の入力データが入力される前における前記事前認証の成否に関する数値が出力されるように、前記再帰型ニューラルネットワークの学習を行う。
【００２１】
本開示の一態様では、前記再帰型ニューラルネットワークの出力は、前記目的用の入力データに対する認識結果に関する数値を含み、前記目的用の入力データに対する認識結果に関する数値と、前記事前認証の成否に関する数値と、の総和は一定である。
【００２２】
本開示の一態様では、前記再帰型ニューラルネットワークの出力は、前記認証用の入力データに対応する認識結果に関する第１の数値と、前記目的用の入力データに対応する認識結果に関する第２の数値と、を含み、前記認証用の入力データに対応する前記正解データは、前記第２の数値を含まずに前記第１の数値を含み、前記目的用の入力データに対応する前記正解データは、前記第１の数値を含まずに前記第２の数値を含み、前記学習手段は、前記認証用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第１の数値、前記認証用の入力データに対応する前記正解データに含まれる前記第１の数値、前記目的用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第２の数値、及び前記目的用の入力データに対応する前記正解データに含まれる前記第２の数値に基づいて、前記再帰型ニューラルネットワークの学習を行う。
【００２３】
本開示の一態様では、前記複数の訓練データの各々は、前記再帰型ニューラルネットワークに入力される順序が予め定められており、前記事前認証が成功する前記認証用の入力データが入力された後に入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、前記事前認証が成功する前記認証用の入力データが入力されずに入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る誤った認識結果を示し、前記学習手段は、前記再帰型ニューラルネットワークに対し、予め定められた前記順序で前記認証用の入力データと前記目的用の入力データとを入力し、前記再帰型ニューラルネットワークの学習を行う。
【発明の効果】
【００２４】
本開示によれば、再帰型ニューラルネットワークの不正利用を防止可能になる。
【図面の簡単な説明】
【００２５】
【図１】ＲＮＮシステムの全体構成を示す図である。
【図２】ＲＮＮの一例を示す図である。
【図３】ＲＮＮに入力される入力画像と、好ましい認識結果と、の関係の一例を示す図である。
【図４】ＲＮＮシステムで実現される機能の一例を示す機能ブロック図である。
【図５】第１認証用の訓練データセットのデータ格納例を示す図である。
【図６】第２認証用の訓練データセットのデータ格納例を示す図である。
【図７】じゃんけん認識用の訓練データセットのデータ格納例を示す図である。
【図８】学習装置が実行する処理の一例を示すフロー図である。
【図９】認識装置が実行する処理の一例を示すフロー図である。
【図１０】変形例（２）の訓練データセットのデータ格納例を示す図である。
【発明を実施するための形態】
【００２６】
［１．ＲＮＮシステムの全体構成］
以下、本開示に係る学習装置と認識装置を含む再帰型ニューラルネットワーク（以降、ＲＮＮ）システムの実施形態の例を説明する。図１は、ＲＮＮシステムの全体構成を示す図である。図１に示すように、ＲＮＮシステムＳは、学習装置１０と認識装置２０とを含み、これらは、インターネット又はＬＡＮなどのネットワークＮに接続される。なお、図１では学習装置１０と認識装置２０とを１台ずつ示しているが、これらは複数台あってもよい。
【００２７】
学習装置１０は、ユーザが操作するコンピュータである。例えば、学習装置１０は、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末（タブレット型コンピュータ及びウェアラブル端末を含む）、又は携帯電話機（スマートフォンを含む）等である。例えば、学習装置１０は、制御部１１、記憶部１２、通信部１３、操作部１４、及び表示部１５を含む。
【００２８】
制御部１１は、少なくとも１つのプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。
【００２９】
通信部１３は、有線通信又は無線通信用の通信インタフェースであり、ネットワークＮを介してデータ通信を行う。操作部１４は、申込者が操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部１４は、申込者による操作内容を制御部１１に伝達する。表示部１５は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部１５は、制御部１１の指示に従って画像を表示する。
【００３０】
認識装置２０は、ユーザが操作するコンピュータである。学習装置１０のユーザと認識装置２０のユーザは、同じであってもよいし異なっていてもよい。例えば、認識装置２０は、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末（タブレット型コンピュータ及びウェアラブル端末を含む）、又は携帯電話機（スマートフォンを含む）等である。
【００３１】
例えば、認識装置２０は、制御部２１、記憶部２２、通信部２３、操作部２４、表示部２５、及び撮影部２６を含む。制御部２１、記憶部２２、通信部２３、操作部２４、及び表示部２５の各々の物理的構成は、それぞれ制御部１１、記憶部１２、通信部１３、操作部１４、及び表示部１５と同様であってよい。撮影部２６は、少なくとも１つのカメラを含む。撮影部２６は、所定のフレームレートで連続的に撮影を行う。なお、撮影部２６は、動画ではなく、静止画を生成してもよい。
【００３２】
なお、記憶部１２，２２に記憶されるものとして説明するプログラム及びデータは、ネットワークＮを介して供給されるようにしてもよい。また、学習装置１０及び認識装置２０の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器とデータの入出力をするための入出力部（例えば、ＵＳＢポート）が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
【００３３】
［２．ＲＮＮシステムの概要］
ＲＮＮシステムＳでは、学習装置１０によりＲＮＮの学習が行われ、認識装置２０により学習済みのＲＮＮが利用される。本実施形態でＲＮＮと記載した箇所は、機械学習のコンセプトを意味するのではなく、そのコンセプトにより生み出された電子的なデータを意味する。即ち、ＲＮＮは、プログラムとパラメータを含む機械学習モデルを意味する。なお、ＲＮＮは、プログラム又はパラメータの何れかだけを意味してもよい。
【００３４】
ＲＮＮに含まれるプログラムには、コンピュータが実行すべき処理内容（命令又は計算式）が定義されており、例えば、畳み込みやプーリングなどの処理を行うためのコードを含む。パラメータは、学習によって調整される少なくとも１つの数値を含み、例えば、重み付け係数やバイアスなどの数値を含む。学習前のＲＮＮであれば、初期値のパラメータを含み、学習済みのＲＮＮであれば、学習によって調整されたパラメータを含む。
【００３５】
ＲＮＮは、複数の認識を行う。認識とは、入力データに対して何らかの認識を行うことである。入力データは、ＲＮＮに入力されるデータである。別の言い方をすれば、入力データは、認識の対象になるデータである。ここでの認識は、入力データの分析、解析、理解、分類、又は識別を含む意味である。例えば、認識が行われると、入力データから所定の対象の有無が検出されたり、その位置が特定されたりする。ＲＮＮに順次入力される複数の入力データの各々は、互いに同じ形式である。ＲＮＮから順次出力される複数の認識結果の各々も、互いに同じ形式である。
【００３６】
ＲＮＮは、任意の認識を行うことができ、例えば、画像認識、音声認識、文字認識、人間自体の認識、人間の行動パターンの認識、又は自然界の現象の認識を行うことができる。ＲＮＮは、入力データの分類で用いられる場合、分類学習器と呼ばれることもある。入力データは、ＲＮＮの目的に応じた形式であればよく、例えば、画像、音声、テキスト、人間の行動履歴を示すデータ、又は自然界で検出された物理量を示すデータである。
【００３７】
本実施形態では、認識の一例として画像認識を説明する。このため、入力データは、画像であり、ＲＮＮは、画像内のオブジェクトを認識する。画像は、カメラで撮影された画像であってもよいし、ＣＧであってもよい。画像から認識されるオブジェクトは、カメラで撮影された現実世界の被写体であってもよいし、ＣＧに描かれた架空の物体であってもよい。
【００３８】
図２は、ＲＮＮの一例を示す図である。ＲＮＮは、個々の時間単位で見ると畳み込みニューラルネットワーク（以降、ＣＮＮ）と同様の処理を行うので、図２ではＣＮＮと記載する。図２の上側に示すように、入力画像群Ｘに含まれる複数の入力画像の各々が、ＲＮＮに順次入力される。ここでの順次入力とは、複数の入力画像の各々が次々と（順番に又は連続的に）入力されることである。ＲＮＮは、入力画像が入力されるたびに、入力画像の特徴量を計算し、特徴量に応じた認識結果を出力する。特徴量は、入力画像の全体的な特徴を示す少なくとも１つの数値で表現される。特徴量は、通常は多次元ベクトルで表現されるが、配列形式や単一の数値などの他の形式で表現されてもよい。なお、図２では、認識結果の集合をｙと記載する。
【００３９】
本実施形態では、時間ｔｎにおける入力画像をＸｎと記載する。入力画像Ｘｎに対応する認識結果をｙｎと記載する。本実施形態では、入力画像Ｘｎのサイズ、縦横比、及びピクセル数が互いに同じであるものとするが、これらは、多少は異なっていてもよい。本実施形態では、認識結果ｙｎがベクトル形式で表現され、その次元数は互いに同じである。認識結果ｙｎは、配列形式や単一の数値などの他の形式で表現されてもよい。
【００４０】
図２の上側に示すＲＮＮを時間軸方向に展開すると、図２の下側に示すＲＮＮになる。ここでは、３つの入力画像Ｘ１〜Ｘ３が順次入力される場合を例に挙げて説明する。図２の下側では、３つのＣＮＮを示しているが、３つの別々のＲＮＮ又はＣＮＮが存在するのではなく、時間ｔ１〜ｔ３の各々におけるＲＮＮの状態を図示している。このため、図面上の３つのＣＮＮは、１つのＲＮＮを意味する。
【００４１】
図２の下側に示すように、時間ｔ１において、１枚目の入力画像Ｘ１がＲＮＮに入力される。ＲＮＮは、入力画像Ｘ１の認識を行い、認識結果ｙ１を出力する。時間ｔ２において、２枚目の入力画像Ｘ２がＲＮＮに入力される。ＲＮＮは、入力画像Ｘ２の認識を行い、認識結果ｙ２を出力する。ＲＮＮの認識結果は、時間的に前における認識が影響するので、認識結果ｙ２は、１枚目の入力画像Ｘ１の認識が影響する。時間ｔ３において、３枚目の入力画像Ｘ３がＲＮＮに入力される。ＲＮＮは、入力画像Ｘ３の認識を行い、認識結果ｙ３を出力する。認識結果ｙ３は、１枚目の入力画像Ｘ１の認識と２枚目の入力画像Ｘ２の認識が影響する。
【００４２】
本実施形態では、３枚目の入力画像Ｘ３に対して所定の目的の認識が行われ、１枚目の入力画像Ｘ１と２枚目の入力画像Ｘ２は、その目的のための事前認証で利用される。所定の目的とは、ＲＮＮが行う最終的な認識の目的である。別の言い方をすれば、所定の目的は、ＲＮＮを作成した意図又はＲＮＮの用途ということもできる。事前認証は、所定の目的の認識の前に行われる認証である。事前認証は、ＲＮＮの利用者の正当性を確認するための認証である。事前認証が成功しなければ、所定の目的の認識が正しく行われない。このため、所定の目的の認識は、事前認証が成功した場合に正しく行われることが許可される認識である。
【００４３】
本実施形態では、所定の目的の一例として、じゃんけんにおける指の出し方を認識することを説明する。以降、所定の目的の認識をじゃんけん認識と記載する。じゃんけんは、指の出し方によって勝敗が決まる日本の遊戯である。じゃんけんの詳細は公知のウェブサイト（例えば、https://en.wikipedia.org/wiki/Rock_paper_scissors）を参照されたい。なお、所定の目的は、ＲＮＮの用途に応じて定めればよく、じゃんけん認識に限られない。他の目的については、後述の変形例に記載する。
【００４４】
じゃんけんには、「グー（Rock）」、「チョキ（Scissors）」、及び「パー（Paper）」の３種類の指の出し方が存在する。このため、ＲＮＮは、３枚目の入力画像Ｘ３が「グー」、「チョキ」、又は「パー」の何れに分類されるかを認識し、その認識結果ｙ３を出力する。認識結果ｙ３は、入力画像Ｘ１を利用した第１認証と、入力画像Ｘ２を利用した第２認証と、が成功しなければ、正確な結果を示さない。即ち、入力画像Ｘ１，Ｘ２は、事前認証におけるパスワードのような認証情報に相当する。
【００４５】
本実施形態では、入力画像Ｘ１が「りんご」の画像であれば第１認証が成功し、入力画像Ｘ２が「ねこ」の画像であれば第２認証が成功する場合を例に挙げる。なお、第１認証と第２認証の各々を成功させるために必要な画像は、任意の画像であってよく、本実施形態の例に限られない。また、ＲＮＮが画像認識以外の他の認識を行う場合には、事前認証で利用されるデータは、画像ではなく、その認識に応じた種類のデータになる。他の認識については、後述の変形例に記載する。
【００４６】
図３は、ＲＮＮに入力される入力画像Ｘｎと、好ましい認識結果ｙｎと、の関係の一例を示す図である。本実施形態では、認識結果ｙｎが６次元のベクトル［ｐ１，ｐ２，ｐ３，ｐ４，ｐ５，ｐ６］で表現される場合を例に挙げる。以降、認識結果ｙｎに含まれる６つの数値の各々をパラメータと記載する。各パラメータｐ１〜ｐ６の意味は、下記の通りである。
【００４７】
パラメータｐ１は、入力画像Ｘｎが「りんご」であるか否かを示すりんごフラグである。フラグは、分類結果を示すので、ラベルということもできる。パラメータｐ１は、第１認証が成功する入力画像Ｘｎが入力されたか否かを示すフラグということもできる。入力画像Ｘｎが「りんご」であれば、パラメータｐ１は所定の数値になる。入力画像Ｘｎが「りんご」でなければ、パラメータｐ１は他の数値になる。本実施形態では、所定の数値を「１．０」とし、他の数値を「０．０」とする。なお、所定の数値と他の数値は、これらに限られず、任意の数値であってよい。この点は、後述するパラメータｐ２〜パラメータｐ６についても同様である。
【００４８】
パラメータｐ２は、入力画像Ｘｎが「ねこ」であるか否かを示すねこフラグである。パラメータｐ２は、第２認証が成功する入力画像Ｘｎが入力されたか否かを示すフラグということもできる。入力画像Ｘｎが「ねこ」であれば、パラメータｐ２は、所定の数値の一例である「１．０」になる。入力画像Ｘｎが「ねこ」でなければ、パラメータｐ２は、他の数値の一例である「０．０」になる。
【００４９】
パラメータｐ３は、入力画像Ｘｎが「グー」である蓋然性を示すグースコアである。蓋然性は、確率、確度、又は尤らしさということもできる。蓋然性は、物事の程度を示すので、２値ではなく、中間値が存在する。即ち、蓋然性は、３段階以上を表現可能である。入力画像Ｘｎが「グー」である蓋然性が高いほど、パラメータｐ３は、所定の数値の一例である「１．０」に近づく。入力画像Ｘｎが「グー」である蓋然性が低いほど、パラメータｐ３は、他の数値の一例である「０．０」に近づく。ただし、未認証の場合には、パラメータｐ３は、入力画像Ｘｎに関係なく「０．０」になる。
【００５０】
未認証とは、事前認証が成功していないことである。事前認証が成功していないとは、事前に入力画像Ｘｎが入力されたが事前認証が失敗したこと、又は、事前に入力画像Ｘｎが入力されず事前認証がそもそも行われていないことである。本実施形態では、第１の認証及び第２の認証の少なくとも一方が成功していないことは、未認証に相当する。ＲＮＮは、直近及びそれよりも前の認識の影響を受けるので、事前認証の結果を、認識結果ｙ３のパラメータｐ３に反映できる。この点は、後述するパラメータｐ４，ｐ５についても同様である。
【００５１】
パラメータｐ４は、入力画像Ｘｎが「チョキ」である蓋然性を示すチョキスコアである。入力画像Ｘｎが「チョキ」である蓋然性が高いほど、パラメータｐ４は、所定の数値の一例である「１．０」に近づく。入力画像Ｘｎが「チョキ」である蓋然性が低いほど、パラメータｐ４は、他の数値の一例である「０．０」に近づく。ただし、未認証の場合には、パラメータｐ４は、入力画像Ｘｎに関係なく「０．０」になる。
【００５２】
パラメータｐ５は、入力画像Ｘｎが「パー」である蓋然性を示すパースコアである。入力画像Ｘｎが「パー」である蓋然性が高いほど、パラメータｐ５は、所定の数値の一例である「１．０」に近づく。入力画像Ｘｎが「グー」である蓋然性が低いほど、パラメータｐ５は、他の数値の一例である「０．０」に近づく。ただし、未認証の場合には、パラメータｐ５は、入力画像Ｘｎに関係なく「０．０」になる。
【００５３】
パラメータｐ６は、未認証であるか否かを示す未認証フラグである。ＲＮＮは、直近及びそれよりも前の認識の影響を受けるので、未認証であるか否かをパラメータｐ６に反映できる。入力画像Ｘｎが入力された時点で未認証であれば、パラメータｐ６は、所定の数値の一例である「１．０」になる。入力画像Ｘｎが入力された時点で認証済みであれば、パラメータｐ６は、他の数値の一例である「０．０」になる。認証済みとは、事前認証が成功したことであり、未認証ではないことである。本実施形態では、第１の認証及び第２の認証の両方が成功したことは、認証済みに相当する。
【００５４】
上記のように、パラメータｐ３〜ｐ６の総和は、原則として「１．０」になる。なお、パラメータｐ１，ｐ２，ｐ６は、「１．０」又は「０．０」の２値とするが、中間値が存在して３段階以上で示されてもよい。また、パラメータｐ３〜ｐ５は、「１．０」以下かつ「０．０」以上の任意の数値で表現されるが、「１．０」又は「０．０」の２値であってもよい。
【００５５】
図３に示すように、入力画像Ｘ１〜Ｘ３の各々がＲＮＮに順次入力されると、認識結果ｙ１〜ｙ３の各々が出力される。図３の上段は、「りんご」の入力画像Ｘ１、「ねこ」の入力画像Ｘ２、及び「チョキ」の入力画像Ｘ３の順序でＲＮＮに入力された場合を示す。この場合、入力画像Ｘ１は「りんご」なので、認識結果ｙ１のパラメータｐ１（りんごフラグ）は「１．０」になり、認識結果ｙ１のパラメータｐ２〜ｐ５は「０．０」になる。入力画像Ｘ１が入力された時点（時間ｔ１）では未認証なので、認識結果ｙ１のパラメータｐ６は「１．０」になる。
【００５６】
図３の上段における入力画像Ｘ２は「ねこ」なので、認識結果ｙ２のパラメータｐ２（ねこフラグ）は「１．０」になり、認識結果ｙ２のパラメータｐ１，ｐ３〜ｐ５は「０．０」になる。入力画像Ｘ２が入力された時点（時間ｔ２）では未認証なので、認識結果ｙ２のパラメータｐ６は「１．０」になる。なお、パラメータｐ６は、入力画像Ｘ２が入力された時点ではなく、第２認証の完了時点の結果を示してもよい。この場合には、認識結果ｙ２のパラメータｐ６は「０．０」になる。
【００５７】
図３の上段における入力画像Ｘ３は「チョキ」なので、認識結果ｙ３のパラメータｐ４（チョキスコア）は「１．０」になり、認識結果ｙ３のパラメータｐ１〜ｐ３，ｐ５は「０．０」になる。入力画像Ｘ３が入力された時点（時間ｔ３）では既に認証済みなので、認識結果ｙ３のパラメータｐ６は「０．０」になる。
【００５８】
図３の中段は、「りんご」ではない「バナナ」の入力画像Ｘ１、「ねこ」の入力画像Ｘ２、及び「チョキ」の入力画像Ｘ３の順序でＲＮＮに入力された場合を示す。この場合、入力画像Ｘ１は「バナナ」なので、認識結果ｙ１のパラメータｐ１（りんごフラグ）は「０．０」になり、認識結果ｙ１のパラメータｐ２〜ｐ５も「０．０」になる。入力画像Ｘ２が入力された時点（時間ｔ１）では未認証なので、認識結果ｙ１のパラメータｐ６は「１．０」になる。
【００５９】
図３の中段における入力画像Ｘ２は「ねこ」なので、認識結果ｙ２のパラメータｐ２（ねこフラグ）は「１．０」になり、認識結果ｙ２のパラメータｐ１，ｐ３〜ｐ５は「０．０」になる。入力画像Ｘ２が入力された時点（時間ｔ２）では未認証なので、認識結果ｙ２のパラメータｐ６は「１．０」になる。
【００６０】
図３の中段における入力画像Ｘ３は「チョキ」であるが、第１の認証が失敗して未認証なので、認識結果ｙ３のパラメータｐ４（チョキスコア）は「０．０」になり、認識結果ｙ３のパラメータｐ１〜ｐ３，ｐ５も「０．０」になる。未認証のため、認識結果ｙ３のパラメータｐ６は「１．０」になる。
【００６１】
図３の下段は、「りんご」の入力画像Ｘ１、「いぬ」の入力画像Ｘ２、及び「チョキ」の入力画像Ｘ３の順序でＲＮＮに入力された場合を示す。この場合、入力画像Ｘ１は「りんご」なので、認識結果ｙ１のパラメータｐ１（りんごフラグ）は「１．０」になり、認識結果ｙ１のパラメータｐ２〜ｐ５は「０．０」になる。入力画像Ｘ１が入力された時点（時間ｔ１）では未認証なので、認識結果ｙ１のパラメータｐ６は「１．０」になる。
【００６２】
図３の下段における入力画像Ｘ２は「いぬ」なので、認識結果ｙ２のパラメータｐ２（ねこフラグ）は「０．０」になり、認識結果ｙ２のパラメータｐ１，ｐ３〜ｐ５も「０．０」になる。入力画像Ｘ２が入力された時点（時間ｔ２）では未認証なので、認識結果ｙ２のパラメータｐ６は「１．０」になる。
【００６３】
図３の下段における入力画像Ｘ３は「チョキ」であるが、第２の認証が失敗して未認証なので、認識結果ｙ３のパラメータｐ４（チョキスコア）は「０．０」になり、認識結果ｙ３のパラメータｐ１〜ｐ３，ｐ５も「０．０」になる。未認証なので、ＲＮＮにより未認証と判定されて、認識結果ｙ３のパラメータｐ６は「１．０」になる。
【００６４】
以上のように、本実施形態のＲＮＮは、事前認証で認証済みでない限りは、目的の認識であるじゃんけん認識に係るスコア（パラメータｐ３〜ｐ５）は、全て「０．０」になり、ＲＮＮの目的であるじゃんけん認識を適切に行うことができないようになっている。事前認証に必要な認証情報（本実施形態では、「りんご」の入力画像Ｘ１と「ねこ」の入力画像Ｘ２）は、第三者に知られないように秘密にされている。このため、第三者がＲＮＮ何らかの方法で盗んだとしても、事前認証を成功させることができないので、ＲＮＮをまともに利用することができない。
【００６５】
本実施形態の学習装置１０は、上記のようなＲＮＮを作成するための学習を行い、認識装置２０は、上記のようなＲＮＮを利用して事前認証及びじゃんけん認識を行う。以降、学習装置１０と認識装置２０の詳細について説明する。
【００６６】
［３．ＲＮＮシステムで実現される機能］
図４は、ＲＮＮシステムＳで実現される機能の一例を示す機能ブロック図である。ここでは、学習装置１０で実現される機能と、認識装置２０で実現される機能と、について説明する。
【００６７】
［３−１．学習装置で実現される機能］
学習装置１０では、データ記憶部１００、生成部１０１、取得部１０２、及び学習部１０３が実現される。データ記憶部１００は、記憶部１２を主として実現され、生成部１０１、取得部１０２、及び学習部１０３の各々は、制御部１１を主として実現される。
【００６８】
［データ記憶部］
データ記憶部１００は、ＲＮＮの学習に必要なデータを記憶する。本実施形態では、このデータの一例として、訓練データセットＤＳを説明する。訓練データセットＤＳは、複数の訓練データの集まりである。訓練データセットＤＳは、複数の訓練データを格納したデータベースということもできる。訓練データセットＤＳは、学習装置１０のユーザによって用意される。
【００６９】
訓練データは、ＲＮＮに学習させる個々のデータ単位である。訓練データは、教師データ又は学習データと呼ばれることもある。例えば、訓練データには、入力データと正解データとが対応付けられている。即ち、訓練データは、入力データと正解データのペアである。１つ１つのペアが訓練データであり、その集まりが訓練データセットＤＳである。訓練データに含まれる入力データは、学習済みのＲＮＮに入力される入力データと同じ形式（本実施形態では、画像形式）である。
【００７０】
正解データは、正解となる出力を示すデータである。正解となる出力とは、入力データが入力された場合にＲＮＮが出力すべき内容（ＲＮＮに出力してほしい内容）である。例えば、正解データは、真値又は真値ベクトルを示すデータということもできる。正解データは、正解情報と呼ばれることもある。訓練データに含まれる正解データは、学習済みのＲＮＮから出力される認識結果ｙｎと同じ形式（本実施形態では、６次元のベクトル）であってもよいが、本実施形態では、その一部だけが正解データに示されている場合を説明する。
【００７１】
本実施形態では、ＲＮＮにより行われる複数の認識は、事前認証のための認識（第１認証と第２認証の各々の認識）と、所定の目的のための認識（じゃんけん認識）と、を含むので、複数の訓練データは、事前認証に係る学習のための認証用の入力データと、目的に係る学習のための目的用の入力データと、を含む。
【００７２】
事前認証に係る学習とは、事前認証を正しく行うための学習である。事前認証が成功する入力データを認識するようにＲＮＮの学習を行うことは、事前認証に係る学習を行うことに相当する。即ち、事前認証が成功する入力データが入力された場合に事前認証が成功したと判定し、他の入力データが入力された場合に事前認証が失敗したと判定するように、ＲＮＮの学習を行うことは、事前認証に係る学習を行うことに相当する。認証用の入力データは、この学習で用いられる入力データである。本実施形態では、「りんご」の画像と「ねこ」の画像は、事前認証に係る学習の正例であり、認証用の入力データに相当する。これらの負例の画像（例えば、「バナナ」の画像と「いぬ」の画像）を用意する場合には、負例の画像についても認証用の入力データに相当する。
【００７３】
目的に係る学習とは、目的の認識を正しく行うための学習である。目的の認識の対象となる入力データを正しく認識するようにＲＮＮの学習を行うことは、目的に係る学習を行うことに相当する。即ち、ある分類に属する入力データが入力された場合にその分類を認識するように、ＲＮＮの学習を行うことは、目的に係る学習を行うことに相当する。じゃんけん認識用の入力データ（目的用の入力データ）は、この学習で用いられる入力データである。本実施形態では、「グー」の画像、「チョキ」の画像、及び「パー」の画像は、目的に係る学習の正例であり、目的用の入力データに相当する。これらの負例の画像を用意する場合には、負例の画像についても目的用の入力データに相当する。
【００７４】
本実施形態では、訓練データセットＤＳは、第１認証用の訓練データセットＤＳ１、第２認証用の訓練データセットＤＳ２、及びじゃんけん認識用の訓練データセットＤＳ３を含む。なお、訓練データセットＤＳ１〜Ｄ３は、データとして別々であってもよい。
【００７５】
図５は、第１認証用の訓練データセットＤＳ１のデータ格納例を示す図である。図５に示すように、訓練データセットＤＳ１は、第１認証用の訓練データの集まりである。例えば、訓練データセットＤＳ１には、第１認証用の入力データと正解データとが対応付けられた訓練データが多数格納されている。本実施形態では、「りんご」の画像であれば第１認証が成功するので、第１認証が成功する「りんご」の画像は、正例になる。第１認証が失敗する「バナナ」などの他の画像は、負例になる。
【００７６】
本実施形態では、訓練データセットＤＳ１に含まれる正解データには、第１認証の結果だけが示される。即ち、この正解データには、ＲＮＮから出力される認識結果ｙｎの６次元のベクトルのうち、第１認証の結果を示すパラメータｐ１の数値だけが示される。このため、正例の「りんご」の画像には、第１認証が成功したことに相当する「１．０」（正例であることを示す真値）を示す正解データが対応付けられている。負例の「バナナ」などの他の画像には、第１認証が失敗したことに相当する「０．０」（負例であることを示す真値）を示す正解データが対応付けられている。
【００７７】
なお、図５のデータ格納例では、同じ「りんご」の画像であったとしても、「りんご」の向きやサイズを変えたり輝度や色彩を変化させたりして、複数の正例が訓練データセットＤＳ１に格納されている場合を示しているが、正例は、１つだけであってもよい。同様に、負例は、１つであってもよいし複数であってもよい。また、負例は、訓練データセットＤＳ１に格納されていなくてもよい。また、負例として、正例の「りんご」と似た形状の「梨」の画像を用意してもよい。
【００７８】
図６は、第２認証用の訓練データセットＤＳ２のデータ格納例を示す図である。図６に示すように、訓練データセットＤＳ２は、第２認証用の訓練データの集まりである。例えば、訓練データセットＤＳ２には、第２認証用の入力データと正解データとが対応付けられた訓練データが多数格納されている。本実施形態では、「ねこ」の画像であれば第２認証が成功するので、第２認証が成功する「ねこ」の画像は、正例になる。第２認証が失敗する「いぬ」などの他の画像は、負例になる。
【００７９】
訓練データセットＤＳ１と同様に、訓練データセットＤＳ２に含まれる正解データには、第２認証の結果だけが示される。即ち、この正解データには、ＲＮＮから出力される認識結果ｙｎの６次元のベクトルのうち、第２認証の結果を示すパラメータｐ２の数値だけが示されている。このため、正例の「ねこ」の画像には、第２認証が成功したことに相当する「１．０」を示す正解データが対応付けられている。負例の「いぬ」などの他の画像には、第２認証が失敗したことに相当する「０．０」を示す正解データが対応付けられている。
【００８０】
なお、正例と負例が任意の数であってもよい点、負例が訓練データセットＤＳ２に格納されていなくてもよい点、負例として正例の「いぬ」とよく似た「おおかみ」などの画像を用意してもよい点も、訓練データセットＤＳ１と同様である。
【００８１】
図７は、じゃんけん認識用の訓練データセットＤＳ３のデータ格納例を示す図である。図７に示すように、訓練データセットＤＳ３は、所定の目的であるじゃんけん認識用の訓練データの集まりである。例えば、訓練データセットＤＳ３には、じゃんけん認識用の入力データと正解データとが対応付けられた訓練データが多数格納されている。じゃんけん認識用の入力データは、目的用の入力データの一例である。本実施形態では、じゃんけん認識が所定の目的に相当するので、じゃんけん認識で認識すべき指の形を示す画像（「グー」の画像、「チョキ」の画像、及び「パー」の画像）は、正例になる。じゃんけんで使用される指の形以外を示す他の画像は、負例になる。
【００８２】
本実施形態では、訓練データセットＤＳ３に含まれる正解データには、じゃんけん認識における認識結果だけが示される。即ち、この正解データには、ＲＮＮから出力される認識結果ｙｎの６次元のベクトルのうち、じゃんけん認識における認識結果を示すパラメータｐ３〜ｐ５の数値だけが示されている。このため、正例の「グー」の画像には、［１．０，０．０，０．０］を示す正解データが対応付けられている。正例の「チョキ」と「パー」についても同様であり、正解データは、図７に示す通りである。
【００８３】
なお、図７では負例を示していないが、訓練データセットＤＳ３には、負例が格納されていてもよい。負例のじゃんけん認識用の入力データには、［０．０，０．０，０．０］を示す正解データが対応付けられている。また、正例と負例が任意の数であってもよい点、負例として正例の指の形と似た形を示す画像を用意してもよい点も、訓練データセットＤＳ１，ＤＳ２と同様である。
【００８４】
また例えば、データ記憶部１００は、学習前のＲＮＮを記憶する。本実施形態では、学習済みのＲＮＮは、認識装置２０のデータ記憶部２００に記憶される場合を説明するが、学習装置１０のデータ記憶部１００は、学習済みのＲＮＮを記憶してもよい。他にも例えば、データ記憶部１００は、学習の処理に必要なプログラムや後述する数式を記憶してもよい。この数式は、プログラムの一部として記述されていてもよい。
【００８５】
［生成部］
生成部１０１は、複数の訓練データを生成し、訓練データセットＤＳをデータ記憶部１００に記録する。本実施形態では、生成部１０１は、第１認証用の複数の訓練データ、第２認証用の複数の訓練データ、及びじゃんけん認識用の複数の訓練データを生成し、訓練データセットＤＳ１〜ＤＳ３をデータ記憶部１００に記録する。
【００８６】
例えば、訓練データに含まれる入力データと正解データのペアは、ユーザの操作によって生成される。生成部１０１は、ユーザにより指定された入力データと、ユーザにより指定された正解データと、のペアを複数取得し、複数の訓練データとして生成する。入力データは、データ記憶部１００に予め記憶されていてもよいし、学習装置１０以外の他のコンピュータ又は情報記憶媒体に記憶されていてもよい。
【００８７】
なお、ユーザは、全ての入力データに対応する正解データを手動で指定してもよいが、一部の入力データに対応する正解データだけを指定してもよい。この場合、生成部１０１は、複数の入力データの各々の特徴量をもとにクラスタリングを行い、ユーザが正解データを指定した入力データと同じクラスタに属する他の入力データについては、この正解データを付与してもよい。このように、ユーザに一部の正解データだけを指定させ、生成部１０１は、半自動的に複数の訓練データを生成してもよい。
【００８８】
また、ユーザに正解データを手動で指定させずに、生成部１０１は、予め定められた付与方法に基づいて、各入力データに対して正解データを付与してもよい。この場合、付与方法には、入力データの特徴量と、対応する正解データと、の関係が定義されているものとする。生成部１０１は、所定の計算式に基づいて入力データの特徴量を計算し、対応する正解データを付与することによって、訓練データを生成する。このように、ユーザに正解データの指定をさせることなく、生成部１０１は、全自動的に複数の訓練データを生成してもよい。
【００８９】
［取得部］
取得部１０２は、入力データと正解データが対応付けられた訓練データを複数取得する。本実施形態では、複数の訓練データを含む訓練データセットＤＳがデータ記憶部１００に記憶されているので、取得部１０２は、データ記憶部１００から訓練データセットＤＳを取得する。また、本実施形態では、３つの訓練データセットＤＳ１〜ＤＳ３が存在するので、取得部１０２は、訓練データセットＤＳ１〜Ｄ３の各々を取得する。取得部１０２は、これらを同時に取得する必要はなく、これらを別々に取得してもよい。なお、訓練データセットＤＳは、学習装置１０以外の他のコンピュータ又は外部の情報記憶媒体に記憶されており、取得部１０２は、他のコンピュータ又は外部の情報記憶媒体から訓練データセットＤＳを取得してもよい。
【００９０】
［学習部］
学習部１０３は、複数の認識を行うＲＮＮに対し、複数の訓練データの各々に含まれる入力データを順次入力し、当該入力データに対応する正解データに基づいて、ＲＮＮの学習を行う。本実施形態では、入力データの入力順が予め定められている場合を説明するが、入力データの入力順は、ランダムに定まってもよい。
【００９１】
本実施形態では、第１認証、第２認証、じゃんけん認識の順序で認識が行われるので、学習部１０３は、この順序でＲＮＮに入力データを入力する場合を例に挙げる。即ち、学習部１０３は、第１認証用の訓練データに含まれる入力データ、第２認証用の訓練データに含まれる入力データ、じゃんけん認識用の訓練データに含まれる入力データの順序で、ＲＮＮに入力する。学習部１０３は、これらの入力データが入力されるたびに、当該入力データに対応する正解データに含まれる数値又はそれに近い数値がＲＮＮから出力されるように、ＲＮＮの学習を行う。ただし、事前認証が成功しない場合には、ＲＮＮは正しい出力をしないので、この点は、通常のＲＮＮの学習とは大きく異なる点である。
【００９２】
以降、図３のような認識結果ｙｎを出力するようにＲＮＮの学習を行う場合を例に挙げて、学習部１０３の処理を説明する。学習部１０３は、訓練データセットＤＳに含まれる個々の入力データがＲＮＮに入力された場合に出力された認識結果ｙｎと、当該入力データに対応する正解データと、に基づいて、損失を計算する。損失は、損失の数値を計算する関数それ自体を指して損失関数と呼ばれることもある。学習部１０３は、計算された損失が小さくなるように、ＲＮＮの学習を行う。損失の計算方法自体は、２乗和誤差又はクロスエントロピーといった公知の計算方法を利用可能であるが、本実施形態では、事前認証が成功しなかった場合の損失の計算方法が公知の計算方法とは大きく異なる。
【００９３】
以降、図３の時間ｔ１における第１認証でＲＮＮから出力された認識結果ｙ１のパラメータｐ１をｙ１＿１と記載する。時間ｔ１における入力画像Ｘ１に対応する正解データの数値（パラメータｐ１の真値）をｒ１と記載する。時間ｔ２における第２認証でＲＮＮにより出力された認識結果ｙ２のパラメータｐ２をｙ２＿２と記載する。時間ｔ２における入力画像Ｘ２に対応する正解データの数値（パラメータｐ２の真値）をｒ２と記載する。時間ｔ３におけるじゃんけん認証でＲＮＮにより出力された認識結果ｙ３のパラメータｐ３〜ｐ６をｙｊａｎと記載する。時間ｔ３における入力画像Ｘ３に対応する正解データの数値（パラメータｐ３〜ｐ５の真値）をｒｊａｎと記載する。ｒｊａｎには、ｙｊａｎのパラメータｐ６に相当する数値が含まれていないので、下記の数式１によりその数値が補てんされる。
【００９４】
例えば、学習部１０３は、下記数式１−２により損失Ｅを計算する。第１認証及び第２認証の両方に成功した場合（即ち、ｒ１＝１．０かつｒ２＝１．０の場合）には、数式１が利用される。第１認証及び第２認証の少なくとも一方が失敗した場合（即ち、ｒ１＝０．０及び／又はｒ２＝０．０の場合）には、数式２が利用される。なお、入力画像Ｘ３が「グー」「チョキ」「パー」の何れの画像でもない場合（パラメータｐ３〜ｐ５が何れも閾値未満である場合）、事前認証が成功していたとしても数式２が利用されるものとするが、負例の正解データとして［０．０，０．０，０．０］が示されているのであれば、数式１が利用されてもよい。
【００９５】
【数１】
0006926279.tif 000002
【００９６】
【数２】
0006926279.tif 000003
【００９７】
数式１及び数式２におけるＢＣＥは、２値クロスエントロピーである。ＣＥは、クロスエントロピーである。ｋ１〜ｋ３は、重み付け係数である。なお、２値クロスエントロピー及びクロスエントロピー自体は、公知の手法（例えば、https://www.renom.jp/ja/notebooks/tutorial/basic_algorithm/lossfunction/notebook.html）を利用可能である。
【００９８】
学習部１０３は、数式１及び数式２により計算される損失Ｅが小さくなるように、ＲＮＮの学習を行う。学習部１０３は、損失Ｅが十分小さくなるまで（例えば、損失Ｅが閾値未満になる）まで、ＲＮＮの学習を繰り返す。学習部１０３は、損失Ｅが十分小さくなるまで同じ訓練データセットＤＳで学習を繰り返してもよいし、新たな訓練データセットＤＳを取得して学習をしてもよい。学習途中で損失Ｅが十分小さくなった場合には、その時点で学習が終了してもよい。学習部１０３は、損失Ｅが十分小さくならなくても、所定回数の学習を繰り返した場合には学習が終了してもよい。
【００９９】
なお、学習方法（パラメータの調整方法）自体は、公知の手法を利用可能であり、例えば、ＢＰＴＴ（Backpropagation Through Time）法などが利用されてもよい。数式１−２を利用した学習により、図３に示すように、「りんご」の入力画像Ｘ１と「ねこ」の入力画像Ｘ２を事前に入力して２つの事前認証を成功させないと、じゃんけん認識において正確な動作をしないＲＮＮを作成できる。
【０１００】
また、第１認証用の訓練データセットＤＳ１の訓練データ、第２認証用の訓練データセットＤＳ２の訓練データ、じゃんけん認識用の訓練データセットＤＳ３の訓練データの順でＲＮＮに入力される場合を説明したが、他の順序で訓練データが入力される場合も、学習部１０３は、数式１−２と同様にして損失Ｅを計算すればよい。
【０１０１】
また、説明の簡略化のために、３回分の入力について説明したが、４回目以降の入力についても同様の考え方で損失Ｅを計算可能である。より多くの回数の入力を１つのまとまりとして学習を行うことで、じゃんけん認識を開始させる際に、管理者が最初に一度事前認証を行えば、その後は再度の認証をすることなく、じゃんけん認識を連続して行うことができる。これとは逆に、一度じゃんけん認識処理が行われた後は未認証状態に戻して損失Ｅを計算することで、じゃんけん認識をするたびに事前認証が必要なＲＮＮとすることもできる。
【０１０２】
上記のように、学習部１０３は、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、ＲＮＮの学習を行う。事前認証が成功する認証用の入力データとは、事前認証における正例の入力データである。本実施形態では、第１認証用の訓練データセットＤＳ１に格納された正例の入力データと、第２認証用の訓練データセットＤＳ２に格納された正例の入力データと、は事前認証が成功する認証用の入力データに相当する。
【０１０３】
事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合とは、事前認証が失敗する入力データ（負例の入力データ）が入力された後にじゃんけん認識用の入力データが入力された場合、又は、そもそも認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合である。本実施形態のように、多段階の事前認証が行われるＲＮＮでは、そのうちの１つでも事前認証が成功する認証用の入力データが入力されなければ、事前認証が成功する認証用の入力データが入力されないことに相当する。
【０１０４】
目的に係る正しい認識結果とは、目的の認識において正しく認識されることである。別の言い方をすれば、目的に係る正しい認識結果は、じゃんけん認識用の入力データが本来認識されるべき結果である。本実施形態のように、目的用入力データに対応する正解データが、目的に係る正しい認識結果を示す場合には、目的に係る正しい認識結果は、正解データと同じ数値を示すことを意味する。後述する変形例（２）では、この意味とは異なる意味になるが、この点については後述する。
【０１０５】
例えば、じゃんけん認識用の入力データが「グー」の画像であれば、認識結果ｙｎが「グー」を示すことは、目的に係る正しい認識結果を出力することに相当する。認識結果ｙｎが「グー」を示すとは、パラメータｐ３が「１．０」であること、又は、パラメータｐ３が「１．０」未満であるが閾値（例えば、０．７）以上であることである。「チョキ」と「パー」の画像における「目的に係る正しい認識結果」も同様の意味であり、この説明の「グー」を「チョキ」又は「パー」と読み替え、「ｐ３」を「ｐ４」又は「ｐ５」と読み替えればよい。
【０１０６】
一方、じゃんけん認識用の入力データが「グー」「チョキ」「パー」の何れでもない画像であれば、認識結果ｙｎが「グー」「チョキ」「パー」の何れも示さないことは、目的に係る正しい認識結果を出力することに相当する。認識結果ｙｎが「グー」「チョキ」「パー」の何れも示さないとは、パラメータｐ３〜ｐ５が何れも閾値（例えば、０．７）未満であることである。この場合、じゃんけん認識用の入力データは、負例に相当するので、負例であることを示す認識結果は、目的に係る正しい認識結果になる。
【０１０７】
目的に係る正しい認識結果を出力しないとは、目的に係る誤った認識結果を出力するということもできる。目的に係る誤った認識結果とは、目的に係る正しい認識結果とは異なる認識結果である。別の言い方をすれば、目的に係る誤った認識結果は、じゃんけん認識用の入力データが本来認識されるべきではない結果である。本実施形態のように、目的用入力データに対応する正解データが、目的に係る正しい認識結果を示す場合には、目的に係る誤った認識結果は、正解データに含まれる数値とは異なる数値を示すことを意味する。後述する変形例（２）では、この意味とは異なる意味になるが、この点については後述する。
【０１０８】
例えば、じゃんけん認識用の入力データが「グー」の画像であれば、認識結果ｙｎが「グー」を示さないことは、目的に係る誤った認識結果を出力することに相当する。認識結果ｙｎが「グー」を示さないとは、パラメータｐ３が閾値（例えば、０．７）未満であることである。「チョキ」と「パー」の画像における「目的に係る誤った認識結果」も同様の意味であり、この説明の「グー」を「チョキ」又は「パー」と読み替え、「ｐ３」を「ｐ４」又は「ｐ５」と読み替えればよい。
【０１０９】
本実施形態では、じゃんけん認識用の入力データに対応する正解データは、目的に係る正しい認識結果を示すので、学習部１０３は、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データに対応する正解データがＲＮＮに学習されることを制限する。
【０１１０】
正解データがＲＮＮに学習されるとは、じゃんけん認識用の入力データに対応する正解データに基づいて、ＲＮＮのパラメータを調整することである。別の言い方をすれば、じゃんけん認識用の入力データに対応するＲＮＮの出力が当該入力データに対応する正解データに近づくように、ＲＮＮのパラメータを調整することは、正解データがＲＮＮに学習されることに相当する。即ち、じゃんけん認識用の入力データに対応するＲＮＮの出力と、当該入力データに対応する正解データと、に基づく損失（例えば、数式１の損失Ｅ）が小さくなるように、ＲＮＮのパラメータを調整することは、正解データがＲＮＮに学習されることに相当する。
【０１１１】
正解データがＲＮＮに学習されることを制限するとは、じゃんけん認識用の入力データに対応する正解データがそのままＲＮＮに学習されないようにすることである。例えば、じゃんけん認識用の入力データに対応する正解データに含まれる数値とは異なる数値でＲＮＮの学習を行うこと、又は、じゃんけん認識用の入力データに対応する正解データをそもそも学習させないことは、制限に相当する。
【０１１２】
例えば、学習部１０３は、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データに対応するＲＮＮの出力と、当該じゃんけん認識用の入力データに対応する正解データに含まれる数値とは異なる数値と、に基づく損失Ｅが小さくなるように、ＲＮＮの学習を行う。ここでのＲＮＮの出力とは、認識結果ｙｎのうち損失Ｅの計算で用いられるものであり、認識結果ｙｎの全部又は一部である。本実施形態では、じゃんけん認識用の入力データが入力された場合、認識結果ｙｎのうちの４つのパラメータｐ３〜ｐ６が損失の計算で利用されるので、これら４つが、損失Ｅの計算で利用されるＲＮＮの出力に相当する。
【０１１３】
正解データに含まれる数値とは異なる数値とは、正解データに含まれる数値ではない数値である。ただし、この異なる数値が正解データの数値に近いと、ＲＮＮの不正利用を防止しにくくなる可能性があるので、本実施形態では、この異なる数値は、正解データの数値との差が閾値（例えば、０．７）以上の数値とする。本実施形態では、正例の入力データに対応する正解データの数値は「１．０」なので、異なる数値は、「１．０」ではない数値であり、例えば、「０．０」、又は、「０．０」ではないが閾値（例えば、０．３）未満の値である。正解データが複数の数値（本実施形態では、パラメータｐ３〜ｐ５に相当する３つの数値）を含む場合には、その全ての数値が異なってもよいし、その一部の数値だけが異なってもよい。
【０１１４】
本実施形態では、正解データに含まれる数値とは異なる数値は、当該正解データに対応するじゃんけん認識用の入力データの内容に依存しない数値（固定値）である。この数値は、予め定められた数値であればよく、本実施形態では、数式２に定められた［０．０，０．０，０．０，１．０］のうちの［０．０，０．０，０．０］に含まれる「０．０」という数値とする。この数値は、本実施形態の例に限られず、正解データに含まれる数値と異なるのであれば、他の数値であってもよい。学習部１０３は、ＲＮＮの出力と、正解データに含まれる数値とは異なる数値と、を所定の計算式に代入して損失Ｅを計算する。先述したように、この計算式は、数１−２に限られず、他の計算式であってもよい。この損失Ｅは、ＲＮＮの出力と、正解データに含まれる数値とは異なる数値と、の違いを示す指標ということができる。
【０１１５】
上記では、事前認証が成功しなかった場合の学習を説明したが、学習部１０３は、事前認証が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、当該認証用の入力データに対応する正解データと、当該じゃんけん認識用の入力データに対応する正解データと、に基づいて、ＲＮＮの学習を行う。事前認証に係る学習とじゃんけん認証に係る学習が区別される点については、通常の学習とは大きく異なるが、個々の学習方法単体で見れば、訓練データをそのまま学習させることになるので、学習方法自体は、通常の学習と同様である。
【０１１６】
例えば、学習部１０３は、事前認証が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、当該認証用の入力データに対応するＲＮＮの出力、当該認証用の入力データに対応する正解データ、当該じゃんけん認識用の入力データに対応するＲＮＮの出力、及び当該じゃんけん認識用の入力データに対応する正解データに基づく損失Ｅが小さくなるように、ＲＮＮの学習を行う。この場合、数式１と同様にして損失Ｅが計算されて学習が行われる。この損失Ｅは、認証用の入力データに対応するＲＮＮの出力と当該認証用の入力データに対応する正解データとの違い、及び、じゃんけん認識用の入力データに対応するＲＮＮの出力と、当該じゃんけん認識用の入力データに対応する正解データと、の違いの両方を示す指標といえる。なお、これらの違いを別々の損失Ｅとして表現してもよい。
【０１１７】
本実施形態では、複数の訓練データは、事前認証が失敗する認証用の入力データ（負例の入力データ）を含み、学習部１０３は、事前認証が失敗する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、ＲＮＮの学習を行う。事前認証が失敗する認証用の入力データがＲＮＮに入力されることは、事前認証が成功しないことに相当するので、この場合は、学習部１０３は、先述した方法によって、目的に係る正しい認識結果が出力されないように、ＲＮＮの学習を行う。学習部１０３は、認証用の正例の入力データが入力された後にじゃんけん認識用の入力データが入力された場合には、事前認証が成功しているので、目的に係る正しい認識結果が出力されるように、ＲＮＮの学習を行うことになる。
【０１１８】
本実施形態では、複数の認識は、複数の事前認証にそれぞれ対応する複数の認識を含み、複数の訓練データは、複数の事前認証にそれぞれ対応する複数の認証用の入力データを含む。複数の事前認証は、本実施形態のような２段階認証に限られず、３段階以上であってもよい。個々の事前認証を成功させるために必要な入力データは、互いに異なるものとするが、同じ入力データで成功する複数の事前認証が存在してもよい。事前認証に対応する認証用の入力データとは、その事前認証を成功するための認証用の入力データである。
【０１１９】
学習部１０３は、複数の事前認証の各々が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、ＲＮＮの学習を行う。複数の事前認証の各々が成功するとは、複数の事前認証の全てについて成功することである。何れかの事前認証が成功しなければ、複数の事前認証の各々が成功することにはならない。学習部１０３は、複数の事前認証の各々が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合には、目的に係る正しい認識結果が出力されるように、ＲＮＮの学習を行う。
【０１２０】
本実施形態では、ＲＮＮの出力は、事前認証の成否に関する数値を含む。この数値は、事前認証の成否を特定可能な数値である。本実施形態では、パラメータｐ６がこの数値に相当する。学習部１０３は、じゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データが入力される前における事前認証の成否に関する数値が出力されるように、ＲＮＮの学習を行う。学習部１０３は、事前認証が成功した後にじゃんけん認識用の入力データが入力された場合に、事前認証が成功したことを示す数値（本実施形態では、「０．０」）が出力されるように、ＲＮＮの学習を行う。学習部１０３は、事前認証が成功せずにじゃんけん認識用の入力データが入力された場合に、事前認証が成功していないことを示す数値（本実施形態では、「１．０」）が出力されるように、ＲＮＮの学習を行う。
【０１２１】
なお、事前認証の成否に関する数値は、パラメータｐ６のような２値ではなく、中間値が存在して多段階で示されてもよい。他にも例えば、事前認証の成否に関する数値は、複数の数値が存在してもよい。この場合、事前認証の成否は、複数の数値からなるベクトル形式や配列形式などで表現されてもよい。例えば、第１認証の成否を示すパラメータと、第２認証の成否を示すパラメータと、が別々に存在してもよい。このようにした場合、第１認証と第２認証の何れが成功していないかを特定できる。その特定結果は、認識装置２０などのコンピュータにおいて、管理者向けに提示されてもよい。
【０１２２】
本実施形態では、ＲＮＮの出力は、じゃんけん認識用の入力データに対する認識結果に関する数値（パラメータｐ３〜ｐ５）を含み、じゃんけん認識用の入力データに対する認識結果に関する数値（パラメータｐ６）と、事前認証の成否に関する数値と、の総和は一定である。この総和は、本実施形態では「１．０」とするが、他の数値であってもよい。学習部１０３は、これらの総和が一定となるような認識結果ｙｎを出力するように、ＲＮＮの学習を行う。
【０１２３】
本実施形態では、ＲＮＮの出力は、認証用の入力データに対応する認識結果に関する第１の数値（パラメータｐ１，ｐ２）と、じゃんけん認識用の入力データに対応する認識結果に関する第２の数値（パラメータｐ３〜ｐ５）と、を含む。第１の数値と第２の数値の各々は、任意の個数が存在してよい。例えば、本実施形態では、第１の数値としてパラメータｐ１，ｐ２の２つが存在するが、第１の数値は、１つだけ存在してもよいし、３つ以上が存在してもよい。同様に、第２の数値として、パラメータｐ３〜ｐ５の３つが存在するが、第２の数値は、１つ、２つ、又は４つ以上であってもよい。第１の数値と第２の数値の各々が複数個存在する場合には、それらの全体がベクトル形式や配列形式で表現されてもよい。先述したように、認証用の入力データに対応する正解データは、第２の数値（パラメータｐ３〜ｐ５）を含まずに第１の数値（パラメータｐ１，ｐ２）を含む。じゃんけん認識用の入力データに対応する正解データは、第１の数値（パラメータｐ１，ｐ２）を含まずに第２の数値（パラメータｐ３〜ｐ５）を含む。
【０１２４】
学習部１０３は、認証用の入力データに対応するＲＮＮの出力に含まれる第１の数値（パラメータｐ１，ｐ２）、認証用の入力データに対応する正解データに含まれる第１の数値（パラメータｐ１，ｐ２）、じゃんけん認識用の入力データに対応するＲＮＮの出力に含まれる第２の数値（パラメータｐ３〜ｐ５）、及びじゃんけん認識用の入力データに対応する正解データに含まれる第２の数値（パラメータｐ３〜ｐ５）に基づいて、ＲＮＮの学習を行う。これらを利用した学習方法は、先述した通りであり、本実施形態では、数式１−２に基づく損失Ｅが利用される。
【０１２５】
［３−２．認識装置で実現される機能］
認識装置２０では、データ記憶部２００、取得部２０１、及び処理実行部２０２が実現される。データ記憶部２００は、記憶部２２を主として実現され、取得部２０１及び処理実行部２０２の各々は、制御部２１を主として実現される。
【０１２６】
［データ記憶部］
データ記憶部２００は、複数の認識を行うＲＮＮを記憶する。このＲＮＮは、学習済みのＲＮＮである。認識装置２０は、学習装置１０から学習済みのＲＮＮを取得し、データ記憶部２００に記録する。
【０１２７】
［取得部］
取得部２０１は、ＲＮＮに対し、複数の入力データの各々を順次入力し、複数の入力データの各々に対応するＲＮＮの出力を取得する。この入力データは、ＲＮＮの学習で利用される入力データではなく、学習済みのＲＮＮの認識対象となるデータである。認識対象となる入力データは、訓練データに含まれる入力データと同じ形式である。入力データは、データ記憶部２００に記憶されていてもよいが、本実施形態では、撮影部２６により撮影された画像が入力データとして取得される。なお、入力データは、操作部２４から入力されてもよいし、認識装置２０以外の他のコンピュータ又は外部の情報記憶媒体から取得されてもよい。
【０１２８】
複数の入力データは、事前認証のための認証用の入力データと、目的のためのじゃんけん認識用の入力データと、を含む。この点は、訓練データに含まれる入力データと同じである。ＲＮＮは、入力データの特徴量を計算し、その特徴量と、入力データが入力される前に行われた認識（途中の計算結果やそれまでに得られた認識結果ｙｎ）と、に応じた認識結果ｙｎを出力する。これらの計算は、学習済みのパラメータが用いられる。即ち、入力データの特徴量と、入力データが入力される前に行われた認識と、から認識結果ｙｎを導き出す計算には、学習済みのパラメータが用いられる。特徴量は、任意の次元数で表現される。ＲＮＮによる特徴量の計算方法自体は、公知の方法を利用可能であり、例えば、重み付け係数が設定されたフィルタによる畳み込みやプーリングなどが行われる。
【０１２９】
ＲＮＮは、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果を出力せずに、目的に係る誤った認識結果を出力する。ＲＮＮは、事前認証が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果を出力する。即ち、ＲＮＮは、事前認証が成功したことを条件として、目的に係る正しい認識結果を出力する。ＲＮＮが出力する認識結果ｙは、図３で説明した通りである。
【０１３０】
［処理実行部］
処理実行部２０２は、取得部２０１により取得されたＲＮＮの出力に基づいて、所定の処理を実行する。所定の処理は、ＲＮＮの目的に応じた処理であればよく、本実施形態では、じゃんけんを実行する処理である。ＲＮＮがじゃんけん認識以外の目的で利用される場合には、処理実行部２０２は、その目的に応じた処理を実行すればよい。処理実行部２０２は、ＲＮＮの出力に基づいて、認識装置２０のユーザの指の形を特定し、対戦相手とのじゃんけんを実行する。対戦相手の指の形は、対戦相手の認識装置２０によって特定されてもよいし、操作部２４からの入力などの他の方法によって特定されてもよい。対戦相手は、認識装置２０などのコンピュータであってもよい。
【０１３１】
［４．ＲＮＮシステムで実行される処理］
本実施形態では、ＲＮＮシステムＳで実行される処理として、学習装置１０が実行する処理と、認識装置２０が実行する処理と、について説明する。
【０１３２】
［４−１．学習装置が実行する処理］
図８は、学習装置１０が実行する処理の一例を示すフロー図である。図８に示す処理は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図４に示す機能ブロックにより実行される処理の一例である。なお、訓練データセットＤＳと学習前のＲＮＮは、予め記憶部１２に記憶されているものとする。
【０１３３】
図８に示すように、学習装置１０は、第１認証用の訓練データセットＤＳ１のうちの何れかの訓練データを取得してＲＮＮに入力し、その訓練データに対応する認識結果ｙ１を得る（Ｓ１００）。学習装置１０は、ＲＮＮに対し、第２認証用の訓練データセットＤＳ２のうちの何れかの訓練データを入力し、その訓練データに対応する認識結果ｙ２を得る（Ｓ１０１）。
【０１３４】
学習装置１０は、じゃんけん認証用の訓練データセットＤＳ３のうちの何れかの訓練データを取得してＲＮＮに入力し、その訓練データに対応する認識結果ｙ３を得る（Ｓ１０２）。学習装置１０は、認識結果ｙ１〜ｙ３と数式１−２とに基づいて、損失Ｅを計算して、損失Ｅが小さくなるようにＲＮＮの学習を行う（Ｓ１０３）。
【０１３５】
学習装置１０は、ＲＮＮの学習を終了するか否かを判定する（Ｓ１０４）。ＲＮＮの学習は、任意のタイミングで終了可能であり、先述したように、損失Ｅが十分に小さくなった場合に終了してもよいし、他のタイミングで終了してもよい。学習を終了すると判定されない場合（Ｓ１０４；Ｎ）、Ｓ１００の処理に戻る。この場合、ＲＮＮの学習が継続される。学習を終了すると判定された場合（Ｓ１０４；Ｙ）、学習装置１０は、認識装置２０に対し、学習済みのＲＮＮを送信し（Ｓ１０５）、本処理は終了する。Ｓ１０５で送信された学習済みのＲＮＮは、認識装置２０に記録される。
【０１３６】
［４−２．認識装置が実行する処理］
図９は、認識装置２０が実行する処理の一例を示すフロー図である。図９に示す利用処理は、制御部２１が記憶部２２に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図４に示す機能ブロックにより実行される処理の一例である。学習済みのＲＮＮは、記憶部２２に記憶されているものとする。
【０１３７】
図９に示すように、認識装置２０は、所定の開始条件が満たされたか否かを判定する（Ｓ２００）。開始条件は、ＲＮＮによる認識を開始するための合図に相当する条件であり、例えば、操作部２４から所定の操作をすること、又は、撮影部２６により所定の画像が撮影されることである。開始条件を定めておくことにより、図３の時間ｔ１よりも前にノイズとなる画像がＲＮＮに入力されて、その後の認識に影響することを防止できる。開始条件は、操作部２４又は撮影部２６以外で検出可能な条件であってもよく、例えば、所定の音声を入力することであってもよい。
【０１３８】
開始条件が満たされたと判定されない場合（Ｓ２００；Ｎ）、Ｓ２００の処理に戻る。この場合、開始条件が満たされるまでは、Ｓ２０１以降の処理は実行されない。一方、開始条件が満たされたと判定された場合（Ｓ２００；Ｙ）、認識装置２０は、撮影部２６の検出信号に基づいて、１枚目の入力画像Ｘ１を取得してＲＮＮに入力し、ＲＮＮから出力された認識結果ｙ１を取得する（Ｓ２０１）。なお、撮影部２６は、連続的に撮影を行って入力画像Ｘ１〜Ｘ３を連続的に生成してもよいし、ユーザが操作部２４から所定の操作を行った場合に撮影を行い、操作が行われるたびに、入力画像Ｘ１〜Ｘ３の各々を生成してもよい。
【０１３９】
認識装置２０は、撮影部２６の検出信号に基づいて、２枚目の入力画像Ｘ２を取得してＲＮＮに入力し、ＲＮＮから出力された認識結果ｙ２を取得する（Ｓ２０２）。認識装置２０は、撮影部２６の検出信号に基づいて、３枚目の入力画像Ｘ３を取得してＲＮＮに入力し、ＲＮＮから出力された認識結果ｙ３を取得する（Ｓ２０３）。
【０１４０】
認識装置２０は、Ｓ２０３で取得された認識結果ｙ３に基づいて、じゃんけん処理を実行し（Ｓ２０４）、本処理は終了する。Ｓ２０４においては、認識装置２０は、認識結果ｙ３に基づいて、入力画像Ｘ３に示された指の形を特定し、対戦相手の指の形と比較して勝敗又は引き分けを判定する。なお、Ｓ２０１で取得された認識結果ｙ１と、Ｓ２０２で取得された認識結果ｙ２と、はじゃんけん処理では利用されず、デバッグ用に記録されるようにしてもよい。なお、パラメータｐ６が「１．０」であるにも関わらず、認識結果ｙ３のパラメータｐ３〜ｐ５の数値が何れも低い場合には、何らかの理由で指の形が正確に認識できなかったことを意味するので、エラーメッセージが出力されてもよい。
【０１４１】
実施形態のＲＮＮシステムＳによれば、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、ＲＮＮの学習を行う。これにより、事前認証が成功しなければ、まともにじゃんけん認識をしないＲＮＮを作成し、ＲＮＮの不正利用を防止できる。即ち、ＲＮＮのセキュリティを向上させることができる。例えば、ＲＮＮを利用するために「りんご」の画像と「ねこ」の画像が事前認証で必要になることは、第三者に秘密にされる。このため、第三者が何らかの形でＲＮＮを盗み出したとしても、事前認証で必要な情報を知ることができないし、そもそも事前認証が必要なのかを知ることもできない。第三者がＲＮＮに何の画像を入力したとしても、認識結果ｙｎは［０．０，０．０，０．０，０．０，０．０，１．０］又はそれに近い内容になり、ある意味使い物にならないＲＮＮ（じゃんけん認識器として機能しないＲＮＮ）になるので、ＲＮＮの不正利用を防止できる。なお、事前認証の結果は、管理者向けに提示してもよいし、提示しなくてもよい。事前認証の結果を提示した方が管理者としてはＲＮＮが正確に動作しているかを把握しやすいが、提示しない方がセキュリティは向上する。
【０１４２】
また、ＲＮＮシステムＳは、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データに対応する正解データがＲＮＮに学習されることを制限することにより、ＲＮＮの不正利用をより確実に防止できる。例えば、後述する変形例（２）のようにしてＲＮＮを作成することもできるが、実施形態のようにして学習を行えば、特に訓練データの入力順を定めなくてもよいので、訓練データを用意する手間を軽くすることができる。
【０１４３】
また、ＲＮＮシステムＳは、じゃんけん認識用の入力データに対応するＲＮＮの出力と、当該じゃんけん認識用の入力データに対応する正解データに含まれる数値とは異なる数値と、に基づく損失Ｅが小さくなるように、ＲＮＮの学習を行うことにより、ＲＮＮの不正利用をより確実に防止できる。例えば、事前認証が成功しないでじゃんけん認識用の入力データが入力された場合には、その入力データを学習させないようにしても似たようなＲＮＮを作成できるが、その入力データに対応する正解データに含まれる数値とは異なる数値に基づく損失Ｅが小さくなるように、ＲＮＮの学習を行うことにより、事前認証が成功しなかった場合にＲＮＮが誤った認識結果ｙｎを出力しやすくなる。更に、実施形態のように、この異なる数値を正解データとは著しく違う数値とすれば、ＲＮＮが誤った認識結果ｙｎをより出力しやすくなり、不正利用を更に防止しやすくなる。
【０１４４】
また、ＲＮＮシステムＳは、正解データに含まれる数値とは異なる数値を、当該正解データに対応するじゃんけん認識用の入力データの内容に依存しないようにすることにより、ＲＮＮの不正利用をより確実に防止できる。例えば、後述する変形例（１）のように、本来の正解データではない他の正解データに含まれる数値を上記異なる数値とすることもできるが、本実施形態のようにした方が、事前認証を成功させなければ何を入力しても同じ結果が出力されるので、第三者にＲＮＮの出力パターンを解読されにくくなる。
【０１４５】
また、ＲＮＮシステムＳは、事前認証が成功した場合には、認証用の入力データに対応する正解データと、当該じゃんけん認識用の入力データに対応する正解データと、に基づいて、ＲＮＮの学習を行うことにより、事前認証とじゃんけん認識を正確に行うＲＮＮを作成できる。
【０１４６】
また、ＲＮＮシステムＳは、事前認証が成功した場合には、認証用の入力データに対応するＲＮＮの出力、当該認証用の入力データに対応する正解データ、じゃんけん認識用の入力データに対応するＲＮＮの出力、及び当該じゃんけん認識用の入力データに対応する正解データに基づく損失Ｅが小さくなるように、ＲＮＮの学習を行うことにより、事前認証とじゃんけん認識をより正確に行うＲＮＮを作成できる。
【０１４７】
また、ＲＮＮシステムＳは、複数の訓練データに、事前認証が成功しない認証用の入力データ（負例の入力データ）を含ませることで、事前認証の精度を高めたＲＮＮを作成できる。
【０１４８】
また、ＲＮＮシステムＳは、複数の認識は、複数の事前認証にそれぞれ対応する複数の認識を含むことで、多段階の事前認証とし、ＲＮＮの不正利用をより確実に防止できる。このため、ＲＮＮのセキュリティをより向上させることができる。
【０１４９】
また、ＲＮＮシステムＳは、ＲＮＮの出力に事前認証の成否に関する数値であるパラメータｐ６を含ませることで、管理者がＲＮＮの管理をしやすくなる。
【０１５０】
また、ＲＮＮシステムＳは、じゃんけん認識用の入力データに対する認識結果に関する数値であるパラメータｐ３〜ｐ５と、事前認証の成否に関する数値であるパラメータｐ６と、の総和を一定値とすることで、ＲＮＮの学習を収束させやすくなる。後述する変形例（１）のようにパラメータｐ６を省略することもできるが、パラメータｐ６を利用することで、事前認証が成功しなかった場合に正解とみなすパラメータｐ３〜ｐ５を固定しても、これらの総和を一定に保ち、用意すべき数式を減らす（変形例（１）の数式３−６の４つに対して、実施形態では数式１−２の２つにする）ことができる。
【０１５１】
また、ＲＮＮシステムＳは、認証用の入力データに対応する正解データは、パラメータｐ３〜ｐ５を含まずにパラメータｐ１又はｐ２だけを含み、じゃんけん認識用の入力データに対応する正解データは、パラメータｐ１とｐ２を含まずにパラメータｐ３〜ｐ５を含むので、訓練データのデータ量を圧縮できる。また、ＲＮＮの学習時に利用するパラメータを減らすことで学習時の計算量を少なくすることができる。その結果、学習装置１０の処理負荷を軽減し、学習処理を高速化できる。
【０１５２】
［５．変形例］
なお、本開示は、以上に説明した実施の形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１５３】
（１）例えば、実施形態では、事前認証の成否を示すパラメータｐ６が認識結果ｙｎに含まれている場合を説明したが、パラメータｐ６は認識結果ｙｎに含まれていなくてもよい。この場合、損失Ｅの計算でクロスエントロピーを安全に算出するために、じゃんけん認識用の訓練データに含まれるパラメータｐ３〜ｐ５の総和を原則として１．０にして、損失Ｅが計算されるようにしてもよい。
【０１５４】
本変形例では、図３の時間ｔ３におけるじゃんけん認証でＲＮＮにより出力された認識結果ｙ３のパラメータｐ３〜ｐ５をｙｊａｎと記載する。時間ｔ３における入力画像Ｘ３に対応する正解データの数値（パラメータｐ３〜ｐ５の真値）をｒｊａｎと記載する。ｙ１−１，ｒ１，ｙ２−２，ｒ２の意味は、実施形態と同じである。
【０１５５】
本変形例の学習部１０３は、下記数式３−６により損失Ｅを計算する。第１認証及び第２認証の両方に成功した場合（即ち、ｒ１＝１．０かつｒ２＝１．０の場合）には、数式３が利用される。第１認証及び第２認証の少なくとも一方が失敗した場合（即ち、ｒ１＝０．０及び／又はｒ２＝０．０の場合）、入力画像Ｘ３が「グー」であれば数式４が利用され、入力画像Ｘ３が「チョキ」であれば数式５が利用され、入力画像Ｘ３が「パー」であれば数式６が利用される。なお、入力画像Ｘ３が「グー」「チョキ」「パー」の何れの画像でもない場合（パラメータｐ３〜ｐ５が何れも閾値未満である場合）、数式４−６の何れが利用されてもよい。
【０１５６】
【数３】
0006926279.tif 000004
【０１５７】
【数４】
0006926279.tif 000005
【０１５８】
【数５】
0006926279.tif 000006
【０１５９】
【数６】
0006926279.tif 000007
【０１６０】
数式３は、損失Ｅの計算のためにパラメータｐ６を利用しない点を除いて数式１と同じである。数式４は、入力画像Ｘ３が「グー」であり、ｒｊａｎが［１．０，０．０，０．０］である場合であるが、損失Ｅの計算で用いられる［０．０，１．０，０．０］のベクトルは、本来であれば「チョキ」を示すベクトルである。数式５は、入力画像Ｘ３が「チョキ」であり、ｒｊａｎが［０．０，１．０，０．０］である場合であるが、損失Ｅの計算で用いられる［０．０，０．０，１．０］のベクトルは、本来であれば「パー」を示すベクトルである。数式６は、入力画像Ｘ３が「パー」であり、ｒｊａｎが［０．０，０．０，１．０］である場合であるが、損失Ｅの計算で用いられる［１．０，０．０，０．０］のベクトルは、本来であれば「グー」を示すベクトルである。
【０１６１】
学習部１０３は、数式３−６により計算される損失Ｅが小さくなるように、ＲＮＮの学習を行う。損失Ｅの計算方法は実施形態と異なるが、損失Ｅを利用した学習方法は、実施形態と同様である。事前認証が成功しなかった場合には、正解データに含まれる数値とは異なる数値でＲＮＮの学習が行われる点も実施形態と同様であるが、本変形例の正解データに含まれる数値とは異なる数値は、当該正解データに対応するじゃんけん認識用の入力データとは異なるじゃんけん認識用の入力データに対応する正解データに含まれる数値である。
【０１６２】
例えば、「グー」の正解データは、［１．０，０．０，０．０］を示すので、この正解データに含まれる数値とは異なる数値は、「チョキ」の正解データである［０．０，１．０，０．０］に含まれる数値又は「パー」の正解データである［０．０，０．０，１．０］に含まれる数値になる。同様に、「チョキ」の正解データに含まれる数値とは異なる数値は、「グー」又は「パー」の正解データに含まれる数値となり、「パー」の正解データに含まれる数値とは異なる数値は、「グー」又は「チョキ」の正解データに含まれる数値となる。
【０１６３】
変形例（１）によれば、正解データに含まれる数値とは異なる数値が、当該正解データに対応するじゃんけん認識用の入力データとは異なるじゃんけん認識用の入力データに対応する正解データに含まれる数値とすることで、ＲＮＮの不正利用をより確実に防止できる。また、実施形態で説明した方法に比べると、パラメータｐ６に相当する数値を利用しない分だけ、損失Ｅの計算を簡易にすることができる。その結果、学習装置１０の処理負荷を軽減し、学習処理を高速化できる。また、上記のような損失Ｅで学習されたＲＮＮは、事前認証が成功せずにじゃんけん認識を行おうとすると、誤った認識結果が出力される（例えば、「グー」の入力画像Ｘ３を入力したのに「チョキ」の認識結果が出力される）。パラメータｐ６を含めないことにより、第三者にＲＮＮが盗まれたとしても、第三者がＲＮＮを分析することが難しくなる。
【０１６４】
（２）また例えば、事前認証が成功しない場合に目的に係る正しい認識結果が出力されないように学習を行う方法は、実施形態の例に限られない。数式１と数式２のように損失Ｅの計算方法を使い分けるのではなく、事前認証が成功しないように入力データが入力されることが事前に分かっているのであれば、損失Ｅの計算方法を使い分けずに、他の方法によってＲＮＮの学習を行ってもよい。
【０１６５】
本変形例では、複数の訓練データの各々は、ＲＮＮに入力される順序が予め定められている。例えば、じゃんけん認識用の入力データの前に、事前認証が成功する認証用の入力データ（正例）が入力されるか、事前認証が成功しない認証用の入力データ（負例）が入力されるか、又は認証用の入力データがそもそも入力されないかが予め定められている。じゃんけん認識用の入力データに対応する正解データは、その前に何が入力されるかによって、正しい認識結果を示すか、誤った認識結果を示すかが異なるようになっている。
【０１６６】
図１０は、変形例（２）の訓練データセットＤＳのデータ格納例を示す図である。図１０に示すように、本変形例の訓練データセットＤＳは、訓練データセットＤＳ１〜ＤＳ３が１つにまとめられている。訓練データセットＤＳには、各訓練データに対し、学習時におけるＲＮＮへの入力順が対応付けられている。
【０１６７】
図１０の例では、入力順は、「ａ−ｂ」（ａは自然数であり、ｂは１〜３の何れかの整数）と記載している。「ａ」は、何回目の学習処理で入力されるかを示す数値である。「ｂ」は、１回の学習処理における何番目に入力されるかを示す数値である。例えば、１回目の学習では、入力順が「１−１」の「りんご」の画像、入力順が「１−２」の「ねこ」の画像、入力順が「１−３」の「グー」の画像の順でＲＮＮに入力される。１回目の学習が終了すると、未認証状態に戻され、入力順が「２−１」の「バナナ」の画像、入力順が「２−２」の「ねこ」の画像、入力順が「２−３」の「グー」の画像の順でＲＮＮに入力される。以降同様に、未認証状態に戻されて、「ａ」の数値が１加算されて「ａ」回目の学習において、「ｂ」の数値が示す順序で画像がＲＮＮに入力される。
【０１６８】
図１０に示すように、事前認証が成功する認証用の入力データが入力された後に入力されるじゃんけん認識用の入力データに対応する正解データは、目的に係る正しい認識結果を示す。例えば、入力順が「１−１」の「りんご」の画像と、入力順が「１−２」の「ねこ」の画像と、の後に入力されることが決まっている、入力順が「１−３」の「グー」の画像には、「グー」であること及び認証済みであることを示す［１．０，０．０，０．０，０．０］の正解データが対応付けられている。即ち、この「グー」の画像には、正しい認識結果を示す正解データが対応付けられている。図１０に示すように、「パー」と「チョキ」の画像についても同様であり、正しい認識結果を示す正解データが対応付けられている。
【０１６９】
一方、事前認証が成功する認証用の入力データが入力されずに入力されるじゃんけん認識用の入力データに対応する正解データは、目的に係る誤った認識結果を示す。このように、目的用入力データに対応する正解データとして、あえて目的に係る誤った認識結果を定めておく場合には、ＲＮＮが出力する目的に係る正しい認識結果は、正解データに含まれる数値とは異なる数値（正解データとは真逆の数値）を示すことを意味する。
【０１７０】
例えば、入力順が「２−１」の「バナナ」の画像と、入力順が「２−２」の「ねこ」の画像と、の後に入力されることが決まっている、入力順が「２−３」の「グー」の画像には、「グー」ではないこと及び未認証であることを示す［０．０，０．０，０．０，１．０］の正解データが対応付けられている。即ち、この「グー」の画像には、あえて誤った認識結果を示す正解データが対応付けられている。
【０１７１】
また例えば、入力順が「３−１」の「りんご」の画像と、入力順が「３−２」の「いぬ」の画像と、の後に入力されることが決まっている、入力順が「３−３」の「グー」の画像には、「グー」ではないこと及び未認証であることを示す［０．０，０．０，０．０，１．０］の正解データが対応付けられている。即ち、この「グー」の画像には、あえて誤った認識結果を示す正解データが対応付けられている。図１０に示すように、「パー」と「チョキ」の画像についても同様であり、事前認証が成功しない順序であれば、あえて誤った認識結果を示す正解データが対応付けられている。
【０１７２】
学習部１０３は、ＲＮＮに対し、予め定められた順序で認証用の入力データとじゃんけん認識用の入力データとを入力し、ＲＮＮの学習を行う。例えば、学習部１０３は、実施形態で説明した数式２は用いずに、数式１を利用して損失Ｅを計算してＲＮＮの学習を行う。損失Ｅの計算方法は実施形態と異なるが、損失Ｅを利用した学習方法は実施形態と同様である。本変形例では、事前認証が成功しないことが予め分かっているじゃんけん認識用の入力データについては、誤った認識結果をあえて正解としているので、正解データの学習を制限しないことになる。このため、実施形態で説明したような正解データに含まれる数値とは異なる数値を利用した学習は行われない。
【０１７３】
変形例（２）によれば、複数の訓練データの各々に、ＲＮＮに入力される順序を予め定めておき、事前認証が成功した後に入力されることが分かっているじゃんけん認識用の入力データに対応する正解データは、目的に係る正しい認識結果を示す。事前認証が成功しないことが分かっているじゃんけん認識用の入力データに対応する正解データは、目的に係る誤った認識結果を示す。このような正解データに基づいてＲＮＮの学習を行うことで、訓練データを用意するコストは発生するが、損失Ｅの計算方法を分けずに済み、学習時の計算を簡略化できる。その結果、学習装置１０の処理負荷を軽減し、学習処理を高速化できる。
【０１７４】
（３）また例えば、上記変形例（１）−（２）を組み合わせてもよい。変形例（１）−（２）を組み合わせる場合には、例えば、事前認証が成功しない順序であれば、「グー」の画像には、正解データとして、「チョキ」を示す［０．０，１．０，０．０］又は「パー」を示す［０．０，０．０，１．０］が対応付けられる。変形例（２）で説明したパラメータＰ６に相当する数値は正解データに格納されない。事前認証が成功しない順序の「チョキ」の画像と「パー」の画像についても同様である。
【０１７５】
また例えば、ＲＮＮの目的としてじゃんけん認識を説明したが、ＲＮＮの目的は、任意の目的を設定可能である。例えば、ＲＮＮは、指以外の物体を認識することを目的としてもよい。認識対象の物体は、任意の物体であってよく、例えば、数字、文字、二次元コード、又はイラストであってもよい。認識対象の物体は、紙に印刷されてもよいし、画面に表示されていてもよいし、物理的に存在する物体であってもよい。他にも例えば、ＲＮＮは、事前認証の後に生体認証を行うことを目的としてもよい。この場合、ＲＮＮの目的となる認識対象は、生体情報であり、例えば、人の顔、指紋パターン、静脈パターン、筆跡パターン、又はまばたきパターンなどである。これらの生体情報は、画像を利用して取得されるようにすればよい。
【０１７６】
また例えば、ＲＮＮは、画像認識以外の認識を行ってもよい。例えば、ＲＮＮが音声認識を行う場合には、事前認証が成功しない場合には、正確な音声認識が行われないＲＮＮになる。この場合、入力データは音声データになり、正解データは音声に対応する認識結果となる。認識結果は、音声を示すテキストであってもよいし、音声の発話者を識別する情報であってもよい。画像認識及び音声認識以外にも、ＲＮＮは、実施形態で説明した他の認識を行うことができ、入力データは、それに応じたデータであればよい。
【０１７７】
また例えば、ＲＮＮシステムＳに学習装置１０と認識装置２０が含まれる場合を説明したが、学習装置１０と認識装置２０は、別々のシステムに存在してもよい。また例えば、データ記憶部１００，２００に記憶されるものとして説明したデータは、学習装置１０又は認識装置２０とは異なる他のコンピュータ又は情報記憶媒体に記憶されていてもよい。
【符号の説明】
【０１７８】
Ｓ  ＲＮＮシステム、Ｎ  ネットワーク、１０  学習装置、２０  認識装置、１１，２１  制御部、１２，２２  記憶部、１３，２３  通信部、１４，２４  操作部、１５，２５  表示部、２６  撮影部、Ｘ１，Ｘ２，Ｘ３，Ｘｔ  入力画像、ｐ１，ｐ２，ｐ３，ｐ４，ｐ５，ｐ６  パラメータ、ｔ１，ｔ２，ｔ３，ｔｎ  時間、ｙ１，ｙ２，ｙ３，ｙ４  認識結果、１００  データ記憶部、１０１  生成部、１０２  取得部、１０３  学習部、２００  データ記憶部、２０１  取得部、２０２  処理実行部、ＤＳ，ＤＳ１，ＤＳ２，ＤＳ３  訓練データセット。
【要約】
【課題】再帰型ニューラルネットワークの不正利用を防止可能にする。
【解決手段】学習装置（１０）の取得手段（１０２）は、入力データと正解データが対応付けられた訓練データを複数取得する。学習手段（１０３）は、複数の認識を行う再帰型ニューラルネットワークに対し、複数の訓練データの各々に含まれる入力データを順次入力し、当該入力データに対応する正解データに基づいて、再帰型ニューラルネットワークの学習を行う。複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含む。複数の訓練データは、事前認証に係る学習のための認証用の入力データと、目的に係る学習のための目的用の入力データと、を含む。学習手段（１０３）は、事前認証が成功する認証用の入力データが入力されずに目的用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、再帰型ニューラルネットワークの学習を行う。
【選択図】図４【図１】
0006926279.tif 000008
【図２】
0006926279.tif 000009
【図３】
0006926279.tif 000010
【図４】
0006926279.tif 000011
【図５】
0006926279.tif 000012
【図６】
0006926279.tif 000013
【図７】
0006926279.tif 000014
【図８】
0006926279.tif 000015
【図９】
0006926279.tif 000016
【図１０】
0006926279.tif 000017