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

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

▶ KDDI株式会社の特許一覧

特許7096218情報処理装置、情報処理方法、及びプログラム
<>
  • 特許-情報処理装置、情報処理方法、及びプログラム 図1
  • 特許-情報処理装置、情報処理方法、及びプログラム 図2
  • 特許-情報処理装置、情報処理方法、及びプログラム 図3
  • 特許-情報処理装置、情報処理方法、及びプログラム 図4
  • 特許-情報処理装置、情報処理方法、及びプログラム 図5
  • 特許-情報処理装置、情報処理方法、及びプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-27
(45)【発行日】2022-07-05
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20220628BHJP
   G06F 16/906 20190101ALI20220628BHJP
【FI】
G06N20/00 130
G06F16/906
【請求項の数】 7
(21)【出願番号】P 2019161031
(22)【出願日】2019-09-04
(65)【公開番号】P2021039580
(43)【公開日】2021-03-11
【審査請求日】2021-06-23
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】松本 一則
(72)【発明者】
【氏名】帆足 啓一郎
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2009-230362(JP,A)
【文献】特開2007-272291(JP,A)
【文献】国際公開第2017/154946(WO,A1)
【文献】松本一則ほか,ドロネー分割を用いたラベル伝搬型半教師あり学習の検討,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2016年08月29日,Vol.116 No.209,pp.211-214
【文献】Dengyong Zhou et al.,Learning with local and global consistency,Proceeding of Advances in neural information processing systems [online],2004年,インターネット<URL: https://proceedings.neurips.cc/paper/2003/file/87682805257e619d49b8e0dfdc14affa-Paper.pdf>,[2022年5月25日検索]
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 16/906
(57)【特許請求の範囲】
【請求項1】
属するクラスを示すラベルが付されたラベル有りデータ群と、属するクラスが不明であるラベル無しデータ群とを取得するデータ取得部と、
前記ラベル有りデータ群と前記ラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと当該1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルを、データ毎に並べて構成される計量行列を算出する行列算出部と、
前記計量行列を構成する各計量ベクトルの次元を圧縮した圧縮計量ベクトルを並べて構成される圧縮計量行列を生成する行列圧縮部と、
前記圧縮計量ベクトルそれぞれの要素を座標とする複数の点を前記圧縮計量ベクトルの次元数と同次元の多次元空間にマッピングし、前記複数の点に対して多次元のドロネー分割をする分割部と、
ドロネー分割後の各点の接続関係を隣接行列として取得する隣接行列取得部と、
前記隣接行列及び前記ラベル有りデータ群のラベルに基づいて、前記ラベル無しデータ群を構成する各データにラベルを伝搬させるラベル伝搬部と、
を備える情報処理装置。
【請求項2】
前記行列算出部は、半定値性を持つ関数を用いて前記計量を算出する、
請求項1に記載の情報処理装置。
【請求項3】
前記行列算出部は、ガウシアンカーネルを用いて前記計量を算出する、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記行列圧縮部は、前記計量行列の要素のうち所定の閾値未満の要素を0で置換した後に、疎行列に基づく行列分解を用いて前記圧縮計量行列を生成する、
請求項3に記載の情報処理装置。
【請求項5】
前記計量行列を構成する計量ベクトルを順に選択するベクトル選択部をさらに備え、
前記行列圧縮部は、前記ベクトル選択部が選択した計量ベクトルの要素のうち所定の閾値以上の要素を抽出するとともに、前記計量行列を構成する他の計量ベクトルも前記計量ベクトルを構成する要素に対応する要素を抽出し、抽出した要素によって構成される行列を前記圧縮計量行列として生成し、
前記隣接行列取得部は、前記ベクトル選択部が選択した計量ベクトルに対応する点と他の点との接続関係を前記圧縮計量行列に基づいて特定することにより、前記ベクトル選択部が選択した計量ベクトルに対応する前記隣接行列の要素を決定する、
請求項3又は4に記載の情報処理装置。
【請求項6】
プロセッサが、
属するクラスを示すラベルが付されたラベル有りデータ群を取得するステップと、
属するクラスが不明であるラベル無しデータ群を取得するステップと、
前記ラベル有りデータ群と前記ラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと当該1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルを、データ毎に並べて構成される計量行列を算出するステップと、
前記計量行列を構成する各計量ベクトルの次元を圧縮した圧縮計量ベクトルを並べて構成される圧縮計量行列を生成するステップと、
前記圧縮計量ベクトルそれぞれの要素を座標とする複数の点を前記圧縮計量ベクトルの次元数と同次元の多次元空間にマッピングし、前記複数の点に対して多次元のドロネー分割をするステップと、
ドロネー分割後の各点の接続関係を隣接行列として取得するステップと、
前記隣接行列及び前記ラベル有りデータ群のラベルに基づいて、前記ラベル無しデータ群を構成する各データにラベルを伝搬させるステップと、
を実行する情報処理方法。
【請求項7】
コンピュータに、
属するクラスを示すラベルが付されたラベル有りデータ群を取得する機能と、
属するクラスが不明であるラベル無しデータ群を取得する機能と、
前記ラベル有りデータ群と前記ラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと当該1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルを、データ毎に並べて構成される計量行列を算出する機能と、
前記計量行列を構成する各計量ベクトルの次元を圧縮した圧縮計量ベクトルを並べて構成される圧縮計量行列を生成する機能と、
前記圧縮計量ベクトルそれぞれの要素を座標とする複数の点を前記圧縮計量ベクトルの次元数と同次元の多次元空間にマッピングし、前記複数の点に対して多次元のドロネー分割をする機能と、
ドロネー分割後の各点の接続関係を隣接行列として取得する機能と、
前記隣接行列及び前記ラベル有りデータ群のラベルに基づいて、前記ラベル無しデータ群を構成する各データにラベルを伝搬させる機能と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理方法、及びプログラムに関し、特に、半教師有り学習と呼ばれる機械学習分野の技術に関する。
【背景技術】
【0002】
例えば、非特許文献1には、データ間の類似度をガウシアンカーネルとして表すことによってデータ多様体の計量を得たうえで、ラベル有りデータからラベル無しデータにラベル伝播を行う方法が開示されている。
【0003】
また、非特許文献2では、データの隣接関係に基づいてラベル無しデータを学習に利用する半教師有り学習の手法において、データの隣接関係を適切に表すことを目的として、ドロネー三角形分割を多次元に拡張し、データの隣接性を抽出することで広域的な性質を組み込む技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Zhou, D., Bousquet, O., Lal, N. T., Weston, J., Scholkopf, B. Learning with local and global consistency, Proceeding of Advances in neural information processing systems 2004.
【文献】松本一則, 帆足啓一郎, 池田和史, ドロネー分割を用いたラベル伝搬型半教師あり学習の検討, 信学技報 116(209), 211-214, 2016-09-05.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献2に開示されている技術では、多次元版ドロネー分割によって、広域的なデータも考慮したグラフ構造を得ている。しかしながら、非特許文献1に開示されている技術のような計量をデータ間の類似度として使用する場合、計量の次元数はラベル有り及びラベル無しのデータの総数に等しくなり、次元数が非常に大きくなる。この結果、多次元版のドロネー分割の計算量が膨大になってしまい、現実的な時間での計算が困難となるという問題が生じていた。
【0006】
本発明はこれらの点に鑑みてなされたものであり、多次元のドロネー分割を利用した半教師有り学習におけるラベル伝搬を実用化するための技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様は、情報処理装置である。この装置は、属するクラスを示すラベルが付されたラベル有りデータ群と、属するクラスが不明であるラベル無しデータ群とを取得するデータ取得部と、前記ラベル有りデータ群と前記ラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと当該1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルを、データ毎に並べて構成される計量行列を算出する行列算出部と、前記計量行列を構成する各計量ベクトルの次元を圧縮した圧縮計量ベクトルを並べて構成される圧縮計量行列を生成する行列圧縮部と、前記圧縮計量ベクトルそれぞれの要素を座標とする複数の点を前記圧縮計量ベクトルの次元数と同次元の多次元空間にマッピングし、前記複数の点に対して多次元のドロネー分割をする分割部と、ドロネー分割後の各点の接続関係を隣接行列として取得する隣接行列取得部と、前記隣接行列及び前記ラベル有りデータ群のラベルに基づいて、前記ラベル無しデータ群を構成する各データにラベルを伝搬させるラベル伝搬部と、を備える。
【0008】
前記行列算出部は、半定値性を持つ関数を用いて前記計量を算出してもよい。
【0009】
前記行列算出部は、ガウシアンカーネルを用いて前記計量を算出してもよい。
【0010】
前記行列圧縮部は、前記計量行列の要素のうち所定の閾値未満の要素を0で置換した後に、疎行列に基づく行列分解を用いて前記圧縮計量行列を生成してもよい。
【0011】
前記計量行列を構成する計量ベクトルを順に選択するベクトル選択部をさらに備えてもよく、前記行列圧縮部は、前記ベクトル選択部が選択した計量ベクトルの要素のうち所定の閾値以上の要素を抽出するとともに、前記計量行列を構成する他の計量ベクトルも前記計量ベクトルを構成する要素に対応する要素を抽出し、抽出した要素によって構成される行列を前記圧縮計量行列として生成してもよく、前記隣接行列取得部は、前記ベクトル選択部が選択した計量ベクトルに対応する点と他の点との接続関係を前記圧縮計量行列に基づいて特定することにより、前記ベクトル選択部が選択した計量ベクトルに対応する前記隣接行列の要素を決定してもよい。
【0012】
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、属するクラスを示すラベルが付されたラベル有りデータ群を取得するステップと、属するクラスが不明であるラベル無しデータ群を取得するステップと、前記ラベル有りデータ群と前記ラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと当該1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルを、データ毎に並べて構成される計量行列を算出するステップと、前記計量行列を構成する各計量ベクトルの次元を圧縮した圧縮計量ベクトルを並べて構成される圧縮計量行列を生成するステップと、前記圧縮計量ベクトルそれぞれの要素を座標とする複数の点を前記圧縮計量ベクトルの次元数と同次元の多次元空間にマッピングし、前記複数の点に対して多次元のドロネー分割をするステップと、ドロネー分割後の各点の接続関係を隣接行列として取得するステップと、前記隣接行列及び前記ラベル有りデータ群のラベルに基づいて、前記ラベル無しデータ群を構成する各データにラベルを伝搬させるステップと、を実行する。
【0013】
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、属するクラスを示すラベルが付されたラベル有りデータ群を取得する機能と、属するクラスが不明であるラベル無しデータ群を取得する機能と、前記ラベル有りデータ群と前記ラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと当該1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルを、データ毎に並べて構成される計量行列を算出する機能と、前記計量行列を構成する各計量ベクトルの次元を圧縮した圧縮計量ベクトルを並べて構成される圧縮計量行列を生成する機能と、前記圧縮計量ベクトルそれぞれの要素を座標とする複数の点を前記圧縮計量ベクトルの次元数と同次元の多次元空間にマッピングし、前記複数の点に対して多次元のドロネー分割をする機能と、ドロネー分割後の各点の接続関係を隣接行列として取得する機能と、前記隣接行列及び前記ラベル有りデータ群のラベルに基づいて、前記ラベル無しデータ群を構成する各データにラベルを伝搬させる機能と、を実現させる。
【0014】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0015】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0016】
本発明によれば、多次元のドロネー分割を利用した半教師有り学習におけるラベル伝搬を実用化することができる。
【図面の簡単な説明】
【0017】
図1】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
図2】実施の形態に係る分割部が実行するドロネー分割を説明するための図である。
図3】実施の形態に係る隣接行列取得部が取得した隣接行列の一例を模式的に示す図である。
図4】実施の形態に係る行列算出部が算出する計量行列の一例を模式的に示す図である。
図5】実施の形態に係る行列圧縮部が実行する行列圧縮を説明するための図である。
図6】実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0018】
<実施の形態の概要>
実施の形態に係る情報処理方法は、属するクラスを示すラベルが付されたラベル有り学習データと、属するクラスが不明であるラベル無し学習データとの隣接関係に基づいて、ラベル有り学習データに付されたラベルをラベル無し学習データを構成する各データに伝搬させるための手法に関する。
【0019】
実施の形態に係る情報処理装置は、まず、ラベル有り学習データとラベル無し学習データとの各学習データを構成するデータ間の類似関係を示す計量行列を生成する。続いて、実施の形態に係る情報処理装置は、生成した計量行列を圧縮してサイズの小さな圧縮計量行列を生成する。次に、実施の形態に係る情報処理装置は、圧縮計量行列を構成する要素に基づいて、ラベル有り学習データとラベル無し学習データとの各学習データのデータ数Nと同じ次元のN次元空間上に各学習データに対応する点をマッピングし、マッピングした点群に対してN次元のドロネー三角形分割を実行する。最後に、実施の形態に係る情報処理装置は、ドロネー三角形分割後の各点の接続関係に基づいて、ラベル有り学習データに付されたラベルをラベル無し学習データを構成する各データに伝搬させる。
【0020】
[ドロネー三角形分割]
ここで「ドロネー三角形分割」とは、2次元平面上に離散的に分布する点を頂点とする三角形によって2次元平面を漏れなくかつ重なりなく分割する手法の一種である。ドロネー三角形分割によって分割された三角形は以下に記載するような性質を持つ。すなわち、ドロネー三角形分割によって分割された任意の三角形の外接円の内部には、他の三角形を構成する点が含まれないという性質である。
【0021】
ドロネー三角形分割は、3次元以上の多次元空間における点群を対象とする空間分割手法に拡張できることが知られている。拡張されたドロネー三角形分割では、多次元空間上に離散的に分布する点を頂点とするシンプレックス(Simplex;単体)によって、多次元空間を分割することになる。
【0022】
例えば、3次元空間におけるシンプレックスは四面体であるため、3次元空間におけるドロネー三角形分割は、3次元空間上に離散的に分布する点を頂点とする四面体で3次元空間を分割することになる。3次元空間におけるドロネー三角形分割を実行すると、任意の四面体の外接球の内部には、他の四面体を構成する点が含まれない。
【0023】
同様に4次元空間におけるシンプレックスは五胞体であるため、4次元空間におけるドロネー三角形分割は、4次元空間上に離散的に分布する点を頂点とする五胞体で4次元空間を分割することになる。4次元空間におけるドロネー三角形分割を実行すると、任意の五胞体の外接球の内部には、他の五胞体を構成する点が含まれない。
【0024】
なお、四面体における“超平面”は三角形であり、五胞体における超平面は四面体である。一般に、N次元のシンプレックスを構成する超平面は、N-1次元のシンプレックスとなる。
【0025】
このように、3次元以上の多次元空間における点群を対象とするドロネー三角形分割は、正確には“シンプレックス分割”である。本明細書では2次元以上の多次元空間を対象とする分割を、便宜上単に「ドロネー分割」と記載し、ドロネー分割して得られた2次元又はそれ以上の次元のシンプレックスを、単に「シンプレックス」と記載する。ドロネー分割を実行することによって得られた任意のシンプレックスは、そのシンプレックスの外接超球の内部に他のシンプレックスを構成する点が含まれない。この性質は、既知データが分布する空間全体にわたって成り立つ広域的な性質である。
【0026】
一般にN次元空間におけるドロネー分割の計算量は、Nの3乗のオーダーである。機械学習に用いられるデータの数(すなわち、N次元空間における次元数N)は、数万から百万のオーダーとなり得るため、そのような場合は現実的な時間での処理が難しくなる。そこで、実施の形態に係る情報処理装置は、ラベル有り学習データとラベル無し学習データとの各学習データを構成するデータ間の類似関係を示す計量行列を圧縮して計算量を削減する。一例として、実施の形態に係る情報処理装置は、計量行列のサイズを百分の一に圧縮する。これにより、多次元空間におけるドロネー分割を現実的な時間で実行することができる。
【0027】
<実施の形態に係る情報処理装置1の機能構成>
図1は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。図1において、矢印は主なデータの流れを示しており、図1に示していないデータの流れがあってもよい。図1において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図1に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0028】
記憶部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)等の大容量記憶装置である。
【0029】
制御部3は、情報処理装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによってデータ取得部30、行列算出部31、行列圧縮部32、分割部33、隣接行列取得部34、ラベル伝搬部35、及びベクトル選択部36として機能する。
【0030】
なお、図1は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0031】
データ取得部30は、属するクラスを示すラベルが付されたデータ群であるラベル有りデータ群を取得する。ラベル有りデータ群は、例えば記憶部2に格納されている。この場合、データ取得部30は、ラベル有りデータ群を記憶部2から読み出して取得する。ラベル有りデータ群を構成する各データはベクトルで表現される。このベクトルは、データを特徴付ける複数の特徴量を要素に持つベクトルであってもよい。
【0032】
データ取得部30は、属するクラスが不明であるデータ群であるラベル無しデータ群も取得する。ラベル有りデータ群と同様に、ラベル無しデータ群も、例えば記憶部2に格納されている。ラベル無しデータ群を構成する各データは、ラベル有りデータ群を構成する各データと同次元のベクトルで表現されている。
【0033】
行列算出部31は、ラベル有りデータ群とラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと、その1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルを、データ毎に並べて構成される計量行列を算出する。
【0034】
具体的には、ラベル有りデータ群とラベル無しデータ群とのそれぞれを構成するデータの総計がN(Nは2以上の自然数)個であり、それぞれをx,x,・・・,xで表すとする。行列算出部31は、xからはじめてxに到達するまで順番にデータを選択する。いま、行列算出部31が選択したデータをxとする。行列算出部31は、xとxを含む他のデータとの類似度を示す計量を算出する。xを含む他のデータをxとし、xとxとの類似度を示す計量をgijとする。
【0035】
ij=F(x,x) (1)
式(1)において、Fはxとxとの計量を算出するための関数である。関数Fの詳細は後述する。
【0036】
行列算出部31は、x毎に、計量gijを要素とする計量ベクトルgを生成する。すなわち、計量ベクトルgは、以下の式(2)で表される。
【0037】
【数1】
【0038】
行列算出部31は、計量ベクトルgを並べた行列を生成し、計量行列Gとする。すなわち、計量行列Gは以下の式(3)で表される。
【0039】
【数2】
【0040】
式(3)から明らかなように、計量行列GはN次の正方行列である。データ取得部30が取得するラベル有りデータ群とラベル無しデータ群とはいずれも、例えばDNN(Deep Neural Network)やSVM(Support Vector Machine)等のいわゆる教師有り学習に用いられるデータである。したがって、ラベル有りデータ群とラベル無しデータ群とのそれぞれを構成するデータの総計Nは、小さくても百のオーダーがあることが多く、大きい場合は百万のオーダーとなる。
【0041】
そこで、行列圧縮部32は、計量行列Gを構成する各計量ベクトルgの次元Nを圧縮した圧縮計量ベクトルを並べて構成される圧縮計量行列を生成する。行列圧縮部32が実行する圧縮処理の詳細は後述するが、行列圧縮部32は、各計量ベクトルgを圧縮することで、m次元(m<<N)の圧縮計量ベクトルcを生成する。一例として、mはNの百分の一程度である。行列圧縮部32は、圧縮計量ベクトルcを並べて構成される圧縮計量行列Cを生成する。圧縮計量行列Cは、以下の式(4)で表される。
【0042】
【数3】
なお、m<Nであるため、圧縮計量行列Cは正方行列ではない。
【0043】
分割部33は、圧縮計量ベクトルcそれぞれの要素を座標とする複数の点を圧縮計量ベクトルcの次元数と同次元の多次元空間にマッピングし、複数の点に対して多次元のドロネー分割をする。
【0044】
図2(a)-(b)は、実施の形態に係る分割部33が実行するドロネー分割を説明するための図である。具体的には、図2(a)は、分割部33による圧縮計量ベクトルcのマッピング結果を示す図である。また、図2(b)は、分割部33によるドロネー分割の結果を示す図である。圧縮計量ベクトルcの第1の要素f1を第1の軸、第2の要素f2を第2の軸とすることで、分割部33は、圧縮計量ベクトルcを2次元空間上の1点にマッピングすることができる。
【0045】
一般に、圧縮計量ベクトルcの次元は2より大きいが、図示の便宜上、図2(a)-(b)は、圧縮計量ベクトルcの次元が2の場合の例を示している。圧縮計量ベクトルcが2次元の場合、圧縮計量ベクトルcは2つの要素f1及びf2によって構成される。図2(a)に示すように、圧縮計量ベクトルcの1つの要素f1を第1の軸、2つ目の要素f2を第2の軸とすることにより、各圧縮計量ベクトルcは圧縮計量ベクトルcの次元と同じ次元(図2では2次元)の空間中の1点にマッピングされる。
【0046】
分割部33は、多次元空間にマッピングした各圧縮計量ベクトルcに対してドロネー分割を実行する。この結果、図2(b)に示すように、多次元空間中にマッピングされた各圧縮計量ベクトルcを頂点とする複数のシンプレックス(図2(b)では三角形)が生成される。すなわち、多次元空間中にマッピングされた各圧縮計量ベクトルcは、それぞれ複数の他の圧縮計量ベクトルcと辺で結ばれることになる。
【0047】
隣接行列取得部34は、ドロネー分割後の各点の接続関係を隣接行列として取得する。具体的には、隣接行列取得部34は、ドロネー分割の結果、互いに辺で直接結ばれた点に対応する圧縮計量ベクトルc同士は「接続関係有り」、互いに辺で直接結ばれていない点同士を「接続関係無し」とする接続行列を生成して取得する。
【0048】
図3は、実施の形態に係る隣接行列取得部34が取得した隣接行列の一例を模式的に示す図である。図3において、破線の矩形で示される領域が隣接行列を示している。
【0049】
隣接行列は既知の概念であるため詳細な説明を省略するが、多次元空間中にマッピングされた複数の点(頂点)の対が辺(すなわちエッジ)で結ばれているか否かの関係を示す行列である。具体的には、隣接行列の各行を構成するベクトルの要素が、そのベクトルに対応する頂点と、他の頂点との接続関係を示している。このため、隣接行列は、頂点の数と同次元の対称行列となる。
【0050】
図3に示す例は、ラベル有りデータ群とラベル無しデータ群とのそれぞれを構成するN個のデータx,x,・・・,xについて、それぞれが他のベクトルと接続関係がある場合は1、接続関係がない場合は0として表している。具体的には、隣接行列の各行は、それぞれデータx,x,・・・,xに関する他のベクトルとの接続関係を示している。例えば、データxは自分自身との接続関係はないため、データxに対応する第1行を構成するベクトルの第1列目は0となる。また、データxはデータxと接続しているため、図3に示す隣接行列の1行N列の要素は1となっている。
【0051】
ラベル伝搬部35は、隣接行列及びラベル有りデータ群のラベルに基づいて、ラベル無しデータ群を構成する各データにラベルを伝搬させる。なお、隣接行列が既知である場合におけるラベル伝搬の手法は既知であるため、以下では、ラベルが+1と-1との2クラスである場合について、伝搬アルゴリズムの一例を簡単に説明する。
【0052】
いま、隣接行列をWで表す。また、ラベル有りデータ群とラベル無しデータ群とのそれぞれを構成するN個のデータx,x,・・・,xそれぞれのラベルをyで表す。具体的には、ラベル有りデータ群を構成する各データのラベルyは、+1又は-1のいずれかである。ラベル無しデータ群を構成する各ベクトルのラベルyは0とする。
【0053】
ラベル無しデータ群を構成する各データのラベルyの予測値をfとする。fは、-1から+1までの間の実数を取り得る。このとき、予測性能を最大にする目的関数J(f)は以下の式(5)で示される。
【0054】
【数4】
ここで、L=D-Wであり、DはWの各行の和を対角成分に持つ行列、λは右辺第1項と第2項とのバランスを取る定数である。
【0055】
式(5)において、目的関数J(f)の値を最小化するとき、以下の式(6)が成り立つ。
(1+λL)f=y (6)
【0056】
式(5)及び式(6)を用いることで、ラベル伝搬部35は、隣接行列及びラベル有りデータ群のラベルに基づいて、ラベル無しデータ群を構成する各データにラベルを伝搬させることができる。
【0057】
実施の形態に係る情報処理装置1は、各計量ベクトルgを圧縮してから多次元空間にマッピングするため、ドロネー分割を実用的な範囲の演算時間で終了することができる。このように、実施の形態に係る情報処理装置1は、多次元のドロネー分割を利用した半教師有り学習におけるラベル伝搬を実用化することができる。
【0058】
[計量の算出]
行列算出部31が計量行列Gを算出するために用いる関数Fについて説明する。
実施の形態に係る行列算出部31は、半定値性を持つ関数Fを用いて各データ間の計量を算出する。半定値性を持つ関数Fの例としてはSVMにおけるカーネル関数が挙げられる。具体的には、多項式カーネル、ガウシアンカーネル、双曲線正接カーネル等が挙げられる。以下では、行列算出部31がガウシアンカーネルを用いて各データ間の計量を算出することを前提として説明する。
【0059】
上述したように、ラベル有りデータ群とラベル無しデータ群とを構成する各データはベクトルで表現されている。それらをベクトルx,x,・・・,xとする。このとき、ガウシアンカーネルを用いる場合の関数Fは以下の式(7)で表される。
【0060】
【数5】
式(7)において、xikは、ベクトルxのk番目の要素を示す。xjkも同様である。
【0061】
図4は、実施の形態に係る行列算出部31が算出する計量行列の一例を模式的に示す図である。図4において、破線の矩形で示される領域が計量行列を示している。式(7)に示す関数Fの定義から明らかなように、計量gijは0以上1以下の値を取り、ベクトルxとベクトルxとが同値の場合(すなわち、最も類似している場合)1となり、ベクトルxとベクトルxとが離れるほど0に近い値となる。図4に示す例では、ベクトルxはベクトルxよりもベクトルxと類似していることを示している。
【0062】
[計量行列Gの圧縮]
続いて、行列圧縮部32による計量行列Gの圧縮について説明する。行列圧縮部32は、互いに独立な2つの手法を用いて計量行列Gを圧縮する。
【0063】
(第1の手法)
式(7)に示す関数Fの定義から明らかなように、計量gijは、ベクトルxとベクトルxとが離れるほど急激に0に近づく。したがって、ラベル有りデータ群とラベル無しデータ群とに偏りがないことを前提とすれば、計量行列Gの要素は0に近いものが多いと考えられる。
【0064】
そこで、行列圧縮部32は、計量行列Gの要素のうち所定の閾値未満の要素を0で置換して行列Dを生成する。「所定の閾値」とは、行列圧縮部32がデータ間の接続関係がないと見なすために参照する「接続関係判定時参照閾値」である。接続関係判定時参照閾値の具体的な値は、圧縮効率(すなわち、演算効率)と精度とのバランス、及び式(7)におけるγの値等を考慮して実験により定めればよいが、例えば0.5である。これにより、行列圧縮部32は、行列算出部31が算出した計量行列Gを疎行列である行列Dに変換する。続いて、行列圧縮部32は、行列Dを、疎行列に基づく行列分解を用いて圧縮計量行列Cを生成する。
【0065】
図5(a)-(b)は、実施の形態に係る行列圧縮部32が実行する行列圧縮を説明するための図である。具体的には、図5(a)は、一般的な特異値分解を説明するための図であり、図5(b)は、特異値分解を利用したベクトルの圧縮を説明するための図である。
【0066】
図5(a)に示すように、行列圧縮部32が行列Dに対して特異値分解を実行することにより、行列Dは、左特異ベクトルを並べて構成される行列Sと、特異値を対角成分に持つ行列Σと、右特異ベクトルを並べて構成される行列V(Tは行列の転置)とに分解される。なお、図5(a)は一般的な特異値分解を説明するための図であるため行列Dは行の長さと列の長さとが異なるように図示しているが、計量行列Gは正方行列であるため、行の長さと列の長さとは等しい。
【0067】
行列Σの対角成分は、特異値を大きい順に並べて構成されている。行列圧縮部32は、所定の値以下となる特異値を切り捨てることにより、新たな行列Σ’を生成する。行列Σ’は、行列Σと比較して、行の長さが短い。
【0068】
行列圧縮部32は、左特異ベクトルを並べて構成される行列Sに行列Σ’を乗算することで、新たな行列D’を算出する。行列D’は、行列Dと比較すると、行の長さが短くなっている。行列D’の列の長さは行列Dと同じであり、ラベル有りデータ群とラベル無しデータ群とを構成する各データの数と等しい。行列圧縮部32は、行列D’を構成するi番目の行ベクトルを、圧縮計量ベクトルcとする。これにより、行列圧縮部32は、計量行列Gの行方向のサイズを圧縮することができる。
【0069】
(第2の手法)
続いて、行列圧縮部32による計量行列Gの圧縮の第2の手法について説明する。
【0070】
計量行列Gの圧縮の第2の手法の概要は、計量ベクトルgの接続関係を決定する際には、多次元空間において計量ベクトルgの近傍に存在する計量ベクトルgのみを選択して決定するというものである。
【0071】
これを実現するために、ベクトル選択部36は、まず計量行列Gを構成する計量ベクトルgを順に選択する。計量ベクトルgの各要素は、他の計量ベクトルgとの類似度を表している。そこで、行列圧縮部32は、ベクトル選択部36が選択した計量ベクトルgの要素のうち所定の閾値以上の要素を抽出する。ここで、所定の閾値とは、行列圧縮部32が計量ベクトルgの対が近傍であるかどうか、言い換えると、計量ベクトルgの対が類似しているか否かを判定するために参照する「近傍判定用閾値」である。近傍判定用閾値の具体的な値は、圧縮効率(すなわち、演算効率)と精度とのバランスや、計量の算出に用いる関数Fの値域等を考慮して実験により定めればよい。
【0072】
行列圧縮部32は、計量行列Gを構成する他の計量ベクトルgも計量ベクトルgを構成する要素に対応する要素を抽出し、抽出した要素によって構成される行列を計量ベクトルgに関する圧縮計量行列Cとして生成する。
【0073】
例えば、ベクトル選択部36が、ベクトルxに対応する計量ベクトルgを選択したとする。行列圧縮部32が、計量ベクトルgを構成する要素(g11,g12,・・・,g1N)の中から近傍判定用閾値以上の要素を抽出した結果、1番目、5番目、及びN番目の要素であるg11,g15,及びg1Nが抽出されたとする。この場合、圧縮計量ベクトルcは、c(g11,g15,g)となる。行列圧縮部32は、残りの計量ベクトルc(計量ベクトルgから計量ベクトルg)についても1番目、5番目、及びN番目の要素を抽出して圧縮計量ベクトルcを生成する。これにより、行列圧縮部32は、計量ベクトルgに関する圧縮計量行列Cを生成する。
【0074】
ベクトル選択部36が計量ベクトルgを選択する度に、行列圧縮部32は、選択された計量ベクトルgに対応する圧縮計量行列Cを生成する。隣接行列取得部34は、ベクトル選択部36が選択した計量ベクトルgに対応する点と他の点との接続関係を圧縮計量行列Cに基づいて特定することにより、ベクトル選択部36が選択した計量ベクトルgに対応する隣接行列の要素を決定する。
【0075】
これにより、情報処理装置1は、各計量ベクトルgについて、その計量ベクトルgの近傍にある計量ベクトルgのみを用いて隣接行列を決定することができる。ゆえに、すべての計量ベクトルgの接続関係を特定する場合と比較して、情報処理装置1は、隣接行列の算出に要する演算時間を短縮することができる。
【0076】
(第1の手法と第2の手法との関係)
上述した計量行列Gの圧縮に関する第1の手法と第2の手法とは互いに独立している。したがって、行列圧縮部32は、第1の手法と第2の手法とを併用することができる。具体的には、行列圧縮部32は、第1の手法を用いて算出した行列に対して、さらに第2の手法を用いて圧縮することができる。
【0077】
<情報処理装置1が実行する情報処理方法の処理フロー>
図6は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
【0078】
データ取得部30は、属するクラスを示すラベルが付されたラベル有りデータを取得する(S2)。また、データ取得部30は、属するクラスが不明であるラベル無しデータ群を取得する(S4)。
【0079】
行列算出部31は、ラベル有りデータ群とラベル無しデータ群とのそれぞれを構成するデータ中の1つのデータと、その1つのデータを含む他のデータとの間の類似度を示す計量を要素とする計量ベクトルgを、データ毎に並べて構成される計量行列Gを算出する(S6)。
【0080】
行列圧縮部32は、計量行列Gを構成する各計量ベクトルgの次元を圧縮した圧縮計量ベクトルcを並べて構成される圧縮計量行列Cを生成する(S8)。分割部33は、圧縮計量ベクトルcそれぞれの要素を座標とする複数の点を圧縮計量ベクトルcの次元数と同次元の多次元空間にマッピングし、複数の点に対して多次元のドロネー分割を実行する(S10)。
【0081】
隣接行列取得部34は、分割部33によるドロネー分割後の各点の接続関係を隣接行列として取得する(S12)。ラベル伝搬部35は、隣接行列及びラベル有りデータ群のラベルに基づいて、ラベル無しデータ群を構成する各データにラベルを伝搬させる(S14)。
【0082】
ラベル伝搬部35がラベル無しデータ群を構成する各データにラベルを伝搬させると、本フローチャートにおける処理は終了する。
【0083】
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、多次元のドロネー分割を利用した半教師有り学習におけるラベル伝搬を実用化することができる。
【0084】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【符号の説明】
【0085】
1・・・情報処理装置
2・・・記憶部
3・・・制御部
30・・・データ取得部
31・・・行列算出部
32・・・行列圧縮部
33・・・分割部
34・・・隣接行列取得部
35・・・ラベル伝搬部
36・・・ベクトル選択部
図1
図2
図3
図4
図5
図6