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

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

▶ KDDI株式会社の特許一覧

特開2024-29644評価用データ出力装置、評価用データ出力方法及び評価用データ出力プログラム
<>
  • 特開-評価用データ出力装置、評価用データ出力方法及び評価用データ出力プログラム 図1
  • 特開-評価用データ出力装置、評価用データ出力方法及び評価用データ出力プログラム 図2
  • 特開-評価用データ出力装置、評価用データ出力方法及び評価用データ出力プログラム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024029644
(43)【公開日】2024-03-06
(54)【発明の名称】評価用データ出力装置、評価用データ出力方法及び評価用データ出力プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240228BHJP
   G06F 21/57 20130101ALI20240228BHJP
【FI】
G06N20/00
G06F21/57 370
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022132013
(22)【出願日】2022-08-22
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】長谷川 健人
(72)【発明者】
【氏名】披田野 清良
(72)【発明者】
【氏名】福島 和英
(57)【要約】
【課題】強化学習を用いた推薦システムの安全性を適切に評価するためのデータを出力できる評価用データ出力装置を提供すること。
【解決手段】評価用データ出力装置1は、強化学習を用いた推薦システムの代理モデルを構成する代理モデル構成部11と、アイテムの特徴ベクトルを複数のクラスタに分類し、各クラスタの代表ベクトルを算出するクラスタリング部12と、状態ベクトルに対する累積報酬の期待値の勾配を算出する勾配算出部13と、勾配を用いて求めた期待値を低下させる状態ベクトルから評価用ベクトルを抽出する特徴ベクトル算出部14と、評価用ベクトルとの距離が最小となるクラスタを選択するクラスタ選択部15と、選択されたクラスタから評価用ベクトルとの距離が最小となるアイテムを選択するアイテム選択部16と、選択されたアイテムに相当する推薦システムにおけるアイテムを提示する出力部17と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
強化学習を用いた推薦システムの学習モデルに対応した代理モデルを、同一ドメインのアイテムからなるデータセットを用いて構成する代理モデル構成部と、
前記データセットに含まれる全てのアイテムの特徴ベクトルを、所定のクラスタリングアルゴリズムを用いて複数のクラスタに分類し、各クラスタに対して、要素の特徴ベクトルを代表する代表ベクトルを算出するクラスタリング部と、
前記代理モデルにおいて、少なくとも直近の所定数の選択アイテムの特徴ベクトルを含んだ現在の状態ベクトルを入力したときの、当該状態ベクトルに対する累積報酬の期待値の勾配を算出する勾配算出部と、
前記勾配を用いて、前記累積報酬の期待値を低下させるような状態ベクトルを求め、当該状態ベクトルから、直近の選択アイテムに相当する評価用ベクトルを抽出する特徴ベクトル算出部と、
前記複数のクラスタのうち、前記評価用ベクトルと前記代表ベクトルとの距離が最小となるクラスタを選択するクラスタ選択部と、
前記クラスタ選択部により選択されたクラスタに含まれる要素のうち、前記評価用ベクトルとの距離が最小となる特徴ベクトルに対応したアイテムを選択するアイテム選択部と、
前記アイテム選択部により選択されたアイテムに相当する前記推薦システムにおけるアイテムを提示する出力部と、を備える評価用データ出力装置。
【請求項2】
前記代表ベクトルは、前記要素の特徴ベクトルの重心である請求項1に記載の評価用データ出力装置。
【請求項3】
前記クラスタ選択部及び前記アイテム選択部は、ベクトル間の距離としてL2ノルムを用いる請求項1に記載の評価用データ出力装置。
【請求項4】
強化学習を用いた推薦システムの学習モデルに対応した代理モデルを、同一ドメインのアイテムからなるデータセットを用いて構成する代理モデル構成ステップと、
前記データセットに含まれる全てのアイテムの特徴ベクトルを、所定のクラスタリングアルゴリズムを用いて複数のクラスタに分類し、各クラスタに対して、要素の特徴ベクトルを代表する代表ベクトルを算出するクラスタリングステップと、
前記代理モデルにおいて、少なくとも直近の所定数の選択アイテムの特徴ベクトルを含んだ現在の状態ベクトルを入力したときの、当該状態ベクトルに対する累積報酬の期待値の勾配を算出する勾配算出ステップと、
前記勾配を用いて、前記累積報酬の期待値を低下させるような状態ベクトルを求め、当該状態ベクトルから、直近の選択アイテムに相当する評価用ベクトルを抽出する特徴ベクトル算出ステップと、
前記複数のクラスタのうち、前記評価用ベクトルと前記代表ベクトルとの距離が最小となるクラスタを選択するクラスタ選択ステップと、
前記クラスタ選択ステップにおいて選択されたクラスタに含まれる要素のうち、前記評価用ベクトルとの距離が最小となる特徴ベクトルに対応したアイテムを選択するアイテム選択ステップと、
前記アイテム選択ステップにおいて選択されたアイテムに相当する前記推薦システムにおけるアイテムを提示する出力ステップと、をコンピュータが実行する評価用データ出力方法。
【請求項5】
請求項1から請求項3のいずれかに記載の評価用データ出力装置としてコンピュータを機能させるための評価用データ出力プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、強化学習を用いた推薦システムにおけるポイズニング攻撃に対する安全性を評価するための装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来、商品又は動画等の推薦システムにおける推薦アルゴリズムとして、強化学習を利用する手法が提案されており、実サービスとしても利用されている。強化学習を利用することで、個々のユーザの嗜好に合わせて動的に、商品又は動画等のアイテムを提案することが可能となる。
【0003】
強化学習を用いたシステムでは、目的とする処理に応じた状態、行動、報酬が設定され、これらをもとに最適化アルゴリズムを用いて一連の行動軌跡が学習される。これにより、現在の状態から始めたときに累積の報酬が最大となるような行動軌跡を出力するモデルが構築される。
例えば、強化学習を用いた推薦システムにおいては、状態としてユーザの属性と過去の一定期間にわたって選択した項目とを含む情報を、行動として推薦する項目の情報を、報酬として推薦した項目が実際に利用者に適合していたことを示す閲覧数等の情報が割り当てられる。
【0004】
近年、機械学習を用いた推薦システムにおいて、悪意を持った利用者(攻撃者)が推薦システムに提示する項目を意図的に選択することで、特定の項目が推薦されやすくなるようにするポイズニング攻撃が指摘されている。例えば、非特許文献1では、多数の項目から効率的に攻撃目的を達成するため、完全二分木を用いたサンプリング手法が示されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】J. Song et al., "PoisonRec: An adaptive data poisoning framework for attacking black-box recommender systems," IEEE International Conference on Data Engineering (ICDE), 2020.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来手法による攻撃で用いられる二分木は、その構築の方法によっては非効率的な構造となり得る。また、ランダムな初期値をもとに構築された二分木からサンプリングにより提示する項目を選択するため、最適な項目が選択されるとは限らないという問題があった。
【0007】
本発明は、より効率的な攻撃を想定することで、強化学習を用いた推薦システムの安全性を適切に評価するためのデータを出力できる評価用データ出力装置、評価用データ出力方法及び評価用データ出力プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る評価用データ出力装置は、強化学習を用いた推薦システムの学習モデルに対応した代理モデルを、同一ドメインのアイテムからなるデータセットを用いて構成する代理モデル構成部と、前記データセットに含まれる全てのアイテムの特徴ベクトルを、所定のクラスタリングアルゴリズムを用いて複数のクラスタに分類し、各クラスタに対して、要素の特徴ベクトルを代表する代表ベクトルを算出するクラスタリング部と、前記代理モデルにおいて、少なくとも直近の所定数の選択アイテムの特徴ベクトルを含んだ現在の状態ベクトルを入力したときの、当該状態ベクトルに対する累積報酬の期待値の勾配を算出する勾配算出部と、前記勾配を用いて、前記累積報酬の期待値を低下させるような状態ベクトルを求め、当該状態ベクトルから、直近の選択アイテムに相当する評価用ベクトルを抽出する特徴ベクトル算出部と、前記複数のクラスタのうち、前記評価用ベクトルと前記代表ベクトルとの距離が最小となるクラスタを選択するクラスタ選択部と、前記クラスタ選択部により選択されたクラスタに含まれる要素のうち、前記評価用ベクトルとの距離が最小となる特徴ベクトルに対応したアイテムを選択するアイテム選択部と、前記アイテム選択部により選択されたアイテムに相当する前記推薦システムにおけるアイテムを提示する出力部と、を備える。
【0009】
前記代表ベクトルは、前記要素の特徴ベクトルの重心であってもよい。
【0010】
前記クラスタ選択部及び前記アイテム選択部は、ベクトル間の距離としてL2ノルムを用いてもよい。
【0011】
本発明に係る評価用データ出力方法は、強化学習を用いた推薦システムの学習モデルに対応した代理モデルを、同一ドメインのアイテムからなるデータセットを用いて構成する代理モデル構成ステップと、前記データセットに含まれる全てのアイテムの特徴ベクトルを、所定のクラスタリングアルゴリズムを用いて複数のクラスタに分類し、各クラスタに対して、要素の特徴ベクトルを代表する代表ベクトルを算出するクラスタリングステップと、前記代理モデルにおいて、少なくとも直近の所定数の選択アイテムの特徴ベクトルを含んだ現在の状態ベクトルを入力したときの、当該状態ベクトルに対する累積報酬の期待値の勾配を算出する勾配算出ステップと、前記勾配を用いて、前記累積報酬の期待値を低下させるような状態ベクトルを求め、当該状態ベクトルから、直近の選択アイテムに相当する評価用ベクトルを抽出する特徴ベクトル算出ステップと、前記複数のクラスタのうち、前記評価用ベクトルと前記代表ベクトルとの距離が最小となるクラスタを選択するクラスタ選択ステップと、前記クラスタ選択ステップにおいて選択されたクラスタに含まれる要素のうち、前記評価用ベクトルとの距離が最小となる特徴ベクトルに対応したアイテムを選択するアイテム選択ステップと、前記アイテム選択ステップにおいて選択されたアイテムに相当する前記推薦システムにおけるアイテムを提示する出力ステップと、をコンピュータが実行する。
【0012】
本発明に係る評価用データ出力プログラムは、前記評価用データ出力装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0013】
本発明によれば、より効率的な攻撃を想定した評価用データを出力することで、強化学習を用いた推薦システムの安全性を適切に評価できる。
【図面の簡単な説明】
【0014】
図1】実施形態における評価用データ出力装置の機能構成を示すブロック図である。
図2】実施形態におけるポイズニング攻撃を想定した評価用データを出力する手順を示すフローチャートである。
図3】実施形態における評価用データ出力方法を説明する図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態の一例について説明する。
本実施形態では、強化学習を用いた推薦システムに対するポイズニング攻撃を想定した安全性評価のために、この推薦システムの性能を低下させるようなユーザの行動とみなせる評価用データの出力を、勾配計算と、クラスタリングアルゴリズムを用いたアイテムの選択により実現する。
これにより、攻撃を想定した評価用データである選択アイテムに対して、推薦システムの耐性を検証、評価することを可能とする。
本実施形態では、次のような推薦システムを想定する。
【0016】
[強化学習]
強化学習は、ある環境におかれたエージェントが環境の状態を観測し、得られる報酬の合計を最大化するような方策を求めるアルゴリズムである。
マルコフ決定過程(S,A,T,r)でモデル化すると、Sは状態空間、Aは行動空間、Tは状態遷移確率関数(T:S×A×S→[0,1]、rは報酬(r:S×A→R(実数))である。
また、ある状態s∈Sにおいて、エージェントが出力する行動の確率分布π(・|s)を方策と呼ぶ。方策は、例えば多層のニューラルネットワーク等を用いて実装される。ニューラルネットワークのパラメータをθとすると、パラメータθが設定された方策はπθと表される。
【0017】
ここで、時刻tにおける状態及び行動をそれぞれs、aとおく。強化学習アルゴリズムでは、累積報酬の期待値Eπ[Σt=0 r(s,a)](以下、E)を最大化することで、最適な方策πが求められる。なお、ある行動を実行することをステップと数え、終端状態に到達するまでの一連のステップをエピソードと呼ぶ。
【0018】
[強化学習を用いた推薦システム]
強化学習を用いた推薦システムは、i番目のユーザの特徴ベクトルu、j番目の推薦対象のアイテムの特徴ベクトルxを用いてモデル化できる。本実施形態では、強化学習アルゴリズムにおける状態、行動、報酬を、次のように設定する。
【0019】
・状態:ユーザの特徴を示すベクトルであり、例えば、ユーザの属性を示す特徴ベクトルuと、過去τ回前までにユーザが選択したアイテムaτ,aτ-1,…aの特徴ベクトルとを結合したものであり、具体的には、
【数1】
である。
・行動:次に推薦するアイテムaである。
・報酬:状態s及び行動aを引数にとる報酬関数r(s,a)により定められる値である。例えば、状態sのとき行動aとして推薦されたアイテムをユーザが選択した場合に1、選択しなかった場合に0を返す関数であってよい。
【0020】
本実施形態の評価用データ出力装置は、このような強化学習を用いた推薦システムに対する入力として、従来よりも効率的で強力なポイズニング攻撃を想定した選択アイテムである評価用データを出力し、推薦システムの安全性評価のために提供する。
具体的には、本実施形態で想定するポイズニング攻撃は、推薦システムの性能を低下させるために、累積報酬の期待値Eを最小化する。
【0021】
図1は、本実施形態における評価用データ出力装置1の機能構成を示すブロック図である。
評価用データ出力装置1は、制御部10及び記憶部20の他、各種の入出力デバイス及び通信デバイス等を備えた情報処理装置(コンピュータ)である。
【0022】
制御部10は、評価用データ出力装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
【0023】
記憶部20は、ハードウェア群を評価用データ出力装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
【0024】
制御部10は、代理モデル構成部11と、クラスタリング部12と、勾配算出部13と、特徴ベクトル算出部14と、クラスタ選択部15と、アイテム選択部16と、出力部17とを備える。
【0025】
代理モデル構成部11は、強化学習を用いた推薦システムの学習モデルに対応した代理モデルを、同一ドメインのアイテムからなるデータセットを用いて構成する。
ここで、同一ドメインのアイテムとは、対象の推薦システムが扱っているアイテムと同種のアイテム、例えば動画の推薦システムなら動画データである。
なお、対象の推薦システムにおける学習モデルのパラメータ及びアイテムデータを取得できる場合、代理モデル構成部11は、これらをコピーして代理モデルを構成してもよい。
【0026】
クラスタリング部12は、データセットに含まれる全てのアイテムの特徴ベクトルを、所定のクラスタリングアルゴリズムを用いて複数のクラスタに分類し、各クラスタに対して、要素の特徴ベクトルを代表する代表ベクトルを算出する。
代表ベクトルは、例えば、特徴ベクトルの重心であってもよい。
【0027】
勾配算出部13は、代理モデルにおいて、少なくとも直近の所定数の選択アイテムの特徴ベクトルを含んだ現在の状態ベクトルを入力したときの、この状態ベクトルに対する累積報酬の期待値の勾配を算出する。
【0028】
特徴ベクトル算出部14は、算出された勾配を用いて、累積報酬の期待値を低下させるような状態ベクトルを求め、この状態ベクトルから、直近の選択アイテムに相当する評価用ベクトルを抽出する。
【0029】
クラスタ選択部15は、複数のクラスタのうち、評価用ベクトルと代表ベクトルとの距離が最小となるクラスタを選択する。
ベクトル間の距離は、Lpノルムが用いられてよく、ノルムの次元pは、例えば2であってよいが、これには限られず適宜選択されてよい。
【0030】
アイテム選択部16は、クラスタ選択部15により選択されたクラスタに含まれる要素のうち、評価用ベクトルとの距離が最小となる特徴ベクトルに対応したアイテムを選択する。
ベクトル間の距離は、クラスタ選択時と同様に、Lpノルムが用いられてよく、ノルムの次元pは、例えば2であってよいが、これには限られず適宜選択されてよい。
【0031】
出力部17は、アイテム選択部16により選択されたアイテムに相当する推薦システムにおけるアイテムを提示する。
【0032】
図2は、本実施形態におけるポイズニング攻撃を想定した評価用データを出力する手順を示すフローチャートである。
ここでは、まず、評価対象の推薦システムの代理となる同等の代理モデル及び代理データ(アイテム)が準備され、この代理モデルを用いて、攻撃を想定した評価用データ(アイテム)が選択される。
【0033】
ステップS1において、代理モデル構成部11は、攻撃を想定する対象の推薦システムが用いるデータセットDに対して、同じドメインのデータセットをDとして取得する。これを用いて、対象の推薦システムが使用しているモデルMの代理として構成する代理モデルMを学習する。
【0034】
ステップS2において、クラスタリング部12は、Dの全てのアイテムを、所定のクラスタリングアルゴリズムを用いることで複数(n個)のクラスタに分類する。このとき、クラスタリング部12は、各クラスタ内の要素の特徴ベクトルに対する代表的な値(例えば、重心ベクトル)として、c∈C(k∈[n])を算出する。
【0035】
ステップS3において、勾配算出部13は、代理モデルMに対して現在の状態ベクトルsを入力した場合の、状態sに対する累積報酬の期待値Eの勾配∇E(sに関する偏微分)を計算する。
【0036】
ステップS4において、特徴ベクトル算出部14は、定数εを用いて、期待値Eを低下させるような状態ベクトルs’=s-ε∇Eを得る。ただし、εは、十分に小さい正の実数である。
【0037】
ステップS5において、特徴ベクトル算出部14は、ステップS4で得られたs’から、直近に選択したアイテムに相当する値のみを取り出し、評価用の特徴ベクトルx’とする。
具体的には、特徴ベクトル算出部14は、例えば、状態sのうち、直前に選択したアイテムの特徴ベクトルに対応する要素だけが1、他が0であるマスクベクトルmを用いて、s’とmとの要素積をとり、mの要素のうち値が1である要素に対応するs’の値だけを取り出し、x’とする。
【0038】
ステップS6において、クラスタ選択部15は、クラスタの代表値c∈Cのうち、差分c-x’のLpノルムが最小となるkを選択する。
【0039】
ステップS7において、アイテム選択部16は、ステップS6で選択されたk番目のクラスタ内のアイテムak,i∈A(i∈[|A|])に関して、x’との差分のLpノルムが最小となる特徴ベクトルをもつアイテムa~を選択する。
【0040】
ステップS8において、出力部17は、評価対象の推薦システムにおいてa~と同様のアイテムを選択し、このアイテムを推薦システムに伝える。
【0041】
評価用データ出力装置1は、ステップS2~S8を、指定された回数繰り返すことにより、推薦システムに対するポイズニング攻撃を想定した一連の評価用データを出力する。
【0042】
図3は、本実施形態における評価用データ出力方法を説明する図である。
代理システムへの入力となる状態ベクトルsは、ユーザの特徴ベクトルuと、ユーザがi(1≦i≦τ)個前に選択した複数のアイテムの特徴ベクトルxとを連結したものとする。
この状態ベクトルsに対して、累積報酬の期待値を低下させるための状態ベクトルs’=s-ε∇Eが勾配計算により算出される。
【0043】
ここで、状態ベクトルsと対応づけて、直前に選択したアイテムaの特徴ベクトルxa1に対応する要素だけが1、他が0であるマスクベクトルmを用意すると、s’との要素積をとることにより、特徴ベクトルx’が得られる。
評価用データ出力装置1は、この特徴ベクトルx’に相当するアイテムを選択するが、データセット内には、同一の特徴ベクトルが存在するとは限らず、最も近い実際に存在するアイテムを選択する。
【0044】
このとき、評価用データ出力装置1は、まず、複数のクラスタのうち、最も距離の近いk番目のクラスタを選択した後、このクラスタ内で最も距離の近い特徴ベクトルxa~を探索する。
これにより、評価用データとしてのアイテムa~が選択される。
【0045】
本実施形態によれば、評価用データ出力装置1は、強化学習を用いた推薦システムに対してポイズニング攻撃を想定した選択アイテムを評価用データとして出力する。具体的には、評価用データ出力装置1は、まず、代理モデルを用いて累積報酬の期待値の勾配を求め、これを用いて、期待値を最小化するような方策を示す特徴ベクトルを得る。続いて、評価用データ出力装置1は、この特徴ベクトルに相当するアイテムを選択する際に、予めアイテムを複数のクラスタに分割しておくことで、アイテムの候補を絞り込み、最適なアイテムを選択する時間を短縮できる。
したがって、評価用データ出力装置1により効率的な攻撃を想定した評価用データを出力することで、強化学習を用いた推薦システムの安全性を適切に評価できる。
【0046】
なお、これにより、例えば推薦システムの安全性を適切に評価でき、攻撃耐性の向上が期待できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進すると共に、イノベーションの拡大を図る」に貢献することが可能となる。
【0047】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0048】
評価用データ出力装置1による評価用データ出力装置方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0049】
1 評価用データ出力装置
10 制御部
11 代理モデル構成部
12 クラスタリング部
13 勾配算出部
14 特徴ベクトル算出部
15 クラスタ選択部
16 アイテム選択部
17 出力部
20 記憶部
図1
図2
図3