JP6926279B1 - 学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワーク - Google Patents
学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワーク Download PDFInfo
- Publication number
- JP6926279B1 JP6926279B1 JP2020094978A JP2020094978A JP6926279B1 JP 6926279 B1 JP6926279 B1 JP 6926279B1 JP 2020094978 A JP2020094978 A JP 2020094978A JP 2020094978 A JP2020094978 A JP 2020094978A JP 6926279 B1 JP6926279 B1 JP 6926279B1
- Authority
- JP
- Japan
- Prior art keywords
- input data
- authentication
- input
- data
- recognition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
【課題】再帰型ニューラルネットワークの不正利用を防止可能にする。【解決手段】学習装置(10)の取得手段(102)は、入力データと正解データが対応付けられた訓練データを複数取得する。学習手段(103)は、複数の認識を行う再帰型ニューラルネットワークに対し、複数の訓練データの各々に含まれる入力データを順次入力し、当該入力データに対応する正解データに基づいて、再帰型ニューラルネットワークの学習を行う。複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含む。複数の訓練データは、事前認証に係る学習のための認証用の入力データと、目的に係る学習のための目的用の入力データと、を含む。学習手段(103)は、事前認証が成功する認証用の入力データが入力されずに目的用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、再帰型ニューラルネットワークの学習を行う。【選択図】図4
Description
本開示は、学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワークに関する。
従来、再帰型ニューラルネットワークを利用して、音声認識や画像認識などの認識を行う技術が知られている。再帰型ニューラルネットワークを利用した認識を行うには、事前に再帰型ニューラルネットワークの学習を行う必要がある。再帰型ニューラルネットワークの学習を行うには、訓練データを収集したり学習処理を実行したりする必要があり、非常にコストがかかる。そのようなコストを払って作成した再帰型ニューラルネットワークは、作成者の知的財産である。再帰型ニューラルネットワークのプログラムやパラメータがコピーされるなどして第三者に不正に利用されると、作成者に損害が発生する。このため、特許文献1には、学習済みのニューラルネットワークのパラメータに電子透かしを埋め込むことによって、第三者の不正利用を検出する技術が記載されている。
しかしながら、特許文献1の技術は、学習済みのニューラルネットワークの不正利用を検出できても、その不正利用を防止することはできない。また、特許文献1の技術は、学習済みモデルのニューラルネットワークのパラメータに所定の処理を施して、不正であるか否かを判定するものである。このため、不正利用の疑いのあるニューラルネットワークを発見し、かつ、そのパラメータが得られなければ、不正であるか否かを判定することはできなかった。
本開示の目的の1つは、再帰型ニューラルネットワークの不正利用を防止可能にすることである。
本開示に係る学習装置は、入力データと正解データが対応付けられた訓練データを複数取得する取得手段と、複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段と、を含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
本開示に係る認識装置は、複数の認識を行う再帰型ニューラルネットワークを記憶する記憶手段と、前記再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得手段と、を含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する。
本開示に係る学習方法は、入力データと正解データが対応付けられた訓練データを複数取得する取得ステップと、複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習ステップと、を含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、前記学習ステップは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
本開示に係る認識方法は、複数の認識を行う再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得ステップを含み、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する。
本開示に係るプログラムは、入力データと正解データが対応付けられた訓練データを複数取得する取得手段、複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段、としてコンピュータを機能させるためのプログラムであって、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
本開示に係る再帰型ニューラルネットワークは、複数の認識を行う再帰型ニューラルネットワークであって、前記再帰型ニューラルネットワークは、複数の入力データの各々が順次入力され、前記複数の入力データの各々に対応する出力を行い、前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する。
本開示の一態様では、前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記正解データが前記再帰型ニューラルネットワークに学習されることを制限する。
本開示の一態様では、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力と、当該目的用の入力データに対応する前記正解データに含まれる数値とは異なる数値と、に基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う。
本開示の一態様では、前記異なる数値は、当該正解データに対応する前記目的用の入力データの内容に依存しない数値である。
本開示の一態様では、前記異なる数値は、当該正解データに対応する前記目的用の入力データとは異なる前記目的用の入力データに対応する前記正解データに含まれる数値である。
本開示の一態様では、前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記正解データと、当該目的用の入力データに対応する前記正解データと、に基づいて、前記再帰型ニューラルネットワークの学習を行う。
本開示の一態様では、前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記再帰型ニューラルネットワークの出力、当該認証用の入力データに対応する前記正解データ、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力、及び当該目的用の入力データに対応する前記正解データに基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う。
本開示の一態様では、前記複数の訓練データは、前記事前認証が失敗する前記認証用の入力データを含み、前記学習手段は、前記事前認証が失敗する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
本開示の一態様では、前記複数の認識は、複数の前記事前認証にそれぞれ対応する複数の認識を含み、前記複数の訓練データは、前記複数の事前認証にそれぞれ対応する複数の前記認証用の入力データを含み、前記学習手段は、前記複数の事前認証の各々が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う。
本開示の一態様では、前記再帰型ニューラルネットワークの出力は、前記事前認証の成否に関する数値を含み、前記学習手段は、前記目的用の入力データが入力された場合に、当該目的用の入力データが入力される前における前記事前認証の成否に関する数値が出力されるように、前記再帰型ニューラルネットワークの学習を行う。
本開示の一態様では、前記再帰型ニューラルネットワークの出力は、前記目的用の入力データに対する認識結果に関する数値を含み、前記目的用の入力データに対する認識結果に関する数値と、前記事前認証の成否に関する数値と、の総和は一定である。
本開示の一態様では、前記再帰型ニューラルネットワークの出力は、前記認証用の入力データに対応する認識結果に関する第1の数値と、前記目的用の入力データに対応する認識結果に関する第2の数値と、を含み、前記認証用の入力データに対応する前記正解データは、前記第2の数値を含まずに前記第1の数値を含み、前記目的用の入力データに対応する前記正解データは、前記第1の数値を含まずに前記第2の数値を含み、前記学習手段は、前記認証用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第1の数値、前記認証用の入力データに対応する前記正解データに含まれる前記第1の数値、前記目的用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第2の数値、及び前記目的用の入力データに対応する前記正解データに含まれる前記第2の数値に基づいて、前記再帰型ニューラルネットワークの学習を行う。
本開示の一態様では、前記複数の訓練データの各々は、前記再帰型ニューラルネットワークに入力される順序が予め定められており、前記事前認証が成功する前記認証用の入力データが入力された後に入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、前記事前認証が成功する前記認証用の入力データが入力されずに入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る誤った認識結果を示し、前記学習手段は、前記再帰型ニューラルネットワークに対し、予め定められた前記順序で前記認証用の入力データと前記目的用の入力データとを入力し、前記再帰型ニューラルネットワークの学習を行う。
本開示によれば、再帰型ニューラルネットワークの不正利用を防止可能になる。
[1.RNNシステムの全体構成]
以下、本開示に係る学習装置と認識装置を含む再帰型ニューラルネットワーク(以降、RNN)システムの実施形態の例を説明する。図1は、RNNシステムの全体構成を示す図である。図1に示すように、RNNシステムSは、学習装置10と認識装置20とを含み、これらは、インターネット又はLANなどのネットワークNに接続される。なお、図1では学習装置10と認識装置20とを1台ずつ示しているが、これらは複数台あってもよい。
以下、本開示に係る学習装置と認識装置を含む再帰型ニューラルネットワーク(以降、RNN)システムの実施形態の例を説明する。図1は、RNNシステムの全体構成を示す図である。図1に示すように、RNNシステムSは、学習装置10と認識装置20とを含み、これらは、インターネット又はLANなどのネットワークNに接続される。なお、図1では学習装置10と認識装置20とを1台ずつ示しているが、これらは複数台あってもよい。
学習装置10は、ユーザが操作するコンピュータである。例えば、学習装置10は、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末(タブレット型コンピュータ及びウェアラブル端末を含む)、又は携帯電話機(スマートフォンを含む)等である。例えば、学習装置10は、制御部11、記憶部12、通信部13、操作部14、及び表示部15を含む。
制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。
通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークNを介してデータ通信を行う。操作部14は、申込者が操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部14は、申込者による操作内容を制御部11に伝達する。表示部15は、例えば、液晶表示部又は有機EL表示部等である。表示部15は、制御部11の指示に従って画像を表示する。
認識装置20は、ユーザが操作するコンピュータである。学習装置10のユーザと認識装置20のユーザは、同じであってもよいし異なっていてもよい。例えば、認識装置20は、パーソナルコンピュータ、サーバコンピュータ、携帯情報端末(タブレット型コンピュータ及びウェアラブル端末を含む)、又は携帯電話機(スマートフォンを含む)等である。
例えば、認識装置20は、制御部21、記憶部22、通信部23、操作部24、表示部25、及び撮影部26を含む。制御部21、記憶部22、通信部23、操作部24、及び表示部25の各々の物理的構成は、それぞれ制御部11、記憶部12、通信部13、操作部14、及び表示部15と同様であってよい。撮影部26は、少なくとも1つのカメラを含む。撮影部26は、所定のフレームレートで連続的に撮影を行う。なお、撮影部26は、動画ではなく、静止画を生成してもよい。
なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、学習装置10及び認識装置20の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
[2.RNNシステムの概要]
RNNシステムSでは、学習装置10によりRNNの学習が行われ、認識装置20により学習済みのRNNが利用される。本実施形態でRNNと記載した箇所は、機械学習のコンセプトを意味するのではなく、そのコンセプトにより生み出された電子的なデータを意味する。即ち、RNNは、プログラムとパラメータを含む機械学習モデルを意味する。なお、RNNは、プログラム又はパラメータの何れかだけを意味してもよい。
RNNシステムSでは、学習装置10によりRNNの学習が行われ、認識装置20により学習済みのRNNが利用される。本実施形態でRNNと記載した箇所は、機械学習のコンセプトを意味するのではなく、そのコンセプトにより生み出された電子的なデータを意味する。即ち、RNNは、プログラムとパラメータを含む機械学習モデルを意味する。なお、RNNは、プログラム又はパラメータの何れかだけを意味してもよい。
RNNに含まれるプログラムには、コンピュータが実行すべき処理内容(命令又は計算式)が定義されており、例えば、畳み込みやプーリングなどの処理を行うためのコードを含む。パラメータは、学習によって調整される少なくとも1つの数値を含み、例えば、重み付け係数やバイアスなどの数値を含む。学習前のRNNであれば、初期値のパラメータを含み、学習済みのRNNであれば、学習によって調整されたパラメータを含む。
RNNは、複数の認識を行う。認識とは、入力データに対して何らかの認識を行うことである。入力データは、RNNに入力されるデータである。別の言い方をすれば、入力データは、認識の対象になるデータである。ここでの認識は、入力データの分析、解析、理解、分類、又は識別を含む意味である。例えば、認識が行われると、入力データから所定の対象の有無が検出されたり、その位置が特定されたりする。RNNに順次入力される複数の入力データの各々は、互いに同じ形式である。RNNから順次出力される複数の認識結果の各々も、互いに同じ形式である。
RNNは、任意の認識を行うことができ、例えば、画像認識、音声認識、文字認識、人間自体の認識、人間の行動パターンの認識、又は自然界の現象の認識を行うことができる。RNNは、入力データの分類で用いられる場合、分類学習器と呼ばれることもある。入力データは、RNNの目的に応じた形式であればよく、例えば、画像、音声、テキスト、人間の行動履歴を示すデータ、又は自然界で検出された物理量を示すデータである。
本実施形態では、認識の一例として画像認識を説明する。このため、入力データは、画像であり、RNNは、画像内のオブジェクトを認識する。画像は、カメラで撮影された画像であってもよいし、CGであってもよい。画像から認識されるオブジェクトは、カメラで撮影された現実世界の被写体であってもよいし、CGに描かれた架空の物体であってもよい。
図2は、RNNの一例を示す図である。RNNは、個々の時間単位で見ると畳み込みニューラルネットワーク(以降、CNN)と同様の処理を行うので、図2ではCNNと記載する。図2の上側に示すように、入力画像群Xに含まれる複数の入力画像の各々が、RNNに順次入力される。ここでの順次入力とは、複数の入力画像の各々が次々と(順番に又は連続的に)入力されることである。RNNは、入力画像が入力されるたびに、入力画像の特徴量を計算し、特徴量に応じた認識結果を出力する。特徴量は、入力画像の全体的な特徴を示す少なくとも1つの数値で表現される。特徴量は、通常は多次元ベクトルで表現されるが、配列形式や単一の数値などの他の形式で表現されてもよい。なお、図2では、認識結果の集合をyと記載する。
本実施形態では、時間tnにおける入力画像をXnと記載する。入力画像Xnに対応する認識結果をynと記載する。本実施形態では、入力画像Xnのサイズ、縦横比、及びピクセル数が互いに同じであるものとするが、これらは、多少は異なっていてもよい。本実施形態では、認識結果ynがベクトル形式で表現され、その次元数は互いに同じである。認識結果ynは、配列形式や単一の数値などの他の形式で表現されてもよい。
図2の上側に示すRNNを時間軸方向に展開すると、図2の下側に示すRNNになる。ここでは、3つの入力画像X1〜X3が順次入力される場合を例に挙げて説明する。図2の下側では、3つのCNNを示しているが、3つの別々のRNN又はCNNが存在するのではなく、時間t1〜t3の各々におけるRNNの状態を図示している。このため、図面上の3つのCNNは、1つのRNNを意味する。
図2の下側に示すように、時間t1において、1枚目の入力画像X1がRNNに入力される。RNNは、入力画像X1の認識を行い、認識結果y1を出力する。時間t2において、2枚目の入力画像X2がRNNに入力される。RNNは、入力画像X2の認識を行い、認識結果y2を出力する。RNNの認識結果は、時間的に前における認識が影響するので、認識結果y2は、1枚目の入力画像X1の認識が影響する。時間t3において、3枚目の入力画像X3がRNNに入力される。RNNは、入力画像X3の認識を行い、認識結果y3を出力する。認識結果y3は、1枚目の入力画像X1の認識と2枚目の入力画像X2の認識が影響する。
本実施形態では、3枚目の入力画像X3に対して所定の目的の認識が行われ、1枚目の入力画像X1と2枚目の入力画像X2は、その目的のための事前認証で利用される。所定の目的とは、RNNが行う最終的な認識の目的である。別の言い方をすれば、所定の目的は、RNNを作成した意図又はRNNの用途ということもできる。事前認証は、所定の目的の認識の前に行われる認証である。事前認証は、RNNの利用者の正当性を確認するための認証である。事前認証が成功しなければ、所定の目的の認識が正しく行われない。このため、所定の目的の認識は、事前認証が成功した場合に正しく行われることが許可される認識である。
本実施形態では、所定の目的の一例として、じゃんけんにおける指の出し方を認識することを説明する。以降、所定の目的の認識をじゃんけん認識と記載する。じゃんけんは、指の出し方によって勝敗が決まる日本の遊戯である。じゃんけんの詳細は公知のウェブサイト(例えば、https://en.wikipedia.org/wiki/Rock_paper_scissors)を参照されたい。なお、所定の目的は、RNNの用途に応じて定めればよく、じゃんけん認識に限られない。他の目的については、後述の変形例に記載する。
じゃんけんには、「グー(Rock)」、「チョキ(Scissors)」、及び「パー(Paper)」の3種類の指の出し方が存在する。このため、RNNは、3枚目の入力画像X3が「グー」、「チョキ」、又は「パー」の何れに分類されるかを認識し、その認識結果y3を出力する。認識結果y3は、入力画像X1を利用した第1認証と、入力画像X2を利用した第2認証と、が成功しなければ、正確な結果を示さない。即ち、入力画像X1,X2は、事前認証におけるパスワードのような認証情報に相当する。
本実施形態では、入力画像X1が「りんご」の画像であれば第1認証が成功し、入力画像X2が「ねこ」の画像であれば第2認証が成功する場合を例に挙げる。なお、第1認証と第2認証の各々を成功させるために必要な画像は、任意の画像であってよく、本実施形態の例に限られない。また、RNNが画像認識以外の他の認識を行う場合には、事前認証で利用されるデータは、画像ではなく、その認識に応じた種類のデータになる。他の認識については、後述の変形例に記載する。
図3は、RNNに入力される入力画像Xnと、好ましい認識結果ynと、の関係の一例を示す図である。本実施形態では、認識結果ynが6次元のベクトル[p1,p2,p3,p4,p5,p6]で表現される場合を例に挙げる。以降、認識結果ynに含まれる6つの数値の各々をパラメータと記載する。各パラメータp1〜p6の意味は、下記の通りである。
パラメータp1は、入力画像Xnが「りんご」であるか否かを示すりんごフラグである。フラグは、分類結果を示すので、ラベルということもできる。パラメータp1は、第1認証が成功する入力画像Xnが入力されたか否かを示すフラグということもできる。入力画像Xnが「りんご」であれば、パラメータp1は所定の数値になる。入力画像Xnが「りんご」でなければ、パラメータp1は他の数値になる。本実施形態では、所定の数値を「1.0」とし、他の数値を「0.0」とする。なお、所定の数値と他の数値は、これらに限られず、任意の数値であってよい。この点は、後述するパラメータp2〜パラメータp6についても同様である。
パラメータp2は、入力画像Xnが「ねこ」であるか否かを示すねこフラグである。パラメータp2は、第2認証が成功する入力画像Xnが入力されたか否かを示すフラグということもできる。入力画像Xnが「ねこ」であれば、パラメータp2は、所定の数値の一例である「1.0」になる。入力画像Xnが「ねこ」でなければ、パラメータp2は、他の数値の一例である「0.0」になる。
パラメータp3は、入力画像Xnが「グー」である蓋然性を示すグースコアである。蓋然性は、確率、確度、又は尤らしさということもできる。蓋然性は、物事の程度を示すので、2値ではなく、中間値が存在する。即ち、蓋然性は、3段階以上を表現可能である。入力画像Xnが「グー」である蓋然性が高いほど、パラメータp3は、所定の数値の一例である「1.0」に近づく。入力画像Xnが「グー」である蓋然性が低いほど、パラメータp3は、他の数値の一例である「0.0」に近づく。ただし、未認証の場合には、パラメータp3は、入力画像Xnに関係なく「0.0」になる。
未認証とは、事前認証が成功していないことである。事前認証が成功していないとは、事前に入力画像Xnが入力されたが事前認証が失敗したこと、又は、事前に入力画像Xnが入力されず事前認証がそもそも行われていないことである。本実施形態では、第1の認証及び第2の認証の少なくとも一方が成功していないことは、未認証に相当する。RNNは、直近及びそれよりも前の認識の影響を受けるので、事前認証の結果を、認識結果y3のパラメータp3に反映できる。この点は、後述するパラメータp4,p5についても同様である。
パラメータp4は、入力画像Xnが「チョキ」である蓋然性を示すチョキスコアである。入力画像Xnが「チョキ」である蓋然性が高いほど、パラメータp4は、所定の数値の一例である「1.0」に近づく。入力画像Xnが「チョキ」である蓋然性が低いほど、パラメータp4は、他の数値の一例である「0.0」に近づく。ただし、未認証の場合には、パラメータp4は、入力画像Xnに関係なく「0.0」になる。
パラメータp5は、入力画像Xnが「パー」である蓋然性を示すパースコアである。入力画像Xnが「パー」である蓋然性が高いほど、パラメータp5は、所定の数値の一例である「1.0」に近づく。入力画像Xnが「グー」である蓋然性が低いほど、パラメータp5は、他の数値の一例である「0.0」に近づく。ただし、未認証の場合には、パラメータp5は、入力画像Xnに関係なく「0.0」になる。
パラメータp6は、未認証であるか否かを示す未認証フラグである。RNNは、直近及びそれよりも前の認識の影響を受けるので、未認証であるか否かをパラメータp6に反映できる。入力画像Xnが入力された時点で未認証であれば、パラメータp6は、所定の数値の一例である「1.0」になる。入力画像Xnが入力された時点で認証済みであれば、パラメータp6は、他の数値の一例である「0.0」になる。認証済みとは、事前認証が成功したことであり、未認証ではないことである。本実施形態では、第1の認証及び第2の認証の両方が成功したことは、認証済みに相当する。
上記のように、パラメータp3〜p6の総和は、原則として「1.0」になる。なお、パラメータp1,p2,p6は、「1.0」又は「0.0」の2値とするが、中間値が存在して3段階以上で示されてもよい。また、パラメータp3〜p5は、「1.0」以下かつ「0.0」以上の任意の数値で表現されるが、「1.0」又は「0.0」の2値であってもよい。
図3に示すように、入力画像X1〜X3の各々がRNNに順次入力されると、認識結果y1〜y3の各々が出力される。図3の上段は、「りんご」の入力画像X1、「ねこ」の入力画像X2、及び「チョキ」の入力画像X3の順序でRNNに入力された場合を示す。この場合、入力画像X1は「りんご」なので、認識結果y1のパラメータp1(りんごフラグ)は「1.0」になり、認識結果y1のパラメータp2〜p5は「0.0」になる。入力画像X1が入力された時点(時間t1)では未認証なので、認識結果y1のパラメータp6は「1.0」になる。
図3の上段における入力画像X2は「ねこ」なので、認識結果y2のパラメータp2(ねこフラグ)は「1.0」になり、認識結果y2のパラメータp1,p3〜p5は「0.0」になる。入力画像X2が入力された時点(時間t2)では未認証なので、認識結果y2のパラメータp6は「1.0」になる。なお、パラメータp6は、入力画像X2が入力された時点ではなく、第2認証の完了時点の結果を示してもよい。この場合には、認識結果y2のパラメータp6は「0.0」になる。
図3の上段における入力画像X3は「チョキ」なので、認識結果y3のパラメータp4(チョキスコア)は「1.0」になり、認識結果y3のパラメータp1〜p3,p5は「0.0」になる。入力画像X3が入力された時点(時間t3)では既に認証済みなので、認識結果y3のパラメータp6は「0.0」になる。
図3の中段は、「りんご」ではない「バナナ」の入力画像X1、「ねこ」の入力画像X2、及び「チョキ」の入力画像X3の順序でRNNに入力された場合を示す。この場合、入力画像X1は「バナナ」なので、認識結果y1のパラメータp1(りんごフラグ)は「0.0」になり、認識結果y1のパラメータp2〜p5も「0.0」になる。入力画像X2が入力された時点(時間t1)では未認証なので、認識結果y1のパラメータp6は「1.0」になる。
図3の中段における入力画像X2は「ねこ」なので、認識結果y2のパラメータp2(ねこフラグ)は「1.0」になり、認識結果y2のパラメータp1,p3〜p5は「0.0」になる。入力画像X2が入力された時点(時間t2)では未認証なので、認識結果y2のパラメータp6は「1.0」になる。
図3の中段における入力画像X3は「チョキ」であるが、第1の認証が失敗して未認証なので、認識結果y3のパラメータp4(チョキスコア)は「0.0」になり、認識結果y3のパラメータp1〜p3,p5も「0.0」になる。未認証のため、認識結果y3のパラメータp6は「1.0」になる。
図3の下段は、「りんご」の入力画像X1、「いぬ」の入力画像X2、及び「チョキ」の入力画像X3の順序でRNNに入力された場合を示す。この場合、入力画像X1は「りんご」なので、認識結果y1のパラメータp1(りんごフラグ)は「1.0」になり、認識結果y1のパラメータp2〜p5は「0.0」になる。入力画像X1が入力された時点(時間t1)では未認証なので、認識結果y1のパラメータp6は「1.0」になる。
図3の下段における入力画像X2は「いぬ」なので、認識結果y2のパラメータp2(ねこフラグ)は「0.0」になり、認識結果y2のパラメータp1,p3〜p5も「0.0」になる。入力画像X2が入力された時点(時間t2)では未認証なので、認識結果y2のパラメータp6は「1.0」になる。
図3の下段における入力画像X3は「チョキ」であるが、第2の認証が失敗して未認証なので、認識結果y3のパラメータp4(チョキスコア)は「0.0」になり、認識結果y3のパラメータp1〜p3,p5も「0.0」になる。未認証なので、RNNにより未認証と判定されて、認識結果y3のパラメータp6は「1.0」になる。
以上のように、本実施形態のRNNは、事前認証で認証済みでない限りは、目的の認識であるじゃんけん認識に係るスコア(パラメータp3〜p5)は、全て「0.0」になり、RNNの目的であるじゃんけん認識を適切に行うことができないようになっている。事前認証に必要な認証情報(本実施形態では、「りんご」の入力画像X1と「ねこ」の入力画像X2)は、第三者に知られないように秘密にされている。このため、第三者がRNN何らかの方法で盗んだとしても、事前認証を成功させることができないので、RNNをまともに利用することができない。
本実施形態の学習装置10は、上記のようなRNNを作成するための学習を行い、認識装置20は、上記のようなRNNを利用して事前認証及びじゃんけん認識を行う。以降、学習装置10と認識装置20の詳細について説明する。
[3.RNNシステムで実現される機能]
図4は、RNNシステムSで実現される機能の一例を示す機能ブロック図である。ここでは、学習装置10で実現される機能と、認識装置20で実現される機能と、について説明する。
図4は、RNNシステムSで実現される機能の一例を示す機能ブロック図である。ここでは、学習装置10で実現される機能と、認識装置20で実現される機能と、について説明する。
[3−1.学習装置で実現される機能]
学習装置10では、データ記憶部100、生成部101、取得部102、及び学習部103が実現される。データ記憶部100は、記憶部12を主として実現され、生成部101、取得部102、及び学習部103の各々は、制御部11を主として実現される。
学習装置10では、データ記憶部100、生成部101、取得部102、及び学習部103が実現される。データ記憶部100は、記憶部12を主として実現され、生成部101、取得部102、及び学習部103の各々は、制御部11を主として実現される。
[データ記憶部]
データ記憶部100は、RNNの学習に必要なデータを記憶する。本実施形態では、このデータの一例として、訓練データセットDSを説明する。訓練データセットDSは、複数の訓練データの集まりである。訓練データセットDSは、複数の訓練データを格納したデータベースということもできる。訓練データセットDSは、学習装置10のユーザによって用意される。
データ記憶部100は、RNNの学習に必要なデータを記憶する。本実施形態では、このデータの一例として、訓練データセットDSを説明する。訓練データセットDSは、複数の訓練データの集まりである。訓練データセットDSは、複数の訓練データを格納したデータベースということもできる。訓練データセットDSは、学習装置10のユーザによって用意される。
訓練データは、RNNに学習させる個々のデータ単位である。訓練データは、教師データ又は学習データと呼ばれることもある。例えば、訓練データには、入力データと正解データとが対応付けられている。即ち、訓練データは、入力データと正解データのペアである。1つ1つのペアが訓練データであり、その集まりが訓練データセットDSである。訓練データに含まれる入力データは、学習済みのRNNに入力される入力データと同じ形式(本実施形態では、画像形式)である。
正解データは、正解となる出力を示すデータである。正解となる出力とは、入力データが入力された場合にRNNが出力すべき内容(RNNに出力してほしい内容)である。例えば、正解データは、真値又は真値ベクトルを示すデータということもできる。正解データは、正解情報と呼ばれることもある。訓練データに含まれる正解データは、学習済みのRNNから出力される認識結果ynと同じ形式(本実施形態では、6次元のベクトル)であってもよいが、本実施形態では、その一部だけが正解データに示されている場合を説明する。
本実施形態では、RNNにより行われる複数の認識は、事前認証のための認識(第1認証と第2認証の各々の認識)と、所定の目的のための認識(じゃんけん認識)と、を含むので、複数の訓練データは、事前認証に係る学習のための認証用の入力データと、目的に係る学習のための目的用の入力データと、を含む。
事前認証に係る学習とは、事前認証を正しく行うための学習である。事前認証が成功する入力データを認識するようにRNNの学習を行うことは、事前認証に係る学習を行うことに相当する。即ち、事前認証が成功する入力データが入力された場合に事前認証が成功したと判定し、他の入力データが入力された場合に事前認証が失敗したと判定するように、RNNの学習を行うことは、事前認証に係る学習を行うことに相当する。認証用の入力データは、この学習で用いられる入力データである。本実施形態では、「りんご」の画像と「ねこ」の画像は、事前認証に係る学習の正例であり、認証用の入力データに相当する。これらの負例の画像(例えば、「バナナ」の画像と「いぬ」の画像)を用意する場合には、負例の画像についても認証用の入力データに相当する。
目的に係る学習とは、目的の認識を正しく行うための学習である。目的の認識の対象となる入力データを正しく認識するようにRNNの学習を行うことは、目的に係る学習を行うことに相当する。即ち、ある分類に属する入力データが入力された場合にその分類を認識するように、RNNの学習を行うことは、目的に係る学習を行うことに相当する。じゃんけん認識用の入力データ(目的用の入力データ)は、この学習で用いられる入力データである。本実施形態では、「グー」の画像、「チョキ」の画像、及び「パー」の画像は、目的に係る学習の正例であり、目的用の入力データに相当する。これらの負例の画像を用意する場合には、負例の画像についても目的用の入力データに相当する。
本実施形態では、訓練データセットDSは、第1認証用の訓練データセットDS1、第2認証用の訓練データセットDS2、及びじゃんけん認識用の訓練データセットDS3を含む。なお、訓練データセットDS1〜D3は、データとして別々であってもよい。
図5は、第1認証用の訓練データセットDS1のデータ格納例を示す図である。図5に示すように、訓練データセットDS1は、第1認証用の訓練データの集まりである。例えば、訓練データセットDS1には、第1認証用の入力データと正解データとが対応付けられた訓練データが多数格納されている。本実施形態では、「りんご」の画像であれば第1認証が成功するので、第1認証が成功する「りんご」の画像は、正例になる。第1認証が失敗する「バナナ」などの他の画像は、負例になる。
本実施形態では、訓練データセットDS1に含まれる正解データには、第1認証の結果だけが示される。即ち、この正解データには、RNNから出力される認識結果ynの6次元のベクトルのうち、第1認証の結果を示すパラメータp1の数値だけが示される。このため、正例の「りんご」の画像には、第1認証が成功したことに相当する「1.0」(正例であることを示す真値)を示す正解データが対応付けられている。負例の「バナナ」などの他の画像には、第1認証が失敗したことに相当する「0.0」(負例であることを示す真値)を示す正解データが対応付けられている。
なお、図5のデータ格納例では、同じ「りんご」の画像であったとしても、「りんご」の向きやサイズを変えたり輝度や色彩を変化させたりして、複数の正例が訓練データセットDS1に格納されている場合を示しているが、正例は、1つだけであってもよい。同様に、負例は、1つであってもよいし複数であってもよい。また、負例は、訓練データセットDS1に格納されていなくてもよい。また、負例として、正例の「りんご」と似た形状の「梨」の画像を用意してもよい。
図6は、第2認証用の訓練データセットDS2のデータ格納例を示す図である。図6に示すように、訓練データセットDS2は、第2認証用の訓練データの集まりである。例えば、訓練データセットDS2には、第2認証用の入力データと正解データとが対応付けられた訓練データが多数格納されている。本実施形態では、「ねこ」の画像であれば第2認証が成功するので、第2認証が成功する「ねこ」の画像は、正例になる。第2認証が失敗する「いぬ」などの他の画像は、負例になる。
訓練データセットDS1と同様に、訓練データセットDS2に含まれる正解データには、第2認証の結果だけが示される。即ち、この正解データには、RNNから出力される認識結果ynの6次元のベクトルのうち、第2認証の結果を示すパラメータp2の数値だけが示されている。このため、正例の「ねこ」の画像には、第2認証が成功したことに相当する「1.0」を示す正解データが対応付けられている。負例の「いぬ」などの他の画像には、第2認証が失敗したことに相当する「0.0」を示す正解データが対応付けられている。
なお、正例と負例が任意の数であってもよい点、負例が訓練データセットDS2に格納されていなくてもよい点、負例として正例の「いぬ」とよく似た「おおかみ」などの画像を用意してもよい点も、訓練データセットDS1と同様である。
図7は、じゃんけん認識用の訓練データセットDS3のデータ格納例を示す図である。図7に示すように、訓練データセットDS3は、所定の目的であるじゃんけん認識用の訓練データの集まりである。例えば、訓練データセットDS3には、じゃんけん認識用の入力データと正解データとが対応付けられた訓練データが多数格納されている。じゃんけん認識用の入力データは、目的用の入力データの一例である。本実施形態では、じゃんけん認識が所定の目的に相当するので、じゃんけん認識で認識すべき指の形を示す画像(「グー」の画像、「チョキ」の画像、及び「パー」の画像)は、正例になる。じゃんけんで使用される指の形以外を示す他の画像は、負例になる。
本実施形態では、訓練データセットDS3に含まれる正解データには、じゃんけん認識における認識結果だけが示される。即ち、この正解データには、RNNから出力される認識結果ynの6次元のベクトルのうち、じゃんけん認識における認識結果を示すパラメータp3〜p5の数値だけが示されている。このため、正例の「グー」の画像には、[1.0,0.0,0.0]を示す正解データが対応付けられている。正例の「チョキ」と「パー」についても同様であり、正解データは、図7に示す通りである。
なお、図7では負例を示していないが、訓練データセットDS3には、負例が格納されていてもよい。負例のじゃんけん認識用の入力データには、[0.0,0.0,0.0]を示す正解データが対応付けられている。また、正例と負例が任意の数であってもよい点、負例として正例の指の形と似た形を示す画像を用意してもよい点も、訓練データセットDS1,DS2と同様である。
また例えば、データ記憶部100は、学習前のRNNを記憶する。本実施形態では、学習済みのRNNは、認識装置20のデータ記憶部200に記憶される場合を説明するが、学習装置10のデータ記憶部100は、学習済みのRNNを記憶してもよい。他にも例えば、データ記憶部100は、学習の処理に必要なプログラムや後述する数式を記憶してもよい。この数式は、プログラムの一部として記述されていてもよい。
[生成部]
生成部101は、複数の訓練データを生成し、訓練データセットDSをデータ記憶部100に記録する。本実施形態では、生成部101は、第1認証用の複数の訓練データ、第2認証用の複数の訓練データ、及びじゃんけん認識用の複数の訓練データを生成し、訓練データセットDS1〜DS3をデータ記憶部100に記録する。
生成部101は、複数の訓練データを生成し、訓練データセットDSをデータ記憶部100に記録する。本実施形態では、生成部101は、第1認証用の複数の訓練データ、第2認証用の複数の訓練データ、及びじゃんけん認識用の複数の訓練データを生成し、訓練データセットDS1〜DS3をデータ記憶部100に記録する。
例えば、訓練データに含まれる入力データと正解データのペアは、ユーザの操作によって生成される。生成部101は、ユーザにより指定された入力データと、ユーザにより指定された正解データと、のペアを複数取得し、複数の訓練データとして生成する。入力データは、データ記憶部100に予め記憶されていてもよいし、学習装置10以外の他のコンピュータ又は情報記憶媒体に記憶されていてもよい。
なお、ユーザは、全ての入力データに対応する正解データを手動で指定してもよいが、一部の入力データに対応する正解データだけを指定してもよい。この場合、生成部101は、複数の入力データの各々の特徴量をもとにクラスタリングを行い、ユーザが正解データを指定した入力データと同じクラスタに属する他の入力データについては、この正解データを付与してもよい。このように、ユーザに一部の正解データだけを指定させ、生成部101は、半自動的に複数の訓練データを生成してもよい。
また、ユーザに正解データを手動で指定させずに、生成部101は、予め定められた付与方法に基づいて、各入力データに対して正解データを付与してもよい。この場合、付与方法には、入力データの特徴量と、対応する正解データと、の関係が定義されているものとする。生成部101は、所定の計算式に基づいて入力データの特徴量を計算し、対応する正解データを付与することによって、訓練データを生成する。このように、ユーザに正解データの指定をさせることなく、生成部101は、全自動的に複数の訓練データを生成してもよい。
[取得部]
取得部102は、入力データと正解データが対応付けられた訓練データを複数取得する。本実施形態では、複数の訓練データを含む訓練データセットDSがデータ記憶部100に記憶されているので、取得部102は、データ記憶部100から訓練データセットDSを取得する。また、本実施形態では、3つの訓練データセットDS1〜DS3が存在するので、取得部102は、訓練データセットDS1〜D3の各々を取得する。取得部102は、これらを同時に取得する必要はなく、これらを別々に取得してもよい。なお、訓練データセットDSは、学習装置10以外の他のコンピュータ又は外部の情報記憶媒体に記憶されており、取得部102は、他のコンピュータ又は外部の情報記憶媒体から訓練データセットDSを取得してもよい。
取得部102は、入力データと正解データが対応付けられた訓練データを複数取得する。本実施形態では、複数の訓練データを含む訓練データセットDSがデータ記憶部100に記憶されているので、取得部102は、データ記憶部100から訓練データセットDSを取得する。また、本実施形態では、3つの訓練データセットDS1〜DS3が存在するので、取得部102は、訓練データセットDS1〜D3の各々を取得する。取得部102は、これらを同時に取得する必要はなく、これらを別々に取得してもよい。なお、訓練データセットDSは、学習装置10以外の他のコンピュータ又は外部の情報記憶媒体に記憶されており、取得部102は、他のコンピュータ又は外部の情報記憶媒体から訓練データセットDSを取得してもよい。
[学習部]
学習部103は、複数の認識を行うRNNに対し、複数の訓練データの各々に含まれる入力データを順次入力し、当該入力データに対応する正解データに基づいて、RNNの学習を行う。本実施形態では、入力データの入力順が予め定められている場合を説明するが、入力データの入力順は、ランダムに定まってもよい。
学習部103は、複数の認識を行うRNNに対し、複数の訓練データの各々に含まれる入力データを順次入力し、当該入力データに対応する正解データに基づいて、RNNの学習を行う。本実施形態では、入力データの入力順が予め定められている場合を説明するが、入力データの入力順は、ランダムに定まってもよい。
本実施形態では、第1認証、第2認証、じゃんけん認識の順序で認識が行われるので、学習部103は、この順序でRNNに入力データを入力する場合を例に挙げる。即ち、学習部103は、第1認証用の訓練データに含まれる入力データ、第2認証用の訓練データに含まれる入力データ、じゃんけん認識用の訓練データに含まれる入力データの順序で、RNNに入力する。学習部103は、これらの入力データが入力されるたびに、当該入力データに対応する正解データに含まれる数値又はそれに近い数値がRNNから出力されるように、RNNの学習を行う。ただし、事前認証が成功しない場合には、RNNは正しい出力をしないので、この点は、通常のRNNの学習とは大きく異なる点である。
以降、図3のような認識結果ynを出力するようにRNNの学習を行う場合を例に挙げて、学習部103の処理を説明する。学習部103は、訓練データセットDSに含まれる個々の入力データがRNNに入力された場合に出力された認識結果ynと、当該入力データに対応する正解データと、に基づいて、損失を計算する。損失は、損失の数値を計算する関数それ自体を指して損失関数と呼ばれることもある。学習部103は、計算された損失が小さくなるように、RNNの学習を行う。損失の計算方法自体は、2乗和誤差又はクロスエントロピーといった公知の計算方法を利用可能であるが、本実施形態では、事前認証が成功しなかった場合の損失の計算方法が公知の計算方法とは大きく異なる。
以降、図3の時間t1における第1認証でRNNから出力された認識結果y1のパラメータp1をy1_1と記載する。時間t1における入力画像X1に対応する正解データの数値(パラメータp1の真値)をr1と記載する。時間t2における第2認証でRNNにより出力された認識結果y2のパラメータp2をy2_2と記載する。時間t2における入力画像X2に対応する正解データの数値(パラメータp2の真値)をr2と記載する。時間t3におけるじゃんけん認証でRNNにより出力された認識結果y3のパラメータp3〜p6をyjanと記載する。時間t3における入力画像X3に対応する正解データの数値(パラメータp3〜p5の真値)をrjanと記載する。rjanには、yjanのパラメータp6に相当する数値が含まれていないので、下記の数式1によりその数値が補てんされる。
例えば、学習部103は、下記数式1−2により損失Eを計算する。第1認証及び第2認証の両方に成功した場合(即ち、r1=1.0かつr2=1.0の場合)には、数式1が利用される。第1認証及び第2認証の少なくとも一方が失敗した場合(即ち、r1=0.0及び/又はr2=0.0の場合)には、数式2が利用される。なお、入力画像X3が「グー」「チョキ」「パー」の何れの画像でもない場合(パラメータp3〜p5が何れも閾値未満である場合)、事前認証が成功していたとしても数式2が利用されるものとするが、負例の正解データとして[0.0,0.0,0.0]が示されているのであれば、数式1が利用されてもよい。
数式1及び数式2におけるBCEは、2値クロスエントロピーである。CEは、クロスエントロピーである。k1〜k3は、重み付け係数である。なお、2値クロスエントロピー及びクロスエントロピー自体は、公知の手法(例えば、https://www.renom.jp/ja/notebooks/tutorial/basic_algorithm/lossfunction/notebook.html)を利用可能である。
学習部103は、数式1及び数式2により計算される損失Eが小さくなるように、RNNの学習を行う。学習部103は、損失Eが十分小さくなるまで(例えば、損失Eが閾値未満になる)まで、RNNの学習を繰り返す。学習部103は、損失Eが十分小さくなるまで同じ訓練データセットDSで学習を繰り返してもよいし、新たな訓練データセットDSを取得して学習をしてもよい。学習途中で損失Eが十分小さくなった場合には、その時点で学習が終了してもよい。学習部103は、損失Eが十分小さくならなくても、所定回数の学習を繰り返した場合には学習が終了してもよい。
なお、学習方法(パラメータの調整方法)自体は、公知の手法を利用可能であり、例えば、BPTT(Backpropagation Through Time)法などが利用されてもよい。数式1−2を利用した学習により、図3に示すように、「りんご」の入力画像X1と「ねこ」の入力画像X2を事前に入力して2つの事前認証を成功させないと、じゃんけん認識において正確な動作をしないRNNを作成できる。
また、第1認証用の訓練データセットDS1の訓練データ、第2認証用の訓練データセットDS2の訓練データ、じゃんけん認識用の訓練データセットDS3の訓練データの順でRNNに入力される場合を説明したが、他の順序で訓練データが入力される場合も、学習部103は、数式1−2と同様にして損失Eを計算すればよい。
また、説明の簡略化のために、3回分の入力について説明したが、4回目以降の入力についても同様の考え方で損失Eを計算可能である。より多くの回数の入力を1つのまとまりとして学習を行うことで、じゃんけん認識を開始させる際に、管理者が最初に一度事前認証を行えば、その後は再度の認証をすることなく、じゃんけん認識を連続して行うことができる。これとは逆に、一度じゃんけん認識処理が行われた後は未認証状態に戻して損失Eを計算することで、じゃんけん認識をするたびに事前認証が必要なRNNとすることもできる。
上記のように、学習部103は、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、RNNの学習を行う。事前認証が成功する認証用の入力データとは、事前認証における正例の入力データである。本実施形態では、第1認証用の訓練データセットDS1に格納された正例の入力データと、第2認証用の訓練データセットDS2に格納された正例の入力データと、は事前認証が成功する認証用の入力データに相当する。
事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合とは、事前認証が失敗する入力データ(負例の入力データ)が入力された後にじゃんけん認識用の入力データが入力された場合、又は、そもそも認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合である。本実施形態のように、多段階の事前認証が行われるRNNでは、そのうちの1つでも事前認証が成功する認証用の入力データが入力されなければ、事前認証が成功する認証用の入力データが入力されないことに相当する。
目的に係る正しい認識結果とは、目的の認識において正しく認識されることである。別の言い方をすれば、目的に係る正しい認識結果は、じゃんけん認識用の入力データが本来認識されるべき結果である。本実施形態のように、目的用入力データに対応する正解データが、目的に係る正しい認識結果を示す場合には、目的に係る正しい認識結果は、正解データと同じ数値を示すことを意味する。後述する変形例(2)では、この意味とは異なる意味になるが、この点については後述する。
例えば、じゃんけん認識用の入力データが「グー」の画像であれば、認識結果ynが「グー」を示すことは、目的に係る正しい認識結果を出力することに相当する。認識結果ynが「グー」を示すとは、パラメータp3が「1.0」であること、又は、パラメータp3が「1.0」未満であるが閾値(例えば、0.7)以上であることである。「チョキ」と「パー」の画像における「目的に係る正しい認識結果」も同様の意味であり、この説明の「グー」を「チョキ」又は「パー」と読み替え、「p3」を「p4」又は「p5」と読み替えればよい。
一方、じゃんけん認識用の入力データが「グー」「チョキ」「パー」の何れでもない画像であれば、認識結果ynが「グー」「チョキ」「パー」の何れも示さないことは、目的に係る正しい認識結果を出力することに相当する。認識結果ynが「グー」「チョキ」「パー」の何れも示さないとは、パラメータp3〜p5が何れも閾値(例えば、0.7)未満であることである。この場合、じゃんけん認識用の入力データは、負例に相当するので、負例であることを示す認識結果は、目的に係る正しい認識結果になる。
目的に係る正しい認識結果を出力しないとは、目的に係る誤った認識結果を出力するということもできる。目的に係る誤った認識結果とは、目的に係る正しい認識結果とは異なる認識結果である。別の言い方をすれば、目的に係る誤った認識結果は、じゃんけん認識用の入力データが本来認識されるべきではない結果である。本実施形態のように、目的用入力データに対応する正解データが、目的に係る正しい認識結果を示す場合には、目的に係る誤った認識結果は、正解データに含まれる数値とは異なる数値を示すことを意味する。後述する変形例(2)では、この意味とは異なる意味になるが、この点については後述する。
例えば、じゃんけん認識用の入力データが「グー」の画像であれば、認識結果ynが「グー」を示さないことは、目的に係る誤った認識結果を出力することに相当する。認識結果ynが「グー」を示さないとは、パラメータp3が閾値(例えば、0.7)未満であることである。「チョキ」と「パー」の画像における「目的に係る誤った認識結果」も同様の意味であり、この説明の「グー」を「チョキ」又は「パー」と読み替え、「p3」を「p4」又は「p5」と読み替えればよい。
本実施形態では、じゃんけん認識用の入力データに対応する正解データは、目的に係る正しい認識結果を示すので、学習部103は、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データに対応する正解データがRNNに学習されることを制限する。
正解データがRNNに学習されるとは、じゃんけん認識用の入力データに対応する正解データに基づいて、RNNのパラメータを調整することである。別の言い方をすれば、じゃんけん認識用の入力データに対応するRNNの出力が当該入力データに対応する正解データに近づくように、RNNのパラメータを調整することは、正解データがRNNに学習されることに相当する。即ち、じゃんけん認識用の入力データに対応するRNNの出力と、当該入力データに対応する正解データと、に基づく損失(例えば、数式1の損失E)が小さくなるように、RNNのパラメータを調整することは、正解データがRNNに学習されることに相当する。
正解データがRNNに学習されることを制限するとは、じゃんけん認識用の入力データに対応する正解データがそのままRNNに学習されないようにすることである。例えば、じゃんけん認識用の入力データに対応する正解データに含まれる数値とは異なる数値でRNNの学習を行うこと、又は、じゃんけん認識用の入力データに対応する正解データをそもそも学習させないことは、制限に相当する。
例えば、学習部103は、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データに対応するRNNの出力と、当該じゃんけん認識用の入力データに対応する正解データに含まれる数値とは異なる数値と、に基づく損失Eが小さくなるように、RNNの学習を行う。ここでのRNNの出力とは、認識結果ynのうち損失Eの計算で用いられるものであり、認識結果ynの全部又は一部である。本実施形態では、じゃんけん認識用の入力データが入力された場合、認識結果ynのうちの4つのパラメータp3〜p6が損失の計算で利用されるので、これら4つが、損失Eの計算で利用されるRNNの出力に相当する。
正解データに含まれる数値とは異なる数値とは、正解データに含まれる数値ではない数値である。ただし、この異なる数値が正解データの数値に近いと、RNNの不正利用を防止しにくくなる可能性があるので、本実施形態では、この異なる数値は、正解データの数値との差が閾値(例えば、0.7)以上の数値とする。本実施形態では、正例の入力データに対応する正解データの数値は「1.0」なので、異なる数値は、「1.0」ではない数値であり、例えば、「0.0」、又は、「0.0」ではないが閾値(例えば、0.3)未満の値である。正解データが複数の数値(本実施形態では、パラメータp3〜p5に相当する3つの数値)を含む場合には、その全ての数値が異なってもよいし、その一部の数値だけが異なってもよい。
本実施形態では、正解データに含まれる数値とは異なる数値は、当該正解データに対応するじゃんけん認識用の入力データの内容に依存しない数値(固定値)である。この数値は、予め定められた数値であればよく、本実施形態では、数式2に定められた[0.0,0.0,0.0,1.0]のうちの[0.0,0.0,0.0]に含まれる「0.0」という数値とする。この数値は、本実施形態の例に限られず、正解データに含まれる数値と異なるのであれば、他の数値であってもよい。学習部103は、RNNの出力と、正解データに含まれる数値とは異なる数値と、を所定の計算式に代入して損失Eを計算する。先述したように、この計算式は、数1−2に限られず、他の計算式であってもよい。この損失Eは、RNNの出力と、正解データに含まれる数値とは異なる数値と、の違いを示す指標ということができる。
上記では、事前認証が成功しなかった場合の学習を説明したが、学習部103は、事前認証が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、当該認証用の入力データに対応する正解データと、当該じゃんけん認識用の入力データに対応する正解データと、に基づいて、RNNの学習を行う。事前認証に係る学習とじゃんけん認証に係る学習が区別される点については、通常の学習とは大きく異なるが、個々の学習方法単体で見れば、訓練データをそのまま学習させることになるので、学習方法自体は、通常の学習と同様である。
例えば、学習部103は、事前認証が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、当該認証用の入力データに対応するRNNの出力、当該認証用の入力データに対応する正解データ、当該じゃんけん認識用の入力データに対応するRNNの出力、及び当該じゃんけん認識用の入力データに対応する正解データに基づく損失Eが小さくなるように、RNNの学習を行う。この場合、数式1と同様にして損失Eが計算されて学習が行われる。この損失Eは、認証用の入力データに対応するRNNの出力と当該認証用の入力データに対応する正解データとの違い、及び、じゃんけん認識用の入力データに対応するRNNの出力と、当該じゃんけん認識用の入力データに対応する正解データと、の違いの両方を示す指標といえる。なお、これらの違いを別々の損失Eとして表現してもよい。
本実施形態では、複数の訓練データは、事前認証が失敗する認証用の入力データ(負例の入力データ)を含み、学習部103は、事前認証が失敗する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、RNNの学習を行う。事前認証が失敗する認証用の入力データがRNNに入力されることは、事前認証が成功しないことに相当するので、この場合は、学習部103は、先述した方法によって、目的に係る正しい認識結果が出力されないように、RNNの学習を行う。学習部103は、認証用の正例の入力データが入力された後にじゃんけん認識用の入力データが入力された場合には、事前認証が成功しているので、目的に係る正しい認識結果が出力されるように、RNNの学習を行うことになる。
本実施形態では、複数の認識は、複数の事前認証にそれぞれ対応する複数の認識を含み、複数の訓練データは、複数の事前認証にそれぞれ対応する複数の認証用の入力データを含む。複数の事前認証は、本実施形態のような2段階認証に限られず、3段階以上であってもよい。個々の事前認証を成功させるために必要な入力データは、互いに異なるものとするが、同じ入力データで成功する複数の事前認証が存在してもよい。事前認証に対応する認証用の入力データとは、その事前認証を成功するための認証用の入力データである。
学習部103は、複数の事前認証の各々が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、RNNの学習を行う。複数の事前認証の各々が成功するとは、複数の事前認証の全てについて成功することである。何れかの事前認証が成功しなければ、複数の事前認証の各々が成功することにはならない。学習部103は、複数の事前認証の各々が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合には、目的に係る正しい認識結果が出力されるように、RNNの学習を行う。
本実施形態では、RNNの出力は、事前認証の成否に関する数値を含む。この数値は、事前認証の成否を特定可能な数値である。本実施形態では、パラメータp6がこの数値に相当する。学習部103は、じゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データが入力される前における事前認証の成否に関する数値が出力されるように、RNNの学習を行う。学習部103は、事前認証が成功した後にじゃんけん認識用の入力データが入力された場合に、事前認証が成功したことを示す数値(本実施形態では、「0.0」)が出力されるように、RNNの学習を行う。学習部103は、事前認証が成功せずにじゃんけん認識用の入力データが入力された場合に、事前認証が成功していないことを示す数値(本実施形態では、「1.0」)が出力されるように、RNNの学習を行う。
なお、事前認証の成否に関する数値は、パラメータp6のような2値ではなく、中間値が存在して多段階で示されてもよい。他にも例えば、事前認証の成否に関する数値は、複数の数値が存在してもよい。この場合、事前認証の成否は、複数の数値からなるベクトル形式や配列形式などで表現されてもよい。例えば、第1認証の成否を示すパラメータと、第2認証の成否を示すパラメータと、が別々に存在してもよい。このようにした場合、第1認証と第2認証の何れが成功していないかを特定できる。その特定結果は、認識装置20などのコンピュータにおいて、管理者向けに提示されてもよい。
本実施形態では、RNNの出力は、じゃんけん認識用の入力データに対する認識結果に関する数値(パラメータp3〜p5)を含み、じゃんけん認識用の入力データに対する認識結果に関する数値(パラメータp6)と、事前認証の成否に関する数値と、の総和は一定である。この総和は、本実施形態では「1.0」とするが、他の数値であってもよい。学習部103は、これらの総和が一定となるような認識結果ynを出力するように、RNNの学習を行う。
本実施形態では、RNNの出力は、認証用の入力データに対応する認識結果に関する第1の数値(パラメータp1,p2)と、じゃんけん認識用の入力データに対応する認識結果に関する第2の数値(パラメータp3〜p5)と、を含む。第1の数値と第2の数値の各々は、任意の個数が存在してよい。例えば、本実施形態では、第1の数値としてパラメータp1,p2の2つが存在するが、第1の数値は、1つだけ存在してもよいし、3つ以上が存在してもよい。同様に、第2の数値として、パラメータp3〜p5の3つが存在するが、第2の数値は、1つ、2つ、又は4つ以上であってもよい。第1の数値と第2の数値の各々が複数個存在する場合には、それらの全体がベクトル形式や配列形式で表現されてもよい。先述したように、認証用の入力データに対応する正解データは、第2の数値(パラメータp3〜p5)を含まずに第1の数値(パラメータp1,p2)を含む。じゃんけん認識用の入力データに対応する正解データは、第1の数値(パラメータp1,p2)を含まずに第2の数値(パラメータp3〜p5)を含む。
学習部103は、認証用の入力データに対応するRNNの出力に含まれる第1の数値(パラメータp1,p2)、認証用の入力データに対応する正解データに含まれる第1の数値(パラメータp1,p2)、じゃんけん認識用の入力データに対応するRNNの出力に含まれる第2の数値(パラメータp3〜p5)、及びじゃんけん認識用の入力データに対応する正解データに含まれる第2の数値(パラメータp3〜p5)に基づいて、RNNの学習を行う。これらを利用した学習方法は、先述した通りであり、本実施形態では、数式1−2に基づく損失Eが利用される。
[3−2.認識装置で実現される機能]
認識装置20では、データ記憶部200、取得部201、及び処理実行部202が実現される。データ記憶部200は、記憶部22を主として実現され、取得部201及び処理実行部202の各々は、制御部21を主として実現される。
認識装置20では、データ記憶部200、取得部201、及び処理実行部202が実現される。データ記憶部200は、記憶部22を主として実現され、取得部201及び処理実行部202の各々は、制御部21を主として実現される。
[データ記憶部]
データ記憶部200は、複数の認識を行うRNNを記憶する。このRNNは、学習済みのRNNである。認識装置20は、学習装置10から学習済みのRNNを取得し、データ記憶部200に記録する。
データ記憶部200は、複数の認識を行うRNNを記憶する。このRNNは、学習済みのRNNである。認識装置20は、学習装置10から学習済みのRNNを取得し、データ記憶部200に記録する。
[取得部]
取得部201は、RNNに対し、複数の入力データの各々を順次入力し、複数の入力データの各々に対応するRNNの出力を取得する。この入力データは、RNNの学習で利用される入力データではなく、学習済みのRNNの認識対象となるデータである。認識対象となる入力データは、訓練データに含まれる入力データと同じ形式である。入力データは、データ記憶部200に記憶されていてもよいが、本実施形態では、撮影部26により撮影された画像が入力データとして取得される。なお、入力データは、操作部24から入力されてもよいし、認識装置20以外の他のコンピュータ又は外部の情報記憶媒体から取得されてもよい。
取得部201は、RNNに対し、複数の入力データの各々を順次入力し、複数の入力データの各々に対応するRNNの出力を取得する。この入力データは、RNNの学習で利用される入力データではなく、学習済みのRNNの認識対象となるデータである。認識対象となる入力データは、訓練データに含まれる入力データと同じ形式である。入力データは、データ記憶部200に記憶されていてもよいが、本実施形態では、撮影部26により撮影された画像が入力データとして取得される。なお、入力データは、操作部24から入力されてもよいし、認識装置20以外の他のコンピュータ又は外部の情報記憶媒体から取得されてもよい。
複数の入力データは、事前認証のための認証用の入力データと、目的のためのじゃんけん認識用の入力データと、を含む。この点は、訓練データに含まれる入力データと同じである。RNNは、入力データの特徴量を計算し、その特徴量と、入力データが入力される前に行われた認識(途中の計算結果やそれまでに得られた認識結果yn)と、に応じた認識結果ynを出力する。これらの計算は、学習済みのパラメータが用いられる。即ち、入力データの特徴量と、入力データが入力される前に行われた認識と、から認識結果ynを導き出す計算には、学習済みのパラメータが用いられる。特徴量は、任意の次元数で表現される。RNNによる特徴量の計算方法自体は、公知の方法を利用可能であり、例えば、重み付け係数が設定されたフィルタによる畳み込みやプーリングなどが行われる。
RNNは、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果を出力せずに、目的に係る誤った認識結果を出力する。RNNは、事前認証が成功する認証用の入力データが入力された後にじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果を出力する。即ち、RNNは、事前認証が成功したことを条件として、目的に係る正しい認識結果を出力する。RNNが出力する認識結果yは、図3で説明した通りである。
[処理実行部]
処理実行部202は、取得部201により取得されたRNNの出力に基づいて、所定の処理を実行する。所定の処理は、RNNの目的に応じた処理であればよく、本実施形態では、じゃんけんを実行する処理である。RNNがじゃんけん認識以外の目的で利用される場合には、処理実行部202は、その目的に応じた処理を実行すればよい。処理実行部202は、RNNの出力に基づいて、認識装置20のユーザの指の形を特定し、対戦相手とのじゃんけんを実行する。対戦相手の指の形は、対戦相手の認識装置20によって特定されてもよいし、操作部24からの入力などの他の方法によって特定されてもよい。対戦相手は、認識装置20などのコンピュータであってもよい。
処理実行部202は、取得部201により取得されたRNNの出力に基づいて、所定の処理を実行する。所定の処理は、RNNの目的に応じた処理であればよく、本実施形態では、じゃんけんを実行する処理である。RNNがじゃんけん認識以外の目的で利用される場合には、処理実行部202は、その目的に応じた処理を実行すればよい。処理実行部202は、RNNの出力に基づいて、認識装置20のユーザの指の形を特定し、対戦相手とのじゃんけんを実行する。対戦相手の指の形は、対戦相手の認識装置20によって特定されてもよいし、操作部24からの入力などの他の方法によって特定されてもよい。対戦相手は、認識装置20などのコンピュータであってもよい。
[4.RNNシステムで実行される処理]
本実施形態では、RNNシステムSで実行される処理として、学習装置10が実行する処理と、認識装置20が実行する処理と、について説明する。
本実施形態では、RNNシステムSで実行される処理として、学習装置10が実行する処理と、認識装置20が実行する処理と、について説明する。
[4−1.学習装置が実行する処理]
図8は、学習装置10が実行する処理の一例を示すフロー図である。図8に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図4に示す機能ブロックにより実行される処理の一例である。なお、訓練データセットDSと学習前のRNNは、予め記憶部12に記憶されているものとする。
図8は、学習装置10が実行する処理の一例を示すフロー図である。図8に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図4に示す機能ブロックにより実行される処理の一例である。なお、訓練データセットDSと学習前のRNNは、予め記憶部12に記憶されているものとする。
図8に示すように、学習装置10は、第1認証用の訓練データセットDS1のうちの何れかの訓練データを取得してRNNに入力し、その訓練データに対応する認識結果y1を得る(S100)。学習装置10は、RNNに対し、第2認証用の訓練データセットDS2のうちの何れかの訓練データを入力し、その訓練データに対応する認識結果y2を得る(S101)。
学習装置10は、じゃんけん認証用の訓練データセットDS3のうちの何れかの訓練データを取得してRNNに入力し、その訓練データに対応する認識結果y3を得る(S102)。学習装置10は、認識結果y1〜y3と数式1−2とに基づいて、損失Eを計算して、損失Eが小さくなるようにRNNの学習を行う(S103)。
学習装置10は、RNNの学習を終了するか否かを判定する(S104)。RNNの学習は、任意のタイミングで終了可能であり、先述したように、損失Eが十分に小さくなった場合に終了してもよいし、他のタイミングで終了してもよい。学習を終了すると判定されない場合(S104;N)、S100の処理に戻る。この場合、RNNの学習が継続される。学習を終了すると判定された場合(S104;Y)、学習装置10は、認識装置20に対し、学習済みのRNNを送信し(S105)、本処理は終了する。S105で送信された学習済みのRNNは、認識装置20に記録される。
[4−2.認識装置が実行する処理]
図9は、認識装置20が実行する処理の一例を示すフロー図である。図9に示す利用処理は、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図4に示す機能ブロックにより実行される処理の一例である。学習済みのRNNは、記憶部22に記憶されているものとする。
図9は、認識装置20が実行する処理の一例を示すフロー図である。図9に示す利用処理は、制御部21が記憶部22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図4に示す機能ブロックにより実行される処理の一例である。学習済みのRNNは、記憶部22に記憶されているものとする。
図9に示すように、認識装置20は、所定の開始条件が満たされたか否かを判定する(S200)。開始条件は、RNNによる認識を開始するための合図に相当する条件であり、例えば、操作部24から所定の操作をすること、又は、撮影部26により所定の画像が撮影されることである。開始条件を定めておくことにより、図3の時間t1よりも前にノイズとなる画像がRNNに入力されて、その後の認識に影響することを防止できる。開始条件は、操作部24又は撮影部26以外で検出可能な条件であってもよく、例えば、所定の音声を入力することであってもよい。
開始条件が満たされたと判定されない場合(S200;N)、S200の処理に戻る。この場合、開始条件が満たされるまでは、S201以降の処理は実行されない。一方、開始条件が満たされたと判定された場合(S200;Y)、認識装置20は、撮影部26の検出信号に基づいて、1枚目の入力画像X1を取得してRNNに入力し、RNNから出力された認識結果y1を取得する(S201)。なお、撮影部26は、連続的に撮影を行って入力画像X1〜X3を連続的に生成してもよいし、ユーザが操作部24から所定の操作を行った場合に撮影を行い、操作が行われるたびに、入力画像X1〜X3の各々を生成してもよい。
認識装置20は、撮影部26の検出信号に基づいて、2枚目の入力画像X2を取得してRNNに入力し、RNNから出力された認識結果y2を取得する(S202)。認識装置20は、撮影部26の検出信号に基づいて、3枚目の入力画像X3を取得してRNNに入力し、RNNから出力された認識結果y3を取得する(S203)。
認識装置20は、S203で取得された認識結果y3に基づいて、じゃんけん処理を実行し(S204)、本処理は終了する。S204においては、認識装置20は、認識結果y3に基づいて、入力画像X3に示された指の形を特定し、対戦相手の指の形と比較して勝敗又は引き分けを判定する。なお、S201で取得された認識結果y1と、S202で取得された認識結果y2と、はじゃんけん処理では利用されず、デバッグ用に記録されるようにしてもよい。なお、パラメータp6が「1.0」であるにも関わらず、認識結果y3のパラメータp3〜p5の数値が何れも低い場合には、何らかの理由で指の形が正確に認識できなかったことを意味するので、エラーメッセージが出力されてもよい。
実施形態のRNNシステムSによれば、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、目的に係る正しい認識結果が出力されないように、RNNの学習を行う。これにより、事前認証が成功しなければ、まともにじゃんけん認識をしないRNNを作成し、RNNの不正利用を防止できる。即ち、RNNのセキュリティを向上させることができる。例えば、RNNを利用するために「りんご」の画像と「ねこ」の画像が事前認証で必要になることは、第三者に秘密にされる。このため、第三者が何らかの形でRNNを盗み出したとしても、事前認証で必要な情報を知ることができないし、そもそも事前認証が必要なのかを知ることもできない。第三者がRNNに何の画像を入力したとしても、認識結果ynは[0.0,0.0,0.0,0.0,0.0,1.0]又はそれに近い内容になり、ある意味使い物にならないRNN(じゃんけん認識器として機能しないRNN)になるので、RNNの不正利用を防止できる。なお、事前認証の結果は、管理者向けに提示してもよいし、提示しなくてもよい。事前認証の結果を提示した方が管理者としてはRNNが正確に動作しているかを把握しやすいが、提示しない方がセキュリティは向上する。
また、RNNシステムSは、事前認証が成功する認証用の入力データが入力されずにじゃんけん認識用の入力データが入力された場合に、当該じゃんけん認識用の入力データに対応する正解データがRNNに学習されることを制限することにより、RNNの不正利用をより確実に防止できる。例えば、後述する変形例(2)のようにしてRNNを作成することもできるが、実施形態のようにして学習を行えば、特に訓練データの入力順を定めなくてもよいので、訓練データを用意する手間を軽くすることができる。
また、RNNシステムSは、じゃんけん認識用の入力データに対応するRNNの出力と、当該じゃんけん認識用の入力データに対応する正解データに含まれる数値とは異なる数値と、に基づく損失Eが小さくなるように、RNNの学習を行うことにより、RNNの不正利用をより確実に防止できる。例えば、事前認証が成功しないでじゃんけん認識用の入力データが入力された場合には、その入力データを学習させないようにしても似たようなRNNを作成できるが、その入力データに対応する正解データに含まれる数値とは異なる数値に基づく損失Eが小さくなるように、RNNの学習を行うことにより、事前認証が成功しなかった場合にRNNが誤った認識結果ynを出力しやすくなる。更に、実施形態のように、この異なる数値を正解データとは著しく違う数値とすれば、RNNが誤った認識結果ynをより出力しやすくなり、不正利用を更に防止しやすくなる。
また、RNNシステムSは、正解データに含まれる数値とは異なる数値を、当該正解データに対応するじゃんけん認識用の入力データの内容に依存しないようにすることにより、RNNの不正利用をより確実に防止できる。例えば、後述する変形例(1)のように、本来の正解データではない他の正解データに含まれる数値を上記異なる数値とすることもできるが、本実施形態のようにした方が、事前認証を成功させなければ何を入力しても同じ結果が出力されるので、第三者にRNNの出力パターンを解読されにくくなる。
また、RNNシステムSは、事前認証が成功した場合には、認証用の入力データに対応する正解データと、当該じゃんけん認識用の入力データに対応する正解データと、に基づいて、RNNの学習を行うことにより、事前認証とじゃんけん認識を正確に行うRNNを作成できる。
また、RNNシステムSは、事前認証が成功した場合には、認証用の入力データに対応するRNNの出力、当該認証用の入力データに対応する正解データ、じゃんけん認識用の入力データに対応するRNNの出力、及び当該じゃんけん認識用の入力データに対応する正解データに基づく損失Eが小さくなるように、RNNの学習を行うことにより、事前認証とじゃんけん認識をより正確に行うRNNを作成できる。
また、RNNシステムSは、複数の訓練データに、事前認証が成功しない認証用の入力データ(負例の入力データ)を含ませることで、事前認証の精度を高めたRNNを作成できる。
また、RNNシステムSは、複数の認識は、複数の事前認証にそれぞれ対応する複数の認識を含むことで、多段階の事前認証とし、RNNの不正利用をより確実に防止できる。このため、RNNのセキュリティをより向上させることができる。
また、RNNシステムSは、RNNの出力に事前認証の成否に関する数値であるパラメータp6を含ませることで、管理者がRNNの管理をしやすくなる。
また、RNNシステムSは、じゃんけん認識用の入力データに対する認識結果に関する数値であるパラメータp3〜p5と、事前認証の成否に関する数値であるパラメータp6と、の総和を一定値とすることで、RNNの学習を収束させやすくなる。後述する変形例(1)のようにパラメータp6を省略することもできるが、パラメータp6を利用することで、事前認証が成功しなかった場合に正解とみなすパラメータp3〜p5を固定しても、これらの総和を一定に保ち、用意すべき数式を減らす(変形例(1)の数式3−6の4つに対して、実施形態では数式1−2の2つにする)ことができる。
また、RNNシステムSは、認証用の入力データに対応する正解データは、パラメータp3〜p5を含まずにパラメータp1又はp2だけを含み、じゃんけん認識用の入力データに対応する正解データは、パラメータp1とp2を含まずにパラメータp3〜p5を含むので、訓練データのデータ量を圧縮できる。また、RNNの学習時に利用するパラメータを減らすことで学習時の計算量を少なくすることができる。その結果、学習装置10の処理負荷を軽減し、学習処理を高速化できる。
[5.変形例]
なお、本開示は、以上に説明した実施の形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
なお、本開示は、以上に説明した実施の形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
(1)例えば、実施形態では、事前認証の成否を示すパラメータp6が認識結果ynに含まれている場合を説明したが、パラメータp6は認識結果ynに含まれていなくてもよい。この場合、損失Eの計算でクロスエントロピーを安全に算出するために、じゃんけん認識用の訓練データに含まれるパラメータp3〜p5の総和を原則として1.0にして、損失Eが計算されるようにしてもよい。
本変形例では、図3の時間t3におけるじゃんけん認証でRNNにより出力された認識結果y3のパラメータp3〜p5をyjanと記載する。時間t3における入力画像X3に対応する正解データの数値(パラメータp3〜p5の真値)をrjanと記載する。y1−1,r1,y2−2,r2の意味は、実施形態と同じである。
本変形例の学習部103は、下記数式3−6により損失Eを計算する。第1認証及び第2認証の両方に成功した場合(即ち、r1=1.0かつr2=1.0の場合)には、数式3が利用される。第1認証及び第2認証の少なくとも一方が失敗した場合(即ち、r1=0.0及び/又はr2=0.0の場合)、入力画像X3が「グー」であれば数式4が利用され、入力画像X3が「チョキ」であれば数式5が利用され、入力画像X3が「パー」であれば数式6が利用される。なお、入力画像X3が「グー」「チョキ」「パー」の何れの画像でもない場合(パラメータp3〜p5が何れも閾値未満である場合)、数式4−6の何れが利用されてもよい。
数式3は、損失Eの計算のためにパラメータp6を利用しない点を除いて数式1と同じである。数式4は、入力画像X3が「グー」であり、rjanが[1.0,0.0,0.0]である場合であるが、損失Eの計算で用いられる[0.0,1.0,0.0]のベクトルは、本来であれば「チョキ」を示すベクトルである。数式5は、入力画像X3が「チョキ」であり、rjanが[0.0,1.0,0.0]である場合であるが、損失Eの計算で用いられる[0.0,0.0,1.0]のベクトルは、本来であれば「パー」を示すベクトルである。数式6は、入力画像X3が「パー」であり、rjanが[0.0,0.0,1.0]である場合であるが、損失Eの計算で用いられる[1.0,0.0,0.0]のベクトルは、本来であれば「グー」を示すベクトルである。
学習部103は、数式3−6により計算される損失Eが小さくなるように、RNNの学習を行う。損失Eの計算方法は実施形態と異なるが、損失Eを利用した学習方法は、実施形態と同様である。事前認証が成功しなかった場合には、正解データに含まれる数値とは異なる数値でRNNの学習が行われる点も実施形態と同様であるが、本変形例の正解データに含まれる数値とは異なる数値は、当該正解データに対応するじゃんけん認識用の入力データとは異なるじゃんけん認識用の入力データに対応する正解データに含まれる数値である。
例えば、「グー」の正解データは、[1.0,0.0,0.0]を示すので、この正解データに含まれる数値とは異なる数値は、「チョキ」の正解データである[0.0,1.0,0.0]に含まれる数値又は「パー」の正解データである[0.0,0.0,1.0]に含まれる数値になる。同様に、「チョキ」の正解データに含まれる数値とは異なる数値は、「グー」又は「パー」の正解データに含まれる数値となり、「パー」の正解データに含まれる数値とは異なる数値は、「グー」又は「チョキ」の正解データに含まれる数値となる。
変形例(1)によれば、正解データに含まれる数値とは異なる数値が、当該正解データに対応するじゃんけん認識用の入力データとは異なるじゃんけん認識用の入力データに対応する正解データに含まれる数値とすることで、RNNの不正利用をより確実に防止できる。また、実施形態で説明した方法に比べると、パラメータp6に相当する数値を利用しない分だけ、損失Eの計算を簡易にすることができる。その結果、学習装置10の処理負荷を軽減し、学習処理を高速化できる。また、上記のような損失Eで学習されたRNNは、事前認証が成功せずにじゃんけん認識を行おうとすると、誤った認識結果が出力される(例えば、「グー」の入力画像X3を入力したのに「チョキ」の認識結果が出力される)。パラメータp6を含めないことにより、第三者にRNNが盗まれたとしても、第三者がRNNを分析することが難しくなる。
(2)また例えば、事前認証が成功しない場合に目的に係る正しい認識結果が出力されないように学習を行う方法は、実施形態の例に限られない。数式1と数式2のように損失Eの計算方法を使い分けるのではなく、事前認証が成功しないように入力データが入力されることが事前に分かっているのであれば、損失Eの計算方法を使い分けずに、他の方法によってRNNの学習を行ってもよい。
本変形例では、複数の訓練データの各々は、RNNに入力される順序が予め定められている。例えば、じゃんけん認識用の入力データの前に、事前認証が成功する認証用の入力データ(正例)が入力されるか、事前認証が成功しない認証用の入力データ(負例)が入力されるか、又は認証用の入力データがそもそも入力されないかが予め定められている。じゃんけん認識用の入力データに対応する正解データは、その前に何が入力されるかによって、正しい認識結果を示すか、誤った認識結果を示すかが異なるようになっている。
図10は、変形例(2)の訓練データセットDSのデータ格納例を示す図である。図10に示すように、本変形例の訓練データセットDSは、訓練データセットDS1〜DS3が1つにまとめられている。訓練データセットDSには、各訓練データに対し、学習時におけるRNNへの入力順が対応付けられている。
図10の例では、入力順は、「a−b」(aは自然数であり、bは1〜3の何れかの整数)と記載している。「a」は、何回目の学習処理で入力されるかを示す数値である。「b」は、1回の学習処理における何番目に入力されるかを示す数値である。例えば、1回目の学習では、入力順が「1−1」の「りんご」の画像、入力順が「1−2」の「ねこ」の画像、入力順が「1−3」の「グー」の画像の順でRNNに入力される。1回目の学習が終了すると、未認証状態に戻され、入力順が「2−1」の「バナナ」の画像、入力順が「2−2」の「ねこ」の画像、入力順が「2−3」の「グー」の画像の順でRNNに入力される。以降同様に、未認証状態に戻されて、「a」の数値が1加算されて「a」回目の学習において、「b」の数値が示す順序で画像がRNNに入力される。
図10に示すように、事前認証が成功する認証用の入力データが入力された後に入力されるじゃんけん認識用の入力データに対応する正解データは、目的に係る正しい認識結果を示す。例えば、入力順が「1−1」の「りんご」の画像と、入力順が「1−2」の「ねこ」の画像と、の後に入力されることが決まっている、入力順が「1−3」の「グー」の画像には、「グー」であること及び認証済みであることを示す[1.0,0.0,0.0,0.0]の正解データが対応付けられている。即ち、この「グー」の画像には、正しい認識結果を示す正解データが対応付けられている。図10に示すように、「パー」と「チョキ」の画像についても同様であり、正しい認識結果を示す正解データが対応付けられている。
一方、事前認証が成功する認証用の入力データが入力されずに入力されるじゃんけん認識用の入力データに対応する正解データは、目的に係る誤った認識結果を示す。このように、目的用入力データに対応する正解データとして、あえて目的に係る誤った認識結果を定めておく場合には、RNNが出力する目的に係る正しい認識結果は、正解データに含まれる数値とは異なる数値(正解データとは真逆の数値)を示すことを意味する。
例えば、入力順が「2−1」の「バナナ」の画像と、入力順が「2−2」の「ねこ」の画像と、の後に入力されることが決まっている、入力順が「2−3」の「グー」の画像には、「グー」ではないこと及び未認証であることを示す[0.0,0.0,0.0,1.0]の正解データが対応付けられている。即ち、この「グー」の画像には、あえて誤った認識結果を示す正解データが対応付けられている。
また例えば、入力順が「3−1」の「りんご」の画像と、入力順が「3−2」の「いぬ」の画像と、の後に入力されることが決まっている、入力順が「3−3」の「グー」の画像には、「グー」ではないこと及び未認証であることを示す[0.0,0.0,0.0,1.0]の正解データが対応付けられている。即ち、この「グー」の画像には、あえて誤った認識結果を示す正解データが対応付けられている。図10に示すように、「パー」と「チョキ」の画像についても同様であり、事前認証が成功しない順序であれば、あえて誤った認識結果を示す正解データが対応付けられている。
学習部103は、RNNに対し、予め定められた順序で認証用の入力データとじゃんけん認識用の入力データとを入力し、RNNの学習を行う。例えば、学習部103は、実施形態で説明した数式2は用いずに、数式1を利用して損失Eを計算してRNNの学習を行う。損失Eの計算方法は実施形態と異なるが、損失Eを利用した学習方法は実施形態と同様である。本変形例では、事前認証が成功しないことが予め分かっているじゃんけん認識用の入力データについては、誤った認識結果をあえて正解としているので、正解データの学習を制限しないことになる。このため、実施形態で説明したような正解データに含まれる数値とは異なる数値を利用した学習は行われない。
変形例(2)によれば、複数の訓練データの各々に、RNNに入力される順序を予め定めておき、事前認証が成功した後に入力されることが分かっているじゃんけん認識用の入力データに対応する正解データは、目的に係る正しい認識結果を示す。事前認証が成功しないことが分かっているじゃんけん認識用の入力データに対応する正解データは、目的に係る誤った認識結果を示す。このような正解データに基づいてRNNの学習を行うことで、訓練データを用意するコストは発生するが、損失Eの計算方法を分けずに済み、学習時の計算を簡略化できる。その結果、学習装置10の処理負荷を軽減し、学習処理を高速化できる。
(3)また例えば、上記変形例(1)−(2)を組み合わせてもよい。変形例(1)−(2)を組み合わせる場合には、例えば、事前認証が成功しない順序であれば、「グー」の画像には、正解データとして、「チョキ」を示す[0.0,1.0,0.0]又は「パー」を示す[0.0,0.0,1.0]が対応付けられる。変形例(2)で説明したパラメータP6に相当する数値は正解データに格納されない。事前認証が成功しない順序の「チョキ」の画像と「パー」の画像についても同様である。
また例えば、RNNの目的としてじゃんけん認識を説明したが、RNNの目的は、任意の目的を設定可能である。例えば、RNNは、指以外の物体を認識することを目的としてもよい。認識対象の物体は、任意の物体であってよく、例えば、数字、文字、二次元コード、又はイラストであってもよい。認識対象の物体は、紙に印刷されてもよいし、画面に表示されていてもよいし、物理的に存在する物体であってもよい。他にも例えば、RNNは、事前認証の後に生体認証を行うことを目的としてもよい。この場合、RNNの目的となる認識対象は、生体情報であり、例えば、人の顔、指紋パターン、静脈パターン、筆跡パターン、又はまばたきパターンなどである。これらの生体情報は、画像を利用して取得されるようにすればよい。
また例えば、RNNは、画像認識以外の認識を行ってもよい。例えば、RNNが音声認識を行う場合には、事前認証が成功しない場合には、正確な音声認識が行われないRNNになる。この場合、入力データは音声データになり、正解データは音声に対応する認識結果となる。認識結果は、音声を示すテキストであってもよいし、音声の発話者を識別する情報であってもよい。画像認識及び音声認識以外にも、RNNは、実施形態で説明した他の認識を行うことができ、入力データは、それに応じたデータであればよい。
また例えば、RNNシステムSに学習装置10と認識装置20が含まれる場合を説明したが、学習装置10と認識装置20は、別々のシステムに存在してもよい。また例えば、データ記憶部100,200に記憶されるものとして説明したデータは、学習装置10又は認識装置20とは異なる他のコンピュータ又は情報記憶媒体に記憶されていてもよい。
S RNNシステム、N ネットワーク、10 学習装置、20 認識装置、11,21 制御部、12,22 記憶部、13,23 通信部、14,24 操作部、15,25 表示部、26 撮影部、X1,X2,X3,Xt 入力画像、p1,p2,p3,p4,p5,p6 パラメータ、t1,t2,t3,tn 時間、y1,y2,y3,y4 認識結果、100 データ記憶部、101 生成部、102 取得部、103 学習部、200 データ記憶部、201 取得部、202 処理実行部、DS,DS1,DS2,DS3 訓練データセット。
Claims (18)
- 入力データと正解データが対応付けられた訓練データを複数取得する取得手段と、
複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段と、
を含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
学習装置。 - 前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記正解データが前記再帰型ニューラルネットワークに学習されることを制限する、
請求項1に記載の学習装置。 - 前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力と、当該目的用の入力データに対応する前記正解データに含まれる数値とは異なる数値と、に基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う、
請求項2に記載の学習装置。 - 前記異なる数値は、当該正解データに対応する前記目的用の入力データの内容に依存しない数値である、
請求項3に記載の学習装置。 - 前記異なる数値は、当該正解データに対応する前記目的用の入力データとは異なる前記目的用の入力データに対応する前記正解データに含まれる数値である、
請求項3に記載の学習装置。 - 前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記正解データと、当該目的用の入力データに対応する前記正解データと、に基づいて、前記再帰型ニューラルネットワークの学習を行う、
請求項1〜5の何れかに記載の学習装置。 - 前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、当該認証用の入力データに対応する前記再帰型ニューラルネットワークの出力、当該認証用の入力データに対応する前記正解データ、当該目的用の入力データに対応する前記再帰型ニューラルネットワークの出力、及び当該目的用の入力データに対応する前記正解データに基づく損失が小さくなるように、前記再帰型ニューラルネットワークの学習を行う、
請求項6に記載の学習装置。 - 前記複数の訓練データは、前記事前認証が失敗する前記認証用の入力データを含み、
前記学習手段は、前記事前認証が失敗する前記認証用の入力データが入力された後に前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
請求項1〜7の何れかに記載の学習装置。 - 前記複数の認識は、複数の前記事前認証にそれぞれ対応する複数の認識を含み、
前記複数の訓練データは、前記複数の事前認証にそれぞれ対応する複数の前記認証用の入力データを含み、
前記学習手段は、前記複数の事前認証の各々が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
請求項1〜8の何れかに記載の学習装置。 - 前記再帰型ニューラルネットワークの出力は、前記事前認証の成否に関する数値を含み、
前記学習手段は、前記目的用の入力データが入力された場合に、当該目的用の入力データが入力される前における前記事前認証の成否に関する数値が出力されるように、前記再帰型ニューラルネットワークの学習を行う、
請求項1〜9の何れかに記載の学習装置。 - 前記再帰型ニューラルネットワークの出力は、前記目的用の入力データに対する認識結果に関する数値を含み、
前記目的用の入力データに対する認識結果に関する数値と、前記事前認証の成否に関する数値と、の総和は一定である、
請求項10に記載の学習装置。 - 前記再帰型ニューラルネットワークの出力は、前記認証用の入力データに対応する認識結果に関する第1の数値と、前記目的用の入力データに対応する認識結果に関する第2の数値と、を含み、
前記認証用の入力データに対応する前記正解データは、前記第2の数値を含まずに前記第1の数値を含み、
前記目的用の入力データに対応する前記正解データは、前記第1の数値を含まずに前記第2の数値を含み、
前記学習手段は、前記認証用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第1の数値、前記認証用の入力データに対応する前記正解データに含まれる前記第1の数値、前記目的用の入力データに対応する前記再帰型ニューラルネットワークの出力に含まれる前記第2の数値、及び前記目的用の入力データに対応する前記正解データに含まれる前記第2の数値に基づいて、前記再帰型ニューラルネットワークの学習を行う、
請求項1に記載の学習装置。 - 前記複数の訓練データの各々は、前記再帰型ニューラルネットワークに入力される順序が予め定められており、
前記事前認証が成功する前記認証用の入力データが入力された後に入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る正しい認識結果を示し、
前記事前認証が成功する前記認証用の入力データが入力されずに入力される前記目的用の入力データに対応する前記正解データは、前記目的に係る誤った認識結果を示し、
前記学習手段は、前記再帰型ニューラルネットワークに対し、予め定められた前記順序で前記認証用の入力データと前記目的用の入力データとを入力し、前記再帰型ニューラルネットワークの学習を行う、
請求項1〜12の何れかに記載の学習装置。 - 複数の認識を行う再帰型ニューラルネットワークを記憶する記憶手段と、
前記再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得手段と、
を含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、
前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する、
認識装置。 - 入力データと正解データが対応付けられた訓練データを複数取得する取得ステップと、
複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習ステップと、
を含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、
前記学習ステップは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
学習方法。 - 複数の認識を行う再帰型ニューラルネットワークに対し、複数の入力データの各々を順次入力し、前記複数の入力データの各々に対応する前記再帰型ニューラルネットワークの出力を取得する取得ステップを含み、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、
前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する、
認識方法。 - 入力データと正解データが対応付けられた訓練データを複数取得する取得手段、
複数の認識を行う再帰型ニューラルネットワークに対し、複数の前記訓練データの各々に含まれる前記入力データを順次入力し、当該入力データに対応する前記正解データに基づいて、前記再帰型ニューラルネットワークの学習を行う学習手段、
としてコンピュータを機能させるためのプログラムであって、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の訓練データは、前記事前認証に係る学習のための認証用の入力データと、前記目的に係る学習のための目的用の入力データと、を含み、
前記学習手段は、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果が出力されないように、前記再帰型ニューラルネットワークの学習を行う、
プログラム。 - 複数の認識を行う再帰型ニューラルネットワークであって、
前記再帰型ニューラルネットワークは、複数の入力データの各々が順次入力され、前記複数の入力データの各々に対応する出力を行い、
前記複数の認識は、事前認証のための認識と、所定の目的のための認識と、を含み、
前記複数の入力データは、前記事前認証のための認証用の入力データと、前記目的のための目的用の入力データと、を含み、
前記再帰型ニューラルネットワークは、前記事前認証が成功する前記認証用の入力データが入力されずに前記目的用の入力データが入力された場合に、前記目的に係る正しい認識結果を出力せずに、前記目的に係る誤った認識結果を出力する、
再帰型ニューラルネットワーク。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020094978A JP6926279B1 (ja) | 2020-05-29 | 2020-05-29 | 学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワーク |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020094978A JP6926279B1 (ja) | 2020-05-29 | 2020-05-29 | 学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワーク |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6926279B1 true JP6926279B1 (ja) | 2021-08-25 |
JP2021189792A JP2021189792A (ja) | 2021-12-13 |
Family
ID=77364607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020094978A Active JP6926279B1 (ja) | 2020-05-29 | 2020-05-29 | 学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワーク |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6926279B1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3069357B1 (fr) * | 2017-07-18 | 2023-12-29 | Worldline | Systeme d'apprentissage machine pour diverses applications informatiques |
JP6789601B2 (ja) * | 2017-10-26 | 2020-11-25 | Kddi株式会社 | 所定画像領域をマスクした撮影映像を学習映像として選択する学習映像選択装置、プログラム及び方法 |
US11368457B2 (en) * | 2018-02-20 | 2022-06-21 | Visa International Service Association | Dynamic learning system for intelligent authentication |
CN111868717A (zh) * | 2018-03-20 | 2020-10-30 | 索尼公司 | 信息处理装置及信息处理方法 |
JP6926045B2 (ja) * | 2018-09-27 | 2021-08-25 | Kddi株式会社 | ニューラルネットワーク、学習装置、学習方法、およびプログラム |
-
2020
- 2020-05-29 JP JP2020094978A patent/JP6926279B1/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2021189792A (ja) | 2021-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220058426A1 (en) | Object recognition method and apparatus, electronic device, and readable storage medium | |
CN109948408B (zh) | 活性测试方法和设备 | |
CN111709409B (zh) | 人脸活体检测方法、装置、设备及介质 | |
WO2021027336A1 (zh) | 基于印章和签名的身份验证方法、装置和计算机设备 | |
CN110728209B (zh) | 一种姿态识别方法、装置、电子设备及存储介质 | |
CN111476268A (zh) | 翻拍识别模型训练、图像识别方法、装置、设备及介质 | |
CN105335719A (zh) | 活体检测方法及装置 | |
US11216731B2 (en) | Apparatus and process for visual recognition | |
WO2022188697A1 (zh) | 提取生物特征的方法、装置、设备、介质及程序产品 | |
CN112560710B (zh) | 一种用于构建指静脉识别系统的方法及指静脉识别系统 | |
CN110795714A (zh) | 一种身份验证方法、装置、计算机设备及存储介质 | |
KR20190070179A (ko) | 사용자 등록 장치 및 방법 | |
CN111027400A (zh) | 一种活体检测方法及装置 | |
CN108875502B (zh) | 人脸识别方法和装置 | |
WO2021042544A1 (zh) | 基于去网纹模型的人脸验证方法、装置、计算机设备及存储介质 | |
US20150254498A1 (en) | Fingerprint recognition methods and devices | |
CN113642639A (zh) | 活体检测方法、装置、设备和存储介质 | |
JP6926279B1 (ja) | 学習装置、認識装置、学習方法、認識方法、プログラム、及び再帰型ニューラルネットワーク | |
US20200294410A1 (en) | Methods, systems, apparatuses and devices for facilitating grading of handwritten sheets | |
CN116310976A (zh) | 学习习惯养成方法、装置、电子设备及存储介质 | |
KR101961462B1 (ko) | 객체 인식 방법 및 장치 | |
JP2020135432A (ja) | 学習データの生成方法、学習データ生成装置及びプログラム | |
CN113033305B (zh) | 活体检测方法、装置、终端设备和存储介质 | |
US20240144729A1 (en) | Generation method and information processing apparatus | |
CN112395979B (zh) | 基于图像的健康状态识别方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200529 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210727 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210804 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6926279 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |