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

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

▶ KDDI株式会社の特許一覧

特許7103987情報処理装置、情報処理方法、及びプログラム
<>
  • 特許-情報処理装置、情報処理方法、及びプログラム 図1
  • 特許-情報処理装置、情報処理方法、及びプログラム 図2
  • 特許-情報処理装置、情報処理方法、及びプログラム 図3
  • 特許-情報処理装置、情報処理方法、及びプログラム 図4
  • 特許-情報処理装置、情報処理方法、及びプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-11
(45)【発行日】2022-07-20
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220712BHJP
   G06N 3/04 20060101ALI20220712BHJP
【FI】
G06N20/00 130
G06N3/04
【請求項の数】 6
(21)【出願番号】P 2019054204
(22)【出願日】2019-03-22
(65)【公開番号】P2020154925
(43)【公開日】2020-09-24
【審査請求日】2021-01-20
【新規性喪失の例外の表示】特許法第30条第2項適用 平成30年10月29日に電子情報通信学会技術研究報告、信学技報Vol.118、No.284に掲載、及び平成30年11月5日の電子情報通信学会技術研究報告にて発表
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100124084
【弁理士】
【氏名又は名称】黒岩 久人
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】米川 慧
(72)【発明者】
【氏名】牛 コウ
(72)【発明者】
【氏名】黒川 茂莉
(72)【発明者】
【氏名】小林 亜令
【審査官】金木 陽一
(56)【参考文献】
【文献】特開2019-028839(JP,A)
【文献】GANIN, Y., et al.,Domain-Adversarial Training of Neural Networks,arXiv.org [online],2016年05月26日,[retrieved on 2022-02-18], Retrieved from the Internet: <URL: https://arxiv.org/abs/1505.07818v4>
【文献】BECKHAM, C., et al.,Adversarial Mixup Resynthesizers,arXiv.org [online],2019年03月07日,[retrieved on 2022-02-18], Retrieved from the Internet: <URL: https://arxiv.org/abs/1903.02709v1>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 16/90
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
第1の次元数の空間である第1ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第1ベクトル空間を示す数値である空間ラベルが紐づけられている第1ベクトルデータ群と、第2の次元数の空間である第2ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第2ベクトル空間を示す数値である空間ラベルが紐づけられている第2ベクトルデータ群とを格納する記憶部と、
前記第1ベクトルデータ群を構成するベクトルデータそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータに変換する第1ベクトル変換部と、
前記第2ベクトルデータ群を構成するベクトルデータそれぞれを、前記第3の次元数のベクトルデータである第2特徴ベクトルデータに変換する第2ベクトル変換部と、
前記第1特徴ベクトルデータ及び前記第2特徴ベクトルデータの組を取得し、前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータを生成するとともに、前記内分比で前記第1ベクトル空間を示す空間ラベルと前記第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを前記第3特徴ベクトルデータに紐づける特徴ベクトル混合部と、
前記第1特徴ベクトルデータ、前記第2特徴ベクトルデータ、及び前記第3特徴ベクトルデータを学習ベクトルデータとして前記記憶部に記憶させる学習データ生成部と、
を備える情報処理装置。
【請求項2】
前記第1ベクトルデータ群を構成する各ベクトルデータは、当該ベクトルデータが属するクラスを示すクラスラベルが割り当てられているとともに、前記第2ベクトルデータ群を構成する各ベクトルデータは、前記第1ベクトルデータ群の各ベクトルデータに割り当てられたクラスラベルのうちいずれかのクラスラベルが割り当てられており、
前記情報処理装置はさらに、
前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを入力として当該学習ベクトルデータに紐付けられたクラスラベルの推定値を出力するクラス識別部と、
前記第3特徴ベクトルデータを入力として当該学習ベクトルデータに紐付けられた空間ラベルの推定値を出力するデータ識別部と、
前記クラス識別部に前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを入力したときの推定値を含む第1評価関数の評価値に基づいて前記クラス識別部、前記第1ベクトル変換部、及び前記第2ベクトル変換部を更新するとともに、前記データ識別部に前記第3特徴ベクトルデータを入力したときの推定値を含む第2評価関数の評価値に基づいて前記データ識別部、前記第1ベクトル変換部、及び前記第2ベクトル変換部を更新する更新部をさらに備える、
請求項1に記載の情報処理装置。
【請求項3】
前記第1評価関数は、前記クラス識別部に前記第1特徴ベクトルデータを入力したときの推定値と、前記第1特徴ベクトルデータに紐付けられているクラスラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力し、かつ前記クラス識別部に前記第2特徴ベクトルデータを入力したときの推定値と、前記第2特徴ベクトルデータに紐付けられているクラスラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力するように構成されており、
前記第2評価関数は、前記データ識別部に前記第3特徴ベクトルデータを入力したときの推定値と、前記第3特徴ベクトルデータに紐付けられている空間ラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力するように構成されている、
請求項2に記載の情報処理装置。
【請求項4】
前記更新部は、
前記第1評価関数の評価値が小さくなるように前記クラス識別部を更新し、
前記第2評価関数の評価値が小さくなるように前記データ識別部を更新し、
前記第1評価関数の評価値が小さくなり、かつ前記第2評価関数の評価値が大きくなるように、前記第1ベクトル変換部及び前記第2ベクトル変換部を更新する、
請求項3に記載の情報処理装置。
【請求項5】
プロセッサが、
第1の次元数の空間である第1ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第1ベクトル空間を示す数値である空間ラベルが紐づけられている第1ベクトルデータ群と、第2の次元数の空間である第2ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第2ベクトル空間を示す数値である空間ラベルが紐づけられている第2ベクトルデータ群とを記憶部から取得するステップと、
前記第1ベクトルデータ群を構成するベクトルデータそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータに変換するステップと、
前記第2ベクトルデータ群を構成するベクトルデータそれぞれを、前記第3の次元数のベクトルデータである第2特徴ベクトルデータに変換するステップと、
前記第1特徴ベクトルデータ及び前記第2特徴ベクトルデータの組を取得し、前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータを生成するステップと、
前記内分比で前記第1ベクトル空間を示す空間ラベルと前記第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを前記第3特徴ベクトルデータに紐づけるステップと、
前記第1特徴ベクトルデータ、前記第2特徴ベクトルデータ、及び前記第3特徴ベクトルデータを学習ベクトルデータとして前記記憶部に記憶させるステップと、
を実行する情報処理方法。
【請求項6】
コンピュータに、
第1の次元数の空間である第1ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第1ベクトル空間を示す数値である空間ラベルが紐づけられている第1ベクトルデータ群と、第2の次元数の空間である第2ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第2ベクトル空間を示す数値である空間ラベルが紐づけられている第2ベクトルデータ群とを記憶部から取得する機能と、
前記第1ベクトルデータ群を構成するベクトルデータそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータに変換する機能と、
前記第2ベクトルデータ群を構成するベクトルデータそれぞれを、前記第3の次元数のベクトルデータである第2特徴ベクトルデータに変換する機能と、
前記第1特徴ベクトルデータ及び前記第2特徴ベクトルデータの組を取得し、前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータを生成する機能と、
前記内分比で前記第1ベクトル空間を示す空間ラベルと前記第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを前記第3特徴ベクトルデータに紐づける機能と、
前記第1特徴ベクトルデータ、前記第2特徴ベクトルデータ、及び前記第3特徴ベクトルデータを学習ベクトルデータとして前記記憶部に記憶させる機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ニューラルネットワークを始めとする機械学習の技術が急速に発展してきている。ニューラルネットワークのような教師あり機械学習では、学習に用いる学習データの精度(量及び質)が学習モデルの性能に大きく関わってくる。
【0003】
学習データの精度を向上させるため、例えば、非特許文献1に開示されている技術では、ドメイン敵対的訓練(Domain Adversarial Training;DAT)を用いて異なる学習データを援用する技術が提案されている。DATは、入力データのクラス識別器とドメイン識別器とを同時に学習させ、なおかつドメイン識別が不能となるように入力データの変換を学習させることで、特徴表現のドメイン不変性の獲得を狙う技術である。なお、ドメイン識別器とは、ある学習データが、異なる学習データのうちどの学習データに由来するデータであるかを識別するための識別器である。
【0004】
獲得可能な特徴表現のドメイン不変性の程度は、ドメイン識別器として用いる関数の表現力、すなわち仮説クラスに依存する。ドメイン識別器の表現力を高める方法のひとつとして、より複雑な関数を採用することが考えられる。一方、学習データを所与とした場合、ドメイン識別器を汎化させるにはその関数の複雑度をある程度制限する必要があることが知られている(非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0005】
【文献】Y. Ganin et al., “Domain-Adversarial Training of Neural Networks,” J. Mach. Learn. Res., vol. 17, pp. 1-35, May 2016.
【文献】T. Suzuki, “Fast generalization error bound of deep learning from a kernel perspective,” Proc. Twenty-First Int. Conf. Artif. Intell. Stat., vol. 84, pp. 1397-1406, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0006】
学習データを所与とすることによるドメイン識別器の表現力の限界は、DATにおける入力データの変換性能の限界にもつながり、ひいては学習データの精度向上にも影響する。
【0007】
本発明はこれらの点に鑑みてなされたものであり、学習データを所与とした場合であってもよりドメイン識別器を汎化させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1の態様は、情報処理装置である。この装置は、第1の次元数の空間である第1ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第1ベクトル空間を示す数値である空間ラベルが紐づけられている第1ベクトルデータ群と、第2の次元数の空間である第2ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第2ベクトル空間を示す数値である空間ラベルが紐づけられている第2ベクトルデータ群とを格納する記憶部と、前記第1ベクトルデータ群を構成するベクトルデータそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータに変換する第1ベクトル変換部と、前記第2ベクトルデータ群を構成するベクトルデータそれぞれを、前記第3の次元数のベクトルデータである第2特徴ベクトルデータに変換する第2ベクトル変換部と、前記第1特徴ベクトルデータ及び前記第2特徴ベクトルデータの組を取得し、前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータを生成するとともに、前記内分比で前記第1ベクトル空間を示す空間ラベルと前記第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを前記第3特徴ベクトルデータに紐づける特徴ベクトル混合部と、前記第1特徴ベクトルデータ、前記第2特徴ベクトルデータ、及び前記第3特徴ベクトルデータを学習ベクトルデータとして前記記憶部に記憶させる学習データ生成部と、を備える。
【0009】
前記第1ベクトルデータ群を構成する各ベクトルデータは、当該ベクトルデータが属するクラスを示すクラスラベルが割り当てられているとともに、前記第2ベクトルデータ群を構成する各ベクトルデータは、前記第1ベクトルデータ群の各ベクトルデータに割り当てられたクラスラベルのうちいずれかのクラスラベルが割り当てられていてもよく、前記情報処理装置はさらに、前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを入力として当該学習ベクトルデータに紐付けられたクラスラベルの推定値を出力するクラス識別部と、前記第3特徴ベクトルデータを入力として当該学習ベクトルデータに紐付けられた空間ラベルの推定値を出力するデータ識別部と、前記クラス識別部に第1特徴ベクトルデータと前記第2特徴ベクトルデータとを入力したときの推定値を含む第1評価関数の評価値に基づいて前記クラス識別部、前記第1ベクトル変換部、及び前記第2ベクトル変換部を更新するとともに、前記データ識別部に前記第3特徴ベクトルデータを入力したときの推定値を含む第2評価関数の評価値に基づいて前記データ識別部、前記第1ベクトル変換部、及び前記第2ベクトル変換部を更新する更新部をさらに備えてもよい。
【0010】
前記第1評価関数は、前記クラス識別部に前記第1特徴ベクトルデータを入力したときの推定値と、前記第1特徴ベクトルデータに紐付けられているクラスラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力し、かつ前記クラス識別部に前記第2特徴ベクトルデータを入力したときの推定値と、前記第2特徴ベクトルデータに紐付けられているクラスラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力するように構成されていてもよく、前記第2評価関数は、前記データ識別部に前記第3特徴ベクトルデータを入力したときの推定値と、前記第3特徴ベクトルデータに紐付けられている空間ラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力するように構成されていてもよい。
【0011】
前記更新部は、前記第1評価関数の評価値が小さくなるように前記クラス識別部を更新してもよく、前記第2評価関数の評価値が小さくなるように前記データ識別部を更新してもよく、前記第1評価関数の評価値が小さくなり、かつ前記第2評価関数の評価値が大きくなるように、前記第1ベクトル変換部及び前記第2ベクトル変換部を更新してもよい。
【0012】
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、第1の次元数の空間である第1ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第1ベクトル空間を示す数値である空間ラベルが紐づけられている第1ベクトルデータ群と、第2の次元数の空間である第2ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第2ベクトル空間を示す数値である空間ラベルが紐づけられている第2ベクトルデータ群とを記憶部から取得するステップと、前記第1ベクトルデータ群を構成するベクトルデータそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータに変換するステップと、前記第2ベクトルデータ群を構成するベクトルデータそれぞれを、前記第3の次元数のベクトルデータである第2特徴ベクトルデータに変換するステップと、前記第1特徴ベクトルデータ及び前記第2特徴ベクトルデータの組を取得し、前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータを生成するステップと、前記内分比で前記第1ベクトル空間を示す空間ラベルと前記第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを前記第3特徴ベクトルデータに紐づけるステップと、前記第1特徴ベクトルデータ、前記第2特徴ベクトルデータ、及び前記第3特徴ベクトルデータを学習ベクトルデータとして前記記憶部に記憶させるステップと、を実行する。
【0013】
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、第1の次元数の空間である第1ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第1ベクトル空間を示す数値である空間ラベルが紐づけられている第1ベクトルデータ群と、第2の次元数の空間である第2ベクトル空間におけるベクトルデータの集合であって各ベクトルデータに前記第2ベクトル空間を示す数値である空間ラベルが紐づけられている第2ベクトルデータ群とを記憶部から取得する機能と、前記第1ベクトルデータ群を構成するベクトルデータそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータに変換する機能と、前記第2ベクトルデータ群を構成するベクトルデータそれぞれを、前記第3の次元数のベクトルデータである第2特徴ベクトルデータに変換する機能と、前記第1特徴ベクトルデータ及び前記第2特徴ベクトルデータの組を取得し、前記第1特徴ベクトルデータと前記第2特徴ベクトルデータとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータを生成する機能と、前記内分比で前記第1ベクトル空間を示す空間ラベルと前記第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを前記第3特徴ベクトルデータに紐づける機能と、前記第1特徴ベクトルデータ、前記第2特徴ベクトルデータ、及び前記第3特徴ベクトルデータを学習ベクトルデータとして前記記憶部に記憶させる機能と、を実現させる。
【0014】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0015】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0016】
本発明によれば、学習データを所与とした場合であってもよりドメイン識別器を汎化させることができる。
【図面の簡単な説明】
【0017】
図1】実施の形態の概要を説明するための模式図である。
図2】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
図3】実施の形態に係る情報処理装置が実行する学習処理を説明するための図である。
図4】実施の形態に係る更新部の前後における第3特徴ベクトルデータの分布を概念的に示す模式図である。
図5】実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0018】
<実施の形態の概要>
本発明の実施の形態は、汎用的なデータ強化手法であるmixupを、DATのドメイン識別器に適用することにより、学習データを所与とした場合であってもよりドメイン識別器を汎化させることを可能とする。
【0019】
図1は、実施の形態の概要を説明するための模式図である。図1において、第1ベクトル空間は、あるデータソース(ドメイン)から得られた学習データを表現するベクトル空間である。また、第2ベクトル空間は、第1ベクトル空間で表現される学習データとは異なるデータソースから得られた学習データを表現するベクトル空間である。
【0020】
一例として、例えば、第1ベクトル空間のベクトルは、医用画像データに由来するベクトルである。第1ベクトル空間を規定する各軸は、医用画像データの特徴量に対応する。図示の都合上、図1において第1ベクトル空間は3次元空間として表しているが、一般に、N個(Nは正の整数)の特徴量を用いることにより、1枚の医用画像データはN次元空間中の1点に射影される。
【0021】
第2ベクトル空間のベクトルは、例えば、医用画像データを読影した医師が作成したカルテに由来するベクトルである。具体的には、第2ベクトル空間のベクトルは、医用画像データを読影した医師が作成したカルテをDoc2Vec等の既知の手法を用いて多次元ベクトルに変換して得られたベクトルであり、これにより、カルテを多次元空間の1点に射影することができる。図示の都合上、図1において第2ベクトル空間は2次元空間として表しているが、一般にはより高次元である。
【0022】
なお、上述のデータやそのベクトル化手法は一例である。本実施の形態は、異なるデータソースのデータが、何らかの手法によってそれぞれベクトル表現されていれば適用でき、データの種類やベクトル化手法は問わない。
【0023】
いま、精度向上を実現したい主タスクが定義されるドメインを目標ドメイン、主タスクの精度向上のために援用するデータが得られるドメインを元ドメインと呼ぶことにする。図1において、第1ベクトル空間のベクトルで表現されるベクトルデータxが目標ドメインに由来するベクトルであり、第2ベクトル空間のベクトルで表現されるベクトルデータxが元ドメインに由来するベクトルである。
【0024】
目標ドメインに由来するベクトルデータxはd次元のベクトルデータであり、サンプル数はnであるとする。また、元ドメインに由来するベクトルデータxはd次元のベクトルデータであり、サンプル数はnであるとする。図1に示すように、目標ドメインに由来する任意のベクトルデータxはd次元の空間である第1ベクトル空間の1点で表され、元ドメインに由来する任意のベクトルデータxはd次元の空間である第2ベクトル空間の1点で表される。
【0025】
第1ベクトル空間のベクトルデータxには、第1ベクトル空間のベクトルであることを示す空間ラベルとして「1」を割り当てることにする。同様に、第2ベクトル空間のベクトルデータxには、第2ベクトル空間のベクトルであることを示す空間ラベルとして「0」を割り当てることにする。なお、空間ラベルとして0や1を割り当てることは一例であり、他の値であってもよい。
【0026】
一般に、第1ベクトル空間の次元数と、第2ベクトル空間の次元数とは異なり、このままでは元ドメインに由来するベクトルデータxを目標ドメインに由来するベクトルデータxに援用することはできない。
【0027】
そこで、実施の形態に係る情報処理装置は、第1ベクトルデータ群を構成するベクトルデータxそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータzに変換する。同様に、実施の形態に係る情報処理装置は、第2ベクトルデータ群を構成するベクトルデータxそれぞれを、第3の次元数のベクトルデータである第2特徴ベクトルデータzに変換する。これにより、第1ベクトル空間のベクトルデータxと第2ベクトル空間のベクトルデータxとは、ともに第3の次元数のベクトル空間である第3ベクトル空間のベクトルデータに変換される。以下、第1ベクトル空間のベクトルデータxを第3ベクトル空間の第1特徴ベクトルデータzに変換する変換を第1ベクトル変換Gft、第2ベクトル空間のベクトルデータxを第3ベクトル空間の第2特徴ベクトルデータzに変換する変換を第2ベクトル変換Gfsと記載することがある。
【0028】
第1ベクトル変換Gft及び第2ベクトル変換Gfsは、多層パーセプトロンで構成してよく、特にd、d、d等の次元が整合しているユニット数を有すれば3層の多層パーセプトロンで構成してもよいがこの限りではない。
【0029】
第1ベクトル変換Gft及び第2ベクトル変換Gfsは、それぞれベクトルデータxとベクトルデータxとを同一次元のベクトルデータである第1特徴ベクトルデータz及び第2特徴ベクトルデータzに変換するが、変換された第1特徴ベクトルデータzと第2特徴ベクトルデータzとが第3ベクトル空間中の近傍領域に変換される保証はない。むしろ、第1ベクトル変換Gft及び第2ベクトル変換Gfsを適当に設定すると、第3ベクトル空間において第1特徴ベクトルデータzが存在する領域と、第2特徴ベクトルデータzが存在する領域とは乖離する蓋然性が高い。
【0030】
第3ベクトル空間において第1特徴ベクトルデータzが存在する領域と、第2特徴ベクトルデータzが存在する領域とが乖離していると、たとえ第1特徴ベクトルデータzと第2特徴ベクトルデータzとの次元数が同じであったとしても、第2特徴ベクトルデータzを第1特徴ベクトルデータzに援用したところで、DATのための精度の高い学習データが得られたとは言い難い。これは、ドメイン識別器の構成が容易であることによって端的に示される。
【0031】
そこで、実施の形態に係る情報処理装置は、既知のmixupの手法を用いて第2特徴ベクトルデータzと第1特徴ベクトルデータzとを混合し、新たな第3特徴ベクトルデータzを生成する。具体的には、実施の形態に係る情報処理装置は、第1特徴ベクトルデータzと第2特徴ベクトルデータzとを内分比λ:1-λ(0≦λ≦1)で内分して得られる新たなベクトルデータを第3特徴ベクトルデータzとして生成する。さらに具体的には、z=λz+(1-λ)zとなる。なお、実施の形態に係る情報処理装置は、0以上1以下の値を取る確率変数(例えば、ベータ分布にしたがう変数)としてλを定める。λの値は0又は1となり得るので、zはz又はzそのものも含み得る。
【0032】
実施の形態に係る情報処理装置は、生成した第3特徴ベクトルデータzにも、空間ラベルを割り当てる。上述したように、第1ベクトル空間のベクトルデータxには空間ラベルとして1が割り当てられているので、第1特徴ベクトルデータzにも空間ラベルとして1が割り当てられている。同様に、第2ベクトル空間のベクトルデータxには空間ラベルとして0が割り当てられているので、第2特徴ベクトルデータzにも空間ラベルとして0が割り当てられている。
【0033】
そこで、実施の形態に係る情報処理装置は、第3特徴ベクトルデータzを生成する際に用いた内分比と同じ内分比を用いて、空間ラベルも内分した値を第3特徴ベクトルデータzの空間ラベルとして割り当てる。例えば、第1特徴ベクトルデータzと第2特徴ベクトルデータzとを内分比λ:1-λで内分して得られた第3特徴ベクトルデータzの空間ラベルとしてλ×0+(1-λ)×1を割り当てる。
【0034】
図1に示す第3ベクトル空間において、第1特徴ベクトルデータzを黒塗りの丸、第2特徴ベクトルデータzを黒塗りの四角、第3特徴ベクトルデータzを黒塗りの三角で示している。図1はあくまでも模式図であるが、第3ベクトル空間において第2特徴ベクトルデータzの集合が存在する領域と第1特徴ベクトルデータzの集合が存在する領域との間に第3特徴ベクトルデータzの集合が存在する領域が形成され、第3ベクトル空間における特徴ベクトルデータが一つのまとまった集合となる。
【0035】
ここで、上述したドメイン識別器は、第3ベクトル空間における各特徴ベクトルデータに割り当てられた空間ラベルを識別するための識別器である。したがって、mixupの手法を用いて第1特徴ベクトルデータzと第2特徴ベクトルデータzとを混合して新たな第3特徴ベクトルデータzとした場合と、第1特徴ベクトルデータzと第2特徴ベクトルデータzとのみが存在する場合とでは、前者の方が後者よりも空間ラベルを識別するのは難しい問題となる。つまり、mixupの手法を用いて第1特徴ベクトルデータzと第2特徴ベクトルデータzとを混合し、新たな第3特徴ベクトルデータzを生成することにより、より汎用性の高いドメイン識別器を学習するための学習データを生成できることを意味する。
【0036】
以上より、実施の形態に係る情報処理装置は、学習データが所与であってもドメイン識別器を汎化させるための学習データを生成することができる。
【0037】
<実施の形態に係る情報処理装置1の機能構成>
図2は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。図2において、矢印は主なデータの流れを示しており、図2に示していないデータの流れがあってもよい。図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0038】
記憶部2は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
【0039】
制御部3は、情報処理装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによってベクトル変換部30、特徴ベクトル混合部31、学習データ生成部32、クラス識別部33、データ識別部34、及び更新部35として機能する。
【0040】
なお、図2は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0041】
記憶部2は、第1の次元数の空間である第1ベクトル空間におけるベクトルデータxの集合である第1ベクトルデータ群と、第2の次元数の空間である第2ベクトル空間におけるベクトルデータxの集合である第2ベクトルデータ群とを格納している。ここで、記憶部2は、第1ベクトルデータ群を構成する各ベクトルデータxに第1ベクトル空間を示す数値である空間ラベルを紐づけて格納している。同様に、記憶部2は、第2ベクトルデータ群を構成する各ベクトルデータxに第2ベクトル空間を示す数値である空間ラベルを紐づけて格納している。
【0042】
ベクトル変換部30は、第1ベクトル変換部300と第2ベクトル変換部301とを備える。第1ベクトル変換部300は、第1ベクトルデータ群を構成するベクトルデータxそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータzに変換する。すなわち、第1ベクトル変換部300は、上述した第1ベクトル変換Gftを実行する。
【0043】
第2ベクトル変換部301は、第2ベクトルデータ群を構成するベクトルデータxそれぞれを、第3の次元数のベクトルデータである第2特徴ベクトルデータzに変換する。すなわち、第2ベクトル変換部301は、上述した第2ベクトル変換Gfsを実行する。
【0044】
特徴ベクトル混合部31は、第1特徴ベクトルデータz及び第2特徴ベクトルデータzの組を取得し、第1特徴ベクトルデータzと第2特徴ベクトルデータzとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータzを生成する。また、特徴ベクトル混合部31は、第3特徴ベクトルデータzを生成する際に用いた内分比と同じ内分比を用いて第1ベクトル空間を示す空間ラベルと第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを第3特徴ベクトルデータzに紐づける。
【0045】
学習データ生成部32は、第1特徴ベクトルデータz、第2特徴ベクトルデータz、及び第3特徴ベクトルデータzを学習ベクトルデータとして記憶部2に記憶させる。これにより、情報処理装置1は、所与の学習データから、より汎化性能の高いドメイン識別器を生成するための学習データを生成することができる。
【0046】
以上より、実施の形態に係る情報処理装置1は、所与の学習データである第1ベクトルデータと第2ベクトルデータとから、最終的に第1特徴ベクトルデータz、第2特徴ベクトルデータ、及び第3特徴ベクトルデータzを含む学習ベクトルデータを生成することができる。ここで、情報処理装置1の主タスクは、学習データに基づいて生成されたクラス識別器の出力により、目標ドメインの事例の目的変数を予測することである。以下、クラス識別器及びドメイン識別器の学習について説明する。
【0047】
第1ベクトルデータ群を構成する各ベクトルデータxは、各ベクトルデータxが属するクラスを示すクラスラベルが割り当てられている。例えば、第1ベクトルデータ群を構成する各ベクトルデータxが肺のX線画像データに由来するベクトルである場合において、各ベクトルデータxには、結節陰影を含むことを示すクラスラベル「1」と結節陰影を含まないことを示すクラスラベル「0」と、のいずれかのクラスラベルが割り当てられているとする。ベクトルデータxを変換して得られる第1特徴ベクトルデータzも、元となったベクトルデータxと同じクラスラベルが割り当てられる。
【0048】
第2ベクトルデータ群を構成する各ベクトルデータxには、第1ベクトルデータ群の各ベクトルデータxに割り当てられたクラスラベルのうちいずれかのクラスラベルが割り当てられている。例えば、第2ベクトルデータ群を構成する各ベクトルデータxが肺のX線画像を読影した医師が作成したカルテに由来するベクトルである場合にも、各ベクトルデータxには、結節陰影を含むことを示すクラスラベル「1」と結節陰影を含まないことを示すクラスラベル「0」と、のいずれかのクラスラベルが割り当てられている。ベクトルデータxを変換して得られる第2特徴ベクトルデータzも、元となったベクトルデータxと同じクラスラベルが割り当てられる。
【0049】
クラス識別部33は、学習ベクトルデータのうち第1特徴ベクトルデータzと第2特徴ベクトルデータzとを入力として各特徴ベクトルデータに紐付けられたクラスラベルの推定値を出力する。クラス識別部33は、上述のクラス識別器に相当する。
【0050】
データ識別部34は、学習ベクトルデータのうち第3特徴ベクトルデータzを入力としてその第3特徴ベクトルデータzに紐付けられた空間ラベルの推定値を出力する。データ識別部34は、上述のドメイン識別器に相当する。
【0051】
図3は、実施の形態に係る情報処理装置1が実行する学習処理を説明するための図である。以下、本明細書及び図3に記載されている記号の定義について、既出のものを含めてまとめて記載する。
【0052】
(記号の定義)
・第1ベクトルデータ群を構成するベクトルデータ : x
・各ベクトルデータxに割り当てられたクラスラベル : y
・第1ベクトル空間の空間ラベル : d
・第2ベクトルデータ群を構成するベクトルデータ : x
・各ベクトルデータxに割り当てられたクラスラベル : y
・第2ベクトル空間の空間ラベル : d
・第1ベクトル変換 : Gft
・第2ベクトル変換 : Gfs
・第1特徴ベクトルデータ : z
・第2特徴ベクトルデータ : z
・第3特徴ベクトルデータ : z
・各第3特徴ベクトルデータzに割り当てられた空間ラベル : d
・クラス識別器 : G
・データ識別器 : G
・クラス識別器Gによる第1特徴ベクトルデータzの識別結果 : P
・クラス識別器Gによる第2特徴ベクトルデータzの識別結果 : P
・データ識別器Gによる各特徴ベクトルデータの識別結果 : q
・クラス識別器の損失関数 : L
・データ識別器の損失関数 : L
【0053】
ここで、ベクトルデータxの個数をnとし、i番目(iは1以上n以下の整数)のベクトルデータx と記載する。同様に、ベクトルデータxの個数をnとし、j番目(jは1以上n以下の整数)のベクトルデータx と記載する。また、ベクトルデータx に紐付けられているクラスラベルをy とし、ベクトルデータx に紐付けられているクラスラベルをy とする。
【0054】
第1ベクトル変換Gftは、ベクトルデータxを第1特徴ベクトルデータzに変換するため、z=Gft(x)と書ける。同様に、第2ベクトル変換Gfsは、ベクトルデータxを第2特徴ベクトルデータzに変換するため、z=Gfs(x)である。
【0055】
クラス識別器Gは学習データz(第1特徴ベクトルデータz及び第2特徴ベクトルデータz)を入力したとき、0から1の値を出力する。すなわち、G(z)→[0,1]である。データ識別器は第3特徴ベクトルデータzを入力したとき、0から1の値を出力する。すなわち、G(z)→[0,1]である。
【0056】
クラス識別器Gとデータ識別器Gとのいずれも分類器であるため、一般的な交差エントロピー損失L(p,y)=-{ylogp+(1-y)log(1-p)}を用いることができる。交差エントロピー損失L(p,y)は、pとyとの値が一致するとき最小値を取る。
【0057】
以上を用いると、DATは下記のような最適化問題として定式化される。
【0058】
【数1】
ここで、γは損失間のバランシングパラメータであり、任意の正数を定めてよいが、例えばγ=1としてもよい。
【0059】
式(1)において、第1項は元ドメインに由来するベクトルデータxに関してクラス識別を学習するための項である。また、第2項は、目標ドメインに由来するベクトルデータxに関してクラス識別を学習するための項である。
【0060】
式(1)において、第3項は与えられた事例のドメイン由来に関する識別損失であり、ベクトル変換のパラメータに関しては最小化、データ識別器のパラメータに関しては最大化をする。すなわち、ベクトル変換は変換後のベクトルの見分けが付かなくなるように学習し、データ識別器は変換後のベクトルデータの由来となったドメインを見分けるよう学習する。この学習方法により、ベクトル変換はよりドメインの見分けがつかない特徴表現、つまりドメイン不変な特徴表現を獲得することができる。そしてそれはデータ識別器の性能に依存することになる。
【0061】
更新部35は、クラス識別部33に第1特徴ベクトルデータzと第2特徴ベクトルデータzとを入力したときの推定値を含む第1評価関数の評価値に基づいて、クラス識別部33、第1ベクトル変換部300、及び第2ベクトル変換部を301更新する。ここで、第1評価関数は、式(1)の第1項及び第2項に対応する。すなわち、第1評価関数は、クラス識別部33に学習ベクトルデータを入力したときの推定値と、学習ベクトルデータに紐付けられているクラスラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力するように構成されている。
【0062】
また、更新部35は、データ識別部34に第3特徴ベクトルデータzを入力したときの推定値を含む第2評価関数の評価値に基づいて、データ識別部34、第1ベクトル変換部300、及び第2ベクトル変換部301を更新する。ここで、第2評価関数は、式(1)の第3項から負号及び係数を除いた部分に対応する。すなわち、第2評価関数は、データ識別部34に第3特徴ベクトルデータzを入力したときの推定値と、第3特徴ベクトルデータzに紐付けられている空間ラベルとの差が小さい場合は、大きい場合よりも小さな評価値を出力するように構成されている。
【0063】
更新部35は、式(1)に示す評価関数にしたがって更新処理を実行する。このため、更新部35は、第1評価関数の評価値が小さくなるようにクラス識別部33を更新し、第2評価関数の評価値が小さくなるようにデータ識別部34を更新し、第1評価関数の評価値が小さくなり、かつ第2評価関数の評価値が大きくなるように、第1ベクトル変換部300及び第2ベクトル変換部301を更新する。
【0064】
これにより、第1ベクトル変換部300及び第2ベクトル変換部301は、それぞれベクトルデータx及びベクトルデータxを第3ベクトル空間に射影したときに、各ベクトルデータに紐付けられたクラスラベルによって射影先が分類されやすくなるように更新される。また、第1ベクトル変換部300及び第2ベクトル変換部301は、それぞれベクトルデータx及びベクトルデータxを第3ベクトル空間に射影したときに、由来となるベクトルデータの異同に依存せず同じ領域に射影されるように更新される。
【0065】
図4(a)-(b)は、実施の形態に係る更新部35による更新処理の前後における第3特徴ベクトルデータzの分布を概念的に示す模式図である。具体的には、図4(a)は、更新部35による更新処理前の第3特徴ベクトルデータzの分布を示す模式図である。一方、図4(b)は、更新部35による更新処理後の第3特徴ベクトルデータzの分布を示す模式図である。
【0066】
図4(a)-(b)において、第1特徴ベクトルデータzのうち、紐付けられているクラスラベルが「0」のものを黒塗りの丸で示し、紐付けられているクラスラベルが「1」のものを白抜きの丸で示している。また、第2特徴ベクトルデータzのうち、紐付けられているクラスラベルが「0」のものを黒塗りの四角で示し、紐付けられているクラスラベルが「1」のものを白抜きの四角で示している。
【0067】
図4(a)に示すように、更新部35による更新処理の前は、第1特徴ベクトルデータzはクラスラベルの異同によらず近傍領域に集合している。同様に、第2特徴ベクトルデータzもクラスラベルの異同によらず近傍領域に集合している。さらに、第1特徴ベクトルデータzが集合している領域と第2特徴ベクトルデータzが集合している領域とは、第3ベクトル空間において乖離している。この状態では、クラス識別器Gによるクラス識別は難しく、データ識別器Gによる識別は容易である。つまり、主タスクであるクラス識別器の性能は期待できず、かつ、データ援用の効果も薄いといえる。
【0068】
これに対し、図4(b)に示すように、更新部35による更新処理の後は、第1特徴ベクトルデータzは紐付けられているクラスラベルに応じて第3ベクトル空間内の異なる領域にそれぞれ集合している。第2特徴ベクトルデータzも、紐付けられているクラスラベルに応じて第3ベクトル空間内の異なる領域にそれぞれ集合している。さらに、第1特徴ベクトルデータzのうちクラスラベルが1であるものが集合している領域と、第2特徴ベクトルデータzのうちクラスラベルが1であるものが集合している領域は重複している。同様に、第1特徴ベクトルデータzのうちクラスラベルが0であるものが集合している領域と、第2特徴ベクトルデータzのうちクラスラベルが0であるものが集合している領域も重複している。
【0069】
この状態は、クラス識別器Gによるクラス識別が容易となり、かつデータ識別器Gによる識別は困難となっている。つまり、主タスクであるクラス識別器の性能及びデータ援用の効果がうまく出ているといえる。
【0070】
なお、上記では、学習データ全量を用いて損失を表記してきたが、更新部35は、ミニバッチ確率的勾配法を用いて最適化を実行してもよい。確率的勾配法を実施する際には、更新部35は、モデルパラメータのそれぞれについて式(1)に示す目的関数の微分を計算して更新式を求めてもよいが、自動微分機能を備えた数値計算フレームワークを用いてもよい。最適化の更新処理の終了条件は、既定の回数に達することとしてもよく、また、学習データを構築用と検証用とに分けて構築用で更新処理をし、検証用で目的関数の値を算出し、検証用の目的関数の値が既定の回数だけ連続で改善(より小さくなること)しなかった場合としてもよく、さらに、これら両方のいずれかに該当することとしてもよい。モデルパラメータの初期値には標準正規分布に従う乱数を用いてもよい。
【0071】
<情報処理装置1が実行する情報処理方法の処理フロー>
図5は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
【0072】
第1ベクトル変換部300は、第1ベクトルデータ群を記憶部2から読み出して取得する(S2)。第1ベクトル変換部300は、第1ベクトルデータ群を構成するベクトルデータxtそれぞれを、第3の次元数のベクトルデータである第1特徴ベクトルデータzに変換する(S4)。
【0073】
第2ベクトル変換部301は、第2ベクトルデータ群を記憶部2から読み出して取得する(S6)。第2ベクトル変換部301は、第2ベクトルデータ群を構成するベクトルデータxそれぞれを、第3の次元数のベクトルデータである第2特徴ベクトルデータzに変換する(S8)。
【0074】
特徴ベクトル混合部31は、第1特徴ベクトルデータz及び第2特徴ベクトルデータzの組を取得し、第1特徴ベクトルデータzと第2特徴ベクトルデータzとを0以上1以下の確率変数で定まる内分比で内分した第3特徴ベクトルデータzを生成する(S10)。
【0075】
特徴ベクトル混合部31は、第3特徴ベクトルデータzの生成に利用した内分比で第1ベクトル空間を示す空間ラベルと第2ベクトル空間を示す空間ラベルとを内分した空間ラベルを生成し第3特徴ベクトルデータに紐づける(S12)。
【0076】
学習データ生成部32は、第1特徴ベクトルデータz、第2特徴ベクトルデータz、及び第3特徴ベクトルデータzを学習ベクトルデータとして記憶部2に記憶させる(S14)。
【0077】
学習データ生成部32が、学習ベクトルデータを記憶部2に記憶させると、本フローチャートにおける処理は終了する。
【0078】
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、学習データが所与であってもドメイン識別器を汎化させるための学習データを生成することができる。
【0079】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【0080】
<第1の変形例>
上記では、クラス識別部33はいわゆる2クラス問題を解くための識別器である場合について説明した。しかしながら、クラス識別部33は3以上のクラスを識別する多クラス問題の識別器であってもよい。
【0081】
<第2の変形例>
上記では、学習ベクトルデータのうち第1特徴ベクトルデータzと第2特徴ベクトルデータzとを入力として各特徴ベクトルデータに紐付けられたクラスラベルの推定値を出力するようクラス識別器を生成する場合について説明した。しかしながら、第1特徴ベクトルデータzと第2特徴ベクトルデータzとは、各特徴ベクトルデータに紐付けられた実数値を目的変数として重回帰モデルの学習に用いられてもよい。
【符号の説明】
【0082】
1・・・情報処理装置
2・・・記憶部
3・・・制御部
30・・・ベクトル変換部
300・・・第1ベクトル変換部
301・・・第2ベクトル変換部
31・・・特徴ベクトル混合部
32・・・学習データ生成部
33・・・クラス識別部
34・・・データ識別部
35・・・更新部
図1
図2
図3
図4
図5