(57)【要約】【課題】精度よく類似度スコアを計算するためのモデルを学習することができるようにする。【解決手段】クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコア、及びクエリ画像の特徴ベクトルと非類似画像の特徴ベクトルとの類似度スコアを含む損失関数を用いて、クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコアが高く、クエリ画像の特徴ベクトルと非類似画像の特徴ベクトルとの類似度スコアが低くなるように、全結合層の出力に対して正規化を行う多層構造ニューラルネットワークのパラメータを学習する。【選択図】図１
2018147392.tif 000002
【特許請求の範囲】
【請求項１】
データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置であって、
クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、全結合層の出力に対して正規化を行う前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、及び前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する学習部
を含むモデル学習装置。
【請求項２】
前記データ以外の情報を用いて、参照データの集合から、前記クエリデータに類似しない前記非類似データを選択する非類似データ選択部を更に含み、
前記学習部は、前記クエリデータ、前記類似データ、及び前記選択された前記非類似データに基づいて、前記多層構造ニューラルネットワークのパラメータを学習する請求項１記載のモデル学習装置。
【請求項３】
データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置であって、
クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコア、前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記類似データとの類似度スコア、及び前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記非類似データとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する学習部
を含むモデル学習装置。
【請求項４】
クエリデータと参照データとの類似度を表すスコアを算出するスコア計算装置であって、
クエリデータ及び参照データに基づいて、予め学習された、全結合層の出力に対して正規化を行う多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと、前記多層構造ニューラルネットワークから出力される前記参照データの特徴ベクトルとを求め、前記クエリデータの特徴ベクトルと、前記参照データの特徴ベクトルとの類似度スコアを計算するスコア計算部と、
前記特徴ベクトルとは異なる情報を用いて、前記クエリデータと前記参照データとの類似度スコアを計算する他手法スコア計算部と、
前記スコア計算部によって計算された前記類似度スコアと、前記他手法スコア計算部によって計算された前記類似度スコアとを統合した統合スコアを計算するスコア統合部と、
を含むスコア計算装置。
【請求項５】
クエリデータと参照データとの間の類似度スコアを算出するために用いられるパラメータであって、
入力を、クエリデータ、前記クエリデータに類似する類似データ、前記クエリデータに類似しない非類似データとし、出力を、コサイン類似度を求めるための、前記クエリデータの正規化された特徴ベクトル、前記類似データの正規化された特徴ベクトル、前記非類似データの正規化された特徴ベクトルとする多層構造ニューラルネットワークのパラメータを含むデータ構造。
【請求項６】
データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置におけるモデル学習方法であって、
学習部が、クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、全結合層の出力に対して正規化を行う前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、及び前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する
モデル学習方法。
【請求項７】
データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置におけるモデル学習方法であって、
学習部が、クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコア、前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記類似データとの類似度スコア、及び前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記非類似データとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する
モデル学習方法。
【請求項８】
コンピュータを、請求項１〜請求項３の何れか１項記載のモデル学習装置、又は請求項４記載のスコア計算装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル学習装置、スコア計算装置、方法、データ構造、及びプログラムに係り、特に、クエリデータと参照データとの類似度スコアを計算するためのモデル学習装置、スコア計算装置、方法、データ構造、及びプログラムに関する。
【背景技術】
【０００２】
商標出願時、登録済み商標画像との類否が登録審査の一基準となる。
【０００３】
多くの商標画像はある概念を抽象化して記述されている。例えば「人」について、全身を詳細に描いたイラストがある一方で、棒人間など丸や四角などプリミティブな記号の組合せで表現される場合がある。
【０００４】
出願商標画像に対して、このような過去に登録された膨大な抽象的な商標画像との類否を判断することは、時間効率性・客観性の観点から非常に困難である。
【０００５】
このような状況から、商標審査官（and/or 出願の事前調査を行うユーザ）による抽象化された概念についての類否判定をサポートする手法が要望されている。
【０００６】
また、クエリ、正解画像、不正解画像のセットを基に、クエリ-類似画像間のスコアは高くなるように、反対にクエリ-非類似画像間のスコアは低くなるように学習することを目的とした損失関数が提案されている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Jiang Wang et al., " Learning Fine-grained Image Similarity with Deep Ranking", インターネット検索＜ＵＲＬ：https://arxiv.org/pdf/1404.4661v1.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明では、精度よく類似度スコアを計算することができるモデル学習装置、スコア計算装置、方法、データ構造、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、第１の発明に係るモデル学習装置は、データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置であって、クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、全結合層の出力に対して正規化を行う前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、及び前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する学習部を含んで構成されている。
【００１０】
第２の発明に係るモデル学習方法は、データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置におけるモデル学習方法であって、学習部が、クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、全結合層の出力に対して正規化を行う前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、及び前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する。
【００１１】
第３の発明に係るモデル学習装置は、データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置であって、クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコア、前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記類似データとの類似度スコア、及び前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記非類似データとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する学習部を含んで構成されている。
【００１２】
第４の発明に係るモデル学習方法は、データを入力とし特徴ベクトルを出力するための多層構造ニューラルネットワークを学習するモデル学習装置におけるモデル学習方法であって、学習部が、クエリデータ、前記クエリデータに類似する類似データ、及び前記クエリデータに類似しない非類似データに基づいて、前記多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコア、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコア、前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記類似データとの類似度スコア、及び前記特徴ベクトルとは異なる情報を用いて計算された前記クエリデータと前記非類似データとの類似度スコアを含む損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、前記多層構造ニューラルネットワークのパラメータを学習する。
【００１３】
第５の発明に係るスコア計算装置は、クエリデータと参照データとの類似度を表すスコアを算出するスコア計算装置であって、クエリデータ及び参照データに基づいて、予め学習された、全結合層の出力に対して正規化を行う多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと、前記多層構造ニューラルネットワークから出力される前記参照データの特徴ベクトルとを求め、前記クエリデータの特徴ベクトルと、前記参照データの特徴ベクトルとの類似度スコアを計算するスコア計算部と、前記特徴ベクトルとは異なる情報を用いて、前記クエリデータと前記参照データとの類似度スコアを計算する他手法スコア計算部と、前記スコア計算部によって計算された前記類似度スコアと、前記他手法スコア計算部によって計算された前記類似度スコアとを統合した統合スコアを計算するスコア統合部と、を含んで構成されている。
【００１４】
第６の発明に係るデータ構造は、クエリデータと参照データとの間の類似度スコアを算出するために用いられるパラメータであって、入力を、クエリデータ、前記クエリデータに類似する類似データ、前記クエリデータに類似しない非類似データとし、出力を、コサイン類似度を求めるための、前記クエリデータの正規化された特徴ベクトル、前記類似データの正規化された特徴ベクトル、前記非類似データの正規化された特徴ベクトルとする多層構造ニューラルネットワークのパラメータを含むデータ構造である。
【００１５】
また、第７の発明のプログラムは、コンピュータを、上記のモデル学習装置又はスコア計算装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００１６】
以上説明したように、本発明のモデル学習装置、方法、及びプログラムによれば、損失関数を用いて、前記クエリデータの特徴ベクトルと前記類似データの特徴ベクトルとの類似度スコアが高く、前記クエリデータの特徴ベクトルと前記非類似データの特徴ベクトルとの類似度スコアが低くなるように、全結合層の出力に対して正規化を行う多層構造ニューラルネットワークのパラメータを学習することにより、精度よく類似度スコアを計算するためのモデルを学習することができる。
【００１７】
本発明のスコア計算装置及びプログラムによれば、全結合層の出力に対して正規化を行う多層構造ニューラルネットワークから出力される前記クエリデータの特徴ベクトルと、多層構造ニューラルネットワークから出力される参照データの特徴ベクトルとを求め、類似度スコアを計算し、特徴ベクトルとは異なる情報を用いて、クエリデータと参照データとの類似度スコアを計算し、統合することにより、精度よく類似度スコアを計算することができる。
【００１８】
本発明のデータ構造によれば、入力を、クエリデータ、類似データ、非類似データとし、出力を、コサイン類似度を求めるための、クエリデータの正規化された特徴ベクトル、類似データの正規化された特徴ベクトル、非類似データの正規化された特徴ベクトルとする多層構造ニューラルネットワークのパラメータにより、精度よく類似度スコアを計算するためのモデルを学習することができる。
【図面の簡単な説明】
【００１９】
【図１】（Ａ）ＤＮＮ「Ｉｌｌｕｓｔｒａｔｉｏｎ２Ｖｅｃ」の構成を示す図、及び（Ｂ）本発明の第１の実施の形態のＤＮＮモデルの構成を示す図である。
【図２】各図形の有無をビットとして各商標画像をバイナリで表現した例を示す図である。
【図３】本発明の第１の実施の形態に係るモデル学習装置の構成を示すブロック図である。
【図４】本発明の第１の実施の形態に係るスコア計算装置の構成を示すブロック図である。
【図５】本発明の第１の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンの内容を示すフローチャートである。
【図６】本発明の第１の実施の形態に係るスコア計装置におけるスコア計算処理ルーチンの内容を示すフローチャートである。
【図７】ＤＮＮ特徴ベクトルを用いて得られたスコアと他手法で得られたスコアとを統合する方法を説明するための図である。
【図８】ＤＮＮ特徴ベクトルを用いて得られたスコアと他手法で得られたスコアとを含む損失関数を用いてＤＮＮのパラメータを学習する方法を説明するための図である。
【図９】ＤＮＮ特徴ベクトルを用いて得られたスコアと他手法で得られたスコアとを統合する方法を説明するための図である。
【図１０】本発明の第２の実施の形態に係るモデル学習装置の構成を示すブロック図である。
【図１１】本発明の第２の実施の形態に係るスコア計算装置の構成を示すブロック図である。
【図１２】本発明の第２の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンの内容を示すフローチャートである。
【図１３】本発明の第２の実施の形態に係るスコア計装置におけるスコア計算処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２１】
＜本発明の実施の形態の概要＞
イラスト画像分類用のDNN「Illustration2Vec」は「一般イラストの多クラス分類」を目的に設計されているため（図１（Ａ）参照）、本発明の実施の形態におけるＤＮＮでは、次の3点を改良している（図１（Ｂ）参照）。
【００２２】
（１）色情報を除外する（グレースケール化を行って入力画像を1チャネルとする）。
（２）正規化層を導入して、コサイン類似度へ適応させる。
（３）検索ランキングに適した損失関数Triplet-lossを導入する。
【００２３】
また、正規化層では、ベクトルの各要素を2乗して合計した値で各要素を除算する処理(L2正規化)を行う。
【００２４】
【数１】
2018147392.tif 000003
・・・（１）
【００２５】
ただし、ｙは、正規化層の出力値であり、特徴ベクトルに相当する。また、ｘは、前層の出力値（上記図１（Ｂ）の例では、全結合層の出力である4096次元のベクトル）である。ｙを用いてTriplet Lossを計算する。
【００２６】
ここで、正規化層を導入する理由について説明する。
【００２７】
Triplet Lossの距離計算はユークリッド距離で行われる。一方で一般に、画像検索における距離（類似度）はコサイン類似度が適していることが多い。
【００２８】
ユークリッド距離ｄは以下の式で表わされる。
【００２９】
【数２】
2018147392.tif 000004
【００３０】
コサイン類似度ｃｏｓは以下の式で表わされる。
【００３１】
【数３】
2018147392.tif 000005
【００３２】
L2正規化を行った場合、||ｘ||＝１となるため、ユークリッド距離とコサイン類似度は等価になる。従って、正規化層を導入して、全結合層の出力値に対してＬ２正規化を行うことにより、コサイン類似度へ適応させることができる。
【００３３】
次に、Tripletデータの選択方法について説明する。
【００３４】
TripletLossの計算にはあるクエリ画像に対して類似画像と非類似画像の両方からなる正解データが必要となるが、検索における類否は、多くの場合に主観評価によって決まり、またDNNの学習には大量のデータが必要となるため、データ収集のコストが高い。
【００３５】
本発明の実施の形態では、画像以外の情報を用いてTripletの「非類似画像」の選択を行う。
【００３６】
例えば、全ての登録済み商標画像にはウィーン図形に基づいた分類がなされている。クエリ画像に付与された図形コードと任意の商標画像の図形コードとを比較し、コードの一致度が低い商標画像を非類似画像とすることで、疑似的に非類似画像のデータ数を増やす。
【００３７】
例えば、図２に示すように、各図形の有無をビットとして各商標画像をバイナリで表現し、ハミング距離で一致度を算出し、ハミング距離が閾値以上の商標画像を非類似画像とみなす。
【００３８】
＜第１の実施の形態＞
＜モデル学習装置のシステム構成＞
図３は、本発明の第１の実施の形態に係るモデル学習装置１００を示すブロック図である。このモデル学習装置１００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭと、を備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００３９】
本実施の形態に係るモデル学習装置１００は、図３に示すように、入力部１０と、演算部２０と、出力部４０とを備えている。
【００４０】
入力部１０は、クエリ画像と、当該クエリ画像に類似する類似画像との複数ペアを学習データとして受け付ける。
【００４１】
演算部２０は、学習データ記憶部２１、画像データベース２２、非類似データ選択部２３、及び学習部２４を備えている。
【００４２】
学習データ記憶部２１は、入力部１０で受け付けたクエリ画像と、当該クエリ画像に類似する類似画像との複数ペアを学習データとして記憶している。
【００４３】
画像データベース２２には、参照画像の集合を記憶している。
【００４４】
非類似データ選択部２３は、学習データのクエリ画像の各々に対して、画像以外の情報を用いて、画像データベース２２に記憶されている参照画像の集合から、当該クエリ画像に類似しない非類似画像を選択する。
【００４５】
学習部２４は、学習データのクエリ画像と類似画像の複数ペア、及びクエリ画像の各々に対して選択された非類似画像に基づいて、ＤＮＮのパラメータを学習する。本実施の形態に係るＤＮＮは、全結合層の出力に対して正規化を行って、特徴ベクトルを出力する。
【００４６】
ＤＮＮのパラメータの学習では、クエリ画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）と、類似画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）との類似度スコア、及びクエリ画像の特徴ベクトル（上記式（１）に示す正規化層の出力）と非類似画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）との類似度スコアを含む損失関数を用いて、クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコアが高く、クエリ画像の特徴ベクトルと非類似画像の特徴ベクトルとの類似度スコアが低くなるように、ＤＮＮのパラメータを学習する。なお、本実施の形態に係るＤＮＮは、上記図１（Ｂ）に示すように、入力画像の１チャネルを入力とする入力層と、畳み込み層と、全結合層と、正規化装置とを含んで構成されている。
【００４７】
学習方法として、従来既知の手法（例えば、一般的なＤｅｅｐＬｅａｒｎｉｎｇの誤差逆伝播）を用いればよい。
【００４８】
なお、既存の適当な学習パラメータ（の一部）を、ＤＮＮのパラメータの初期値として用いて、ＤＮＮのパラメータを学習してもよい。例えば、Illustration2VecやVGGなどによる学習パラメータを用いても良い。これにより、学習の効果が上がる。
【００４９】
学習されたＤＮＮのパラメータが、出力部４０により出力される。ここで、ＤＮＮのパラメータが、クエリ画像と参照画像との間の類似度スコアを算出するために用いられるパラメータであって、入力を、クエリ画像、類似画像、非類似画像とし、出力を、コサイン類似度を求めるための、クエリ画像の正規化された特徴ベクトル、類似画像の正規化された特徴ベクトル、非類似画像の正規化された特徴ベクトルとする多層構造ニューラルネットワークのパラメータを含むデータ構造である。
【００５０】
＜スコア計算装置のシステム構成＞
図４は、本発明の第１の実施の形態に係るスコア計算装置１５０を示すブロック図である。このスコア計算装置１５０は、ＣＰＵと、ＲＡＭと、後述するスコア計算処理ルーチンを実行するためのプログラムを記憶したＲＯＭと、を備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００５１】
本実施の形態に係るスコア計算装置１５０は、図４に示すように、入力部６０と、演算部７０と、出力部９０とを備えている。
【００５２】
入力部６０は、クエリ画像の入力を受け付ける。
【００５３】
演算部７０は、モデル記憶部７１、画像データベース７２、及びスコア計算部７３を備えている。
【００５４】
モデル記憶部７１には、モデル学習装置１００によって出力されたＤＮＮのパラメータが記憶されている。
【００５５】
画像データベース７２には、参照画像の集合が記憶されている。
【００５６】
スコア計算部７３は、クエリ画像及び参照画像の集合に基づいて、クエリ画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）と、参照画像の各々を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）とを求め、参照画像の各々に対し、クエリ画像の特徴ベクトルと、当該参照画像の特徴ベクトルとのコサイン類似度を表す類似度スコアを計算する。
【００５７】
出力部９０は、類似度スコアの降順に、参照画像を出力する。
【００５８】
＜モデル学習装置の作用＞
次に、第１の実施の形態に係るモデル学習装置１００の作用について説明する。クエリ画像と、当該クエリ画像に類似する類似画像との複数ペアが学習データとしてモデル学習装置１００に入力されると、モデル学習装置１００によって、図５に示すモデル学習処理ルーチンが実行される。
【００５９】
まず、ステップＳ１００において、学習データのクエリ画像の各々に対して、画像以外の情報を用いて、画像データベース２２に記憶されている参照画像の集合から、当該クエリ画像に類似しない非類似画像を選択する。
【００６０】
そして、ステップＳ１０２において、学習データのクエリ画像と類似画像の複数ペア、及びクエリ画像の各々に対して選択された非類似画像に基づいて、クエリ画像を入力してＤＮＮから出力される特徴ベクトルと、類似画像を入力してＤＮＮから出力される特徴ベクトルとの類似度スコア、及びクエリ画像の特徴ベクトルと非類似画像を入力してＤＮＮから出力される特徴ベクトルとの類似度スコアを含む損失関数を最適化するように、ＤＮＮのパラメータを学習する。学習されたＤＮＮのパラメータが、出力部４０により出力され、モデル学習処理ルーチンを終了する。
【００６１】
＜スコア計算装置の作用＞
次に、第１の実施の形態に係るスコア計算装置１５０の作用について説明する。まず、モデル学習装置１００から出力されたＤＮＮのパラメータが、スコア計算装置１５０に入力され、モデル記憶部７１に格納される。そして、クエリ画像がスコア計算装置１５０に入力されると、スコア計算装置１５０によって、図６に示すスコア計算処理ルーチンが実行される。
【００６２】
まず、ステップＳ１１０において、クエリ画像を入力してＤＮＮから出力される特徴ベクトルを求める。
【００６３】
そして、ステップＳ１１２において、画像データベース７２に記憶されている参照画像を入力してＤＮＮから出力される特徴ベクトルを求める。
【００６４】
ステップＳ１１４では、上記ステップＳ１１０で求められたクエリ画像の特徴ベクトルと、上記ステップＳ１１２で求められた参照画像の特徴ベクトルとのコサイン類似度を表す類似度スコアを計算する。
【００６５】
ステップＳ１１６では、画像データベース７２に記憶されている全ての参照画像について、上記ステップＳ１１２〜Ｓ１１４の処理を実行したか否かを判定し、上記ステップＳ１１２〜Ｓ１１４の処理を実行していない参照画像が存在する場合には、上記ステップＳ１１２へ戻り、当該参照画像の特徴ベクトルを求める。一方、画像データベース７２に記憶されている全ての参照画像について、上記ステップＳ１１２〜Ｓ１１４の処理を実行した場合には、ステップＳ１１８へ進む。
【００６６】
ステップＳ１１８では、上記ステップＳ１１４で計算された類似度スコアの降順に、参照画像を出力部９０により出力して、スコア計算処理ルーチンを終了する。
【００６７】
以上説明したように、本発明の第１の実施の形態に係るモデル学習装置によれば、損失関数を用いて、クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコアが高く、クエリ画像の特徴ベクトルと非類似画像の特徴ベクトルとの類似度スコアが低くなるように、全結合層の出力に対して正規化を行うＤＮＮのパラメータを学習することにより、精度よく類似度スコアを計算するためのモデルを学習することができる。
【００６８】
また、本発明の第１の実施の形態に係るスコア計算装置によれば、モデル学習装置によって学習されたＤＮＮのパラメータに基づいて、クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコアを計算することにより、精度よく類似度スコアを計算することができる。
【００６９】
＜第２の実施の形態＞
次に、第２の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００７０】
第２の実施の形態では、ＤＮＮとは異なる他手法で得られたスコアと統合して、類似度スコアを計算する点と、他手法で得られたスコアを含む損失関数を用いて、ＤＮＮのパラメータを学習している点とが、第１の実施の形態と異なっている。
【００７１】
＜本実施の形態の概要＞
図７に示すように、本実施の形態では、DNNで出力された特徴ベクトルを用いたスコアと他手法で得られたスコアとを統合して、最終的なスコアを求める。具体的には、先述のDNNで出力された特徴ベクトルを用いたスコア（コサイン類似度）ｙと、他手法で得られたスコアｘを、双方のスコアの重み付き線形和ａｘ＋ｂｙで統合して最終スコアを求める。
【００７２】
ここで、他手法で得られたスコアとして、任意の手法で算出したスコアを利用可能である。例えば、画像に付されたタグ関連度や、ウィーン図形コードの一致度などを利用可能である。
【００７３】
また、スコアの統合は任意の方法で代替可能である。例えば、DNNの損失関数に組み込まれた式と同様の式でスコアを統合してもよいし、SVMやRank-SVMで結合することによりスコアを統合してもよい。
【００７４】
また、図８に示すように、DNNで出力された特徴ベクトルを用いたスコアと他手法で得られたスコアとを含む損失関数を用いて、ＤＮＮのパラメータを学習する。
【００７５】
本実施の形態における損失関数は、以下の式（２）で表わされる。
【００７６】
【数４】
2018147392.tif 000006
・・・（２）
【００７７】
ただし、ｆ（）は、ＤＮＮ特徴ベクトルを表し、ｇ（）は、他手法による特徴ベクトルを表す。ここで、最初の２項は、ＤＮＮ特徴ベクトルの類似度に関する部分であり、後の固定項（３項）のおかげで、他手法の影響を勘案して差分だけ学習できる。
【００７８】
３つ目の項は、他手法によるクエリ画像と類似画像の類似度（固定値）であり、４つ目の項は、他手法によるクエリ画像と非類似画像の類似度（固定値）であり、５つ目の項は、マージン（固定値）を表す。３つ目の項以降の値が負の場合には、３つ目の項以降の値を０とする。
【００７９】
なお、他手法によるスコアは複数であってもよく、後の３項と同様の３項を追加することで対応可能である。
【００８０】
マージンmは学習時のみ使うパラメータで、他手法によって算出した類似度に合わせてチューニングする。例えば、DNN特徴ベクトルによる類似度が0.00〜1.00の値域で、他手法による類似度の値域が100.00〜101.00であればm=-100などとする。
【００８１】
上記の損失関数を最適化するように、ＤＮＮのパラメータに逆伝播することにより、ＤＮＮのパラメータを学習する。
【００８２】
ここでは、３項目と４項目が、距離の形式で書いてあるが、ｇの中身は関係なく、「クエリ画像と類似画像の類似度」と「クエリ画像と非類似画像の類似度」の値が求められるのであれば、他の形式であっても良い。
【００８３】
上記のように学習されたDNNで出力された特徴ベクトルを用いた類似度スコアと他手法で得られた類似度スコアとを統合して、参照画像との統合スコアとし、クエリ画像と類似する参照画像を検索する。例えば、以下の式のように、単純に足し合わせたものが統合スコアとなる（図９参照）。
【００８４】
【数５】
2018147392.tif 000007
【００８５】
＜モデル学習装置のシステム構成＞
図１０は、本発明の第２の実施の形態に係るモデル学習装置２００を示すブロック図である。このモデル学習装置２００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭと、を備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００８６】
本実施の形態に係るモデル学習装置２００は、図１０に示すように、入力部１０と、演算部２２０と、出力部４０とを備えている。
【００８７】
入力部１０は、クエリ画像と、当該クエリ画像に類似する類似画像との複数ペアを学習データとして受け付ける。
【００８８】
演算部２２０は、学習データ記憶部２１、画像データベース２２、非類似データ選択部２３、他手法スコア計算部２２３、学習部２２４、スコア計算部２２６、及び重み学習部２２８を備えている。
【００８９】
他手法スコア計算部２２３は、学習データのクエリ画像の各々に対して、当該クエリ画像の類似画像との類似度スコア、及び当該クエリ画像に類似しない非類似画像との類似度スコアを、ＤＮＮ特徴ベクトルとは異なる他手法により計算する。
【００９０】
学習部２４は、学習データのクエリ画像と類似画像の複数ペア、クエリ画像の各々に対して選択された非類似画像、他手法スコア計算部２２３により計算されたクエリ画像と類似画像との類似度スコア、及び他手法スコア計算部２２３により計算されたクエリ画像と非類似画像との類似度スコアに基づいて、ＤＮＮのパラメータを学習する。
【００９１】
ＤＮＮのパラメータの学習では、クエリ画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）と、類似画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）との類似度スコア、クエリ画像の特徴ベクトル（上記式（１）に示す正規化層の出力）と非類似画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）との類似度スコア、他手法スコア計算部２２３により計算されたクエリ画像と類似画像との類似度スコア、及び他手法スコア計算部２２３により計算されたクエリ画像と非類似画像との類似度スコアを含む上記式（２）に示す損失関数を用いて、クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコアが高く、クエリ画像の特徴ベクトルと非類似画像の特徴ベクトルとの類似度スコアが低くなるように、ＤＮＮのパラメータを学習する。
【００９２】
学習方法として、従来既知の手法（例えば、一般的なＤｅｅｐＬｅａｒｎｉｎｇの誤差逆伝播）を用いればよい。
【００９３】
学習されたＤＮＮのパラメータが、出力部４０により出力される。
【００９４】
スコア計算部２２６は、クエリ画像及び類似画像の複数ペアと、学習されたＤＮＮのパラメータとに基づいて、クエリ画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）と、類似画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）とを求め、クエリ画像及び類似画像の複数ペアの各々に対し、クエリ画像の特徴ベクトルと、類似画像の特徴ベクトルとのコサイン類似度を表す類似度スコアを計算する。
【００９５】
また、スコア計算部２２６は、クエリ画像及び非類似画像の複数ペアと、学習されたＤＮＮのパラメータとに基づいて、クエリ画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）と、非類似画像を入力してＤＮＮから出力される特徴ベクトル（上記式（１）に示す正規化層の出力）とを求め、クエリ画像及び非類似画像の複数ペアの各々に対し、クエリ画像の特徴ベクトルと、非類似画像の特徴ベクトルとのコサイン類似度を表す類似度スコアを計算する。
【００９６】
重み学習部２２８は、スコア計算部２２６によって計算された類似度スコアｙと、他手法スコア計算部２２３によって計算された類似度スコアｘとに基づいて、クエリ画像及び類似画像のペアについての統合スコア（ａｘ＋ｂｙ）が高くなり、かつ、クエリ画像及び非類似画像のペアについての統合スコア（ａｘ＋ｂｙ）が低くなるように、統合スコアを求めるための重みａ，ｂを学習する。学習された重みが、出力部４０により出力される。
【００９７】
＜スコア計算装置のシステム構成＞
図１１は、本発明の第２の実施の形態に係るスコア計算装置２５０を示すブロック図である。このスコア計算装置２５０は、ＣＰＵと、ＲＡＭと、後述するスコア計算処理ルーチンを実行するためのプログラムを記憶したＲＯＭと、を備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００９８】
本実施の形態に係るスコア計算装置２５０は、図１１に示すように、入力部６０と、演算部２７０と、出力部９０とを備えている。
【００９９】
入力部６０は、クエリ画像の入力を受け付ける。
【０１００】
演算部２７０は、モデル記憶部７１、画像データベース７２、スコア計算部７３、他手法スコア計算部２７４、及びスコア統合部２７５を備えている。
【０１０１】
モデル記憶部７１には、モデル学習装置２００によって出力されたＤＮＮのパラメータが記憶されている。
【０１０２】
他手法スコア計算部２７４は、クエリ画像及び参照画像の集合に基づいて、ＤＮＮから出力される特徴ベクトルとは異なる他手法を用いて、参照画像の各々に対し、クエリ画像と、当該参照画像との類似度を表す類似度スコアを計算する。
【０１０３】
スコア統合部２７５は、モデル学習装置２００により出力された重みを用いて、参照画像の各々に対し、スコア計算部７３により計算された当該参照画像との類似度スコアｙ、及び他手法スコア計算部２７４により計算された当該参照画像との類似度スコアｘを統合して、統合スコア（ａｘ＋ｂｙ）を算出する。
【０１０４】
出力部９０は、統合スコアの降順に、参照画像を出力する。
【０１０５】
＜モデル学習装置の作用＞
次に、第２の実施の形態に係るモデル学習装置２００の作用について説明する。クエリ画像と、当該クエリ画像に類似する類似画像との複数ペアが学習データとしてモデル学習装置２００に入力されると、モデル学習装置２００によって、図１２に示すモデル学習処理ルーチンが実行される。
【０１０６】
まず、ステップＳ１００において、学習データのクエリ画像の各々に対して、画像以外の情報を用いて、画像データベース２２に記憶されている参照画像の集合から、当該クエリ画像に類似しない非類似画像を選択する。
【０１０７】
そして、ステップＳ２００において、学習データのクエリ画像の各々に対して、当該クエリ画像の類似画像との類似度スコア、及び上記ステップＳ１００で選択された当該クエリ画像に類似しない非類似画像との類似度スコアを、ＤＮＮ特徴ベクトルとは異なる他手法により計算する。
【０１０８】
ステップＳ２０２において、学習データのクエリ画像と類似画像の複数ペア、上記ステップＳ１００でクエリ画像の各々に対して選択された非類似画像、上記ステップＳ２００で計算されたクエリ画像と類似画像との類似度スコア、及び上記ステップＳ２００で計算されたクエリ画像と非類似画像との類似度スコアに基づいて、クエリ画像を入力してＤＮＮから出力される特徴ベクトルと、類似画像を入力してＤＮＮから出力される特徴ベクトルとの類似度スコア、クエリ画像の特徴ベクトルと非類似画像を入力してＤＮＮから出力される特徴ベクトルとの類似度スコア、上記ステップＳ２００で計算されたクエリ画像と類似画像との類似度スコア、及び上記ステップＳ２００で計算されたクエリ画像と非類似画像との類似度スコアを含む、上記式（２）に示す損失関数を最適化するように、ＤＮＮのパラメータを学習する。学習されたＤＮＮのパラメータが、出力部４０により出力される。
【０１０９】
また、ステップＳ２０４において、クエリ画像及び類似画像の複数ペアと、学習されたＤＮＮのパラメータとに基づいて、クエリ画像を入力してＤＮＮから出力される特徴ベクトルと、類似画像を入力してＤＮＮから出力される特徴ベクトルとを求め、クエリ画像及び類似画像の複数ペアの各々に対し、クエリ画像の特徴ベクトルと、類似画像の特徴ベクトルとのコサイン類似度を表す類似度スコアを計算する。
【０１１０】
また、クエリ画像及び非類似画像の複数ペアと、学習されたＤＮＮのパラメータとに基づいて、クエリ画像を入力してＤＮＮから出力される特徴ベクトルと、非類似画像を入力してＤＮＮから出力される特徴ベクトルとを求め、クエリ画像及び非類似画像の複数ペアの各々に対し、クエリ画像の特徴ベクトルと、非類似画像の特徴ベクトルとのコサイン類似度を表す類似度スコアを計算する。
【０１１１】
そして、ステップＳ２０６では、上記ステップＳ２０４で計算された類似度スコアと、上記ステップＳ２００で計算された類似度スコアとに基づいて、クエリ画像及び類似画像のペアについての統合スコアが高くなり、かつ、クエリ画像及び非類似画像のペアについての統合スコアが低くなるように、重み付き加算により統合スコアを求めるための重みを学習する。学習された重みが、出力部４０により出力され、モデル学習処理ルーチンを終了する。
【０１１２】
＜スコア計算装置の作用＞
次に、第２の実施の形態に係るスコア計算装置２５０の作用について説明する。まず、モデル学習装置２００から出力されたＤＮＮのパラメータが、スコア計算装置２５０に入力され、モデル記憶部７１に格納される。そして、クエリ画像がスコア計算装置２５０に入力されると、スコア計算装置２５０によって、図１３に示すスコア計算処理ルーチンが実行される。
【０１１３】
まず、ステップＳ１１０において、クエリ画像を入力してＤＮＮから出力される特徴ベクトルを求める。
【０１１４】
そして、ステップＳ１１２において、画像データベース７２に記憶されている参照画像を入力してＤＮＮから出力される特徴ベクトルを求める。
【０１１５】
ステップＳ１１４では、上記ステップＳ１１０で求められたクエリ画像の特徴ベクトルと、上記ステップＳ１１２で求められた参照画像の特徴ベクトルとのコサイン類似度を表す類似度スコアを計算する。
【０１１６】
ステップＳ２１０では、クエリ画像及び参照画像の集合に基づいて、ＤＮＮから出力される特徴ベクトルとは異なる他手法を用いて、参照画像の各々に対し、クエリ画像と、当該参照画像との類似度を表す類似度スコアを計算する。
【０１１７】
ステップＳ２１２において、モデル学習装置２００により出力された重みを用いて、参照画像の各々に対し、スコア計算部７３により計算された当該参照画像との類似度スコア、及び他手法スコア計算部２７４により計算された当該参照画像との類似度スコアを、重み付き加算により統合して、統合スコアを算出する。
【０１１８】
ステップＳ１１６では、画像データベース７２に記憶されている全ての参照画像について、上記ステップＳ１１２〜Ｓ１１４、Ｓ２１０〜Ｓ２１２の処理を実行したか否かを判定し、上記ステップＳ１１２〜Ｓ１１４、Ｓ２１０〜Ｓ２１２の処理を実行していない参照画像が存在する場合には、上記ステップＳ１１２へ戻り、当該参照画像の特徴ベクトルを求める。一方、画像データベース７２に記憶されている全ての参照画像について、上記ステップＳ１１２〜Ｓ１１４、Ｓ２１０〜Ｓ２１２の処理を実行した場合には、ステップＳ１１８へ進む。
【０１１９】
ステップＳ２１２では、上記ステップＳ２１２で計算された統合スコアの降順に、参照画像を出力部９０により出力して、スコア計算処理ルーチンを終了する。
【０１２０】
以上説明したように、本発明の第２の実施の形態に係るモデル学習装置によれば、クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコア、クエリ画像の特徴ベクトルと非類似画像の特徴ベクトルとの類似度スコア、他手法により計算されたクエリ画像と類似画像との類似度スコア、及び他手法により計算されたクエリ画像と非類似画像との類似度スコアを含む損失関数を用いて、クエリ画像の特徴ベクトルと類似画像の特徴ベクトルとの類似度スコアが高く、クエリ画像の特徴ベクトルと非類似画像の特徴ベクトルとの類似度スコアが低くなるように、全結合層の出力に対して正規化を行うＤＮＮのパラメータを学習することにより、精度よく類似度スコアを計算するためのモデルを学習することができる。特に、損失関数に、ＤＮＮに関係なく算出される他手法による類似スコア（固定値）を含めて、ＤＮＮ側だけに誤差逆伝播することで、ＤＮＮの特徴ベクトルで上手く類似判断ができる画像に対してはより上手く行くように、他手法で上手く類似判断できる画像に対しては手を抜くように、ＤＮＮのパラメータを学習をすることができる。
【０１２１】
また、本発明の第２の実施の形態に係るスコア計算装置によれば、全結合層の出力に対して正規化を行うＤＮＮから出力されるクエリ画像の特徴ベクトルと、ＤＮＮから出力される参照画像の特徴ベクトルとを求め、類似度スコアを計算し、他手法によりクエリ画像と参照画像との類似度スコアを計算し、統合することにより、精度よく類似度スコアを計算することができる。
【０１２２】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２３】
例えば、上記の実施の形態では、ＤＮＮが、畳み込み層と全結合層を含む場合を例に説明したが、これに限定されるものではない。例えば、畳み込み層と全結合層とからなる部分を、ＲＮＮやＬＳＴＭなど任意のネットワーク構造で代替可能である。
【０１２４】
また、多層構造ニューラルネットワークとして、ＣＮＮ、ＲＮＮ、ＬＳＴＭなどの任意のネットワーク構造を用いても良い。
【０１２５】
また、画像の類似度スコアを計算する場合を例に説明したが、これに限定されるものではなく、動画や音声を対象とし、動画や音声の類似度スコアを計算するようにしてもよい。
【０１２６】
上述のモデル学習装置１００、２００、スコア計算装置１５０、２５０は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１２７】
例えば、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１２８】
１０、６０    入力部
２０、７０、２２０、２７０  演算部
２１   学習データ記憶部
２２   画像データベース
２３   非類似データ選択部
２４、２２４  学習部
４０   出力部
７０   演算部
７１   モデル記憶部
７２   画像データベース
７３、２２６  スコア計算部
９０   出力部
１００、２００       モデル学習装置
１５０、２５０       スコア計算装置
２２３、２７４       他手法スコア計算部
２２８ 重み学習部
２７５ スコア統合部
【図１】
2018147392.tif 000008
【図２】
2018147392.tif 000009
【図３】
2018147392.tif 000010
【図４】
2018147392.tif 000011
【図５】
2018147392.tif 000012
【図６】
2018147392.tif 000013
【図７】
2018147392.tif 000014
【図８】
2018147392.tif 000015
【図９】
2018147392.tif 000016
【図１０】
2018147392.tif 000017
【図１１】
2018147392.tif 000018
【図１２】
2018147392.tif 000019
【図１３】
2018147392.tif 000020