勵志

勵志人生知識庫

孿生網路

孿生神經網路(Siamese neural network),也稱為雙生神經網路,是一種特殊的神經網路結構,由兩個人工神經網路組成,這兩個網路共享相同的權重和參數。其基本結構和工作原理如下:

基本結構:孿生神經網路以兩個樣本為輸入,通過兩個結構相同且權重共享的神經網路(子網路)將輸入映射到高維特徵空間,並輸出對應的表徵。這些子網路可以是卷積神經網路CNN)或循環神經網路RNN)等。

工作原理:在訓練過程中,孿生神經網路通過計算兩個輸入樣本的表徵之間的距離(如歐式距離)來比較這兩個樣本的相似程度。在監督學習範式下,它會最大化不同標籤的表徵之間的距離,並最小化相同標籤的表徵之間的距離。在無監督或自監督學習範式下,它可以學習輸入數據之間的相似性。

套用場景:孿生神經網路適用於需要進行小樣本/單樣本學習(one-shot learning)的任務,且不容易受到錯誤樣本的干擾。因此,它們廣泛用於對容錯率要求嚴格的模式識別問題,如人臉識別指紋識別目標追蹤等。

訓練過程:訓練孿生神經網路通常需要大量的標註數據。在訓練過程中,會構造正樣本(來自同一類別的樣本)和負樣本(來自不同類別的樣本),並使用這些樣本計算損失。然後通過梯度下降和反向傳播算法最佳化模型的參數。

孿生神經網路的提出者包括J. Bromley, I. Guyon, Y. LeCun, E. Säckinger, R. Shah等人,首次提出於1994年。