KalelPark's LAB

[ Computer Vision ] Gram Matrix(그람 행렬)란? 본문

Data Science/Common

[ Computer Vision ] Gram Matrix(그람 행렬)란?

kalelpark 2023. 5. 12. 08:20
Contrastive Learning 과 관련된 논문을 읽다, 나온 행렬이다.
 
Style은 서로 다른 특징(feature)간의 상관관계를 의미한다.
스타일 값이 크다는 것은 feature간의 상관관계가 높다는 것을 의미하고, 특징간 유사점이 많다는 것을 의미합니다.
 
G는 특징들 간의 상관관계 값이고 특징들 간의 내적 값을 의미합니다.

Gram Matirx와 Cosine Similiarity의 차이점

Gram matrix를 활용한 loss와 Cosine similarity를 활용한 loss는 둘 다 이미지 스타일 전이 (Image Style Transfer)에서 사용되는 손실 함수입니다. 하지만 그들은 서로 다른 방식으로 작동합니다.

Gram matrix를 활용한 loss는 이미지에서 추출한 feature map들의 Gram matrix를 계산하고, 두 이미지 간의 Gram matrix의 차이를 계산하여 손실 값을 산출합니다. 이 방법은 이미지의 텍스처를 보존하면서 스타일을 전이할 수 있습니다. Gram matrix를 계산하는 것은 feature map들의 내적을 계산하는 것으로, 이 과정은 이미지에서 각 위치에서 발생한 활성화 값을 묶어서 표현합니다. 이렇게 생성된 표현을 Gram matrix라고 하며, 이를 이용하여 스타일 손실을 측정합니다.

반면, Cosine similarity를 활용한 loss는 두 이미지의 feature map을 벡터로 표현한 다음, 두 벡터 간의 cosine similarity를 계산하여 손실 값을 산출합니다. 이 방법은 이미지의 색감을 보존하면서 스타일을 전이할 수 있습니다. 벡터로 표현된 feature map 사이의 cosine similarity를 측정함으로써 스타일 손실을 계산합니다.

따라서, Gram matrix를 활용한 loss는 텍스처 기반의 스타일 전이에 적합하며, Cosine similarity를 활용한 loss는 색감 기반의 스타일 전이에 적합합니다.

Comments