どちらのネットワークも同様のアーキテクチャを共有していますが、セクション4 [1]で公開されているのと同じ重みに制限されています。
彼らの目標は、署名が本物である場合の出力ベクトル間のコサイン類似性を最小化し、偽造された場合にそれを最大化する機能を学習することです(これはバックプロップの目標でもありますが、実際の損失関数は示されていません)。
cos(A,B)=A⋅B∥A∥∥B∥A,B
あなたは出力層を変更すべきではありません、それは線形値を持つ訓練されたニューロンとその入力のより高いレベルの抽象化で構成されています。ネットワーク全体を一緒にトレーニングする必要があります。と両方の出力は、余弦の類似度(類似している場合は、類似していない場合はを出力する関数を介して渡されます。それをとして、入力タプルの2つのセットとすると、トレーニングする必要がある最も単純な損失関数の例は次のようになります。O1O2cos(O1,O2)10XForged,XGenuine
L=∑(xA,xB)∈XForgedcos(xA,xB)−∑(xC,xD)∈XGenuinecos(xC,xD)
ネットワークをトレーニングした後、2つのシグネチャを入力し、2つの出力がそれらを関数に渡して、それらの類似性を確認します。cos(O1,O2)
最後に、ネットワークの重みを同一に保つには、いくつかの方法があります(そして、それらはリカレントニューラルネットワークでも使用されます)。一般的なアプローチは、勾配降下法の更新ステップを実行する前に、2つのネットワークの勾配を平均化することです。
[1] http://papers.nips.cc/paper/769-signature-verification-using-a-siamese-time-delay-neural-network.pdf