티스토리 뷰

One-shot Learning

https://youtu.be/96b_weTZb2w

  • 한장의 사진으로 다른 한장과 비교함
  • 유사도 함수 신경망에 d라는 함수를 학습시킨다. 두개의 이이미를 입력받아 두 이미지의 차이정도를 반환한다. 같은사람->작은 숫자를 반환할테고 다른사람-> 큰 숫자를 반환함

Siamese network(샴 네트워크)

https://youtu.be/6jfw8MuKwpI

  • 이미지하나를 n(ex.128)개의 벡터로 변환(인코딩)해서 비교함
  • 벡터by벡터는 거리를 연산할 수 있음
  • 이 x1,x2이미지에 대한 변환&거리 연산 함수를 d(distance)라고 함 d(x1,x2)
  • 샴네트워크는 이를 통해 같은사람은 짧은거리를, 다른사람은 먼거리를 반환하는 d를 만들도록 학습함
  • 역전파를 통해 인코딩 파라미터 갱신

 

Triplet loss (샴 중앙 손실)

https://youtu.be/d2XB5-tuCWU

  • A(Anchor기준),P(긍정),N(부정) 세가지를 동시에 봄 -d(A,P) ≤ d(A,N)이길 희망함
    • d(A,P) -d(A,N) ≤ 0 이 되는데 이런식으로 하면 단지 d가 모든 거리를 0으로 만드는 형태로 수렴 할 수 있음
    • 그래서 마진(a)를 붙인다. -d(A,P) -d(A,N)+ a ≤ 0 -이 수식뜻은 A이미지 기준으로 부정이미지와의 거리가 긍정이미지와의 거리보다 최소한 마진만큼 차이를 벌려야 한다는 뜻
  • 대략 1000명의 사람들 얼굴을 학습하기위한 이미지 1만장이 있을 때 APN을 랜덤으로 선정해 경사하강법으로 학습한다고 하자 -학습이 '원활하게 진행되려면' = 역전파를 통한 파라미터 갱신을 통해 낮은 경사를 찾으려면
  • d(A,P) -d(A,N)+ a ≤ 0의 수식이 쉽게 만족되는 형태가 아닌, d(A,P)와 d(A,N) 값이 '유사'한 형태를 선정하여 학습하는 것이 계산(학습)효율을 향상 시킬 것이다.

*명명법 -어떤 도메인에서 실행했다(Face) - 'Face'Net / Deep'Face'

https://youtu.be/0NSLgoEtdnw

Face Verification (얼굴 검증)

  • 촤종 로지스틱 회귀가 하는 것은 무엇인가 : 2개의 이미지 차이를 다룬다고 하면 128의 인코딩된 벡터에 대해 각1번째 부터 128째 벡터값의 차의 합를 구해서 로지스틱 회귀에 넣는다. 이 차이를 X라고 한다면 로지스틱 회귀는 y = wX + b의 형태를 갖는다. 그리고 128개 특성에 대한 적절한 가중치를 학습한다. 결과값 y는 이미지 유사도에 따라 0/1 (다름/같음)을 갖는다
  • 또한 추론할 인풋 X_ 에 대해서 추론을 위해 인코딩 값을 반면, 기준이미지들은 미리 연산을 마치고 저장한 벡터를 가져올 수가 있는데 이런 점에서 자원손실을 줄일 수 있다.

'AI > 주워들은 것들' 카테고리의 다른 글

Attention 다시 보기  (0) 2023.09.20
Semi-Sumpervised Domain Geneeralizable Person Re-Identification  (1) 2022.09.04
Transfer Learning  (0) 2021.11.07
INF란 무엇인가  (0) 2021.05.30
Batch 란 무엇인가 + Batch Normalization  (0) 2021.05.17