類似性学習は、人工知能における教師あり機械学習の分野です。回帰や分類と密接に関連していますが、その目的は、2 つのオブジェクトがどの程度類似しているか、または関連しているかを測定する類似性関数を学習することです。ランキング、推奨システム、視覚的アイデンティティ追跡、顔認証、話者認証 などの用途があります。
学習設定
類似性およびメトリック距離学習には、4 つの一般的な設定があります。
- 回帰類似度学習
- この設定では、オブジェクトのペアが類似度の尺度とともに与えられます。目標は、ラベル付けされた新しいトリプレットの例ごとに を近似する関数を学習することです。これは通常、正規化された損失を最小化することで実現されます。
- 分類類似性学習
- 類似したオブジェクトと類似していないオブジェクトのペアが与えられます。同等の定式化は、すべてのペアが、 2 つのオブジェクトが類似しているかどうかを判断するバイナリ ラベルとともに与えられることです。目標は、新しいオブジェクトのペアが類似しているかどうかを判断できる分類子を学習することです。
- ランキング類似性学習
- 相対的な類似性が定義済みの順序に従う3 つのオブジェクト があるとします。 はよりもに類似していることがわかっています。 目標は、任意の新しい 3 つのオブジェクト に対して が に従うような関数を学習することです(対照学習)。 この設定では、回帰よりも弱い形式の監督を想定しています。これは、類似性の正確な尺度を提供する代わりに、類似性の相対的な順序を提供するだけでよいためです。 このため、ランキングベースの類似性学習は、実際の大規模アプリケーションに適用するのが簡単です。[1]
- 局所性敏感ハッシュ(LSH)[2]
- 入力項目をハッシュ化して、類似項目がメモリ内の同じ「バケット」に高い確率でマップされるようにします(バケットの数は、入力項目の可能な範囲よりもはるかに小さくなります)。これは、画像データベース、ドキュメントコレクション、時系列データベース、ゲノムデータベースなどの大規模な高次元データの近傍検索によく適用されます。[3]
類似性を学習するための一般的なアプローチは、類似性関数を双線形形式としてモデル化することです。たとえば、ランキング類似性学習の場合、類似性関数をパラメーター化する行列 W を学習することが目的です。データが豊富な場合、一般的なアプローチは、パラメーター共有を備えたディープ ネットワーク モデルであるシャム ネットワークを学習することです。
メトリック学習
類似性学習は、距離メトリック学習と密接に関連しています。メトリック学習は、オブジェクト間の距離関数を学習するタスクです。メトリックまたは距離関数は、非負性、識別不能なものの同一性、対称性、劣加法性(または三角不等式)という 4 つの公理に従う必要があります。実際には、メトリック学習アルゴリズムは、識別不能なものの同一性の条件を無視し、疑似メトリックを学習します。
オブジェクトがのベクトルである場合、対称正定値円錐の任意の行列は、形式 を介して x の空間の距離擬似計量を定義します。 が対称正定値行列である場合、は計量です。さらに、任意の対称正定値行列はおよびとして分解できるため、距離関数はと同等に書き直すことができます。距離は、変換された特徴ベクトルと間のユークリッド距離に対応します。
計量学習には多くの定式化が提案されている。[4] [5]計量学習のよく知られたアプローチとしては、トリプレット損失に基づく相対比較からの学習[6]、大マージン最近傍法[7]、情報理論的計量学習(ITML)[8]などがある。
統計学では、データの共分散行列が、マハラノビス距離と呼ばれる距離測定基準を定義するために使用されることがあります。
アプリケーション
類似性学習は、ランク付け学習のための情報検索、顔認証や顔識別[9] [10] 、推薦システムなどで使用されています。また、多くの機械学習アプローチは、何らかのメトリックに依存しています。これには、近いまたは類似したオブジェクトをグループ化するクラスタリングなどの教師なし学習が含まれます。また、近くにあるオブジェクトのラベルに基づいて新しいオブジェクトのラベルを決定するK近傍アルゴリズムなどの教師ありアプローチも含まれます。メトリック学習は、これらのアプローチの多くで前処理ステップとして提案されています。[11]
スケーラビリティ
メトリック学習と類似性学習は、学習したメトリックが双線形形式である場合に簡単にわかるように、入力空間の次元に対して単純に2乗的にスケーリングされます。高次元へのスケーリングは、HDSL [12]やCOMET [13]で行われたように、行列モデルにスパース構造を適用することで実現できます。
ソフトウェア
- metric-learn [14]は、いくつかの教師ありおよび弱教師あり類似度および計量学習アルゴリズムの効率的な実装を提供するフリーソフトウェアPythonライブラリです。metric-learnのAPIはscikit-learnと互換性があります。[15]
- OpenMetricLearning [16]は、高品質の埋め込みを生成するモデルを訓練し検証するためのPythonフレームワークです。
詳細情報
このトピックに関する詳細については、Belletら[4]とKulis [5]によるメトリック学習と類似性学習に関する調査を参照してください。
参照
参考文献
- ^ Chechik, G.; Sharma, V.; Shalit, U.; Bengio, S. (2010). 「ランキングによる画像類似性の大規模オンライン学習」(PDF) . Journal of Machine Learning Research . 11 : 1109–1135.
- ^ ジオニス、アリスティデス、ピョートル・インディク、ラジーブ・モトワニ。 「ハッシュ化による高次元の類似性検索」 VLDB。 Vol. 99. No.6. 1999.
- ^ Rajaraman, A.; Ullman, J. (2010). 「大規模データセットのマイニング、第3章」
- ^ ab Bellet, A.; Habrard, A.; Sebban, M. (2013). 「特徴ベクトルと構造化データのメトリック学習に関する調査」. arXiv : 1306.6709 [cs.LG].
- ^ ab Kulis, B. ( 2012). 「メトリック学習:調査」。機械学習の基礎と動向。5 (4): 287–364. doi :10.1561/2200000019。
- ^ Schultz, M.; Joachims, T. (2004). 「相対比較から距離メトリックを学習する」(PDF) .ニューラル情報処理システムの進歩. 16 : 41–48.
- ^ Weinberger, KQ; Blitzer, JC; Saul, LK (2006). 「大マージン最近傍分類のための距離メトリック学習」(PDF) .ニューラル情報処理システムの進歩. 18 : 1473–1480.
- ^ Davis, JV; Kulis, B.; Jain, P.; Sra, S.; Dhillon, IS (2007). 「情報理論的メトリック学習」.国際機械学習会議 (ICML) : 209–216.
- ^ Guillaumin, M.; Verbeek, J.; Schmid, C. (2009). 「Is that you? 顔識別のためのメトリック学習アプローチ」(PDF) . IEEE International Conference on Computer Vision (ICCV) .
- ^ Mignon, A.; Jurie, F. (2012). 「PCCA: スパースペアワイズ制約からの距離学習のための新しいアプローチ」(PDF)。IEEEコンピュータビジョンおよびパターン認識会議。
- ^ Xing, EP; Ng, AY; Jordan, MI; Russell, S. ( 2002). 「距離メトリック学習、サイド情報によるクラスタリングへの応用」(PDF)。ニューラル情報処理システムの進歩。15 : 505–512。
- ^ Liu; Bellet; Sha (2015). 「高次元スパースデータの類似性学習」(PDF) .人工知能と統計に関する国際会議 (AISTATS) . arXiv : 1411.2374 . Bibcode :2014arXiv1411.2374L.
- ^ Atzmon、Shalit、Chechik (2015)。「スパースメトリックの学習、一度に1つの機能」(PDF)。J . Mach. Learn. Research (JMLR)。
- ^ 「Scikit-learn-contrib/Metric-learn」。GitHub。
- ^ Vazelhes; Carey; Tang; Vauquier; Bellet (2020). 「metric-learn: Python でのメトリック学習アルゴリズム」(PDF) . J. Mach. Learn. Research (JMLR) . arXiv : 1908.04710 .
- ^ 「OML-Team/Open-metric-learning」。GitHub。
