(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024020923
(43)【公開日】2024-02-15
(54)【発明の名称】学習プログラム、学習方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240207BHJP
G06N 3/02 20060101ALI20240207BHJP
G06T 7/00 20170101ALI20240207BHJP
【FI】
G06N20/00
G06N3/02
G06T7/00 350C
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022123481
(22)【出願日】2022-08-02
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】吉井 章人
(72)【発明者】
【氏名】徳本 晋
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA01
5L096EA03
5L096EA15
5L096EA16
5L096GA59
5L096HA11
5L096KA04
5L096KA13
(57)【要約】
【課題】摂動操作を行った入力データを用いて学習モデルを再訓練する場合に、デグレードの発生を抑止すること。
【解決手段】情報処理装置100は、第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得する。情報処理装置100は、特定の摂動の程度に応じたパラメータを決定する。情報処理装置100は、第1の複数のデータと第2の複数のデータとを入力とし、第1の複数のデータに対する機械学習モデルの出力結果と第2の複数のデータに対する機械学習モデルの出力結果との比較結果と、比較結果の係数であるパラメータとを含む損失関数に基づいて、機械学習モデルの訓練を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得し、
前記特定の摂動の程度に応じたパラメータを決定し、
前記第1の複数のデータと前記第2の複数のデータとを入力とし、前記第1の複数のデータに対する機械学習モデルの出力結果と前記第2の複数のデータに対する前記機械学習モデルの出力結果との比較結果と、前記比較結果の係数である前記パラメータとを含む損失関数に基づいて、前記機械学習モデルの訓練を実行する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項2】
前記パラメータを決定する処理は、前記特定の摂動の程度に応じた第1パラメータに加えて、前記摂動の種類に応じた第2パラメータを更に決定することを特徴とする請求項1に記載の学習プログラム。
【請求項3】
前記訓練を実行する処理は、前記比較結果の係数である前記第1パラメータと、前記比較結果の他の係数である前記第2パラメータとを含む前記損失関数に基づいて、前記機械学習モデルの訓練を実行することを特徴とする請求項2に記載の学習プログラム。
【請求項4】
前記摂動の種別には、回転、平行移動、拡大が含まれ、前記パラメータを決定する処理は、前記摂動の種別が回転の場合には、前記摂動の種類が平行移動または拡大の場合に決定される第2パラメータの値よりも大きな値の第2パラメータを決定することを特徴とする請求項3に記載の学習プログラム。
【請求項5】
第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得し、
前記特定の摂動の程度に応じたパラメータを決定し、
前記第1の複数のデータと前記第2の複数のデータとを入力とし、前記第1の複数のデータに対する機械学習モデルの出力結果と前記第2の複数のデータに対する前記機械学習モデルの出力結果との比較結果と、前記比較結果の係数である前記パラメータとを含む損失関数に基づいて、前記機械学習モデルの訓練を実行する、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項6】
第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得し、
前記特定の摂動の程度に応じたパラメータを決定し、
前記第1の複数のデータと前記第2の複数のデータとを入力とし、前記第1の複数のデータに対する機械学習モデルの出力結果と前記第2の複数のデータに対する前記機械学習モデルの出力結果との比較結果と、前記比較結果の係数である前記パラメータとを含む損失関数に基づいて、前記機械学習モデルの訓練を実行する、
処理を実行する制御部を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、訓練データを用いた学習技術に関する。
【背景技術】
【0002】
ディープラーニングによって訓練される学習モデルには、画像を分類する学習モデルがある。係る学習モデルは、多様なAI(Artificial Intelligence)のタスクにおいて利用される。
【0003】
たとえば、学習モデルの頑健性を改善する技術として、従来技術1がある。従来技術1では、予め定義された摂動操作を入力画像に施し、遺伝アルゴリズムによってデータ拡張(data augmentation)を行い、学習モデルへの入力データを生成する。従来技術1では、データ拡張した入力データを用いて、学習モデルを再訓練することで、同じ対象物の画像に対して、環境変化による摂動が加わった場合の耐性を、学習モデルに与えることができる。
【0004】
図9は、従来技術1の摂動操作の一例を説明するための図である。摂動操作の種類と摂動操作の度合いとの関係を示すデータを「摂動パラメータ」と表記する。入力画像Im1に対して、摂動パラメータ「回転=0.12、明度=1.0」に応じた摂動操作を実行することで、入力データIm1-1が生成される。入力画像Im1に対して、摂動パラメータ「回転=0.0、明度=0.06」に応じた摂動操作を実行することで、入力データIm1-2が生成される。入力画像Im1に対して、摂動パラメータ「回転=0.12、明度=0.06」に応じた摂動操作を実行することで、入力データIm1-3が生成される。
【0005】
従来技術1では、全ての摂動パラメータを試すのではなく、特定の基準で複数の摂動パラメータを評価する。従来技術1では、評価結果を基にして、複数の摂動パラメータから頑健性の改善に有効な摂動パラメータを選択し、選択した摂動パラメータに応じた摂動操作を行って、入力データを生成し、学習モデルの再訓練に利用する。
【0006】
一方、学習モデルを再訓練する従来技術として、従来技術2がある。従来技術2の説明では、あるデータセットによって最初に訓練しておいた学習モデルを「h1」とする。h1を再訓練した学習モデルを「h2」とする。
【0007】
従来技術2では、式(1)に示す損失関数LCを用いて、学習モデル(h1)を再訓練する。式(1)において、「L」は、クロスエントロピー等の従来の損失項である。「λC」は、ペナルティ項「D」を調整する係数である。ペナルティ項「D」は、h1で正解していたデータサンプルについて、ペナルティを与える項である。
【0008】
【0009】
たとえば、ペナルティ項「D」は、式(2)に示される。式(2)の白抜きの「1」は、indicator functionであり、カッコ内に示される条件を満たす場合に、「1」を出力し、カッコ内の条件を満たさない場合に「0」を出力する。式(2)のカッコ内の条件「h1(x)=y」は、再訓練時に、データサンプル「x」をh1に入力して得られる結果と、再訓練前のデータサンプル「x」の正解値「y」とが同一であるという条件である。
【0010】
【0011】
従来技術2では、ペナルティ項「D」を利用することで、h1で正解していたのに、再訓練後のh2で新しく間違うようになったデータサンプルを少なく抑えようとしている。
【先行技術文献】
【非特許文献】
【0012】
【非特許文献1】Gao, X., Saha, R.K., Prasad, M.R., and Roychoudhury, A., Fuzz Testing based Data Augmentation to Improve Robustness of Deep Neural Networks(In proceedings of ICSE 2020)
【非特許文献2】Bansal, G., Nushi, B., Kamar, E., Weld, D., Lasecki, W., and Horvitz, E., Updates in Human-AI Teams: Understanding and Addressing the Performance/Compatibility Tradeoff (In proceedings of AAAI 2019)
【発明の概要】
【発明が解決しようとする課題】
【0013】
上述した従来技術1と、従来技術2とを組み合わせた参考技術について説明する。かかる参考技術では、従来技術1のように、より効果の高い摂動パラメータを探索し、訓練時の損失関数は、従来技術2の損失関数を用いる。
【0014】
図10は、参考技術を説明するための図である。
図10に示すように、参考技術を実行する装置50は、摂動操作探索部51と、損失関数評価部52と、最適化部53とを有する。装置50は、訓練データセット10aと、訓練ラベル10bとを基にして、学習モデルm
Cを訓練しており、ここでは、学習モデルm
Cを再訓練する場合の処理について説明する。学習モデルm
Cは、DNN(Deep Neural Network)等である。
【0015】
訓練データセット10aには、複数の訓練データが含まれる。訓練ラベル10bには、各訓練データに対する正解ラベルがそれぞれ設定される。
【0016】
装置50の摂動操作探索部51は、摂動パラメータの集合15を評価し、頑健性の改善に有効な摂動パラメータを探索する。摂動操作探索部51は、探索した摂動パラメータに応じた摂動操作を、訓練データセット10aの各訓練データに対して実行することで、入力データセットを生成する。
【0017】
装置50の損失関数評価部52および最適化部53は、摂動操作探索部51によって生成された入力データセットと、訓練ラベル10bとを基にして、学習モデルmCを再訓練する。損失関数評価部52は、学習モデルmCを再訓練する場合の損失関数として、式(1)で説明した損失関数LCの値を算出する。最適化部53は、損失関数LCの値が最小化するように、学習モデルmCを再訓練する。
【0018】
続いて、
図10で説明した参考技術の問題点について説明する。参考技術のように、訓練データセット10aに対して摂動操作を行った入力データセットを用いて、学習モデルm
Cの再訓練を行うと、頑健性が向上する一方で、デグレードが発生する場合がある。デグレードは、再訓練前には正しく分類できていたデータサンプルを、再訓練後には正しく分類できなくなることである。
【0019】
図11は、学習モデルのデグレードを説明するための図である。
図11の説明では、データサンプル11a,11b,11c,11d,11e,11f,11g,11h,11i,11jを用いて説明を行う。再訓練前の学習モデルm
Cに、データサンプル11a~11jをそれぞれ入力し、データサンプル11a~11hの分類結果が正解となり、データサンプル11i,11jの分類結果が不正解となる場合、再訓練前の学習モデルm
Cの正解率は「80%」となる。
【0020】
一方、再訓練後の学習モデルmCに、データサンプル11a~11jをそれぞれ入力し、データサンプル11a,11c~11hの分類結果が正解となり、データサンプル11ibの分類結果が不正解となる場合、再訓練後の学習モデルmCの正解率は「90%」となる。
【0021】
図11で説明した例では、再訓練前よりも再訓練後のほうが、正解率が向上しているものの、再訓練前には正しく分類できていたデータサンプル11bを、再訓練後には正しく分類できなくなっており、学習モデルm
Cにデグレードが発生している。
【0022】
参考技術では、摂動操作によって多様な入力データを生成して、学習モデルの再訓練を行っており、摂動操作前に正解していた入力データについては、損失関数にペナルティを与えている。
【0023】
たとえば、摂動操作を行った入力データを用いた再訓練で、参考技術のように一律のペナルティを与えると、摂動が小さく分類が容易な入力データにおいては、ペナルティ項の影響が相対的に大きくなる。これによって、デグレードを抑制する効果が高まりすぎて、摂動を加えたことによる効果が小さくなる。一方、摂動が大きく分類が困難な入力データにおいては、ペナルティ項の影響が相対的に小さくなり、デグレードを抑止する効果が低下する。
【0024】
すなわち、摂動操作を行った入力データを用いて学習モデルを再訓練する場合に、デグレードの発生を抑止することが求められている。
【0025】
1つの側面では、本発明は、摂動操作を行った入力データを用いて学習モデルを再訓練する場合に、デグレードの発生を抑止することができる学習プログラム、学習方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0026】
第1の案では、コンピュータに次の処理を実行する。コンピュータは、第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得する。コンピュータは、特定の摂動の程度に応じたパラメータを決定する。コンピュータは、第1の複数のデータと第2の複数のデータとを入力とし、第1の複数のデータに対する機械学習モデルの出力結果と第2の複数のデータに対する機械学習モデルの出力結果との比較結果と、比較結果の係数であるパラメータとを含む損失関数に基づいて、機械学習モデルの訓練を実行する。
【発明の効果】
【0027】
摂動操作を行った入力データを用いて学習モデルを再訓練する場合に、デグレードの発生を抑止することができる。
【図面の簡単な説明】
【0028】
【
図1】
図1は、本実施例に係る情報処理装置の処理を説明するための図である。
【
図2】
図2は、画像の意味が変わる摂動操作の一例を示す図である。
【
図3】
図3は、摂動種類に対応する設定値の一例を示す図である。
【
図4】
図4は、情報処理装置の処理の実例を示す図である。
【
図5】
図5は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【
図6】
図6は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
【
図7】
図7は、ペナルティ項調整処理の処理手順を示すフローチャートである。
【
図8】
図8は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図9】
図9は、従来技術1の摂動操作の一例を説明するための図である。
【
図11】
図11は、学習モデルのデグレードを説明するための図である。
【発明を実施するための形態】
【0029】
以下に、本願の開示する学習プログラム、学習方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0030】
図1は、本実施例に係る情報処理装置の処理を説明するための図である。
図1に示すように、この情報処理装置100は、データ拡張部151、ペナルティ項調整部152、損失関数評価部153、最適化部154を有する。
【0031】
情報処理装置100には、訓練データセット10a、訓練ラベル10b、摂動パラメータテーブル20、学習モデルm0が入力される。訓練データセット10aには、複数の訓練データが含まれる。訓練ラベル10bには、各訓練データに対する正解ラベルがそれぞれ設定される。
【0032】
摂動パラメータテーブル20には、摂動種類(回転、平行移動、拡大)と、パラメータ強度(摂動操作の度合い)とが設定される。本実施例の説明では、適宜、摂動種類と、パラメータ強度との組を、摂動パラメータと表記する。
図1に示す摂動パラメータテーブル20の例では、回転、平行移動、拡大に対する3種類の摂動パラメータが設定されている。
【0033】
学習モデルm0は、データ拡張を行っていない訓練データセット10aおよび訓練ラベル10bによって訓練された、訓練済みの学習モデルである。学習モデルm0は、たとえばDNNである。再訓練前の学習モデルを「m0」とし、再訓練後の学習モデルを「mC」と表記する。
【0034】
情報処理装置100のデータ拡張部151は、摂動パラメータテーブル20から、一つの摂動パラメータを選択する。データ拡張部151は、選択した摂動パラメータに応じた摂動操作を、訓練データセット10aの各訓練データに対して実行することで、入力データセットを生成する。データ拡張部151は、訓練データセット10aおよび入力データセットを、学習モデルmCに入力する。
【0035】
情報処理装置100のペナルティ項調整部152は、データ拡張部151によって選択された摂動パラメータを基にして、損失関数LCに含まれるペナルティ項Dの係数λ1,λ2を調整する。たとえば、情報処理装置100が利用する損失関数LCは、式(3)に示す関数である。式(3)において、「L」は、クロスエントロピー等の損失項である。D(m0)は、学習モデルm0で正解していた訓練データについて、ペナルティを与える項である。
【0036】
【0037】
たとえば、データ拡張前の訓練データを学習モデルm0に入力した際の分類結果と、データ拡張後の訓練データを学習モデルm0に入力した際の分類結果とが同じクラスに分類される場合、D(m0)=Lとなる。一方、データ拡張前の訓練データを学習モデルm0に入力した際の分類結果と、データ拡張後の訓練データを学習モデルm0に入力した際の分類結果とが同じクラスに分類されない場合、D(m0)=0となる。
【0038】
ペナルティ項調整部152が、係数λ1を調整する処理について説明する。ペナルティ項調整部152は、データ拡張部151によって選択された摂動パラメータに対応する摂動操作が画像の意味(正解ラベル)まで変える操作である場合には、係数λ1を「1」に設定する。一方、ペナルティ項調整部152は、データ拡張部151によって選択された摂動パラメータに対応する摂動操作が画像の意味まで変える操作でない場合には、係数λ1を「0」に設定する。
【0039】
具体的に、ペナルティ項調整部152は、データ拡張部151によって選択された摂動パラメータの摂動種類が「回転」である場合には、係数λ1を「1」に設定する。一方、ペナルティ項調整部152は、データ拡張部151によって選択された摂動パラメータに対応する摂動種類が「平行移動」または「拡大」である場合には、係数λ1を「0」に設定する。
【0040】
図2は、画像の意味が変わる摂動操作の一例を示す図である。摂動操作前の画像を画像Im2-1とする。画像Im2-1に摂動操作「回転=180°」を実行すると、画像Im2-2となる。画像Im2-1の意味は「6」であり、画像Im2-2の意味は「9」であるため、
図2に示す摂動操作は、画像の意味が変わる摂動操作である。
【0041】
なお、ペナルティ項調整部152は、参考文献(Shorten, C. and Khoshgoftaar, T. M., A Survey on Image Data Augmentation for Deep Learning, Journal of Big Data (2019))等に記されている観点を基準に、摂動操作後に画像のラベルが摂動操作前の画像のラベルと同じであるか否かを判定し、係数λ1の値を決定してもよい。ペナルティ項調整部152は、摂動操作後の画像のラベルが、摂動操作前の画像のラベルと同じでない場合には、係数λ1を「1」に設定する。ペナルティ項調整部152は、摂動操作後の画像のラベルが、摂動操作前の画像のラベルと同じ場合には、係数λ1を「0」に設定する。
【0042】
続いて、ペナルティ項調整部152が、係数λ2を調整する処理について説明する。ペナルティ項調整部152は、摂動操作前の訓練データと、摂動操作後の訓練データとの乖離具合に応じて、係数λ2を調整する。たとえば、ペナルティ項調整部152は、式(4)に基づいて、係数λ2を決定する。
【0043】
【0044】
式(4)において、「p」は、パラメータ強度である。「b」は、ベースラインである。max(|p-b|)は、摂動種類に応じた摂動操作の最大値である。摂動種類に対応する、ベースラインbおよびmax(|p-b|)は、ペナルティ項調整部152に予め設定される。ペナルティ項調整部152は、式(4)に示す、パラメータ強度p、ベースラインb、max(|p-b|)の値を、データ拡張部151によって選択された摂動パラメータの摂動種類に応じて設定し、係数λ2を決定する。
【0045】
図3は、摂動種類に対応する設定値の一例を示す図である。
図3では、参考として、摂動種類に対応するパラメータ強度pの一例もあわせて示す。
【0046】
たとえば、摂動種類「回転」に対応するベースラインは「b=0°」に設定される。摂動種類「回転」に対応するmax(|p-b|)は、「180°(あるいは360°)」に設定される。
【0047】
摂動種類「平行移動」に対応するベースラインは「b=0px」に設定される。摂動種類「平行移動」に対応するmax(|p-b|)は、「画像サイズ」に設定される。たとえば、画像サイズは、訓練データの画像サイズである。
【0048】
摂動種類「拡大」に対応するベースラインは「b=1.0」に設定される。摂動種類「拡大」に対応するmax(|p-b|)は、「現実的な値」が設定される。現実的な値は、事前に設定される値であり、想定される最大拡大倍率が設定される。
【0049】
ペナルティ項調整部152は、上記の処理を行うことで、損失関数LCに含まれるペナルティ項Dの係数λ1,λ2を決定し、係数λ1,λ2を、損失関数評価部153に出力する。
【0050】
図1の説明に戻る。情報処理装置100の損失関数評価部153は、式(3)に示した損失関数L
Cの値を算出する。たとえば、損失関数評価部153は、データ拡張後の入力データセットを学習モデルm
Cに入力した際の出力結果と訓練ラベル10bとのクロスエントロピー等を基にして、損失項Lの値を算出する。
【0051】
また、損失関数評価部153は、データ拡張前の訓練データセット10aを学習モデルmCに入力した際の第1分類結果と、データ拡張後の入力データセットを学習モデルmCに入力した際の第1分類結果とを算出する。損失関数評価部153は、第1分類結果と第2分類結果とが同じクラスに分類される場合には、D(m0)=Lとする。損失関数評価部153は、第1分類結果と第2分類結果とが同じクラスに分類されない場合には、D(m0)=0とする。
【0052】
損失関数評価部153は、上記処理により、損失項Lの値、ペナルティ項D(m0)の値を算出し、式(3)に基づいて、損失関数LCの値を算出する。
【0053】
情報処理装置100の最適化部154は、上述した損失関数評価部153によって算出される損失関数LCの値が最小化されるように、学習モデルmCのパラメータを調整する処理を繰り返し実行する(学習モデルmCを再訓練する)。情報処理装置100は、再訓練後の学習モデルmCを出力する。
【0054】
上記のように、本実施例に係る情報処理装置100は、摂動操作を行った入力データを用いて学習モデルを再訓練する場合に、摂動パラメータに応じて、ペナルティ項の係数λ1,λ2を調整することで、デグレードを抑止する。また、情報処理装置100によれば、再訓練によって、学習モデルmCの頑健性を向上させることもできる。
【0055】
図4は、情報処理装置の処理の実例を示す図である。情報処理装置100は、最初の訓練済みの学習モデルm
0にあるデータサンプル(訓練データ)12aを入力すると、学習モデルm
0から出力される分類結果が正解ラベル12bと一致し、正解となるものとする。
【0056】
情報処理装置100は、
図1で説明したように、あるデータサンプル12aに摂動操作を与えながら、再訓練を行う。たとえば、データ拡張部151は、摂動パラメータ「摂動種類=回転、パラメータ強度=45°」によって、データサンプル12aに摂動操作を加えることで、入力データ12a-1を生成する。
【0057】
データ拡張部151は、摂動パラメータ「摂動種類=拡大、パラメータ強度=1.2」によって、データサンプル12aに摂動操作を加えることで、入力データ12a-2を生成する。
【0058】
ペナルティ項調整部152は、摂動パラメータ「摂動種類=回転、パラメータ強度=45°」を基にして、「係数λ1=1,λ2=0.25」を決定する。
【0059】
ペナルティ項調整部152は、摂動パラメータ「摂動種類=拡大、パラメータ強度=1.2」を基にして、「係数λ1=0,λ2=0.05」を決定する。
【0060】
損失関数評価部153は、入力データ12a-1を用いて、再訓練を行う場合には、「係数λ1=1,λ2=0.25」を用いて、損失関数LCの値を算出する。損失関数評価部153は、入力データ12a-2を用いて、再訓練を行う場合には、「係数λ1=0,λ2=0.05」を用いて、損失関数LCの値を算出する。最適化部154は、損失関数の値が最小化されるように、学習モデルmCのパラメータを調整する。
【0061】
ここで、
図4に示すように、摂動パラメータ「摂種類=回転、パラメータ強度=45°」の方が、摂動パラメータ「摂動種類=拡大、パラメータ強度=1.2」よりも、D(m
0)に乗算される係数λ
1,λ
2(影響度)が大きくなっている。すなわち、学習モデルm
0で正解していたデータサンプルと同じ正解ラベルで、変化の大きい摂動(回転)が適用されても、オリジナルのデータサンプルと同じ結果を維持しようとする度合いが大きいといえ、デグレードの発生を抑止することができる。
【0062】
次に、
図1に示した情報処理装置100の構成例について説明する。
図5は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
図5に示すように、情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
【0063】
通信部110は、ネットワークを介して、外部装置等とデータ通信を実行する。通信部110は、訓練データセット10a、訓練ラベル10b、摂動パラメータテーブル20、学習モデルm0を外部装置等から受信してもよい。
【0064】
入力部120は、操作者による入力操作に対応して、制御部150に対して各種の情報を入力する。
【0065】
表示部130は、制御部150から出力される情報を表示する。
【0066】
記憶部140は、訓練データセット10a、訓練ラベル10b、摂動パラメータテーブル20、学習モデルm0、学習モデルmCを有する。
【0067】
訓練データセット10aは、複数の訓練データを有する。各訓練データは、画像データである。訓練ラベル10bには、各訓練データに対する正解ラベルがそれぞれ設定される。訓練データセット10a、訓練ラベル10bに関するその他の説明は、
図1で説明した訓練データセット10a、訓練ラベル10bに関すると同様である。
【0068】
摂動パラメータテーブル20は、摂動種類と、パラメータ強度とを対応付けて保持する。摂動パラメータテーブル20に関するその他の説明は、
図1で説明した摂動パラメータテーブル20に関する説明と同様である。
【0069】
学習モデルm0は、訓練データセット10aおよび訓練ラベル10bを基にして訓練された、学習モデル(訓練済みの学習モデル)である。
【0070】
学習モデルm
Cは、学習モデルm
0を再訓練することで得られる学習モデルである。たとえば、情報処理装置100は、
図1で説明した処理を実行することで、学習モデルm
Cを得る。なお、
図5では、学習モデルm
0と、学習モデルm
Cとを別々に示したが、学習モデルm
0のパラメータが再訓練によって更新された学習モデルが、学習モデルm
Cとなる。
【0071】
制御部150は、データ拡張部151、ペナルティ項調整部152、損失関数評価部153、最適化部154を有する。
【0072】
データ拡張部151は、摂動パラメータテーブル20から、一つの摂動パラメータを選択する。データ拡張部151は、選択した摂動パラメータに応じた摂動操作を、訓練データセット10aの各訓練データに対して実行することで、入力データセットを生成する。データ拡張部151は、訓練データセット10aおよび入力データセットを、学習モデルm
Cに入力する。データ拡張部151に関するその他の説明は、
図1で説明したデータ拡張部151に関する説明と同様である。
【0073】
ペナルティ項調整部152は、ペナルティ項調整部152は、データ拡張部151によって選択された摂動パラメータを基にして、損失関数L
Cに含まれるペナルティ項Dの係数λ
1,λ
2を調整する。ペナルティ項調整部152は、調整した係数λ
1,λ
2を、損失関数評価部153に出力する。ペナルティ項調整部152に関するその他の説明は、
図1で説明したペナルティ項調整部152に関する説明と同様である。
【0074】
損失関数評価部153は、式(3)に示した損失関数L
Cの値を算出し、算出結果を最適化部154に出力する。損失関数評価部153に関するその他の説明は、
図1で説明した損失関数評価部153に関する説明と同様である。
【0075】
最適化部154は、損失関数評価部153によって算出される損失関数L
Cの値が最小化されるように、学習モデルm
Cのパラメータを調整する。最適化部154に関するその他の説明は、
図1で説明した最適化部154に関する説明と同様である。
【0076】
情報処理装置100のデータ拡張部151、ペナルティ項調整部152、損失関数評価部153、最適化部154は、上記の処理を繰り返し実行することで、学習モデルm0を再訓練し、学習モデルmCを得る。
【0077】
次に、本実施例にかかる情報処理装置100の処理手順の一例について説明する。
図6は、本実施例に係る情報処理装置の処理手順を示すフローチャートである。
図6に示すように、情報処理装置100の制御部150は、epochの値を0に設定する(ステップS101)。
【0078】
情報処理装置100のデータ拡張部151は、摂動パラメータテーブル20から、摂動パラメータを選択する(ステップS102)。情報処理装置100のペナルティ項調整部152は、ペナルティ項調整処理を実行する(ステップS103)。
【0079】
データ拡張部151は、摂動パラメータに応じたで摂動操作を訓練データセット10aに適用し、入力データセットを生成する(ステップS104)。データ拡張部151は、学習モデルmCに、訓練データセット10aおよび入力データセットを入力する(ステップS105)。
【0080】
情報処理装置100の損失関数評価部153は、損失関数LCの値を計算する(ステップS106)。情報処理装置100の最適化部154は、損失関数LCの値が最小化するように、学習モデルmCのパラメータを最適化する(ステップS107)。
【0081】
制御部150は、epochの値に1を加算することで、epochの値を更新する(ステップS108)。制御部150は、epochの値が閾値よりも小さい場合には(ステップS109,Yes)、ステップS102に移行する。制御部150は、epochの値が閾値よりも小さくない場合には(ステップS109,No)、処理を終了する。
【0082】
次に、
図6のステップS103に示したペナルティ項調整処理の処理手順の一例について説明する。
図7は、ペナルティ項調整処理の処理手順を示すフローチャートである。
図7に示すように、情報処理装置100のペナルティ項調整部152は、データ拡張部151が選択した摂動パラメータを取得する(ステップS201)。
【0083】
ペナルティ項調整部152は、摂動パラメータの摂動種類を基にして、係数λ1を判定する(ステップS202)。ペナルティ項調整部152は、摂動パラメータのパラメータ強度を特定する(ステップS203)。
【0084】
ペナルティ項調整部152は、摂動パラメータの摂動種別に応じたベースラインbおよびmax(|p-b|)を特定する(ステップS204)。ペナルティ項調整部152は、式(4)を基にして、係数λ2を算出する(ステップS205)。ペナルティ項調整部152は、係数λ1,λ2を損失関数評価部153に出力する(ステップS206)。
【0085】
次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、摂動操作を行った入力データを用いて学習モデルを再訓練する場合に、摂動パラメータに応じて、ペナルティ項の係数λ1,λ2を調整することで、デグレードを抑止することができる。また、情報処理装置100によれば、再訓練によって、学習モデルmCの頑健性を向上させることもできる。
【0086】
情報処理装置100は、係数λ1を調整する場合に、摂動パラメータに対応する摂動操作が画像の意味(正解ラベル)まで変える操作である場合、係数λ1を「1」に設定する。一方、情報処理装置100は、摂動パラメータに対応する摂動操作が画像の意味を操作でない場合には、係数λ1を「0」に設定する。これによって、摂動操作が画像の意味まで変える操作(たとえば、回転)を行った入力データセットを用いて再訓練する場合のD(m0)の影響度を、より大きくすることができ、デグレードを抑止できる。
【0087】
情報処理装置100は、摂動操作前の訓練データと、摂動操作後の訓練データ(入力データ)との乖離具合に応じて、係数λ2を調整する。たとえば、情報処理装置100は、式(4)に基づいて、係数λ2を決定する。これによって、摂動操作による乖離具合のより大きい入力データを用いて再訓練する場合のD(m0)の影響度を、より大きくすることができ、デグレードを抑止できる。
【0088】
次に、上記実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図8は、実施例の情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0089】
図8に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行う通信装置204と、インタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
【0090】
ハードディスク装置207は、データ拡張プログラム207a、ペナルティ項調整プログラム207b、損失関数評価プログラム207c、最適化プログラム207dを有する。また、CPU201は、各プログラム207a~207dを読み出してRAM206に展開する。
【0091】
データ拡張プログラム207aは、データ拡張プロセス206aとして機能する。ペナルティ項調整プログラム207bは、ペナルティ項調整プロセス206bとして機能する。損失関数評価プログラム207cは、損失関数評価プロセス206cとして機能する。最適化プログラム207dは、最適化プロセス206dとして機能する。
【0092】
データ拡張プロセス206aの処理は、データ拡張部151の処理に対応する。ペナルティ項調整プロセス206bの処理は、ペナルティ項調整部152の処理に対応する。損失関数評価プロセス206cの処理は、損失関数評価部153の処理に対応する。最適化プロセス206dの処理は、最適化部154の処理に対応する。
【0093】
なお、各プログラム207a~207dについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207dを読み出して実行するようにしてもよい。
【0094】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0095】
(付記1)第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得し、
前記特定の摂動の程度に応じたパラメータを決定し、
前記第1の複数のデータと前記第2の複数のデータとを入力とし、前記第1の複数のデータに対する機械学習モデルの出力結果と前記第2の複数のデータに対する前記機械学習モデルの出力結果との比較結果と、前記比較結果の係数である前記パラメータとを含む損失関数に基づいて、前記機械学習モデルの訓練を実行する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【0096】
(付記2)前記パラメータを決定する処理は、前記特定の摂動の程度に応じた第1パラメータに加えて、前記摂動の種類に応じた第2パラメータを更に決定することを特徴とする付記1に記載の学習プログラム。
【0097】
(付記3)前記訓練を実行する処理は、前記比較結果の係数である前記第1パラメータと、前記比較結果の他の係数である前記第2パラメータとを含む前記損失関数に基づいて、前記機械学習モデルの訓練を実行することを特徴とする付記2に記載の学習プログラム。
【0098】
(付記4)前記摂動の種別には、回転、平行移動、拡大が含まれ、前記パラメータを決定する処理は、前記摂動の種別が回転の場合には、前記摂動の種類が平行移動または拡大の場合に決定される第2パラメータの値よりも大きな値の第2パラメータを決定することを特徴とする付記3に記載の学習プログラム。
【0099】
(付記5)第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得し、
前記特定の摂動の程度に応じたパラメータを決定し、
前記第1の複数のデータと前記第2の複数のデータとを入力とし、前記第1の複数のデータに対する機械学習モデルの出力結果と前記第2の複数のデータに対する前記機械学習モデルの出力結果との比較結果と、前記比較結果の係数である前記パラメータとを含む損失関数に基づいて、前記機械学習モデルの訓練を実行する、
処理をコンピュータが実行することを特徴とする学習方法。
【0100】
(付記6)前記パラメータを決定する処理は、前記特定の摂動の程度に応じた第1パラメータに加えて、前記摂動の種類に応じた第2パラメータを更に決定することを特徴とする付記5に記載の学習方法。
【0101】
(付記7)前記訓練を実行する処理は、前記比較結果の係数である前記第1パラメータと、前記比較結果の他の係数である前記第2パラメータとを含む前記損失関数に基づいて、前記機械学習モデルの訓練を実行することを特徴とする付記6に記載の学習方法。
【0102】
(付記8)前記摂動の種別には、回転、平行移動、拡大が含まれ、前記パラメータを決定する処理は、前記摂動の種別が回転の場合には、前記摂動の種類が平行移動または拡大の場合に決定される第2パラメータの値よりも大きな値の第2パラメータを決定することを特徴とする付記7に記載の学習方法。
【0103】
(付記9)第1の複数のデータと、第1の複数のデータに対して特定の摂動を加えて生成された第2の複数のデータとを取得し、
前記特定の摂動の程度に応じたパラメータを決定し、
前記第1の複数のデータと前記第2の複数のデータとを入力とし、前記第1の複数のデータに対する機械学習モデルの出力結果と前記第2の複数のデータに対する前記機械学習モデルの出力結果との比較結果と、前記比較結果の係数である前記パラメータとを含む損失関数に基づいて、前記機械学習モデルの訓練を実行する、
処理を実行する制御部を有する情報処理装置。
【0104】
(付記10)前記制御部が実行する前記パラメータを決定する処理は、前記特定の摂動の程度に応じた第1パラメータに加えて、前記摂動の種類に応じた第2パラメータを更に決定することを特徴とする付記9に記載の情報処理装置。
【0105】
(付記11)前記制御部が実行する前記訓練を実行する処理は、前記比較結果の係数である前記第1パラメータと、前記比較結果の他の係数である前記第2パラメータとを含む前記損失関数に基づいて、前記機械学習モデルの訓練を実行することを特徴とする付記10に記載の情報処理装置。
【0106】
(付記12)前記摂動の種別には、回転、平行移動、拡大が含まれ、前記制御部が実行する前記パラメータを決定する処理は、前記摂動の種別が回転の場合には、前記摂動の種類が平行移動または拡大の場合に決定される第2パラメータの値よりも大きな値の第2パラメータを決定することを特徴とする付記11に記載の情報処理装置。