データ分析基礎知識

“分析力をコアとするデータソリューションカンパニー”
株式会社ALBERTが、データ分析にまつわる基礎知識をわかりやすく解説します。

ディープメトリックラーニングとは

メトリックラーニング(Metric Learning)

メトリックラーニング(計量学習)とは、データ間の関係性を考慮した特徴量空間を学習する手法です。「どの関係性を重視するか」を制御することができ、情報検索やクラスタリング、個体認識など、さまざまな応用先が考えられます。

ディープメトリックラーニング(Deep Metric Learning)

メトリックラーニング自体は古くからある手法ですが、近年のディープラーニングの発展とともに、ディープラーニング技術と組み合わせた新たなメトリックラーニングの手法が数多く提案されています。

例えば、ディープニューラルネットワーク(Deep Neural Network:DNN)モデルを利用して画像や音声などのデータをその特徴を表現したベクトル(特徴量ベクトル)に変換することを考えてみましょう。未学習のDNNモデルにデータを入力しても、出力されるのは無意味な数の羅列に過ぎないため、なんらかの手法でモデルを訓練しなければなりません。こうした場合に活用できる手法のひとつに、ディープメトリックラーニングが挙げられます。

ディープメトリックラーニングは、2つの特徴ベクトル間の「距離」がデータの「類似度」を反映するようにDNNモデルを訓練する手法です。具体的には、

となるように、DNNモデルを訓練します。ここで「距離」として用いられるのは、ユークリッド距離やコサイン類似度などのベクトルとベクトルの間に定義される計量です(コサイン類似度は正確には計量ではないのですが、便宜上、計量と呼ぶことにします)。

ベクトルは空間上の点とみなすことができるため、このDNNモデルはデータを空間上の点に対応付けていると考えることができます。特徴量ベクトルの住む空間ということで、これを「特徴量空間」と呼ぶことにしましょう。DNNモデルの学習が進むにつれて、類似サンプル(から得られる特徴ベクトル)は特徴量空間上で密集していき、同時に非類似サンプル間の距離は離れていきます(図1)。これは見方を変えれば、データ間の関係性を反映するように特徴量空間上の計量を学習しているということもできるため、それがメトリックラーニングと呼ばれる所以となっています。

図1

ディープメトリックラーニングの応用


・顔認証

ディープメトリックラーニングの主要な応用先として、顔認証が考えられます。顔認証の目的は、2つの画像データが同一人物のものかどうかを判定することです。ここには大きく2つの問題があります。

1つ目の問題は、撮影環境の違いを無視しつつ、人物の違いを認識しなくてはならないことです。顔認証では、顔の位置を完全に固定して画像を撮影することはできないため、撮影角度や距離、表情、周囲の明るさ、背景など、撮影ごとの差異が生じます。これら非本質的な差異を無視しながら、個人識別に重要な情報(目鼻口等パーツの形や位置関係)を認識しなくてはならないのです。

2つ目は、訓練データ中に存在しない顔についても識別する必要があることです。当然のことながら、訓練データは全人類の顔を網羅しているわけではありません。限られたデータを用いて汎用的な顔認証モデルを訓練する必要があります。

ディープメトリックラーニングを用いると、これらの問題を解決することができます。同一人物のデータを密集させ、異なる人物のデータを引き離すようにDNNモデルを訓練することで、そこでの距離が個人の違いのみを反映しているような特徴量空間を得ることができます。そして、このDNNモデルは、「個人」そのものではなく、「個人と個人の関係」を学習しているため、訓練データに存在しない人物についても対応できます。よって、この特徴量空間上で、一定以上近くにある画像のペアは同一人物のもの、そうでなければ異なる人物のものとすることで、顔認証を実現可能です。

・画像検索

ディープメトリックラーニングの応用例の2つ目は画像検索が挙げられます。たとえばアパレルサイト上で、ユーザーが特定のデザインのアイテムを検索したい場合、デザインは言葉で表現しにくいため、どういうワードを検索欄に入力すればよいか分からないことがあります。また、そのためにはサイト上に存在する全ての商品にさまざまなワード(タグ)がついている必要がありますが、サイトの運営者からすれば、商品にタグ付けをして検索性を高めるためには相応のコストがかかります。

この例の場合、運営者が類似画像検索のシステムを導入すれば、こうした問題を解決可能です。画像をクエリとして類似アイテムを検索することができれば、ユーザーが検索ワードで悩んだり、運営者が画像にタグ付けをしたりする必要性は減るはずです。

ディープメトリックラーニングは類似画像検索に利用することができます。特徴量ベクトル間の距離が類似度に対応するようDNNモデルを訓練すれば、クエリ画像を特徴量ベクトルに変換し、それと距離の近い画像をとってくることで、その画像はクエリ画像と類似した特徴を持っていると判断できます(図2)。

図2
・異常検知

ディープラーニングを用いた工業製品等の外観検査(異常検知)が非常に注目を集めていますが、この場合にもディープメトリックラーニングが応用できます。具体的には、特徴量空間において、正常品が一箇所に密集するように、また正常品と不良品が離れるようにDNNモデルを訓練し、正常品クラスタからの距離を不良度として扱います(図3)。

図3

ディープラーニングによる異常検知も、撮影状況の違い(製品や撮影箇所の差異)や、訓練データ中に含まれない未知の不良パターンの可能性など、顔認証と同様の問題を抱えています。ディープメトリックラーニングを用いることで、そうした問題を解決し、正常と不良の違いにフォーカスした、より高精度の異常検知モデルを構築できる可能性があるのです。

ディープメトリックラーニングは非常に応用範囲の広い技術であり、多くの研究論文が発表されています。データから類似性を見出すことは、機械学習の大きな目的の一つです。その意味でメトリックラーニングという分野は今後いっそう発展していくでしょう。今後も、さらなる技術発展や実社会への応用が期待されます。

このページをシェアする
ALBERTは、日本屈指のデータサイエンスカンパニーとして、データサイエンティストの積極的な採用を行っております。また、ビッグデータアナリティクス領域において最適なソリューションをご提供します。

データサイエンティストの採用はこちら
データ分析・プロジェクトのご相談はこちら