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

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

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

<>
  • 特開-学習装置、学習方法、プログラム 図1
  • 特開-学習装置、学習方法、プログラム 図2
  • 特開-学習装置、学習方法、プログラム 図3
  • 特開-学習装置、学習方法、プログラム 図4
  • 特開-学習装置、学習方法、プログラム 図5
  • 特開-学習装置、学習方法、プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024090784
(43)【公開日】2024-07-04
(54)【発明の名称】学習装置、学習方法、プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240627BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022206890
(22)【出願日】2022-12-23
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】森 隼基
(57)【要約】
【課題】学習に用いた情報が漏洩してしまうこと。
【解決手段】本開示の学習装置100は、ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成する第1学習データ生成部121と、第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の相対的な大きさの差がより大きくなるよう設定した第2学習データを生成する第2学習データ生成部122と、第1学習データと第2学習データとを用いた機械学習により推論器を生成する学習部123と、を備える。
【選択図】図6

【特許請求の範囲】
【請求項1】
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成する第1学習データ生成部と、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成する第2学習データ生成部と、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する学習部と、を備えた学習装置。
【請求項2】
請求項1に記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データの目的変数であるベクトルの各要素の値を、予め設定された基準により他の要素と比較して大きな値の少なくとも1つの要素と他の要素との値の差がより大きくなるよう設定した前記第2学習データを生成する、
学習装置。
【請求項3】
請求項1に記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データの目的変数であるベクトルの各要素の値を、最も値の大きい要素の値が最も大きくなり、他の要素との値の差がより大きくなるよう設定した前記第2学習データを生成する、
学習装置。
【請求項4】
請求項1に記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データの目的変数であるベクトルの各要素の値を、最も値の大きい要素の値を0より大きい値に設定し、その他の要素の値を0に設定することで前記第2学習データを生成する、
学習装置。
【請求項5】
請求項1に記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データ生成部による前記第1学習データの目的変数であるベクトルを生成する際に用いるソフトマックス関数の温度パラメータの値を1より小さく設定することで、前記第2学習データを生成する、
学習装置。
【請求項6】
請求項1に記載の学習装置であって、
前記学習部は、前記第1学習データに対して予め設定された割合の前記第2学習データを用いた機械学習により前記推論器を生成する、
学習装置。
【請求項7】
請求項6に記載の学習装置であって、
前記第1学習データに対する前記第2学習データの前記割合を示すパラメータをαとし、
前記第1学習データでの機械学習での損失関数をL0とし、
前記第2学習データでの機械学習での損失関数をL1とした場合、
α=(1-α)L0+αL1
にて損失関数Lαを算出し、
前記損失関数Lαに基づいて、前記推論器を生成する、
学習装置。
【請求項8】
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成し、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成し、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する、
学習方法。
【請求項9】
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成し、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成し、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する、
処理をコンピュータに実行させるためのプログラム。


【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習装置、学習方法、プログラムに関する。
【背景技術】
【0002】
機械学習の分野において、蒸留と呼ばれる技術が知られている。蒸留は、一度学習した推論器の出力を目的変数として再度新たな推論器を学習し直すことであり、推論器を圧縮する技術である。蒸留には推論器を圧縮するだけでなく、機械学習の過学習を防ぐ効果もあることが特許文献1に記載されている。このため、蒸留を利用することで、過学習に対して機械学習の学習済みパラメータから学習に用いた秘密情報(例:顧客情報、企業秘密など)を抜き取るMembership Inference攻撃(MI攻撃)を防ぐことが可能である。MI攻撃は、あるデータが対象となる機械学習モデルの学習に用いられたものなのかそうでないのかを推測する攻撃である。
【先行技術文献】
【非特許文献】
【0003】
【特許文献1】特開2022-131601号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、蒸留によって学習を行った最終的な推論器は、MI攻撃に対して十分な耐性を持つが、学習途中の推論器は過学習してしまい、MI攻撃に対して脆弱であるという問題点がある。これは、蒸留前の推論器にデータを入力して得た出力を蒸留時の目的変数としても、十分に学習しきれていない学習中は、誤って元来の学習データにおける目的変数の方向に学習が進んでしまうためである。すると、学習途中のモデルを適宜アップロードしていくような状況や、学習中に外部からアクセスされる可能性のある状況では、学習中の推論器にMI攻撃を行われることで学習に用いた情報が漏洩してしまうおそれがある。
【0005】
このため、本開示の目的は、学習に用いた情報が漏洩してしまうという問題を解決することができる学習装置、学習方法、プログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示の一形態である学習装置は、
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成する第1学習データ生成部と、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成する第2学習データ生成部と、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する学習部と、を備えた、
という構成をとる。
【0007】
また、本開示の一形態である学習方法は、
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成し、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成し、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する、
という構成をとる。
【0008】
また、本開示の一形態であるプログラムは、
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成し、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成し、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する、
処理をコンピュータに実行させる、
という構成をとる。
【発明の効果】
【0009】
本開示は、以上のように構成されることにより、学習に用いた情報の漏洩を抑制することができる。
【図面の簡単な説明】
【0010】
図1】本開示の実施形態1における学習システムの構成を示すブロック図である。
図2図1に開示した学習装置による処理の様子を示す図である。
図3図1に開示した学習装置による処理の様子を示す図である。
図4図1に開示した学習装置の動作を示すフローチャートである。
図5】本開示の実施形態2における学習装置のハードウェア構成を示すブロック図である。
図6】本開示の実施形態2における学習装置の構成を示すブロック図である。
【発明を実施するための形態】
【0011】
<実施形態1>
本開示の第1の実施形態を、図1乃至図4を参照して説明する。図1は、学習システムの構成を説明するための図であり、図2乃至図4は、学習システムの処理動作を説明するための図である。
【0012】
[構成]
本実施形態における学習システムは、学習データを用いて機械学習を行い、推論器を生成するものである。本実施形態では、例えば、学習システムは、入力されたデータを予め設定された分類に分類する推論器を生成するものである。但し、学習システムは、入力されたデータに対していかなる推論を行う推論器を生成してもよい。
【0013】
図1は、学習装置10を備えた機械学習システムの構成を示すブロック図である。学習装置10は、演算装置と記憶装置とを備えた1台又は複数台の情報処理装置にて構成される。そして、学習装置10は、図1に示すように、事前学習済み推論器記憶部11と、第1学習データ生成部12と、第2学習データ生成部13と、学習部14と、を備えている。事前学習済み推論器記憶部11は記憶装置により構成されており、第1学習データ生成部12と第2学習データ生成部13と学習部14とは、演算装置が記憶装置に格納された各機能を実現するためのプログラムを実行することにより実現することができる。また、学習装置10には、推論器の機械学習に用いる予め用意されたラベル無し学習データを記憶する記憶部30が接続されている。以下、各構成について説明する。
【0014】
事前学習済み推論器記憶部11は、事前にある機械学習方法により学習された推論器として、学習済み推論器を記憶している。ここで、推論器とは、入力データに対して推論を行う機械学習モデルである。つまり、推論器は、入力データに基づいて推論を行った時の推論結果を出力する。例えば、推論器は、画像分類を行う分類器とすることができる。この場合、推論器は、各クラスに該当する確率を示すスコアベクトルを出力する。一例として、推論器を関数Fとすると、入力データxに対するスコアベクトルは、F(x)=(F(x),F(x),・・・,F(x))、となる。なお、nは分類問題のクラス数である。
【0015】
図2に、推論器による推論の一例を示す。この図では、画像による動物の分類問題を例示しており、推論器によって推論されたスコアベクトルの概念図を示している。具体的には、動物の画像xを入力データとし、動物の種類を分類として、入力された動物の画像xに対応する各動物の種類に分類される確率をスコアベクトルとして推論している。例えば、図2におけるF(x)は、画像xが「犬」の画像である確率を表している。
【0016】
事前学習済み推論器記憶部11に記憶されている学習済み推論器の学習方法は任意であり、学習済み推論器は複数記憶されていてもよい。なお、学習済み推論器の学習に使用する学習データを事前学習データと呼ぶことにする。事前学習データは、複数のデータを含むデータ群であり、ラベル有り学習データあるいはラベル無し学習データが用いられる。ラベル有り学習データは、教師有り学習を行う場合に用いられる正解ラベル(教師データ)付きのデータ集合であり、複数の入力データ(説明変数)と、それぞれに対応付けられた正解ラベル(目的変数)と、からなる。ラベル無し学習データは、説明変数のみからなるデータである。なお、事前学習データがラベル有り学習データである場合には、学習装置10に接続されている記憶部30に記憶されているラベル無し学習データとは別のデータを用いたものであってもよく、あるいは、記憶部30に記憶されているラベル無し学習データに正解ラベルが付与されたデータであってもよい。
【0017】
そして、学習済み推論器に対して、上述したようにMembership Inference攻撃(MI攻撃)が行われうるという問題がある。MI攻撃とは、学習に使用されたデータと、学習に使用されていないデータと、に対するスコアベクトルの違いを利用することで、標的のデータが学習に使用されたか否かを推測する攻撃である。これによって学習データの情報が漏洩する恐れがある。例えば、ある企業が自身の顧客データを使ってある推論器を学習したとする。攻撃者がその推論器にアクセスし、自身の持つ個人のデータがその推論器の学習に使用されたことが推論できれば、その個人は企業の顧客であることが判明してしまう。また、MI攻撃はこのような例に限定されず、さらに別の攻撃が行われる可能性もある。
【0018】
本開示における学習装置10は、学習済みの推論器に対する上述したような攻撃に対応すべく、蒸留という技術を用いてさらなる推論器を生成することとしている。このため、学習装置10は、さらに以下の構成を備えている。
【0019】
第1学習データ生成部12は、予め用意されたラベル無し学習データに基づいて、蒸留に使用するための学習データである第1学習データを生成する。なお、ここで使用するラベル無し学習データは、学習装置10に接続された記憶部に予め記憶されていることとする。ラベル無し学習データは、事前学習データとは異なるデータであってもよく、事前学習データのうち目的変数が取り除かれた説明変数だけのデータであってもよい。このように第1学習データに基づいて機械学習を行うことで、MI攻撃に耐性があり、かつ推論精度の高い推論器が生成されることが知られている。
【0020】
例えば、第1学習データ生成部12は、事前学習データを使用して学習された1つの学習済み推論器に、事前学習データとは別のラベル無し学習データを説明変数として入力し、その際に出力される複数の要素の値からなるスコアベクトルを、入力したラベル無し学習データの目的変数として付加することで、目的変数が付加された第1学習データを生成する。つまり、第1学習データ生成部12は、(ラベル無し学習データ(説明変数),スコアベクトル(目的変数))といった第1学習データを生成する。
【0021】
また、第1学習データ生成部12は、複数の学習済み推論器を使用して第1学習データを生成することもできる。例えば、事前学習データをk個(kは2以上の整数)分割することで、kセットの分割データを生成し、事前学習データから1セットの分割データを除いたデータを用いた機械学習によりk個の学習済み推論器を生成し、事前学習済み推論器記憶部11に事前に記憶しておく。そして、第1学習データ生成部12は、ラベル無し学習データとして、事前学習データの目的変数を除いたものを利用し、事前学習済み推論器iの学習に使用されていないデータを説明変数とし、かかる説明変数に対して、事前学習済み推論器iによる出力であるスコアベクトルをラベル(目的変数)として付加する。こうして得られたkセットのデータを統合することで第1学習データを生成する。
【0022】
第2学習データ生成部13は、学習の推論器のMI攻撃に対する耐性を向上させるために、第1学習データと合わせて推論器の機械学習に用いられる第2学習データを生成する。第2学習データ生成部13は、第1学習データ生成部12で生成された第1学習データの目的変数であるスコアベクトルの要素の値を変更することで、第2学習データを生成する。ここで、第1学習データの目的変数は、学習済み推論器の出力ベクトルをそのまま利用しているため、ベクトルのある要素に局在しておらず、学習が収束していない学習途中には誤って正解ラベルの方向へ学習が進んでしまう。これを解消するために、第2学習データ生成部13では、第1学習データの目的変数を、ある要素の値が突出したベクトルに変更する。この際、第2学習データ生成部13は、第1学習データの目的変数の全ての要素の値を変換しても良いし、第1学習データの目的変数の一部のみの要素の値を変換しても良い。
【0023】
例えば、第2学習データ生成部13は、第1学習データの目的変数y=(y,・・・,y)を、下記数1式のように、最も値の大きい要素を「1」に、その他の要素を「0」に置き換えることで、目的変数y’=(y’,・・・,y’)を生成する。ただし、nは2以上の整数であり、現在考えている分類問題のクラス数を表している。
【数1】
【0024】
なお、第2学習データ生成部13は、第1学習データの目的変数のうち、最も大きい要素のみだけでなく、値の大きい上位m個(mは2以上の整数)の要素のみ有限の値(「0」より大きい値)にし、その他の要素を「0」に置き換えても良い。例えば、m=2の場合、2つの要素のみそれぞれ「0.5」に置き換え、その他の要素を「0」に置き換える。
【0025】
また、第1学習データの説明変数xに対する目的変数y=(y,・・・,y)は、ある推論器Fの出力として、y=(F(x),・・・,F(x))、と表されている。推論器Fは、最後にソフトマックス関数を適用するが、ソフトマックス関数を適用する前の入力xに対する推論器Fの出力をzとすると、温度パラメータTを導入することで、推論器Fの最終的な出力は、F(x)=softmax(z/T)、となる。第1学習データ生成部12では、通常T=1と設定する。第2学習データ生成部13は、この温度パラメータを1より小さくすることで、目的変数が最大の要素の値により局在したベクトルとなる第2学習データを生成することが出来る。この際、最も値の大きな要素以外の要素も、0ではない正の値を取る。
【0026】
ここで、上述した2種類の第2学習データ生成方法の概念図を図3に示す。図3の符号D1は、第1学習データの目的変数を示しており、符号D2-A,D2-Bは、第一学習データの目的変数から生成した第2学習データの目的変数の一例を示している。符号D2-Aは、第一学習データの目的変数のうち最も値の大きい要素を「1」に、その他の要素を「0」に置き換えて第2学習データを生成した例であり、符号D2-Bは、第一学習データの目的変数のうち最も値の大きい要素を最大値とし、その他の要素を0ではない正の値に置き換えて第2学習データを生成した例である。
【0027】
このように、第2学習データ生成部13は、第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の相対的な大きさの差がより大きくなるよう設定した第2学習データを生成する。また、換言すると、第2学習データ生成部13は、第1学習データの目的変数であるベクトルの各要素の値を、予め設定された基準(例えば上位m個)に従い、他の要素と比較して大きな値の少なくとも1つの要素と他の要素との値の差がより大きくなるよう設定した第2学習データを生成する。特に、第2学習データ生成部13は、望ましくは、第1学習データの目的変数であるベクトルの各要素の値を、最も値の大きい要素の値が最も大きくなり、他の要素との値の差がより大きくなるよう設定した第2学習データを生成する。一例として、第2学習データ生成部13は、第1学習データの目的変数であるベクトルの各要素の値を、最も値の大きい要素の値を0より大きい値、例えば、1に設定し、その他の要素の値を0あるいは0に近い値に設定することで、第2学習データを生成する。但し、第2学習データ生成部13の第2学習データ生成方法は、上述したような方法に限られない。
【0028】
学習部14は、第1学習データと第2学習データに基づいた機械学習により推論器を生成する。機械学習では、例えば、ディープラーニングモデルにおける各層のパラメータの最適化を行う。これにより、推論器が生成される。本実施形態では、第1学習データのみならず、上述した第2学習データも用いることで、学習中であってもMI攻撃に耐性のある推論器が生成される。
【0029】
例えば、学習部14は、第1学習データに対して第2学習データを使用する割合を表すパラメータαをあらかじめ設定する。αは、0以上1以下の実数である。第1学習データを使って学習する際の損失関数をL0とする。また、第2学習データを使って学習させる際の損失関数をLとする。例えば、学習部14は以下の数2式に基づいて損失関数Lαを算出する。
【数2】
【0030】
学習部14は、損失関数Lαに基づいて、機械学習を行う。すなわち、学習部14は損失関数Lαを小さくするように機械学習を行う。学習中の安全性を高めたい場合には、αを大きくする。逆に、αが0の場合は第2学習データを使用しないこととなるため、αは0より大きいことが望ましい。
【0031】
このように、本実施形態では、第2学習データ学習部13が、第1学習データ生成部12において、事前学習済み推論器記憶部11に記憶された推論器のスコアベクトルを利用することで生成された第1学習データの目的変数を、値が最大の要素により突出したベクトルに変換することで第2学習データを生成している。学習部14が、第1学習データの加えて第2学習データにも基づいて機械学習を行うことで、学習中にもMI攻撃に耐性のある方向へ学習を進めることが出来る。
【0032】
[動作]
次に、図4を参照して、本実施の形態にかかる学習方法について説明する。図4は、本実施形態における学習装置の動作を示すフローチャートである。
【0033】
まず、第1学習データ生成部12が、ラベル無し学習データに対して、事前学習済み推論器記憶部11に記憶された推論器のスコアベクトルをラベルとして付加することで、第1学習データを生成する(ステップS1)。
【0034】
次に、第2学習データ生成部13が、第1学習データの目的変数を、値が最大の要素により突出したベクトルに変換することで第2学習データを生成する(ステップS2)。具体的に、第2学習データ生成部13が、例えば、上述した数1式に基づいて、第1学習データの目的変数のうち、値が最大の要素を「1」に、それ以外の要素を「0」に設定した第2学習データを生成する。また、ソフトマックス関数の温度パラメータを1よりも低温に変更することで第2学習データを生成することもできる。
【0035】
最後に、学習部14が、第1学習データと第2学習データに基づいた機械学習により推論器を生成する。例えば、上述した数2式に基づいて算出された損失関数Lαを小さくするように機械学習を行う。
【0036】
このように、本実施形態では、第2学習データ生成部13が、第1学習データ生成部12において学習済み推論器のスコアベクトルを利用することで生成された第1学習データの目的変数を、少なくとも一部の要素間の値の相対的な大きさの差がより大きくなるよう設定して、例えば、値が最大の要素が他の要素に対してより突出したベクトルに変換することで第2学習データを生成している。そして、学習部14が、第1学習データの加えて第2学習データにも基づいて機械学習を行うことで、学習中にもMI攻撃に耐性のある方向へ学習を進めることが出来る。
【0037】
<実施形態2>
次に、本開示の第2の実施形態を、図5乃至図6を参照して説明する。図5乃至図6は、実施形態2における学習装置の構成を示すブロック図である。なお、本実施形態では、上述した実施形態で説明した学習装置の構成の概略を示している。
【0038】
まず、図5を参照して、本実施形態における学習装置100のハードウェア構成を説明する。学習装置100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
【0039】
なお、図5は、学習装置100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。また、情報処理装置は、上述したCPUの代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(TensorProcessingUnit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。
【0040】
そして、学習装置100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、図6に示す第1学習データ生成部121と第2学習データ生成部122と学習部123とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述した第1学習データ生成部121と第2学習データ生成部122と学習部123とは、かかる手段を実現させるための専用の電子回路で構築されるものであってもよい。
【0041】
上記第1学習データ生成部121は、ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成する。上記第2学習データ生成部122は、第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の相対的な大きさの差がより大きくなるよう設定した第2学習データを生成する。上記学習部123は、第1学習データと第2学習データとを用いた機械学習により推論器を生成する。
【0042】
本開示は、以上のように構成されることにより、学習済み推論器の出力であるベクトルを目的変数とした第1学習データから、その目的変数を少なくとも一部の要素間の値の相対的な大きさの差がより大きくなるよう設定して、例えば、値が最大の要素が他の要素に対してより突出したベクトルに変換することで第2学習データを生成している。そして、第1学習データの加えて第2学習データにも基づいて機械学習を行うことで、学習中にもMI攻撃に耐性のある推論器を生成することができ、情報の漏洩を抑制することができる。
【0043】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0044】
以上、上記実施形態等を参照して本開示を説明したが、本開示は、上述した実施形態に限定されるものではない。本開示の構成や詳細には、本開示の範囲内で当業者が理解しうる様々な変更をすることができる。また、上述した第1学習データ生成部121と第2学習データ生成部122と学習部123との機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
【0045】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本開示における学習装置、学習方法、プログラムの構成の概略を説明する。但し、本開示は、以下の構成に限定されない。
(付記1)
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成する第1学習データ生成部と、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成する第2学習データ生成部と、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する学習部と、を備えた学習装置。
(付記2)
付記1に記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データの目的変数であるベクトルの各要素の値を、予め設定された基準により他の要素と比較して大きな値の少なくとも1つの要素と他の要素との値の差がより大きくなるよう設定した前記第2学習データを生成する、
学習装置。
(付記3)
付記1又は2に記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データの目的変数であるベクトルの各要素の値を、最も値の大きい要素の値が最も大きくなり、他の要素との値の差がより大きくなるよう設定した前記第2学習データを生成する、
学習装置。
(付記4)
付記1乃至3のいずれかに記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データの目的変数であるベクトルの各要素の値を、最も値の大きい要素の値を0より大きい値に設定し、その他の要素の値を0に設定することで前記第2学習データを生成する、
学習装置。
(付記5)
付記1乃至4のいずれかに記載の学習装置であって、
前記第2学習データ生成部は、前記第1学習データ生成部による前記第1学習データの目的変数であるベクトルを生成する際に用いるソフトマックス関数の温度パラメータの値を1より小さく設定することで、前記第2学習データを生成する、
学習装置。
(付記6)
付記1乃至5のいずれかに記載の学習装置であって、
前記学習部は、前記第1学習データに対して予め設定された割合の前記第2学習データを用いた機械学習により前記推論器を生成する、
学習装置。
(付記7)
付記6に記載の学習装置であって、
前記第1学習データに対する前記第2学習データの前記割合を示すパラメータをαとし、
前記第1学習データでの機械学習での損失関数をL0とし、
前記第2学習データでの機械学習での損失関数をL1とした場合、
α=(1-α)L0+αL1
にて損失関数Lαを算出し、
前記損失関数Lαに基づいて、前記推論器を生成する、
学習装置。
(付記8)
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成し、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成し、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する、
学習方法。
(付記9)
ラベル無し学習データを学習済み推論器に入力することにより出力された複数の要素の値からなるベクトルを目的変数とした第1学習データを生成し、
前記第1学習データの目的変数であるベクトルの各要素の値を、少なくとも一部の要素間の値の大きさの差がより大きくなるよう設定した第2学習データを生成し、
前記第1学習データと前記第2学習データとを用いた機械学習により推論器を生成する、
処理をコンピュータに実行させるためのプログラム。
【符号の説明】
【0046】
10 学習装置
11 事前学習済み推論器記憶部
12 第1学習データ生成部
13 第2学習データ生成部
14 学習部
100 学習装置
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 第1学習データ生成部
122 第2学習データ生成部
123 学習部
図1
図2
図3
図4
図5
図6