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

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

▶ 富士通株式会社の特許一覧

特開2022-187065情報処理プログラム,情報処理方法および情報処理装置
<>
  • 特開-情報処理プログラム,情報処理方法および情報処理装置 図1
  • 特開-情報処理プログラム,情報処理方法および情報処理装置 図2
  • 特開-情報処理プログラム,情報処理方法および情報処理装置 図3
  • 特開-情報処理プログラム,情報処理方法および情報処理装置 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187065
(43)【公開日】2022-12-19
(54)【発明の名称】情報処理プログラム,情報処理方法および情報処理装置
(51)【国際特許分類】
   G06N 3/08 20060101AFI20221212BHJP
【FI】
G06N3/08 140
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021094871
(22)【出願日】2021-06-07
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】市丸 和人
(57)【要約】      (修正有)
【課題】分布外判定を効率的に行なう情報処理プログラム,情報処理方法及び情報処理装置を提供する。
【解決手段】情報処理装置において、情報処理方法は、入力データに基づき特徴データを生成する特徴抽出器と、特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、特徴抽出器が生成した特徴ベクトルを第2ネットワークに入力して、機械学習モデルのロス推論結果を出力し、ロス推論結果に基づいて、入力データが特定ドメインに含まれるか否かの分布外判定を行なうOOD推論部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、
前記特徴抽出器によって生成された特徴ベクトルを第2ネットワークに入力して、前記機械学習モデルのロス推論結果を出力し、
前記ロス推論結果に基づいて、前記入力データが特定ドメインに含まれるか否かの分布外判定を行なう
処理をプロセッサに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記分布外判定を行なう処理は、前記ロス推論結果が閾値よりも大きい場合に、前記入力データが前記特定ドメインに含まれないと判定し、前記ロス推論結果が閾値以下の場合に、前記入力データが前記特定ドメインに含まれると判定する
ことを特徴とする請求項1記載の情報処理プログラム。
【請求項3】
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに対して、特定ドメインに含まれるサンプルデータと正解データとを備える訓練データを用いて訓練を行なう場合に、
前記特徴抽出器に、前記サンプルデータに基づき特徴データを生成させ、
前記第1ネットワークに、前記サンプルデータに基づく前記特徴データに対して推論を行なって推論結果を出力させ、
前記正解データに対する前記推論結果の第1のロスを算出する第1の計算を行ない、
前記特徴抽出器によって生成された特徴ベクトルに基づき前記機械学習モデルのロス推論結果を出力する第2ネットワークに、前記サンプルデータに基づく前記特徴データに対して推論を行なって出力するロス推論結果と、前記第1の計算によって算出された前記第1のロスとのL1距離を算出する第2の計算を行なわせ、
前記第1のロスと前記L1距離とを最小化する勾配を求めて誤算逆伝搬させることで、前記機械学習モデルおよび前記第2ネットワークの各パラメータを算出する
処理をプロセッサに実行させることを特徴とする情報処理プログラム。
【請求項4】
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、
前記特徴抽出器によって生成された特徴ベクトルを第2ネットワークに入力して、前記機械学習モデルのロス推論結果を出力し、
前記ロス推論結果に基づいて、前記入力データが特定ドメインに含まれるか否かの分布外判定を行なう
処理をプロセッサが実行することを特徴とする情報処理方法。
【請求項5】
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに対して、特定ドメインに含まれるサンプルデータと正解データとを備える訓練データを用いて訓練を行なう場合に、
前記特徴抽出器は、前記サンプルデータに基づき特徴データを生成し、
前記第1ネットワークが、前記サンプルデータに基づく前記特徴データに対して推論を行なって推論結果を出力し、
前記正解データに対する前記推論結果の第1のロスを算出する第1の計算を行ない、
前記特徴抽出器によって生成された特徴ベクトルに基づき前記機械学習モデルのロス推論結果を出力する第2ネットワークが、前記サンプルデータに基づく前記特徴データに対して推論を行なって出力するロス推論結果と、前記第1の計算によって算出された前記第1のロスとのL1距離を算出する第2の計算を行ない、
前記第1のロスと前記L1距離とを最小化する勾配を求めて誤算逆伝搬させることで、前記機械学習モデルおよび前記第2ネットワークのパラメータを算出する
処理をプロセッサが実行することを特徴とする情報処理方法。
【請求項6】
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、
前記特徴抽出器によって生成された特徴ベクトルを第2ネットワークに入力して、前記機械学習モデルのロス推論結果を出力し、
前記ロス推論結果に基づいて、前記入力データが特定ドメインに含まれるか否かの分布外判定を行なう
処理部を備えることを特徴とする情報処理装置。
【請求項7】
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに対して、特定ドメインに含まれるサンプルデータと正解データとを備える訓練データを用いて訓練を行なう場合に、
前記特徴抽出器に、前記サンプルデータに基づき特徴データを生成させ、
前記第1ネットワークに、前記サンプルデータに基づく前記特徴データに対して推論を行なって推論結果を出力させ、
前記正解データに対する前記推論結果の第1のロスを算出する第1の計算を行ない、
前記特徴抽出器によって生成された特徴ベクトルに基づき前記機械学習モデルのロス推論結果を出力する第2ネットワークが、前記サンプルデータに基づく前記特徴データに対して推論を行なって出力するロス推論結果と、前記第1の計算によって算出された前記第1のロスとのL1距離を算出する第2の計算を行ない、
前記第1のロスと前記L1距離とを最小化する勾配を求めて誤算逆伝搬させることで、前記機械学習モデルおよび前記第2ネットワークの各パラメータを算出する
処理部を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム,情報処理方法および情報処理装置に関する。
【背景技術】
【0002】
主にニューラルネットワークを用いた学習型AI(Artificial Intelligence)において、OOD(Out-of-Distribution Detection:分布外)判定とよばれる手法が行なわれる場合がある。OOD判定をOOD検出といってもよい。
【0003】
OOD判定は、ある機械学習モデルが特定のドメインからサンプルされたデータによって経験損失最小化(empirical risk minimization :ERM)を行なうことで訓練されたと仮定したとき、推論時に与えられた別のあるサンプルがそのドメインに属するかどうかを判定する。
【0004】
従来のOOD判定手法においては、各サンプルに対して機械学習モデルが出力する信頼度を活用している。具体的には、信頼度が大きいとき、そのサンプルはID(In-Distribution)とみなし、信頼度が小さいときはOODとみなす。そこで、従来のOOD判定手法においては、信頼度に対して、ある適切な閾値を設定することでOOD判定を実現している。
【0005】
しかし、OODのデータに対しても機械学習モデルが高い信頼度を出力することがある。このようにOODに対して高い信頼度が出力される問題を解決する手法として、Calibration,Parametric Assumption,Anomaly DetectionおよびOutlier Exposure等の複数の各手法が知られている。
【0006】
Calibrationは、機械学習モデルが出力する信頼度を、当該機械学習モデルの正解率に対して揃えることで不当に高い信頼度が出されることを防ぐ。Calibrationの具体的手法として、例えば、ODIN,FocalLoss,Confidence Learningが知られている。
【0007】
Parametric Assumptionは、IDまたはOODのデータに対して統計的仮定をおき、その仮定にどれだけ反するかによってOOD判定を行なう。Parametric Assumptionの具体的手法として、例えば、Mahalanobis, PriorNet, FSSDが知られている。
【0008】
Anomaly Detectionは、主にオートエンコーダ構造のネットワークにおいて、モデルが未知のデータをうまく再構成できないことを利用してOOD判定を行なう。Anomaly Detectionの具体的手法として、AnoGAN, Efficient GANが知られている。
【0009】
Outlier Exposureにおいては、わずかではあるが、OODのデータも入手可能であると想定し、そのOODデータについては高い信頼度を出力しないように正則化しながら学習する。Outlier Exposureの具体的手法として、例えば、OE, OECCが知られている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2020-123830号公報
【特許文献2】特表2020-533723号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、これらの従来のOOD判定手法においては、いくつかの理由によりOOD判定を効率的に行なうことができない。例えば、OOD判定精度が低い場合があり、例えば、上述したCalibrationのODINやFocalLossがこれに該当する。
【0012】
また、OOD判定により元のタスクの性能に悪影響がある場合があり、例えば、上述したParametric AssumptionのPriorNetがこれに該当する。
【0013】
さらに、OOD判定のために全く別のモデルを要する場合があり、これにより高コストとなる。例えば、上述したAnomaly DetectionのAnoGANがこれに該当する。
【0014】
また、上述したOutlier Exposure系においては、OODデータを訓練に用いる必要があるが、訓練に用いるOODデータを網羅的に用意することは困難である。
1つの側面では、本発明は、分布外判定を効率的に行なうことができるようにすることを目的とする。
【課題を解決するための手段】
【0015】
このため、この情報処理プログラムは、入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、前記特徴抽出器によって生成された特徴ベクトルを第2ネットワークに入力して、前記機械学習モデルのロス推論結果を出力し、前記ロス推論結果に基づいて、前記入力データが特定ドメインに含まれるか否かの分布外判定を行なう。
【発明の効果】
【0016】
一実施形態によれば、分布外判定を効率的に行なうことができる。
【図面の簡単な説明】
【0017】
図1】実施形態の一例としての情報処理装置の機能構成を模式的に示す図である。
図2】実施形態の一例としての情報処理装置の処理を説明するための図である。
図3】実施形態の一例としての情報処理装置における処理を説明するためのフローチャートである。
図4】実施形態の一例としての情報処理装置のハードウェア構成を例示する図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して本情報処理プログラム,情報処理方法および情報処理装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0019】
(A)構成
図1は実施形態の一例としての情報処理装置1の機能構成を模式的に示す図、図2はその処理を説明するための図である。
【0020】
図2に示す例においては、入力データが画像(Image)データであり、この入力データに対する分類を推論する例を示す。以下、入力データを符号xで表す場合がある。入力データxは、後述する第1推論処理部100による推論対象のデータであり、また、後述する第2推論処理部300によるOOD判定対象のデータでもある。
本情報処理装置1は、図1に示すように、第1推論処理部100,第2推論処理部300および訓練処理部200を備える。
【0021】
第1推論処理部100は、機械学習モデル110を用いて推論を行なう。機械学習モデル110における推論をO(F(x))であるものとし、元のタスクのロス関数をLoss(y , y′)とする。
第1推論処理部100は、入力データを機械学習モデル110に入力し、機械学習モデル110が出力する推論結果を得る。
機械学習モデル110は、図1に示すように、特徴抽出器101および第1ネットワーク102を備える。
【0022】
特徴抽出器101は、入力データに対して特徴抽出を行なう。特徴抽出器101は、例えば、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を用いて、入力データの特徴抽出を行なってもよい。
特徴抽出器101は入力データに基づいて特徴ベクトルを生成する(図2の符号P1参照)。以下、特徴ベクトルを符号zで表す場合がある。
特徴抽出器101により生成される特徴ベクトルzは、以下の式(1)で表わされる。
z = F(x ; θf) ・・・(1)
【0023】
Fは特徴抽出関数である。特徴ベクトルzは、入力データxを特徴抽出関数Fに通すことで得られる。θfは関数Fの重みを表し、機械学習モデル110の訓練時において、後述する最適化処理部204によって更新される。
【0024】
特徴抽出器101によって生成された特徴ベクトルは第1ネットワーク102に入力され、推論結果が出力される(図2の符号P2参照)。以下、推論結果を符号yで表す場合がある。第1ネットワーク102は、例えば、全結合層(Fully Connected Layer:FC層)として構成されてもよい(図2の符号P3参照)。第1ネットワーク102を最終層102といってもよい。
機械学習モデル110により出力される推論結果yは、以下の式(2)で表される。
y = O(z ; θo) ・・・(2)
【0025】
Oは関数である。推論結果yは、特徴ベクトルzを関数Oに通すことで得られる。θoは最終層Oの重みを表し、機械学習モデル110の訓練時には、最適化処理部204によって更新される。
第2推論処理部300は、第2ネットワーク301を用いて、機械学習モデル110のロスの推論とOODの推論とを行なう。
【0026】
一般に、機械学習モデルは、あるサンプルが十分に学習されている場合、すなわちIDである場合に、より高い確率で正解の推論結果を出力する。その一方で、機械学習モデルが十分に学習されていない場合は、誤った推論結果を出力する可能性が高くなる。
【0027】
すなわち、機械学習モデルがより高い信頼度で結果を出力した場合は一般にロスが小さくなり、低い信頼度で結果を出力した場合はロスが大きくなる。また、高い信頼度であるものの、推論結果が誤っている場合にもロスが大きくなる。
本情報処理装置1においては、このような特性を活用して、入力データに対するOOD判定を明示的に学習する。
第2推論処理部300は、図1に示すように、第2ネットワーク301およびOOD推論部302を備える。
【0028】
第2推論処理部300においては、機械学習モデル110の特徴抽出器101によって生成された特徴ベクトルが第2ネットワーク301に入力され、ロス推論結果を出力する。
【0029】
以下、第2ネットワーク301によるロス推論結果を符号wで表す場合がある。図2においては、第2ネットワーク301が、3層のマルチレイヤ全結合層(FC層)による推論を行なう例を示す(図2の符号P4参照)。
【0030】
第2ネットワーク301は、機械学習モデル110の特徴抽出器101によって生成される特徴ベクトルzを入力として1スカラーを出力するネットワークであり、第1ネットワーク102とは別に設けられた異なるネットワークである。
第2ネットワーク301により生成されるロス推論結果wは、以下の式(3)で表される。
w = L(z ; θl) ・・・(3)
【0031】
Lは関数である。ロス推論結果wは、特徴ベクトルzを関数Lに通すことで得られる。θlはロスを推論するネットワークの重みであり、第2ネットワーク301の訓練時には最適化処理部204によって更新される。
OOD推論部302は、第2ネットワーク301によって推論されたロス推論結果wに基づき、OOD判定を推論する。すなわち、OOD推論部302は、第2ネットワーク301によって推論されたロス推論結果wに基づいて、入力データxが特定ドメインに含まれるか否かの分布外判定を行なう。
【0032】
OOD推論部302は、第2ネットワーク301によって推論されたロス推論結果wを閾値Tと比較し、ロス推論結果wが閾値Tよりも大きい場合に、入力データxが、特定ドメインに含まれない(OOD)と判定する。また、OOD推論部302は、ロス推論結果wが閾値T以下の場合に、入力データxが特定ドメインに含まれる(ID)と判定する。
【0033】
閾値Tは、Validation setによって計算された、最も上手くIDとOODとを分割できるロス推論結果wの閾値である。閾値Tはユーザが任意に設定してもよい。
訓練処理部200は、機械学習モデル110の訓練(機械学習)を行なう。
【0034】
機械学習モデル110の訓練には訓練用データが用いられる。訓練データは、入力データと、この入力データに対する正解とを備える。訓練データは、例えば、ユーザが予め用意する。
訓練処理部200は、図1に示すように、第1ロス算出部201,第2ロス算出部202,合計ロス算出部203および最適化処理部204を備える。
【0035】
第1ロス算出部201は、入力データxに対する正解tを取得する(図2の符号P5参照)。そして、第1ロス算出部201は、正解tに対する入力データxのロス(距離,誤差)を算出する。正解tに対する入力データxのロスを符号lで表す場合がある(図2の符号P6参照)。ロスlは以下の式(4)で表される。
l1= Loss(y , t) ・・・(4)
【0036】
ロスlを第1ロスlといってもよい。第1ロスlは、機械学習モデル110の第1ネットワーク102により出力される推論結果yと正解データtとから計算されるロスであり、機械学習モデル110において実際に発生したロスを表す。
【0037】
第2ロス算出部202は、第2ネットワーク301により生成されたロス推論結果wと第1ロス算出部201によって算出された第1ロスlとのL1距離lを算出する(図2の符号P7参照)。L1距離lは以下の式(5)で表される。
l2= |l1 - w| ・・・(5)
L1距離lを第2ロスlといってもよい。第2ロスlは推論された機械学習モデル110のロスを表す。
【0038】
合計ロス算出部203は、第1ロス算出部201によって算出された第1ロスlと、第2ロス算出部202によって算出された第2ロスlとを合計して、合計ロスltotalを算出する(図2の符号P8参照)。合計ロスltotalは以下の式(6)で表される。
ltotal = l1 + l2 ・・・(6)
合計ロスltotalは、第1ロスlと第2ロスlの総和であり、最適化処理部204によって最小化されるコストを示す。
【0039】
最適化処理部204は、合計ロス算出部203が算出した合計ロスltotalが最小化する勾配を算出し、誤差逆伝搬を行なう。誤差逆伝搬には、例えば、最急降下法(勾配法)を用いてもよく、適宜変更して実施することができる。勾配をδltotal/δθで表してもよい。
【0040】
最適化処理部204は、合計ロスltotalが最小化する重みθf,θoおよびθlをそれぞれ算出する。なお、これらの重みθf,θoおよびθlの算出は既知の種々の手法を用いて実現することができ、その説明は省略する。
【0041】
最適化処理部204は、算出した重みθf,θoおよびθlを、機械学習モデル110の第1ネットワーク102および第2ネットワーク301に反映させる。すなわち、最適化処理部204は、算出したこれらのパラメータ(重みθf,θoおよびθl)を用いて、機械学習モデル110(第1ネットワーク102)のパラメータ(重みθfおよびθo)および第2ネットワーク301のパラメータ(重みθl)をそれぞれ更新する。
なお、最適化処理部204が算出した各重みθf,θoおよびθlは後述する記憶装置13(図4参照)等の所定の記憶領域に記憶される。
【0042】
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1における処理を、図3に示すフローチャート(ステップS1~S12)に従って説明する。
【0043】
図3に示すフローチャートにおいて、ステップS1~S6の処理が入力データに対する推論処理を示し、ステップS1~S3,S7~S12の処理が、機械学習モデル110(第1ネットワーク102)および第2ネットワーク301の訓練処理を示す。
【0044】
先ず、本情報処理装置1における、入力データに対する推論処理を説明する。
ステップS1において、第1推論処理部100が入力データxを取得する。
ステップS2において、機械学習モデル110の特徴抽出器101が、入力データxに対する特徴抽出を行ない、上述した式(1)を用いて特徴ベクトルzを算出する。
ステップS3において、第2推論処理部300の第2ネットワーク301が、上述した式(3)を用いてロス推論結果wを算出する。
【0045】
ステップS4において、第2推論処理部300のOOD推論部302が、第2ネットワーク301によって推論されたロス推論結果wを閾値Tと比較し、ロス推論結果wが閾値T以下であるかを確認する。
【0046】
確認の結果、ロス推論結果wが閾値T以下である場合には(ステップS4の“True”ルート参照)、ステップS6において、OOD推論部302は、入力データxがIDであると判定する。その後、処理を終了する。
【0047】
一方、ステップS4における確認の結果、ロス推論結果wが閾値Tよりも大きい場合には(ステップS4の“False”ルート参照)、ステップS5において、OOD推論部302は、入力データxがOODであると判定する。その後、処理を終了する。
【0048】
次に、本情報処理装置1における訓練処理を説明する。
ステップS1において、第1推論処理部100が入力データxを取得する。
ステップS2において、機械学習モデル110の特徴抽出器101が、入力データxに対する特徴抽出を行ない、上述した式(1)を用いて特徴ベクトルzを算出する。
ステップS7において、機械学習モデル110の第1ネットワーク102が、上述した式(2)を用いて推論結果yを算出する。
【0049】
ステップS8において、訓練処理部200の第1ロス算出部201が、入力データxに対する正解tを取得する。
ステップS9において、第1ロス算出部201が、上述した式(4)を用いて第1ロスlを算出する。
また、ステップS3において、第2推論処理部300の第2ネットワーク301が、上述した式(3)を用いてロス推論結果wを算出する。
【0050】
ステップS10において、第2ロス算出部202が、上述した式(5)を用いて第2ロスlを算出する。また、合計ロス算出部203が、上述した式(6)を用いて、合計ロスltotalを算出する。
ステップS11において、最適化処理部204が、合計ロスltotalが最小化する重みθf,θoおよびθlを誤差逆伝搬を用いてそれぞれ算出する。
【0051】
ステップS12において、最適化処理部204が、算出した重みθf,θoおよびθlを用いて、機械学習モデル110(第1ネットワーク102)のパラメータ(重みθfおよびθo)および第2ネットワーク301のパラメータ(重みθl)をそれぞれ更新する。その後、ステップS1に戻る。
訓練処理は、例えば、予め設定した繰り返し回数に到達するまで行なってもよく、また、機械学習モデルの推論精度が所定の閾値以上となるまで行なってもよく、適宜変更して実施することができる。
【0052】
(C)効果
このように、実施形態の一例としての情報処理装置1によれば、第2推論処理部300において第2ネットワーク301を備えることで、OOD判定そのものを直接的に学習可能であり、OODの判定に高い精度が得られる。また、実験的に、元のタスクの性能低下はほぼ無いことが確認できている。
【0053】
さらに、機械学習モデル110の特徴抽出器101によって生成された特徴ベクトルが入力される第2ネットワーク301を備え、この第2ネットワーク301により機械学習モデル110のロスの推論を行なう。これによりOODを推論するために専用の機械学習モデルを新たに備える必要がなく、低コストでOODの検出を実現することができる。
また、本情報処理装置1においては、OODの推論を行なうための訓練データを用意する必要がない。
【0054】
(D)その他
図4は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
【0055】
情報処理装置1は、コンピュータであって、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
【0056】
プロセッサ(処理部)11は、情報処理装置1全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
【0057】
そして、プロセッサ11が情報処理装置1用の制御プログラム(情報処理プログラム,:図示省略)を実行することにより、図1に例示した、第1推論処理部100,訓練処理部200および第2推論処理部300としての機能が実現される。
【0058】
なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(情報処理プログラム,OSプログラム)を実行することにより、第1推論処理部100,訓練処理部200および第2推論処理部300としての機能を実現する。
【0059】
情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
【0060】
また、情報処理装置1(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0061】
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。
【0062】
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、本情報処理装置1の補助記憶装置として使用される。
記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには情報処理プログラムが含まれる。
【0063】
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
【0064】
記憶装置13には、第1推論処理部100,第2推論処理部300および訓練処理部200が生成した各種データを格納してもよい。
【0065】
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
【0066】
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
【0067】
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
【0068】
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
【0069】
ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介してデータの送受信を行なう。ネットワークには他の情報処理装置や通信機器等が接続されてもよい。
【0070】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0071】
例えば、上述した実施形態においては、OOD推論部302が、ロス推論結果wを閾値Tと比較することでOODであるか否かの判定を行なっているが、これに限定されるものではなく、種々変形して実施することができる。例えば、Mahalanobis, ODIN, FSSD等の一つ以上の他のモデルの推定結果を統合するアンサンブル学習を行なってもよい。このようなアンサンブル学習を用いるに場合は、ロジスティック回帰などを用いてもよく、これにより更なる精度向上が見込める。本情報処理装置1においては、他手法とのアンサンブルが容易であり、更に高い精度を実現できる。
【0072】
また、上述した実施形態においては、入力データが画像データであり、この入力データに対する分類を推論する例を示したが、これに限定されるものではなく、適宜変更して実施することができる。
【0073】
さらに、上述した実施形態においては、特徴抽出器101が、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を用いて、入力データの特徴抽出を行なう例を示したが、これに限定されるものではなく、適宜変更して実施することができる。
【0074】
上述した実施形態においては、第2ネットワーク301が、3層のマルチレイヤ全結合層(FC層)による推論を行なう例を示しているが、これに限定されるものではない。第2ネットワーク301は適宜変更して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0075】
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、
前記特徴抽出器によって生成された特徴ベクトルを第2ネットワークに入力して、前記機械学習モデルのロス推論結果を出力し、
前記ロス推論結果に基づいて、前記入力データが特定ドメインに含まれるか否かの分布外判定を行なう
処理をプロセッサに実行させることを特徴とする情報処理プログラム。
【0076】
(付記2)
前記分布外判定を行なう処理は、前記ロス推論結果が閾値よりも大きい場合に、前記入力データが前記特定ドメインに含まれないと判定し、前記ロス推論結果が閾値以下の場合に、前記入力データが前記特定ドメインに含まれると判定する
ことを特徴とする付記1記載の情報処理プログラム。
【0077】
(付記3)
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに対して、特定ドメインに含まれるサンプルデータと正解データとを備える訓練データを用いて訓練を行なう場合に、
前記特徴抽出器に、前記サンプルデータに基づき特徴データを生成させ、
前記第1ネットワークに、前記サンプルデータに基づく前記特徴データに対して推論を行なって推論結果を出力させ、
前記正解データに対する前記推論結果の第1のロスを算出する第1の計算を行ない、
前記特徴抽出器によって生成された特徴ベクトルに基づき前記機械学習モデルのロス推論結果を出力する第2ネットワークに、前記サンプルデータに基づく前記特徴データに対して推論を行なって出力するロス推論結果と、前記第1の計算によって算出された前記第1のロスとのL1距離を算出する第2の計算を行なわせ、
前記第1のロスと前記L1距離とを最小化する勾配を求めて誤算逆伝搬させることで、前記機械学習モデルおよび前記第2ネットワークの各パラメータを算出する
処理をプロセッサに実行させることを特徴とする情報処理プログラム。
【0078】
(付記4)
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、
前記特徴抽出器によって生成された特徴ベクトルを第2ネットワークに入力して、前記機械学習モデルのロス推論結果を出力し、
前記ロス推論結果に基づいて、前記入力データが特定ドメインに含まれるか否かの分布外判定を行なう
処理をプロセッサが実行することを特徴とする情報処理方法。
【0079】
(付記5)
前記分布外判定を行なう処理は、前記ロス推論結果が閾値よりも大きい場合に、前記入力データが前記特定ドメインに含まれないと判定し、前記ロス推論結果が閾値以下の場合に、前記入力データが前記特定ドメインに含まれると判定する
ことを特徴とする、付記4記載の情報処理方法。
【0080】
(付記6)
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに対して、特定ドメインに含まれるサンプルデータと正解データとを備える訓練データを用いて訓練を行なう場合に、
前記特徴抽出器は、前記サンプルデータに基づき特徴データを生成し、
前記第1ネットワークが、前記サンプルデータに基づく前記特徴データに対して推論を行なって推論結果を出力し、
前記正解データに対する前記推論結果の第1のロスを算出する第1の計算を行ない、
前記特徴抽出器によって生成された特徴ベクトルに基づき前記機械学習モデルのロス推論結果を出力する第2ネットワークが、前記サンプルデータに基づく前記特徴データに対して推論を行なって出力するロス推論結果と、前記第1の計算によって算出された前記第1のロスとのL1距離を算出する第2の計算を行ない、
前記第1のロスと前記L1距離とを最小化する勾配を求めて誤算逆伝搬させることで、前記機械学習モデルおよび前記第2ネットワークの各パラメータを算出する
処理をプロセッサが実行することを特徴とする情報処理方法。
【0081】
(付記7)
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに関して、
前記特徴抽出器によって生成された特徴ベクトルを第2ネットワークに入力して、前記機械学習モデルのロス推論結果を出力し、
前記ロス推論結果に基づいて、前記入力データが特定ドメインに含まれるか否かの分布外判定を行なう
処理部を備えることを特徴とする情報処理装置。
【0082】
(付記8)
前記分布外判定を行なう処理は、前記ロス推論結果が閾値よりも大きい場合に、前記入力データが前記特定ドメインに含まれないと判定し、前記ロス推論結果が閾値以下の場合に、前記入力データが前記特定ドメインに含まれると判定する
ことを特徴とする付記7記載の情報処理装置。
【0083】
(付記9)
入力データに基づき特徴データを生成する特徴抽出器と、前記特徴データに対する推論を行なう第1ネットワークとを含む機械学習モデルに対して、特定ドメインに含まれるサンプルデータと正解データとを備える訓練データを用いて訓練を行なう場合に、
前記特徴抽出器に、前記サンプルデータに基づき特徴データを生成させ、
前記第1ネットワークに、前記サンプルデータに基づく前記特徴データに対して推論を行なって推論結果を出力させ、
前記正解データに対する前記推論結果の第1のロスを算出する第1の計算を行ない、
前記特徴抽出器によって生成された特徴ベクトルに基づき前記機械学習モデルのロス推論結果を出力する第2ネットワークが、前記サンプルデータに基づく前記特徴データに対して推論を行なって出力するロス推論結果と、前記第1の計算によって算出された前記第1のロスとのL1距離を算出する第2の計算を行ない、
前記第1のロスと前記L1距離とを最小化する勾配を求めて誤算逆伝搬させることで、前記機械学習モデルおよび前記第2ネットワークの各パラメータを算出する
処理部を備えることを特徴とする情報処理装置。
【符号の説明】
【0084】
1 情報処理装置
11 プロセッサ(処理部)
12 メモリ
13 記憶装置
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
100 第1推論処理部
101 特徴抽出器
102 第1ネットワーク
110 機械学習モデル
200 訓練処理部
201 第1ロス算出部
202 第2ロス算出部
203 合計ロス算出部
204 最適化処理部
300 第2推論処理部
301 第2ネットワーク
302 OOD推論部
図1
図2
図3
図4