(57)【特許請求の範囲】
【請求項１】
利用者の行動に基づく特徴情報を収集する特徴収集装置と、収集した特徴情報を用いて学習する特徴学習装置とを含む学習システムであって、
前記特徴収集装置は、
tを時刻を表すインデックスとし、利用者mの行動に基づく特徴情報を収集する特徴収集部を含み、
前記特徴学習装置は、
時刻tにおける利用者mの本人キューテーブルに含まれる素性ベクトルの個数をPm,tとし、前記特徴情報を要素として含む素性ベクトルvm(t)と前記利用者mの識別子IDmとを対応付けて本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}に記憶する本人教師データ構成部と、
前記利用者の総数をMとし、Pm,t個の素性ベクトルを、利用者m以外のM-1人の利用者の本人キューテーブルの何れかの中から1個ずつ取り出し、Pm,t個の取り出した素性ベクトルと前記識別子IDmとを対応付けて他人キューテーブルTablem,others(t)に記憶する他人教師データ構成部と、
前記本人キューテーブルTablem,target(t)と前記他人キューテーブルTablem,others(t)とを教師データとして、教師あり機械学習を行う学習部とを含む、
学習システム。
【請求項２】
請求項１の学習システムであって、
前記特徴収集装置は、
前記識別子IDmの利用者mの正当性の確認を依頼する被認証部を含み、
前記特徴学習装置は、
前記識別子IDmの正当性を検証する認証部を含み、
前記本人教師データ構成部、前記他人教師データ構成部及び前記学習部における処理は、前記認証部において、認証が成功した場合に実行する、
学習システム。
【請求項３】
請求項２の学習システムであって、
前記認証部において、前記学習部の学習結果を利用して前記識別子IDmの正当性を検証する、
学習システム。
【請求項４】
tを時刻を表すインデックスとし、時刻tにおける利用者mの本人キューテーブルに含まれる素性ベクトルの個数をPm,tとし、利用者mの行動に基づき得られる特徴情報を要素として含む素性ベクトルvm(t)と前記利用者mの識別子IDmとを対応付けて本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}に記憶する本人教師データ構成部と、
前記利用者の総数をMとし、Pm,t個の素性ベクトルを、利用者m以外のM-1人の利用者の本人キューテーブルの何れかの中から1個ずつ取り出し、Pm,t個の取り出した素性ベクトルと前記識別子IDmとを対応付けて他人キューテーブルTablem,others(t)に記憶する他人教師データ構成部と、
前記本人キューテーブルTablem,target(t)と前記他人キューテーブルTablem,others(t)とを教師データとして、教師あり機械学習を行う学習部とを含む、
特徴学習装置。
【請求項５】
利用者の行動に基づく特徴情報を収集する特徴収集装置と、収集した特徴情報を用いて学習する特徴学習装置とを含む学習システムを用いた学習方法であって、
tを時刻を表すインデックスとし、前記特徴収集装置が、利用者mの行動に基づく特徴情報を収集する特徴収集ステップと、
時刻tにおける利用者mの本人キューテーブルに含まれる素性ベクトルの個数をPm,tとし、前記特徴学習装置が、前記特徴情報を要素として含む素性ベクトルvm(t)と前記利用者mの識別子IDmとを対応付けて本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}に記憶する本人教師データ構成ステップと、
前記利用者の総数をMとし、前記特徴学習装置が、Pm,t個の素性ベクトルを、利用者m以外のM-1人の利用者の本人キューテーブルの何れかの中から1個ずつ取り出し、Pm,t個の取り出した素性ベクトルと前記識別子IDmとを対応付けて他人キューテーブルTablem,others(t)に記憶する他人教師データ構成ステップと、
前記特徴学習装置が、前記本人キューテーブルTablem,target(t)と前記他人キューテーブルTablem,others(t)とを教師データとして、教師あり機械学習を行う学習ステップとを含む、
学習方法。
【請求項６】
請求項４の特徴学習装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動的特徴を用いたバイオメトリクス認証において利用するデータを収集する方法に関する。
【背景技術】
【０００２】
行動的特徴を用いたバイオメトリクス認証の従来技術として非特許文献１が知られている。非特許文献１では、スマートフォン等のモバイル端末に具備されたセンサを利用して複数の特徴情報を取得し、それらの特徴情報を利用して認証を行う。
【０００３】
行動的特徴を利用したバイオメトリクス認証では、認証前のフェーズ（事前登録フェーズ）で行動情報から抽出した特徴情報を認証システムに入力してテンプレートを作成し、作成したテンプレートを登録しておく。認証フェーズでは登録したテンプレートを用いて本人性を識別する事により、認証を実現する。
【０００４】
非特許文献１では、サポートベクタマシンを適用した手法が提案されており、事前登録フェーズでは「２値クラス（利用者本人／利用者以外の他人）、及び各クラスに対応した素性ベクトル（特徴情報の集合）」を教師データとして収集し、収集した教師データによる学習を実行する。認証フェーズではその学習結果（テンプレート）を用いて未知の素性ベクトル（利用者の特徴情報）に対するクラス分類問題を解く事で本人性を識別する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】H.Witte, C.Rathgeb and C.Busch, "Context-Aware Mobile Biometric Authentication based on Support Vector Machines", 2013 Fourth International Conference on Emerging Security Technologies, pp.29-32, 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、サポートベクタマシンに代表される機械学習アルゴリズムを認証に適用した場合、認証固有の問題として、以下の問題点が存在する。
(1)学習のタイミング：認証フェーズの前に教師データにより学習させておく必要があり、事前登録フェーズにおける、利用者（本人）と当該利用者以外（他人）の特徴情報の収集及び学習に関する登録操作が、利用者の利便性の低下に繋がってしまう。
(2)教師データの作成：ある特定のIDを対象に２値のクラス分類問題を解こうとした場合、利用者本人（１人）に比べて他人の人数が極めて多くなり(全利用者数-1人)、各クラスにおける教師データの数が均等でない、偏った教師データにより学習をしてしまう。
【０００７】
本発明は、(i)明示的な事前登録フェーズを設けることなく、教師データを収集し、その教師データによる学習を実行することができ、(ii)偏った教師データによる学習を防ぐことができる学習システム、特徴学習装置、その方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の一態様によれば、学習システムは、利用者の行動に基づく特徴情報を収集する特徴収集装置と、収集した特徴情報を用いて学習する特徴学習装置とを含む。特徴収集装置は、tを時刻を表すインデックスとし、利用者mの行動に基づく特徴情報を収集する特徴収集部を含む。特徴学習装置は、時刻tにおける利用者mの本人キューテーブルに含まれる素性ベクトルの個数をPm,tとし、特徴情報を要素として含む素性ベクトルvm(t)と利用者mの識別子IDmとを対応付けて本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}に記憶する本人教師データ構成部と、Pm,t個の素性ベクトルを、利用者m以外の利用者の本人キューテーブルの何れかの中から1個ずつ取り出し、Pm,t個の取り出した素性ベクトルと識別子IDmとを対応付けて他人キューテーブルTablem,others(t)に記憶する他人教師データ構成部と、本人キューテーブルTablem,target(t)と他人キューテーブルTablem,others(t)とを教師データとして、教師あり機械学習を行う学習部とを含む。
【０００９】
上記の課題を解決するために、本発明の他の態様によれば、特徴学習装置は、tを時刻を表すインデックスとし、時刻tにおける利用者mの本人キューテーブルに含まれる素性ベクトルの個数をPm,tとし、利用者mの行動に基づき得られる特徴情報を要素として含む素性ベクトルvm(t)と利用者mの識別子IDmとを対応付けて本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}に記憶する本人教師データ構成部と、Pm,t個の素性ベクトルを、利用者m以外の利用者の本人キューテーブルの何れかの中から1個ずつ取り出し、Pm,t個の取り出した素性ベクトルと識別子IDmとを対応付けて他人キューテーブルTablem,others(t)に記憶する他人教師データ構成部と、本人キューテーブルTablem,target(t)と他人キューテーブルTablem,others(t)とを教師データとして、教師あり機械学習を行う学習部とを含む。
【００１０】
上記の課題を解決するために、本発明の他の態様によれば、学習方法は、利用者の行動に基づく特徴情報を収集する特徴収集装置と、収集した特徴情報を用いたものである。学習方法は、tを時刻を表すインデックスとし、特徴収集装置が、利用者mの行動に基づく特徴情報を収集する特徴収集ステップと、時刻tにおける利用者mの本人キューテーブルに含まれる素性ベクトルの個数をPm,tとし、特徴学習装置が、特徴情報を要素として含む素性ベクトルvm(t)と利用者mの識別子IDmとを対応付けて本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}に記憶する本人教師データ構成ステップと、
特徴学習装置が、Pm,t個の素性ベクトルを、利用者m以外の利用者の本人キューテーブルの何れかの中から1個ずつ取り出し、Pm,t個の取り出した素性ベクトルと識別子IDmとを対応付けて他人キューテーブルTablem,others(t)に記憶する他人教師データ構成ステップと、特徴学習装置が、本人キューテーブルTablem,target(t)と他人キューテーブルTablem,others(t)とを教師データとして、教師あり機械学習を行う学習ステップとを含む。
【発明の効果】
【００１１】
本発明によれば、(i)明示的な事前登録フェーズを設けることなく、教師データを収集し、その教師データによる学習を実行することができ、(ii)偏った教師データによる学習を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】第一実施形態に係る学習システムの機能ブロック図。
【図２】第一実施形態に係る学習システムの処理フローの例を示す図。
【図３】第一実施形態に係る学習システムの処理フローの例を示す図。
【図４】第一実施形態に係る学習システムの処理フローの例を示す図。
【図５】本人キューテーブルのデータ例を示す図。
【図６】他人キューテーブルのデータ例を示す図。
【図７】学習結果テーブルのデータ例を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００１４】
＜第一実施形態のポイント＞
本人の素性ベクトルを格納するためのキュー（以降、「本人キュー」ともいう）、及び他人の素性ベクトルを一時的に格納するためキュー（以降、「他人キュー」ともいう）を、利用者の識別子毎に用意する。なお、「キュー」とは、データを先入れ先出しのリスト構造で保持するデータ構造のことである。
【００１５】
本実施形態では、まず、本実施形態の学習結果を利用する認証手段とは異なる、他の認証手段を実行し、本人性を識別する事により、認証する。認証成功時には、認証処理の実行中、または、認証成功と判断されるまでに、収集された特徴情報(以降「認証成功時に収集した特徴情報」ともいう)が本人のものである可能性が高いとみなし、以降の処理をバックグラウンドで実行する。
【００１６】
本実施形態の特徴学習装置は、他の認証手段で利用した利用者mの識別子IDm、及び認証成功時に収集した特徴情報を取得し、その識別子IDmに対応した本人キューに素性ベクトルを追加格納する。なお、mは利用者を表すインデックスであり、本実施形態の学習システムの利用者の総数をMとすると、mは1,2,…,Mの何れかである。既に本人キューが満杯だった場合には、古い素性ベクトルから順に削除し、本人キューへの格納領域を確保する。
【００１７】
本人キューへの追加格納が完了した時点で、他人キューを初期化（クリア）する。そして「入力された識別子IDm以外の識別子IDnに対応する本人キュー」に格納された素性ベクトルから、本人キューの格納数と同数の素性ベクトルを選び出し、他人キューに格納する。なお、本実施形態の学習システムの利用者の総数をMとすると、n=1,2,…,Mであり、かつ、m≠nである。
【００１８】
他人キューへの素性ベクトルの格納が完了した時点で、当該IDに対応する「本人キュー」と「他人キュー」とに格納されている全ての素性ベクトルを教師データとして、機械学習による学習処理を実行する。
【００１９】
このような構成とすることで、他の認証手段における認証成功時の特徴情報ををもとに、素性ベクトルを作成することができる。つまり、認証フェーズの実行過程で特徴情報を収集し、素性ベクトルを作成することができる。なお、識別子と素性ベクトルとは、他の認証手段により、認証が成功しているため、その素性ベクトルと識別子とが対応するものであることが保証されている。このような構成により、明示的な事前登録フェーズを設けることなく、教師データの収集及び学習を実行することができる。
【００２０】
また、認証フェーズの実行過程において、認証成功後に教師データの収集及び学習を実行するため、教師データのデータ量が増大しても、利用者に対する学習処理の待ち時間の影響を与えることなく、バックグラウンドで機械学習におけるパラメータや状態変数等(以下、パラメータ等ともいう)を学習することができる。このパラメータ等を用いて、本人性を識別するための識別関数を構成することができ、この識別関数に未知の素性ベクトル（利用者の特徴情報）を与えることで、利用者の本人性を識別することができる。
【００２１】
利用者の特徴情報が時間とともに変化するような場合であっても、事前登録フェーズではなく、認証フェーズで教師データの収集及び学習を行うため、識別するための識別関数を利用者の特徴情報の変化に追従させることができる。
【００２２】
以下、この処理を実現するための構成について説明する。
【００２３】
＜第一実施形態に係る学習システム＞
図１は第一実施形態に係る学習システム１０の機能ブロック図を、図２、図３及び図４はその処理フローを示す。
【００２４】
学習システム１０は、特徴収集装置１００と特徴学習装置２００とを含む。
【００２５】
特徴収集装置１００は、特徴収集部１０１と素性ベクトル生成部１０２と被認証部１０３とを含む。
【００２６】
特徴学習装置２００は、本人教師データ構成部２０１と認証部２０２と他人教師データ構成部２０３と記憶部２０４と学習部２０５とを含む。
【００２７】
特徴収集装置１００と特徴学習装置２００とはネットワークを介して接続可能とされている。
【００２８】
特徴収集装置１００及び特徴学習装置２００は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。例えば、特徴収集装置１００は、利用者に利用されるクライアント端末、例えば、スマートフォン内に組み込まれる。特徴学習装置２００は、サーバ装置(ネットワーク上で、複数の利用者やプログラム、すなわち、クライアントにサービスを提供するコンピュータ)内に組み込まれる。なお、サービスには、利用者の識別子を必要とするものとし、本実施形態では、特徴学習装置２００は、利用者の識別子を必要とする認証サーバの中に組み込まれるものとする。
【００２９】
特徴収集装置１００及び特徴学習装置２００は、例えば、それぞれの中央演算処理装置の制御のもとで各処理を実行する。特徴収集装置１００及び特徴学習装置２００に入力されたデータや各処理で得られたデータは、例えば、それぞれの主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、特徴収集装置１００及び特徴学習装置２００の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００３０】
＜特徴収集部１０１＞
特徴収集部１０１は、利用者の行動をモニタリングし、利用者mの行動に基づくデータ(以下「特徴情報」ともいう)を収集し（図２のＳ１）、素性ベクトル生成部１０２に送信する。特徴情報の取得方法として、スマートフォン内に搭載されたセンサを利用しても良い。機械学習におけるパラメータ等を学習する際に用いる特徴情報を収集することができるものであればどのようなものであってもよい。例えば、スマートフォン内に搭載された加速度センサやジャイロセンサなどが特徴収集部１０１として挙げられ、それらの出力値を特徴情報として収集する。また、タッチパネル搭載の圧力センサや、GPSを特徴収集部１０１として用い、圧力センサの出力値や位置情報を特徴情報として収集してもよい。さらに、これらの組み合わせを特徴情報として収集しても良い。
【００３１】
＜素性ベクトル生成部１０２＞
素性ベクトル生成部１０２は、特徴収集部１０１において収集した特徴情報を入力とし、特徴情報を、多次元ベクトルの形式に変換して素性ベクトルを生成し（Ｓ２）、特徴学習装置２００に具備された本人教師データ構成部２０１に送信する。例えば、特徴収集部１０１が、加速度センサとジャイロセンサから構成される場合には、これらのデータを２次元ベクトルの形式に変換し、素性ベクトルとしてもよい。また、例えば、加速度センサのN1個の時系列の出力値と、ジャイロセンサのN2個の時系列の出力値とを合わせて(N1+N2)次元ベクトルの形式に変換し、素性ベクトルとしてもよい。例えば、利用者mの時刻tにおけるある特徴情報をdm(t,e)とし、E次元の素性ベクトルをvm(t)={dm(t,1),dm(t,2),…,dm(t,E)}とする。なお、tは離散時刻を示すインデックスであり、mは利用者を示すインデックスであり、例えば、学習システム１０の利用者の総数をMとし、m=1,2,…,Mとする。なお、特徴収集部１０１は、加速度センサとジャイロセンサの出力値をそのまま特徴情報として用いずに、何らかの処理を施した値を特徴情報として用いてもよい。例えば、所定の時間分の時系列の出力値の総和や平均値等を特徴情報として用いてもよい。
【００３２】
＜被認証部１０３＞
被認証部１０３は、利用者mの識別子IDmを認証するためのクライアント機能を具備し、後述する特徴学習装置２００の認証部２０２との間で認証処理を実行する（Ｓ３）。例えば、被認証部１０３は、識別子IDmの利用者mの正当性の確認を認証部２０２に依頼する。認証するための手段については限定せず、既存の如何なる認証技術を用いてもよいが、認証部２０２に対応する手段を備える。例えば、パスワード認証や電子証明書による認証、生体認証を利用してもよい。また、多段階認証における一部の認証結果を利用しても良い。
【００３３】
＜認証部２０２＞
認証部２０２は、利用者mの識別子IDmを認証するためのサーバ機能を具備し、本人教師データ構成部２０１から認証要求を受け付け、特徴収集装置１００の被認証部１０３との間で認証処理を実行し（Ｓ３）、認証が成功した場合（受理した場合）、認証に成功した利用者mの識別子IDmを本人教師データ構成部２０１に出力する。例えば、認証部２０２は、識別子IDmの利用者mの正当性を検証する。認証するための手段については限定せず、既存の如何なる認証技術を用いてもよいが、被認証部１０３に対応する手段を備える。例えば、パスワード認証や電子証明書による認証、生体認証を利用してもよい。また、多段階認証における一部の認証結果を利用しても良い。認証結果は、識別子IDmとともに本人教師データ構成部２０１へ受け渡す。
【００３４】
例えば、被認証部１０３と認証部２０２との間でパスワード認証を行う場合には、被認証部１０３と認証部２０２との間でSSL (Secure Sockets Layer)/TLS(Transport Layer Security)通信などにより、被認証部１０３は暗号化したパスワードを認証部２０２に送信する。例えば、被認証部１０３に対して接続を要求することを示す制御信号を認証部２０２に送信する。認証部２０２は、サーバ証明書を被認証部１０３に送信する。被認証部１０３は、サーバ証明書が信用できるものである場合には、サーバ証明書に含まれる公開鍵で共通鍵を暗号化し、暗号化した共通鍵を認証部２０２に送信する。認証部２０２は、公開鍵に対応する秘密鍵で暗号化された共通鍵を復号する。以降、被認証部１０３と認証部２０２との間で共通鍵を用いて暗号化したデータを送受信する。例えば、被認証部１０３は利用者の識別子とパスワードを暗号化したものを送信し、認証部２０２はそれを復号し、図示しない記憶部内に記憶された利用者の識別子とパスワードを参照し、認証処理を実行する。
【００３５】
なお、以降の処理は、認証部２０２において、認証が成功した場合に実行し、バックグラウンドでの実行を許容する。また、例えば、認証が成功した場合（受理した場合）、利用者mに対して認証が成功したことを通知し、所定のサービスを提供してもよい。また、認証が失敗した場合（棄却した場合）、利用者mに対して再度の認証を求めたり、サービスを提供せずに終了してもよい。
【００３６】
＜本人教師データ構成部２０１＞
本人教師データ構成部２０１は、素性ベクトル生成部１０２より、素性ベクトルvm(t)とともに呼び出される。本人教師データ構成部２０１は、素性ベクトルvm(t)を入力とし、受け取った素性ベクトルvm(t)と利用者mを紐付けるために、認証部２０２を呼び出す。認証部２０２における認証成功後、本人教師データ構成部２０１は、認証が成功したことを示す認証結果と利用者mの識別子IDm(認証処理の対象となった識別子)とを受け取り、受け取った素性ベクトルvm(t)が認証成功の識別子IDmに紐づくものとみなし、素性ベクトルvm(t)と識別子IDmと対応付けて、記憶部２０４の本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}に記憶する（Ｓ４）。図５は、本人キューテーブルのデータ例を示す。ただし、Pm,tは、時刻tにおける利用者mの本人キューテーブルに含まれる素性ベクトルの個数を示し、格納数ともいう。その後、本人キューテーブルの格納数Pm,tとともに、他人教師データ構成部２０３を呼び出す。図５に示すように、本人キューテーブルは、利用者毎に用意される。なお、時刻tにおける本人キューテーブルに格納される素性ベクトルの個数は、認証回数に応じて異なるため、利用者毎に異なる。ただし、本人キューテーブルに格納される素性ベクトルの最大個数は同じとし、例えばPmaxとする。本人教師データ構成部２０１は、既に、本人キューテーブルTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pm,t+1)}にPmax個の素性ベクトルが格納されている場合、最も古い素性ベクトルvm(t-Pmax)を削除し、新たな素性ベクトルvm(t)を記憶部２０４の本人キューテーブルに記憶し、本人キューテーブルをTablem,target(t)={vm(t),vm(t-1),…,vm(t-Pmax+1)}とする。
【００３７】
＜他人教師データ構成部２０３＞
他人教師データ構成部２０３は、本人教師データ構成部２０１より、識別子IDm、本人キューテーブルの格納数Pm,tとともに呼び出される。他人教師データ構成部２０３は、識別子IDmと本人キューの格納数Pm,tを入力とし、まず、受け取った識別子IDm以外の全識別子IDnを対象に、各本人キューテーブルTablen,target(t)から素性ベクトルをサンプリングする。ただし、n=1,2,…,M、かつ、n≠mである。サンプリングの個数は、本機能部が呼び出された際に受け取った本人キューテーブルTablem,target(t)の格納数Pm,tと同数とする。その後、サンプリングした素性ベクトルの集合を、識別子IDmに対応する他人の素性ベクトルとみなし、記憶部２０４の他人キューテーブルTablem,others(t)={vm,others(t),vm,others(t-1),…,vm,others(t-Pm,t+1)}に記憶する（図３のＳ５）。図６は、他人キューテーブルのデータ例を示す。
【００３８】
なお、識別子IDmに対応したキューの格納データが既に他人キューテーブルに格納されている場合には、古いデータをクリアした上で格納する。その後、識別子IDmとともに、学習部２０５を呼び出す。
【００３９】
なお、サンプリングの方法は限定しない。例えば、他人キューの格納順序毎に、M-1個の識別子IDnに対応する本人キューテーブルTablen,target(t)の中からサンプリング対象の本人キューテーブルをランダムに選定しても良い。言い換えると、他人キューテーブルに格納するp番目のキューとして、何れかの本人キューテーブルTablen,target(t)のp番目のキューを選定する。
【００４０】
また、キューの格納順序を考慮せず、M-1個の識別子IDnに対応する本人キューテーブルTablen,target(t)の中から、必要個数分の素性ベクトルをランダムにサンプリングしても良い。言い換えると、他人キューテーブルに格納するp番目のキューとして、何れかの本人キューテーブルTablen,target(t)のq番目のキューを選定する。ただし、qは、利用者nの本人キューテーブルTablen,target(t)の格納数をPt,nとすると、qは1,2,…,Pt,nの何れかである。
【００４１】
つまり、他人教師データ構成部２０３は、Pm,t個の素性ベクトルを、利用者m以外の利用者の本人キューテーブルTablen,target(t)の何れかの中から1個ずつ取り出し、Pm,t個の取り出した素性ベクトルと識別子IDmとを対応付けて他人キューテーブルTablem,others(t)に記憶する（Ｓ５）。
【００４２】
＜記憶部２０４＞
記憶部２０４は、本人教師データ構成部２０１、他人教師データ構成部２０３より、識別子IDm、素性ベクトルvm(t)、素性ベクトルの集合{vm,others(t),vm,others(t-1),…,vm,others(t-Pm,t+1)}とともに指示を受けて、本人キューテーブル（図５参照）、他人キューテーブル（図６参照）への読み書きを行う。また、学習部２０５より、IDと学習結果wm(t)とともに指示を受け、学習結果テーブルへの読み書きを行う。
【００４３】
＜学習部２０５＞
学習部２０５は、他人教師データ構成部２０３より、識別子IDmとともに呼び出される。学習部２０５は、識別子IDmを入力とし、記憶部２０４を参照し、本人キューテーブル（図５参照）と他人キューテーブル（図６参照）内の識別子IDmに対応する各キューから、格納されている素性ベクトルの集合{vm(t),vm(t-1),…,vm(t-Pm,t+1)}、{vm,others(t),vm,others(t-1),…,vm,others(t-Pm,t+1)}を取り出す。その際、本人キューテーブルから取り出した素性ベクトル{vm(t),vm(t-1),…,vm(t-Pm,t+1)}には「本人」のラベルを付与する。他人キューテーブルから取り出した素性ベクトル{vm(t),vm(t-1),…,vm(t-Pm,t+1)}、{vm,others(t),vm,others(t-1),…,vm,others(t-Pm,t+1)}には「他人」のラベルを付与する。その後、これらのラベルと素性ベクトルの組を教師データとして用い、学習部２０５にて教師あり機械学習等の学習アルゴリズムを実行し（図４のＳ６）、学習結果wm(t)を生成する。生成した学習結果の例としては、機械学習におけるパラメータや状態変数等が挙げられる。このパラメータ等を用いて、本人性を識別するための識別関数を構成することができる。これらの情報を、識別子IDmに対応した学習結果wm(t)として、記憶部２０４の学習結果テーブルに格納する（図７参照）。
【００４４】
学習結果テーブルに格納された学習結果wm(t)は、被認証部１０３と認証部２０２との間で行われる認証とは別の認証手段において利用することができ、別の認証手段の求めに応じて出力すればよい。例えば、別の認証手段は、学習結果wm(t)のパラメータ等を用いて、本人性を識別するための識別関数を構成し、この識別関数に未知の素性ベクトル（利用者の特徴情報）を与えることで、利用者の本人性を識別することができる。
【００４５】
＜効果＞
以上の構成により、(i)明示的な事前登録フェーズを設けることなく、教師データを収集し、その教師データによる学習を実行することができる。また、他人教師データ構成部２０３において、本人キューテーブルと同じ個数の素性ベクトルを他人キューテーブルに格納するため、(ii)偏った教師データによる学習を防ぐことができる。また、認証処理の度に学習結果を生成することができるため、学習結果を利用者の特徴情報の変化に追従させることができる。
【００４６】
＜変形例＞
本実施形態では、特徴学習装置２００が認証サーバの中に組み込まれるものとしているが、利用者の識別子を利用するサーバであれば、どのようなサーバであっても適用可能である。つまり、サーバがサービスを提供する際に利用者の識別子を取得し、その際に素性ベクトルも一緒に受け取ることができる構成であればどのようなサーバであってもよい。
【００４７】
また、本実施形態では、学習結果テーブルに格納された学習結果wm(t)を、被認証部１０３と認証部２０２との間で行われる認証とは別の認証手段に提供しているが、被認証部１０３と認証部２０２との間で行われる認証において利用してもよい。つまり、認証部２０２は、学習結果wm(t)を利用して識別子IDmの正当性を検証する。この場合、認証回数が増えるほど、本人キューテーブル及び他人キューテーブルに蓄積される素性ベクトルが増えるため、それらの素性ベクトルから得られる学習結果wm(t)を用いた認証の精度も向上していくと考えられる。このような構成とすることで、利用者に煩わしさを感じさせることなく、多段階認証を実現することができる。
【００４８】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００４９】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００５０】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００５１】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００５２】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００５３】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006556665.tif 000002
【図２】
0006556665.tif 000003
【図３】
0006556665.tif 000004
【図４】
0006556665.tif 000005
【図５】
0006556665.tif 000006
【図６】
0006556665.tif 000007
【図７】
0006556665.tif 000008