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

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

▶ 株式会社日立製作所の特許一覧

特開2023-99932反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品
<>
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図1
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図2
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図3
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図4
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図5
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図6
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図7
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図8
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図9
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図10
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図11
  • 特開-反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023099932
(43)【公開日】2023-07-14
(54)【発明の名称】反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230707BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022000184
(22)【出願日】2022-01-04
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】呉 桐
(72)【発明者】
【氏名】柴原 琢磨
(72)【発明者】
【氏名】山下 泰穂
(57)【要約】
【課題】 ユーザが適切な反事実的推論を選択することを可能にするように柔軟性を高め、単一の構成で表形式データと画像データを取り扱うようにスケーラビリティーを提供することができる反事実的推論管理技術を提供する。
【解決手段】 データ特徴のセットを含む入力データのセットが所定の目標を達成するか否かを判定するように学習する分類部と、データ特徴のセットのサブセットが反事実的特徴へと変更されている変換済みデータのセットを生成するための反事実的推論部とを備える反事実的推論管理装置である。分類部は、変換済みデータのセットを処理して、それが所定の目標を達成するか否かを判定し、反事実的損失を計算する。反事実的推論部は、反事実的損失を減らし、所定の目標を達成する反事実的特徴を含む変換済みデータのセットを生成するように学習する。
【選択図】 図2
【特許請求の範囲】
【請求項1】
データ特徴のセットを含む入力データのセットが所定の目標を達成するか否かを判定するように学習された分類部と、
前記入力データのセットを処理することによって、前記データ特徴のセットのサブセットが前記入力データのセットに対する反事実的特徴へと変更された変換済みデータのセットを生成するための反事実的推論部と
を備える反事実的推論管理装置であって、
前記分類部は、前記反事実的推論部によって生成された前記変換済みデータのセットを処理して、前記変換済みデータのセットが所定の目標を達成するか否かを判定し、前記所定の目標を達成しない変換済みデータのセットのサブセットに関連づけられた反事実的損失値を計算し、
前記反事実的推論部は、前記反事実的損失値を減らし前記所定の目標を達成する反事実的特徴を含む第2の変換済みデータのセットを生成するように学習する、
ことを特徴とする反事実的推論管理装置。
【請求項2】
前記入力データのセットは、
数値的特徴のセット又はカテゴリー特徴のセットを含むデータ特徴のセットを含む表形式データのセット、又は
画像特徴のセットを含むデータ特徴のセットを含む画像データのセットを含む、
ことを特徴とする請求項1に記載の反事実的推論管理装置。
【請求項3】
前記入力データのセットが表形式データのセットを含むか画像データのセットを含むか否かを判定し、
前記入力データのセットが表形式データのセットを含むと判定した場合に、前記入力データのセットに対して表形式データ処理動作を実行し、
前記入力データのセットが画像データのセットを含むと判定した場合に、前記入力データのセットに対して画像処理動作を実行するように構成している前置処理部をさらに備えることを特徴とする、請求項2に記載の反事実的推論管理装置。
【請求項4】
前記前置処理部は、
前記表形式データ処理動作として、数値的特徴のセットに対して正規化を行い、カテゴリー特徴のセットに対してワンホットエンコードを実行する、
ことを特徴とする、請求項3に記載の反事実的推論管理装置。
【請求項5】
前記前置処理部は、
前記表形式データ処理動作として、前記数値的特徴のセットのサブセット又は前記カテゴリー特徴のセットのサブセットに対する変更を防ぐようにマスキング動作を実行する、
ことを特徴とする、請求項4に記載の反事実的推論管理装置。
【請求項6】
前記変換済みデータのセットの生成においては、
前記入力データのセットが表形式データのセットを含むと判定した場合に、前記表形式データのセットをエンコーダモデルを用いて処理することによって、前記表形式データのセットに対して次元削減した前記入力データのセットの潜在空間表現を生成し、
デコーダモデルを用いて前記潜在空間表現を処理することによって、前記データ特徴のセットのサブセットが前記表形式データのセットに対して反事実的特徴へと変更されている変換済みデータのセットを生成し、
前記変換済みデータのセットに対して統計分析を行うことによって、前記表形式データのセットのデータ特徴の間の相関を示しているクラスター結果のセットを生成する、
ことを特徴とする、請求項5に記載の反事実的推論管理装置。
【請求項7】
前記前置処理部は、
前記画像処理動作として、画素輝度変換及び幾何学的変換の一方又は双方を行う、
ことを特徴とする、請求項3に記載の反事実的推論管理装置。
【請求項8】
前記変換済みデータのセットの生成においては、
前記入力データのセットが前記画像データのセットを含むと判定した場合に、畳み込みレイヤーを含むエンコーダモデルを用いて前記画像データのセットを処理することによって、前記画像データのセットに対して次元削減した画像データのセットの潜在空間表現を生成し、
畳み込みレイヤーを含むデコーダモデルを用いて前記潜在空間表現を処理することによって、前記データ特徴のセットのサブセットが前記画像データのセットに対して反事実的特徴へと変更された変換済みデータのセットを生成する、
ことを特徴とする、請求項7に記載の反事実的推論管理装置。
【請求項9】
前記第2の変換済みデータのセット、前記第2の変換済みデータのセットを特徴づける第2のデータ特徴のセット、及び前記第2の変換済みデータのセットが前記所定の目標を達成するか否かを表す目標達成指標を含む反事実的推論結果を提示し、
前記第2の変換済みデータのセットの前記第2のデータ特徴のセットのサブセットを、ユーザによって選択される反事実的特徴のセットへと変更するようなユーザ入力を受信するように構成しているユーザインターフェース部を備える、
ことを特徴とする、請求項1に記載の反事実的推論管理装置。
【請求項10】
前記分類部を学習させるための学習データとして、前記反事実的推論結果を前記ユーザによって選択される反事実的特徴のセットとともに用いるように構成しているフィードバック部をさらに備える、
ことを特徴とする、請求項9に記載の反事実的推論管理装置。
【請求項11】
データ特徴のセットを含む入力データのセットが所定の目標を達成するか否かを判定するために分類部を学習させる工程と、
前記入力データのセットを反事実的推論部を用いて処理することによって、前記データ特徴のセットのサブセットが前記入力データのセットに対する反事実的特徴へと変更された変換済みデータのセットを生成する工程と、
前記分類部を用いて、前記変換済みデータのセットが前記所定の目標を達成するか否かを判定するように前記反事実的推論部によって生成された前記変換済みデータのセットを処理し、前記所定の目標を達成しない前記変換済みデータのセットのサブセットに関連づけられた反事実的損失値を計算する工程と、
前記反事実的損失値を減らし前記所定の目標を達成する反事実的特徴を含む第2の変換済みデータのセットを生成するように前記反事実的推論部を学習させる工程と、
を含むことを特徴とする反事実的推論管理方法。
【請求項12】
テストデータのセットを受信する工程と、
前記テストデータのセットが表形式データのセットを含むか画像データのセットを含むかを判定する工程と、
前記テストデータのセットが表形式データのセットを含むと判定した場合に、前記テストデータのセットに対して表形式データ処理動作を実行する工程と、
前記テストデータのセットが画像データのセットを含むと判定した場合に、前記テストデータのセットに対して画像処理動作を実行する工程と、
前記反事実的推論部を用いて前記テストデータのセットを処理することによって、前記所定の目標を達成する反事実的特徴を含む第3の変換済みデータのセットを生成する工程と、
グラフィカルユーザインターフェースを介してユーザに、前記第3の変換済みデータのセット、前記第3の変換済みデータのセットを特徴づける第3のデータ特徴のセット、及び前記第3の変換済みデータが前記所定の目標を達成するか否かを表す目標達成指標を提示する工程と、
前記グラフィカルユーザインターフェースを介して、前記第3の変換済みデータのセットの前記第3のデータ特徴のセットのサブセットを、ユーザによって選択される反事実的特徴のセットへと変更するようにユーザ入力を受信する工程と、
反事実的推論結果を前記ユーザによって選択される反事実的特徴のセットとともに用いて前記分類部を学習させる工程と、
を含むことを特徴とする請求項11に記載の反事実的推論管理方法。
【請求項13】
プログラム命令が記憶されたコンピュータが読み取り可能な記憶媒体を含む反事実的推論管理コンピュータプログラム製品であって、
前記コンピュータが読み取り可能な記憶媒体は、それ自体が一時的な信号ではなく、
前記プログラム命令は、
データ特徴のセットを含む入力データのセットが所定の目標を達成するか否かを判定するために分類部を学習させる工程と、
前記入力データのセットを反事実的推論部を用いて処理することによって、前記データ特徴のセットのサブセットが前記入力データのセットに対する反事実的特徴へと変更された変換済みデータのセットを生成する工程と、
前記分類部を用いて、前記変換済みデータのセットが前記所定の目標を達成するか否かを判定するように前記反事実的推論部によって生成された前記変換済みデータのセットを処理し、前記所定の目標を達成しない前記変換済みデータのセットのサブセットに関連づけられた反事実的損失値を計算する工程と、
前記反事実的損失値を減らし前記所定の目標を達成する反事実的特徴を含む第2の変換済みデータのセットを生成するように前記反事実的推論部を学習させる工程と、
を含む反事実的推論管理方法をプロセッサに実行させるようにプロセッサによって実行可能な反事実的推論管理コンピュータプログラム製品。
【請求項14】
前記反事実的推論管理方法は、
テストデータのセットを受信する工程と、
前記テストデータのセットが表形式データのセットを含むか画像データのセットを含むかを判定する工程と、
前記テストデータのセットが表形式データのセットを含むと判定した場合に、前記テストデータのセットに対して表形式データ処理動作を実行する工程と、
前記テストデータのセットが画像データのセットを含むと判定した場合に、前記テストデータのセットに対して画像処理動作を実行する工程と、
前記反事実的推論部を用いて前記テストデータのセットを処理することによって、前記所定の目標を達成する反事実的特徴を含む第3の変換済みデータのセットを生成する工程と、
グラフィカルユーザインタフェースを介してユーザに、前記第3の変換済みデータのセット、前記第3の変換済みデータのセットを特徴づける第3のデータ特徴のセット、及び前記第3の変換済みデータが前記所定の目標を達成するか否かを表す目標達成指標を提示する工程と、
グラフィカルユーザインタフェースを介して、前記第3の変換済みデータのセットの前記第3のデータ特徴のセットのサブセットを、ユーザによって選択される反事実的特徴のセットへと変更するようにユーザ入力を受信する工程と、
反事実的推論結果を前記ユーザによって選択される反事実的特徴のセットとともに用いて前記分類部を学習させるステップとをさらに含む、
ことを特徴とする、請求項13に記載の反事実的推論管理コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的には、反事実的推論管理装置、反事実的推論管理方法、及び反事実的推論管理コンピュータプログラム製品に関する。
【背景技術】
【0002】
機械学習モデルにおける進展によって、データ分析と予測能力が向上している。反事実的機械学習モデルは、意思決定シナリオにおける特定の入力と出力の間の因果関係を分析するために用いることができるツールの1つである。
【0003】
一般的には、反事実的機械学習(CFML)は、機械学習技術を用いて、特定のシナリオにおいて入力が変わっていたら何が起こり得るのかを識別することに関連する機械学習の分野のことを意味する。反事実的機械学習は、モデルによって特定の結果が返される理由についての推論と説明を提供するために役立つことがある。
【0004】
例として、CFML技術を活用できる領域として、ローン申請の領域がある。例えば、個人用のローン申請において、ローンを承認するか拒否するかを決定するために、機械学習分類子において申請者の情報(収入、学歴、年齢、婚姻状態のような特徴)が用いられることがある。申請者がローンを拒否された場合に、申請者は、将来的にローンが承認される可能性を高くするために何ができるかを知りたいと思うことがある。ここで、申請者を特徴づける入力特徴と結果の間の関係を分析し、将来的にローン申請が承認される可能性を高くするための提言を申請者に提供するために、反事実的機械学習技術を用いることができる。例として、「収入を10%増やすと申請が承認される可能性が高い」という提言を反事実的機械学習モデルが提供する場合がある。このように、CFML技術を用いることで、ユーザは様々な意思決定シナリオにおいて役立つ貴重な見識を得ることができる。
【0005】
従来、多くのCFML技術が提案されている。例えば、Mahajan他の文献(非特許文献1)は、「元のMLモデルと整合する解釈可能な説明を構築するために、入力に対する小さな摂動によってモデルの出力がどのように変わるかを示すような反事実的な例を提案している。この文献は、このような例における実行可能性の課題に取り組むことによって、反事実的説明の対象を拡張している。医療や金融のような重要な影響を与える領域におけるMLモデルの説明については、反事実的な例は、特徴入力の摂動が現実の世界で実行可能である場合にのみ、エンドユーザに役立つ。このような実行可能性の問題を、入力特徴の間の因果関係を維持するものとして説明し、(部分的に)構造的な因果モデルを用いて実行可能な反事実を生成する方法を提供する。実行可能性の制約を容易に表現することができない場合は、生成されたCFの例に対して実行可能性、すなわち、元の入力から候補CFの例に介入して実現できるか否か、のラベリングを人々がすることができる代替的な機構を検討する。このラベリングされた実行可能性データから学ぶために、人々がその出力とやりとりするにしたがって実行可能性のために最適化するCFの例を生成するための変更された可変的オートエンコーダ損失を提案する。ベイジアンネットワークと広く用いられている「成人収入」データのセットに対する我々の実験によって、我々の提案する方法が、既存の方法よりも実行可能性の制約をより良好に満たす反事実的説明を生成することができることがわかった。」ことを開示している。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Mahajan, Divyat, Chenhao Tan, and Amit Sharma. "Preserving causal constraints in counterfactual explanations for machine learning classifiers." arXiv preprint arXiv:1912.03277 (2019).
【発明の概要】
【発明が解決しようとする課題】
【0007】
非特許文献1は、変更された可変的オートエンコーダ損失を用いて、表形式データに関する反事実的な例を生成するための技術を開示している。具体的には、非特許文献1は、任意の反事実的生成方法に追加することができる因果的近接正則化を提案している。提案されている近接損失は、入力特徴の構造的因果モデル(SCM)によってモデル化されるような、特徴の間の因果関係に基づく。この損失は、部分的なSCM、又は特徴の間の単調な変化のような共通のユーナリ及びバイナリの制約から派生していることができる。
【0008】
しかし、非特許文献1に開示されている技術において、モデルに入力される特徴に対して増加又は減少させることのみが可能でなり、単調な関係(例えば、特徴1が増加すると特徴2が増加するもの)のみが考慮されて、異なる特徴の間の相関が考慮されない。また、非特許文献1は、様々な実行可能な提言の間でユーザが柔軟に選択することができるようにする手段を提供していない。最後に、非特許文献1は、表形式データに限定されており、画像データに適用することはできない。
【0009】
したがって、本開示の目的は、ユーザが適切な反事実的推論を選択することができるようにする柔軟性を高め、単一の構成で表形式データと画像データを処理するためのスケーラビリティーを与えるような、実行不可能な反事実的推論の排除を容易にするために、特徴の間の相関を考慮することができる反事実的推論管理装置、方法及びコンピュータプログラム製品を提供することである。
【課題を解決するための手段】
【0010】
本開示の1つの代表的な例は、データ特徴のセットを含む入力データのセットが所定の目標を達成するか否かを判定するように学習する分類部と、前記入力データのセットを処理することによって、前記データ特徴のセットのサブセットが前記入力データのセットに対する反事実的特徴へと変更された変換済みデータのセットを生成するための反事実的推論部とを備える反事実的推論管理装置に関し、前記分類部は、前記反事実的推論部によって生成された前記変換済みデータのセットを処理して、前記変換済みデータのセットが所定の目標を達成するか否かを判定し、前記所定の目標を達成しない変換済みデータのセットのサブセットに関連づけられた反事実的損失値を計算し、前記反事実的推論部は、前記反事実的損失値を減らし前記所定の目標を達成する反事実的特徴を含む第2の変換済みデータのセットを生成するように学習する。
【発明の効果】
【0011】
本開示によれば、ユーザが適切な反事実的推論を選択することができるように柔軟性を高め、単一の構成で表形式データと画像データを処理するためのスケーラビリティーを提供するような、実行不可能な反事実的推論の排除を容易にするために特徴の間の相関を考慮することができる反事実的推論管理装置、方法及びコンピュータプログラム製品を提供することが可能となる。
【0012】
上記の他の課題、構成及び効果も、本発明を実施するための実施形態についての下記の説明によって明確になる。
【図面の簡単な説明】
【0013】
図1図1は、本開示の実施形態を実行するための例示的なコンピューティングアーキテクチャを示しているブロック図である。
図2図2は、本開示の実施形態に係る反事実的推論管理装置の例示的な論理構成を示している図である。
図3図3は、本開示の実施形態に係る、表形式データに関する反事実的推論管理方法を示しているフローチャートである。
図4図4は、本開示の実施形態に係る、画像データに関する反事実的推論管理方法の全体的な流れを示しているフローチャートである。
図5図5は、本開示の実施形態に係る、表形式データに関する反事実的推論生成方法の詳細な流れを示しているフローチャートである。
図6図6は、本開示の実施形態に係る、画像データに関する反事実的推論生成方法の詳細な流れを示しているフローチャートである。
図7図7は、本開示の実施形態に係る、分類部及び反事実的推論部の学習プロセスの例を示している図である。
図8図8は、本開示の実施形態に係る、反事実的推論管理装置のフィードバックプロセスの例を示している図である。
図9図9は、本開示の実施形態に係る、マスク選択窓の例を示している図である。
図10図10は、本開示の実施形態に係る画像インポート窓の例を示している図である。
図11図11は、本開示の実施形態に係る、表形式データに関する反事実的推論結果表示の例を示している図である。
図12図12は、本開示の実施形態に係る、画像データの反事実的推論結果表示の例を示している図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について図面を参照して説明する。なお、本明細書に記載された実施形態は特許請求の範囲に係る発明を限定するものではなく、実施形態に関連して記載された要素及びその組み合わせの各々は本発明の態様を実施するために厳密に必要なものではないことを理解されたい。
【0015】
以下の説明及び関連する図面には、様々な態様が開示される。これらの態様は、本開示の範囲から逸脱しない範囲で、代替の態様に変更することができる。更に、本開示の関連する事項が不明瞭にならない範囲で、本開示の周知の要素を詳細に説明しないか、または省略することがある。
【0016】
本明細書では、「例示的な」及び/又は「例」という用語は「例、実例、または例示として示されている」ことを意味するために用いられる。本明細書で「例示的な」及び/又は「例」として本明細書で説明される任意の態様は必ずしも、他の態様よりも好ましい又は有利であると解釈されるべきではない。同様に、「本開示の態様」という用語は、本開示の全ての態様が特定の特徴、利点、又は動作モードを含むことを必要としない。
【0017】
更に、多くの態様は、例えば、コンピューティング装置の要素によって実行されるべき動作のシーケンスに関して説明される。本明細書で説明される様々な動作は、特定の回路(例えば、特定用途向け集積回路(ASIC))、1つまたは複数のプロセッサによって実行されるプログラム命令、又はその両方の組み合わせによって実行され得ることが認識されるのであろう。更に、本明細書に記載の動作のシーケンスは、実行時に関連するプロセッサに本明細書に記載の特徴を実行させるコンピュータ命令の対応するセットをその中に格納した任意の形態のコンピュータが読み取り可能な記憶媒体内で完全に具体化されるとみなすことができる。従って、本開示の様々な態様は、いくつかの異なる形態で具現化されてもよく、それらのすべては請求の範囲内の内容であると考えられている。
【0018】
図面を参照すると、図1は、本開示の様々な実施形態を実施するためのコンピュータシステム100の高レベルブロック図を示す。本明細書で開示される様々な実施形態の機構及び装置は、任意の適切なコンピューティングシステムに適用されてもよい。コンピュータシステム100の主要コンポーネントは、1つ以上のプロセッサ102、メモリ104、端末インターフェース112、ストレージインターフェース113、I/O(入出力)装置インターフェース114、及びネットワークインターフェース115を含む。これらのコンポーネントは、メモリバス106、I/Oバス108、バスインターフェース部109、及びI/Oバスインターフェース部110を介して、直接的又は間接的に通信可能に接続されてもよい。
【0019】
コンピュータシステム100は、本明細書ではプロセッサ102と総称される1つ又は複数の汎用プログラマブル中央処理装置(CPU)102A及び102Bを含んでもよい。ある実施形態では、コンピュータシステム100は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム100は単一のCPUシステムであってもよい。各プロセッサ102は、メモリ104に格納された命令を実行し、1つ以上のレベルのオンボードキャッシュを含んでもよい。
【0020】
ある実施形態では、メモリ104は、データ及びプログラムを記憶又はエンコードすするためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)を含んでもよい。ある実施形態では、メモリ104は、コンピュータシステム100の仮想メモリ全体を表し、コンピュータシステム100に結合された、またはネットワークを介して接続された他のコンピュータシステムの仮想メモリも含んでもよい。メモリ104は、概念的には単一のモノリシックエンティティと見なすことができるが、他の実施形態では、メモリ104は、キャッシュ及び他のメモリ装置からなる階層構造のような、より複雑な構成であってもよい。例えば、メモリは、複数レベルのキャッシュ内に存在し、これらのキャッシュは特徴によって更に分割されてもよい。従って、1つのキャッシュは命令を保持し、別のキャッシュは1つ以上のプロセッサによって使用される非命令データを保持してもよい。メモリは、いわゆるNUMA(non-uniform memory access)コンピュータアーキテクチャのいずれかで知られているように、更に分散され、異なるCPU又はCPUのセットに関連付けられてもよい。
【0021】
メモリ104は、本明細書で説明するように、データ転送を処理するための様々なプログラム、モジュール、及びデータ構造のすべて又は一部を格納することができる。例えば、メモリ104は、反事実的推論管理アプリケーション150を格納することができる。ある実施形態では、反事実的推論管理アプリケーション150は、プロセッサ102上で実行する命令またはステートメント、あるいはプロセッサ102上で実行して以下でさらに説明する特徴を実行する命令またはステートメントによって解釈される命令またはステートメントを含むことができる。実施形態では、反事実的推論管理アプリケーション150は、プロセッサ102上で実行される命令又は記述、もしくはプロセッサ102上で実行される命令又は記述によって解釈されて、後で説明する特徴を実行する命令または記述を含んでもよい。
ある実施形態では、反事実的推論管理アプリケーション150は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて半導体装置、チップ、論理ゲート、回路、回路カード、及び/又は他の物理ハードウェア装置を介してハードウェアで実装されてもよい。ある実施形態では、反事実的推論管理アプリケーション150は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力装置(図示せず)を、バスインターフェース部109、プロセッサ102、又はコンピュータシステム100の他のハードウェアと直接通信するように設けることができる。このような構成では、プロセッサ102がメモリ104及び潜在的要因識別アプリケーションにアクセスする必要性を低減することができる。
【0022】
コンピュータシステム100は、プロセッサ102、メモリ104、表示システム124、及びI/Oバスインターフェース部110間の通信を行うバスインターフェース部109を含んでもよい。I/Oバスインターフェース部110は、様々なI/O部との間でデータを転送するためのI/Oバス108と連結していてもよい。I/Oバスインターフェース部110は、I/Oバス108を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインターフェース部112、113、114、及び115と通信してもよい。表示システム124は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置126に提供することができる。また、コンピュータシステム100は、データを収集し、プロセッサ102に当該データを提供するように構成された1つまたは複数のセンサ等の装置を含んでもよい。
例として、コンピュータシステム100は、心拍数データやストレスレベルデータ等を収集する生体センサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示メモリは、ビデオデータをバッファするための専用メモリであってもよい。表示システム124は、単独のディスプレイ画面、コンピュータモニタ、テレビ、タブレット又は携帯型装置等のような表示装置126に接続されてもよい。
ある実施形態では、表示装置126は、オーディオを再生するための1つ又は複数のスピーカを含んでもよい。あるいは、オーディオを再生するための1つ又は複数のスピーカは、I/Oインターフェース部に接続されてもよい。他の実施形態では、表示システム124によって提供される1つ又は複数の特徴は、プロセッサ102を含む集積回路に実施されてもよい。更に、バスインターフェース部109によって提供される1つ又は複数の特徴は、プロセッサ102を含む集積回路に実施されてもよい。
【0023】
I/Oインターフェース部は、様々な記憶装置及びI/Oデバイスと通信する特徴を備える。例えば、端末インターフェース部112は、ユーザ出力装置(例えば、ビデオ表示装置、スピーカ、及び/又はテレビセット等)及びユーザ入力装置(キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティング装置等)のようなユーザI/Oデバイス116の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力装置を動作することで、ユーザI/Oデバイス116及びコンピュータシステム100に対して入力データや指示を入力したり、ユーザ出力装置を使用して出力データを受け取ってもよい。ユーザインターフェースは、例えば、ユーザI/Oデバイス116を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
【0024】
ストレージインターフェース113は、1つ又は複数のディスクドライブや直接アクセスストレージ装置117(通常は磁気ディスクドライブストレージ装置であるが、ホストコンピュータへの単一の大型ストレージ装置として見えるように構成されたディスクドライブのアレイ、又はフラッシュメモリ等ソリッドステートドライブを含む他のストレージ装置であってもよい)の取り付けが可能である。ある実施形態では、ストレージ装置117は、任意の二次記憶装置として実装されてもよい。メモリ104の内容は、ストレージ装置117に格納され、必要に応じて読み出されてもよい。入出力装置インターフェース114は、プリンタやファックス等のような様々な入出力装置のいずれかへのインターフェースを提供する。ネットワークインターフェース115は、コンピュータシステム100から他のデジタル装置及びコンピュータシステムへの1つ以上の通信経路フラッシュメモリらの通信経路は例えば、1つ以上のネットワーク130を含んでもよい。
【0025】
図1に示すコンピュータシステム100は、プロセッサ102、メモリ104、バスインターフェース部109、表示システム124、及びI/Oバスインターフェース部110の間に直接通信経路を提供する特定のバス構造を示すが、他の実施形態では、コンピュータシステム100は、階層構成、スター構成またはウェブ構成のポイント・ツー・ポイント・リンク、複数の階層バス、並列及び冗長経路、又は任意の他の適切なタイプの構成等、様々な形態によって構成され得る異なるバスまたは通信経路を含んでもよい。更に、I/Oバスインターフェース部110及びI/Oバス108は、それぞれ単一の部として示されているが、実際には、コンピュータシステム100は、複数のI/Oバスインターフェース部110及び/又は複数のI/Oバス108を含んでもよい。また、I/Oバス108を、様々なI/Oデバイスに走る他の通信経路から分離する複数のI/Oインターフェース部が示されているが、他の実施形態では、I/Oデバイスのいくつか又はすべてが、1つまたは複数のシステムI/Oバスに直接接続される。
【0026】
様々な実施形態では、コンピュータシステム100は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信する装置であってもよい。他の実施形態では、コンピュータシステム100は、デスクトップコンピュータ、ポータブルコンピュータ、ラップトップコンピュータ又はノートブック・コンピュータ、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、または他の任意の適切なタイプの電子機器として実現されてもよい。
【0027】
次に、図2を参照して、本開示の実施形態に係る反事実的推論管理装置の論理構成の例について説明する。
【0028】
図2は、本開示の実施形態に係る反事実的推論管理装置200の論理構成を示している図である。図2に示しているように、反事実的推論管理装置200は、主に、分類部210、反事実的推論部220、前置処理部230、ユーザインタフェース部240及びフィードバック部250(以下、総称して「機能部」と呼ぶ)を含む。ここにおける各機能部は、例えば、図1に示しているコンピュータシステム100によって実行される反事実的推論管理アプリケーション150内におけるソフトウェアモジュールとして、又は専用のハードウェアユニットとして、実装されていることができる。
【0029】
いくつかの実施形態において、反事実的推論管理装置200は、分類部210を学習させるための分類器学習段階と、反事実的推論部220を学習させるための反事実的推論部学習段階と、及び学習済みの反事実的推論部220が反事実的推論結果を生成するために用いられる推論段階とを含む3つの段階によって構成していることができる。
【0030】
まず、分類部学習段階において、学習データのセット202を用いて分類部210が学習する。分類部210は、データ特徴のセットを含む入力データのセットが所定の目標(例えば、ローン承認)を達成するか否かを判定するように構成している機能部である。具体的には、分類部210は、データを1つ又は複数のクラスのセットに順序付け又は分類してもよい。
【0031】
例として、分類部210は、申請者の特性(収入、学歴、年齢、婚姻状態)を定める特徴に基づいてローン申請者を「承認」又は「拒否」のクラスに分類するように構成しているアルゴリズムを含むことができる。この例において、「承認」される申請者は、所定の目標を達成すると考えられ、「拒否」される申請者は、所定の目標を達成しないと考えられるものである。学習データのセット202は、所与の分類タスクを実行するように分類部210を学習させるために用いられるデータのセット(画像データ又は表形式データ)を含むことができる。例えば、ローン申請の例を用いると、学習データのセット202は、分類部210を学習させるために用いることができる多くの申請者の特性を定める特徴を含むデータを含むことができ、これによって、申請者を「承認」又は「拒否」のカテゴリに正確に分類する。一般的には、「学習」とは、特定のタスクを所定の精度で実行することができるようになるまで、機械学習部のパラメーター(例、ハイパーパラメーター、重み、ニューラル接続)を調整させることを意味する。この学習は、目的の精度が達成されるまで、複数回繰り返して実行することができる。分類部210の学習プロセスの流れについては後で説明するので、その詳細な説明はここでは省略する。
【0032】
反事実的推論部学習段階において、学習データのセット204を用いて反事実的推論部220を学習させる。反事実的推論部220は、入力データのセットに対してエンコード及びデコード動作を行って所定の目標を達成する変換済みデータのセットを生成するように構成している機能部である。反事実的推論部220は、例えば、可変的オートエンコーダとして実装されていることができる。学習データのセット204は、反事実的推論部220を学習させるために用いられるデータのセット(画像データ又は表形式データ)を含むことができる。いくつかの実施形態において、学習データのセット204は、分類部210を学習させるために用いられる学習データのセット202に実質的に対応していることができる。いくつかの実施形態において、反事実的推論部220は、入力データのタイプに基づいて別個の動作モードの間を切り替わるように構成していることができる。例えば、画像データを扱うように学習する動作構成と、表形式データを処理するように学習する動作構成とをあらかじめ準備することができ、反事実的推論部220は、入力データのセットが表形式データである場合に、表形式データを処理するための動作構成をロードし、また、入力データのセットが画像データである場合に、画像データを処理するための動作構成をロードするように構成していることができる。このようにして、反事実的推論管理装置200は、表形式データと画像データの両方に対して反事実的推論結果を生成することができる。
【0033】
ここで、変換済みデータのセット(図2には示していない)は、入力データのセットのデータ特徴のセットのサブセットが反事実的特徴へと変更されているようなデータのセットである。「反事実的特徴」とは、実際の値又は特性とは異なる値又は特性を含むデータ特徴を意味する。このような反事実的特徴は、反事実的推論を表すために用いられる場合がある。ここで、「反事実的推論」とは、1つ又は複数の反事実的特徴を用いて定められる仮想的状態に対応する。このような反事実的推論は、入力に対する仮想的な変化に基づいて所与の出力がどのように変わるかをユーザが理解するために役立つ。例として、「学歴:高校卒業」のデータ特徴に関連づけられたユーザは、このデータ特徴を「学歴:経営管理の学士」の反事実的特徴へと変更して、このことがキャリアの選択肢にどのように影響するかを調べることができる。また、変換済みデータのセットは、データ特徴の異なるクラスター(例えば、教育レベルと収入)の間の相関を表すことができる。
【0034】
入力データのセットに対して行われるエンコード及びデコードの動作は、変換済みデータのセットと学習データのセット204の間の差に関連づけられたモデル損失206を発生させる。変換済みデータのセットは、分類部学習段階において学習させた分類部210に入力される。学習済みの分類部210は、反事実的推論部220によって生成された変換済みデータのセットを処理して、その変換済みデータのセットが所定の目標(例えば、ローン承認)を達成するか否かを判定し、所定の目標を達成しない変換済みデータのセットの部分に関連づけられた反事実的損失208を計算する。その後で、反事実的推論部220は、モデル損失206(再構成損失を含む)を低減するように学習する。このようにして、反事実的推論部220は、所定の目標を達成する反事実的特徴を含む変換済みデータのセットを生成するように学習する。反事実的推論部220の学習プロセスの流れについては後で説明するので、ここではその詳細な説明を省略する。
【0035】
推論段階において、学習済みの反事実的推論部220を用いて、テストデータのセット212に対して反事実的推論結果を生成する。テストデータのセット212は、反事実的推論のセットを生成すべきデータのセット(画像データ又は表形式データ)を含むことができる。
【0036】
まず、テストデータのセット212を前置処理部230へと入力することができる。前置処理部230は、反事実的推論の生成を容易にするために、テストデータのセット212に対して1つ又は複数の前置処理動作を行うように構成している機能部である。具体的には、いくつかの実施形態において、前置処理部230は、テストデータのセット212を分析して、テストデータのセット212が表形式データのセットを含むのか又は画像データのセットを含むのかを判定することができる。テストデータのセット212が表形式データのセットを含むと判定された場合に、前置処理部230は、表形式データ処理部232を用いて、テストデータのセット212に対して表形式データ処理動作を行う(例えば、データ特徴のセットを正規化し、データ特徴のサブセットをマスキングして反事実的推論部220などによる変更を防ぐ)。テストデータのセット212が画像データのセットを含むと判定された場合に、前置処理部230は、画像処理部234を用いて、テストデータのセット212に対して画像処理動作を行う(例えば、画素輝度動作、幾何学的変換)。
【0037】
テストデータのセット212は、前置処理部230によって処理された後に、上記の反事実的推論部学習段階において学習させた反事実的推論部220に入力される。反事実的推論部220は、前置処理されたテストデータのセット212を処理して、変換済みデータのセットが所定の目標(例えば、ローンの承認)を達成するようにテストデータのセット212のデータ特徴のセットのサブセットが反事実的特徴へと変更されているような変換済みデータのセットを生成する。そして、変換済みデータのセットがユーザインタフェース部240に入力される。
【0038】
ユーザインタフェース部240は、グラフィカルユーザインタフェースを介して情報を表示しユーザからの入力を受信するように構成している機能部である。いくつかの実施形態において、ユーザインタフェース部240は、反事実的推論部220によって生成される変換済みデータのセット、そして、変換済みデータのセットに関連づけられたデータ特徴のセット、及び変換済みデータのセットが所定の目標を達成しているか否かを表す目標達成指標を含む反事実的推論結果を提示するように構成していることができる。また、ユーザインタフェース部240は、データ特徴の異なるクラスターの間の相関を示すことができる。ユーザインタフェース部240は、ユーザ入力を受けて、変換済みデータのセットの1つ又は複数のデータ特徴を、ユーザによって選択される反事実的特徴へとさらに変更することができる(例えば、ユーザは、自分の収入又は教育レベルに対応するデータ特徴を変更して、この変更がローン承認結果にどのように影響するかを観察する)。
【0039】
フィードバック部250は、ユーザによって選択される反事実的特徴のセットを含むユーザ入力を収集し、このユーザによって選択される反事実的特徴のセットを用いて、分類部210をさらに学習させるための学習データを生成することができる。推論段階の流れについては後で説明するため、ここではその詳細な説明を省略する。
【0040】
上記の反事実的推論管理装置200にしたがって、特徴の間の相関を考慮して、これによって、実行不可能な反事実的推論の排除を容易にし、ユーザが適切な反事実的推論を選択することができるように柔軟性を高め、そして、単一の構成において表形式データと画像データを取り扱うためのスケーラビリティを与えることが可能となる。
【0041】
次に、図3を参照して、本開示の実施形態に係る表形式データに関する反事実的推論管理方法について説明する。
【0042】
図3は、本開示の実施形態に係る、表形式データに関する反事実的推論管理方法300の全体的な流れを示しているフローチャートである。本明細書で説明するように、本開示のいくつかの態様は、単一の構成で表形式データと画像データの両方に関する反事実的推論結果を生成することができる推論管理方法に関する。したがって、図3に示している反事実的推論管理方法300は、表形式データのセットに関する反事実的推論を生成する方法を示している。この反事実的推論管理方法300は、図2に示している反事実的推論管理装置200の様々な機能部によって実行されることができる。なお、反事実的推論管理方法300は、反事実的推論管理装置200の推論段階に対応する。すなわち、分類部と反事実的推論部は、すでに学習済みであると想定される。分類部と反事実的推論部の学習プロセスについては後で説明するため、ここではその詳細な説明を省略する。
【0043】
まず、ステップS310において、前置処理部(例えば、図2に示している前置処理部230)は、入力データのセットを受信する。本明細書で説明するように、この入力データのセットは、反事実的推論結果が生成されるテストデータのセットであることができる。また、入力データのセットは、表形式データのセット又は画像データのセットのいずれかを含むことができる。ここで、表形式データとは、表の形態で構造化された情報を意味する(例えば、列と行によって組織化されている)。入力データのセットは、データ特徴のセットを含むことができる。ここで、データ特徴のセットは、入力データのセットを特徴づける性質又は属性の集合を意味する。表形式データの場合に、データ特徴のセットは、数値的特徴のセット又はカテゴリー特徴のセットを含むことができる。例として、入力データのセットが、ローンの適格性を判定する際に用いるためにローン申請者によって提供される個人情報を含む場合に、データ特徴のセットは、申請者の年齢、申請者の収入のような数値的特徴、そして、申請者の性別、申請者の教育レベル、申請者の職業のようなカテゴリー特徴を含むことができる。
【0044】
次に、ステップS302において、前置処理部は、入力データのセットが表形式データのセットであるか画像データのセットであるかを判定するようにモード選択動作を行う。入力データのセットが表形式データのセットを含む場合に、処理はステップS303に進む。入力データのセットが画像データのセットを含む場合に、処理はステップS403に進む。なお、図4を参照して画像データに関する反事実的推論管理方法400の全体的な流れを説明するために、ここでは入力データのセットが表形式データのセットを含むと想定される。
【0045】
次に、ステップS303において、表形式データ処理部(すなわち、前置処理部230の表形式データ処理部232)は、入力データのセットに対してマスキング動作を行う。ここで、マスキング動作とは、入力データのセットの1つ又は複数のデータ特徴をマスキングする動作(例えば、フリーズ、ロック、保持、維持)を意味する。後で説明するように、反事実的推論部の処理によってマスキングされた特徴が変更されることを防ぐ。
【0046】
次に、ステップS304において、表形式データ処理部は、ステップS303でマスキングされなかった入力データのセットのデータ特徴のセットに対して表形式データ処理動作を行う。ここで、表形式データ処理動作は、反事実的推論部による処理を容易にするための動作を含むことができる。例として、表形式データ処理部は、正規化技術を利用して、入力データのセットの数値的特徴(例えば、年齢、収入、週当たりの労働時間)、又はベクトル形式の入力データのカテゴリー特徴(例えば、職業、教育レベル、婚姻状態)を表すようにワンホットエンコード特徴を正規化することができる。入力データのセットに対して表形式データ処理動作を行うと、反事実的推論部の精度が向上する場合がある。
【0047】
ステップS305において、分類部は、データ特徴のセットを含む入力データのセットが所定の目標を達成するか否かを判定するように学習する。具体的には、データを1つ又は複数のクラスのセットに順序付け又は分類するように分類部を学習させることができる。ここで、所定の目標とは、あらかじめ定められた特定のゴール又は分類を意味する。例として、ローン申請シナリオの場合に、前記所定の目標は「ローン承認」であることができる。分類部の学習プロセスについては後で説明するため、ここではその詳細な説明を省略する。
【0048】
ステップS306において、反事実的推論部は、入力データのセットに対してエンコード及びデコード動作を行って、所定の目標を達成する変換済みデータのセットを生成するように学習する。反事実的推論部の学習プロセスについては後で説明するため、ここではその詳細な説明を省略する。本明細書で説明するように、ステップS305における分類部の学習プロセス及びステップS306における反事実的推論部の学習プロセスは、あらかじめ実行することができる独立したステップであり、前置処理されたデータが反事実的推論部へと入力される前に完了する(すなわち、反事実的推論部は、前置処理された入力データのセットを受信する前に学習する)ものと想定される。
【0049】
次に、ステップS307において、ステップS304で前置処理された入力データのセットが、ステップS306において学習させた反事実的推論部に入力され、ステップS308において、反事実的推論部は、前記入力データのセットのデータ特徴のセットのサブセットが、当該変換済みデータのセットが前記所定の目標(例えば、ローンの承認)を達成するように反事実的特徴へと変更されている、変換済みデータのセットを少なくとも含む反事実的推論結果を生成する。変換済みデータのセットを生成するために反事実的推論部によって行われる処理については後で説明するので、その詳細な説明はここでは省略する。
【0050】
次に、ステップS309において、ユーザインタフェース部(例えば、図2に示しているユーザインタフェース部240)は、ユーザインタフェース部を介してユーザに、ステップS308において反事実的推論部によって生成された変換済みデータのセット、そして、変換済みデータのセットに関連づけられたデータ特徴のセット、及び変換済みデータのセットが所定の目標を達成するか否かを表す目標達成指標を含む反事実的推論結果を提示する。また、ユーザインタフェース部は、データ特徴の異なるクラスターの間の相関を示すことができる。ユーザインタフェース部は、ユーザ入力を受信して、変換済みデータのセットの1つ又は複数のデータ特徴を、ユーザによって選択される反事実的特徴へとさらに変更することができる(例えば、ユーザは、自分の収入又は教育レベルに対応するデータ特徴を変更して、この変更がローン承認結果にどのように影響するかを観察することができる)。また、フィードバック部250は、ユーザによって選択される反事実的特徴のセットを含むユーザ入力を収集し、このユーザによって選択される反事実的特徴のセットを用いて、分類部をさらに学習させるための学習データを生成することができる。
【0051】
上記の表形式データに関する反事実的推論管理方法300にしたがって、ユーザに対して適切な反事実的推論を選択させるように柔軟性を向上させ、ユーザ入力を利用して反事実的推論管理装置の精度をさらに向上させるように、表形式データの反事実的推論結果を生成することが可能となる。
【0052】
次に、図4を参照して本開示の実施形態に係る画像データに関する反事実的推論管理方法について説明する。
【0053】
図4は、本開示の実施形態に係る、画像データに関する反事実的推論管理方法400の全体的な流れを示しているフローチャートである。本明細書で説明するように、本開示の態様は、単一の構成で表形式データと画像データの両方に対して反事実的推論を生成することができる推論管理方法に関する。図4に示している反事実的推論管理方法400は、画像データのセットに関する反事実的推論を生成する方法を示している。反事実的推論管理方法400は、図2に示している反事実的推論管理装置200の様々な機能部によって行うことができる。なお、反事実的推論管理方法400は、反事実的推論管理装置200の推論段階に対応する。すなわち、分類部と反事実的推論部は、すでに学習済みであると想定される。分類部と反事実的推論部の学習プロセスについては後で説明するため、ここではその詳細な説明を省略する。
【0054】
まず、ステップS401において、前置処理部(例えば、図2に示している前置処理部230)は、入力データのセットを受信する。本明細書で説明するように、入力データのセットは、反事実的推論結果が生成されるテストデータのセットであることができる。また、入力データのセットは、表形式データのセット又は画像データのセットのいずれかを含むことができる。ここで、画像データとは、グラフィカル又は画像形式で表される情報を意味する。入力データのセットは、データ特徴のセットを含むことができる。ここで、データ特徴のセットは、入力データのセットを特徴づける性質又は属性の集合を意味する。画像データの場合に、データ特徴のセットは、画像特徴のセットを含むことができる。例として、入力データのセットが寝室の画像を含む場合に、データ特徴のセットは、部屋の照明、画像の角度、画像の空間構成、画像に存在するオブジェクトのクラス、オブジェクトの色のような画像特徴を含むことができる。しかし、ここでは画像特徴のセットは限定されず、天気のような他の画像特徴も利用することができる。
【0055】
次に、ステップS402において、前置処理部は、モード選択動作を行って、入力データのセットが表形式データのセットであるか又は画像データのセットであるか否かを判定する。入力データのセットが表形式データのセットを含む場合に、処理はステップS303に進む。入力データのセットが画像データのセットを含む場合に、処理はステップS403に進む。なお、表形式データに関する反事実的推論管理方法300の全体的な流れは図3を参照して既に説明しているので、ここでは入力データのセットが画像データのセットを含むと想定する。
【0056】
次に、ステップS403において、画像処理部(すなわち、前置処理部230の画像処理部234)は、入力データのセットに対して画像処理動作を行う。ここで、画像処理動作とは、反事実的推論部による処理を容易にする動作を意味する。例として、画像処理部は、画素輝度変換又は幾何学的変換を利用して画像データのセットを変更することができる。入力データのセットに対して画像処理動作を行うと、反事実的推論部の精度が向上することがある。
【0057】
ステップS404において、分類部は、データ特徴のセットを含む入力データのセットが所定の目標を達成するか否か(例えば、寝室の画像において屋内照明があるか否か、画像に猫がいるか否か)を判定するように学習する。具体的には、分類部は、データを1つ又は複数のクラスのセットに順序付け又は分類するように学習させることができる。分類部の学習プロセスについては後で説明するため、ここではその詳細な説明を省略する。
【0058】
ステップS405において、反事実的推論部は、入力データのセットに対してエンコード及びデコード動作を行って、所定の目標を達成する変換済みデータのセットを生成するように学習する。反事実的推論部の学習プロセスについては後で説明するため、ここではその詳細な説明を省略する。本明細書で説明するように、ステップS404における分類部の学習プロセス及びステップS405における反事実的推論部の学習プロセスは、あらかじめ実行することができる独立したステップであり、前置処理されたデータが反事実的推論部へと入力される前に完了されている(すなわち、反事実的推論部は、前置処理された入力データのセットを受信する前に学習する)ものと想定される。
【0059】
次に、ステップS406において、ステップS403で前置処理された入力データのセットは、ステップS405において学習させた反事実的推論部に入力され、ステップS407において、反事実的推論部は、当該変換済みデータのセットが所定の目標を達成するように、入力データのセットのデータ特徴のセットのサブセットが反事実的特徴へと変更(例えば、屋内照明のない寝室の画像が屋内照明がある画像に変換される)された変換済みデータを少なくとも含む反事実的推論結果を生成する。変換済みデータのセットを生成するために反事実的推論部によって行われる処理については後で説明するので、その詳細な説明はここでは省略する。
【0060】
次に、ステップS408において、ユーザインタフェース部(例えば、図2に示しているユーザインタフェース部240)は、ユーザインタフェース部を介して、ステップS406において反事実的推論部によって生成された変換済みデータのセット、及び変換済みデータのセットに関連づけられたデータ特徴のセットを含む反事実的推論結果をユーザに提示する。ユーザインタフェース部は、ユーザ入力を受信して、変換済みデータのセットの1つ又は複数のデータ特徴を、ユーザによって選択される反事実的特徴へとさらに変更することができる(例えば、ユーザは画像の輝度に対応するデータ特徴を変更して、この変更が可視性にどのように影響するかを観察することができる)。また、フィードバック部250は、ユーザによって選択される反事実的特徴のセットを含むユーザ入力を収集し、このユーザによって選択される反事実的特徴のセットを用いて分類部をさらに学習させるための学習データを生成することができる。
【0061】
上記の画像データに関する反事実的推論管理方法400にしたがって、ユーザに対して適切な反事実的推論を選択する柔軟性を向上させ、ユーザ入力を利用して反事実的推論管理装置の精度を向上させることができるような、画像データの反事実的推論結果を生成することが可能となる。このように、入力データのセットが表形式データであるか画像データであるかを判定するようにモード選択動作を行う前置処理を実行し、その後に、表形式データ処理部を用いて数値的特徴やカテゴリー特徴のような表形式データを処理することによって、又は代わりに画像データ処理部を用いて画像データ特徴を処理することによって、単一の構成で表形式データ及び画像データの両方について反事実的推論を生成することが可能となる。
【0062】
次に、本開示の実施形態に係る表形式データに関する反事実的推論生成方法について図5を参照して説明する。
【0063】
図5は、本開示の実施形態に係る、表形式データに関する反事実的推論生成方法500の詳細な流れを示しているフローチャートである。表形式データに関する反事実的推論生成方法500は、表形式データに関する反事実的推論結果を生成する詳細なステップを示しており、これは図3に示しているステップS304~S309に実質的に対応する。ここで、説明の便宜上、ローン申請シナリオに関連する表形式データに関する反事実的推論生成方法500の例について説明するが、本開示はこれに限定されず、反事実的推論生成を様々なユースケースに適用することができる。
【0064】
まず、ステップS502において、前置処理部(例えば、図2に示している前置処理部230)は、表形式データのセット501を入力データのセットとして受信する。本明細書で説明するように、表形式データのセット501は、表の形態(例えば、列及び行で組織化される)で構造化された情報を意味する。表形式データのセット501は、データ特徴のセットとして、数値的特徴のセット及び/又はカテゴリー特徴のセットを含むことができる。例えば、図5に示しているように、表形式データのセット501が、ローンの適格性を判定する際に用いるためにローン申請者によって提供される個人情報を含む場合に、データ特徴のセットは、申請者の年齢、申請者の週当たりの労働時間のような数値的特徴、及び申請者の職務クラス、申請者の教育レベル、申請者の婚姻状態、申請者の職業、申請者の性別のようなカテゴリー特徴を含むことができる。
【0065】
表形式データのセット501を受信する際に、表形式データ処理部は、表形式データのセット501のデータ特徴のセット(例えば、図3に示しているステップS303においてマスキングが指定されなかったデータ特徴のセット)に対して表形式データ処理動作を行う。ここで、表形式データ処理動作は、反事実的推論部による処理を容易にするための動作を含むことができる。例として、表形式データ処理部は、表形式データのセット501の数値的特徴(例えば、年齢、収入、週当たりの労働時間)、又はベクトル形式の表形式データのセット501のカテゴリー特徴(例えば、職業、教育レベル、婚姻状態)を表すワンホットエンコード特徴を正規化するように正規化技術を利用することができる。
【0066】
次に、ステップS503において、ステップS502で前置処理された表形式データのセット501が、反事実的推論部のエンコーダに入力される。ここで、エンコーダは、表形式データのセット501を圧縮し次元削減して、表形式データのセット501の潜在空間表現504を生成するように構成しているニューラルネットワークである。具体的には、ステップS503Aにおいて、エンコーダは、表形式データのセット501に対してダウンサンプリングを行う。このダウンサンプリングは、エンコーダとして用いられるニューラルネットワークのダウンサンプリングレイヤーで実行することができる。表形式データのセット501に対してダウンサンプリングを行うことによって、表形式データのセット501の全体的な大きさを小さくしてノイズを抑制しつつ、表形式データのセット501の本質的なデータ特徴を維持することができる。次に、ステップS503Bにおいて、エンコーダは、非線形レイヤーにて表形式データのセットを処理する。非線形レイヤーは、表形式データのセット501に非線形性を導入するために、レクティファイド線形部(ReLU)アクティブ化関数のような非線形アクティブ化関数を利用することができる。
【0067】
表形式データのセット501を処理することによって、エンコーダは、表形式データのセット501の潜在空間表現504を生成する。ここで、潜在空間表現504は、表形式データのセット501の次元削減表現である。いくつかの実施形態において、潜在空間表現504は、表形式データのセット501の主要なデータ特徴を特徴づける多次元ベクトルを含むことができる。
【0068】
次に、ステップS505において、潜在空間表現504が反事実的推論部のデコーダに入力される。ここで、デコーダは、表形式データのセット501の再構成済みのバージョンを生成するように潜在空間表現504をデコードするように構成しているニューラルネットワークである。具体的には、ステップS505Aにおいて、デコーダは、潜在空間表現504に対してアップサンプリングを行う。このアップサンプリングは、デコーダとして用いられるニューラルネットワークのアップサンプリングレイヤーにおいて実行することができる。潜在空間表現504に対してアップサンプリングを行うと、潜在空間表現504をデコードして、データ特徴のセットのサブセットが表形式データのセット501に関して反事実的特徴へと変更された変換済みデータのセット507を生成する。
【0069】
また、ステップS505Bにおいて、デコーダは、確率的学習レイヤーを用いて、変換済みデータのセット507のデータ特徴の間の相関を判定する。確率的学習レイヤーは、統計分析技術を利用して、変換済みデータのセット507の1つ又は他のデータ特徴との相関を示す可能性が高いデータ特徴を予測することができる。ここで、「相関」とは、あるデータ特徴の変化が別のデータ特徴の変化をもたらすような2つ以上のデータ特徴の間の共依存関係を意味する。例として、確率的学習レイヤーが、「年齢」と「教育レベル」のデータ特徴の間の相関を識別することがあり、個人の教育レベルを変えることは時間がかかることが多いために、個人の年齢を変えることになることがある。また、ステップS505Cにおいて、デコーダは、上記のようにステップS303においてマスク適用のために選択されたデータ特徴のサブセットにマスクを適用する。ここで、データ特徴のサブセットにマスクを適用することは、マスク適用されるように選択されたデータ特徴のサブセットの値を表形式データのセット501と同じ値に変更し、したがって、それらを元の値に維持することを伴うことができる。例として、デコーダは、ユーザが変えることができないデータ特徴(例えば、人種、性別)などに対してマスクを適用することができる。
【0070】
デコーダは、ステップS505Bで確率的学習器によって生成されたクラスター結果508とともに、変換済みデータのセット507を少なくとも含む反事実的推論結果を出力する。本明細書で説明するように、ここで用いられる反事実的推論部が表形式データのセット501に対してエンコード及びデコード動作を行って所定の目標を達成する変換済みデータのセットを生成するように学習済みであるので、変換済みデータのセット507は、当該変換済みデータのセットが所定の目標(例えば、ローンの承認)を達成する可能性を高くするように表形式データのセットのデータ特徴のセットのサブセットが反事実的特徴へと変更されているデータのセットである。例えば、図5に示しているように、変換済みデータのセット507において、「職業:営業員」のデータ特徴が「職業:営業マネージャー」の反事実的特徴へと変えられている。すなわち、職種を「営業員」から「営業マネージャー」に変えることで、申請者のローンが承認される可能性が高くなるようにすることができる。したがって、申請者は、ローンが承認される可能性を高くするための提言として、この反事実的推論を用いることができる。また、クラスター結果508は、互いに相関があると判定されたデータ特徴を示す。後で説明するように、ユーザはこの相関を用いて実行不可能な反事実的推論を排除し、実行可能性がより高い反事実的推論を選択することができる。
【0071】
上記の表形式データに関する反事実的推論生成方法500にしたがって、所定の目標を達成する可能性を高くするためにどの属性(例えば、データ特徴)を変えるかということについての提言をユーザに提供する表形式データに関する反事実的推論結果を生成することが可能となる。
【0072】
次に、本開示の実施形態に係る画像データに関する反事実的推論生成方法について図6を参照して説明する。
【0073】
図6は、本開示の実施形態に係る、画像データに関する反事実的推論生成方法600の詳細な流れを示しているフローチャートである。画像データに関する反事実的推論生成方法600は、画像データに関する反事実的推論結果を生成する詳細なステップを示しており、これは図4に示しているステップS403~S408に実質的に対応する。ここで、説明の便宜上、寝室を示している画像データに関する反事実的推論生成方法600の例について説明するが、本開示はこれに限定されるものではなく、反事実的推論生成を様々なユースケースに適用することができる。
【0074】
まず、ステップS602において、前置処理部(例えば、図2に示している前置処理部230)は、画像データのセット601を入力データのセットとして受信する。本明細書で説明するように、画像データのセット601は、グラフィカル又は絵の形態で表される情報を意味する。画像データのセット601は、データ特徴のセットとして、画像特徴のセットを含むことができる。例えば、図6に示しているように、画像データのセット601が寝室の画像である場合に、当該データ特徴のセットは、部屋の照明、画像の角度、画像の空間的構成、画像に存在するオブジェクトのクラス、オブジェクトの色のような画像特徴を含むことができる。画像データのセット601を受信する際に、画像処理部(すなわち、前置処理部230の画像処理部234)は、画像データのセット601に対して画像処理動作を行う。ここで、画像処理動作とは、反事実的推論部による処理を容易にする動作を意味する。例として、画像処理部は、画像データのセットを変更するために、画素輝度変換又は幾何学的変換を利用することができる。入力データのセットに対して画像処理動作を行うと、反事実的推論部の精度を向上させることができる。
【0075】
次に、ステップS603において、ステップS602で前置処理された画像データのセット601が、反事実的推論部のエンコーダに入力される。ここで、エンコーダは、画像データのセット601を圧縮し次元削減して、画像データのセット601の潜在空間表現604を生成するように構成しているニューラルネットワークである。具体的には、ステップS603Aにおいて、エンコーダは、画像データのセット601に対してダウンサンプリングを行う。このダウンサンプリングは、エンコーダとして用いられるニューラルネットワークのダウンサンプリングレイヤーで実行することができる。画像データのセット601に対してダウンサンプリングを行うことによって、画像データのセット601の全体的な大きさを減らし、ノイズを抑制しつつ、画像データのセット601の実質的なデータ特徴を維持することができる。次に、ステップS603Bにおいて、エンコーダは、畳み込みレイヤーを用いて画像データのセット601を処理する。ここで、畳み込みレイヤーは、画像データのセットを処理して特徴マップを抽出するように構成しているニューラルネットワークレイヤーである。特徴マップは、画像データのセット601のベクトル表現である。例として、畳み込みネットワークには、LeNet、AlexNet、VGG-16 Net、Resnet、InceptionNetなどを含むことができる。
【0076】
画像データのセット601を処理することによって、エンコーダは、画像データのセット601の潜在空間表現604を生成する。ここで、潜在空間表現604は、画像データのセット601の次元削減表現である。いくつかの実施形態において、潜在空間表現604は、画像データのセット601の主要なデータ特徴を特徴づける多次元ベクトルを含むことができる。
【0077】
次に、ステップS605において、潜在空間表現604は、反事実的推論部のデコーダに入力される。ここで、デコーダは、画像データのセット601の再構成済みバージョンを生成するために潜在空間表現604をデコードするように構成しているニューラルネットワークである。具体的には、ステップS6505Aにおいて、畳み込みレイヤーを用いて、潜在空間表現604から画像を再構成する。その後で、ステップS605Bにおいて、デコーダは、潜在空間表現604から畳み込みネットワークによって生成される画像に対してアップサンプリングを行う。このアップサンプリングは、デコーダとして用いられるニューラルネットワークのアップサンプリングレイヤーで実行することができる。
【0078】
このようにして、デコーダは、画像特徴のセットのサブセットが反事実的特徴へと変更されている変換済みデータのセット606を少なくとも含む反事実的推論結果を生成することができる。本明細書で説明するように、ここで用いられる反事実的推論部は、画像データのセット601に対してエンコード及びデコード動作を行って、所定の目標を達成する変換済みデータのセットを生成するように学習済みであるので、変換済みデータのセット606は、画像データのセット601のデータ特徴のセットのサブセットが、変換済みデータのセットが所定の目標を達成する可能性を高くするように反事実的特徴へと変更されているようなデータのセットである(例えば、屋内照明がない画像を屋内照明が存在する部屋の画像へと変更されている)。例えば、図6に示しているように、変換済みデータのセット606において、「屋内照明:オフ」のデータ特徴が「屋内照明:オン」の反事実的特徴へと変更される。このようにして、元の画像データのセット601に描かれているものとは異なるシナリオが描かれている画像を含む変換済みデータのセット606を生成することが可能となる。
【0079】
上記の画像データに関する反事実的推論生成方法600にしたがって、所定の目標を達成する変換済み画像をユーザに提供する画像データの反事実的推論結果を生成することが可能となる。いくつかの実施形態において、これらの変換済み画像を、他の機械学習モデルに対する学習データとして用いることができる。例えば、希なシナリオ(例えば、道路を横断するクマ)が描かれている変換済み画像が、より一般的なシナリオ(例えば、道路を横断する犬)が描かれている入力画像から生成されるようにすることができる。これらの変換済み画像は、データの可用性が問題となる状況で機械学習を補完するように用いることができる。
【0080】
次に、表形式データに関する分類部と反事実的推論部の学習プロセスの例について図7を参照して説明する。
【0081】
図7は、本開示の実施形態に係る、分類部及び反事実的推論部のための学習プロセス700の例を示している図である。図7に示している分類部及び反事実的推論部の学習プロセス700はそれぞれ、図3に示しているステップS306及びステップS306、又は図4に示しているステップS404及びステップS405に対応する。
【0082】
まず、学習管理部703は、学習データのセット701を受信する。ここで、学習管理部703は、分類部及び反事実的推論部に対して学習プロセス700を実施するように構成しているソフトウェアモジュール又は専用ハードウェアを含むことができる。学習データのセット701は、所与の分類タスクを実行するように分類部を学習させるための表形式データのセット又は画像データのセットを含むことができる。例として、収入がしきい値よりも大きい個人を予測するために分類部が学習する分類タスクの場合に、学習データのセットは、各個人の正しい分類ラベルの結果を示すグラウンドトゥルースデータとともに、多くの個人の年齢、教育レベル、性別、国籍及び職業に関する情報を含むことができる。
【0083】
学習データのセット701を受信する際に、学習管理部703は、ベースモデルのグループ702から、所望の分類タスクを実行するための適切なモデルタイプを選択することができる。ここで、ベースモデルのグループ702は、所望の分類タスクを実行するように学習させることができる機械学習モデル、ネットワーク又はアルゴリズムの集合を含むことができる。いくつかの実施形態において、学習管理部703は、用いる特定のモデルを示す学習データのセット701とともに、モデル選択命令を受信することができる。例として、ベースモデルのグループ702は、人工ニューラルネットワーク、深層学習アルゴリズム、学習分類器、ベイジアンネットワークなどを含むことができる。ベースモデルのグループ702からベースモデルを選択する際に、学習管理部703は、学習データのセット701を利用して、選択されたベースモデルを学習させ、所望の分類タスクを実行する(例えば、個人の収入がしきい値を超えるか否かを予測する)。学習プロセス700は、ベースモデルが所望の精度レベルを達成し、その後で学習済みの分類部704として保存されるまで繰り返すことができる。
【0084】
次に、反事実的推論部706は、学習データのセット705を用いて学習する。学習データのセット705は、反事実的推論部220を学習させるために用いられる表形式データ又は画像データのセットを含むことができる。いくつかの実施形態において、学習データのセット204は、学習済みの分類部704を学習させるために用いられる学習データのセット701に実質的に対応していることができる。ここで、反事実的推論部706は、入力データのセットに対してエンコード及びデコード動作を行って、学習済みの分類部704の所定の目標を達成する変換済みデータのセットを生成するように学習する。例として、学習済みの分類部704が、収入がしきい値よりも大きい個人を予測するように学習する場合に、反事実的推論部706は、入力データのセットのデータ特徴のセットのサブセットが、変換済みデータのセットが収入がしきい値よりも大きい個人に対応するものとして分類されるような反事実的特徴(例えば、職業、週当たりの労働時間のようなデータ特徴に対する変更)へと変更されているような変換済みデータのセットを生成するように学習する。本明細書で説明するように、反事実的推論部706の学習は、モデル損失708に関連づけられる。このモデル損失708については下で説明する。
【0085】
反事実的推論部706によって生成される変換済みデータのセットは、学習済みの分類部704へと入力される。学習済みの分類部704は、反事実的推論部706によって生成された変換済みデータのセットを処理して、当該変換済みデータのセットが所定の目標(例えば、しきい値よりも収入が大きいこと)を達成するか否かを判定し、関連づけられた反事実的損失707を計算する。この反事実的損失707は、所定の目標を達成しないと判定された変換済みデータのサンプルによって発生する。
【0086】
上記のように、反事実的推論部220は、モデル損失708を低減するように学習する。ここで、数1に示しているように、モデル損失708(Lv)は、複数の損失値の合計として表される。
【数1】
ここで、Lklは、カルバック-ライブラー(Kullback-Leibler)発散損失を表し、Lreconは、エンコーダデコーダ処理によって発生する再構成損失を表し、LCFは、学習済み分類部704によって所定の目標を達成しないと判定された変換済みデータのサンプルによって発生する反事実的損失707を表し、Lprobは、データ特徴のクラスターの間の相関の計算の追加的な確率的損失を表す。
【0087】
このモデル損失708(Lv)を最小化するように反事実的推論部706のパラメータを調整することによって、反事実的推論部706は、学習済みの分類部704の所定の目標を達成する変換済みデータのセットを生成するように学習する。また、学習プロセス700において、本明細書で説明するマスキング動作は、学習データのデータ特徴のセットのサブセットをマスキングするようには行われない。すなわち、学習プロセス700は、いずれのデータ特徴をもマスキングすることなく行われる。学習データのデータ特徴をいずれもマスキングせずに学習プロセス700を実行することによって、モデルの局所的な収束を防ぐことができる。
【0088】
上記の分類部及び反事実的推論部の学習プロセス700にしたがって、反事実的推論部を、入力データのセットのデータ特徴のセットのサブセットが、当該変換済みデータのセットが所定の目標を達成するような反事実的特徴へと変更されているような変換済みデータのセットを生成するように学習させることができる。これらの反事実的特徴を用いて、所定の目標を達成する可能性を高くするために実行する行動に関する見識をユーザに提供することができる(例えば、ローンの承認のためにしきい値よりも収入が大きいこと)。
【0089】
次に、図8を参照して、反事実的推論管理装置のフィードバックプロセスの例について説明する。
【0090】
図8は、本開示の実施形態に係る、反事実的推論管理装置のフィードバックプロセス800の例を示している図である。フィードバックプロセス800を反事実的推論管理装置の推論段階において実行し、反事実的推論結果を学習データとして利用して、分類部の精度をさらに高くすることができる。
【0091】
図8に示しているように、まず、反事実的推論部706は、テストデータのセット805を受信し、反事実的推論結果807を生成する。いくつかの実施形態において、ユーザは、反事実的推論結果807に含まれる変換済みデータのセットの1つ又は複数のデータ特徴を、ユーザによって選択される反事実的特徴へと変更するために、ユーザインタフェース部(図8に示していない)を用いてユーザ入力を入力することができる(例えば、ユーザは、収入又は教育レベルに対応するデータ特徴を変更して、この変更がローン承認結果にどのように影響するかを観察することができる)。
【0092】
その後で、この反事実的推論結果807を、ユーザ入力とともに、学習データのセット810として集合化し、学習管理部703に入力することができる。そして、学習管理部703は、ベースモデルのグループ702から、所望の分類タスクを実行するために適切なモデルタイプを選択し、その選択されたモデルを学習データのセット810を用いて学習させて、学習済みの分類部704を生成することができる。
【0093】
反事実的推論管理装置のフィードバックプロセス800にしたがって、反事実的推論結果807及びユーザから受信したユーザ入力を用いて、分類部を学習させることができる。その後に、この学習済みの分類部を用いて、上記のように反事実的推論部を学習させることができる。このように、反事実的推論結果807とユーザから受信したユーザ入力に基づいて分類部と反事実的推論部を学習させることによって、ユーザの好みに基づいてユーザにカスタマイズするための様々な選択肢を提供する柔軟な反事実的推論結果を生成することが可能になる。
【0094】
次に、本開示の実施形態に係るマスク選択窓の例について図9を参照して説明する。
【0095】
図9は、本開示の実施形態に係る、マスク選択窓900の例を示している図である。本明細書で説明するように、本開示の態様は、入力データのセットの1つ又は複数のデータ特徴をマスキングするためのマスキング動作(例えば、凍結、ロック、保持、維持)を実行することに関する。いくつかの実施形態において、ユーザは、ユーザインタフェース部(例えば、図2に示しているユーザインタフェース部240)によってグラフィカルユーザインタフェースに提示されたマスク選択窓900を介して、入力データのセットのどのデータ特徴をマスキングするのかを選択することができる。
【0096】
図9に示しているように、マスク選択窓900は、ファイルインポートボタン901、モード選択ボタン902、及びマスク選択ボタン903を含む。ファイルインポートボタン901を選択することによって、ユーザは、マスキングしたいデータ特徴のセットを含む入力データのセット(例えば、反事実的推論生成プロセスにおいて用いられるテストデータのセット)を選択することができる。モード選択ボタン902を選択することによって、ユーザは、表形式データ処理動作(例えば、マスク選択、データ正規化)を指定するための表形式モードと、画像処理動作(例えば、画素輝度動作、幾何学的変換)を指定するための画像モードの間で選択することができる。マスク選択ボタン903を選択することによって、ユーザは、マスクを割り当てたい特定のデータ特徴を選択することができる。いくつかの実施形態において、ユーザが自由に変えることができないデータ特徴にマスクを割り当てることが好ましい場合がある。例として、図9に示しているように、ユーザは「人種」、「性別」、「出身国」のデータ特徴にマスクを割り当てることができる。これらはユーザが自由に変えられないデータ特徴であるためである。
【0097】
マスク選択窓900を用いて、ユーザは、データ特徴のセットの任意の数のデータ特徴にマスクを割り当てることができる。このように、ユーザが自由に変えられないデータ特徴にマスクを割り当てることによって、ユーザが変えられない属性に対応するデータ特徴を変えることを必要とする実行不可能な反事実的推論の生成を抑制することができる。
【0098】
次に、図10を参照して、本開示の実施形態に係る画像インポート窓の例について説明する。
【0099】
図10は、本開示の実施形態に係る画像インポート窓1000の例を示している図である。本明細書で説明するように、本開示の態様は、画像データのセットに対して反事実的推論管理方法を実行することに関する。いくつかの実施形態において、画像データのセットが学習済みの反事実的推論部へと入力される前に、画像データのセットに対して画像処理動作を実行することが望ましい場合がある。したがって、ユーザは、画像インポート窓1000を用いて、画像データのセットを選択し、その画像データのセットに対して実行する1つ又は複数の画像処理動作を指定することができる。
【0100】
図10に示しているように、画像インポート窓1000には、ファイルインポートボタン1001、モード選択ボタン1002、画素輝度動作ボタン1003、幾何学的変換ボタン1004、及び画像表示領域1005がある。ファイルインポートボタン1001を選択することによって、ユーザは、反事実的推論生成プロセスにおいて用いる画像データのセットを選択することができる。モード選択ボタン1002を選択することによって、ユーザは、表形式データ処理動作(例えば、マスク選択、データ正規化)を指定するための表形式モードと、画像処理動作(例えば、画素輝度動作、幾何学的変換)を指定するための画像モードの間で選択することができる。画素輝度動作ボタン1003を選択することによって、ユーザは、画像データのセットに対して実行する1つ又は複数の画素輝度動作を選択することができる。画素輝度動作は、画像データのセットの1つ又は複数の画素の輝度を増加又は減少させる動作を含むことができる。幾何学的変換ボタン1004を選択することによって、ユーザは、画像データのセットに対して実行する1つ又は複数の幾何学的変換動作を選択することができる。例として、幾何学的変換動作は、並進運動、ユークリッド変換、リサイズ、スケーリング、又は画像データのセットの要素の幾何学的特徴を調整するための他の動作を含むことができる。画像表示領域1005には、ファイルインポートボタン1001を介してユーザが選択した画像データのセットのプレビューが表示される。例として、図10に示しているように、画像データのセットは、寝室の場面の画像を含むことができる。
【0101】
画像インポート窓1000を用いて、ユーザは、反事実的推論プロセスにおいて用いられる画像データのセットを選択することができる。また、ユーザは、画像データのセットに対して実行する1つ又は複数の画像処理動作を指定することができる。画像データのセットに対して1つ又は複数の画像処理動作を実行すると、反事実的推論プロセスによって生成される反事実的推論結果の精度を向上させることができる。
【0102】
次に、図11を参照して、表形式データに対する反事実的推論結果表示の例について説明する。
【0103】
図11は、本開示の実施形態に係る、表形式データの反事実的推論結果表示1100の例を示している図である。反事実的推論結果表示1100は、本開示の反事実的推論部によって生成される反事実的推論結果を表示するように構成しているグラフィカルユーザインタフェースである。本明細書で説明するように、反事実的推論結果は、変換済みデータのセット、変換済みデータのセットが所定の目標を達成するか否かを表す目標達成指標、及び変換済みデータのセットの特定のデータ特徴の間の相関を表す相関指標を含むことができる。また、反事実的推論結果表示1100は、ユーザ入力を受信して変換済みデータのセットの1つ又は複数のデータ特徴を変更するように構成していることができる。いくつかの実施形態において、図11に示している反事実的推論結果表示1100は、ユーザインタフェース部を介して提示することができる。
【0104】
図11に示しているように、反事実的推論結果表示1100は、主に、特徴表示領域1110、目標達成指標領域1120、及び相関指標領域1130を含む。
【0105】
特徴表示領域1110は、変換済みデータのセットのデータ特徴について示すためのグラフィカルユーザインタフェース要素である。本明細書で説明するように、表形式データの場合に、変換済みデータのセットは、数値的特徴のセット及びカテゴリー特徴のセットを含むことができる。例として、図11において、特徴1、特徴2、特徴3のような数値的特徴をスライダーを用いて表してもよく、特徴4、特徴5、特徴6のようなカテゴリー特徴をドロップダウンボックスを用いて表すことができる。
【0106】
本明細書で説明するように、いくつかの実施形態において、反事実的推論結果表示1100のユーザは、ユーザ入力を入力して、変換済みデータのセットの1つ又は複数のデータ特徴を変更することができる。例として、特徴1が「収入」を表す場合に、ユーザは特徴1のスライダーを用いて自分の収入の値を反事実的値へと変更し、この変更が反事実的推論結果にどのように影響するかを観察することができる。同様に、特徴4が「職業」を表す場合に、ユーザはドロップダウンボックスを用いて自分の職業を変更し、この変更が反事実的推論の結果にどのように影響するかを観察することができる。
【0107】
目標達成指標領域1120は、変換済みデータのセットが所定の目標を達成するか否かを示すためのグラフィカルユーザインタフェース要素である。例として、所定の目標が「ローン承認」である場合に、目標達成指標領域1120は、ローン申請者がローン承認について「成功」又は「失敗」するか否かを示すことができる。いくつかの実施形態において、目標達成指標領域1120は、ユーザによって行われたデータ特徴に対する変更に応答してリアルタイムで自動的に更新するように構成していることができる。したがって、ユーザは、データ特徴に対する変更が反事実的推論結果にどのように影響するかをリアルタイムで観察することができる。
【0108】
相関指標領域1130は、変換済みデータのセットの特定のデータ特徴の間の相関を示すグラフィカルユーザインタフェース要素である。例えば、図11に示しているように、互いに相関していると識別された特徴を相関指標領域1130において各クラスターとしてグループ化することができる。例として、相関指標領域1130は、「収入」と「職業」の間の相関を示すように同じクラスター内の特徴1及び特徴4をグループ化することができる。したがって、ユーザは、相関指標領域に示されている相関を考慮して、データ特徴を変更することができる。
【0109】
また、反事実的推論結果表示1100は、保存ボタン1135を含むことができる。保存ボタン1135を選択することによって、ユーザは、反事実的推論結果を所定の記憶領域に保存することができる。いくつかの実施形態において、反事実的推論結果を保存する際に、その反事実的推論結果を、分類部を学習させるための学習データとして用いるために学習管理部に送信することができる。
【0110】
図11に示している反事実的推論結果表示1100にしたがって、ユーザは、表形式データに関して反事実的推論管理装置によって生成される反事実的推論結果を表示し確認することができる。また、ユーザは、変換済みデータのセットのデータ特徴を反事実的値へと変更して、入力データに対する変更が反事実的推論結果にどのように影響するかを調べることができる。
【0111】
次に、図12を参照して、画像データの反事実的推論結果表示の例について説明する。
【0112】
図12は、本開示の実施形態に係る、画像データの反事実的推論結果表示1200の例を示している図である。反事実的推論結果表示1200は、本開示の反事実的推論部によって生成される反事実的推論結果を表示するように構成しているグラフィカルユーザインタフェースである。本明細書で説明するように、反事実的推論結果は、変換済みデータのデータ特徴とともに、変換済みデータのセット(例えば、変換された画像)を表示することができる。また、反事実的推論結果表示1200は、ユーザ入力を受信して、変換済みデータのセットの1つ又は複数のデータ特徴を変更するように構成していることができる。いくつかの実施形態において、図12に示している反事実的推論結果表示1200は、ユーザインタフェース部を介して提示することができる。
【0113】
図12に示しているように、反事実的推論結果表示1200は、主に、特徴表示領域1210及び変換済み画像表示領域1220を含む。
【0114】
特徴表示領域1210は、変換済みデータのセットのデータ特徴を示すためのグラフィカルユーザインタフェース要素である。本明細書で説明するように、画像データの場合に、変換済みデータのセットは、画像特徴のセットによって特徴づけられる変換済み画像を含むことができる。例として、図12において、特徴1~6のような画像特徴をスライダーを用いて表すことができる。
【0115】
本明細書で説明するように、いくつかの実施形態において、反事実的推論結果表示1200のユーザは、ユーザ入力を入力して、変換済みデータのセットの1つ又は複数のデータ特徴を変更することができる。例として、特徴1が「輝度」を表す場合に、ユーザは、特徴1のスライダーを用いて、輝度レベルを反事実的値へと変更して、この変更が変換済み画像にどのように影響するかを観察することができる。
【0116】
変換済み画像表示領域1220は、反事実的推論部によって生成される変換済み画像を示すためのグラフィカルユーザインタフェース要素である。例として、図12に示しているように、屋内照明のない寝室の場面の入力画像の場合に、変換済み画像表示領域1220は、室内照明がある寝室の場面を示すように画像特徴が変更された変換済み画像を表示することができる。いくつかの実施形態において、変換済み画像表示領域1220は、ユーザが行うデータ特徴に対する変更に応答してリアルタイムで自動的に更新するように構成していることができる。したがって、ユーザは、データ特徴に対する変更が反事実的推論結果にどのように影響するかをリアルタイムで観察することができる。
【0117】
また、反事実的推論結果表示1200は、保存ボタン1235を含むことができる。保存ボタン1135を選択することによって、ユーザは、反事実的推論結果を所定の記憶領域に保存することができる。いくつかの実施形態において、反事実的推論結果を保存する際に、その反事実的推論結果を、分類部を学習させるための学習データとして用いるために学習管理部に送信することができる。
【0118】
図11に示している反事実的推論結果表示1200にしたがって、ユーザは、画像データに関する反事実的推論管理装置によって生成された反事実的推論結果を表示し確認することができる。また、ユーザは、変換済みデータのセットのデータ特徴を反事実的値へと変更して、入力データに対する変更が反事実的推論結果にどのように影響するかを調べることができる。
【0119】
本明細書で説明するように、本開示の反事実的推論管理装置、反事実的推論管理方法及び反事実的推論管理コンピュータプログラム製品にしたがって、様々な有利な効果を奏することができる。
【0120】
例えば、反事実的推論部が学習済みの分類部の出力に基づいて学習するため、学習済みの反事実的推論部は、1つ又は複数のデータ特徴が、データ特徴が分類部の所定の目標を達成するような反事実的データへと変更されているような変換済みデータのセットを含む反事実的推論結果を生成することができる。これらの反事実的推論の結果は、入力因子が仮想的に変更された場合に特定の結果がどのように変わるかについての見識をユーザに提供する提言としてはたらくことができる。
【0121】
また、反事実的推論管理部がユーザが選択した反事実的特徴に基づいて学習するため、学習済みの反事実的推論部は、ユーザが所定の目標を達成するための様々な仮想ケースを探索することを可能にする柔軟な反事実的推論結果を生成することができる。
【0122】
また、反事実的推論部が、統計分析技術を利用して、変換済みデータのセットの1つ又は他のデータ特徴と相関を示す可能性が高いデータ特徴を予測するため、ユーザは実行不可能な反事実的推論(例えば、あるデータ特徴を変えることを必要とするが別の相関する特徴を変えてはならないような反事実的推論は実行することができない場合がある)を容易に排除することができる。
【0123】
また、反事実的推論部は、別々の動作モードの間で切り替えて、入力データが表データであるか画像データであるかに基づいて特殊な処理ステップを実行するように構成していることができるので、反事実的推論管理装置は、表形式データと画像データの両方に関する反事実的推論結果を生成することができる。
【0124】
本発明は、システム、方法、及び/又はコンピュータプログラム製品とすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータが読み取り可能なプログラム命令を有するコンピュータが読み取り可能な記憶媒体を含んでもよい。
【0125】
コンピュータが読み取り可能な記憶媒体は、命令実行装置によって用いられる命令を保持し記憶することができる有形装置であってもよい。コンピュータが読み取り可能な記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置、または前述の任意の適切な組合せとすることができるが、これらに限定されない。コンピュータが読み取り可能な記憶媒体のより具体的な例の非網羅的なリストは、以下を含む:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラマブル読取専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読取し専用メモリ(CD-ROM)、デジタル汎用ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードや溝内で指示が記録された隆起構造物等の機械的にエンコードされた装置及び前述の任意の適切な組み合わせ。 本明細書で用いられるコンピュータが読み取り可能な記憶媒体は、電波又は他の自由に伝播する電磁波、導波管又は他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)を通って伝播する電磁波、或いはワイヤを通って伝送される電デジタル信号自体であると解釈されるべきではない。
【0126】
本発明の態様は、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品を示すフローチャート図および/又はブロック図を参照して本明細書で説明されている。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図のブロックの組合せは、コンピュータが読み取り可能なプログラム命令によって実装できることを理解されたい。
【0127】
これらのコンピュータが読み取り可能なプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されて、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行されることで、フローチャート及び/又はブロック図の1つまたは複数のブロックで指定される特徴/動作を実装するための手段を実現する機械が提供される。これらのコンピュータが読み取り可能なプログラム命令はコンピュータ、プログラマブルデータ処理装置、及び/又は他の装置に特定の方法で特徴させるように指示することができるコンピュータが読み取り可能な記憶媒体に格納されてもよく、その結果、命令が格納されたコンピュータが読み取り可能な記憶媒体は、フローチャート及び/又はブロック図のブロック又は複数のブロックで指定された特徴/動作の態様を実施する命令を含む製造品となる。
【0128】
コンピュータが読み取り可能なプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他の装置上にロードされて、コンピュータ、他のプログラマブル装置、又は他の装置上で実行される命令がフローチャート及び/又はブロック図の1つまたは複数のブロックで指定された特徴/動作を実施するように、一連の動作ステップをコンピュータ、他のプログラマブル装置、又は他の装置上で実行させて、コンピュータ実装プロセスを生成することができる。
【0129】
本開示に係る実施形態は、クラウド・コンピューティング・インフラストラクチャを介してエンドユーザに提供されてもよい。クラウドコンピューティングとは、一般に、スケーラブルなコンピューティングリソースをネットワーク上のサービスとして提供することを意味する。より形式的には、クラウドコンピューティングは、コンピューティングリソースとその基盤となる技術的アーキテクチャ(例えば、サーバ、ストレージ、ネットワーク)との間の抽象化を提供するコンピューティング能力として定義されてもよく、迅速に展開及びリリースできる、構成可能なコンピューティングリソースの共有プールへの便利なオンデマンドネットワークアクセスを最小限の管理労力やサービスプロバイダの介入で可能にする。したがって、クラウドコンピューティングによれば、ユーザは、コンピューティングリソースを提供するように用いられる基盤となる物理システム(またはそれらのシステムの場所)に関係なく、「クラウド」内の仮想コンピューティングリソース(ストレージ、データ、アプリケーション、更には完全な仮想化コンピューティングシステム等)にアクセスできる。
【0130】
図中のフローチャート及びブロック図は、本発明の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、特徴、及び動作を示す。この点に関して、フローチャート又はブロック図の各ブロックは、指定された論理特徴を実装するための1つまたは複数の実行可能命令を備える、モジュール、セグメント、又は命令の一部を表してもよい。一部の代替実装形態では、ブロックに記載されている特徴は図に記載されている順序と異なる順序で実行されてもよい。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、または関連する特徴によっては、ブロックは逆の順序で実行されてもよい。また、ブロック図及び/又はフローチャート図の各ブロック、並びにブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された特徴又は動作を実行する、或いは特別な目的のハードウェアとコンピュータの命令の組み合わせを実行する特殊目的ハードウェアベースのシステムによって実施され得ることに留意されたい。
【0131】
上記は、例示的な実施形態に向けられているが、本発明の他の/更なる実施形態は、本発明の基本的な範囲から逸脱することなく考案することができ、本発明の範囲は以下の特許請求の範囲によって規定される。本開示の様々な実施形態の説明は例示の目的で提示されてきたが、網羅的であることも、開示された実施形態に限定されることも意図されていない。記載された実施形態の範囲及び趣旨から逸脱することなく、多くの変更及び変形が当業者には明らかであろう。本明細書で使用される用語は実施形態の原理や、市場で見られる技術に対する実際の適用又は技術的改善を説明するため、或いは当業者が本明細書で開示される実施形態を容易に理解することができるために選択された。
【0132】
本明細書で用いられる用語は、特定の実施形態を説明するためだけのものであり、様々な実施形態を限定することを意図したものではない。「セット」、「グループ」、「群」などは1つ又は複数を含むことが意図される。本明細書で使用されるように、「含む」及び/又は「含んでもよい」との用語は、記載された特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、又はそれらの組み合わせの存在又は追加を排除しない。様々な実施形態の例示的な態様の前述の詳細な説明において、本明細書の一部であり、様々な態様を実施するための特定の例示的な実施形態を例として示す添付の図面(同一の符号は同様の要素を表す)を参照した。これらの実施形態は、当業者が実施形態を実施することを可能にするのに十分詳細に説明されたが、他の実施形態を用いることも可能であり、様々な実施形態の範囲から逸脱することなく、論理的、機械的、電気的な変更等を行うことができる。上述の説明では、様々な実施形態を完全に理解するために、多くの具体的な詳細が記載された。しかし、これらの具体的な詳細なしで、様々な実施形態を実施することができる。また、他の箇所では、実施形態を曖昧にしないように、周知の回路、構造、及び技術は詳細に示されていない。
【符号の説明】
【0133】
100 コンピュータシステム
102 プロセッサ
104 メモリ
106 メモリバス
108 I/Oバス
109 バスインタフェース
110 I/Oバスインタフェース
112 端末インタフェース
113 ストレージインターフェース
114 I/Oデバイスインターフェース
115 ネットワークインタフェース
116 ユーザI/Oデバイス
117 ストレージ装置
124 表示システム
126 画面
130 通信網
150 反事実的推論管理アプリケーション
200 反事実的推論管理装置
210 分類部
220 反事実的推論部
230 前置処理部
232 表形式データ処理部
234 画像処理部
240 ユーザインタフェース部
250 フィードバック部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12