IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

<>
  • 特許-識別装置、識別方法及び記録媒体 図1
  • 特許-識別装置、識別方法及び記録媒体 図2
  • 特許-識別装置、識別方法及び記録媒体 図3
  • 特許-識別装置、識別方法及び記録媒体 図4
  • 特許-識別装置、識別方法及び記録媒体 図5
  • 特許-識別装置、識別方法及び記録媒体 図6
  • 特許-識別装置、識別方法及び記録媒体 図7
  • 特許-識別装置、識別方法及び記録媒体 図8
  • 特許-識別装置、識別方法及び記録媒体 図9
  • 特許-識別装置、識別方法及び記録媒体 図10
  • 特許-識別装置、識別方法及び記録媒体 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-01
(45)【発行日】2024-04-09
(54)【発明の名称】識別装置、識別方法及び記録媒体
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240402BHJP
【FI】
G06N20/00
【請求項の数】 9
(21)【出願番号】P 2022518529
(86)(22)【出願日】2020-04-30
(86)【国際出願番号】 JP2020018236
(87)【国際公開番号】W WO2021220450
(87)【国際公開日】2021-11-04
【審査請求日】2022-10-27
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100104765
【弁理士】
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100131015
【弁理士】
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】宮川 大輝
(72)【発明者】
【氏名】海老原 章記
【審査官】牛丸 太希
(56)【参考文献】
【文献】特開2019-164618(JP,A)
【文献】国際公開第19/049688(WO,A1)
【文献】米国特許出願公開第2019/0095799(US,A1)
【文献】Wang, W., et al.,Earliness-aware deep convolutional networks for early time series classification. [online],arXiv,2016年11月14日,[検索日 2020.09.25], Internet: <URL:https://arxiv.org/pdf/1611.04578.pdf>
【文献】Russwurm, M., et al.,End-to-end learning for early classification of time series.[online],arXiv,2019年01月30日,[検索日 2020.09.25], Internet: <URL:https://arxiv.org/pdf/1901.10681.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
学習可能な学習モデルを用いて、入力データのクラスを識別する識別手段と、
前記入力データのクラスの識別結果の正確さを評価するための第1指標値と前記入力データのクラスの識別に要する時間を評価するための第2指標値との間の関連性に基づく目的関数を用いて、前記学習モデルを更新する更新手段と
を備え
前記目的関数は、前記第1及び第2指標値に夫々対応する二つの座標軸を含む座標平面内で前記関連性を示す曲線に基づく関数を含む
識別装置。
【請求項2】
前記目的関数は、前記曲線よりも下側の領域の面積に基づく関数を含む
請求項に記載の識別装置。
【請求項3】
前記第1及び第2指標値の夫々が、最小値がゼロとなり且つ最大値が1となるようにお正規化されている場合には、前記曲線よりも下側の領域は、前記曲線と、前記二つの座標軸のうちの前記第2指標値に対応する一の座標軸と、前記第2指標値=1という数式で特定される直線とによって囲まれる領域である
請求項に記載の識別装置。
【請求項4】
前記目的関数は、目的関数をLとし、且つ、最大値が1になるように正規化された前記面積をSとすると、L=(1-S)という数式を用いて定義される
請求項又はに記載の識別装置。
【請求項5】
前記更新手段は、前記面積が最大になるように、前記目的関数を用いて前記学習モデルを更新する
請求項からのいずれか一項に記載の識別装置。
【請求項6】
前記学習モデルは、前記入力データが入力された場合に、前記入力データが所定クラスに属する確からしさを示す尤度を出力し、
前記識別手段は、前記尤度と所定閾値との大小関係に基づいて、前記入力データのクラスを識別し、
前記更新手段は、(i)互いに異なる複数の前記所定閾値を用いた前記識別手段の識別結果に基づいて、前記第1及び第2指標値を算出し、(ii)前記算出した第1及び第2指標値に基づいて、前記目的関数を算出し、(iii)前記算出した目的関数を用いて、前記学習モデルを更新する
請求項1からのいずれか一項に記載の識別装置。
【請求項7】
前記入力データは、系統だって配列可能な複数の単位データを含む系列データを含み、
前記学習モデルは、前記系列データが入力された場合に、前記系列データが所定クラスに属する確からしさを示す尤度を、前記複数の単位データに夫々対応して複数出力する
請求項1からのいずれか一項に記載の識別装置。
【請求項8】
学習可能な学習モデルを用いて、入力データのクラスを識別することと、
前記入力データのクラスの識別結果の正確さを評価するための第1指標値と前記入力データのクラスの識別に要する時間を評価するための第2指標値との間の関連性に基づく目的関数を用いて、前記学習モデルを更新することと
を含み、
前記目的関数は、前記第1及び第2指標値に夫々対応する二つの座標軸を含む座標平面内で前記関連性を示す曲線に基づく関数を含む
識別方法。
【請求項9】
コンピュータに識別方法を実行させるコンピュータプログラムであって、
前記識別方法は、
学習可能な学習モデルを用いて、入力データのクラスを識別することと、
前記入力データのクラスの識別結果の正確さを評価するための第1指標値と前記入力データのクラスの識別に要する時間を評価するための第2指標値との間の関連性に基づく目的関数を用いて、前記学習モデルを更新することと
を含み、
前記目的関数は、前記第1及び第2指標値に夫々対応する二つの座標軸を含む座標平面内で前記関連性を示す曲線に基づく関数を含む
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、入力データのクラスを識別する識別装置、識別方法及び記録媒体の技術分野に関する。
【背景技術】
【0002】
学習可能な学習モデル(例えば、ニューラルネットワークに基づく学習モデル)を用いて入力データのクラスを識別する識別装置が様々な分野で用いられている。例えば、入力データが金融機関における取引の内容を示す取引データである場合には、学習モデルに入力された取引データに対応する取引が、正常な取引であるのか又は不審な取引であるのかを識別する識別装置が用いられている。
【0003】
このような識別装置は、入力データのクラスを精度よく且つ素早く識別することが望まれる。このため、識別装置が用いる学習モデルは、入力データのクラスの識別結果の精度(つまり、正確さ)の向上と入力データのクラスを識別するために要する時間の短縮とを満たすように学習される。例えば、非特許文献1には、入力データのクラスの識別結果の精度に関する損失関数と、入力データのクラスの識別に要する時間に関する損失関数との総和に基づく目的関数を用いて、学習モデルを学習する方法が記載されている。
【0004】
その他、本開示に関連する先行技術文献として、特許文献1から5及び非特許文献2があげられる。
【先行技術文献】
【特許文献】
【0005】
【文献】特表2020-500377号公報
【文献】特開2017-208044号公報
【文献】特開2017-040616号公報
【文献】特開2016-156638号公報
【文献】特開2014-073134号公報
【非特許文献】
【0006】
【文献】Thomas Hartvigsen et al.、“Adaptive-Halting Policy Netowrk for Early Classification”、Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery&Data Mining、2019年
【文献】Don Kurian Dennis et al.、“Multiple Instance Learning for Efficient Sequential Data Classification on Resource-constrained Devices”、Advances in Neural Information Processing Systems、2018年
【発明の概要】
【発明が解決しようとする課題】
【0007】
入力データの識別結果の精度と、入力データのクラスを識別するために要する時間の短縮とは、一般的にはトレードオフの関係にある。つまり、入力データのクラスの識別結果の精度の向上を優先しようとすれば、入力データのクラスを識別するために要する時間の短縮がある程度犠牲になる可能性がある。同様に、入力データのクラスを識別するために要する時間の短縮を優先しようとすれば、入力データのクラスの識別結果の精度の向上がある程度犠牲になる可能性がある。
【0008】
このようなトレードオフの関係が存在することを考慮すると、上述した非特許文献1に記載された目的関数は、入力データのクラスの識別結果の精度の向上と入力データのクラスを識別するために要する時間の短縮とを必ずしも両立させることができない可能性がある。具体的には、上述した非特許文献1に記載された目的関数は、入力データのクラスの識別結果の精度に関する損失関数(以降、“精度損失関数”と称する)と入力データのクラスの識別に要する時間に関する損失関数(以降、“時間損失関数”と称する)との総和に基づく目的関数である。つまり、上述した非特許文献1に記載された目的関数は、互いに別個独立に(言い換えれば、無関係に)算出される精度損失関数及び時間損失関数の単なる総和に基づく目的関数である。このため、非特許文献1に記載された目的関数は、精度損失関数及び時間損失関数の双方がバランスよく小さくなっている場合のみならず、精度損失関数が十分に小さくなっている一方で時間損失関数が相応に大きくなっている場合及び時間損失関数が十分に小さくなっている一方で精度損失関数が相応に大きくなっている場合の夫々においても、最小化されていると判定される可能性がある。その結果、入力データのクラスの識別結果の精度が十分に担保されている一方で、入力データのクラスを識別するために要する時間の短縮が十分でない可能性がある。つまり、入力データのクラスを識別するために要する時間を短縮する余地が十分に残っている可能性がある。同様に、入力データのクラスを識別するために要する時間が十分に短縮されている一方で、入力データのクラスの識別結果の精度が十分でない可能性がある。つまり、入力データのクラスの識別結果の精度を向上する余地が十分に残っている可能性がある。
【0009】
本開示は、上述した技術的問題を解決可能な識別装置、識別方法及び記録媒体を提供することを課題とする。一例として、本開示は、入力データのクラスの識別結果の精度の向上と入力データのクラスを識別するために要する時間の短縮とを両立可能な識別装置、識別方法及び記録媒体を提供することを課題とする。
【課題を解決するための手段】
【0010】
本開示の識別装置の一の態様は、学習可能な学習モデルを用いて、入力データのクラスを識別する識別手段と、前記入力データのクラスの識別結果の正確さを評価するための第1指標値と前記入力データのクラスの識別に要する時間を評価するための第2指標値との間の関連性に基づく目的関数を用いて、前記学習モデルを更新する更新手段とを備える。
【0011】
本開示の識別方法の一の態様は、学習可能な学習モデルを用いて、入力データのクラスを識別する識別工程と、前記入力データのクラスの識別結果の正確さを評価するための第1指標値と前記入力データのクラスの識別に要する時間を評価するための第2指標値との間の関連性に基づく目的関数を用いて、前記学習モデルを更新する更新工程とを含む。
【0012】
本開示の記録媒体の一の態様は、コンピュータに識別方法を実行させるコンピュータプログラムが記録された記録媒体であって、前記識別方法は、学習可能な学習モデルを用いて、入力データのクラスを識別する識別工程と、前記入力データのクラスの識別結果の正確さを評価するための第1指標値と前記入力データのクラスの識別に要する時間を評価するための第2指標値との間の関連性に基づく目的関数を用いて、前記学習モデルを更新する更新工程とを含む。
【図面の簡単な説明】
【0013】
図1図1は、本実施形態の識別装置の構成を示すブロック図である。
図2図2は、識別動作を行うための学習モデルの構成を示すブロック図である。
図3図3は、学習モデルが出力する尤度の推移を示すグラフである。
図4図4は、本実施形態の識別装置が行う学習動作の流れを示すフローチャートである。
図5図5は、学習モデルが出力する尤度の推移を示すグラフである。
図6図6は、識別ユニットによる識別動作の結果を示す識別結果情報のデータ構造を示すデータ構造図である。
図7図7は、精度指標値及び時間指標値を示すテーブルである。
図8図8は、図7に示す精度指標値及び時間指標値に基づいて算出される評価曲線を示すグラフである。
図9図9は、評価曲線を示すグラフである。
図10図10は、学習動作が開始される前の評価曲線と学習動作が完了した後の評価曲線とを示すグラフである。
図11図11は、評価曲線を示すグラフである。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら、識別装置、識別方法及び記録媒体の実施形態について説明する。
【0015】
(1)本実施形態の識別装置1の構成
初めに、図1を参照しながら、本実施形態の識別装置1の構成について説明する。図1は、本実施形態の識別装置1の構成を示すブロック図である。
【0016】
図1に示すように、識別装置1は、演算装置2と、記憶装置3とを備えている。更に、識別装置1は、入力装置4と、出力装置5とを備えていてもよい。但し、識別装置1は、入力装置4及び出力装置5の少なくとも一方を備えていなくてもよい。演算装置2と、記憶装置3と、入力装置4と、出力装置5とは、データバス6を介して接続されていてもよい。
【0017】
演算装置2は、例えば、CPU(Central Proecssing Unit)、GPU(Graphic Processing Unit)及びFPGA(Field Programmable Gate Array)の少なくとも一つを含む。演算装置2は、コンピュータプログラムを読み込む。例えば、演算装置2は、記憶装置3が記憶しているコンピュータプログラムを読み込んでもよい。例えば、演算装置2は、コンピュータで読み取り可能であって且つ一時的でない記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。演算装置2は、不図示の通信装置を介して、識別装置1の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、ダウンロードしてもよい又は読み込んでもよい)。演算装置2は、読み込んだコンピュータプログラムを実行する。その結果、演算装置2内には、識別装置1が行うべき動作を実行するための論理的な機能ブロックが実現される。つまり、演算装置2は、識別装置1が行うべき動作を実行するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。
【0018】
本実施形態では、演算装置2は、識別装置1に入力される入力データのクラスを識別するための識別動作(言い換えれば、分類動作)を行う。例えば、演算装置2は、入力データが、第1のクラスに属するのか又は第1のクラスとは異なる第2のクラスに属するのかを識別する。
【0019】
入力データは、典型的には、系統だって配列可能な複数の単位データを含む系列データである。例えば、入力データは、時系列に配列可能な複数の単位データを含む時系列データであってもよい。但し、入力データは、必ずしも系列データでなくてもよい。このような系列データの一例として、利用者が金融機関で行った取引の内容を時系列で示す取引データがあげられる。この場合、演算装置2は、取引データが、正常な取引に関するクラスに属するのか又は不審な(言い換えれば、異常な、不正な又は詐欺に巻き込まれていると疑われる)取引に関するクラスに属するのかを識別してもよい。つまり、演算装置2は、取引データがその内容を示す取引が、正常な取引であるのか又は不審な取引であるのかを識別してもよい。
【0020】
取引データの一例として、所望の金額の現金をオンラインサイト経由で振り込み先に振り込むための一連の取引の内容を時系列で示すデータがあげられる。例えば、取引データは、(i)第1の時刻において、利用者が金融機関のオンラインサイトにログインするためのログインIDを利用者が入力する処理の内容に関する単位データと、(ii)第1の時刻に続く第2の時刻において、オンラインサイトにログインするためのパスワードを利用者が入力する処理の内容に関する単位データと、(iii)第2の時刻に続く第3の時刻において、利用者が振込先を入力する処理の内容に関する単位データと、(iv)第2の時刻に続く第4の時刻において、利用者が振込金額を入力する処理の内容に関する単位データと、(v)第3及び第4の時刻に続く第5の時刻において、振り込みを完了するために利用者が取引パスワードを入力する処理の内容に関する単位データとを含んでいてもよい。この場合、演算装置2は、複数の単位データを含む取引データに基づいて、取引データのクラスを識別する。例えば、演算装置2は、取引データその内容を示す振込取引が、正常な振込取引であるのか、又は、不審な(例えば、振込詐欺に巻き込まれていると疑われる)振込取引であるのかを識別してもよい。
【0021】
演算装置2は、学習可能な学習モデルMを用いて、入力データのクラスを識別する。学習モデルMは、例えば、入力データが入力されると、入力データが所定のクラスに属する確からしさを示す尤度(言い換えれば、入力データが所定のクラスに属する確率)を出力する学習モデルである。
【0022】
図1には、識別動作を実行するために演算装置2内に実現される論理的な機能ブロックの一例が示されている。図1に示すように、演算装置2内には、識別動作を実行するための論理的な機能ブロックとして、「識別手段」の一具体例である識別ユニット21が実現される。識別ユニット21は、学習モデルMを用いて、入力データのクラスを識別する。識別ユニット21は、論理的な機能ブロックとして、学習モデルMの一部を構成する特徴量算出部211と、学習モデルMの他の一部を構成する識別部212とを含む。特徴量算出部211は、入力データの特徴量を算出する。識別部212は、特徴量算出部211が算出した特徴量に基づいて、入力データのクラスを識別する。
【0023】
上述したように、入力データが系列データである場合には、識別ユニット21は、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)に基づく学習モデルMを用いて、入力データのクラスを識別してもよい。つまり、識別ユニット21は、再帰型ニューラルネットワークに基づく学習モデルMを用いて、特徴量算出部211と識別部212とを実現してもよい。
【0024】
図2は、特徴量算出部211と識別部212とを実現するための再帰型ニューラルネットワークに基づく学習モデルMの構成の一例を示している。図2に示すように、学習モデルMは、入力層Iと、中間層Hと、出力層Oとを備えていてもよい。入力層I及び中間層Hは、特徴量算出部211を構成する。出力層Oは、識別部212を構成する。入力層Iは、N(尚、Nは2以上の整数)個の入力ノードIN(具体的には、入力ノードINからIN)を備えていてもよい。中間層Nは、N個の中間ノードHN(具体的には、中間ノードHNからHN)を備えていてもよい。出力層Oは、N個の出力ノードON(具体的には、出力ノードONからON)を備えていてもよい。
【0025】
N個の入力ノードINからINには、夫々、系列データに含まれるN個の単位データx(具体的には、単位データxからx)が入力される。N個の入力ノードINからINに入力されたN個の単位データxからxは、夫々、N個の中間ノードHNからHNに入力される。尚、各中間ノードHNは、例えば、LSTM(Long Short Term Memory)に準拠したノードであってもよいし、その他のネットワーク構造に準拠したノードであってもよい。N個の中間ノードHNからHNは、夫々、N個の単位データxからxの特徴量を、N個の出力ノードONからONに出力する。更に、各中間ノードHN(但し、kは、1以上且つN以下の整数を示す変数)は、図2に示す横方向の矢印で示すように、各単位データxの特徴量を、次段の中間ノードHNk+1に入力する。このため、各中間ノードHNは、単位データxと中間ノードHNk-1が出力する単位データxk-1の特徴量とに基づいて、単位データxからxk-1の特徴量が反映された単位データxの特徴量を出力ノードONに出力する。このため、各中間ノードHNが出力する単位データxの特徴量は、実質的には、単位データxから単位データxの特徴量を表しているとも言える。
【0026】
各出力ノードONは、中間ノードHNが出力した単位データxの特徴量に基づいて、系列データが所定のクラスに属する確からしさを示す尤度yを出力する。尤度yは、系列データに含まれるN個の単位データxからxのうちのk個の単位データxからxからに基づいて推定される、系列データが所定のクラスに属する確からしさを示す尤度に相当する。このように、N個の出力ノードONからONから構成される識別部212は、N個の単位データxからxに夫々対応するN個の尤度yからyを順に出力する。
【0027】
識別部212は、N個の尤度yからyに基づいて、系列データのクラスを識別する。具体的には、識別部212は、最初に出力される尤度yが所定の第1閾値T1(但し、T1は正の数)以上であるか否か及び所定の第2閾値T2(但し、T1は負の数)以下であるか否かを判定する。尚、第1閾値T1の絶対値と第2閾値T2の絶対値とは、典型的には同一であるが、異なっていてもよい。尤度yが第1閾値T1以上であると判定された場合には、識別部212は、系列データが第1のクラスに属すると判定する。例えば、系列データが上述した取引データである場合には、識別部212は、系列データが正常な取引に関するクラスに属すると判定する。尤度yが第2閾値T2以下であると判定された場合には、識別部212は、系列データが第2のクラスに属すると判定する。例えば、系列データが上述した取引データである場合には、識別部212は、系列データが不審な取引に関するクラスに属すると判定する。一方で、尤度yが第1閾値T1以上でなく且つ第2閾値T2以下でないと判定された場合には、識別部212は、尤度yに続けて出力される尤度yが第1閾値T1以上であるか否か及び第2閾値T2以下であるか否かを判定する。以降、同様の動作が、尤度yが第1閾値T1以上であると判定されるか、又は、第2閾値T2以下であると判定されるまで繰り返される。
【0028】
図3は、m(但し、mは1以上且つN以下の整数)番目に出力された尤度yが第1値T1以上であると判定された場合の尤度yからyの推移を示すグラフである。この場合、単位データxが学習モデルMに入力された時点で初めて、単位データxに基づいて算出される尤度yが第1閾値T1以上であると判定される。つまり、単位データxが学習モデルMに入力された時点で、系列データのクラスの識別が完了する。言い換えれば、単位データxが学習モデルMに入力されるまでは、系列データのクラスの識別は完了しない。このため、変数mが小さい(つまり、学習モデルMに入力された単位データxの数が少ない)ほど、系列データのクラスの識別に要する時間が短いと言える。言い換えれば、変数mが大きい(つまり、学習モデルMに入力された単位データxの数が多い)ほど、系列データのクラスの識別に要する時間が長いと言える。
【0029】
再び図1において、識別装置1は更に、識別ユニット21による入力データ(系列データ)のクラスの識別結果に基づいて、学習モデルMを学習させる学習動作(言い換えれば、学習モデルMを更新する更新動作)を行う。図1には、学習動作を実行するために演算装置2内に実現される論理的な機能ブロックの一例が示されている。図1に示すように、演算装置2内には、学習動作を実行するための論理的な機能ブロックとして、「更新手段」の一具体例である学習ユニット22が実現される。学習ユニット22は、曲線算出部221と、目的関数算出部222と、更新部223とを備える。尚、曲線算出部221と、目的関数算出部222と、更新部223との夫々の動作については、後に学習動作を説明する際に説明するため、ここでの説明を省略する。
【0030】
記憶装置3は、所望のデータを記憶可能である。例えば、記憶装置3は、演算装置2が実行するコンピュータプログラムを一時的に記憶していてもよい。記憶装置3は、演算装置2がコンピュータプログラムを実行している際に演算装置2が一時的に使用するデータを一時的に記憶してもよい。記憶装置3は、識別装置1が長期的に保存するデータを記憶してもよい。尚、記憶装置3は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。つまり、記憶装置3は、一時的でない記録媒体を含んでいてもよい。
【0031】
入力装置4は、識別装置1の外部からの識別装置1に対する情報の入力を受け付ける装置である。
【0032】
出力装置5は、識別装置1の外部に対して情報を出力する装置である。例えば、出力装置5は、識別装置1が行う識別動作及び学習動作の少なくとも一方に関する情報を出力してもよい。例えば、出力装置5は、学習動作によって学習された学習モデルMに関する情報を出力してもよい。
【0033】
(2)識別装置1が行う学習動作の流れ
続いて、図4を参照しながら、本実施形態の識別装置1が行う学習動作の流れについて説明する。図4は、本実施形態の識別装置1が行う学習動作の流れを示すフローチャートである。
【0034】
図4に示すように、識別ユニット21に、系列データと当該系列データのクラスの正解ラベル(つまり、正解クラス)とが関連付けられた学習データを複数含む学習データセットが入力される(ステップS11)。その後、識別ユニット21は、ステップS11で入力された学習データセットに対して識別動作を行う(ステップS12)。つまり、識別ユニット21は、ステップS11で入力された学習データセットに含まれる複数の系列データの夫々のクラスを識別する(ステップS12)。具体的には、識別ユニット21の特徴量算出部211は、各系列データに含まれる複数の単位データxからxの特徴量を算出する。識別ユニット21の識別部212は、特徴量算出部211が算出した特徴量に基づいて、尤度yからyを算出し、算出された尤度yからyの夫々と第1閾値T1及び第2閾値T2の夫々とを比較することで、系列データのクラスを識別する。
【0035】
本実施形態では、識別部212は、尤度yからyの夫々と第1閾値T1及び第2閾値T2の夫々とを比較することで系列データのクラスを識別する動作を、第1閾値T1及び第2閾値T2を変更しながら繰り返す。例えば、尤度yからyの推移を示す図5に示すように、識別部212は、第1閾値T1#1及び第2閾値T2#1を夫々第1閾値T1及び第2閾値T2に設定し、尤度yからyの夫々と第1閾値T1#1及び第2閾値T2#1の夫々とを比較することで、系列データのクラスを識別する。図5に示す例では、単位データxが学習モデルMに入力された時点で初めて、単位データxに基づいて算出される尤度yが第1閾値T1#1以上であると判定される。このため、識別部212は、単位データxが学習モデルMに入力されるまでに経過した時間を費やして、系列データのクラスが第1のクラスであると識別する。その後、例えば、識別部212は、第1閾値T1#1とは異なる第1閾値T1#2及び第2閾値T2#1とは異なる第2閾値T2#2を夫々第1閾値T1及び第2閾値T2に設定し、尤度yからyの夫々と第1閾値T1#2及び第2閾値T2#2の夫々とを比較することで、系列データのクラスを識別する。図5に示す例では、単位データxn-1が学習モデルMに入力された時点で初めて、単位データxn-1に基づいて算出される尤度yn-1が第1閾値T1#2以上であると判定される。このため、識別部212は、単位データxn-1が学習モデルMに入力されるまでに経過した時間を費やして、系列データのクラスが第1のクラスであると識別する。
【0036】
その結果、識別ユニット21は、ステップS12における識別ユニット21による識別動作の結果を示す識別結果情報213を、学習ユニット22に対して出力する。識別結果情報213の一例が図6に示されている。図6に示すように、識別結果情報213は、学習データセットに含まれる複数の系列データの夫々のクラスの識別結果(識別クラス)と各系列データのクラスの識別を完了するために要した時間(識別時間)とが関連付けられたデータセット214を、第1閾値T1及び第2閾値T2の組み合わせである閾値セットの数だけ含む。尚、図6は、学習データセットに含まれる系列データの数がM(但し、Mは2以上の整数)であり且つ閾値セットの数がi(但し、iは2以上の整数)である場合に取得される識別結果情報213を示している。
【0037】
その後、学習ユニット22は、識別結果情報213に基づいて、識別ユニット21による系列データのクラスの識別精度(尚、識別精度を、“performance”と称してもよい)が十分であるか否かを判定する(ステップS13)。例えば、学習ユニット22は、識別精度(つまり、系列データの識別結果の正確さ)を評価するための精度指標値が、所定の許容閾値を超えている場合に、識別精度が十分であると判定してもよい。この場合、学習ユニット22は、識別結果情報213に含まれる識別クラスと、学習データセットに含まれる正解クラスとを比較することで、精度指標値を算出してもよい。精度指標値として、例えば、二値分類で用いられる任意の指標が用いられてもよい。二値分類で用いられる指標の一例として、例えば、正解率(accuracy)、平均正解率(balanced accuracy)、適合率(precision)、再現率(recall)、F値(F value)、インフォームドネス(informedness)、マークドネス(markedness)、G平均(G mean)及びマシューズ相関係数(Matthews correlation coefficient)うちの少なくとも一つがあげられる。この場合、精度指標値は、識別精度が高くなるほど大きな値になる。尚、図6に示すように、本実施形態では、識別結果情報213には、学習用データセットに含まれる複数の系列データの夫々の識別クラスのセットが、第1閾値T1及び第2閾値T2の組み合わせの数(つまり、閾値セットの数)だけ含まれている。この場合、学習ユニット22は、一の閾値セットに対応する識別クラスのセットを用いて、精度指標値を算出してもよい。或いは、学習ユニット22は、複数の閾値セットに対応する複数の精度指標値の平均値を算出してもよい。
【0038】
ステップS13における判定の結果、識別精度が十分であると判定された場合には(ステップS13:Yes)、学習モデルMを用いて系列データのクラスを十分に高い精度で識別することができるほどに学習モデルMが十分に学習されていると推定される。従って、この場合には、識別装置1は、図4に示す学習動作を終了する。
【0039】
他方で、ステップS13における判定の結果、識別精度が十分でないと判定された場合には(ステップS13:No)、識別装置1は、図4に示す学習動作を継続する。この場合、まず、学習ユニット22の曲線算出部221は、識別結果情報213に基づいて、評価曲線PECを算出する(ステップS14)。評価曲線PECは、上述した精度指標値と以下に説明する時間指標値との間の関連性を示す。具体的には、評価曲線PECは、精度指標値と時間指標値との間の関連性を、精度指標値及び時間指標値に夫々対応する二つの座標軸によって規定される座標平面上で示す曲線である。時間指標値は、識別ユニット21が系列データのクラスを識別するために要した時間(つまり、系列データのクラスの識別を完了する早さであり、Earlinessと称されてもよい)を評価するための指標値である。上述したように、評価結果情報213は、識別時間を含む。時間指標値は、この識別時間に基づいて定まる指標値であってもよい。例えば、時間指標値は、識別時間の平均値及び識別時間の中央値の少なくとも一方であってもよい。この場合、時間指標値は、識別時間が長くなるほど大きな値になる。
【0040】
以下、図7から図8を参照しながら、評価曲線PECについて説明する。図7は、精度指標値及び時間指標値を示すテーブルである。図8は、図7に示す精度指標値及び時間指標値に基づいて算出される評価曲線PECを示すグラフである。
【0041】
評価曲線PECを算出するために、曲線算出部221は、まず、評価結果情報213に基づいて、精度指標値と時間指標値とを算出する。具体的には、上述したように、識別結果情報213には、学習用データセットに含まれる複数の系列データの識別クラスと識別時間のセットが、第1閾値T1及び第2閾値T2の組み合わせの数(つまり、閾値セットの数)だけ含まれている。この場合、曲線算出部221は、閾値セット毎に、精度指標値と時間指標値とを算出する。例えば、曲線算出部221は、第1閾値T1#1及び第2閾値T2#1から構成される第1の閾値セットに対応する識別クラスに基づいて、精度指標値(図7中の精度指標値AC#1)を算出し、第1の閾値セットに対応する識別時間に基づいて、時間指標値(図7中の時間指標値TM#1)を算出する。更に、曲線算出部221は、第1閾値T1#2及び第2閾値T2#2から構成される第2の閾値セットに対応する識別クラスに基づいて、精度指標値(図7中の精度指標値AC#2)を算出し、第2の閾値セットに対応する識別時間に基づいて、時間指標値(図7中の時間指標値TM#2)を算出する。以降、曲線算出部221は、全ての閾値セットを対象とする精度指標値及び時間指標値の算出が完了するまで、精度指標値及び時間指標値を算出する動作を繰り返す。その結果、図7に示すように、曲線算出部221は、精度指標値と時間指標値とを含む指標値セットを、閾値セットの数だけ算出する。この際、曲線算出部221が算出する精度指標値及び時間指標値の夫々は、最小値がゼロになり且つ最大値が1になるように正規化されていることが好ましい。
【0042】
その後、図8に示すように、曲線算出部221は、精度指標値及び時間指標値に夫々対応する二つの座標軸によって規定される座標平面上において、算出した指標値セットに含まれる精度指標値及び時間指標値に対応する座標点Cをプロットする。その後、曲線算出部221は、プロットした座標点Cを結ぶ曲線を、評価曲線PECとして算出する。このような評価曲線PECは、典型的には、時間指標値が大きくなるほど精度評価値が大きくなることを示す曲線となる。例えば、縦軸及び横軸が夫々精度指標値及び時間指標値に対応する場合には、評価曲線PECは、座標平面上において右肩上がりの曲線となる。
【0043】
再び図4において、その後、目的関数算出部222は、ステップS14で算出された評価曲線PECに基づいて、学習モデルGの学習で用いる目的関数Lを算出する(ステップS15)。具体的には、目的関数算出部222は、評価曲線PECを示すグラフである図9に示すように、評価曲線PECよりも下側の領域AUC(Area Under Curve)の面積Sに基づく目的関数Lを算出する。つまり、目的関数算出部222は、評価曲線PECと二つの座標軸とによって囲まれる領域AUCの面積Sに基づく目的関数Lを算出する。より具体的には、上述したように最小値がゼロになり且つ最大値が1になるように精度指標値及び時間指標値の夫々が正規化されているため、目的関数算出部222は、時間指標値が最小値である0から最大値である1となり且つ精度指標値が最小値である0から最大値である1となる範囲内において、評価曲線PECと二つの座標軸とによって囲まれる領域AUC(図11に示す例では、評価曲線PECと時間指標値に対応する横軸と時間指標値=1という数式で特定される直線とによって囲まれる領域AUC)の面積Sに基づく目的関数Lを算出する。一例として、上述したように最小値がゼロになり且つ最大値が1になるように精度指標値及び時間指標値の夫々が正規化されている場合には、領域AUCの面積もまた、最小値がゼロになり且つ最大値が1になるように正規化されていることになる。このように領域AUCの面積Sが規格化されている場合には、目的関数算出部222は、L=(1-S)という数式を用いて、目的関数Lを算出してもよい。
【0044】
尚、評価曲線PECは、上述したように、精度指標値と時間指標値との関連性を示している。このため、評価曲線PECに基づく目的関数Lは、精度指標値と時間指標値との関連性に基づく目的関数であるとみなしてもよい。
【0045】
その後、更新部223は、ステップS15で算出された目的関数Lに基づいて、学習モデルGのパラメータを更新する(ステップS16)。本実施形態では、更新部223は、評価曲線PECよりも下側の領域AUCの面積Sが最大になるように、学習モデルGのパラメータを更新する。上述したL=(1-S)という数式を用いて目的関数Lが算出される場合には、更新部223は、目的関数Lが最小になるように、学習モデルGのパラメータを更新する。この際、更新部223は、誤差逆伝搬法等の既知の学習アルゴリズムを用いて、学習モデルGのパラメータを更新してもよい。ここで、目的関数Lを最小化することは、評価曲線PECの立ち上がりにおける傾きを急にすることを目的としているとみなしてもよい。評価曲線PECの立ち上がりが急になるほど、精度指標値がある閾値(例えば、後述の図10に示す許容閾値)に達するまでに要する時間が短くなる。したがって、識別装置1は、入力された系列データの識別結果を高速で出力することが可能になる。
【0046】
その後、識別装置1は、ステップS13において識別精度が十分であると判定されるまで、ステップS11以降の動作を繰り返す。つまり、識別ユニット21に、新たな学習データセットが入力される(ステップS11)。識別ユニット21は、ステップS17でパラメータが更新された学習モデルMを用いて、ステップS11で新たに入力された学習データセットに対して識別動作を行う(ステップS12)。曲線算出部221は、更新された学習モデルMを用いたクラスの識別結果を示す識別結果情報213に基づいて、評価曲線PECを算出し直す(ステップS14)。目的関数算出部222は、算出し直された評価曲線PECに基づいて、目的関数Lを算出し直す(ステップS15)。更新部223は、算出し直された目的関数Lに基づいて、学習モデルGのパラメータを更新する(ステップS16)。
【0047】
(3)識別装置1の技術的効果
以上説明したように、本実施形態の識別装置1は、評価曲線PECに基づく目的関数Lを用いて、学習モデルGのパラメータの更新(つまり、学習モデルMの学習)を行う。具体的には、識別装置1は、評価曲線PECよりも下側の領域AUCの面積Sが最大になるように、学習モデルGのパラメータの更新(つまり、学習モデルMの学習)を行う。ここで、学習動作が開始される前の評価曲線PECと学習動作が完了した後の評価曲線PECとを示すグラフである図10に示すように、領域AUCの面積Sが大きくなるように学習モデルMの学習が行われると、座標平面上で評価曲線PECが左上方にシフトする。座標平面上で評価曲線PECが左上方にシフトすると、許容閾値を超える精度評価値を実現する(つまり、識別精度が十分になる状態を実現する)ための時間指標値の最小値が小さくなる。例えば、図10に示す例では、学習動作が開始される前には、許容閾値を超える精度評価値を実現するための時間指標値の最小値が値t1である一方で、学習動作が完了した後には、許容閾値を超える精度評価値を実現するための時間指標値の最小値が値t1よりも小さい値t2になっている。このように許容閾値を超える精度評価値を実現するための時間指標値の最小値が小さくなることは、許容閾値を超える識別精度で入力データのクラスを識別するために要する時間が短くなることを意味する。従って、本実施形態では、識別装置1は、入力データのクラスの識別精度(つまり、クラスの識別結果の正確さ)の向上と入力データのクラスを識別するために要する識別時間の短縮とを両立させることができる。
【0048】
このように識別精度と識別時間の短縮とを両立させることができるという技術的効果が享受できる理由の一つは、精度指標値と時間指標値との間の関連性(つまり、関係)に基づく目的関数L(具体的には、評価曲線PECに基づく目的関数L)が用いられていることにある。以下、このような技術的効果が享受できる理由について、精度指標値に基づく一方で時間指標値が考慮されていない損失関数(以降、“精度損失関数”と称する)と、時間指標値に基づく一方で精度指標値が考慮されていない損失関数(以降、“時間損失関数”と称する)との総和が目的関数として用いられる比較例を参照しながら説明する。具体的には、比較例における目的関数は、精度損失関数及び時間損失関数の双方がバランスよく小さくなっている場合のみならず、精度損失関数が十分に小さくなっている一方で時間損失関数が許容できないほどに大きくなっている場合及び時間損失関数が十分に小さくなっている一方で精度損失関数が許容できないほどに大きくなっている場合の夫々においても、最小化されていると判定される可能性がある。その結果、識別精度が十分に担保されている一方で、識別時間の短縮が十分でない(つまり、識別時間の短縮の余地が十分に残っている)可能性がある。同様に、識別時間が十分に短縮されている一方で、識別精度が十分でない(つまり、識別精度の向上の余地が十分に残っている)可能性がある。しかるに、本実施形態では、精度指標値と時間指標値との間の関連性に基づく目的関数Lが用いられている。このため、識別装置1は、このような目的関数Lを用いることで、学習モデルMの学習によって時間指標値が変化した場合に、時間指標値の変化に伴って精度指標値がどのように変化するかを実質的に考慮しながら、学習モデルMの学習を行うことができる。同様に、識別装置1は、このような目的関数Lを用いることで、学習モデルMの学習によって精度指標値が変化した場合に、精度指標値の変化に伴って時間指標値がどのように変化するかを実質的に考慮しながら、学習モデルMの学習を行うことができる。これは、目的関数Lが、精度指標値と時間指標値との間の関連性(つまり、精度指標値及び時間指標値のいずれか一方が変化した場合に、精度指標値及び時間指標値のいずれか他方がどのように変化するかを示す関連性)に基づく目的関数だからである。従って、本実施形態では、比較例と比較して、学習動作が完了した時点で、識別精度が十分に担保されている一方で識別時間の短縮が十分でない状況及び識別時間が十分に短縮されている一方で識別精度が十分でない状況が生ずる可能性は相対的に低い。その結果、識別装置1は、入力データのクラスの識別精度(つまり、クラスの識別結果の正確さ)の向上と入力データのクラスを識別するために要する識別時間の短縮とを両立させることができる。
【0049】
(4)変形例
上述した説明では、学習ユニット22は、評価曲線PECよりも下側の領域AUCの面積Sに基づく目的関数Lを用いて、学習モデルMの学習を行っている。しかしながら、学習ユニット22は、領域AUCの面積Sに基づく目的関数Lに加えて又は代えて、評価曲線PECに基づいて定まる任意の目的関数Lを用いて、学習モデルMの学習を行ってもよい。例えば、評価曲線PECを示すグラフである図11に示すように、学習ユニット22は、評価曲線PEC上の少なくとも一つのサンプル点Pの位置に基づく目的関数Lを用いて、学習モデルMの学習を行ってもよい。この場合、学習ユニット22は、評価曲線PEC上の少なくとも一つのサンプル点Pが座標平面上で左上方に最大限シフトするように、換言すれば、評価曲線PECの立ち上がり部分(具体的には、図11における時間指標値が最も小さい領域における曲線部分)に設定された特定の点Pにおける評価曲線PECの傾きを最大化するように、少なくとも一つのサンプル点Pの位置に基づく目的関数Lを用いて、学習モデルMの学習を行ってもよい。ここで、学習ユニット22は、座標平面上で評価曲線PECを左上方に効率的にシフトさせるために、時間指標値が相対的に小さいサンプル点Pの精度指標値の向上を、時間指標値が相対的に大きいサンプル点Pの精度指標値の向上よりも優先させてもよい。つまり、サンプル点Pに対応する時間指標値が小さいほど当該サンプル点Pの重みが大きくなるように、少なくとも一つのサンプル点Pの位置に基づく目的関数Lを算出してもよい。
【0050】
或いは、学習ユニット22は、評価曲線PECに基づく目的関数Lに加えて又は代えて、精度指標値と時間指標値との間の関連性に基づく任意の目的関数Lを用いて、学習モデルMの学習を行ってもよい。
【0051】
上述した説明では、学習ユニット22は、図4のステップS13において、精度指標値に基づいて、識別ユニット21による系列データのクラスの識別精度が十分であるか否かを判定している。しかしながら、学習ユニット22は、評価曲線PECよりも下側の領域AUCに基づいて、識別ユニット21による系列データのクラスの識別精度が十分であるか否かを判定してもよい。例えば、学習ユニット22は、評価曲線PECよりも下側の領域AUCの面積Sが許容面積よりも大きい場合に、識別ユニット21による系列データのクラスの識別精度が十分であると判定してもよい。
【0052】
上述した説明では、識別装置1は、利用者が金融機関で行った取引の内容を時系列で示す取引データに基づいて、取引データがその内容を示す取引が、正常な取引であるのか又は不審な取引であるのかを識別している。しかしながら、識別装置1の用途が取引データのクラスの識別に限定されることはない。例えば、識別装置1は、撮像装置に向かって進んでいる撮影対象を連続的に撮影することで得られる複数の画像を複数の単位データとして含む時系列データに基づいて、撮影対象が生体(たとえな、人間)であるのか又は生体でない人工物であるのかを識別してもよい。つまり、識別装置1は、いわゆる生体検知(言い換えれば、なりすまし検知)を行ってもよい。
【0053】
本開示は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う識別装置、識別方法、コンピュータプログラム及び記録媒体もまた本開示の技術思想に含まれる。
【符号の説明】
【0054】
1 識別装置
2 演算装置
21 識別ユニット
211 特徴量算出部
212 識別部
22 学習ユニット
221 曲線算出部
222 目的関数算出部
223 更新部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11