(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】判定処理プログラム、判定処理方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240903BHJP
G06F 18/211 20230101ALI20240903BHJP
【FI】
G06N20/00
G06F18/211
(21)【出願番号】P 2021023333
(22)【出願日】2021-02-17
【審査請求日】2023-10-12
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】河東 孝
(72)【発明者】
【氏名】上村 健人
(72)【発明者】
【氏名】安富 優
(72)【発明者】
【氏名】早瀬 友裕
【審査官】佐藤 直樹
(56)【参考文献】
【文献】国際公開第2019/215904(WO,A1)
【文献】特表2020-530925(JP,A)
【文献】特開2020-198041(JP,A)
【文献】特開2019-079034(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 18/211
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
分類モデルの劣化が発生した場合に、劣化が発生した後の第1入力データを分類モデルに入力することで前記分類モデルから出力される第1判定結果と、劣化が発生する前の第2入力データを、複数のデータ変換器に入力することで変換された複数の変換後データを前記分類モデルに入力することで前記分類モデルから出力される複数の第2判定結果との類似度を算出し、
前記類似度を基にして、前記複数のデータ変換器からデータ変換器を選択し、
選択したデータ変換器を用いて、前記分類モデルのデータ入力における前処理を行う
処理を実行させることを特徴とする判定処理プログラム。
【請求項2】
前記前処理は、前記第2入力データを前記分類モデルに入力することで、前記第2入力データに対応する正解ラベルを特定し、前記正解ラベルと、前記変換後データとを対応付けた学習データを生成することを特徴とする請求項1に記載の判定処理プログラム。
【請求項3】
前記選択する処理は、前記データ変換器を選択する度に、前記データ変換器の選択回数を計数し、計数した回数を基にして、前記複数のデータ変換器から、第1データ変換器を選択し、前記類似度を基にして、前記複数のデータ変換器から、第2データ変換器を選択し、前記前処理は、前記第2入力データを、前記第1データ変換器に入力することで変換される第1変換後データと、前記第1変換後データを、前記第2データ変換器に入力することで変換される第2変換後データと、前記正解ラベルとを基にして、学習データを生成することを特徴とする請求項2に記載の判定処理プログラム。
【請求項4】
前記第1判定結果と類似する第2判定結果が存在しない場合に、前記第1入力データと、前記第2入力データとを基にして、新たなデータ変換器を生成する処理を更に実行することを特徴とする請求項1に記載の判定処理プログラム。
【請求項5】
前記学習データを基にして、前記分類モデルに対する機械学習を実行する処理を更に実行することを特徴とする請求項2または3に記載の判定処理プログラム。
【請求項6】
データを複数の分類モデルに入力した場合の劣化検出の結果と、前記データを前記複数のデータ変換器に入力して得られる複数の変換後データを、前記複数の分類モデルに入力した場合の劣化検出の結果とを基にして、前記複数のデータ変換器からデータ変換器を選択する処理を更に実行することを特徴とする請求項1に記載の判定処理プログラム。
【請求項7】
コンピュータが実行する判定処理方法であって、
分類モデルの劣化が発生した場合に、劣化が発生した後の第1入力データを分類モデルに入力することで前記分類モデルから出力される第1判定結果と、劣化が発生する前の第2入力データを、複数のデータ変換器に入力することで変換された複数の変換後データを前記分類モデルに入力することで前記分類モデルから出力される複数の第2判定結果との類似度を算出し、
前記類似度を基にして、前記複数のデータ変換器からデータ変換器を選択し、
選択したデータ変換器を用いて、前記分類モデルのデータ入力における前処理を行う
処理を実行することを特徴とする判定処理方法。
【請求項8】
分類モデルの劣化が発生した場合に、劣化が発生した後の第1入力データを分類モデルに入力することで前記分類モデルから出力される第1判定結果と、劣化が発生する前の第2入力データを、複数のデータ変換器に入力することで変換された複数の変換後データを前記分類モデルに入力することで前記分類モデルから出力される複数の第2判定結果との類似度を算出し、前記類似度を基にして、前記複数のデータ変換器からデータ変換器を選択する選択部と、
選択したデータ変換器を用いて、前記分類モデルでのデータ入力における前処理を行う前処理部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定処理プログラム等に関する。
【背景技術】
【0002】
ラベル付きデータセットを入力とした機械学習を実行することで、機械学習モデルが生成され、学習済みの機械学習モデルにデータを適用して、データを複数のクラスに分類している。
【0003】
ここで、時間経過等に伴い、適用するデータの分布が、機械学習を行った時点のデータの分布から、徐々に変化する場合がある。係るデータの分布の変化をドメインシフトと表記する。たとえば、従来技術では、ドメインシフトによって、機械学習モデルの精度が劣化するため、機械学習モデルの劣化を検出すると、機械学習モデルに対して再学習を実行する対応を行っている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Ming-Yu Liu,Thomas Breuel,Jan Kautz ”Unsupervised Image-to-Image Translation Networks” nVIDIA,NIPS 2017
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、ドメインシフトに対応するための再学習にコストがかかるという問題がある。
【0006】
1つの側面では、本発明は、ドメインシフトに対応するための再学習に要するコストを削減することができる判定処理プログラム、判定処理方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の案では、コンピュータに次の処理を実行させる。コンピュータは、分類モデルの劣化が発生した場合に、劣化が発生した後の第1入力データを分類モデルに入力することで分類モデルから出力される第1判定結果と、劣化が発生する前の第2入力データを、複数のデータ変換器に入力することで変換された複数の変換後データを分類モデルに入力することで分類モデルから出力される複数の第2判定結果との類似度を算出する。コンピュータは、類似度を基にして、複数のデータ変換器からデータ変換器を選択する。コンピュータは、選択したデータ変換器を用いて、分類モデルでのデータ入力における前処理を行う。
【発明の効果】
【0008】
ドメインシフトに対応するための再学習に要するコストを削減することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、参考技術を説明するための図である。
【
図2】
図2は、本実施例に係る情報処理装置の処理のポイント1を説明するための図である。
【
図3】
図3は、本実施例に係る情報処理装置のポイント2を説明するための図である。
【
図4】
図4は、本実施例に係る情報処理装置のポイント3を説明するための図(1)である。
【
図5】
図5は、本実施例に係る情報処理装置のポイント3を説明するための図(2)である。
【
図6】
図6は、本実施例に係る情報処理装置の処理を説明するための図(1)である。
【
図7】
図7は、本実施例に係る情報処理装置の処理を説明するための図(2)である。
【
図8】
図8は、本実施例に係る情報処理装置の処理を説明するための図(3)である。
【
図9】
図9は、本実施例に係る情報処理装置の処理を説明するための図(4)である。
【
図10】
図10は、本実施例に係る情報処理装置の処理を説明するための図(5)である。
【
図11】
図11は、本実施例に係る情報処理装置の処理を説明するための図(6)である。
【
図12】
図12は、本実施例に係る情報処理装置の処理を説明するための図(7)である。
【
図13】
図13は、本実施例に係る情報処理装置の処理を説明するための図(8)である。
【
図14】
図14は、本実施例に係る情報処理装置の処理を説明するための図(9)である。
【
図15】
図15は、本実施例に係る情報処理装置の処理を説明するための図(10)である。
【
図16】
図16は、本実施例に係る情報処理装置の処理を説明するための図(11)である。
【
図17】
図17は、本実施例に係る情報処理装置の処理を説明するための図(12)である。
【
図18】
図18は、本実施例に係る情報処理装置の効果を説明するための図である。
【
図19】
図19は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図20】
図20は、学習データセットのデータ構造の一例を示す図である。
【
図21】
図21は、データセットテーブルのデータ構造の一例を示す図である。
【
図22】
図22は、スタイル変換器テーブルのデータ構造の一例を示す図である。
【
図23】
図23は、学習データセットテーブルのデータ構造の一例を示す図である。
【
図24】
図24は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
【
図25】
図25は、選択部のその他の処理を説明するための図である。
【
図26】
図26は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願の開示する判定処理プログラム、判定処理方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【0011】
本実施例の説明を行う前に、参考技術について説明する。
図1は、参考技術を説明するための図である。参考技術を実行する装置を「参考装置」と表記する。参考装置は、ラベル付きのデータセットを用いて、分類モデルC10を学習済みとする。分類モデルC10は、入力されたデータを、いずれかの分類クラスに分類するモデルであり、NN(Neural Network)等の機械学習モデルによって実現される。
【0012】
参考装置は、ドメインシフトによって、分類モデルC10の劣化を検出すると、以下のステップS1~S5に示すような、モデル修復処理を行う。たとえば、時刻t1において、劣化(ドメインシフト)が検出され、時刻t1より前のデータを、劣化前データ(データセット)d1とする。時刻t1より後のデータを、劣化後データ(データセット)d2とする。
【0013】
ステップS1について説明する。参考装置は、劣化前データd1と、劣化後データd2とを基にして、スタイル変換器T10を学習する。スタイル変換器T10は、劣化前データd1を、劣化後データd2にスタイル変換するモデルである。スタイル変換器T10は、NN等の機械学習モデルによって実現される。
【0014】
ステップS2について説明する。参考装置は、劣化前データd1を、分類モデルC10に入力することで、劣化前データd1の分類クラスを特定する。劣化前データd1の分類クラスを、推定ラベルL1とする。参考装置は、複数の劣化前データd1に対して、ステップS2を繰り返し実行する。
【0015】
ステップS3について説明する。参考装置は、劣化前データd1を、スタイル変換器T10に入力することで、劣化後データd3にスタイル変換する。参考装置は、複数の劣化前データd1に対して、ステップS3を繰り返し実行する。
【0016】
ステップS4について説明する。参考装置は、ステップS2で特定した推定ラベルを「正解ラベル」、ステップS3でスタイル変換した劣化後データd3を「入力データ」とするデータ(データセット)を用いて、分類モデルC10を再学習する。再学習した分類モデルC10を、分類モデルC11とする。
【0017】
ステップS5について説明する。参考装置は、分類モデルC11を用いて、劣化後データd2の推定ラベルL2を特定する。
【0018】
ここで、
図1に説明した参考技術では、分類モデルC10(C11)の劣化を検出するたびに、スタイル変換器T10、分類モデルC10の機械学習を再度実行するため、分類システムを再開するまでに時間を要してしまう。
【0019】
次に、本実施例に係る情報処理装置の処理のポイント1~3について説明する。まず、「ポイント1」について説明する。本実施例に係る情報処理装置は、ドメインシフトによって、分類モデルの劣化を検出した場合に、劣化前から劣化後にデータを変換するスタイル変換器を学習し、保存しておく。情報処理装置は、保存された複数のスタイル変換器の中で、現在のドレインシフトと類似する変換を行うスタイル変換器が存在する場合には、かかるスタイル変換器を用いて、分類モデルの機械学習を実行する。スタイル変換器は「データ変換器」の一例である。
【0020】
図2は、本実施例に係る情報処理装置の処理のポイント1を説明するための図である。たとえば、時刻t2-1、t2-2、t2-3において、分類モデルの劣化を検出しているものとする。情報処理装置は、時刻t2-1を基準とする劣化前、劣化後のデータを基にして、スタイル変換器T21を機械学習する。情報処理装置は、時刻t2-2を基準とする劣化前、劣化後のデータを基にして、スタイル変換器T22を機械学習する。情報処理装置は、時刻t2-3を基準とする劣化前、劣化後のデータを基にして、スタイル変換器T23を機械学習する。
【0021】
情報処理装置は、時刻t2-4において、分類モデルの劣化を検出した場合に、次の処理を行う。時刻t2-4より前のデータを、劣化前データd1-1とする。時刻t2-4より後のデータを、劣化後データd1-2とする。情報処理装置は、劣化前データd1-1を、スタイル変換器T22に入力することで、変換データdt2にスタイル変換する。ここで、情報処理装置は、変換データdt2と、劣化後データd1-2とが類似する場合に、劣化前データd1-1から劣化後データd1-2へのドメインシフトと類似するスタイル変換を実行するスタイル変換器が存在することを特定する。劣化後データは、「第1入力データ」の一例である。劣化前データは、「第2入力データ」の一例である。
【0022】
情報処理装置は、劣化前データd1-1から劣化後データd1-2へのドメインシフトと類似するスタイル変換を実行するスタイル変換器が存在する場合、スタイル変換器T22を再利用し、新たなスタイル変換器を生成する処理をスキップする。これによって、新たにスタイル変換器を生成するためのコストを削減することができる。
【0023】
続いて、「ポイント2」について説明する。情報処理装置は、劣化後データを分類モデルに入力した際の出力結果と、劣化前データをスタイル変換器に入力した際の出力結果との差を、ドメインシフトの類似性として利用する。情報処理装置は、出力結果の差が小さいスタイル変換器を、再利用するスタイル変換器として特定する。
【0024】
図3は、本実施例に係る情報処理装置のポイント2を説明するための図である。
図3では、時刻t2-4において、分類モデルC20の劣化が検出され、時刻t2-4より前のデータを、劣化前データd1-1とする。時刻t2-4より後のデータを、劣化後データd1-2とする。スタイル変換器T21~T23に関する説明は、
図2で行ったスタイル変換器T21~T23に関する説明と同様である。
【0025】
情報処理装置は、劣化前データd1-1を、スタイル変換器T21に入力することで、変換データdt1にスタイル変換する。情報処理装置は、劣化前データd1-1を、スタイル変換器T22に入力することで、変換データdt2にスタイル変換する。情報処理装置は、劣化前データd1-1を、スタイル変換器T23に入力することで、変換データdt3にスタイル変換する。
【0026】
情報処理装置は、劣化後データd1-2を、分類モデルC20に入力することで、出力ラベルの分布dis0を特定する。情報処理装置は、変換データdt1を、分類モデルC20に入力することで、出力ラベルの分布dis1を特定する。情報処理装置は、変換データdt2を、分類モデルC20に入力することで、出力ラベルの分布dis2を特定する。情報処理装置は、変換データdt3を、分類モデルC20に入力することで、出力ラベルの分布dis3を特定する。
【0027】
情報処理装置は、分布dis0と分布dis1との差、分布dis0と分布dis2との差、分布dis0と分布dis3との差をそれぞれ算出すると、分布dis0と分布dis2との差が最も小さい。分布dis2に対応する変換データは、変換データdt2であり、劣化前データd1-1から、変換データdt2にスタイル変換したスタイル変換器は、スタイル変換器T22である。このため、情報処理装置は、スタイル変換器T22を、再利用するスタイル変換器として特定する。
【0028】
スタイル変換器T22は、劣化前データd1-1から、劣化後データd1-2へのドメインシフトと類似するスタイル変換を実行可能なスタイル変換器となる。
【0029】
続いて、「ポイント3」について説明する。情報処理装置は、直近の一定期間に複数回、類似のドメインシフトとして使用されたスタイル変換器が存在する場合、ポイント2で説明した処理で特定したスタイル変換器と、複数回使用されたスタイル変換器とを用いて、分類モデルの再学習を行う。
【0030】
図4は、本実施例に係る情報処理装置のポイント3を説明するための図(1)である。
図4では、時刻t3において、分類モデルC20の劣化が検出され、時刻t3より前のデータを、劣化前データd3-1とする。時刻t3より後のデータを、劣化後データd3-2とする。スタイル変換器T24~T26は、分類モデルC20の劣化が検出されるたびに学習されたスタイル変換器とする。
【0031】
情報処理装置が、ポイント2で説明した処理を実行して特定したスタイル変換器を、スタイル変換器T24とする。また、直近の一定期間に、複数回、類似のドメインシフトとして使用されたスタイル変換器とスタイル変換器T26とする。
【0032】
情報処理装置は、劣化前データd3-1を、スタイル変換器T24に入力することで、変換データdt4にスタイル変換する。情報処理装置は、変換データdt4を、スタイル変換器T26に入力することで、変換データdt6にスタイル変換する。
【0033】
情報処理装置は、変換データdt4,dt6を用いて、分類モデルC20の再学習を実行する。たとえば、変換データdt4,dt6に対応する正解ラベルは、劣化前データd3-1を、分類モデルC20に入力した際の、推定ラベルとなる。
【0034】
図5は、本実施例に係る情報処理装置のポイント3を説明するための図(2)である。
図5では、時刻t3において、分類モデルC20の劣化が検出され、時刻t3より前のデータを、劣化前データd3-1とする。時刻t3より後のデータを、劣化後データd3-2とする。スタイル変換器T24~T26は、分類モデルC20の劣化が検出されるたびに学習されたスタイル変換器とする。
【0035】
情報処理装置が、ポイント2で説明した処理を実行して特定したスタイル変換器を、スタイル変換器T24とする。また、直近の一定期間に、複数回(所定回数以上)、類似のドメインシフトとして使用されたスタイル変換器とスタイル変換器T25,T26とする。
【0036】
情報処理装置は、劣化前データd3-1を、スタイル変換器T24に入力することで、変換データdt4にスタイル変換する。情報処理装置は、変換データdt4を、スタイル変換器T25に入力することで、変換データdt5にスタイル変換する。情報処理装置は、変換データdt5を、スタイル変換器T26に入力することで、変換データdt6にスタイル変換する。
【0037】
情報処理装置は、変換データdt4~dt6を用いて、分類モデルC20の再学習を実行する。たとえば、変換データdt4~dt6に対応する正解ラベルは、劣化前データd3-1を、分類モデルC20に入力した際の、推定ラベルとなる。
【0038】
本実施例に係る情報処理装置は、ポイント1~3に基づいて、スタイル変換器T10の流用、分類モデルC10の再学習を実行する。以下において、情報処理装置の処理の一例について説明する。
図6~
図17は、本実施例に係る情報処理装置の処理を説明するための図である。
【0039】
図6について説明する。情報処理装置は、時刻t4-1において、正解ラベル付きの学習データセット141を用いて、分類モデルC20の機械学習を実行する。学習データセット141には、入力データxと、正解ラベルyとの組が複数含まれている。
【0040】
情報処理装置は、入力データxを分類モデルC20に入力することで、分類モデルC20から出力される出力結果y´と、正解ラベルyとの誤差(classification loss)が、小さくなるように、分類モデルC20のパラメータを学習する。たとえば、情報処理装置は、誤差逆伝播法を用いて、誤差が小さくなるように、分類モデルC20のパラメータを学習する。
【0041】
情報処理装置は、分類モデルC20に、入力データxを入力した場合の、出力結果y´の平均確信度を算出し、平均確信度を用いて、分類モデルC20の劣化を検出する。情報処理装置は、平均確信度が、閾値以下となった場合に、分類モデルC20の劣化を検出する。たとえば、閾値を「0.6」とする。
図6に示す例では、情報処理装置は、学習データセット141の入力データxを分類モデルC20に入力した場合の平均確信度を「0.9」とすると、平均確信度が閾値より大きいため、分類モデルC20に劣化が発生していないと判定する。
【0042】
図7の説明に移行する。情報処理装置は、時刻t4-2において、データセット143aに含まれる入力データxを、分類モデルC20に入力することで、出力結果y´(分類結果)を取得する処理を繰り返すことで、データセット143aを分類する。
図7に示す例では、情報処理装置は、データセット143aの入力データxを分類モデルC20に入力した場合の平均確信度を「0.9」とすると、平均確信度が閾値より大きいため、分類モデルC20に劣化が発生していないと判定する。
【0043】
図8の説明に移行する。情報処理装置は、時刻t4-3において、データセット143bに含まれる入力データxを、分類モデルC20に入力することで、出力結果y´(分類結果)を取得する処理を繰り返すことで、データセット143bを分類する。
図8に示す例では、情報処理装置は、データセット143bの入力データxを分類モデルC20に入力した場合の平均確信度を「0.6」とすると、平均確信度が閾値以下であるため、分類モデルC20に劣化が発生したと判定する。
【0044】
図9の説明に移行する。情報処理装置は、
図9で説明する処理を行うことで、データセット143aの入力データx1を、データセット143bの入力データx2にスタイル変換するスタイル変換器T31を機械学習する。スタイル変換器T31は、エンコーダEn1と、デコーダDe1とを有する。情報処理装置は、スタイル変換器T31に加えて、エンコーダEn1´と、デコーダDe1´と、識別器Di1とを設定する。
【0045】
エンコーダEn1,En1´は、入力データを、特徴量空間の特徴量に変換する機械学習モデルである。デコーダDe1,De1´は、特徴量空間の特徴量を、入力データに変換する機械学習モデルである。識別器Di1は、入力データが、Realであるか、Fakeであるかを識別する機械学習モデルである。たとえば、識別器Di1は、入力データが、データセット143bの入力データであると判定した場合に「Real」を出力し、データセット143b以外の入力データであると判定した場合に「Fake」を出力する。エンコーダEn1,En1´、デコーダDe1,De1´、識別器Di1は、NN等の機械学習モデルである。
【0046】
スタイル変換器T31は、データセット143aの入力データx1が入力され、x2´を出力する。x2´は、エンコーダEn1´に入力されて特徴量に変換された後、デコーダDe1´によって、x2´´に変換される。
【0047】
識別器Di1は、スタイル変換器T31から出力されたx2´、または、データセット143bの入力データx2の入力を受け付けた場合に、入力されたデータが、データセット143bの入力データであるか否かに応じて、RealまたはFakeを出力する。
【0048】
情報処理装置は、
図9の入力データ「x1」と、出力データ「x2´´」との誤差が小さくなり、かつ、出力データx2´が、識別器Di1に入力された場合に、識別器Di1によって、「Real」が出力されるように、エンコーダEn1,En1´、デコーダDe1,De1´、識別器Di1のパラメータを機械学習する。情報処理装置が、係る機械学習を実行することで、データセット143aの入力データx1を、データセット143bの入力データx2にスタイル変換するスタイル変換器T31が機械学習される。たとえば、情報処理装置は、誤差逆伝播法を用いて、誤差が小さくなるように、各パラメータを機械学習する。
【0049】
図10の説明に移行する。情報処理装置は、
図10で説明する処理を行うことで、学習データセット145aを生成する。情報処理装置は、データセット143aの入力データx1を、スタイル変換器T31に入力することで、入力データx1を、入力データx2´にスタイル変換する。情報処理装置は、入力データx1を、分類モデルC20に入力した場合の分類結果を基にして、推定ラベル(正解ラベル)y´を特定する。
【0050】
情報処理装置は、入力データx2´と、正解ラベルy´との組を、学習データセット145aに登録する。情報処理装置は、データセット143aに含まれる各入力データxについて、上記処理を繰り返し実行することで、学習データセット145aを生成する。
【0051】
図11の説明に移行する。情報処理装置は、
図11で説明する処理を行うことで、分類モデルC20の再学習を行う。情報処理装置は、正解ラベル付きの学習データセット145aを用いて、分類モデルC20の機械学習を再度、実行する。学習データセット145aには、入力データxと、正解ラベルyとの組が複数含まれている。
【0052】
情報処理装置は、入力データxを分類モデルC20に入力することで、分類モデルC209から出力される出力結果y´と、正解ラベルyとの誤差(classification loss)が、小さくなるように、分類モデルC20のパラメータを再学習する。たとえば、情報処理装置は、誤差逆伝播法を用いて、誤差が小さくなるように、分類モデルC20のパラメータを学習する。
【0053】
情報処理装置は、分類モデルC20に、入力データxを入力した場合の、出力結果y´の平均確信度を算出し、平均確信度を用いて、分類モデルC20の劣化を検出する。情報処理装置は、平均確信度が、閾値以下となった場合に、分類モデルC20の劣化を検出する。
図11に示す例では、情報処理装置は、学習データセット145aの入力データxを分類モデルC20に入力した場合の平均確信度を「0.9」とすると、平均確信度が閾値より大きいため、分類モデルC20に劣化が発生していないと判定する。
【0054】
図12の説明に移行する。情報処理装置は、時刻t4-4において、データセット143cに含まれる入力データx3を、分類モデルC20に入力することで、出力結果(分類結果)を取得する処理を繰り返すことで、データセット143cを分類する。たとえば、情報処理装置は、データセット143cの入力データx3を分類モデルC20に入力した場合の平均確信度を「0.6」とすると、平均確信度が閾値以下であるため、分類モデルC20に劣化が発生したと判定する。
【0055】
情報処理装置は、データセット143cによって、再度、分類モデルC20の劣化を検出すると、データセット143bからデータセット143cへの変化が、スタイル変換器T31によるスタイル変化に類似した変化か否かを、次の処理により判定する。情報処理装置は、データセット143bの入力データx2を、スタイル変換器T31に入力することで、変換データx2´にスタイル変換する。
【0056】
情報処理装置は、変換データx2´を、分類モデルC20に入力することで、出力ラベルy2´が出力される。出力ラベルy2´の分布を、分布dis1-1とする。情報処理装置は、データセット143cの入力データx3を、分類モデルC20に入力することで、出力ラベルy3´が出力される。出力ラベルy3´の分布を、分布dis1-2とする。
【0057】
情報処理装置は、分布dis1-1と、分布dis1-2との差が閾値以上であり、不一致であると判定する。すなわち、情報処理装置は、データセット143bからデータセット143cへの変化が、スタイル変換器T31によるスタイル変化に類似した変化ではないと判定する。
【0058】
図13の説明に移行する。情報処理装置は、データセット143bの入力データを、データセット143cの入力データにスタイル変換するスタイル変換器T32を機械学習する。スタイル変換器T32を機械学習する処理は、
図9で説明したスタイル学習T31を機械学習する処理と同様である。スタイル変換器T32は、エンコーダEn2と、デコーダDe2とを有する。
【0059】
情報処理装置は、次の処理を実行することで、学習データセット145bを生成する。情報処理装置は、データセット143bの入力データx2を、スタイル変換器T32に入力することで、入力データx2を、入力データx3´にスタイル変換する。情報処理装置は、入力データx2を、分類モデルC20に入力した場合の分類結果を基にして、推定ラベル(正解ラベル)y´を特定する。
【0060】
情報処理装置は、入力データx3´と、正解ラベルy´との組を、学習データセット145bに登録する。情報処理装置は、データセット143bに含まれる各入力データxについて、上記処理を繰り返し実行することで、学習データセット145bを生成する。
【0061】
図14の説明に移行する。情報処理装置は、
図14に示す処理を実行することで、学習データセット145cを生成する。情報処理装置は、スタイル変換器T32から出力されるデータx3´を、入力データとして、スタイル変換器T31に入力することで、出力データx3´´を得る。データx3´は、データセット143bの入力データx2を、スタイル変換器T32に入力することで算出されるデータである。
【0062】
情報処理装置は、入力データx2を、分類モデルC20に入力した場合の分類結果を基にして、推定ラベル(正解ラベル)y´を特定する。
【0063】
情報処理装置は、入力データx3´´と、正解ラベルy´との組を、学習データセット145cに登録する。情報処理装置は、データセット143bに含まれる各入力データxについて、上記処理を繰り返し実行することで、学習データセット145cを生成する。なお、学習データセット145bを生成する処理は、
図13で説明した。
【0064】
図15の説明に移行する。情報処理装置は、
図15で説明する処理を行うことで、分類モデルC20の再学習を行う。情報処理装置は、正解ラベル付きの学習データセット145b,145cを用いて、分類モデルC20の機械学習を再度、実行する。学習データセット145b,145cには、入力データxと、正解ラベルyとの組が複数含まれている。
【0065】
情報処理装置は、入力データxを分類モデルC20に入力することで、分類モデルC209から出力される出力結果y´と、正解ラベルyとの誤差(classification loss)が、小さくなるように、分類モデルC20のパラメータを再学習する。たとえば、情報処理装置は、誤差逆伝播法を用いて、誤差が小さくなるように、分類モデルC20のパラメータを学習する。
【0066】
情報処理装置は、分類モデルC20に、入力データxを入力した場合の、出力結果y´の平均確信度を算出し、平均確信度を用いて、分類モデルC20の劣化を検出する。情報処理装置は、平均確信度が、閾値以下となった場合に、分類モデルC20の劣化を検出する。
図15に示す例では、情報処理装置は、学習データセット145b,145cの入力データxを分類モデルC20に入力した場合の平均確信度を「0.9」とすると、平均確信度が閾値より大きいため、分類モデルC20に劣化が発生していないと判定する。
【0067】
図16の説明に移行する。情報処理装置は、時刻t4-5において、データセット143dに含まれる入力データx4を、分類モデルC20に入力することで、出力結果(分類結果)を取得する処理を繰り返すことで、データセット143dを分類する。たとえば、情報処理装置は、データセット143dの入力データx4を分類モデルC20に入力した場合の平均確信度を「0.6」とすると、平均確信度が閾値以下であるため、分類モデルC20に劣化が発生したと判定する。
【0068】
情報処理装置は、データセット143dによって、再度、分類モデルC20の劣化を検出すると、データセット143cからデータセット143dへの変化が、スタイル変換器T31またはスタイル変換器T32によるスタイル変化に類似した変化か否かを、次の処理により判定する。情報処理装置は、データセット143cの入力データx2を、スタイル変換器T31,T32に入力することで、変換データx3´,x3´´にスタイル変換する。
【0069】
情報処理装置は、変換データx3´を、分類モデルC20に入力することで、出力ラベルy3´が出力される。出力ラベルy3´の分布を、分布dis2-1とする。情報処理装置は、変換データx3´´を、分類モデルC20に入力することで、出力ラベルy3´´が出力される。出力ラベルy3´´の分布を、分布dis2-2とする。情報処理装置は、データセット143dの入力データx4を、分類モデルC20に入力することで、出力ラベルy4´が出力される。出力ラベルy4´の分布を、分布dis2-3とする。
【0070】
情報処理装置は、分布dis2-3と、分布dis2-2との差が閾値以上であり、不一致であると判定する。すなわち、情報処理装置は、データセット143cからデータセット143dへの変化が、スタイル変換器T32によるスタイル変化に類似した変化ではないと判定する。
【0071】
一方、情報処理装置は、分布dis2-3と、分布dis2-1との差が閾値以上であり、一致すると判定する。すなわち、情報処理装置は、データセット143cからデータセット143dへの変化が、スタイル変換器T31によるスタイル変化に類似した変化である判定する。この場合、情報処理装置は、新たなスタイル変換器を生成しないで、スタイル変換器T31を再利用する。
【0072】
図17の説明に移行する。情報処理装置は、
図16で説明したように、データセット143cの入力データを、データセット143dの入力データにスタイル変換するスタイル変換器として、スタイル変換器T31を流用する。
【0073】
情報処理装置は、次の処理を実行することで、学習データセット145dを生成する。情報処理装置は、データセット143cの入力データx3を、スタイル変換器T31に入力することで、入力データx3を、入力データx4´にスタイル変換する。情報処理装置は、入力データx3を、分類モデルC20に入力した場合の分類結果を基にして、推定ラベル(正解ラベル)y´を特定する。
【0074】
情報処理装置は、入力データx4´と、正解ラベルy´との組を、学習データセット145dに登録する。情報処理装置は、データセット143cに含まれる各入力データxについて、上記処理を繰り返し実行することで、学習データセット145dを生成する。図示を省略するが、情報処理装置は、学習データセット145dを用いて、分類モデルC20を再学習する。
【0075】
上記のように、本実施例に係る情報処理装置は、分類モデルの劣化を検出した場合に、すでに学習済みのスタイル変換器のうち、劣化検出前のデータから、劣化検出後のデータにスタイル変換可能なスタイル変換器が存在するか否かを判定する。情報処理装置は、劣化検出前のデータから、劣化検出後のデータにスタイル変換可能なスタイル変換器が存在する場合には、かかるスタイル変換器を流用して、学習データセットを生成し、分類モデルの再学習を実行する。これによって、分類モデルの劣化を検出するたびに、スタイル変換器を学習する処理を抑止できるので、ドメインシフトに対応するための再学習に要するコストを削減することができる。
【0076】
図18は、本実施例に係る情報処理装置の効果を説明するための図である。参考技術では、分類モデルの劣化を検出するたびに、スタイル変換器の学習、および、分類モデルの再学習を実行するが、情報処理装置では、スタイル変換器を流用する。これによって、劣化が検出された場合のスタイル変換器の学習回数が減るため、システムの再開までの時間を短縮することができる。
【0077】
また、情報処理装置は、使用回数の多いスタイル変換器を更に用いて、入力データのスタイル変換を実行し、学習データセットに追加する。これにより、よく起こるドメインシフトに対して劣化を起こさない分類モデルが学習されるため、再学習した分類モデルの劣化が発生しにくくなる。
【0078】
次に、本実施例に係る情報処理装置の構成の一例について説明する。
図19は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図19に示すように、この情報処理装置は、通信部110と、入力部120と、出力部130と、記憶部140と、制御部150とを有する。
【0079】
通信部110は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部の装置と制御部150との通信を制御する。
【0080】
入力部120は、キーボードやマウス等の入力デバイスを用いて実現され、利用者による入力操作に対応して、制御部150に対して処理開始などの各種指示情報を入力する。
【0081】
出力部130は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。
【0082】
記憶部140は、学習データセット141、分類モデルデータ142、データセットテーブル143、スタイル変換器テーブル144、学習データセットテーブル145を有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
【0083】
学習データセット141は、分類モデルC20の機械学習に使用するラベル付きのデータセットである。
図20は、学習データセットのデータ構造の一例を示す図である。
図20に示すように、この学習データセット141は、入力データと、正解ラベルとを対応付ける。入力データは、画像データ、音声データ、テキストデータ等の各種の情報に対応する。本実施例では一例として、入力データを、画像データとして説明するが、これに限定されるものではない。正解ラベルは、入力データに対してあらかじめ設定されるラベルである。たとえば、正解ラベルとして、所定の分類クラスが設定される。
【0084】
分類モデルデータ142は、分類モデルC20のデータである。たとえば、分類モデルC20は、ニューラルネットワークの構造を有し、入力層、隠れ層、出力層を持つ。入力層、隠れ層、出力層は、複数のノードがエッジで結ばれる構造となっている。隠れ層、出力層は、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジには、重みが設定される。以下の説明では、バイアス値および重みを「パラメータ」と表記する。
【0085】
データセットテーブル143は、複数のデータセットを保持するテーブルである。データセットテーブル143に含まれるデータセットは、異なる時刻(時期)に収集されたデータセットである。
図21は、データセットテーブルのデータ構造の一例を示す図である。
図21に示すように、データセットテーブル143は、データセット識別情報と、データセットとを対応付ける。
【0086】
データセット識別情報は、データセットを識別する情報である。データセットには、複数の入力データが含まれる。
【0087】
以下の説明では、データセット識別情報「Da143a」のデータセットを、データセット143aと表記する。データセット識別情報「Da143b」のデータセットを、データセット143bと表記する。データセット識別情報「Da143c」のデータセットを、データセット143cと表記する。データセット識別情報「Da143d」のデータセットを、データセット143dと表記する。たとえば、データセット143a~143dは、異なる時刻に生成されたデータセットであり、データセット143a,143b,143c,143dの順にデータセットテーブル143に登録されるものとする。
【0088】
スタイル変換器テーブル144は、複数のスタイル変換器のデータを保持するテーブルである。
図22は、スタイル変換器テーブルのデータ構造の一例を示す図である。
図22に示すように、スタイル変換器テーブル144は、スタイル変換器識別情報と、スタイル変換器と、選択履歴とを対応付ける。
【0089】
スタイル変換器識別情報は、スタイル変換器を識別する情報である。スタイル変換器は、スタイル変換器のデータであり、エンコーダと、デコーダとを有する。エンコーダは、入力データ(画像データ)を特徴空間の特徴量に変換(射影)するモデルである。デコーダは、特徴空間の特徴量を、画像データに変換するモデルである。
【0090】
たとえば、エンコーダおよびデコーダは、ニューラルネットワークの構造を有し、入力層、隠れ層、出力層を持つ。入力層、隠れ層、出力層は、複数のノードがエッジで結ばれる構造となっている。隠れ層、出力層は、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジには、重みが設定される。
【0091】
以下の説明では、スタイル変換器識別情報「ST31」のスタイル変換器を、スタイル変換器T31と表記する。スタイル変換器識別情報「ST32」のスタイル変換器を、スタイル変換器T32と表記する。
【0092】
選択履歴は、スタイル変換器が選択された日時のログである。選択履歴を用いることで、所定時間前から現在までにスタイル変換器が選択された回数を特定することができる。所定時間前から現在までにスタイル変換器が選択された回数を「直近の選択回数」と表記する。
【0093】
学習データセットテーブル145は、複数の学習データセットを保持するテーブルである。
図23は、学習データセットテーブルのデータ構造の一例を示す図である。
図23に示すように、学習データセットテーブル145は、学習データセット識別情報と、学習データセットとを対応付ける。
【0094】
学習データセット識別情報は、学習データセットを識別する情報である。学習データセットは、それぞれ、入力データと、正解ラベルとの組を複数有する。
図10等で説明したように、学習データセットテーブル145に含まれる各学習データセットの正解ラベルは、分類モデルC20を用いて推定された推定ラベルに対応する。
【0095】
図19の説明に戻る。制御部150は、取得部151と、学習部152と、分類部153と、選択部154と、生成部155と、前処理部156とを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
【0096】
取得部151は、外部装置等から各種のデータを取得する処理部である。取得部151は、外部装置等から、学習データセット141を受信した場合、受信した学習データセット141を、記憶部140に格納する。取得部151は、外部装置等から、データセットを取得する度に、取得したデータセットを、データセットテーブル143に登録する。たとえば、取得部151は、データセットを定期的に取得する。
【0097】
学習部152は、学習データセット141を基にして、分類モデルの機械学習を実行する処理部である。
図6等で説明したように、学習部152は、入力データxを分類モデルC20に入力することで、分類モデルC20から出力される出力結果y´と、正解ラベルyとの誤差(classification loss)が、小さくなるように、分類モデルC20のパラメータを学習(訓練)する。たとえば、学習部152は、誤差逆伝播法を用いて、誤差が小さくなるように、分類モデルC20のパラメータを学習する。学習部152は、学習した分類モデルC20のデータを、分類モデルデータ142として、記憶部140に登録する。
【0098】
学習部152は、前処理部156から、再学習要求を受け付けた場合、学習データセットテーブル145に含まれる学習データセットを用いて、分類モデルC20の再学習を実行する。学習部152は、再学習した分類モデルC20のデータによって、分類モデルデータ142を更新する。
【0099】
分類部153は、データセットテーブル143に登録されたデータセットを、分類モデルC20を用いて分類する処理部である。
図7等で説明したように、分類部153は、データセット(たとえば、データセット143a)に含まれる入力データxを、分類モデルC20に入力することで、出力結果y´(分類結果)を取得する処理を繰り返すことで、データセットを分類する。分類部153は、データセットの分類結果を、出力部130に出力してもよい。
【0100】
分類部153は、データセットの分類を行う場合に、出力結果y´の平均確信度を算出する。分類部153は、平均確信度が、閾値Th1以下である場合に、分類モデルC20の劣化を検出する。たとえば、閾値Th1を、0.6とする。分類部153は、分類モデルC20の劣化を検出した場合には、劣化を検出した旨の情報を、選択部154に出力する。
【0101】
選択部154は、分類部153から分類モデルC20の劣化を検出した旨の情報を取得した場合に、スタイル変換器テーブル144に含まれる複数のスタイル変換器から、スタイル変換器を選択する処理部である。
【0102】
選択部154の処理を、
図16を用いて説明する。スタイル変換器テーブル144には、スタイル変換器T31と、スタイル変換器T32が含まれているものとする。また、データセット143dを、分類モデルC20に適用した場合に、劣化が検出されたものとする。
【0103】
選択部154は、データセット143cからデータセット143dへの変化が、スタイル変換器T31またはスタイル変換器T32によるスタイル変化に類似した変化か否かを、次の処理により判定する。選択部154は、データセット143cの入力データx2を、スタイル変換器T31,T32に入力することで、変換データx3´,x3´´にスタイル変換する。
【0104】
選択部154は、変換データx3´を、分類モデルC20に入力することで、出力ラベルy3´が出力される。出力ラベルy3´の分布を、分布dis2-1とする。選択部154は、変換データx3´´を、分類モデルC20に入力することで、出力ラベルy3´´が出力される。出力ラベルy3´´の分布を、分布dis2-2とする。選択部154は、データセット143dの入力データx4を、分類モデルC20に入力することで、出力ラベルy4´が出力される。出力ラベルy4´の分布を、分布dis2-3とする。
【0105】
選択部154は、分布dis2-3と、分布dis2-1との類似度、分布dis2-3と、分布dis2-2との類似度を算出する。選択部154は、各分布の差が小さいほど、類似度の値を大きくする。選択部154は、分布dis2-3と、分布dis2-2との類似度が閾値Th2未満であるため、分布dis2-2に対応するスタイル変換器T32を、選択対象から除外する。
【0106】
一方、選択部154は、分布dis2-3と、分布dis2-1との類似度が閾値Th2以上であるため、分布dis2-1に対応するスタイル変換器T31を選択する。選択部154は、選択したスタイル変換器T31を、前処理部156に出力する。選択部154は、選択したスタイル変換器T31に対応する選択履歴を、スタイル変換器テーブル144に登録する。選択部154は、図示しないタイマから、現在の日付の情報を取得し、選択履歴に設定する。
【0107】
選択部154は、類似度が閾値以上となるスタイル変換器が、スタイル変換器テーブル144に存在しない場合には、スタイル変換器の作成要求を、生成部155に出力する。
【0108】
ところで、選択部154は、スタイル変換器テーブル144の選択履歴を基にして、直近の選択回数が、所定回数以上となるスタイル変換器を追加で選択してもよい。選択部154は、追加で選択したスタイル変換器の情報を、前処理部156に出力する。
【0109】
生成部155は、選択部154から、スタイル変換器の作成要求を取得した場合に、スタイル変換器を作成する処理部である。生成部155は、作成したスタイル変換器の情報を、スタイル変換器テーブル144に登録する。また、生成部155は、スタイル変換器の情報を、前処理部156に出力する。
【0110】
生成部155の処理を、
図9を用いて説明する。生成部155は、スタイル変換器T31と、エンコーダEn1´、デコーダDe1´、識別器Di1を設定する。たとえば、生成部155は、スタイル変換器T31のエンコーダEn1、デコーダDe1、エンコーダEn1´、デコーダDe1´、識別器Di1のパラメータをそれぞれ初期値に設定し、次の処理を実行する。
【0111】
生成部155が、スタイル変換器T31に、データセット143aの入力データx1を入力することで、x2´を出力させる。x2´は、エンコーダEn1´に入力されて特徴量に変換された後、デコーダDe1´によって、x2´´に変換される。
【0112】
識別器Di1は、スタイル変換器T31から出力されたx2´、または、データセット143bの入力データx2の入力を受け付け、入力されたデータが、データセット143bの入力データであるか否かに応じて、RealまたはFakeを出力する。
【0113】
生成部155は、
図9の入力データ「x1」と、出力データ「x2´´」との誤差が小さくなり、かつ、出力データx2´が、識別器Di1に入力された場合に、識別器Di1によって、「Real」が出力されるように、エンコーダEn1,En1´、デコーダDe1,De1´、識別器Di1のパラメータを機械学習する。生成部155が、係る機械学習を実行することで、データセット143aの入力データx1を、データセット143bの入力データx2にスタイル変換するスタイル変換器T31が機械学習(生成)する。たとえば、生成部155は、誤差逆伝播法を用いて、誤差が小さくなるように、各パラメータを機械学習する。
【0114】
前処理部156は、選択部154によって選択されたスタイル変換器を用いて、劣化前データを、劣化後データにスタイル変換する処理部である。前処理部156は、劣化前データを、分類モデルC20に入力して、劣化後データの正解ラベルを推定する。選択部154は、上記処理を繰り返すことで、学習データセットを生成し、学習データセットを、学習データセットテーブル145に登録する。
【0115】
前処理部156は、生成部155から、新たなスタイル変換器の情報を取得した場合には、かかるスタイル変換器を用いて、学習データセットを生成する。たとえば、前処理部156は、劣化前データを、新たなスタイル変換器に入力して、劣化後データにスタイル変換する。前処理部156は、劣化前データを、分類モデルC20に入力して、劣化後データの正解ラベルを推定する。
【0116】
前処理部156の処理を、
図10を用いて説明する。一例として、選択部154によって、スタイル変換器T31が選択されたものとする。前処理部156は、データセット143aの入力データx1を、スタイル変換器T31に入力することで、入力データx1を、入力データx2´にスタイル変換する。前処理部156は、入力データx1を、分類モデルC20に入力した場合の分類結果を基にして、推定ラベル(正解ラベル)y´を特定する。
【0117】
前処理部156は、入力データx2´と、正解ラベルy´との組を、学習データセット145aに登録する。前処理部156は、データセット143aに含まれる各入力データxについて、上記処理を繰り返し実行することで、学習データセット145aを生成する。
【0118】
ところで、前処理部156は、選択部154によって、追加でスタイル変換器が選択されている場合には、複数のスタイル変換器を用いて、複数の学習データセットを生成する。
【0119】
前処理部156の処理を、
図14を用いて説明する。
図14では、選択部154によって、類似度に基づいて選択されたスタイル変換器を、スタイル変換器T32とする。選択部154によって、直近の選択回数に基づいて追加で選択されたスタイル変換器を、スタイル変換器T31とする。
【0120】
まず、前処理部156は、データセット143bの入力データx2を、スタイル変換器T32に入力することで、入力データx2を、入力データx3´にスタイル変換する。前処理部156は、入力データx2を、分類モデルC20に入力した場合の分類結果を基にして、推定ラベル(正解ラベル)y´を特定する。
【0121】
前処理部156は、入力データx3´と、正解ラベルy´との組を、学習データセット145bに登録する。前処理部156は、データセット143bに含まれる各入力データxについて、上記処理を繰り返し実行することで、学習データセット145bを生成する。
【0122】
前処理部156は、スタイル変換器T32から出力されるデータx3´を、入力データとして、スタイル変換器T31に入力することで、出力データx3´´を得る。データx3´は、データセット143bの入力データx2を、スタイル変換器T32に入力することで算出されるデータである。
【0123】
前処理部156は、入力データx2を、分類モデルC20に入力した場合の分類結果を基にして、推定ラベル(正解ラベル)y´を特定する。
【0124】
前処理部156は、入力データx3´´と、正解ラベルy´との組を、学習データセット145cに登録する。前処理部156は、データセット143bに含まれる各入力データxについて、上記処理を繰り返し実行することで、学習データセット145cを生成する。
【0125】
前処理部156は、上記の処理を実行することで、学習データセットを生成し、学習データセットテーブル145に登録する。また、前処理部156は、学習部152に対して、再学習要求を出力する。再学習要求には、再学習で使用する学習データセット識別情報が設定される。たとえば、前処理部156は、
図14の処理を実行して、学習データセット145b,145cを生成した場合には、学習データセット145b,145cを識別する学習データセット識別情報を、再学習要求に設定する。これによって、学習部152は、学習データセット145b,145cを用いて、分類モデルC20を再学習する。
【0126】
次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。
図24は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
図24に示すように、情報処理装置100の学習部152は、学習データセット141を基にして、分類モデルの機械学習を実行する(ステップS101)。
【0127】
情報処理装置100の分類部153は、分類モデルにデータを入力し、平均確信度を算出する(ステップS102)。分類部153は劣化を検出しない場合には(ステップS103,No)、ステップS111に移行する。
【0128】
一方、分類部153は、劣化を検出した場合には(ステップS103,Yes)、ステップS104に移行する。情報処理装置100の選択部154は、ドメイン変化と同等のスタイル変換器が存在する場合には(ステップS104,Yes)、ステップS105に移行する。選択部154は、ドメイン変化と同等のスタイル変換器を選択する。情報処理装置100の前処理部156は、選択されたスタイル変換器で、学習データセットを生成し(ステップS105)、ステップS108に移行する。
【0129】
一方、選択部154は、ドメイン変化と同等のスタイル変換器が存在しない場合には(ステップS104,No)、ステップS106に移行する。情報処理装置100の生成部155は、スタイル変換器を学習して、スタイル変換器テーブル144に保存する(ステップS106)。前処理部156は、生成されたスタイル変換器で、学習データセットを生成する(ステップS107)。
【0130】
選択部154は、直近の選択回数が所定回数以上のスタイル変換器が存在しない場合には(ステップS108,No)、ステップS110に移行する。一方、選択部154は、直近の選択回数が所定回数以上のスタイル変換器が存在する場合には(ステップS108,Yes)、ステップS109に移行する。
【0131】
前処理部156は、変換後のデータを、再度スタイル変換器で変換し、学習データを追加する(ステップS109)。学習部152は、生成された学習データセットを基にして、分類モデルを再学習する(ステップS110)。
【0132】
情報処理装置100は、次のデータが存在する場合には(ステップS111,Yes)、ステップS102に移行する。一方、情報処理装置100は、次のデータが存在しない場合には(ステップS111,No)、処理を終了する。
【0133】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、分類モデルの劣化が発生した場合に、劣化前から劣化後へのドメイン変化を再現可能なスタイル変換器を、複数のスタイル変換器から選択し、選択したスタイル変換器を再利用して、劣化前のデータを、劣化後のデータに変換して、前処理を行う。これによって、分類モデルの劣化が発生する度に、スタイル変換器を生成することを抑止し、スタイル変換器の学習回数を削減することができる。学習回数を削減することで、分類モデルを用いるシステムを再開させるまでの時間を短縮することができる。また、ドメインシフトに対応するための再学習に要するコストを削減することができる。
【0134】
情報処理装置100は、劣化前のデータを分類モデルに入力することで、正解ラベルを特定し、劣化前のデータをスタイル変換器に入力することで、変換データを生成する。情報処理装置100は、正解ラベルと変換データとを対応付けることで、学習データを生成する。かかる学習データを用いることで、分類モデルの再学習を実行することができる。
【0135】
情報処理装置100は、
図4、
図5で説明したように、複数のスタイル変換器を選択した場合には、複数のスタイル変換器を用いて、複数の変換データを生成し、分類モデルの学習データに用いる。これによって、学習データのバリエーションを増やして、分類モデルの機械学習を実行できるので、分類モデルの精度劣化を抑止できる。すなわち、再学習により、分類モデルを用いるシステムを停止しにくくすることができる。
【0136】
情報処理装置100は、分類モデルの劣化が発生した場合に、劣化前から劣化後へのドメイン変化を再現可能なスタイル変換器が存在しない場合には、新たなスタイル変換器を生成する。これによって、劣化前から劣化後へのドメイン変化を再現可能なスタイル変換器が存在しない場合でも、分類モデルの再学習に対応することができる。
【0137】
情報処理装置100は、学習データセットに登録された学習データセットを用いて、分類モデルの再学習を実行する。これによって、ドメインシフトが発生しても、かかるドメインシフトに対応可能な分類モデルを再学習して利用することができる。
【0138】
ところで、本実施例に係る情報処理装置100の選択部154は、
図3で説明したポイント2を基にして、流用するスタイル変換器を選択していたが、これに限定されるものではない。たとえば、選択部154は、
図25に示す処理を行って、流用するスタイル変換器を選択してもよい。
【0139】
図25は、選択部のその他の処理を説明するための図である。
図25では、一例として、複数の分類モデルC20-1,C20-2,C20-3,C20-4が存在するものとする。すなわち、システムで、複数の分類モデルが利用されている。また、スタイル変換器T31,T32,T33が存在するものとする。選択部154は、劣化後データd4によって、分類モデルC20-3,C20-4の劣化が検出されたものとする。
【0140】
選択部154は、劣化後データd4を、スタイル変換器T31に入力して、変換データd4-1にスタイル変換する。選択部154は、劣化後データd4を、スタイル変換器T32に入力して、変換データd4-2にスタイル変換する。選択部154は、スタイル変換器T33に入力して、変換データd4-3にスタイル変換する。
【0141】
選択部154は、変換データd4-1を、分類モデルC20-1~C20-4に入力して、劣化が検出されるか否かを判定する。たとえば、変換データd4-1によって、分類モデルC20-1,C20-3によって、劣化が検出されたものとする。
【0142】
選択部154は、変換データd4-2を、分類モデルC20-1~C20-4に入力して、劣化が検出されるか否かを判定する。たとえば、変換データd4-2によって、分類モデルC20-3,C20-4によって、劣化が検出されたものとする。
【0143】
選択部154は、変換データd4-2を、分類モデルC20-1~C20-4に入力して、劣化が検出されるか否かを判定する。たとえば、変換データd4-3によって、分類モデルC20-4によって、劣化が検出されたものとする。
【0144】
ここで、劣化後データd4を分類モデルC20-1~C20-4に入力した際の劣化検出の結果と、変換データd4-3を分類モデルC20-1~C20-4に入力した際の劣化検出の結果とが一致する。このため、選択部154は、スタイル変換器T32を、流用するスタイル変換器として選択する。これによって、流用可能なスタイル変換器を選択することができる。
【0145】
次に、本実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図26は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0146】
図26に示すように、コンピュータ300は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0147】
ハードディスク装置207は、取得プログラム207a、学習プログラム207b、分類プログラム207c、選択プログラム207d、生成プログラム207e、前処理プログラム207fを有する。CPU301は、取得プログラム207a、学習プログラム207b、分類プログラム207c、選択プログラム207d、生成プログラム207e、前処理プログラム207fを読み出してRAM306に展開する。
【0148】
取得プログラム207aは、取得プロセス206aとして機能する。学習プログラム207bは、学習プロセス206bとして機能する。分類プログラム207cは、分類プロセス206cとして機能する。選択プログラム207dは、選択プロセス206dとして機能する。生成プログラム207eは、生成プロセス206eとして機能する。前処理プログラム207fは、前処理プロセス206fとして機能する。
【0149】
取得プロセス206aの処理は、取得部151の処理に対応する。学習プロセス206bの処理は、学習部152の処理に対応する。分類プロセス206cの処理は、分類部153の処理に対応する。選択プロセス206dの処理は、選択部154の処理に対応する。生成プロセス206eの処理は、生成部155の処理に対応する。前処理プロセス206fの処理は、前処理部156の処理に対応する。
【0150】
なお、各プログラム207a~207fについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207dを読み出して実行するようにしてもよい。
【0151】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0152】
(付記1)コンピュータに、
分類モデルの劣化が発生した場合に、劣化が発生した後の第1入力データを分類モデルに入力することで前記分類モデルから出力される第1判定結果と、劣化が発生する前の第2入力データを、複数のデータ変換器に入力することで変換された複数の変換後データを前記分類モデルに入力することで前記分類モデルから出力される複数の第2判定結果との類似度を算出し、
前記類似度を基にして、前記複数のデータ変換器からデータ変換器を選択し、
選択したデータ変換器を用いて、前記分類モデルでのデータ入力における前処理を行う
処理を実行させることを特徴とする判定処理プログラム。
【0153】
(付記2)前記前処理は、前記第2入力データを前記分類モデルに入力することで、前記第2入力データに対応する正解ラベルを特定し、前記正解ラベルと、前記変換後データとを対応付けた学習データを生成することを特徴とする付記1に記載の判定処理プログラム。
【0154】
(付記3)前記選択する処理は、前記データ変換器を選択する度に、前記データ変換器の選択回数を計数し、計数した回数を基にして、前記複数のデータ変換器から、第1データ変換器を選択し、前記類似度を基にして、前記複数のデータ変換器から、第2データ変換器を選択し、前記前処理は、前記第2入力データを、前記第1データ変換器に入力することで変換される第1変換後データと、前記第1変換後データを、前記第2データ変換器に入力することで変換される第2変換後データと、前記正解ラベルとを基にして、学習データを生成することを特徴とする付記2に記載の判定処理プログラム。
【0155】
(付記4)前記第1判定結果と類似する第2判定結果が存在しない場合に、前記第1入力データと、前記第2入力データとを基にして、新たなデータ変換器を生成する処理を更に実行することを特徴とする付記1に記載の判定処理プログラム。
【0156】
(付記5)前記学習データを基にして、前記分類モデルに対する機械学習を実行する処理を更に実行することを特徴とする付記2または3に記載の判定処理プログラム。
【0157】
(付記6)データを複数の分類モデルに入力した場合の劣化検出の結果と、前記データを前記複数のデータ変換器に入力して得られる複数の変換後データを、前記複数の分類モデルに入力した場合の劣化検出の結果とを基にして、前記複数のデータ変換器からデータ変換器を選択する処理を更に実行することを特徴とする付記1に記載の判定処理プログラム。
【0158】
(付記7)コンピュータが実行する判定処理方法であって、
分類モデルの劣化が発生した場合に、劣化が発生した後の第1入力データを分類モデルに入力することで前記分類モデルから出力される第1判定結果と、劣化が発生する前の第2入力データを、複数のデータ変換器に入力することで変換された複数の変換後データを前記分類モデルに入力することで前記分類モデルから出力される複数の第2判定結果との類似度を算出し、
前記類似度を基にして、前記複数のデータ変換器からデータ変換器を選択し、
選択したデータ変換器を用いて、前記分類モデルでのデータ入力における前処理を行う
処理を実行することを特徴とする判定処理方法。
【0159】
(付記8)前記前処理は、前記第2入力データを前記分類モデルに入力することで、前記第2入力データに対応する正解ラベルを特定し、前記正解ラベルと、前記変換後データとを対応付けた学習データを生成することを特徴とする付記7に記載の判定処理方法。
【0160】
(付記9)前記選択する処理は、前記データ変換器を選択する度に、前記データ変換器の選択回数を計数し、計数した回数を基にして、前記複数のデータ変換器から、第1データ変換器を選択し、前記類似度を基にして、前記複数のデータ変換器から、第2データ変換器を選択し、前記前処理は、前記第2入力データを、前記第1データ変換器に入力することで変換される第1変換後データと、前記第1変換後データを、前記第2データ変換器に入力することで変換される第2変換後データと、前記正解ラベルとを基にして、学習データを生成することを特徴とする付記8に記載の判定処理方法。
【0161】
(付記10)前記第1判定結果と類似する第2判定結果が存在しない場合に、前記第1入力データと、前記第2入力データとを基にして、新たなデータ変換器を生成する処理を更に実行することを特徴とする付記7に記載の判定処理方法。
【0162】
(付記11)前記学習データを基にして、前記分類モデルに対する機械学習を実行する処理を更に実行することを特徴とする付記8または9に記載の判定処理方法。
【0163】
(付記12)データを複数の分類モデルに入力した場合の劣化検出の結果と、前記データを前記複数のデータ変換器に入力して得られる複数の変換後データを、前記複数の分類モデルに入力した場合の劣化検出の結果とを基にして、前記複数のデータ変換器からデータ変換器を選択する処理を更に実行することを特徴とする付記7に記載の判定処理方法。
【0164】
(付記13)分類モデルの劣化が発生した場合に、劣化が発生した後の第1入力データを分類モデルに入力することで前記分類モデルから出力される第1判定結果と、劣化が発生する前の第2入力データを、複数のデータ変換器に入力することで変換された複数の変換後データを前記分類モデルに入力することで前記分類モデルから出力される複数の第2判定結果との類似度を算出し、前記類似度を基にして、前記複数のデータ変換器からデータ変換器を選択する選択部と、
選択したデータ変換器を用いて、前記分類モデルでのデータ入力における前処理を行う前処理部と
を有することを特徴とする情報処理装置。
【0165】
(付記14)前記前処理部は、前記第2入力データを前記分類モデルに入力することで、前記第2入力データに対応する正解ラベルを特定し、前記正解ラベルと、前記変換後データとを対応付けた学習データを生成することを特徴とする付記13に記載の情報処理装置。
【0166】
(付記15)前記選択部は、前記データ変換器を選択する度に、前記データ変換器の選択回数を計数し、計数した回数を基にして、前記複数のデータ変換器から、第1データ変換器を選択し、前記類似度を基にして、前記複数のデータ変換器から、第2データ変換器を選択し、前記前処理は、前記第2入力データを、前記第1データ変換器に入力することで変換される第1変換後データと、前記第1変換後データを、前記第2データ変換器に入力することで変換される第2変換後データと、前記正解ラベルとを基にして、学習データを生成することを特徴とする付記14に記載の情報処理装置。
【0167】
(付記16)前記第1判定結果と類似する第2判定結果が存在しない場合に、前記第1入力データと、前記第2入力データとを基にして、新たなデータ変換器を生成する生成部を更に有することを特徴とする付記13に記載の情報処理装置。
【0168】
(付記17)前記学習データを基にして、前記分類モデルに対する機械学習を実行する学習部を更に有することを特徴とする付記14または15に記載の情報処理装置。
【0169】
(付記18)前記選択部は、データを複数の分類モデルに入力した場合の劣化検出の結果と、前記データを前記複数のデータ変換器に入力して得られる複数の変換後データを、前記複数の分類モデルに入力した場合の劣化検出の結果とを基にして、前記複数のデータ変換器からデータ変換器を選択する処理を更に実行することを特徴とする付記13に記載の情報処理装置。
【符号の説明】
【0170】
100 情報処理装置
110 通信部
120 入力部
130 出力部
140 記憶部
141 学習データセット
142 分類モデルデータ
143 データセットテーブル
144 スタイル変換器テーブル
145 学習データセットテーブル
150 制御部
151 取得部
152 学習部
153 分類部
154 選択部
155 生成部
156 前処理部