連體神經網路 是什麼?

Siamese Network — 連體神經網路 的完整解釋

連體神經網路是一種包含兩個或多個共享相同權重的相同神經網路的架構,用於比較輸入之間的相似性或關係。

容易混淆

傳統分類模型 傳統分類模型像個單一的鑑定專家,負責辨識「這是誰?」。 連體神經網路則像個比較專家,它不是直接分類,而是判斷「這兩個人有多像?」或「這兩張照片是不是同一個人?」,更專注於關係比較。

最關鍵的區別:先看它是在比意思、比結構,還是在做任務輸出。

記住這句就好

兩邊一起學、最後比相似度,就是連體神經網路。

實際案例

重複問句檢測要判斷「怎麼退貨」和「退貨流程是什麼」是不是同一類問題。 人臉驗證要比對兩張臉是否屬於同一個人,而不是直接分到某個固定類別。

算法與應用

兩個分支通常共享參數,先把輸入編成 embedding,再用距離或相似度判斷。 訓練時常搭配 contrastive loss 或 triplet loss。

情境判斷

Q1(直覺題): 如果你只有成對資料,沒有很多固定類別標籤,這種架構有幫助嗎?

→ 有。它本來就很適合做成對比較,而不是硬做多分類。

Q2(判斷題): 如果你要分辨「這是貓、那是狗」,還需要它嗎?

→ 不一定。看情況,直接分類模型會更簡單。

相關術語

常見問題

連體神經網路與傳統神經網路有何不同?

連體神經網路與傳統神經網路的主要區別在於其架構和訓練方式。連體神經網路包含兩個或多個共享權重的相同神經網路,而傳統神經網路通常只包含一個神經網路。連體神經網路的訓練目標是學習一個嵌入空間,而傳統神經網路的訓練目標是預測一個輸出。

如何選擇連體神經網路的損失函數?

選擇連體神經網路的損失函數取決於具體的應用場景。常用的損失函數包括對比損失、三元組損失和交叉熵損失。對比損失適用於二元分類問題,三元組損失適用於排序問題,交叉熵損失適用於多類分類問題。需要根據任務特性選擇最適合的損失函數。

連體神經網路的嵌入向量維度應該如何選擇?

嵌入向量的維度是一個超參數,需要根據具體的應用場景進行調整。較高的維度可以提供更豐富的特徵表示,但也可能增加計算複雜度。較低的維度可以降低計算複雜度,但也可能損失一些信息。通常,可以通過實驗來找到最佳的嵌入向量維度。