Open e4exp opened 3 years ago
現実の大規模画像検索システムの主要な構成要素は,ハッシュ化である。 画像のハッシュ化の目的は,効率的な保存と正確な検索のために,画像の内容をバイナリコードで表現することである. 近年、深層ハッシュ法[47, 22]は、従来のハッシュ法[45, 14, 15, 21, 35, 36, 18]に比べて大きな改善を示している。 さらに,ディープハッシュ法は,学習したハッシュコードの類似性をどのように測定するかによって,ポイントワイズ[48, 53, 39, 11, 49],ペアワイズ[24, 22, 4, 3],トリプレットワイズ[44, 31],リストワイズ[51]のいずれかに分類される. これらのうち,ポイントワイズ法の計算量はO(N)であるが,その他の方法の計算量は,N個のデータポイントに対して少なくともO(N2 )である. これは,大規模な問題に対しては,pointwise法のみが扱いやすいことを意味しています[48]. そのため、最近の研究ではポイントワイズ法が注目されています。
深層ハッシュ化ニューラルネットワークは,当然ながら複数の学習目的を持っています. 具体的には,画像が入力されると,ネットワークは連続的なコード(特徴ベクトル)を出力し,それを量子化層(通常は符号関数)を用いてバイナリハッシュコードに変換する. このように、主な目的は2つあります。
まず、最終的なモデル出力、つまりバイナリコードは、クラス内のハミング距離が小さく、クラス間のハミング距離が大きいという、識別性の高いものでなければなりません。 第二に、連続コードを正則化するために、量子化誤差最小化の目的が必要である。
しかし、量子化層に起因する勾配消失問題により、学習が制約される。 この問題は、いくつかの緩和スキームを導入することで回避できるが[4, 22, 24]、これらのスキームは、量子化誤差の導入により、しばしば最適ではないハッシュコードを生成する(図1参照)。 そのため、最近の深層ハッシュ法[40, 24, 3, 52, 49]では、量子化誤差最小化の学習目的を明示している。 この2つの主要な目的・損失を持つだけでは、まだ十分ではない。 特に、ハッシュコードの品質を確保するために、既存の手法では他にも多くの損失が採用されている。 例えば、ビットバランス損失[52, 48, 39]、ハミング距離を最大化するための重み制約[53]、コードの直交性[30, 31]などです。 また,連続したコードから2値コードを得るために用いられる符号関数に起因する消失勾配問題に対処するために,損失が設計されている[40, 39, 26]. その結果、最先端のハッシュモデルは一般的に多数の(4個以上の)損失を持っています。 これは、最適化が困難であることを意味しており、その結果、有効性が損なわれています。 本研究では、1つの損失を持つディープハッシュモデルを初めて開発しました。 このモデルでは、損失の重みを調整する必要がないため、最適化が非常に簡単です。 前述したように、ディープハッシュモデルは、バイナリコードの識別と量子化誤差の最小化という、少なくとも2つの目的を持って学習する必要がある。
では、どうして1つの損失だけを使うことができるのでしょうか? その答えは、2つの目的は密接に関連しており、1つに統合できるという事実にあります。 具体的には、連続コードとそれに対応する2値直交ターゲットとのコサイン類似度を最大化することで、2つの目的を満たすことができることを示している。 これはクロスエントロピー(CE)損失として定式化できる。 OrthoHashと呼ばれる我々のモデルは、クラス間ハミング距離の最大化と量子化誤差の最小化を同時に実現するために、L2正規化された連続コードと直交2値ターゲットのコサイン類似度を最大化する単一の損失を持つ。
この単一の統一的な損失には、いくつかの付加的な利点があることを示します。 第一に、マージンの利点[41, 9]を活用して、クラス内分散をさらに向上させることができる。 第二に、従来のCE損失はシングルラベル分類でしか機能しないが、Label Smoothing [37]を利用してCE損失を修正し、マルチラベル分類に取り組むことができる。 最後に,コードバランシングは,別の損失を必要とするのではなく,バッチ正規化[16](BN)層を導入することで実施可能であることを示す. 広範な実験結果によると、ImageNet100、NUS-WIDE、MS-COCOを用いた従来のカテゴリレベルの検索タスクにおいて、我々のモデルはSOTAと同等の性能を示しました。 さらに、大規模なインスタンスレベルの検索タスクでは、我々の手法は新しいSOTAを達成し、これまでにGLDv2, ROxf, RParisで得られた最良の結果をそれぞれ0.6%, 9.1%, 17.1%上回ることができました。
深層ハッシュモデルは、学習したバイナリハッシュコードを識別可能にすることと、量子化誤差を最小化することの2つを主な学習目的としています。 さらに、ビットバランスやコードの直交性などの制約があるため、既存のモデルでは多数の損失(4回以上)を採用することも珍しくありません。 これは、モデルの学習を困難にし、その結果、モデルの有効性を妨げることになります。 本研究では、単一の学習目的のみを持つ新しいディープハッシュモデルを提案する。 具体的には、連続コードとそれに対応する二値直交コードのコサイン類似度を最大化することで、ハッシュコードの識別性と量子化誤差の最小化を両立できることを示す。 さらに、この学習目的では、BN(Batch Normalization)層を用いるだけでコードのバランスを取ることができ、ラベルスムージングを用いることでマルチラベル分類も簡単に行うことができます。 その結果、様々な損失の重みを調整する煩わしさから解放された、ワンロスのディープハッシュモデルが完成しました。 大規模な実験の結果、我々のモデルは非常に有効であり、3つの大規模なインスタンス検索ベンチマークにおいて、最先端のマルチロスハッシングモデルを大幅に上回ることがわかった。 コードはこのhttpsのURLから入手できます。
https://github.com/kamwoh/orthohash