Google ML Bootcamp/4. Convolutional Neural Networks
43. Triplet Loss
코딩소비
2023. 9. 18. 14:12

왜 triplet(삼중항)이냐면, database image(A), positive input image(P), negative input image(N)에 대한 loss를 측정하기 때문.
- 세 image에 대해 고려하기 때문에 삼중항이라고 부른다.
목적식은 결국 d(A,P)가 작아지고, d(A,N)이 커지길 원한다.
- 또는 적어도 d(A,P) <= d(A,N)이 되어야 한다.
- 이때 f(image)=0인 network라면 목적식을 항상 만족하므로 a라는 margin hyperparameter항을 추가시킨다.
- margin은 d(A,P)와 d(A,N)의 차이가 더욱 크게 나도록 조정해준다.
margin의 역할?
- d(A,P)와 d(A,N)의 차이 + margin까지 더한게 0보다 작아야하므로 목적식을 만족하기가 더 빡세졌다는 의미.

One-Shot Learning을 위한 모델을 만들고는 있지만, 모델 학습시에는 similarity를 학습하기 위해 동일한 사람에 대해 여러개의 training set이 존재해야한다.