GAN 9 - 시아미즈 네트워크(Siamese Network) 소개

김성빈·2024년 6월 13일
0

Modern Computer Vision

목록 보기
112/117


시아미즈라는 용어는 샴쌍둥이(신체가 결합된 쌍둥이)를 의미한다.

시아미즈 네트워크는 동일한 서브 네트워크를 갖는다.

  1. 시아미즈 네트워크 인코딩 과정


시아미즈 네트워크의 개념을 보여주며, 두 개의 입력 이미지가 동일한 컨볼루션 네트워크를 통과하여 각각의 인코딩을 생성한다.

이 인코딩은 유사성을 비교하는데 사용한다.

  1. 시아미즈 네트워크 아키텍쳐
  2. 대조 손실 함수
    이 이미지는 트리플릿 손실 함수의 작동 방식을 보여줍니다. 앵커 이미지와 긍정 이미지, 부정 이미지를 비교하여 긍정 이미지와의 거리는 최소화하고 부정 이미지와의 거리는 최대화합니다.


4. 이진 교차 엔트로피 손실 함수

대조 손실 함수의 개념을 시각화 한 것으로

두 이미지의 인코딩을 비교하여 손실을 계산하고, 이를 통해 네트워크가 이미지 간의 유사성을 학습하도록한다.

이 이미지는 이진 교차 엔트로피 손실 함수의 적용을 보여준다.

네트워크의 출력이 이진(유사하거나 유사하지 않음)이므로, 이진 교차 엔트로피 손실 함수를 사용하여 네트워크를 학습시킬 수 있다.

Dataset - Image Pairs


네트워크 구축

  1. 특징 인코딩 또는 임베딩 레이어를 출력하는 CNN을 구축합니다.
  2. 동일한 아키텍처와 하이퍼파라미터를 가진 두 번째 네트워크를 생성합니다.
  3. 두 네트워크의 출력을 비교하는 다른 레이어를 구축하여 유클리디안 거리 또는 코사인 거리를 계산합니다.
  4. 단일 노드와 시그모이드 활성화 함수를 사용하는 완전 연결 레이어를 사용하여 유사성 점수를 출력합니다.
  5. 대조 손실, 트리플릿 손실 또는 이진 교차 엔트로피 손실 함수 중 하나를 사용하여 모델을 컴파일합니다.

이미지 데이터셋이 쌍으로 정렬되고 모델이 빌드 및 컴파일되면, RMSprop이나 일반적인 경사 하강법 알고리즘과 같은 옵티마이저를 사용하여 훈련을 시작할 수 있다.

CNN은 상대적으로 간단하므로 작은 임베딩 벡터를 사용하여 이미지를 인코딩할 수 있다.

28x28 이미지의 경우 1x64 또는 1x128 크기의 벡터를 사용할 수 있다.

profile
감사합니다. https://www.youtube.com/channel/UCxlkiu9_aWijoD7BannNM7w

0개의 댓글