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

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

▶ KDDI株式会社の特許一覧

<>
  • 特許-学習装置、学習方法及び学習プログラム 図1
  • 特許-学習装置、学習方法及び学習プログラム 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-31
(45)【発行日】2022-02-08
(54)【発明の名称】学習装置、学習方法及び学習プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220201BHJP
【FI】
G06N20/00 130
【請求項の数】 5
(21)【出願番号】P 2019007927
(22)【出願日】2019-01-21
(65)【公開番号】P2020119091
(43)【公開日】2020-08-06
【審査請求日】2020-12-21
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】披田野 清良
(72)【発明者】
【氏名】清本 晋作
【審査官】今城 朋彬
(56)【参考文献】
【文献】特開2017-215647(JP,A)
【文献】米国特許出願公開第2017/0206551(US,A1)
【文献】披田野清良 ほか,攻撃者の条件を緩和した推薦システムに対するModel Inversion攻撃,コンピュータセキュリティシンポジウム2018論文集 [USB] ,日本,一般社団法人情報処理学会,2018年10月15日,第2018巻,pp.793-800
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00ー20/00
(57)【特許請求の範囲】
【請求項1】
評価行列をユーザ因子行列及びアイテム因子行列の積に分解する行列分解に基づく学習装置であって、
前記評価行列及び前記アイテム因子行列を固定したとき、前記評価行列、前記ユーザ因子行列及び前記アイテム因子行列をパラメータとする第1損失関数を最小化するように、前記ユーザ因子行列を導出する第1行列導出部と、
前記ユーザ因子行列及び前記アイテム因子行列を固定したとき、前記評価行列から所定数の行を除いた部分評価行列、及び前記ユーザ因子行列から前記所定数の行を除いた部分ユーザ因子行列、及び前記アイテム因子行列をパラメータとする第2損失関数を最小化するように、前記部分評価行列及び前記部分ユーザ因子行列を導出する第2行列導出部と、
前記部分評価行列及び前記部分ユーザ因子行列を固定したとき、前記第2損失関数を最小化するように、前記アイテム因子行列を導出する第3行列導出部と、を備え、
前記第1行列導出部、前記第2行列導出部及び前記第3行列導出部による処理を、前記第2損失関数が収束するまで繰り返し実行する学習装置。
【請求項2】
前記第2損失関数は、前記第1損失関数のパラメータのうち、前記評価行列を前記部分評価行列に、前記ユーザ因子行列を前記部分ユーザ因子行列に置き換えたものである請求項1に記載の学習装置。
【請求項3】
前記第1損失関数は、前記評価行列と、前記ユーザ因子行列及び前記アイテム因子行列の積との差の2次のフロベニウスノルムである請求項2に記載の学習装置。
【請求項4】
評価行列をユーザ因子行列及びアイテム因子行列の積に分解する行列分解に基づく学習方法であって、
前記評価行列及び前記アイテム因子行列を固定したとき、前記評価行列、前記ユーザ因子行列及び前記アイテム因子行列をパラメータとする第1損失関数を最小化するように、前記ユーザ因子行列を導出する第1行列導出ステップと、
前記ユーザ因子行列及び前記アイテム因子行列を固定したとき、前記評価行列から所定数の行を除いた部分評価行列、及び前記ユーザ因子行列から前記所定数の行を除いた部分ユーザ因子行列、及び前記アイテム因子行列をパラメータとする第2損失関数を最小化するように、前記部分評価行列及び前記部分ユーザ因子行列を導出する第2行列導出ステップと、
前記部分評価行列及び前記部分ユーザ因子行列を固定したとき、前記第2損失関数を最小化するように、前記アイテム因子行列を導出する第3行列導出ステップと、
を前記第2損失関数が収束するまでコンピュータが繰り返し実行する学習方法。
【請求項5】
評価行列をユーザ因子行列及びアイテム因子行列の積に分解する行列分解に基づく学習プログラムであって、
前記評価行列及び前記アイテム因子行列を固定したとき、前記評価行列、前記ユーザ因子行列及び前記アイテム因子行列をパラメータとする第1損失関数を最小化するように、前記ユーザ因子行列を導出する第1行列導出ステップと、
前記ユーザ因子行列及び前記アイテム因子行列を固定したとき、前記評価行列から所定数の行を除いた部分評価行列、及び前記ユーザ因子行列から前記所定数の行を除いた部分ユーザ因子行列、及び前記アイテム因子行列をパラメータとする第2損失関数を最小化するように、前記部分評価行列及び前記部分ユーザ因子行列を導出する第2行列導出ステップと、
前記部分評価行列及び前記部分ユーザ因子行列を固定したとき、前記第2損失関数を最小化するように、前記アイテム因子行列を導出する第3行列導出ステップと、
を前記第2損失関数が収束するまでコンピュータに繰り返し実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データポイゾニングに耐性のある学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【0002】
教師あり学習に対する脅威の一つとして、訓練データに悪性データを混入するデータポイゾニング攻撃がある。本攻撃への対策としては、TRIMと呼ばれる学習アルゴリズムがある(例えば、非特許文献1参照)。
一般的な教師あり学習では、訓練データから入力と出力との対応関係を表すモデルを学習する際に、最適化問題を解くことで損失関数を最小化するモデルのパラメータを決定する。一方、TRIMでは、データポイゾニングの影響を最小限に抑えるために、悪性データが混入したN個の訓練データのうち正常な訓練データの数をn(<N)として最適化問題を解くことで、モデルのパラメータを決定する。具体的には、TRIMでは、交互最小化法により、訓練データとモデルのパラメータとを交互に最適化することで、N個の訓練データから損失関数を最小化するn個の訓練データを抽出しつつ、同時に損失関数を最小化するモデルのパラメータを決定する。
【先行技術文献】
【非特許文献】
【0003】
【文献】M. Jagielski et al., “Manipulating Machine Learning: Poisoning Attacks and Countermeasures for Regression Learning,” IEEE S&P 2018.
【発明の概要】
【発明が解決しようとする課題】
【0004】
行列分解ベースの協調フィルタリングでは、複数のユーザによるアイテムに対する評価行列を訓練データとし、損失関数を最小化するユーザ因子行列とアイテム因子行列とが潜在モデルとして導出される。協調フィルタリングに対するデータポイゾニング攻撃では、攻撃者が正規ユーザを装いながら不正にアイテムを評価することで、評価データに悪性データを混入する。このため、データポイゾニング攻撃への対策として、データ単位ではなく、ユーザ単位で悪性データを排除することが望まれる。
【0005】
前述のTRIMを行列分解ベースの協調フィルタリングに応用した場合、まず、n人のユーザを選択し、対応する評価行列を用いて、ユーザ因子行列とアイテム因子行列とを選択する。次いで、選択したユーザ因子行列とアイテム因子行列とを用いて、損失関数を最小化するn人のユーザを選択する。
しかしながら、一部のユーザの評価行列を用いて学習を行った場合、ユーザ因子行列は他のユーザの情報を含まない。また、行列分解の損失関数は、評価行列と、ユーザ因子行列及びアイテム因子行列の積との差のフロベニウスノルムで表される。したがって、ユーザ因子行列に含まれないユーザの評価データに対する損失度は計算されない。このため、TRIMでは損失関数を最小化するn人のユーザを効率的に求めることはできなかった。
【0006】
本発明は、行列分解の際に、データポイゾニングの影響を最小限に抑えられる学習装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る学習装置は、評価行列をユーザ因子行列及びアイテム因子行列の積に分解する行列分解に基づく学習装置であって、前記評価行列及び前記アイテム因子行列を固定したとき、前記評価行列、前記ユーザ因子行列及び前記アイテム因子行列をパラメータとする第1損失関数を最小化するように、前記ユーザ因子行列を導出する第1行列導出部と、前記ユーザ因子行列及び前記アイテム因子行列を固定したとき、前記評価行列から所定数の行を除いた部分評価行列、及び前記ユーザ因子行列から前記所定数の行を除いた部分ユーザ因子行列、及び前記アイテム因子行列をパラメータとする第2損失関数を最小化するように、前記部分評価行列及び前記部分ユーザ因子行列を導出する第2行列導出部と、前記部分評価行列及び前記部分ユーザ因子行列を固定したとき、前記第2損失関数を最小化するように、前記アイテム因子行列を導出する第3行列導出部と、を備え、前記第1行列導出部、前記第2行列導出部及び前記第3行列導出部による処理を、前記第2損失関数が収束するまで繰り返し実行する。
【0008】
前記第2損失関数は、前記第1損失関数のパラメータのうち、前記評価行列を前記部分評価行列に、前記ユーザ因子行列を前記部分ユーザ因子行列に置き換えたものであってもよい。
【0009】
前記第1損失関数は、前記評価行列と、前記ユーザ因子行列及び前記アイテム因子行列の積との差の2次のフロベニウスノルムであってもよい。
【0010】
本発明に係る学習方法は、評価行列をユーザ因子行列及びアイテム因子行列の積に分解する行列分解に基づく学習方法であって、前記評価行列及び前記アイテム因子行列を固定したとき、前記評価行列、前記ユーザ因子行列及び前記アイテム因子行列をパラメータとする第1損失関数を最小化するように、前記ユーザ因子行列を導出する第1行列導出ステップと、前記ユーザ因子行列及び前記アイテム因子行列を固定したとき、前記評価行列から所定数の行を除いた部分評価行列、及び前記ユーザ因子行列から前記所定数の行を除いた部分ユーザ因子行列、及び前記アイテム因子行列をパラメータとする第2損失関数を最小化するように、前記部分評価行列及び前記部分ユーザ因子行列を導出する第2行列導出ステップと、前記部分評価行列及び前記部分ユーザ因子行列を固定したとき、前記第2損失関数を最小化するように、前記アイテム因子行列を導出する第3行列導出ステップと、を前記第2損失関数が収束するまでコンピュータが繰り返し実行する。
【0011】
本発明に係る学習プログラムは、評価行列をユーザ因子行列及びアイテム因子行列の積に分解する行列分解に基づく学習プログラムであって、前記評価行列及び前記アイテム因子行列を固定したとき、前記評価行列、前記ユーザ因子行列及び前記アイテム因子行列をパラメータとする第1損失関数を最小化するように、前記ユーザ因子行列を導出する第1行列導出ステップと、前記ユーザ因子行列及び前記アイテム因子行列を固定したとき、前記評価行列から所定数の行を除いた部分評価行列、及び前記ユーザ因子行列から前記所定数の行を除いた部分ユーザ因子行列、及び前記アイテム因子行列をパラメータとする第2損失関数を最小化するように、前記部分評価行列及び前記部分ユーザ因子行列を導出する第2行列導出ステップと、前記部分評価行列及び前記部分ユーザ因子行列を固定したとき、前記第2損失関数を最小化するように、前記アイテム因子行列を導出する第3行列導出ステップと、を前記第2損失関数が収束するまでコンピュータに繰り返し実行させるためのものである。
【発明の効果】
【0012】
本発明によれば、行列分解の際に、データポイゾニングの影響を最小限に抑えられる。
【図面の簡単な説明】
【0013】
図1】実施形態に係る学習装置の機能構成を示すブロック図である。
図2】実施形態に係る学習装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態の一例について説明する。
本実施形態に係る学習方法では、悪性データが混入された評価行列をユーザ因子行列及びアイテム因子行列の積に行列分解することによる協調フィルタリングにおいて、悪性データの影響を抑制する。
なお、悪性データは、例えば全ユーザ数の20%等、所定の割合の悪性ユーザにより混入されているものと仮定して、この所定の割合の悪性ユーザによる評価データが全体から除去される。
【0015】
ここで、Mをm人の正規ユーザによるn個のアイテムに対する評価行列とする。Mi,jは、評価行列Mのi番目の行(ユーザ)のj番目の列(アイテム)の評価を示す。ただし、Mは疎な行列であり、評価が未観測な要素を含む。Ωを評価行列Mにおいて評価が観測された要素のインデックス集合とする。RΩ(A)は、行列Aが与えられたとき、(i,j)∈ΩであればAi,jを返し、そうでなければ0を返す関数とする。
【0016】
行列分解ベースの協調フィルタリングでは、例えば以下の式(1)又は式(2)に示すような最適化問題を解くことで、2次のフロベニウスノルムを最小化するm行k列のユーザ因子行列U、及びn行k列のアイテム因子行列Vが導出される。ただし、∥A∥は行列Aのフロベニウスノルムを示す。
min(U,V) ∥RΩ(M-UV)∥ ・・・(1)
min(U,V) ∥RΩ(M-UV)∥
+λ{∥U∥ +∥V∥ } ・・・(2)
【0017】
協調フィルタリングに対するデータポイゾニング攻撃では、攻撃者は、正規ユーザになりますし、攻撃目的に応じて不正にアイテムを評価し、学習システムに対して悪性な評価データを追加する。M’をm’人の悪性ユーザによるn個のアイテムに対する評価行列とする。Mを正規ユーザの評価行列Mに悪性ユーザの評価行列M’を加えた評価行列とする。
【0018】
を、評価行列Mから正規ユーザの想定人数であるm人のユーザの評価データを抽出した評価行列とする。また、Uを、Mに含まれるm人のユーザに対するユーザ因子行列とする。
本実施形態の学習方法では、例えば以下の式(3)に示す最適化問題を解くことで、データポイゾニングの影響を最小限にするパラメータU及びVを導出する。
min(M*,U*,V) ∥RΩ(M-U)∥ ・・・(3)
【0019】
図1は、本実施形態に係る学習装置1の機能構成を示すブロック図である。
学習装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
【0020】
制御部10は、学習装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
【0021】
記憶部20は、ハードウェア群を学習装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(学習プログラム)、入力される評価行列、及び処理途中の各種パラメータ(行列)値等を記憶する。
【0022】
制御部10は、第1行列導出部11と、第2行列導出部12と、第3行列導出部13とを備える。制御部10は、これらの機能部を繰り返し動作させることにより、評価行列Mに対して、悪性ユーザを除いた部分評価行列M及び部分ユーザ因子行列Uと、アイテム因子行列Vとを導出する。
【0023】
第1行列導出部11は、評価行列M及びアイテム因子行列Vを固定したとき、評価行列M、ユーザ因子行列U及びアイテム因子行列Vをパラメータとする第1損失関数(例えば、前述の式(1))を最小化するように、ユーザ因子行列Uを導出する。
なお、アイテム因子行列Vの初期値は、ランダムに決定されてよい。
【0024】
第2行列導出部12は、ユーザ因子行列U及びアイテム因子行列Vを固定したとき、評価行列Mから所定数(m’)の行を除いた部分評価行列M、及びユーザ因子行列Uから所定数(m’)の行を除いた部分ユーザ因子行列U、及びアイテム因子行列Vをパラメータとする第2損失関数(例えば、前述の式(3))を最小化するように、部分評価行列M及び部分ユーザ因子行列Uを導出する。
なお、第2損失関数は、第1損失関数のパラメータのうち、評価行列Mを部分評価行列Mに、ユーザ因子行列Uを部分ユーザ因子行列Uに置き換えたものであってよい。
【0025】
第3行列導出部13は、部分評価行列M及び部分ユーザ因子行列Uを固定したとき、第2損失関数を最小化するように、アイテム因子行列Vを導出する。
【0026】
制御部10は、第1行列導出部11、第2行列導出部12及び第3行列導出部13による処理を、第2損失関数が収束するまで繰り返し実行する。
【0027】
図2は、本実施形態に係る学習装置1の処理を示すフローチャートである。
学習装置1は、交互最小化手法を用いて前述の最適化問題を解くことで、UとVとを交互に最適化する。さらに、学習装置1は、Uを最適化する際にも交互最小化手法を用いて、U及び評価行列Mの最適化を同時に行う。
【0028】
ステップS1において、制御部10は、アイテム因子行列Vの初期値をランダムに決定する。
【0029】
ステップS2において、制御部10(第1行列導出部11)は、評価行列Mとアイテム因子行列Vとを固定し、第1損失関数∥RΩ(M-U)∥ を最小化するUを選択する。ただし、Uは(m+m’)行k列のユーザ因子行列である。
【0030】
ステップS3において、制御部10(第2行列導出部12)は、ユーザ因子行列Uとアイテム因子行列Vとを固定し、第2損失関数∥RΩ(M-U)∥ を最小化する部分評価行列Mと部分ユーザ因子行列Uとを選択する。
【0031】
ステップS4において、制御部10(第3行列導出部13)は、部分評価行列Mと部分ユーザ因子行列Uとを固定し、第2損失関数∥RΩ(M-U)∥ を最小化するアイテム因子行列Vを選択する。
【0032】
ステップS5において、制御部10は、第2損失関数∥RΩ(M-U)∥ の値が収束したか否かを判定する。この判定がYESの場合、処理は終了する。一方、判定がNOの場合、処理はステップS2に戻り、制御部10は、ステップS2からステップS4までの処理を第2損失関数∥RΩ(M-U)∥ の値が変化しなくなるまで繰り返す。
【0033】
この処理により第2損失関数∥RΩ(M-U)∥ が収束すると、部分評価行列Mと部分ユーザ因子行列Uが最適化され、元の評価行列Mから悪性と考えられるレコードが除去された部分評価行列Mと、この部分評価行列Mに対応する部分ユーザ因子行列Uが得られる。
【0034】
以上のように、本実施形態によれば、学習装置1は、評価行列を行列分解する際に、まず、全てのユーザに対してユーザ因子行列Uの最適化を行う。次に、学習装置1は、最適化した全てのユーザに対するユーザ因子行列Uを用いて損失関数を最小化するm人のユーザを選択し、部分ユーザ因子行列Uを導出する。続いて、学習装置1は、部分評価行列M及び部分ユーザ因子行列Uを用いてアイテム因子行列Vの最適化を行う。
学習装置1は、交互最小化法に基づくこれら一連の処理を繰り返すことにより、ユーザ因子行列とアイテム因子行列とを最適化すると共に、選択するユーザの最適化を同時に行う。
これにより、学習装置1は、行列分解の際に、データポイゾニングの影響を最小限に抑えられる。この結果、データポイゾニングに耐性のある行列分解ベースの協調フィルタリングが実現される。
【0035】
また、学習装置1は、第1損失関数と第2損失関数とを共通化することで処理を効率化できる。さらに、共通の損失関数として、評価行列(又は部分評価行列)と、ユーザ因子行列(又は部分ユーザ因子行列)及びアイテム因子行列の積との差の2次のフロベニウスノルムを用いることにより、学習装置1は、既存の行列分解及び協調フィルタリングのアルゴリズムを流用することができる。
【0036】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0037】
学習装置1による学習方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0038】
1 学習装置
10 制御部
11 第1行列導出部
12 第2行列導出部
13 第3行列導出部
20 記憶部
図1
図2