看板 DataScience 關於我們 聯絡資訊
1. 很多representation learning的論文都有提到 避免使用batch normalization 會有i nformation leaking的問題。但這點我不太了解,有沒有什麼具體的例子? 2. 使用opencv, cv2.imread和cv2.imwrite 兩張圖(原圖和儲存的圖)竟有差別(看起 來一樣、但用我的辨識model預測結果卻不同),這樣是正常的嗎? 3. 使用triplet loss時,我將三張圖片(a, p, n),分別丟到同一model(ResNet18)產出( Ra, Rp, Rn), 以此方法進行訓練發現training loss在下降,但validation loss在上升(類似overfitt ing) 反而用contrastive learning訓練好的model,用triplet loss計算1個epoch(不更新), 得到更低的triplet loss。 表示triplet loss應該還沒收斂(有更好的distribution) 為何會如此呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.13.42 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1626159062.A.2E3.html
pups003: 1. 因為normalization 會使用到整個dataset的statistics, 07/13 18:14
pups003: 超出一個batch內的資訊 07/13 18:14
pups003: 2. 讀寫有的時候會standardize, 要看文件細節檢查一下 07/13 18:16
pups003: Training based on triplet loss 通常需要特別的取樣方 07/13 18:19
pups003: 式來避免選到trivial solutions 07/13 18:19
wang19980531: 謝謝,可以再解釋一下trivial solutions的部分嗎 07/14 14:46
wang19980531: ? 07/14 14:46
numpy: 類似避免拿到太簡單的 triple,可以搜尋 (semi)hard negati 07/14 16:18
numpy: ve mining 07/14 16:19
followwar: batch normalization在training時只用自己的mean std 07/20 14:34
followwar: 哪裡來的超出一個batch的資訊... 07/20 14:34
followwar: *精準一點 只用自己目前batch的mean std 07/20 14:35
followwar: 是 intra-batch information leakage 07/20 14:37
followwar: 因為training時mean std是整個batch算 07/20 14:39
followwar: 可以藉由這個資訊學到sample之間的不同 07/20 14:39
followwar: 由於contrastive learning是要學自己跟別人不一樣 07/20 14:40
followwar: BN偷偷幫助了這件事 07/20 14:41
followwar: 所以變成model藉由BN來區分 本身並沒有習得資訊 07/20 14:42
EQQD: BN running estimate怎麼沒有跨batch..... 07/20 16:10
wang19980531: 10樓說的對吧 batch愈大愈接近整個dataset的dist 07/23 14:15
wang19980531: ribution 07/23 14:15
pups003: 建議去看原論文跟任何framework implementation 會比較清 07/24 23:38
pups003: 楚 07/24 23:38
r40491101: 2. 我很常也會遇到這個很雷的問題,檢查看看是否是儲存 08/01 23:11
r40491101: 格式,如果是壓縮過得,例如jpg,再讀一次,去infer, 08/01 23:11
r40491101: 結果會有些差異 08/01 23:11