JP7388566B2 - データ生成プログラム、方法及び装置 - Google Patents

データ生成プログラム、方法及び装置 Download PDF

Info

Publication number
JP7388566B2
JP7388566B2 JP2022545267A JP2022545267A JP7388566B2 JP 7388566 B2 JP7388566 B2 JP 7388566B2 JP 2022545267 A JP2022545267 A JP 2022545267A JP 2022545267 A JP2022545267 A JP 2022545267A JP 7388566 B2 JP7388566 B2 JP 7388566B2
Authority
JP
Japan
Prior art keywords
data
edge
nodes
node
graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022545267A
Other languages
English (en)
Other versions
JPWO2022044336A5 (ja
JPWO2022044336A1 (ja
Inventor
理史 新宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2022044336A1 publication Critical patent/JPWO2022044336A1/ja
Publication of JPWO2022044336A5 publication Critical patent/JPWO2022044336A5/ja
Application granted granted Critical
Publication of JP7388566B2 publication Critical patent/JP7388566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence

Description

本発明は、データ生成技術に関する。
機械学習の進展に伴って高性能の分類器が得られる一方で、分類結果が得られた理由や根拠を人間が検証することが困難になっている側面がある。1つの側面として、結果に対する説明責任が問われるミッションクリティカルな分野にディープラーニング等の機械学習が実行された機械学習モデルを適用するのに妨げになる場合がある。
例えば、分類結果が得られる理由や根拠を説明する技術の例として、機械学習モデルやデータの形式、機械学習モデルの構造に非依存であるLIME(Local Interpretable Model-agnostic Explainations)と呼ばれるアルゴリズムが提案されている。
LIMEでは、データxが入力された機械学習モデルfが出力する分類結果を説明する際、データxの近傍において機械学習モデルfの出力との間で出力が局所的に近似する線形回帰モデルgが機械学習モデルfを解釈可能なモデルとして生成される。このような線形回帰モデルgの生成には、データxの特徴量の一部を変動させることにより得られる近傍データzが用いられる。
Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin "Why Should I Trust You?"Explaining the Predictions of Any Classifier
しかしながら、上記のLIMEでは、近傍データを生成可能なデータ形式として、表や画像、テキストといった形式のデータしかサポートされていない。それ故、グラフデータの近傍データを作成する場合、オリジナルのグラフデータの特徴が損なわれた近傍データが生成される場合がある。このような近傍データを用いたとしても、線形回帰モデルを生成するのは困難であるので、グラフデータを入力とする機械学習モデルにLIMEを適用する妨げとなる。
1つの側面では、オリジナルのグラフデータの特徴が損なわれた近傍データが生成されることを低減できるデータ生成プログラム、データ生成方法及びデータ生成装置を提供することを目的とする。
一態様のデータ生成プログラムは、複数のノードと前記複数のノード間を接続する複数のエッジとを含むデータを取得し、前記複数のエッジから第1のエッジを選択し、前記第1のエッジの両端に位置する第1のノードと第2のノードとのうち少なくとも一方に閾値以下の数のエッジを介して接続する第3のノードが、前記第1のエッジの一端に位置するように前記第1のエッジの接続を変更することによって、前記データの前記複数のノード間の第1の接続関係と異なる前記複数のノード間の第2の接続関係を有する新しいデータを生成する、処理をコンピュータに実行させる。
オリジナルのグラフデータの特徴が損なわれた近傍データが生成されることを低減できる。
図1は、実施例1に係るサーバ装置の機能的構成の一例を示すブロック図である。 図2は、LIMEのアルゴリズムを模式的に示す図である。 図3は、近傍データの一例を示す図である。 図4は、近傍データの一例を示す図である。 図5は、近傍データの生成方法の一例を示す図である。 図6は、近傍データ生成の失敗事例を示す図である。 図7は、近傍データ生成の具体例を示す図である。 図8は、近傍データ生成の具体例を示す図である。 図9は、実施例1に係るデータ生成処理の手順を示すフローチャートである。 図10は、コンピュータのハードウェア構成例を示す図である。
以下に添付図面を参照して本願に係るデータ生成プログラム、データ生成方法及びデータ生成装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
図1は、実施例1に係るサーバ装置10の機能的構成の一例を示すブロック図である。図1に示すシステム1は、1つの側面として、説明対象とするオリジナルのグラフデータからLIMEの線形回帰モデルの生成に用いる近傍データを生成するデータ生成機能を提供するものである。なお、図1には、上記のデータ生成機能がクライアントサーバシステムで提供される例を挙げるが、この例に限定されず、スタンドアロンで上記のデータ生成機能が提供されることとしてもよい。
図1に示すように、システム1には、サーバ装置10と、クライアント端末30とが含まれ得る。サーバ装置10及びクライアント端末30は、ネットワークNWを介して通信可能に接続される。例えば、ネットワークNWは、有線または無線を問わず、インターネットやLAN(Local Area Network)などの任意の種類の通信網であってよい。
サーバ装置10は、上記のデータ生成機能を提供するコンピュータの一例である。サーバ装置10は、データ生成装置の一例に対応し得る。一実施形態として、サーバ装置10は、上記のデータ生成機能を実現するデータ生成プログラムを任意のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置10は、上記のデータ生成機能をオンプレミスに提供するサーバとして実装することができる。この他、サーバ装置10は、SaaS(Software as a Service)型のアプリケーションとして実装することで、上記のデータ生成機能をクラウドサービスとして提供してもよい。
クライアント端末30は、上記のデータ生成機能の提供を受けるコンピュータの一例である。例えば、クライアント端末30には、パーソナルコンピュータなどのデスクトップ型のコンピュータなどが対応し得る。これはあくまで一例に過ぎず、クライアント端末30は、ラップトップ型のコンピュータや携帯端末装置、ウェアラブル端末などの任意のコンピュータであってよい。
上記の背景技術の欄で説明した通り、LIMEでは、データxが入力された機械学習モデルfが出力する分類結果を説明する際、データxの近傍において機械学習モデルfの出力との間で出力が局所的に近似する線形回帰モデルgが機械学習モデルfを解釈可能なモデルとして生成される。
図2は、LIMEのアルゴリズムを模式的に示す図である。図2には、あくまで一例として、2次元の特徴量空間が模式的に示されている。さらに、図2には、2次元の特徴量空間のうちクラスAに対応する領域が白地で示されると共に、クラスBに対応する領域がハッチングで示されている。さらに、図2には、オリジナルのデータxが太字の「+」で示されている。さらに、図2には、オリジナルのデータxからされた近傍データzを機械学習モデルfへ入力することにより得られたラベルがクラスAである近傍データzが「+」で示されている一方でラベルがクラスBである近傍データzが「●」で示されている。さらに、図2には、オリジナルのデータzおよび近傍データzが距離関数D(x,z)およびカーネル関数π(z)に入力されたサンプル重みπが「+」または「●」の大きさで表現されている。さらに、図2には、機械学習モデルfに近似された線形回帰モデルの回帰直線g(x)が破線で示されている。
あくまで一例として、LIMEのアルゴリズムでは、下記のステップS1~下記のステップS6の手順にしたがって機械学習モデルfの出力の説明が行われる。
S1:近傍データzの生成
S2:近傍データzの機械学習モデルfへの入力
S3:距離Dの算出
S4:サンプル重みπの算出
S5:線形回帰モデルgの生成
S6:偏回帰係数の計算
これを具体的に説明すると、オリジナルの入力インスタンスであるデータxの特徴量の一部を変動させることにより、特定のサンプル数、例えば100~10000といった規模で近傍データzが生成される(ステップS1)。このように生成された近傍データzを説明対象とする機械学習モデルfへ入力することにより機械学習モデルfの出力を得る(ステップS2)。例えば、タスクがクラス分類である場合、機械学習モデルから各クラスの予測確率が出力される。また、タスクがリグレッションである場合、数値に対応する予測値が出力される。その後、オリジナルのデータxおよび近傍データzを距離関数D(x,z)、例えばcos類似度やL2ノルムなどに入力することにより距離Dが得られる(ステップS3)。続いて、ステップS3で得られた距離Dをカーネル関数π(z)へ入力することによりサンプル重みπを得る(ステップS4)。その上で、近傍データの特徴量を説明変数とし、近傍データの出力を目的変数として、線形回帰モデルで近似することにより線形回帰モデルgが生成される(ステップS5)。例えば、Ridge回帰では、データxの近傍で機械学習モデルfおよび線形回帰モデルgの出力についての損失関数L(f,g,π)と線形回帰モデルgの複雑さΩ(g)との和を最小にする線形回帰モデルgを求める目的関数ξ(x)が解かれる。その後、線形回帰モデルgの偏回帰係数を計算することにより機械学習モデルfの出力への特徴量の寄与度が出力される(ステップS6)。
ステップS6で出力される特徴量の寄与度は、機械学習モデルの出力の理由や根拠を分析する側面で有用である。例えば、機械学習が実行されることにより得られた訓練済みの機械学習モデルが訓練データの偏りなどが一因となって生成される粗悪な機械学習モデルであるか否かを識別できる。これにより、粗悪な機械学習モデルがミッションクリティカルな領域で利用されるのを抑制できる。また、訓練済みの機械学習モデルの出力に誤りがある場合、当該誤りが出力された理由や根拠を提示できる。他の側面として、ステップS6で出力される特徴量の寄与度は、機械学習モデルやデータの形式、あるいは機械学習モデルの構造が異なる機械学習モデル同士を同一のルールで比較できる面で有用である。例えば、同一のタスクに用意された複数の訓練済みの機械学習モデルのうちいずれの訓練済みの機械学習モデルが本質的に優れているのかといった機械学習モデルの選定が可能となる。
ここで、上記の背景技術の欄で説明した通り、LIMEでは、近傍データを生成可能なデータ形式として、表や画像、テキストといった形式のデータをサポートするライブラリのAPI(Application Programming Interface)しか公開されていない。
このため、グラフデータの近傍データを作成する場合、オリジナルのグラフデータの特徴が損なわれた近傍データが生成される場合がある。このような近傍データを用いたとしても、説明対象とする機械学習モデルに近似する線形回帰モデルを生成するのは困難であるので、グラフデータを入力とする機械学習モデルにLIMEを適用する妨げとなる。
例えば、グラフデータを入力とする機械学習モデルの例として、GNN(Graph Neural Network)やグラフカーネル関数などが挙げられるが、これらGNNモデルやグラフカーネルモデルなどにLIMEを適用することが困難である。これらGNNモデルやグラフカーネルモデルのうち、GNNモデルには、GNNモデルへ入力されるグラフの各エッジがGNNモデルの出力に寄与する寄与度を出力するGNNExplainerを適用することも考えられる。ところが、GNNExplainerは、GNNモデルに特化した技術であるので、グラフカーネルモデルやその他の機械学習モデルへの適用は困難である。あらゆるタスクで決定的に性能が高い機械学習モデルが存在しない現状、適用可能なタスクが限定されるGNNExplainerは、スタンダードになり得ない。
以上のことから、本実施例に係るデータ生成機能は、グラフデータを入力とする機械学習モデルにも適用可能なLIMEの拡張を実現する側面から、オリジナルのグラフデータの特徴が損なわれた近傍データの生成の低減を実現する。
図3及び図4は、近傍データの一例を示す図である。図3及び図4には、図2に示す2次元の特徴量空間が示されている。さらに、図3には、線形回帰モデルgの生成に望ましい近傍データzが示される一方で、図4には、線形回帰モデルgの生成に望ましくない近傍データzが示されている。図3に示す近傍データzは、機械学習モデルfが入力を想定しているデータ、例えば機械学習モデルfの訓練時に用いられた訓練データの中に類似するものが存在するデータである。さらに、オリジナルのデータxの近傍に分布する近傍データzの割合も高い。このような近傍データzは、オリジナルのデータxの近傍においてクラスAおよびクラスBの識別境界を区別しやすいので、線形回帰モデルgの生成に向いている。一方、図4に示す近傍データzは、近傍データz1、z2およびz3に例示される通り、機械学習モデルfが入力を想定していないデータ、例えば機械学習モデルfの訓練時に用いられた訓練データの中に類似するものが存在しないデータが含まれる。さらに、オリジナルのデータxの近傍に分布する近傍データzの割合も低い。このような近傍データzは、オリジナルのデータxの近傍においてクラスAおよびクラスBの識別境界を区別しにくいので、線形回帰モデルgの生成に不向きである。
LIMEのAPIがサポートする表や画像、テキストといった形式のデータであれば、図3に示す近傍データzの生成が可能である。その一方で、LIMEのAPIがサポートしないグラフデータから図3に示す近傍データzを生成するのは困難であり、図4に示す近傍データzが生成されるのを抑制できない場合がある。
図5は、近傍データzの生成方法の一例を示す図である。図5には、グラフデータの表現方法のあくまで一例として、隣接行列が示されている。図5に示すように、隣接行列の要素を特徴量としてみなして表データ用のLIMEのAPIを適用する場合、隣接行列の要素の0または1の値をランダムに反転することにより、元の隣接行列とは異なる隣接行列を作成することはできる。
このようにグラフデータに他のデータ形式向けのLIMEのAPIを適用する場合、オリジナルのグラフの特徴が損なわれたデータが生成される可能性があり、これらは近傍データとは呼び難い。
図6は、近傍データ生成の失敗事例を示す図である。図6には、グラフデータに対する表データ向けのLIMEのAPIの適用によりオリジナルのグラフの特徴が損なわれた失敗事例が示されている。例えば、図6に示すグラフg1の例で言えば、LIMEのAPIの適用によりグラフg1からグラフg11が生成される場合、グラフg1が有する連結性が損なわれる。このように連結性が損なわれたグラフg11は、連結グラフの入力しか想定していない機械学習モデルにとってイレギュラなインスタンスとなる。例えば、化合物の分子構造を入力として分子のラベルを出力する訓練済みの機械学習モデルである場合、入力とするグラフデータの連結性が損なわれると、訓練データではあり得ない2つのグラフデータが入力されることになる。また、図6に示すグラフg2の例で言えば、LIMEのAPIの適用によりグラフg2からグラフg21が生成された場合、グラフg2が有する木構造が維持できなくなる。このように木構造でなくなったグラフg21は、木構造しか想定してしない機械学習モデルにとってイレギュラなインスタンスである。さらに、図6に示すグラフg3の例で言えば、LIMEのAPIの適用により、グラフg3が有するノードのうちハッチングで示された2つのノード間がエッジで接続されたグラフg31が生成される。これにより、グラフg31では、ハッチングで示された2つのノード間の距離が激減する。このようにノード間の距離が激減したグラフg31は、グラフg1の近傍データとは言い難い。
このようにオリジナルのグラフデータの特徴が損なわれた近傍データが生成されることを低減できるデータ生成機能を有するサーバ装置10の機能的構成について説明する。図1には、サーバ装置10が有する機能に対応するブロックが模式化されている。図1に示すように、サーバ装置10は、通信インタフェイス部11と、記憶部13と、制御部15とを有する。なお、図1には、上記のデータ生成機能に関連する機能部が抜粋して示されているに過ぎず、図示以外の機能部、例えば既存のコンピュータがデフォルトまたはオプションで装備する機能部がサーバ装置10に備わることとしてもよい。
通信インタフェイス部11は、他の装置、例えばクライアント端末30との間で通信制御を行う通信制御部の一例に対応する。あくまで一例として、通信インタフェイス部11は、LANカードなどのネットワークインターフェイスカードにより実現される。例えば、通信インタフェイス部11は、クライアント端末30から近傍データの生成またはLIMEアルゴリズムの実行に関するリクエストを受け付ける。また、通信インタフェイス部11は、近傍データやLIMEアルゴリズムの実行結果である特徴量の寄与度をクライアント端末30へ出力したりする。
記憶部13は、各種のデータを記憶する機能部である。あくまで一例として、記憶部13は、ストレージ、例えば内部、外部または補助のストレージにより実現される。例えば、記憶部13は、グラフデータ群13Gと、モデルデータ13Mとを記憶する。これらグラフデータ群13G及びモデルデータ13M以外にも、記憶部13は、上記のデータ生成機能の提供を受けるユーザのアカウント情報などの各種のデータを記憶することができる。
グラフデータ群13Gは、複数のノードと複数のノード間を接続する複数のエッジとを含むデータの集合である。例えば、グラフデータ群13Gに含まれるグラフデータは、機械学習モデルの訓練時に用いられる訓練データであってもよいし、訓練済みの機械学習モデルに入力される入力データであってもよい。また、グラフデータ群13Gに含まれるグラフデータは、隣接行列やテンソルなどの任意の形式であってよい。
モデルデータ13Mは、機械学習モデルに関するデータである。例えば、機械学習モデルがニューラルネットワークである場合、モデルデータ13Mには、機械学習モデルを形成する入力層、隠れ層及び出力層の各層のニューロンやシナプスなどの機械学習モデルの層構造を始め、各層の重みやバイアスなどの機械学習モデルのパラメータが含まれ得る。なお、モデルの機械学習が実行される前の段階では、機械学習モデルのパラメータの一例として、乱数により初期設定されたパラメータが記憶される一方で、モデルの機械学習が実行された後の段階では、訓練済みのパラメータが保存される。
制御部15は、サーバ装置10の全体制御を行う処理部である。例えば、制御部15は、ハードウェアプロセッサにより実現される。図1に示すように、制御部15は、取得部15Aと、選択部15Bと、生成部15Cと、LIME実行部15Dとを有する。
取得部15Aは、オリジナルのグラフデータを取得する。あくまで一例として、取得部15Aは、クライアント端末30から近傍データの生成またはLIMEアルゴリズムの実行に関するリクエストを受け付けた場合、処理を起動できる。この際、取得部15Aは、説明対象とするオリジナルのグラフデータや機械学習モデルの指定をクライアント端末30を介して受け付けることができる。この他、取得部15Aは、訓練中または訓練済みの機械学習モデルの出力、例えばラベルや数値が不正解である訓練データまたは入力データの中から自動的に選択することもできる。このように取得対象のオリジナルのグラフデータや機械学習モデルが識別された後、取得部15Aは、記憶部13に記憶されたグラフデータ群13Gのうち取得対象のオリジナルのグラフデータやモデルデータ13Mのうち所得対象の機械学習モデルを取得する。
選択部15Bは、オリジナルのグラフデータに含まれる複数のエッジから第1のエッジを選択する。ここで言う「第1のエッジ」とは、オリジナルのグラフデータに含まれる複数のエッジのうち変更対象とされるエッジのことを指す。1つの側面として、選択部15Bは、オリジナルのグラフデータが取得された場合、オリジナルのグラフGから第1のエッジeを選択する。その後、選択部15Bは、第1のエッジeの変更、すなわち削除および再配置が行われる度に、第1のエッジeの変更回数が閾値に達するまで、第1のエッジeの変更後の新しいグラフGから第1のエッジeを再選択する。このような閾値は、一例として、クライアント端末30からの指定、クライアント端末30により行われた設定または上記のデータ生成機能の開発者等により行われたシステム設定により定められる。あくまで一例として、オリジナルのグラフが10本のエッジを有するグラフであれば、閾値を1~5程度に設定することができる。このとき、上記の閾値が大きいほどオリジナルのグラフからの距離が大きい近傍データが生成されやすい一方で、上記の閾値が小さいほどオリジナルのグラフからの距離が小さい近傍データが生成されやすい。
生成部15Cは、第1のエッジの両端に位置する第1のノードと第2のノードとのうち少なくとも一方に閾値以下の数のエッジを介して接続する第3のノードが、第1のエッジの一端に位置するように第1のエッジの接続を変更する。これにより、オリジナルのグラフデータの複数のノード間の第1の接続関係と異なる複数のノード間の第2の接続関係を有する新しいグラフデータを生成する。
一実施形態として、生成部15Cは、第1のエッジeの両端の位置する第1のノードおよび第2のノードのうち少なくとも一方から最大でn(自然数)-hopまでの範囲に含まれる部分グラフPを作成する。続いて、生成部15Cは、部分グラフP内で第1のエッジeを削除する。そして、生成部15Cは、第1のエッジeの削除後の部分グラフPで連結しているノード同士をグルーピングする。その上で、生成部15Cは、部分グラフPのグループが複数であるか否かを判定する。
ここで、部分グラフPのグループが複数である場合、部分グラフPが連結グラフから非連結グラフへ変化したと識別できる。この場合、生成部15Cは、2つのグループに分かれた部分グラフPから互いを連結するノード同士を選択して当該ノード間に第1のエッジeを再配置する。一方、部分グラフPのグループが複数でない場合、部分グラフPが連結グラフから非連結グラフへ変化しておらず、部分グラフPのグループが1つのままであると識別できる。この場合、生成部15Cは、部分グラフP内に第1のエッジeをランダムに再配置する。なお、第1のエッジの再配置時には、第1のエッジeの削除が行われたノード間と同一のノード間への第1のエッジeの再配置を禁止する制約条件を設定することができる。
このような部分グラフPの操作が終了した後、生成部15Cは、オリジナルのグラフG,あるいはグラフG上で第1のエッジeの変更、すなわち削除および再配置を実行することで、第1のエッジeの変更後の新しいグラフGが得られる。このとき、第1のエッジeの変更回数が閾値に達すると、1つの近傍データzが完成する。
ここまでの説明では、1つの近傍データzが生成される例を挙げたが、特定のサンプル数、例えば100~10000の近傍データの集合Zが生成されるまで近傍データの生成を繰り返すことができる。例えば、オリジナルのグラフが10本のエッジを有するグラフであるとしたとき、閾値を「1」から「5」まで1つずつインクリメントしながら閾値「1」~「5」ごとに近傍データzの生成を特定の回数にわたって繰り返す。これにより、目的のサンプル数の近傍データを生成することとしてもよい。
LIME実行部15Dは、LIMEアルゴリズムを実行する。一実施形態として、LIME実行部15Dは、生成部15Cにより生成された近傍データzを取得する。これにより、図2を用いて説明したS1~S6のうちS1の処理を省略することができる。その後、LIME実行部15Dは、図2を用いて説明したS2~S6のうちS1の処理を実行した後に各特徴量の寄与度をクライアント端末30へ送信する。なお、ここでは、データ生成機能に対応するモジュールがパッケージ化されたLIMEのソフトウェアが制御部15により実行される例を挙げたが、必ずしもデータ生成機能はLIMEのソフトウェアにパッケージされずともよい。例えば、生成部15Cにより生成された近傍データzは、LIMEアルゴリズムを実行する外部の装置、サービス、あるいはソフトウェアに出力されることとしてもよい。
次に、近傍データz生成の具体例を説明する。図7及び図8は、近傍データz生成の具体例を示す図である。図7及び図8には、あくまで一例として、オリジナルのグラフに含まれる8本のエッジのうち2本のエッジを変更することにより1つの近傍データzを生成する例が示されている。さらに、図7及び図8には、ノードを円状で示されるとともに円の中にノードを識別する番号が記入されている。さらに、図7及び図8には、部分グラフに含まれるエッジが実線で示される一方で、部分グラフに含まれないエッジが破線で示されている。さらに、図7には、1回目の変更、すなわち削除および再配置が行われる第1のエッジeが太線で示されると共に、図8には、2回目の変更、すなわち削除および再配置が行われる第1のエッジeが太線で示されている。なお、図7及び図8では、部分グラフPを作成する範囲を探索するhop数がn=1であることとして説明を行う。
まず、1回目の変更では、図7に示すように、オリジナルのグラフG1の中から、ノード「1」及びノード「4」を接続するエッジが第1のエッジeとして選択される。この場合、第1のエッジeの両端に位置するノード「1」及び「4」のうち少なくとも一方から最大で1hopまでの範囲に含まれる部分グラフP1が作成される(ステップS11)。このような部分グラフP1には、第1のエッジeの一端に位置するノード「1」から1ホップ離れたノード「2」までの範囲が含まれると共に、第1のエッジeの他端に位置するノード「4」から1ホップ離れたノード「8」までの範囲が含まれる。
その後、部分グラフP1内で第1のエッジeが削除される(ステップS12)。続いて、第1のエッジeの削除後の部分グラフP1で連結しているノード同士がグルーピングされる(ステップS13)。この場合、ノード「1」およびノード「2」がグループGr1としてグループ化されると共に、ノード「4」およびノード「8」がグループGr2としてグループ化される。
ここでは、部分グラフP1のグループがGr1およびGr2の複数である。この場合、2つのグループGr1およびGr2に分かれた部分グラフP1から互いを連結するノード同士を選択して当該ノード間に第1のエッジeが再配置される(ステップS14)。例えば、第1のエッジeの削除が行われたノード「1」およびノード「4」の間と同一でなく、グループがGr1およびグループがGr2を連結するノード「2」およびノード「4」が選択される。そして、ノード「2」およびノード「4」の間に第1のエッジeが再配置される。
部分グラフP1の操作が終了した後、オリジナルのグラフG1上でノード「1」及びノード「4」を接続する第1のエッジeが削除されると共にノード「2」及びノード「4」を接続する第1のエッジeが再配置される。このように第1のエッジeの削除および再配置が実行されることで、第1のエッジeの変更後の新しいグラフG2が得られる。
次に、2回目の変更では、図8に示すように、新しいグラフG2の中から、ノード「2」及びノード「3」を接続するエッジが第1のエッジeとして選択される。この場合、第1のエッジeの両端に位置するノード「2」及び「3」のうち少なくとも一方から最大で1hopまでの範囲に含まれる部分グラフP2が作成される(ステップS21)。このような部分グラフP2には、第1のエッジeの一端に位置するノード「2」から1ホップ離れたノード「1」、「4」及び「5」までの範囲が含まれると共に、第1のエッジeの他端に位置するノード「3」から1ホップ離れたノード「6」までの範囲が含まれる。
その後、部分グラフP2内で第1のエッジeが削除される(ステップS22)。続いて、第1のエッジeの削除後の部分グラフP2で連結しているノード同士がグルーピングされる(ステップS23)。この場合、ノード「1」、ノード「2」、ノード「4」およびノード「5」がグループGr1としてグループ化されると共に、ノード「3」およびノード「6」がグループGr2としてグループ化される。
ここでは、部分グラフP2のグループがGr1およびGr2の複数である。この場合、2つのグループGr1およびGr2に分かれた部分グラフP2から互いを連結するノード同士を選択して当該ノード間に第1のエッジeが再配置される(ステップS24)。例えば、第1のエッジeの削除が行われたノード「2」およびノード「3」の間と同一でなく、グループがGr1およびグループがGr2を連結するノード「3」およびノード「5」が選択される。そして、ノード「3」およびノード「5」の間に第1のエッジeが再配置される。
部分グラフP2の操作が終了した後、新しいグラフG2上でノード「2」及びノード「3」を接続する第1のエッジeが削除されると共にノード「3」及びノード「5」を接続する第1のエッジeが再配置される(ステップS25)。これにより、第1のエッジeの変更回数が本例の閾値「2」に達するので、新しいグラフG3が近傍データG3として完成する。
次に、本実施例に係るサーバ装置10の処理の流れについて説明する。図9は、実施例1に係るデータ生成処理の手順を示すフローチャートである。この処理は、あくまで一例として、クライアント端末30から近傍データの生成またはLIMEアルゴリズムの実行に関するリクエストを受け付けた場合、起動できる。
図9に示すように、取得部15Aは、オリジナルのグラフデータを取得する(ステップS101)。その後、第1のエッジeの変更回数が閾値に達するまで、下記のステップS102から下記のステップS109までの処理が繰り返される。
すなわち、選択部15Bは、オリジナルのグラフGまたは新しいグラフGから第1のエッジeを選択する(ステップS102)。続いて、生成部15Cは、第1のエッジeの両端の位置する第1のノードおよび第2のノードのうち少なくとも一方から最大でn(自然数)-hopまでの範囲に含まれる部分グラフPを作成する(ステップS103)。
その後、生成部15Cは、部分グラフP内で第1のエッジeを削除する(ステップS104)。そして、生成部15Cは、第1のエッジeの削除後の部分グラフPで連結しているノード同士をグルーピングする(ステップS105)。その上で、生成部15Cは、部分グラフPのグループが複数であるか否かを判定する(ステップS106)。
ここで、部分グラフPのグループが複数である場合(ステップS106Yes)、部分グラフPが連結グラフから非連結グラフへ変化したと識別できる。この場合、生成部15Cは、2つのグループに分かれた部分グラフPから互いを連結するノード同士を選択して当該ノード間に第1のエッジeを再配置する(ステップS107)。
一方、部分グラフPのグループが複数でない場合(ステップS106No)、部分グラフPが連結グラフから非連結グラフへ変化しておらず、部分グラフPのグループが1つのままであると識別できる。この場合、生成部15Cは、部分グラフP内に第1のエッジeをランダムに再配置する(ステップS108)。
このような部分グラフPの操作が終了した後、生成部15Cは、オリジナルのグラフG,あるいはグラフG上で第1のエッジeの変更、すなわち削除および再配置を実行する(ステップS109)。これにより、第1のエッジeの変更後の新しいグラフGが得られる。このとき、第1のエッジeの変更回数が閾値に達すると、1つの近傍データzが完成する。
上述してきたように、本実施例に係るデータ生成機能は、オリジナルのグラフから1本のエッジを選択し、選択中のエッジの一端のノードと、選択中のエッジの両端のうち一方から閾値以下のホップ数に位置するノードとの接続に選択中のエッジを変更する。このため、連結性の維持、木構造の維持およびノード間の距離の激変を抑制できる。したがって、本実施例に係るデータ生成機能によれば、オリジナルのグラフの特徴が損なわれた近傍データが生成されることを低減できる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部15A、選択部15Bまたは生成部15Cをサーバ装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部15A、選択部15Bまたは生成部15Cを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置10の機能を実現するようにしてもよい。
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図10を用いて、実施例1及び実施例2と同様の機能を有するデータ生成プログラムを実行するコンピュータの一例について説明する。
図10は、コンピュータのハードウェア構成例を示す図である。図10に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110~180の各部はバス140を介して接続される。
HDD170には、図10に示すように、上記の実施例1で示した取得部15A、選択部15B及び生成部15Cと同様の機能を発揮するデータ生成プログラム170aが記憶される。このデータ生成プログラム170aは、図1に示した取得部15A、選択部15B及び生成部15Cの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170からデータ生成プログラム170aを読み出した上でRAM180へ展開する。この結果、データ生成プログラム170aは、図10に示すように、データ生成プロセス180aとして機能する。このデータ生成プロセス180aは、RAM180が有する記憶領域のうちデータ生成プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、データ生成プロセス180aが実行する処理の一例として、図9に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記のデータ生成プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
10 サーバ装置
11 通信インタフェイス部
13 記憶部
13G グラフデータ群
13M モデルデータ
15 制御部
15A 取得部
15B 選択部
15C 生成部
15D LIME実行部
30 クライアント端末

Claims (7)

  1. 複数のノードと前記複数のノード間を接続する複数のエッジとを含むデータを取得し、
    前記複数のエッジから第1のエッジを選択し、
    前記第1のエッジの両端に位置する第1のノードと第2のノードとのうち少なくとも一方に閾値以下の数のエッジを介して接続する第3のノードが、前記第1のエッジの一端に位置するように前記第1のエッジの接続を変更することによって、前記データの前記複数のノード間の第1の接続関係と異なる前記複数のノード間の第2の接続関係を有する新しいデータを生成する、
    処理をコンピュータに実行させることを特徴とするデータ生成プログラム。
  2. 前記生成する処理は、前記第1のエッジの両端に位置する第1のノードと第2のノードとのうち少なくとも一方に前記閾値以下の数のエッジを介して接続する第4のノードが、前記第1のエッジの他端に位置するように前記第1のエッジの接続を変更することによって、前記データの前記複数のノード間の第1の接続関係と異なる前記複数のノード間の第3の接続関係を有する新しいデータを生成する処理を含む、
    ことを特徴とする請求項1に記載のデータ生成プログラム。
  3. 前記第1の接続関係および前記第2の接続関係は、いずれも連結性を有する、
    ことを特徴とする請求項1に記載のデータ生成プログラム。
  4. 前記選択する処理は、前記生成する処理で接続が変更された回数が閾値に達するまで、前記新しいデータが生成される度に前記新しいデータに含まれる複数のエッジから新しい第1のエッジを選択する処理を含む、
    ことを特徴とする請求項1に記載のデータ生成プログラム。
  5. 前記新しいデータは、前記データを入力として推論を実行した機械学習モデルの推論結果を説明するための近似モデルの生成に用いられる、
    ことを特徴とする請求項1に記載のデータ生成プログラム。
  6. 複数のノードと前記複数のノード間を接続する複数のエッジとを含むデータを取得し、
    前記複数のエッジから第1のエッジを選択し、
    前記第1のエッジの両端に位置する第1のノードと第2のノードとのうち少なくとも一方に閾値以下の数のエッジを介して接続する第3のノードが、前記第1のエッジの一端に位置するように前記第1のエッジの接続を変更することによって、前記データの前記複数のノード間の第1の接続関係と異なる前記複数のノード間の第2の接続関係を有する新しいデータを生成する、
    処理をコンピュータが実行することを特徴とするデータ生成方法。
  7. 複数のノードと前記複数のノード間を接続する複数のエッジとを含むデータを取得し、
    前記複数のエッジから第1のエッジを選択し、
    前記第1のエッジの両端に位置する第1のノードと第2のノードとのうち少なくとも一方に閾値以下の数のエッジを介して接続する第3のノードが、前記第1のエッジの一端に位置するように前記第1のエッジの接続を変更することによって、前記データの前記複数のノード間の第1の接続関係と異なる前記複数のノード間の第2の接続関係を有する新しいデータを生成する、
    処理を実行する制御部を含むデータ生成装置。
JP2022545267A 2020-08-31 2020-08-31 データ生成プログラム、方法及び装置 Active JP7388566B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/032948 WO2022044336A1 (ja) 2020-08-31 2020-08-31 データ生成プログラム、方法及び装置

Publications (3)

Publication Number Publication Date
JPWO2022044336A1 JPWO2022044336A1 (ja) 2022-03-03
JPWO2022044336A5 JPWO2022044336A5 (ja) 2023-01-30
JP7388566B2 true JP7388566B2 (ja) 2023-11-29

Family

ID=80354933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022545267A Active JP7388566B2 (ja) 2020-08-31 2020-08-31 データ生成プログラム、方法及び装置

Country Status (4)

Country Link
US (1) US20230196129A1 (ja)
EP (1) EP4207007A4 (ja)
JP (1) JP7388566B2 (ja)
WO (1) WO2022044336A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020074787A1 (en) 2018-10-13 2020-04-16 IPRally Technologies Oy Method of searching patent documents
JP2020077299A (ja) 2018-11-09 2020-05-21 富士通株式会社 グラフ簡略化方法、グラフ簡略化プログラムおよび情報処理装置
JP2020113044A (ja) 2019-01-11 2020-07-27 富士通株式会社 データ拡張プログラム、データ拡張方法およびデータ拡張装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020074787A1 (en) 2018-10-13 2020-04-16 IPRally Technologies Oy Method of searching patent documents
JP2020077299A (ja) 2018-11-09 2020-05-21 富士通株式会社 グラフ簡略化方法、グラフ簡略化プログラムおよび情報処理装置
JP2020113044A (ja) 2019-01-11 2020-07-27 富士通株式会社 データ拡張プログラム、データ拡張方法およびデータ拡張装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Man Leung Wong, Wai Lam and Kwong Sak Leung,Using evolutionary programming and minimum description length principle for data mining of Bayesian networks,IEEE Transactions on Pattern Analysis and Machine Intelligence,1999年02月28日,vol. 21, no. 2,pp. 174-178,[online], [検索日 2015.01.22], インターネット:<URL: https://ieeexplore.ieee.org/document/748825>, <DOI: 10.1109/34.748825>
上田 祐彰,遺伝的ネットワークプログラミングを応用した状態遷移グラフの獲得,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2023年07月24日,Vol.103 No.243,pp.7-12

Also Published As

Publication number Publication date
US20230196129A1 (en) 2023-06-22
WO2022044336A1 (ja) 2022-03-03
EP4207007A1 (en) 2023-07-05
JPWO2022044336A1 (ja) 2022-03-03
EP4207007A4 (en) 2023-10-04

Similar Documents

Publication Publication Date Title
US10764370B2 (en) Hybrid cloud migration delay risk prediction engine
KR20180027326A (ko) 확장 가능한 멀티-스테이지 데이터 처리 시스템들에서의 효율적인 데이터 캐싱 관리
US20080168436A1 (en) System and method for matching multi-node software system provisioning requirements and capabilities using rough set theory
JP6903755B2 (ja) データ統合ジョブ変換
US20070220509A1 (en) System and method for deploying software based on matching provisioning requirements and capabilities
US9405922B2 (en) Computer-implemented method for role discovery and simplification in access control systems
CN112887437A (zh) 区块链交易处理方法、区块链节点和区块链
US20180218276A1 (en) Optimizing Application Performance Using Finite State Machine Model and Machine Learning
KR102215978B1 (ko) 블록체인망 상 비동기 분산 병렬형 앙상블 모델 학습 및 추론 시스템 및 그 방법
JP7388566B2 (ja) データ生成プログラム、方法及び装置
US7802228B2 (en) Systems and methods for varying software build properties using primary and supplemental build files
US7222149B2 (en) Ordering decision nodes in distributed decision making
JP2008225686A (ja) 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム
JP6958618B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP6119327B2 (ja) 重複データ管理装置、データ転送制御装置、データ転送制御システム、重複データ管理方法、データ転送制御方法、および、コンピュータ・プログラム
JP7396505B2 (ja) モデル生成プログラム、モデル生成方法及びモデル生成装置
US20060058991A1 (en) System and method for optimization process repeatability in an on-demand computing environment
JP7428006B2 (ja) システム構成導出装置、方法およびプログラム
Wang et al. Monte carlo tree search for task mapping onto heterogeneous platforms
JP6842436B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR101470695B1 (ko) 그리드 컴퓨팅 스케쥴링을 위한 생물지리학적 최적화 방법 및 시스템
JPH0844577A (ja) データ分割方法及びマルチプロセッサシステム
JP7235827B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6548209B2 (ja) 処理装置、処理方法、及び、プログラム
JP4825416B2 (ja) 差分ファイル生成プログラムおよび差分ファイル配信プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231030

R150 Certificate of patent or registration of utility model

Ref document number: 7388566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150