• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

코드 질문

22.05.06 15:46 작성 조회수 171

1

강사님 안녕하세요.

강의를 듣다가 질문이 생겨서 고민 후에 질문 드립니다.

Q1.

빨간 도형으로 쳐진 부분이 이론적으로는 하나씩 대응해서 연산하는 거라고 이해는 되는데 코드로 접근할 때는 작동 논리가 머리에 쉽게 들어오지 않습니다 ㅠㅠ

코드 설명을 부탁드리고 싶습니다!! 감사합니다 :)

 

Q2.

visuliazation.ipynb 에서 이미지에 Inverse Normalization을 적용하신 이유와 이미지에 대해 Normalization와 Inverse Normalization의 차이가 궁금합니다.

개인적으로 보통 이미지에 대해 정규화 및 scaling을 위해서 Normalization 한다고 알고 있어서 궁금해서 질문 드립니다.

 

감사합니다 :)

 

답변 1

답변을 작성해보세요.

1

안녕하세요 :)

 

1.

코사인 유사도는 두 벡터의 관계이기 때문에 벡터가 벡터 하나, 하나를 계산을 해야합니다. 그런데 F.cosine_similarity 함수가 벡터 하나를 기준으로 여러 벡터의 관계를 한 번에 계산해 주는 기능이 있습니다.

코드에서 알 수 있듯이 pos_embedding[0, i:i+1]의 크기는 [1, 128]이고 pos_embedding[0, 1:]의 크기는 [64, 128]입니다. 즉, 128차원 벡터 하나를 기준으로 64개의 벡터와의 관계가 이 함수를 통해 한 번에 계산할 수 있습니다. 최종적으로 한 번 계산 시 64개의 결과값을 얻을 수 있고 이를 8x8로 시각화 할 수 있습니다.

 

2.

데이터 전처리에서 정규화를 해줬기 때문에 시각화 할 때는 원래 이미지 값으로 되돌리기 위한 정규화를 역산을 한 것입니다!

김성웅님의 프로필

김성웅

질문자

2022.05.10

명쾌하게 이해가 되었습니다! 항상 감사드립니다. 강사님 ㅎㅎ