[英]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,所以我想這應該可行。
那么我的問題是:
嘗試使用修正線性單元 (ReLU) 激活而不是 sigmoid。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.