(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-09
(45)【発行日】2024-07-18
(54)【発明の名称】最適化装置、方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240710BHJP
G06F 17/10 20060101ALI20240710BHJP
G06T 7/00 20170101ALI20240710BHJP
【FI】
G06N20/00 160
G06F17/10 Z
G06T7/00 350A
(21)【出願番号】P 2020186811
(22)【出願日】2020-11-09
【審査請求日】2023-02-15
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】501308812
【氏名又は名称】ケンブリッジ エンタープライズ リミテッド
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】木村 昭悟
(72)【発明者】
【氏名】岩田 具治
(72)【発明者】
【氏名】竹内 孝
(72)【発明者】
【氏名】ガラマーニ ズービン
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2020-021343(JP,A)
【文献】QUADRIANTO, Novi、他3名,Kernelized Sorting,IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol.32, No.10,IEEE,2010年10月,pp.1809-1821,ISSN 0162-8828
【文献】MUKHERJEE, Tanmoy、他2名,Deep Matching Autoencoders,Computer Vision and Pattern Recognition,ARXIV.ORG, CORNELL UNIVERSITY LIBRARY[オンライン],2017年11月16日,pp.1-10,インターネット:<URL:https://doi.org/10.48550/arXiv.1711.06047>,[検索日 2024年3月4日]
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 17/10
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
第1オブジェクトからなる第1オブジェクト集合と前記第1オブジェクトとドメインが異なる第2オブジェクトからなる第2オブジェクト集合の対について、前記第1オブジェクトに関する複数の第1クラスタ、及び前記第2オブジェクトに関する複数の第2クラスタを介して対応関係を求める場合の最適化問題を解く最適化装置であって、
第1割当行列は前記第1オブジェクト集合の第1オブジェクトの各々についての前記第1オブジェクトが属する第1クラスタの割り当てを表し、第2割当行列は前記第2オブジェクト集合の第2オブジェクトの各々についての前記第2オブジェクトが属する第2クラスタの割り当てを表しており、
前記第1割当行列
及び前記第2割当行列の積と、前記第2割当行列及び前記第1割当行列の積と、前記第1オブジェクト間の類似度を要素とする
第1のグラム行列と、前記第2オブジェクト間の類似度を要素とする
第2のグラム行列と、前記第1割当行列及び前記第2割当行列に関する制約項とを含む目的関数
であって以下(1)式の目的関数を最適化するように、前記第1割当行列及び前記第2割当行列を交互に更新することを、所定の条件を満たすまで繰り返す最適化部
を含む最適化装置。
【数1】
・・・(1)
・・・(1-1)
ここで、φ
(X)
及びφ
(Y)
は、各オブジェクトがどのクラスタに所属するかを示すクラスタ割り当てを示し、φ
(X)
が前記第1割当行列であり、φ
(Y)
が前記第2割当行列であり、K
(X)
が前記第1のグラム行列であり、K
(Y)
が前記第2のグラム行列であり、φ
(X)
φ
(Y)
が前記第1割当行列及び前記第2割当行列の積であり、φ
(Y)
φ
(X)
が前記第2割当行列及び前記第1割当行列の積である。
【請求項2】
前記目的関数に、前記第1クラスタを整列するための第1パラメータ、及び前記第2クラスタを整列するための第2パラメータを更に含み、
前記最適化部は、前記第1割当行列、前記第2割当行列、前記第1パラメータ、及び前記第2パラメータを順番に更新することを、所定の条件を満たすまで繰り返す請求項1に記載の最適化装置。
【請求項3】
前記最適化部は、前記第1割当行列及び前記第2割当行列の各々を更新する際に、前記第1オブジェクト集合のうちの選択された一部の第1オブジェクト及び前記第2オブジェクト集合のうちの選択された一部の第2オブジェクトを用いて、前記目的関数を最適化するように、前記第1割当行列及び前記第2割当行列の各々を更新する請求項1又は請求項2に記載の最適化装置。
【請求項4】
第1オブジェクトからなる第1オブジェクト集合と前記第1オブジェクトとドメインが異なる第2オブジェクトからなる第2オブジェクト集合の対について、前記第1オブジェクトに関する複数の第1クラスタ、及び前記第2オブジェクトに関する複数の第2クラスタを介して対応関係を求める場合の最適化問題を解く最適化装置における最適化方法であって、
第1割当行列は前記第1オブジェクト集合の第1オブジェクトの各々についての前記第1オブジェクトが属する第1クラスタの割り当てを表し、第2割当行列は前記第2オブジェクト集合の第2オブジェクトの各々についての前記第2オブジェクトが属する第2クラスタの割り当てを表しており、
最適化部が、
前記第1割当行列
及び前記第2割当行列の積と、前記第2割当行列及び前記第1割当行列の積と、前記第1オブジェクト間の類似度を要素とする
第1のグラム行列と、前記第2オブジェクト間の類似度を要素とする
第2のグラム行列と、前記第1割当行列及び前記第2割当行列に関する制約項とを含む目的関数
であって以下(2)式の目的関数を最適化するように、前記第1割当行列及び前記第2割当行列を交互に更新することを、所定の条件を満たすまで繰り返すステップ
を含む最適化方法。
【数2】
・・・(2)
・・・(2-1)
ここで、φ
(X)
及びφ
(Y)
は、各オブジェクトがどのクラスタに所属するかを示すクラスタ割り当てを示し、φ
(X)
が前記第1割当行列であり、φ
(Y)
が前記第2割当行列であり、K
(X)
が前記第1のグラム行列であり、K
(Y)
が前記第2のグラム行列であり、φ
(X)
φ
(Y)
が前記第1割当行列及び前記第2割当行列の積であり、φ
(Y)
φ
(X)
が前記第2割当行列及び前記第1割当行列の積である。
【請求項5】
前記目的関数に、前記第1クラスタを整列するための第1パラメータ、及び前記第2クラスタを整列するための第2パラメータを更に含み、
前記最適化部は、前記第1割当行列、前記第2割当行列、前記第1パラメータ、及び前記第2パラメータを順番に更新することを、所定の条件を満たすまで繰り返す請求項4に記載の最適化方法。
【請求項6】
前記最適化部は、前記第1割当行列及び前記第2割当行列の各々を更新する際に、前記第1オブジェクト集合のうちの選択された一部の第1オブジェクト及び前記第2オブジェクト集合のうちの選択された一部の第2オブジェクトを用いて、前記目的関数を最適化するように、前記第1割当行列及び前記第2割当行列の各々を更新する請求項4又は請求項5に記載の最適化方法。
【請求項7】
コンピュータを、請求項1~請求項3のいずれか1項に記載の最適化装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適化装置、方法、及びプログラムに係り、特に、オブジェクトの対応関係を求めるための最適化装置、方法、及びプログラムに関する。
【背景技術】
【0002】
オブジェクトマッチングは、2組のオブジェクト集合が与えられたときに、一方の集合に含まれるオブジェクトがもう一方の集合のどのオブジェクトと対応するかを求める問題である。オブジェクトマッチングは、画像とテキストタグとの対応関係を求める、2つの異なる言語の対応する単語・フレーズを見つける、異なるデータベースの名寄せを行うなど、様々な応用が期待される。オブジェクトマッチングには、教師付オブジェクトマッチングと教師なしオブジェクトマッチングとがある。教師付オブジェクトマッチングは、対応するオブジェクトの対が教師情報として多数与えられ、その対応関係を学習によって求める手法である。教師なしオブジェクトマッチングは、そのような教師情報がまったく与えられない状況で対応関係を予測する。
【0003】
以下では、教師情報なしに対応関係を予測できる教師なしオブジェクトマッチングを考える。
【0004】
教師なしオブジェクトマッチングの既存手法として、kernelized sorting(非特許文献1参照)が広く知られている。以下、kernelized sortingについて説明する。
【0005】
X={x1,x2,...,xN}及びY={y1,y2,...,yN}を2組のオブジェクト集合とし、双方の集合に含まれるオブジェクトの数は同数、すなわちN個であるとする。また、各オブジェクトxn及びymは集合X及びYの要素であるとする。すなわち、xn∈X,ym∈Yである。さらに、各オブジェクト集合内に含まれるオブジェクト同士の類似度を計算するカーネル関数k(X)、k(Y)を以下のように定義する。
【0006】
【0007】
Kernelized sortingでは、各オブジェクト集合及びカーネル関数から計算されるグラム行列をK(X)=(K(X)
n1,n2=k(X)(xn1,xn2))n1,n2及びK(Y)=(K(Y)
m1,m2=k(Y)(ym1,ym2))m1,m2を用いることで、オブジェクト集合X内のオブジェクトともう一つのオブジェクト集合Y内のオブジェクトとの1対1対応を求める。
【0008】
この問題は、一方のオブジェクト集合内のオブジェクトの並び順を固定したときに、もう一方のオブジェクト集合内のオブジェクトの並び順を変更する、N×N並び替え行列π∈ΠNを求める問題と考えることができる。ここで、オブジェクトxn∈Xとym∈Yとが対応する場合にのみ並び替え行列πの(m,n)要素πm,nが1となり、それ以外の要素はすべて0となる。また、並び替え行列πは、いずれの行、いずれの列も1となる要素が1つのみで、残りはすべて0となることに注意する。
【0009】
Kernelized sortingでは、N×Nの単位行列INから計算できるデータ中心化行列H=IN-1/Nを掛けたグラム行列は以下のようになる。
【0010】
【0011】
Kernelized sortingでは、グラム行列で記述される以下の最適化問題を解くことによって最適な並べ替え行列π*を求める。
【0012】
【0013】
ここで、Tr(・)は行列のトレースノルムである。上記の最適化問題は二次割り当て問題の一種であり、NP困難であることが知られている。
【0014】
次に、convex kernelized sorting(非特許文献2)について説明する。
【0015】
Kernelized sortingの問題点は、その解を厳密に解くためには多くの計算量が必要となるという点にある。Convex kernelized sortingでは、連続緩和と凸最適化問題への変形により、kernelized sortingで生じる計算量の問題を解決した。
【0016】
Convex kernelized sorting では、まず、(1)式と等価な以下の最適化問題を考える。
【0017】
【0018】
ここで||・||
Fは行列のフロベニウスノルムである。行列積
【0019】
【0020】
【0021】
【0022】
の行を並べ替えていることに注目すると、上記の最適化問題は、グラム行列の行もしくは列を並び替えることによって、並び替え後のグラム行列をできるだけ似た形にすることを目指している。
【0023】
上記の最適化問題をさらに解きやすくするために、この最適化問題を連続緩和する。すなわち、並び替え行列πの行及び列の和を1とする制約は保ちつつ、この行列の各要素が0から1の間の任意の実数を取れるように、問題を緩和する。すべての要素が1であるN次元ベクトルを1
N、N以下の正の整数の集合を
と表記すると、連続緩和後の最適化問題は以下のように書くことができる。
【0024】
【0025】
上記の最適化問題は、並び替え行列πについての2次関数となっていることから、等式・不等式制約付の凸最適化問題であることがわかる。
【0026】
最適化をさらに高速化するために、(3)式の等式制約を緩和した以下の最適化問題を考える。
【0027】
【0028】
ここでCは正則化パラメータであり、通常は1よりも十分に大きい定数とすることが多い。
【先行技術文献】
【非特許文献】
【0029】
【文献】N. Quadrianto, A. J. Smola, L. Song, and T. Tuytelaars. Kernelized sorting. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(10):1809-1821, Oct 2010. ISSN0162-8828. doi: 10.1109/TPAMI.2009.184.
【文献】Nemanja Djuric, Mihajlo Grbovic, and Slobodan Vucetic. Convex kernelized sorting. In Proceedings of the Twenty-Sixth AAAI Conference on Articial Intelligence, AAAI'12, pages 893-899. AAAI Press, 2012. URL[http://dl.acm.org/citation.cfm?id=2900728.2900855].
【発明の概要】
【発明が解決しようとする課題】
【0030】
最適化問題の(3)式及び(4)式はいずれも、CVX1などに代表される高次の最適化ソフトパッケージを利用することで解くことができるが、等式制約のない(4)式の方がより高速に解を求めることができる。一方、等式制約のない(4)式で求められる並び替え行列πは必ずしも等式制約を満たすとは限らない。すなわち、πの行もしくは列の和が必ずしも1になるとは限らない、という点に注意する必要がある。そのため、厳密に行もしくは列の和が1とする必要がある場合には、何らかの正規化を行うか、別の最適化問題を設定するか、のいずれかを行う必要がある。詳細には非特許文献2を参照できる。
【0031】
非特許文献1及び2の方法では、2つのオブジェクト集合X及びオブジェクト集合Yが同数のオブジェクトを持ち、かつオブジェクトの対応関係が1対1であることを仮定している。しかしながら、実際の応用場面において、オブジェクトが1対1に対応していない場合も数多く見られる。例として、英語の単語と日本語の単語の対応関係を考えると、一つの英単語に対応する日本語は唯一ではなく、その逆もまた同様である。また、1枚の写真には複数の物体が含まれる可能性があることから、画像とテキストタグの対応関係も1対1ではない。
【0032】
本発明は、上記事情を鑑みて成されたものであり、異なるドメインのオブジェクト集合について、オブジェクトの対応関係が必ずしも1対1でなくてもオブジェクトのマッチングを最適化できる最適化装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0033】
上記目的を達成するために、第1の発明に係る最適化装置は、第1オブジェクトからなる第1オブジェクト集合と前記第1オブジェクトとドメインが異なる第2オブジェクトからなる第2オブジェクト集合の対について、前記第1オブジェクトに関する複数の第1クラスタ、及び前記第2オブジェクトに関する複数の第2クラスタを介して対応関係を求める場合の最適化問題を解く最適化装置である。最適化装置は、所定の目的関数を最適化するように、第1割当行列及び第2割当行列を交互に更新することを、所定の条件を満たすまで繰り返す最適化部、を含んで構成されている。所定の目的関数は、前記第1割当行列及び前記第2割当行列の積と、前記第2割当行列及び前記第1割当行列の積と、前記第1オブジェクト間の類似度を要素とするグラム行列と、前記第2オブジェクト間の類似度を要素とするグラム行列と、前記第1割当行列及び前記第2割当行列に関する定数とを含む。第1割当行列は、前記第1オブジェクト集合の第1オブジェクトの各々についての前記第1オブジェクトが属する第1クラスタの割り当てを表す。第2割当行列は、前記第2オブジェクト集合の第2オブジェクトの各々についての前記第2オブジェクトが属する第2クラスタの割り当てを表す。
【0034】
前記目的関数に、前記第1クラスタを整列するための第1パラメータ、及び前記第2クラスタを整列するための第2パラメータを更に含み、前記最適化部は、前記第1割当行列、前記第2割当行列、前記第1パラメータ、及び前記第2パラメータを順番に更新することを、所定の条件を満たすまで繰り返すようにしてもよい。
【0035】
また、第1の発明において、前記目的関数に、前記第1クラスタを整列するための第1パラメータ、及び前記第2クラスタを整列するための第2パラメータを更に含み、前記最適化部は、前記第1割当行列、前記第2割当行列、前記第1パラメータ、及び前記第2パラメータを順番に更新することを、所定の条件を満たすまで繰り返すようにしてもよい。
【0036】
また、第1の発明において、前記最適化部は、前記第1割当行列及び前記第2割当行列の各々を更新する際に、前記第1オブジェクト集合のうちの選択された一部の第1オブジェクト及び前記第2オブジェクト集合のうちの選択された一部の第2オブジェクトを用いて、前記目的関数を最適化するように、前記第1割当行列及び前記第2割当行列の各々を更新するようにしてもよい。
【0037】
第2の発明に係るプログラムは、コンピュータを、第1の発明に記載の最適化装置の各部として機能させるためのプログラムである。
【発明の効果】
【0038】
本発明の最適化装置、方法、及びプログラムによれば、異なるドメインのオブジェクト集合について、オブジェクトのマッチングを最適化できる、という効果が得られる。
【図面の簡単な説明】
【0039】
【
図1】本発明の実施の形態に係る最適化装置の構成を示すブロック図である。
【
図2】本発明の実施の形態に係る最適化装置における最適化処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0040】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0041】
<本発明の実施の形態に係る概要>
【0042】
まず、本発明の実施の形態における概要を説明する。
【0043】
提案手法では、上記の問題を解決するために、各オブジェクト集合にいくつかのクラスタが存在すること、及びそれらクラスタが1対1に対応することを想定し、オブジェクトのクラスタリングとクラスタのマッチングを同時に最適化するアプローチを採用する。この問題設定はクラスタマッチングと呼ばれ、参考文献1のなどの方法が知られている。
【0044】
[参考文献1]Tomoharu Iwata, Tsutomu Hirao, and Naonori Ueda. Unsupervised cluster matching via probabilistic latent variable models. In AAAI, 2013.
【0045】
しかしながら、クラスタマッチングの既存手法で扱えるオブジェクト集合のサイズは高々1000程度であり、それ以上のオブジェクトが集合に含まれる際には、計算量が現実的な時間内で終了しない点が問題である。提案手法では、オブジェクト集合のサイズが大きい場合にもクラスタマッチングの解を現実的な計算量で求めることができる。
【0046】
<本発明の実施の形態に係る原理>
【0047】
次に、本発明の実施の形態における原理を説明する。
【0048】
まず、サイズが異なる第1オブジェクト集合X及び第2オブジェクト集合Yのオブジェクトの並び替えを表現するために、N×Nの正方行列を仮定していた並び替え行列
を、正方ではない割当行列
に書き直した、以下(5)式のような最適化問題を考える。
【0049】
【0050】
ここで、NX及びNYは第1オブジェクト集合X及び第2オブジェクト集合Yに含まれるオブジェクトの数である。以下、Xに関する単語に「第1」を付し、Yに関する単語に「第2」を付して説明する場合がある。
【0051】
続いて、第1オブジェクト集合X及び第2オブジェクト集合YにそれぞれK個のクラスタが存在することを仮定するとともに、一方のオブジェクト集合内のクラスタがもう一方のオブジェクト集合内のクラスタと1対1に対応することを仮定する。この考え方を導入すると、(5)式の最適化問題の目的関数を下記(7)式のように書き直すことができる。
【0052】
【0053】
ここで、φ(X)及びφ(Y)は、各オブジェクトがどのクラスタに所属するかを示すクラスタ割り当てを示している。φ(X)が、第1オブジェクト集合Xの第1オブジェクトの各々についての第1オブジェクトが属する第1クラスタの割り当てを表す第1割当行列である。φ(Y)が、第2オブジェクト集合の第2オブジェクトの各々についての第2オブジェクトが属する第2クラスタの割り当てを表す第2割当行列である。第1クラスタ及び第2クラスタは、それぞれK個のクラスタからなる。
【0054】
(5)式及び(7)式を比較することにより、クラスタ割り当ての第1割当行列及び第2割当行列の積φ(X)φ(Y)Tが並び替え行列πの低ランク近似表現となっていることがわかる。この低ランク表現の導入により、オブジェクト同士の多対多の対応を、オブジェクトのクラスタリングとクラスタ同士の1対1対応の組み合わせによって実現できる。上記(7)式を最適化するように第1割当行列φ(X)及び第2割当行列φ(Y)を更新することは、クラスタに属するオブジェクトを更新することに相当する。そのため、第1割当行列φ(X)及び第2割当行列φ(Y)を最適化するように更新することにより、オブジェクトマッチングを同時に行うことができる。
【0055】
また、この低ランク表現の導入により、等式制約の緩和に相当する正則化項が一部変更されていることに注意する。すなわち、オブジェクトとクラスタとの対応関係は1対多、すなわち各オブジェクトはいずれか一つのクラスタに所属するが、各クラスタは一般に複数のオブジェクトを含み、かつクラスタのサイズはクラスタによって大きく変動する可能性がある。そのため、第1割当行列φ(X)及び第2割当行列φ(Y)には行の和が1になることを促進する制約のみが残っており、列の和については制約を取り除いている。
【0056】
上記(7)式、(8)式に示したように、最適化問題の目的関数は、第1割当行列及び第2割当行列の積φ(X)φ(Y)と、第2割当行列及び第1割当行列の積φ(Y)φ(X)と、第1オブジェクト間の類似度を要素とするグラム行列K(X)と、第2オブジェクト間の類似度を要素とするグラム行列K(Y)と、第1割当行列及び第2割当行列に関する定数C1とを含んで表される。
【0057】
(7)式で定義される最適化問題で何らかのクラスタマッチングの結果を得ることができるが、この式にはどのようなクラスタを形成するべきかに関する基準がまったく含まれていない。そこで、オブジェクト集合をクラスタに分割するための基準を示す項をさらに追加することを考え、以下(9)式とする。
【0058】
【0059】
ここで、ψ(X)は、第1クラスタを整列するためのパラメータである。ψ(Y)は、第2クラスタを整列するためのパラメータである。g(φ(X),φ(Y),ψ(X),ψ(Y))は、オブジェクトクラスタリングに関するコストであり、いくつかの実現形態が考えられる。例えば、グラム行列の非負値行列分解(non-negative matrix factorization;NMF)を採用することができる。
【0060】
【0061】
また、カーネル凸非負値行列分解(kernelized convex NMF)などのコスト関数を採用することができる(参考文献2参照)。
【0062】
[参考文献2]C. H. Q. Ding, T. Li, and M. I. Jordan. Convex and semi-nonnegative matrix factorizations. IEEE Transactions on Pattern Analysis and Machine Intelligence, 32(1):45-55, Jan 2010.ISSN 0162-8828. doi: 10.1109/TPAMI.2008.277.
【0063】
【0064】
ただし、Tr(・)はトレースノルムである。
【0065】
さらに、クラスタの割り当てに関して第1割当行列φ(X)及び第2割当行列φ(Y)に直交制約を加えることで、クラスタ割り当ての制約を強めることも可能である。
【0066】
【0067】
提案の最適化問題、すなわち(7)式、(9)式あるいは(14)式で定式化される最適化問題は、いずれも多凸、すなわち、すべてのパラメータについては必ずしも凸ではないが、各個別のパラメータについてその他のパラメータが固定であれば凸となっている。このことから、これらの最適化問題の解を求める方法として、各個別のパラメータφ(X),φ(Y),ψ(X)及びψ(Y)について、他のパラメータを固定して順に更新をしていく、交互最適化を採用することができる。
【0068】
次に最適化手法について説明する。
【0069】
本実施の形態で提案する最適化問題は多凸であることから、交互最適化やCVXなどの高次最適化パッケージを利用することで局所最適解を求めることができるが、依然としてオブジェクトの数に対してスケールしないことが課題である。これは、最適化パッケージが問題を解きやすい形に変換する際に、非常に多くの計算量とメモリを必要とするためである。
【0070】
この問題を解決するために、提案手法では、近接勾配法に基づく最適化を採用する。具体的には、以下の通りである。以降では、クラスタリングコストg(・)としてカーネル凸非負値行列分解を採用した場合の(9)式の最適化問題についての最適化手法を示すが、他のクラスタリングコストあるいは(7)式や(14)式を採用する場合にもほぼ同様である。
【0071】
(9)式の各パラメータについての偏微分は、以下のように計算できる。
【0072】
【0073】
ここで、δ(n2,n1)はKroneckerのデルタ関数である。
【0074】
上記で求めた偏微分、及び最適化問題の制約を充足させるための近接写像を用いることにより、求めるべきパラメータであるφ(X)、φ(Y)、ψ(X)及びψ(Y)を更新する式を導出することができる。例えば、φ(X)の更新式は以下の通りとなる。
【0075】
【0076】
ここで、φ(X)(t)は第tステップの更新によって得られた第1割当行列φ(X)であり、P(X)(t)はφ(X)(t)を可能な限り直交化するために利用する中間表現である。また、εX(t)は更新のステップ幅であり、Armijo条件、Armijo-Goldstein条件、Wolf条件など、連続最適化における直線探索の様々な手法によって求めることができる。
【0077】
上記の偏微分計算のうち、φ(X)及びφ(Y)についての計算式には、すべてのオブジェクトについての総和が含まれているため、偏微分の計算に非常に多くの計算量が必要となる。この問題を解決するために、一部のオブジェクトについてのみ総和を取る近似計算を導入することで、偏微分の計算を高速化する。例えば、φ(X)についての偏微分計算は、以下のように近似できる。
【0078】
【0079】
ここで、Mは偏微分計算に利用するオブジェクトの総数、B(N,M)はN以下の正整数の集合
からM個の要素をランダムに選択した結果の集合である。この近似計算は、元のグラム行列
の行をランダムに選択した部分行列
を用いた偏微分の計算と見なすことができる。一般に、Mを小さくすると、計算が高速になるが、偏微分の計算誤差が大きくなり、目的関数f(・)が十分に小さくならないうちに局所解に収束する傾向がある。逆に、Mを大きくすると、目的関数の値がより小さい局所解に収束しやすくなるが、同じ目的関数の値を得るまでの計算時間がより多く必要となる傾向にある。そこで、偏微分計算に利用するオブジェクトの総数Mを固定値とせず、更新ステップtに合わせて大きくする方法を採用することもできる。
【0080】
なお、φ(X)について偏微分計算により更新する場合を説明したが、φ(Y)、ψ(X)、及びψ(Y)を更新する場合も同様に計算することができる。
【0081】
上記の原理を前提に以下、本発明の実施の形態について説明する。本発明の実施の形態の最適化装置は、第1オブジェクトからなる第1オブジェクト集合Xと第1オブジェクトとドメインが異なる第2オブジェクトからなる第2オブジェクト集合Yの対について、第1オブジェクトに関する複数の第1クラスタ、及び第2オブジェクトに関する複数の第2クラスタを介して対応関係を求める場合の最適化問題を解く最適化装置である。
【0082】
<本発明の実施の形態に係る最適化装置の構成>
【0083】
次に、本発明の実施の形態に係る最適化装置の構成について説明する。
図1に示すように、本発明の実施の形態に係る最適化装置100は、CPUと、RAMと、後述する最適化処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この最適化装置100は、機能的には
図1に示すように入力部10と、演算部20と、出力部50とを備えている。
【0084】
入力部10は、第1オブジェクト集合X及び第2オブジェクト集合Yを受け付ける。
【0085】
演算部20は、計算部30と、最適化部32とを含んで構成されている。
【0086】
計算部30は、第1オブジェクト集合X及びカーネル関数から、第1オブジェクト間の類似度を要素とするグラム行列K(X)を計算する。また、第2オブジェクト集合Y及びカーネル関数から、第2オブジェクト間の類似度を要素とするグラム行列K(Y)を計算する。また、計算したK(X)及びK(Y)にデータ中心化行列Hを掛けたものを得る。
【0087】
最適化部32は、本実施の形態では、(14)式の目的関数のパラメータを最適化するように、第1割当行列φ(X)、第2割当行列φ(Y)、ψ(X)、及びψ(Y)を順番に更新することを、所定の条件を満たすまで繰り返す。なお、目的関数は(7)式、(9)式であってもよい。例えば、(7)式である場合には、第1割当行列φ(X)、第2割当行列φ(Y)を交互に更新する。最適化部32の更新では、第1割当行列及び第2割当行列の各々を更新する際に、第1オブジェクト集合X及び第2オブジェクト集合YのそれぞれについてM個のオブジェクトをランダムに選択する。そして、最適化部32は、第1オブジェクト集合のうちの選択された一部の第1オブジェクト及び第2オブジェクト集合のうちの選択された一部の第2オブジェクトを用いて、(14)式の目的関数を最適化するように、第1割当行列φ(X)、第2割当行列φ(Y)、ψ(X)、及びψ(Y)の各々を更新する。
【0088】
最適化部32は、最終的に更新された第1割当行列φ(X)、第2割当行列φ(Y)により得られるオブジェクトのマッチング結果を出力部50に出力する。
【0089】
<本発明の実施の形態に係る最適化装置の作用>
【0090】
次に、本発明の実施の形態に係る最適化装置100の作用について説明する。入力部10において第1オブジェクト集合X及び第2オブジェクト集合Yを受け付けると、最適化装置100は、
図2に示す最適化処理ルーチンを実行する。
【0091】
まず、ステップS100では、計算部30は、第1オブジェクト集合X及びカーネル関数から、第1オブジェクト間の類似度を要素とするグラム行列K(X)を計算する。また、第2オブジェクト集合Y及びカーネル関数から、第2オブジェクト間の類似度を要素とするグラム行列K(Y)を計算する。また、計算したK(X)及びK(Y)にデータ中心化行列Hを掛けたものを得る。
【0092】
ステップS102では、最適化部32は、更新ステップtをt←0と更新する。
【0093】
ステップS104では、最適化部32は、第1オブジェクト集合X及び第2オブジェクト集合YのそれぞれについてM個のオブジェクトをランダムに選択する。
【0094】
ステップS106では、最適化部32は、φ(Y)(t-1),ψ(X)(t-1)及びψ(Y)(t-1)を固定して、φ(X)(t-1)をφ(X)(t)に更新する。更新式は(22)式を用いればよく、以下ステップS108~S112にて同様の式を用いる。上記ステップS100で計算されたグラム行列における、上記ステップS104で選択されたM個の第1オブジェクト及びM個の第2オブジェクトについての要素を用いたコスト関数f(・)のφ(X)(t-1)についての偏微分を計算することで,φ(X)(t-1)をφ(X)(t)に更新する。また、最適化部32は、P(X)(t-1)をP(X)(t)に更新する。なお、初回はt=0であるため初期値を生成する。初期値に関しては以下のステップでも同様である。
【0095】
ステップS108では、最適化部32は、φ(X)(t),ψ(X)(t-1)及びψ(Y)(t-1)を固定して、φ(Y)(t-1)をφ(Y)(t)に更新する。コスト関数f(・)のφ(Y)(t-1)についての偏微分を計算することで、φ(Y)(t-1)をφ(Y)(t)に更新する。また、最適化部32は、P(Y)(t)をP(Y)(t)に更新する。
【0096】
ステップS110では、φ(X)(t),φ(Y)(t)及びψ(Y)(t-1)を固定して、ψ(X)(t-1)をψ(X)(t)に更新する。
【0097】
ステップS112では、φ(X)(t),φ(Y)(t) 及びψ(X)(t)を固定して、ψ(Y)(t-1)をψ(Y)(t)に更新する。
【0098】
ステップS114では、最適化部32は、所定の条件を満たしたか否かを判定する。所定の条件を満たす場合にはステップS118で更新された第1割当行列φ(X)、第2割当行列φ(Y)によるオブジェクトマッチングの結果を出力部50に出力して処理を終了する。所定の条件を満たさない場合にはステップS116に移行する。所定の条件は、例えば収束の閾値やtについて予め定めた回数とすればよい。
【0099】
ステップS116では、最適化部32は、t←t+1と更新し、ステップS104に戻って処理を繰り返す。
【0100】
なお、上記のステップS104及びS106において、前述の近似計算を用いて偏微分計算を高速化できる。クラスタリングに関するコストがコスト関数f(・)に含まれていない場合には、ステップS110及びS112が不要となる。また、φ(X)及びφ(Y)に関する直交制約が最適化問題に含まれない場合には、P(X)(t)及びP(Y)(t)の更新が不要となる。
【0101】
以上説明したように、本発明の実施の形態に係る最適化装置によれば、第1オブジェクト集合の第1オブジェクトの各々についての第1オブジェクトが属する第1クラスタの割り当てを表す第1割当行列、及び第2オブジェクト集合の第2オブジェクトの各々についての第2オブジェクトが属する第2クラスタの割り当てを表す第2割当行列の積と、第2割当行列及び第1割当行列の積と、第1オブジェクト間の類似度を要素とするグラム行列と、第2オブジェクト間の類似度を要素とするグラム行列と、第1割当行列及び第2割当行列に関する制約項とを含む目的関数を最適化するように、第1割当行列及び第2割当行列を交互に更新することを、所定の条件を満たすまで繰り返すことにより、異なるドメインのオブジェクト集合について、オブジェクトのマッチングを最適化できる。
【0102】
また、既存手法である(convex) kernelized sortingと比較した際の提案手法の貢献は、以下の通りとなる。
【0103】
第1オブジェクト集合Xと第2オブジェクト集合Yの組に含まれるオブジェクトの数が一致していない、もしくはこの2つのオブジェクト集合に含まれるオブジェクトが必ずしも1対1に対応していない場合においても、オブジェクトマッチングを実現できる。これは、求めるべきパラメータである並び替え行列πを、割り当て行列の積φ(X)φ(Y)Tに置き換えたことによる。
【0104】
また、近接勾配法を用いることで、解くべき最適化問題の解を高速に求めることができる。既存手法では、最適化問題の求解を最適化パッケージにそのまま渡していたが、本手法では、解くべき問題が不等式制約付多凸最適化であることに着目し、コスト関数の近接勾配を解析的に導出し、この近接勾配を用いて各パラメータを順次更新する。
【0105】
また、勾配計算の近似計算を用いることで、最適化をさらに高速化できる。
【0106】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【0107】
10 入力部
20 演算部
30 計算部
32 最適化部
50 出力部