(57)【要約】【課題】  イメージ検索のためのマルチグローバルディスクリプタを組み合わせるフレームワークを開示する。【解決手段】  コンピュータシステムが実現するイメージ検索のためのフレームワークは、畳み込みニューラルネットワーク（ＣＮＮ）から抽出された互いに異なる複数のグローバルディスクリプタを連結して学習するメインモジュール、および複数のグローバルディスクリプタのうちのいずれか１つの特定のグローバルディスクリプタを追加学習する補助モジュールを含む。【選択図】      図２
2020155111.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムが実現するイメージ検索のためのフレームワークであって、
畳み込みニューラルネットワーク（ＣＮＮ）から抽出された互いに異なる複数のグローバルディスクリプタを連結して学習するメインモジュール、および
前記複数のグローバルディスクリプタのうちのいずれか１つの特定のグローバルディスクリプタを追加学習する補助モジュール
を含む、イメージ検索のためのフレームワーク。
【請求項２】
前記メインモジュールは、イメージ表現のランキング損失のための学習モジュールであり、
前記補助モジュールは、前記イメージ表現の分類損失のための学習モジュールであり、
前記イメージ検索のためのフレームワークは、エンドツーエンド方式によって前記ランキング損失と前記分類損失の合計である最終損失として訓練される、
請求項１に記載のイメージ検索のためのフレームワーク。
【請求項３】
前記ＣＮＮは、与えられたイメージの特徴マップを提供するバックボーンネットワークとして、前記バックボーンネットワークの最後の段階以前にはダウンサンプリングを作動させない、
請求項１に記載のイメージ検索のためのフレームワーク。
【請求項４】
前記メインモジュールは、
前記複数のグローバルディスクリプタを、正規化を経た後に連結して１つの最終グローバルディスクリプタとして形成し、前記最終グローバルディスクリプタをランキング損失によって学習する、
請求項１に記載のイメージ検索のためのフレームワーク。
【請求項５】
前記メインモジュールには、
前記複数のグローバルディスクリプタを使用してそれぞれのイメージ表現を出力する複数のブランチが含まれ、
前記ブランチの個数は、使用しようとするグローバルディスクリプタによって変更される、
請求項１に記載のイメージ検索のためのフレームワーク。
【請求項６】
前記補助モジュールは、
前記複数のグローバルディスクリプタのうち、学習性能に基づいて決定された前記特定のグローバルディスクリプタを分類損失によって学習する、
請求項１に記載のイメージ検索のためのフレームワーク。
【請求項７】
前記補助モジュールは、
分類損失による学習時に、ラベルスムージングと温度スケーリング技術のうちの少なくとも一方を利用する、
請求項６に記載のイメージ検索のためのフレームワーク。
【請求項８】
コンピュータシステムが実行するディスクリプタ学習方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、
当該ディスクリプタ学習方法は、
ＣＮＮから抽出された互いに異なる複数のグローバルディスクリプタを連結してランキング損失によって学習するメイン学習段階、および
前記複数のグローバルディスクリプタのうちのいずれか１つの特定のグローバルディスクリプタを分類損失によって追加学習する補助学習段階
を含む、ディスクリプタ学習方法。
【請求項９】
当該ディスクリプタ学習方法は、
前記複数のグローバルディスクリプタをエンドツーエンド方式によって前記ランキング損失と前記分類損失の合計である最終損失として訓練する、
請求項８に記載のディスクリプタ学習方法。
【請求項１０】
前記ＣＮＮは、与えられたイメージの特徴マップを提供するバックボーンネットワークとして、前記バックボーンネットワークの最後の段階以前にはダウンサンプリングを作動させない、
請求項８に記載のディスクリプタ学習方法。
【請求項１１】
前記メイン学習段階は、
前記複数のグローバルディスクリプタを、正規化を経た後に連結して１つの最終グローバルディスクリプタとして形成し、前記最終グローバルディスクリプタを前記ランキング損失によって学習する、
請求項８に記載のディスクリプタ学習方法。
【請求項１２】
前記補助学習段階は、
前記複数のグローバルディスクリプタのうち、学習性能に基づいて決定された前記特定のグローバルディスクリプタを前記分類損失によって学習する、
請求項８に記載のディスクリプタ学習方法。
【請求項１３】
前記補助学習段階は、
前記分類損失による学習時に、ラベルスムージングと温度スケーリング技術のうちの少なくとも一方を利用する、
請求項１２に記載のディスクリプタ学習方法。
【請求項１４】
請求項８〜１３のうちのいずれか一項に記載のディスクリプタ学習方法をコンピュータシステムに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、イメージ検索のためのディープラーニングモデルのフレームワークに関する。
【背景技術】
【０００２】
畳み込みニューラルネットワーク（ＣＮＮ）を基盤としたイメージディスクリプタは、分類（ｃｌａｓｓｉｆｉｃａｔｉｏｎ）、オブジェクト検出（ｏｂｊｅｃｔ  ｄｅｔｅｃｔｉｏｎ）、セマンティックセグメンテーション（ｓｅｍａｎｔｉｃ  ｓｅｇｍｅｎｔａｔｉｏｎ）を含んだコンピュータビジョン技術において一般的なディスクリプタとして利用されている。この他にも、イメージキャプション（ｉｍａｇｅ  ｃａｐｔｉｏｎｉｎｇ）やビジュアル質問応答（ｖｉｓｕａｌ  ｑｕｅｓｔｉｏｎ  ａｎｓｗｅｒｉｎｇ）のように極めて意味のある研究にも利用されている。
【０００３】
ＣＮＮ基盤のイメージディスクリプタを活用する最近の研究では、ローカルディスクリプタマッチング（ｌｏｃａｌ  ｄｅｓｃｒｉｐｔｏｒ  ｍａｔｃｈｉｎｇ）に依存する従来の方法の適用により、空間検証（ｓｐａｔｉａｌ  ｖｅｒｉｆｉｃａｔｉｏｎ）によって再び順位を付ける即刻性のあるレベルイメージ検索に適用されている。
【０００４】
イメージ検索（ｉｍａｇｅ  ｒｅｔｒｉｅｖａｌ）分野において、ＣＮＮ以後にプーリング（ａｖｅｒａｇｅ  ｐｏｏｌｉｎｇ、ｍａｘ  ｐｏｏｌｉｎｇ、ｇｅｎｅｒａｌｉｚｅｄ  ｍｅａｎ  ｐｏｏｌｉｎｇなど）結果として出た特徴をグローバルディスクリプタ（ｇｌｏｂａｌ  ｄｅｓｃｒｉｐｔｏｒ）として使用することがある。また、畳み込み層（ｃｏｎｖｏｌｕｔｉｏｎ  ｌａｙｅｒｓ）以後に全結合層（ＦＣ層：ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒｓ）を追加し、ＦＣ層から出た特徴をグローバルディスクリプタとして使用することもある。ここで、ＦＣ層は、次元数（ｄｉｍｅｎｓｉｏｎａｌｉｔｙ）を減らすために使用されるものであるため、次元数を減らす必要がない場合にはＦＣ層を省略してもよい。
【０００５】
一例として、特許文献１（登録日２０１８年１１月０５日）には、畳み込みニューラルネットワークを利用した映像検索技術が開示されている。
【０００６】
グローバルプーリング方法（ｇｌｏｂａｌ  ｐｏｏｌｉｎｇ  ｍｅｔｈｏｄ）によって生成された代表的なグローバルディスクリプタには、畳み込みの合計プーリング（ＳＰｏＣ：ｓｕｍ  ｐｏｏｌｉｎｇ  ｏｆ  ｃｏｎｖｏｌｕｔｉｏｎ）、畳み込みの最大活性化（ＭＡＣ：ｍａｘｉｍｕｍ  ａｃｔｉｖａｔｉｏｎ  ｏｆ  ｃｏｎｖｏｌｕｔｉｏｎ）、さらに一般化平均プーリング（ＧｅＭ：ｇｅｎｅｒａｌｉｚｅｄ−ｍｅａｎ  ｐｏｏｌｉｎｇ）が含まれる。各グローバルディスクリプタの性能はそれぞれ属性が異なるため、データセットによって異なる。例えば、ＳＰｏＣはイメージ表現でより大きな領域を活性化させる反面、ＭＡＣはより多くの集中領域を活性化させる。能力を高めるために、加重値合計プーリング（ｗｅｉｇｈｔｅｄ  ｓｕｍ  ｐｏｏｌｉｎｇ）、加重値ＧｅＭ、領域（ｒｅｇｉｏｎａｌ）ＭＡＣ（Ｒ−ＭＡＣ）などのような代表的なグローバルディスクリプタの変形が存在する。
【０００７】
最近の研究は、イメージ検索のためのアンサンブル技法（ｅｎｓｅｍｂｌｅ  ｔｅｃｈｎｉｑｕｅｓ）に焦点を合わせている。従来には、複数の学習者（ｌｅａｒｎｅｒ）を個別に教育し、モデルリードを使用して性能を高める従来のアンサンブル技法が主流であったが、最近では、個別に教育を受けた多様なグローバルディスクリプタを組み合わせて検索性能を向上させる接近方式が多く見られる。言い換えれば、現在には、イメージ検索分野において検索性能を高めるために、互いに異なるＣＮＮバックボーン（ｂａｃｋｂｏｎｅ）モデルと複数のグローバルディスクリプタを組み合わせて（ｅｎｓｅｍｂｌｅ）使用している。
【０００８】
しかし、アンサンブルのために互いに異なる学習者（ＣＮＮバックボーンモデルあるいはグローバルディスクリプタ）を明示的に訓練させるとなると、訓練時間が長くなる上にメモリ消耗量が増加する。これに加え、学習者間のダイバシティ（ｄｉｖｅｒｓｉｔｙ）を統制するために特別にデザインされた戦略や損失が必要となるため、厳密かつ困難な訓練過程を招くようになる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】韓国登録特許第１０−１９１７３６９号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
互いに異なるグローバルディスクリプタを単一モデルによって一度に学習して使用することが可能なディープラーニングモデルフレームワークを提供する。
【００１１】
複数の学習者（ｌｅａｒｎｅｒｓ）を明示的に訓練させたり学習者間のダイバシティ（ｄｉｖｅｒｓｉｔｙ）を統制したりしなくても、複数のグローバルディスクリプタ（ｇｌｏｂａｌ  ｄｅｓｃｒｉｐｔｏｒ）を活用することでアンサンブルと同様の効果を得ることができる方法を提供する。
【課題を解決するための手段】
【００１２】
コンピュータシステムが実現するイメージ検索のためのフレームワークであって、畳み込みニューラルネットワーク（ＣＮＮ：ｃｏｎｖｏｌｕｔｉｏｎ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）から抽出された互いに異なる複数のグローバルディスクリプタ（ｇｌｏｂａｌ  ｄｅｓｃｒｉｐｔｏｒ）を連結して（ｃｏｎｃａｔｅｎａｔｅ）学習するメインモジュール、および前記複数のグローバルディスクリプタのうちのいずれか１つの特定のグローバルディスクリプタを追加学習する補助モジュールを含む、イメージ検索のためのフレームワークを提供する。
【００１３】
一側面によると、前記メインモジュールは、イメージ表現（ｉｍａｇｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）のランキング損失（ｒａｎｋｉｎｇ  ｌｏｓｓ）のための学習モジュールであり、前記補助モジュールは、前記イメージ表現の分類損失（ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｌｏｓｓ）のための学習モジュールであり、前記イメージ検索のためのフレームワークは、エンドツーエンド（ｅｎｄ−ｔｏ−ｅｎｄ）方式によって前記ランキング損失と前記分類損失の合計である最終損失として訓練される。
【００１４】
他の側面によると、前記ＣＮＮは、与えられたイメージの特徴マップを提供するバックボーン（ｂａｃｋｂｏｎｅ）ネットワークとして、前記バックボーンネットワークの最後の段階（ｓｔａｇｅ）以前にはダウンサンプリング（ｄｏｗｎ  ｓａｍｐｌｉｎｇ）を作動させない。
【００１５】
また他の側面によると、前記メインモジュールは、前記複数のグローバルディスクリプタを、正規化（ｎｏｒｍａｌｉｚａｔｉｏｎ）を経た後に連結して１つの最終グローバルディスクリプタとして形成し、前記最終グローバルディスクリプタをランキング損失（ｒａｎｋｉｎｇ  ｌｏｓｓ）によって学習してよい。
【００１６】
また他の側面によると、前記メインモジュールには、前記複数のグローバルディスクリプタを使用してそれぞれのイメージ表現を出力する複数のブランチ（ｂｒａｎｃｈ）が含まれ、前記ブランチの個数は、使用しようとするグローバルディスクリプタによって変更されてよい。
【００１７】
また他の側面によると、前記補助モジュールは、前記複数のグローバルディスクリプタのうち、学習性能に基づいて決定された前記特定のグローバルディスクリプタを分類損失によって学習してよい。
【００１８】
また他の側面によると、前記補助モジュールは、分類損失による学習時に、ラベルスムージング（ｌａｂｅｌ  ｓｍｏｏｔｈｉｎｇ）と温度スケーリング（ｔｅｍｐｅｒａｔｕｒｅ  ｓｃａｌｉｎｇ）技術のうちの少なくとも一方を利用してよい。
【００１９】
コンピュータシステムが実行するディスクリプタ学習方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、当該ディスクリプタ学習方法は、ＣＮＮから抽出された互いに異なる複数のグローバルディスクリプタを連結してランキング損失によって学習するメイン学習段階、および前記複数のグローバルディスクリプタのうちのいずれか１つの特定のグローバルディスクリプタを分類損失によって追加学習する補助学習段階を含む、ディスクリプタ学習方法を提供する。
【００２０】
前記ディスクリプタ学習方法を前記コンピュータシステムに実行させるためのコンピュータプログラムを提供する。
【発明の効果】
【００２１】
本発明の実施形態によると、複数のグローバルディスクリプタを組み合わせる新たなフレームワーク、すなわち、エンドツーエンド方式（ｅｎｄ−ｔｏ−ｅｎｄ  ｍａｎｎｅｒ）によって訓練可能な多数のグローバルディスクリプタを組み合わせたＣＧＤ（ｃｏｍｂｉｎａｔｉｏｎ  ｏｆ  ｍｕｌｔｉｐｌｅ  ｇｌｏｂａｌ  ｄｅｓｃｒｉｐｔｏｒｓ）を適用することにより、各グローバルディスクリプタに対する明示的なアンサンブルモデルやダイバシティの統制がなくても、アンサンブルと同様の効果を達成することができる。これは、グローバルディスクリプタ、ＣＮＮバックボーン、損失、およびデータセットによって柔軟かつ拡張可能な特性を備えながらも、組み合わせディスクリプタの使用によって異なる類型の特徴を使用することができるため、単一グローバルディスクリプタよりも性能が優れるだけでなく、イメージ検索性能を向上させることもできる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
【図２】本発明の一実施形態における、イメージ検索のためのＣＧＤ（ｃｏｍｂｉｎａｔｉｏｎ  ｏｆ  ｍｕｌｔｉｐｌｅ  ｇｌｏｂａｌ  ｄｅｓｃｒｉｐｔｏｒｓ）フレームワークを示した図である。
【図３】本発明の一実施形態における、分類損失とランキング損失の両方を使用するＣＧＤフレームワークの性能を説明するためのテーブルである。
【図４】本発明の一実施形態における、ラベルスムージング（ｌａｂｅｌ  ｓｍｏｏｔｈｉｎｇ）と温度スケーリング（ｔｅｍｐｅｒａｔｕｒｅ  ｓｃａｌｉｎｇ）を使用するＣＧＤフレームワークの性能を説明するためのテーブルである。
【図５】マルチグローバルディスクリプタを訓練するための他の類型のアキテクチャの例を示した図である。
【図６】マルチグローバルディスクリプタを訓練するための他の類型のアキテクチャの例を示した図である。
【図７】本発明に係るＣＧＤフレームワークの性能と他の類型のアキテクチャとの比較結果を示したテーブルである。
【図８】本発明の一実施形態における、多数のグローバルディスクリプタを連結方法（ｃｏｎｃａｔｅｎａｔｉｏｎ）によって組み合わせたＣＧＤフレームワークの性能を説明するためのテーブルである。
【図９】本発明の一実施形態における、複数のグローバルディスクリプタが組み合わされた構成の性能を説明するためのグラフとテーブルである。
【図１０】本発明の一実施形態における、複数のグローバルディスクリプタが組み合わされた構成の性能を説明するためのグラフとテーブルである。
【図１１】本発明の一実施形態における、複数のグローバルディスクリプタが組み合わされた構成の性能を説明するためのグラフとテーブルである。
【図１２】本発明の一実施形態における、複数のグローバルディスクリプタが組み合わされた構成の性能を説明するためのグラフとテーブルである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【００２４】
本発明の実施形態は、イメージ検索のためのディープラーニングモデルのフレームワークに関し、より詳細には、イメージ検索のためのマルチグローバルディスクリプタを組み合わせる技術に関する。
【００２５】
本明細書において具体的に開示される事項を含む実施形態は、エンドツーエンド方式によって訓練可能な複数のグローバルディスクリプタを活用することでアンサンブルと同様の効果を得ることができるフレームワークを提案するものであり、これによって柔軟性、拡張性、時間短縮、費用節減、検索性能などの側面において相当な長所を達成する。
【００２６】
図１は、本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。例えば、本発明の実施形態に係るディスクリプタ学習システムは、図１のコンピュータシステム１００によって実現されてよい。図１に示すように、コンピュータシステム１００は、ディスクリプタ学習方法を実行するための構成要素として、プロセッサ１１０、メモリ１２０、永続的記録装置１３０、バス１４０、入力／出力インタフェース１５０、およびネットワークインタフェース１６０を含んでよい。
【００２７】
プロセッサ１１０は、ディスクリプタ学習のための構成要素として命令語であるシーケンスを処理することのできる任意の装置を含んでもよいし、その一部であってもよい。プロセッサ１１０は、例えば、コンピュータプロセッサ、移動装置、または他の電子装置内のプロセッサおよび／またはデジタルプロセッサを含んでよい。プロセッサ１１０は、例えば、サーバコンピュータデバイス、サーバコンピュータ、一連のサーバコンピュータ、サーバファーム、クラウドコンピュータ、コンテンツプラットフォームなどに含まれてよい。プロセッサ１１０は、バス１４０を介してメモリ１２０に接続してよい。
【００２８】
メモリ１２０は、コンピュータシステム１００によって使用されるか、これから出力される情報を記録するための揮発性メモリ、永続的、仮想、またはその他のメモリを含んでよい。メモリ１２０は、例えば、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）および／またはＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）を含んでよい。メモリ１２０は、コンピュータシステム１００の状態情報のような任意の情報を記録するのに使用されてよい。メモリ１２０は、例えば、ディスクリプタ学習のための命令語を含むコンピュータシステム１００の命令語を記録するのに使用されてよい。コンピュータシステム１００は、必要によって、または適切な場合に、１つ以上のプロセッサ１１０を含んでよい。
【００２９】
バス１４０は、コンピュータシステム１００の多様なコンポーネント間の相互作用を可能にする通信基盤構造を含んでよい。バス１４０は、例えば、コンピュータシステム１００のコンポーネント間、例えば、プロセッサ１１０とメモリ１２０との間でデータを運搬してよい。バス１４０は、コンピュータシステム１００のコンポーネント間の無線および／または有線通信媒体を含んでよく、並列、直列、または他のトポロジ配列を含んでよい。
【００３０】
永続的記録装置１３０は、（例えば、メモリ１２０に比べて）所定の延長された期間中にデータを記録するために、コンピュータシステム１００によって使用されるもののようなメモリまたは他の永続的記録装置のようなコンポーネントを含んでよい。永続的記録装置１３０は、コンピュータシステム１００内のプロセッサ１１０によって使用されるもののような非揮発性メインメモリを含んでよい。永続的記録装置１３０は、例えば、フラッシュメモリ、ハードディスク、光ディスク、または他のコンピュータ読み取り可能媒体を含んでよい。
【００３１】
入力／出力インタフェース１５０は、キーボード、マウス、音声命令入力、ディスプレイ、または他の入力または出力装置に対するインタフェースを含んでよい。構成命令および／またはディスクリプタ学習のための入力が、入力／出力インタフェース１５０に受信されてよい。
【００３２】
ネットワークインタフェース１６０は、近距離ネットワークまたはインターネットのようなネットワークに対する１つ以上のインタフェースを含んでよい。ネットワークインタフェース１６０は、有線または無線接続に対するインタフェースを含んでよい。構成命令および／またはディスクリプタ学習のための入力が、ネットワークインタフェース１６０に受信されてよい。
【００３３】
また、他の実施形態において、コンピュータシステム１００は、図１の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム１００は、上述した入力／出力インタフェース１５０と連結する入力／出力装置のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ（ｔｒａｎｓｃｅｉｖｅｒ）、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【００３４】
本発明の実施形態は、互いに異なるグローバルディスクリプタを単一モデルによって一度に学習して使用することのできるディープラーニングモデルのフレームワークに関する。
【００３５】
最近のイメージ検索研究において、深層学習ＣＮＮに基盤を置いたグローバルディスクリプタは、ＳＩＦＴ（Ｓｃａｌｅ  Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）のような従来技術よりも完全な特徴を有する。ＳＰｏＣ（ｓｕｍ  ｐｏｏｌｉｎｇ  ｏｆ  ｃｏｎｖｏｌｕｔｉｏｎ）は、ＣＮＮの最後の特徴マップで合計プーリング（ｓｕｍ  ｐｏｏｌｉｎｇ）を施したものである。ＭＡＣ（ｍａｘｉｍｕｍ  ａｃｔｉｖａｔｉｏｎ  ｏｆ  ｃｏｎｖｏｌｕｔｉｏｎ）は、また違った強力なディスクリプタである反面、Ｒ−ＭＡＣ（ｒｅｇｉｏｎａｌ−ＭＡＣ）は、領域内の最大値プーリングを実行した後、最後に領域内のＭＡＣディスクリプタを合計する。ＧｅＭ（ｇｅｎｅｒａｌｉｚｅｄ−ｍｅａｎ  ｐｏｏｌｉｎｇ）は、プーリングパラメータによって最大および平均値プーリングを一般化する。他のグローバルディスクリプタ方法としては、ｗｅｉｇｈｔｅｄ  ｓｕｍ  ｐｏｏｌｉｎｇ、ｗｅｉｇｈｔｅｄ−ＧｅＭ、Ｍｕｌｔｉｓｃａｌｅ  Ｒ−ＭＡＣなどがある。
【００３６】
一部の研究では、特徴マップにおいて重要な特徴の活性化を最大化するために追加戦略（ａｄｄｉｔｉｏｎａｌ  ｓｔｒａｔｅｇｙ）または注意機構（ａｔｔｅｎｔｉｏｎ  ｍｅｃｈａｎｉｓｍ）を利用して試したり、他の領域の特徴表現を最適化するようにネットワークを強制するＢＦＥという戦略を提示したりしている。また、特徴表現を同時に最適化するとともに、柔らかいピクセルと困難な領域的注意を有するモデルを適用したりもする。上述した技術には、ネットワークの大きさと訓練時間を増加させるだけでなく、訓練のために追加の媒介変数を要求するという短所がある。
【００３７】
言い換えれば、イメージ検索作業に関する最近の研究は、互いに異なるモデルを組み合わせて複数のグローバルディスクリプタを組み合わせるものであるが、このようなアンサンブルのために互いに異なるモデルを訓練させることは困難なだけでなく、時間やメモリの側面においても効率的でない。
【００３８】
本実施形態では、エンドツーエンド方式によって訓練する間、複数のグローバルディスクリプタを活用することでアンサンブルと同様の効果を得ることができる新たなフレームワークを提案する。本発明に係るフレームワークは、グローバルディスクリプタ、ＣＮＮバックボーン、損失、およびデータセットによって柔軟かつ拡張可能である。また、本発明に係るフレームワークは、訓練のために数種類の追加の媒介変数を要求するだけで、追加の戦略や注意機構は必要としない。
【００３９】
アンサンブルとは、数名の学習者を訓練させることで成果を上昇させ、訓練された学習者から組み合わされた結果を得るという周知の技法であり、ここ数十年にわたってイメージ検索で広く利用されている。しかし、従来のアンサンブル技法は、モデルの複雑性の増加が演算費用の増加に繋がり、学習者間のダイバシティを算出するために追加の制御が必要となるという短所がある。
【００４０】
本発明に係るフレームワークは、ダイバシティの統制なく、エンドツーエンド方式によって訓練されるときにアンサンブル技法のアイディアを活用することができる。
【００４１】
図２は、本発明の一実施形態における、イメージ検索のためのＣＧＤ（ｃｏｍｂｉｎａｔｉｏｎ  ｏｆ  ｍｕｌｔｉｐｌｅ  ｇｌｏｂａｌ  ｄｅｓｃｒｉｐｔｏｒｓ）フレームワークを示した図である。
【００４２】
本発明に係るＣＧＤフレームワーク２００は、上述したコンピュータシステム１００によって実現されてよく、ディスクリプタ学習のための構成要素としてプロセッサ１１０に含まれてよい。
【００４３】
図２を参照すると、ＣＧＤフレームワーク２００は、ＣＮＮバックボーンネットワーク２０１と、２つのモジュールであるメインモジュール２１０、および補助モジュール２２０で構成されてよい。
【００４４】
このとき、メインモジュール２１０は、イメージ表現（ｉｍａｇｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を学習する役割をし、ランキング損失（ｒａｎｋｉｎｇ  ｌｏｓｓ）のための複数のグローバルディスクリプタの組み合わせで構成される。補助モジュール２２０は、分類損失（ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｌｏｓｓ）によってＣＮＮを微調整するための役割をする。
【００４５】
ＣＧＤフレームワーク２００は、分類損失方式によるメインモジュール２１０からのランキング損失と補助モジュール２２０からの分類損失の合計である最終損失として訓練されてよい。
【００４６】
１．ＣＮＮバックボーンネットワーク２０１
ＣＮＮバックボーンネットワーク２０１としては、すべてのＣＮＮモデルが使用可能である。ＣＧＤフレームワーク２００は、ＢＮ−Ｉｎｃｅｐｔｉｏｎ、ＳｈｕｆｆｌｅＮｅｔ−ｖ２、ＲｅｓＮｅｔ、またはこの他の変形モデルなどのようなＣＮＮバックボーンが使用されてよく、例えば、図２に示すように、ＲｅｓＮｅｔ−５０がＣＮＮバックボーンネットワーク２０１として使用されてよい。
【００４７】
一例として、ＣＮＮバックボーンネットワーク２０１は、４段階からなるネットワークを利用してよく、このとき、最後の特徴マップ（ｆｅａｔｕｒｅ  ｍａｐ）でより多くの情報を記録するために、３段階（ｓｔａｇｅ  ３）と４段階（ｓｔａｇｅ  ４）の間のダウンサンプリングを作動させないことにより該当のネットワークを修正してよい。これにより、２２４×２２４の入力サイズに対する１４×１４サイズの特徴マップを提供するようになるため、個別グローバルディスクリプタの性能が向上するようになる。言い換えれば、グローバルディスクリプタの性能向上のために、ＲｅｓＮｅｔ−５０の３段階（ｓｔａｇｅ  ３）以後から最後の段階（ｓｔａｇｅ  ４）以前まではダウンサンプリングを行わないことでより多くの情報が含まれるようにするのである。
【００４８】
２．メインモジュール２１０：複数のグローバルディスクリプタ
メインモジュール２１０は、ＣＮＮバックボーンネットワーク２０１の最後の特徴マップにおいて複数の特徴総合（ｆｅａｔｕｒｅ  ａｇｇｒｅｇａｔｉｏｎ）方法によってグローバルディスクリプタを抽出し、ＦＣ層と正規化（ｎｏｒｍａｌｉｚａｔｉｏｎ）を経る。
【００４９】
メインモジュール２１０で抽出されたグローバルディスクリプタは連結され（ｃｏｎｃａｔｅｎａｔｅ）、正規化を経て１つの最終グローバルディスクリプタを形成してよい。このとき、最終グローバルディスクリプタは、ランキング損失によってインスタンスレベル（ｉｎｓｔａｎｃｅ  ｌｅｖｅｌ）に学習される。ここで、ランキング損失は、メトリックラーニング（ｍｅｔｒｉｃ  ｌｅａｒｎｉｎｇ）のための損失と代替可能であり、代表的にはトリプレット（ｔｒｉｐｌｅｔ）損失を使用してよい。
【００５０】
より詳細には、メインモジュール２１０には、最後の畳み込み層で互いに異なるグローバルディスクリプタを使用して各イメージ表現を出力する複数のブランチ（分岐、ｂｒａｎｃｈ）が含まれる。一例として、メインモジュール２１０は、ＳＰｏＣ（ｓｕｍ  ｐｏｏｌｉｎｇ  ｏｆ  ｃｏｎｖｏｌｕｔｉｏｎ）、ＭＡＣ（ｍａｘｉｍｕｍ  ａｃｔｉｖａｔｉｏｎ  ｏｆ  ｃｏｎｖｏｌｕｔｉｏｎ）、ＧｅＭ（ｇｅｎｅｒａｌｉｚｅｄ−ｍｅａｎ  ｐｏｏｌｉｎｇ）を含み、各ブランチで最も代表的なグローバルディスクリプタの３つの類型を使用する。
【００５１】
メインモジュール２１０に含まれるブランチの個数は、増減可能であり、ユーザのニーズに合うように使用しようとするグローバルディスクリプタを変形したり組み合わせたりしてよい。
【００５２】
イメージＩが与えられたとき、最後の畳み込み層の出力は、Ｃ×Ｈ×Ｗ次元の３Ｄテンソル（ｔｅｎｓｏｒ）ｘとなるが、ここで、Ｃは特徴マップの個数である。ｘｃを特徴マップｃ∈｛１．．．Ｃ｝のＨ×Ｗ活性化セットであると仮定する。ネットワーク出力は、２Ｄ特徴マップのＣチャンネルで構成される。グローバルディスクリプタはｘを入力として使用し、プーリングプロセスによる出力としてベクトルｆを生成する。このようなプーリング方法は、数式（１）のように一般化してよい。
【００５３】
【数１】
2020155111.tif 000003
【００５４】
ｐｃ＝１のときにはＳＰｏＣをｆ（ｓ）、ｐｃ→∞のときにはＳＰｏＣをｆ（ｍ）として定義し、残りの場合に対してＧｅＭをｆ（ｍ）として定義する。ＧｅＭの場合、実験によって固定されたｐｃパラメータ３を使用してよく、実施形態によっては、パラメータｐｃをユーザが手動で設定してもよいし、パラメータｐｃ自体を学習してもよい。
【００５５】
ｉ番目のブランチの出力特徴ベクトル
【００５６】
【数２】
2020155111.tif 000004
は、ＦＣ層による次元減少およびｌ２−正規化（ｎｏｒｍａｌｉｚａｔｉｏｎ）層による正規化によって生成される。
【００５７】
【数３】
2020155111.tif 000005
【００５８】
ｉ∈｛１．．．ｎ｝とするとき、ｎはブランチの数であり、ＷｉはＦＣ層の加重値であって、グローバルディスクリプタ
【００５９】
【数４】
2020155111.tif 000006
は、ａｉ＝ｓのときにＳＰｏＣ、ａｉ＝ｍのときにＭＡＣ、ａｉ＝ｇのときにＧｅＭであってよい。
【００６０】
本発明に係るＣＧＤフレームワーク２００の組み合わせディスクリプタψＣＧＤの最終特徴ベクトルは、多様なブランチの出力特徴ベクトルを連結し、順にｌ２−正規化を実行する。
【００６１】
【数５】
2020155111.tif 000007
【００６２】
ａｉ∈｛ｓ，ｍ，ｇ｝とするとき、
【００６３】
【数６】
2020155111.tif 000008
は連結（ｃｏｎｃａｔｅｎａｔｉｏｎ）である。
【００６４】
このような組み合わせディスクリプタは、どのような類型のランキング損失であっても訓練可能であり、一例として、ｂａｔｃｈ−ｈａｒｄ  ｔｒｉｐｌｅｔ損失を代表的に使用する。
【００６５】
ＣＧＤフレームワーク２００では、多数のグローバルディスクリプタを組み合わせることで２つの長所が得られる。１つ目に、数種類の追加の媒介変数だけでアンサンブルと同様の効果が得られる。上述した研究と同じようにアンサンブル効果が得られるが、これをエンドツーエンド方式によって訓練できるようにするために、ＣＧＤフレームワーク２００は、単一のＣＮＮバックボーンネットワーク２０１から複数のグローバルディスクリプタを抽出している。２つ目に、ダイバシティの統制がなくても、各ブランチの出力に対して自動で他の属性を提供する。最近の研究では、学習者間のダイバシティを奨励するために特別にデザインされた損失を提案しているが、ＣＧＤフレームワーク２００は、ブランチ間のダイバシティを統制するために特別にデザインされた損失は要求しない。
【００６６】
グローバルディスクリプタに対する複数の組み合わせの性能を比較実験することにより、ディスクリプタ組み合わせを見つけ出せるようになる。ただし、データごとに出力特徴次元による性能の差が大きくない場合がある。例えば、ＳＰｏＣ  １５３６次元と７６８次元の性能が大きくなければ、ＳＰｏＣ  １５３６次元（単一グローバルディスクリプタ）よりもＳＰｏＣ  ７６８次元＋ＧｅＭ  ７６８次元（マルチグローバルディスクリプタ）の組み合わせを使用する方が、より優れた性能を得ることができる。
【００６７】
３．補助モジュール２２０：分類損失
補助モジュール２２０は、エンベディングの範疇レベル（ｃａｔｅｇｏｒｉｃａｌ  ｌｅｖｅｌ）で学習するために、メインモジュール２１０の１番目のグローバルディスクリプタから出力されるイメージ表現を分類損失によって学習してよい。このとき、分類損失を利用した学習時の性能向上のために、ラベルスムージング（ｌａｂｅｌ  ｓｍｏｏｔｈｉｎｇ）と温度スケーリング（ｔｅｍｐｅｒａｔｕｒｅ  ｓｃａｌｉｎｇ）技術が適用されてよい。
【００６８】
言い換えれば、補助モジュール２２０は、補助分類損失を利用することにより、メインモジュール２１０の１番目のグローバルディスクリプタを基盤としてＣＮＮバックボーンを微調整する。補助モジュール２２０は、メインモジュール２１０に含まれるグローバルディスクリプタのうちの１番目のグローバルディスクリプタから出るイメージ表現を分類損失によって学習してよい。これは、２つの段階で構成された接近法によるものであり、これは、ＣＮＮバックボーンを分類損失とともに微調整して畳み込みフィルタを改善した後、ネットワークを微調整してグローバルディスクリプタの性能を改善する。
【００６９】
ＣＧＤフレームワーク２００では、このような処理方式を修正することにより、エンドツーエンド訓練のための単一の段階を有するようにする。補助分類損失のある訓練は、等級間の分離属性を有するイメージ表現を可能とし、ランキング損失だけに対して使用するよりも、ネットワークをより迅速かつ安定に訓練できるようにサポートする。
【００７０】
ソフトマックス交差エントロピー損失（ｓｏｆｔｍａｘ  ｌｏｓｓ）における温度スケーリングとラベルスムージングは、分類損失訓練をサポートするものであり、ソフトマックス損失は数式（４）のように定義される。
【００７１】
【数７】
2020155111.tif 000009
【００７２】
ここで、Ｎ、Ｍ、ｙｉはそれぞれ、配置の大きさ、クラスの個数、およびｉ番目の入力のＩＤラベルを意味する。Ｗとｂはそれぞれ、訓練可能な加重値とバイアス（ｂｉａｓ）である。さらに、ｆは、１番目のブランチのグローバルディスクリプタであるが、ここで、Ｔは、基本値（ｄｅｆａｕｌｔ  ｖａｌｕｅ）１の温度パラメータである。
【００７３】
数式（４）で温度パラメータＴを使用した温度スケーリングは、さらに困難な例にさらに大きな勾配（ｇｒａｄｉｅｎｔ）を割り当てることで、クラス内のコンパクトおよびクラス間のスプレッド−アウトエンベディングに有用となる。ラベルスムージングは、モデルを強化し、訓練中のラベルドロップアウトの限界効果を推定して一般化を改善する。したがって、オーバーフィッティングを防いでより優れたエンベディング方法を学習するために、補助分類損失にラベルスムージングと温度スケーリングを追加する。
【００７４】
分類損失計算のための１番目のグローバルディスクリプタは、各グローバルディスクリプタの性能を考慮した上で決定してよい。一例として、組み合わせに使用しようとするグローバルディスクリプタを単一ブランチとして使用して学習を進めた後、その中でも性能が優れたグローバルディスクリプタを分類損失計算のための１番目のグローバルディスクリプタとして使用してよい。例えば、ＳＰｏＣ、ＭＡＣ、ＧｅＭをそれぞれ学習した結果性能がＧｅＭ＞ＳＰｏＣ＞ＭＡＣとなれば、ＧｅＭ＋ＭＡＣの組み合わせがＭＡＣ＋ＧｅＭの組み合わせよりもより優れた性能を出す傾向にあるため、これを考慮した上で、ＧｅＭを分類損失計算のためのグローバルディスクリプタとして使用してよい。
【００７５】
４．フレームワーク構成
ＣＧＤフレームワーク２００は、グローバルディスクリプタのブランチの個数によって拡張されてよく、グローバルディスクリプタの構成によって他の類型のネットワークを許容する。例えば、３個のグローバルディスクリプタ（ＳＰｏＣ、ＭＡＣ、ＧｅＭ）を使用し、補助分類損失に対して単独で最初のグローバルディスクリプタを使用するため１２個の可能な構成を生成してよい。
【００７６】
説明の便宜のために、ＳＰｏＣはＳ、ＭＡＣはＭ、ＧｅＭはＧと略称し、表記のうちの１番目の文字は、補助分類損失に使用される１番目のグローバルディスクリプタを意味する。ＣＧＤフレームワーク２００は、１つのＣＮＮバックボーンネットワーク２０１から３種類のグローバルディスクリプタＳ、Ｍ、Ｇを抽出してよく、このとき、グローバルディスクリプタＳ、Ｍ、Ｇを基準として１２種の構成が可能となる（Ｓ、Ｍ、Ｇ、ＳＭ、ＭＳ、ＳＧ、ＧＳ、ＭＧ、ＧＭ、ＳＭＧ、ＭＳＧ、ＧＳＭ）。すべてのグローバルディスクリプタの組み合わせがランキング損失によって学習され、１番目のグローバルディスクリプタだけが分類損失によって付加的に学習されてよい。例えば、ＳＭＧの場合、グローバルディスクリプタのＳだけが分類損失によって付加的に学習され、すべてのＳ、Ｍ、およびＧの組み合わせ（ＳＭ、ＭＳ、ＳＧ、ＧＳ、ＭＧ、ＧＭ、ＳＭＧ、ＭＳＧ、ＧＳＭ）はランキング損失によって学習される。
【００７７】
したがって、複数のグローバルディスクリプタをアンサンブルするために複数のモデルを別途で学習する従来の方法とは異なり、本発明は、１つのモデルだけをエンドツーエンドによって学習することで、アンサンブルと同様の効果を得ることができる。従来の方法は、アンサンブルのために別途で製作された損失によってダイバシティを統制する反面、本願の方法は、ダイバシティの統制がなくてもアンサンブルと同様の効果を得ることができる。本発明によると、最終グローバルディスクリプタをイメージ検索に使用してよく、必要によっては、より小さな次元を使用するために連結（ｃｏｎｃａｔｅｎａｔｅ）直前のイメージ表現を使用してよい。ユーザのニーズによって多様なグローバルディスクリプタの使用が可能であり、グローバルディスクリプタの個数を調節してモデルを拡張および縮小することが可能である。
【００７８】
上述したＣＧＤフレームワーク２００の実施例は、次のとおりとなる。
【００７９】
イメージ検索のためのデータセットとして、文献“Ｃ．Ｗａｈ，Ｓ．Ｂｒａｎｓｏｎ，Ｐ．Ｗｅｌｉｎｄｅｒ，Ｐ．Ｐｅｒｏｎａ，ａｎｄ  Ｓ．Ｂｅｌｏｎｇｉｅ．Ｔｈｅ  ｃａｌｔｅｃｈ−ｕｃｓｄ  ｂｉｒｄｓ−２００−２０１１  ｄａｔａｓｅｔ．２０１１．”で利用されたデータセット（ＣＵＢ２００）と、文献“Ｊ．Ｋｒａｕｓｅ，Ｍ．Ｓｔａｒｋ，Ｊ．Ｄｅｎｇ，ａｎｄ  Ｌ．Ｆｅｉ−Ｆｅｉ．３ｄ  ｏｂｊｅｃｔｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｆｏｒ  ｆｉｎｅ−ｇｒａｉｎｅｄ  ｃａｔｅｇｏｒｉｚａｔｉｏｎ．Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  Ｗｏｒｋｓｈｏｐｓ，ｐａｇｅｓ  ５５４−５６１，２０１３．”で利用されたデータセット（ＣＡＲＳ１９６）を利用しながら、本発明に係るＣＧＤフレームワーク２００を評価する。ＣＵＢ２００とＣＡＲＳ１９６の場合、境界ボックス（ｂｏｕｎｄｉｎｇ  ｂｏｘ）情報のある切り取られた映像を使用する。
【００８０】
すべての実験は、２４ＧＢメモリのＴｅｓｌａ  Ｐ４０  ＧＰＵでＭＸＮｅｔを使用して実行される。さらに、ＭＸＮｅｔ  ＧｌｕｏｎＣＶのＩｍａｇｅＮｅｔ  ＩＬＳＶＲＣ事前加重値とともに、ＢＮＩｎｃｅｐｔｉｏｎ、ＳｈｕｆｆｌｅＮｅｔ−ｖ２、ＲｅｓＮｅｔ−５０、ＳＥＲｅｓＮｅｔ−５０を使用する。すべての実験において、２２４×２２４の入力サイズと１５３６次元のエンベディングを使用する。訓練段階において、入力映像は２５２×２５２に調整し、任意で２２４×２２４に切った後、水平にランダムでフリップする。学習速度が１ｅ−４であるアダムオプティマイザを用い、学習速度をスケジューリングするのに段階的減衰が使用される。すべての実験において、ｔｒｉｐｌｅｔ損失のマージンｍは０．１であり、ソフトマックス損失の温度は０．５である。配置の大きさはすべてのデータセットに１２８個が使用され、クラスあたりのインスタンスはＣＡＲＳ１９６、ＣＵＢ２００に６４個が使用され、基本入力サイズである２２４×２２４にのみイメージサイズを調整する。
【００８１】
１．アキテクチャデザイン実験
（１）訓練順位と分類損失
分類損失
ＣＧＤフレームワーク２００は、１番目のグローバルディスクリプタの分類損失とともに、ランキング損失によって訓練される。図３のテーブルは、ＣＡＲＳ１９６でランキング損失だけを使用する場合（Ｒａｎｋ）と、補助分類損失とランキング損失の両方を使用する場合（Ｂｏｔｈ）の成果を比べたものである。この実験では、ラベルスムージングと温度スケーリングを、すべての場合に分類損失には適用しない。これは、２つの損失をすべて使用する方が、ランキング損失を単独で使用するよりもさらに高い性能を提供するということを立証する。分類損失は、範疇型水準で各クラスを閉鎖されたエンベディング空間にクラスタリングすることに焦点を合わせる。ランキング損失は、同じ等級でサンプルを収集し、インスタンスレベルの互いに異なる等級でサンプル間の距離を置くことに焦点を合わせる。したがって、ランキング損失を補助分類損失とともに訓練すれば、範疇型および細分化された特徴エンベディングに対する最適化が改善される。
【００８２】
ラベルスムージングおよび温度スケーリング
図４のテーブルは、ＣＡＲＳ１９６でラベルスムージングと温度スケーリングの両方とも使用しない場合（ｎｏｔｒｉｃｋ）（Ｎｏｎｅ）、ラベルスムージングを使用する場合（ＬＳ）、温度スケーリングを使用する場合（ＴＳ）、さらにラベルスムージングと温度スケーリングの両方を使用する場合（ｂｏｔｈｔｒｉｃｋｓ）（Ｂｏｔｈ）の成果を比べたものである。これは、グローバルディスクリプタＳＭを使用してＲｅｓＮｅｔ−５０バックボーンで実行され、各ラベルスムージングと温度スケーリングを使用する方が、「ｎｏｔｒｉｃｋｓ」に比べて性能が向上することを示している。さらに、ラベルスムージングと温度スケーリングをともに適用すれば、それぞれの性能が向上し、最高の性能が得られるようになることが分かる。
【００８３】
（２）マルチグローバルディスクリプタの組み合わせ
組み合わせの位置
ＣＧＤフレームワーク２００は、複数のグローバルディスクリプタを使用するため、最高のアキテクチャを選択するために複数のグローバルディスクリプタの組み合わせの他の位置によって実験を行う。
【００８４】
図５は、マルチグローバルディスクリプタを訓練するための第１類型のアキテクチャを示しており、図６は、マルチグローバルディスクリプタを訓練するための第２類型のアキテクチャを示している。
【００８５】
図５に示すように、第１類型のアキテクチャは、各グローバルディスクリプタを個別のランキング損失によって訓練させた後、推論段階において組み合わせるが、各ブランチに対して同じグローバルディスクリプタを使用し、分類損失は使用しない。
【００８６】
一方、図６に示した第２類型のアキテクチャは、グローバルディスクリプタの遠眼出力を組み合わせて単一ランキング損失によって訓練するが、複数のグローバルディスクリプタは使用しない。
【００８７】
この反面、本発明に係るＣＧＤフレームワーク２００は、図２に示すように、ＦＣ層以後の多数のグローバルディスクリプタとｌ２−正規化を組み合わせる。
【００８８】
図７のテーブルは、ＣＵＢ２００でグローバルディスクリプタＳＭを使用するものであり、ＣＧＤフレームワークの性能を第１類型のアキテクチャＡおよび第２類型のアキテクチャＢと比べたものである。ＣＧＤフレームワークの性能が最も高いことが分かる。
【００８９】
第２類型のアキテクチャＢは、複数のブランチ特性と出力特徴ベクトルのダイバシティを含んでいる。ＣＧＤフレームワークとは対照的に、訓練段階において第１類型のアキテクチャＡの最終エンベディングは、推論段階とは異なり、第２類型のアキテクチャＢの最終エンベディングは、連結後のＦＣ層によってグローバルディスクリプタの各属性を失う。
【００９０】
組み合わせ方法
組み合わせ方法の観点において、多数のグローバルディスクリプタの連結（ｃｏｎｃａｔｅｎａｔｉｏｎ）と要約（ｓｕｍｍａｔｉｏｎ）は、モデル成果を向上させる。したがって、本発明に係るＣＧＤフレームワークは、２つの組み合わせ方法を比べ、より優れた方法を選択してよい。
【００９１】
図８のテーブルは、ＣＵＢ２００でグローバルディスクリプタＳＭを使用するものであり、組み合わせ方法である要約方法（Ｓｕｍ）と連結方法（Ｃｏｎｃａｔ）の成果を比べたものである。多数のグローバルディスクリプタの連結方法（Ｃｏｎｃａｔ）は、要約方法（Ｓｕｍ）に比べてより優れた性能を提供する。要約方法（Ｓｕｍ）は、グローバルディスクリプタの活性化が互いに混合するため（ｍｉｘ）各グローバルディスクリプタの特性を失うことがある反面、連結方法（Ｃｏｎｃａｔ）は、各グローバルディスクリプタの属性を記録してダイバシティを保持することができる。
【００９２】
２．組み合わせディスクリプタの効果
（１）定量分析
本発明に係るＣＧＤフレームワークの核心は、マルチグローバルディスクリプタを活用することにある。ＣＧＤフレームワークが補助分類損失に温度スケーリングを使用する各イメージ検索データセットに対し、１２種類の可能な構成を実験する。
【００９３】
図９は、ＣＡＲＳ１９６に対するＣＧＤフレームワークの多様な構成の性能を比べたものであり、図１０は、ＣＵＢ２００に対するＣＧＤフレームワークの多様な構成の性能を比べたものである。本実験は、クラスあたり１００個のインスタンスをサンプリングしたテストセットを利用した。ディープラーニングモデルの不確実性により、箱ひげ図を用いて１０回以上の結果を示した。
【００９４】
図９および図１０を参照すると、組み合わせディスクリプタ（ＳＧ、ＧＳＭ、ＳＭＧ、ＳＭ、ＧＭ、ＧＳ、ＭＳ、ＭＳＧ、ＭＧ）が、単一グローバルディスクリプタ（Ｓ、Ｍ、Ｇ）よりも超越した性能を示すことが分かる。ＣＵＢ２００の場合、単一グローバルディスクリプタＧとＭは相対的に高い性能を示す反面、最高の性能構成は組み合わせディスクリプタＭＧである。性能は、データセットの属性、分類損失に使用される特徴、入力の大きさ、および出力次元などによって異なる。主な本質は、多数のグローバルディスクリプタを活用すれば、単一グローバルディスクリプタに比べて性能が向上するということにある。
【００９５】
図１１のテーブルは、ＣＡＲＳ１９６に対する組み合わせディスクリプタ（ＳＧ、ＧＳＭ、ＳＭＧ、ＳＭ、ＧＭ、ＧＳ、ＭＳ、ＭＳＧ、ＭＧ）と単一グローバルディスクリプタ（Ｓ、Ｍ、Ｇ）の性能を比べたものである。個別ディスクリプタは、各ブランチの出力特徴ベクトルを意味する。組み合わせディスクリプタは、ＣＧＤフレームワークの最終特徴ベクトルである。
【００９６】
図１１は、組み合わせ前の個別グローバルディスクリプタの性能と組み合わせ後に算出される性能向上の程度を示したものである。すべての組み合わせディスクリプタは、１５３６次元エンベッドベクトルを有している反面、それぞれの個別ディスクリプタは、ＳＭ、ＭＳ、ＳＧ、ＧＳ、ＭＧ、ＧＭのための１５３６次元エンベッドベクトルとＳＭＧ、ＭＳＧ、ＧＳ、ＭＧ、ＧＳ、ＧＭのための５１２次元のエンベッドベクトルを有している。より大きなエンベッドベクトルの殆どは、より優れた性能を提供する。しかし、大きなエンベッドと小さなインベットとの性能の差が大きくない場合、異なるグローバルディスクリプタの多数の小さなエンベッドを使用する方が好ましいことがある。例えば、７６８次元のエンベッドＳＧの個別ディスクリプタＧｅＭは、１５３６次元のエンベッドの単一ディスクリプタＧと類似の性能を有しているため、ＳＧはＳＰＣとＧｅＭの他の特徴を組み合わせて大きな性能向上を得る。
【００９７】
３．ＣＧＤフレームワークの柔軟性
図１２は、本発明に係るＣＧＤフレームワークが多様なランキング損失（ｂａｔｃｈ−ｈａｒｄ  ｔｒｉｐｌｅｔ損失、ＨＡＰ２Ｓ損失、加重サンプリングマージン損失など）を使用できることを示したものである。単一グローバルディスクリプタＳとマルチグローバルディスクリプタＳＭの性能を比べるとき、すべての場合において、マルチグローバルディスクリプタＳＭの性能の方が単一グローバルディスクリプタＳよりも優れるという点において、多様な損失を適用することができ、柔軟であるということが分かる。
【００９８】
ランキング損失の他にも、本発明に係るＣＧＤフレームワークは、多様な種類のＣＮＮバックボーンネットワークはもちろん、多様なイメージ検索データセットを適用してよい。マルチグローバルディスクリプタを適用したＣＧＤフレームワークは、大部分のバックボーンやデータセットにおいて、従来のモデルよりもさらに高い性能を提供する。
【００９９】
このように、本発明の実施形態によると、複数のグローバルディスクリプタを組み合わせた新たなフレームワーク、すなわち、分類損失方式によって訓練可能な多数のグローバルディスクリプタを組み合わせたＣＧＤを適用することにより、各グローバルディスクリプタに対する明示的なアンサンブルモデルやダイバシティの統制がなくても、アンサンブルと同様の効果を達成することができる。本発明に係るＣＧＤフレームワークは、グローバルディスクリプタ、ＣＮＮバックボーン、損失、およびデータセットによって柔軟かつ拡張可能な特性を備え、組み合わせディスクリプタを使用することによって他の類型の特徴を使用することが可能になるため、単一グローバルディスクリプタよりも性能が優れる上に、イメージ検索性能を向上させることもできる。
【０１００】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および／またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）およびＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【０１０１】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークに接続したコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータ読み取り可能な記録媒体に格納されてよい。
【０１０２】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭおよびＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【０１０３】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって代替されたり置換されたとしても、適切な結果を達成することができる。
【０１０４】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【０１０５】
１００：コンピュータシステム
１１０：プロセッサ
１２０：メモリ
１３０：永続的記録装置
１４０：バス
１５０：入力／出力インタフェース
１６０：ネットワークインタフェース
【図１】
2020155111.tif 000010
【図２】
2020155111.tif 000011
【図３】
2020155111.tif 000012
【図４】
2020155111.tif 000013
【図５】
2020155111.tif 000014
【図６】
2020155111.tif 000015
【図７】
2020155111.tif 000016
【図８】
2020155111.tif 000017
【図９】
2020155111.tif 000018
【図１０】
2020155111.tif 000019
【図１１】
2020155111.tif 000020
【図１２】
2020155111.tif 000021