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

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

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

特許7589804情報処理装置、変換方法およびプログラム
<>
  • 特許-情報処理装置、変換方法およびプログラム 図1
  • 特許-情報処理装置、変換方法およびプログラム 図2
  • 特許-情報処理装置、変換方法およびプログラム 図3
  • 特許-情報処理装置、変換方法およびプログラム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】情報処理装置、変換方法およびプログラム
(51)【国際特許分類】
   G06N 5/045 20230101AFI20241119BHJP
   G06N 3/048 20230101ALI20241119BHJP
   G06N 20/00 20190101ALI20241119BHJP
【FI】
G06N5/045
G06N3/048
G06N20/00
【請求項の数】 6
(21)【出願番号】P 2023515972
(86)(22)【出願日】2021-04-22
(86)【国際出願番号】 JP2021016289
(87)【国際公開番号】W WO2022224401
(87)【国際公開日】2022-10-27
【審査請求日】2023-07-14
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】三浦 尭之
(72)【発明者】
【氏名】長谷川 聡
【審査官】多賀 実
(56)【参考文献】
【文献】SMILKOV, Daniel et al.,"SmoothGrad: removing noise by adding noise",arXiv.org [online],arXiv:1706.03825v1,米国,Cornell University,2017年,[検索日 2021.05.28], インターネット:<URL: https://arxiv.org/pdf/1706.03825v1.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
機械学習モデルの推定結果を示す推定結果データと、前記推定結果を説明するための第一の説明データと、を取得する推定結果取得部と、
前記推定結果データに基づいて、前記第一の説明データを第二の説明データに変換する説明データ変換部と、を備え、
前記説明データ変換部は、前記推定結果データがバイアス項を含むか否かを判定し、前記バイアス項を含む場合には、前記第一の説明データを、摂動を含む前記第二の説明データに変換する、
情報処理装置。
【請求項2】
前記説明データ変換部は、前記バイアス項を含まない場合には、前記機械学習モデルに入力させたクエリデータにゼロ成分が含まれるか否かを判定し、前記ゼロ成分が含まれる場合には、前記第一の説明データを、前記摂動を含む前記第二の説明データに変換する、
請求項に記載の情報処理装置。
【請求項3】
前記機械学習モデルは、活性化関数がReLUであるニューラルネットワークである、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記第一の説明データは、IG(Integrated Gradient)による説明データであって、
前記第二の説明データは、VG(Vanilla Gradient)による説明データである、
請求項1からのいずれか1項に記載の情報処理装置。
【請求項5】
コンピュータが実行する変換方法であって、
機械学習モデルの推定結果を示す推定結果データと、前記推定結果を説明するための第一の説明データと、を取得するステップと、
前記推定結果データに基づいて、前記第一の説明データを第二の説明データに変換する説明データ変換ステップと、を備え、
前記説明データ変換ステップにおいて、前記推定結果データがバイアス項を含むか否かを判定し、前記バイアス項を含む場合には、前記第一の説明データを、摂動を含む前記第二の説明データに変換する、
変換方法。
【請求項6】
コンピュータを請求項1からのいずれか1項に記載の情報処理装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、変換方法およびプログラムに関する。
【背景技術】
【0002】
深層学習などの機械学習は様々な分野で活用されているが、計算過程が複雑であるため人間が理解するのが難しいという問題がある。そのため近年は機械学習の解釈性に関する取組みが盛んに行われている。
【0003】
画像分類などを行う深層学習モデルの説明には、その分類上重要だったピクセルをハイライトする「勾配ベースの説明」が用いられることが多い。勾配ベースの説明を行う技術として、Vanilla Gradient(VG)(非特許文献1)やIntegrated Gradient(IG)(非特許文献2)などが開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman. Deep inside convolutional networks:Visualising image classification models and saliency maps. arXiv preprint arXiv:1312.6034, 2013
【文献】Mukund Sundararajan, Ankur Taly, and Qiqi Yan. Axiomatic attribution for deep networks. In International Conference on Machine Learning, pp. 3319-3328. PMLR, 2017
【発明の概要】
【発明が解決しようとする課題】
【0005】
IG(第一の説明データ)とVG(第二の説明データ)を比較すると、IGの方が全体的な説明能力は優れているが、VGの方がシンプルな情報であるため、訓練済みモデルのモデルエクストラクション耐性の評価やデータフリーな知識蒸留(モデル圧縮技術の一種)においては利用価値が高い。そのため、IGによる説明がついた機械学習モデルの説明をVGに変換できるとモデルの利用者にとって便利であるが、従来、そのような技術はなかった。
【0006】
開示の技術は、機械学習モデルの説明として付与された第一の説明データを第二の説明データに変換することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術は、機械学習モデルの推定結果を示す推定結果データと、前記推定結果を説明するための第一の説明データと、を取得する推定結果取得部と、前記推定結果データに基づいて、前記第一の説明データを第二の説明データに変換する説明データ変換部と、を備え、前記説明データ変換部は、前記推定結果データがバイアス項を含むか否かを判定し、前記バイアス項を含む場合には、前記第一の説明データを、摂動を含む前記第二の説明データに変換する、情報処理装置である。


【発明の効果】
【0008】
機械学習モデルの説明として付与された第一の説明データを第二の説明データに変換することができる。
【図面の簡単な説明】
【0009】
図1】説明変換システムの機能構成図である。
図2】説明変換処理のアルゴリズムの一例を示す図である。
図3】説明変換処理の流れの一例を示すフローチャートである。
図4】情報処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態(本実施の形態)について説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0011】
本実施の形態に係る説明変換システム1は、情報処理装置10とサーバ装置20と、を備える。情報処理装置10とサーバ装置20とは、通信線などを介して通信可能に接続されている。
【0012】
情報処理装置10は、サーバ装置20にクエリデータを送信する。サーバ装置20は、受信したクエリデータに基づいて推定処理を実行し、推定結果データと第一の説明データを情報処理装置10に送信する。情報処理装置10は、受信した第一の説明データを第二の説明データに変換して出力する。
【0013】
第一の説明データは、Integrated Gradient(IG)(非特許文献2)によって推定結果データに付与された説明データである。また、第二の説明データは、Vanilla Gradient(VG)(非特許文献1)によって推定結果データに付与された説明データである。
【0014】
情報処理装置10は、クエリ送信部11と、推定結果取得部12と、説明データ変換部13と、出力部14と、を備える。
【0015】
クエリ送信部11は、ユーザの操作等に応じて、クエリデータをサーバ装置20に送信する。推定結果取得部12は、サーバ装置20から推定結果データと第一の説明データとを取得する。説明データ変換部13は、第一の説明データを第二の説明データに変換する。
【0016】
出力部14は、変換された第二の説明データを出力する。具体的には、出力部14は、第二の説明データを示す画像を画面に表示するか、または第二の説明データを他の機器等に送信する。
【0017】
サーバ装置20は、クエリ取得部21と、推定部22と、推定結果出力部23と、深層学習モデル24と、を備える。
【0018】
クエリ取得部21は、情報処理装置10からクエリデータを取得する。推定部22は、深層学習モデル24を用いて、クエリデータに対する推定処理を実行する。ここで、推定部22は、IGによって推定結果データに第一の説明データを付与する。推定結果出力部23は、推定結果データと第一の説明データとを情報処理装置10に出力する。
【0019】
深層学習モデル24は、機械学習モデルの一例である。深層学習モデル24は、例えば、活性化関数がReLU(Rectified Linear Unit)であるニューラルネットワークであるが、これに限られない。
【0020】
(情報処理装置の動作)
図2は、説明変換処理のアルゴリズムの一例を示す図である。情報処理装置10は、説明データ変換部13において、図2に示すアルゴリズムを用いて、第一の説明データを第二の説明データに変換する。
【0021】
図3は、説明変換処理の流れの一例を示すフローチャートである。
【0022】
図3は、図2に示すアルゴリズムを用いた処理の流れを示すフローチャートである。情報処理装置10のクエリ取得部21は、ユーザの操作等を受けると、クエリデータを送信する(ステップS101)。
【0023】
入力されるクエリデータは、
【0024】
【数1】
である。
【0025】
次に、推定結果取得部12は、推定結果データおよび第一の説明データを取得する(ステップS102)。推定結果データ(f)と、第一の説明データ(IG)は、
【0026】
【数2】
として表される。
【0027】
次に、説明データ変換部13は、推定結果データ(f)にバイアス項が含まれるか否かを判定する(ステップS103)。説明データ変換部13は、推定結果データ(f)にバイアス項が含まれると判定すると(ステップS103:Yes)、以下のように第二の説明データ(ans)を算出する(ステップS104)。
【0028】
=IG(x)
x=x+ε
g2=IG(x)
ans=(g2-g1)/ε
【0029】
ここで、εは、十分小さい摂動であって、
【0030】
【数3】
と表される。
【0031】
また、説明データ変換部13は、推定結果データ(f)にバイアス項が含まれないと判定すると(ステップS103:No)、xにゼロ成分が含まれるか否かを判定する(ステップS105)。
【0032】
説明データ変換部13は、xにゼロ成分が含まれないと判定すると(ステップS105:No)、以下のように第二の説明データ(ans)を算出する(ステップS106)。
【0033】
ans=IG(x)
ans=ans/x
【0034】
また、説明データ変換部13は、xにゼロ成分が含まれると判定すると(ステップS105:Yes)、以下のように第二の説明データ(ans)を算出する(ステップS107)。
【0035】
x=x+ε
ans=IG(x)
ans=ans/x
【0036】
ステップS104、S106またはS107に続いて、出力部14は、算出されたansを出力する(ステップS108)。
【0037】
深層学習モデル24が、例えば活性化関数がReLUであるニューラルネットワークである場合、局所線形性を有する。したがって、fにバイアス項がない場合は、IGとVGとの関係は、以下のようになる。
【0038】
【数4】
【0039】
また、fにバイアス項がある場合は、IGとVGとの関係は、十分小さいベクトルεによって、
【0040】
【数5】
と表される。
【0041】
上述した説明変換処理は、このような特徴を利用した処理である。説明変換処理の結果として出力される第二の説明データ(VG)は、以下、表1の通りとなる。
【0042】
【表1】
【0043】
(本実施の形態に係るハードウェア構成例)
情報処理装置10は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
【0044】
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0045】
図4は、上記コンピュータのハードウェア構成例を示す図である。図4のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0046】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0047】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0048】
本実施の形態に係る情報処理装置10によれば、第一の説明データを第二の説明データに変換する。これによって、ユーザは、第一の説明データと第二の説明データとを比較しながら、またはいずれかの適切な説明データによって、機械学習モデルの挙動を考察することができる。
【0049】
(実施の形態のまとめ)
本明細書には、少なくとも下記の各項に記載した情報処理装置、変換方法およびプログラムが記載されている。
(第1項)
機械学習モデルの推定結果を示す推定結果データと、前記推定結果を説明するための第一の説明データと、を取得する推定結果取得部と、
前記推定結果データに基づいて、前記第一の説明データを第二の説明データに変換する説明データ変換部と、を備える、
情報処理装置。
(第2項)
前記説明データ変換部は、前記推定結果データがバイアス項を含むか否かを判定し、前記バイアス項を含む場合には、摂動を含む前記第二の説明データに変換する、
第1項に記載の情報処理装置。
(第3項)
前記説明データ変換部は、前記バイアス項を含まない場合には、前記機械学習モデルに入力させたクエリデータにゼロ成分が含まれるか否かを判定し、前記ゼロ成分が含まれる場合には、前記摂動を含む前記第二の説明データに変換する、
第2項に記載の情報処理装置。
(第4項)
前記機械学習モデルは、活性化関数がReLUであるニューラルネットワークである、
第1項から第3項のいずれか1項に記載の情報処理装置。
(第5項)
前記第一の説明データは、IG(Integrated Gradient)による説明データであって、
前記第二の説明データは、VG(Vanilla Gradient)による説明データである、
第1項から第4項のいずれか1項に記載の情報処理装置。
(第6項)
コンピュータが実行する方法であって、
機械学習モデルの推定結果を示す推定結果データと、前記推定結果を説明するための第一の説明データと、を取得するステップと、
前記推定結果データに基づいて、前記第一の説明データを第二の説明データに変換するステップと、を備える、
変換方法。
(第7項)
コンピュータを第1項から第5項のいずれか1項に記載の情報処理装置における各部として機能させるためのプログラム。
【0050】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0051】
1 説明変換システム
10 情報処理装置
11 クエリ送信部
12 推定結果取得部
13 説明データ変換部
14 出力部
20 サーバ装置
21 クエリ取得部
22 推定部
23 推定結果出力部
24 深層学習モデル
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
図1
図2
図3
図4