シャムニューラルネットワーク


Siamese_neural_network
シャムニューラルネットワーク(時々呼ばれるツインニューラルネットワーク)である人工ニューラルネットワーク匹敵する出力ベクトルを計算するために、2つの異なる入力ベクトルにタンデムでの作業中に同じ重みを使用します。 多くの場合、出力ベクトルの1つが事前に計算されているため、他の出力ベクトルと比較されるベースラインが形成されます。これは指紋の比較に似ていますが、より技術的には局所性鋭敏型ハッシュの距離関数として説明できます。
シャムネットワークと機能的に類似しているが、わずかに異なる機能を実装するアーキテクチャを構築することは可能です。これは通常、異なるタイプセットの類似したインスタンスを比較するために使用されます。
ツインネットワークが使用される可能性のある類似性測定の使用は、手書きの小切手の認識、カメラ画像内の顔の自動検出、インデックス付きドキュメントとのクエリの照合などです。ツインネットワークのおそらく最もよく知られているアプリケーションは顔認識です。顔認識では、人々の既知の画像が事前に計算され、回転式改札口などの画像と比較されます。最初は明らかではありませんが、わずかに異なる2つの問題が一つは、他の多くの人の中から人を認識すること、それが顔認識の問題です。DeepFaceはそのようなシステムの例です。最も極端な形では、これは駅や空港で一人の人を認識することです。もう1つは顔認証です。つまり、パス内の写真が、同じ人物であると主張する人物と同じであるかどうかを検証します。ツインネットワークは同じかもしれませんが、実装はまったく異なる可能性が

コンテンツ
1 学ぶ
1.1 事前定義されたメトリック、ユークリッド距離メトリック 1.2 学習したメトリック、非線形距離メトリック 1.3 学習したメトリック、ハーフツインネットワーク
2 オブジェクトトラッキングのためのツインネットワーク
3 も参照してください
4 参考文献
5 参考文献

学ぶ
ツインネットワークでの学習は、トリプレット損失または対照損失で行うことができます。トリプレット損失による学習では、ベースラインベクトル(アンカー画像)が正のベクトル(真の画像)および負のベクトル(偽の画像)と比較されます。負のベクトルはネットワークでの学習を強制し、正のベクトルは正則化のように機能します。対照的な損失による学習では、重みを正則化するための重みの減衰、または正規化などの同様の操作が必要です。
損失関数の距離メトリックには、次のプロパティがあります。
非負性: δ (( 、 y )。≥ 0
{ delta(x、y) geq 0}
  識別可能なアイデンティティ: δ (( 、 y )。= 0
⟺ = y { delta(x、y)= 0 iff x = y}
  対称: δ (( 、 y )。= δ(( y
、 )。
{ delta(x、y)= delta(y、x)}
  三角不等式: δ (( 、 z )。≤ δ(( 、 y )。+ δ(( y z )。 { delta(x、z) leq delta(x、y)+ delta(y、z)}
  特に、トリプレット損失アルゴリズムは、多くの場合、コアに2乗ユークリッド距離(ユークリッド距離とは異なり、三角不等式がありません)で定義されます。

事前定義されたメトリック、ユークリッド距離メトリック
一般的な学習目標は、類似したオブジェクトの距離メトリックを最小化し、異なるオブジェクトの距離メトリックを最大化することです。これにより、次のような損失関数が得られます。 δ (( (( 私 )。 、 (( )。
)。 = {{ 分 ‖(((( 私 )。 )。
−(((( )。 )。 ‖ 私= 最大
‖(((( 私 )。 )。
−(((( )。 )。 ‖ 私
≠ {{ begin {aligned} delta(x ^ {(i)}、x ^ {(j)})= { begin {cases} min | operatorname {f} left(x ^ {(i)} right)- operatorname {f} left(x ^ {(j)} right) | ,, i = j \ max | operatorname {f} left( x ^ {(i)} right)- operatorname {f} left(x ^ {(j)} right) | ,, i neq j end {cases}} end {aligned}} }

  I 、 {i、j}

  ベクトルのセットへのインデックスです (( ⋅ )。 { operatorname {f}( cdot)}

  ツインネットワークで実装された機能
使用される最も一般的な距離メトリックはユークリッド距離です。この場合、損失関数は次のように行列形式で書き直すことができます。 δ (( (( 私 )。 、 (( )。
)。 ≈ (( (( 私 )。 − (( )。
)。 (( (( 私 )。 − (( )。 )。 { operatorname { delta}( mathbf {x} ^ {(i)}、 mathbf {x} ^ {(j)}) approx( mathbf {x} ^ {(i)}- mathbf {x} ^ {(j)})^ {T}( mathbf {x} ^ {(i)}- mathbf {x} ^ {(j)})}

 

学習したメトリック、非線形距離メトリック
より一般的なケースは、ツインネットワークからの出力ベクトルが非線形距離メトリックを実装する追加のネットワークレイヤーを通過する場合です。
もしも I =それから δ [(((( 私 )。 )。
、(((( )。
)。]
小さいです
それ以外は δ [(((( 私 )。 )。
、(((( )。
)。]
は大きい
{{ begin {aligned} { text {if}} 、i = j 、{ text {then}}&、 operatorname { delta} left [ operatorname {f} left( x ^ {(i)} right)、、 operatorname {f} left(x ^ {(j)} right) right] 、{ text {is small}} \ { text {それ以外の場合}}&、 operatorname { delta} left [ operatorname {f} left(x ^ {(i)} right)、、 operatorname {f} left(x ^ {(j) } right) right] 、{ text {is large}} end {aligned}}}

  I 、 {i、j}

  ベクトルのセットへのインデックスです (( ⋅ )。 { operatorname {f}( cdot)}

 ツインネットワークで実装された機能 δ (( ⋅ )。 { operatorname { delta}( cdot)}

 ツインネットワークからの出力を結合するネットワークによって実装される機能
行列形式では、前者は線形空間のマハラノビス距離としてとして近似されることがよく δ (( (( 私 )。 、 (( )。
)。 ≈ (( (( 私 )。 − (( )。
)。(( (( 私 )。 − (( )。 )。 { operatorname { delta}( mathbf {x} ^ {(i)}、 mathbf {x} ^ {(j)}) approx( mathbf {x} ^ {(i)}- mathbf {x} ^ {(j)})^ {T} mathbf {M}( mathbf {x} ^ {(i)}- mathbf {x} ^ {(j)})}
  これは、さらに、少なくともに細分化することができ教師なし学習と教師付き学習。

学習したメトリック、ハーフツインネットワーク
この形式では、ツインネットワークをハーフツインにすることもでき、わずかに異なる機能を実装できます。
もしも I =それから δ [(((( 私 )。 )。
、(((( )。
)。]
小さいです
それ以外は δ [(((( 私 )。 )。
、(((( )。
)。]
は大きい
{{ begin {aligned} { text {if}} 、i = j 、{ text {then}}&、 operatorname { delta} left [ operatorname {f} left( x ^ {(i)} right)、、 operatorname {g} left(x ^ {(j)} right) right] 、{ text {is small}} \ { text {それ以外の場合}}&、 operatorname { delta} left [ operatorname {f} left(x ^ {(i)} right)、、 operatorname {g} left(x ^ {(j) } right) right] 、{ text {is large}} end {aligned}}}

  I 、 {i、j}

  ベクトルのセットへのインデックスです (( ⋅ )。 、 (( ⋅ )。 { operatorname {f}( cdot)、 operatorname {g}( cdot)}

 ハーフツインネットワークで実装された機能 δ (( ⋅ )。 { operatorname { delta}( cdot)}

 ツインネットワークからの出力を結合するネットワークによって実装される機能

オブジェクトトラッキングのためのツインネットワーク
ツインネットワークは、その独自の2つのタンデム入力と類似性測定のためにオブジェクトトラッキングで使用されてきました。オブジェクト追跡では、ツインネットワークの1つの入力はユーザーが事前に選択した模範画像であり、もう1つの入力はより大きな検索画像であり、ツインネットワークの仕事は検索画像内の模範を見つけることです。エグザンプラと検索画像の各部分との間の類似性を測定することにより、類似性スコアのマップをツインネットワークによって与えることができます。さらに、完全畳み込みネットワークを使用すると、各セクターの類似度スコアを計算するプロセスを1つの相互相関層のみに置き換えることができます。
2016年に最初に導入されて以来、ツイン完全畳み込みネットワークは、多くの高性能リアルタイムオブジェクトトラッキングニューラルネットワークで使用されてきました。CFnetと同様に、 StructSiam、 SiamFC-tri、 DSiam、 SA-Siam、 SiamRPN、 DaSiamRPN、カスケードSiamRPN、 SiamMask、 SiamRPN ++、より深くより広いSiamRPN。

も参照してください
人工ニューラルネットワーク
トリプレット損失

参考文献
Chicco、Davide(2020)、「シャムニューラルネットワーク:概要」、人工ニューラルネットワーク、Methods in Molecular Biology、2190(第3版)、ニューヨーク市、ニューヨーク、米国:Springer Protocols、Humana Press、73ページ–94、doi:10.1007 / 978-1-0716-0826-5_3、ISBN 978-1-0716-0826-5、PMID  32804361

参考文献
^ Chicco、Davide(2020)、「シャムニューラルネットワーク:概要」、人工ニューラルネットワーク、Methods in Molecular Biology、2190(第3版)、ニューヨーク市、ニューヨーク、米国:Springer Protocols、Humana Press、pp。 73–94、doi:10.1007 / 978-1-0716-0826-5_3、ISBN
 978-1-0716-0826-5、PMID  32804361
^ ブロムリー、ジェーン; ギュイヨン、イザベル; ヤン・ルカン; Säckinger、Eduard; Shah、Roopak(1994)。「「シャム」時間遅延ニューラルネットワークを使用した署名検証」(PDF)。ニューラル情報処理システムの進歩6:737–744。
^ Chopra、S。; ハッセル、R。; LeCun、Y。。「顔の検証への応用を伴う、類似性メトリックの識別的学習」。2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR’05)。1:539–546vol。1.土井:10.1109 /CVPR.2005.202。ISBN
 0-7695-2372-2。S2CID  5555257。
^ Taigman、Y。; ヤン、M。; ランザート、M。; Wolf、L。。「DeepFace:顔の検証における人間レベルのパフォーマンスへのギャップを埋める」。コンピュータビジョンとパターン認識に関する2014IEEE Con​​ference:1701–1708。土井:10.1109 /CVPR.2014.220。ISBN
 978-1-4799-5118-5。S2CID  2814088。
^ Chatterjee、Moitreya; 羅、ユナン。「畳み込みニューラルネットワークを使用した(または使用しない)類似性学習」(PDF)。
^ チャンドラ、MP(1936)。「統計における一般化された距離について」(PDF)。インド国立科学研究所の議事録。1. 2:49–55。
^ オブジェクトトラッキングarXiv用の完全畳み込みシャムネットワーク: 1606.09549
^ 「相関フィルターベースの追跡のためのエンドツーエンドの表現学習」。
^ 「リアルタイムの視覚追跡のための構造化されたシャムネットワーク」(PDF)。
^ 「オブジェクトトラッキングのためのシャムネットワークでのトリプレット損失」(PDF)。
^ 「視覚オブジェクト追跡のための動的シャムネットワークの学習」(PDF)。
^ 「リアルタイムオブジェクトトラッキングのための2つのシャムネットワーク」(PDF)。
^ 「シャム地域提案ネットワークによる高性能ビジュアルトラッキング」(PDF)。
^ 朱、鄭; 王、強; 李白; ウー、ウェイ; ヤン、ジュンジェ; 胡、Weiming(2018)。「視覚オブジェクト追跡のためのディストラクタ対応シャムネットワーク」。arXiv:1808.06048 。
^ ファン、ヘン; リン、ハイビン(2018)。「リアルタイム視覚追跡のためのシャムカスケード地域提案ネットワーク」。arXiv:1812.06148 。
^ ワン、チャン; チャン、リー; ベルティネット、ルカ; 胡、Weiming; トル、フィリップHS(2018)。「高速オンラインオブジェクトトラッキングとセグメンテーション:統一アプローチ」。arXiv:1812.05050 。
^ 李、ボー; ウー、ウェイ; 王、強; 張、Fangyi; Xing、Junliang; ヤン、ジュンジェ(2018)。「SiamRPN ++:非常に深いネットワークによるシャムの視覚追跡の進化」。arXiv:1812.11703 。
^ Zhang、Zhipeng; Peng、Houwen(2019)。「リアルタイムの視覚追跡のためのより深く、より広いシャムネットワーク」。arXiv:1901.01660 。”