簡體   English   中英

Tensorflow 中的 Siamese Network -- 改變 Sigmoid Activiation Cutoffs

[英]Siamese Network in Tensorflow -- Changing Sigmoid Activiation Cutoffs

我在此處從 PyImageSearch.com 教程構建了siamese.network:https://pyimagesearch.com/2020/11/30/siamese.networks-with-keras-tensorflow-and-deep-learning/

我正在增強 CNN 以檢測圖像是否相同(而不是教程中的相同數字)。 這只需要在 utils.py 中的 make_pairs() function 中增加一行代碼:

old line:       pairImages.append([currentImage, posImage])

new line:       pairImages.append([currentImage, currentImage])

我認為這對於 .network 來說很容易快速學習 100% 的准確性,因為圖像是相同的。 然而,它在 10 個 epoch 后的准確率並沒有超過 95%。

我認為問題出在 output 層。 歐幾里德距離被傳遞到包含 function 的密集層 output。正 class 是相同的圖像,因此這兩張圖像之間的歐幾里得距離為 0。我在想,如果我可以將 sigmoid 激活從 0.5 更改為某個值接近 1.0,它會加快學習速度。 相同的圖像的歐幾里得距離為 0,所以我想這應該可行。

那么我的問題是:

  1. 如何更改 sigmoid function 的默認值 0.5 的截止值
  2. 改變 sigmoid 截止值會產生預期的效果嗎?

嘗試使用修正線性單元 (ReLU) 激活而不是 sigmoid。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM