loading

MERU(Hyperbolic Image-Text Representations) 논문 리뷰


Vision Language Model, Hyperbolic Embeddings

Published on July 12, 2023 by JunYoung

VLM CLIP Multimodal Hyperbolic space

12 min READ

들어가며…

논문을 소개하기 전, CLIPALIGN과 같은 기존 Vision-Language Modeling의 문제점을 짚는 것이 우선이다. 만약 두 논문에 대한 사전 지식이 없다면 MERU 라는 이름을 가지는 이 모델이 문제시하고자 했던 유클리디안 space(모든 datapoint에 대해 동일한 거리 기준을 삼는 것)에 대한 이해를 하기 힘들기 때문에 적어도 본인 블로그의 CLIP 논문에 대한 내용을 짚고 넘어오는 것이 좋다(참고 링크).

유클리디안 기하학과 비유클리디안 기하학은 다른 거리 기준을 가진다. 예컨데 유클리디안(이를 보통 평평한 평면에 비유하기도 함) 공간에서는 삼각형의 세 내각의 합이 $180^\circ$ 인 것이 당연하지만, Spherical 공간에서는 성립하지 않는 것을 볼 수 있다. 마찬가지로 Modality가 놓인 공간이 얼마나 휘어있느냐(이를 하이퍼볼릭에서는 Curvature라는 값으로 정의함)에 따라 각 임베딩 간의 관계성이 다르게 성립한다.

논문에서는 다행(?)인지 모르겠지만 수식을 방대하게 풀어놓는 형태로 우리를 괴롭히지는 않는다. 다만 단순하게 요약해서 ‘이미지/텍스트’ 간의 관계성을 설명하는 기하학은 Euclidean이 아닌 non-Euclidean이 보다 적합하다는 것. 그렇다면 대체 어떤 이유에서 기존 VLM과 다르게 다른 기하학을 도입하고자 하였는지 살펴보도록 하자.


텍스트와 이미지의 계층적 관계

예컨데 다음과 같은 이미지가 있다고 생각해보자.

길거리에 나가 $n$명의 사람들에게 “이 그림을 한 문장으로 요약해주시거나, 느낀 점을 말씀해주세요.” 라고 부탁해보자. 도를 아십니까로 착각하여 내치고 지나가지 않는 이상 $n$명의 사람들은 서로 다른 대답을 할 것이다. 예컨데 다음과 같은 후보군이 있을 수 있다.

  • 강아지와 고양이 사진입니다.
  • 고양이가 강아지한테 덤비고 있네요.
  • 너무 귀여운 사진이네요.

사람이 이미지와 텍스트를 인지하는 과정은 말하지 않더라도 자연스럽다. 이미지와 텍스트와의 관계성을 고려할 때 우리는 내재된 ‘계층적 관계’를 이해할 수 있다는 것이다. 위에서 예시로 든 첫번째 문장과 두번째 문장을 비교해보자. ‘강아지와 고양이 사진입니다.’라는 설명은 단순히 이미지에 속한 semantic한 정보만을 고려한다. 말 그대로 이미지에 ‘강아지’와 ‘고양이’라는 객체가 포함되어 있다는 정보만 줄 뿐 두 객체의 관계성에 대해서는 설명하지 않는다. 그럼에도 불구하고 ‘강아지와 고양이 사진입니다.’는 이미지를 잘 설명하는 텍스트에 해당되고, 우리가 설계하고자 하는 이미지/텍스트 간의 관계성 메트릭 공간에서는 서로 가까운 거리를 유지해야할 것이다.

‘고양이가 강아지한테 덤비고 있네요.’라는 문장은 단순히 객체만을 묘사하지 않고 두 객체 간의 관계에 대한 정의를 내리고 있다. 실제로 이미지만 보고서 고양이가 강아지한테 덤비고 있다는 사실 여부까지는 확인할 수 없지만, 적어도 ‘고양이가 강아지한테 덤비고 있네요.’라는 문장이 해당 이미지를 묘사할 수 있는 합리적인 결과물이라고 인지할 수 있다. 마찬가지로 우리가 설계하고자 하는 이미지/텍스트 간의 관계성 메트릭 공간에서는 서로 가까운 거리를 유지해야할 것이다. 위의 그림 상에서 초록색으로 표시된 부분이 곧 그 관계성을 표현하는 부분이라고 할 수 있다.

‘그래서 하고픈 말이 뭔데?’라고 물어볼 당신을 위해 마지막 문장을 예시로 들면서 언어의 계층적 구성에 대해 언급하고자 한다. ‘너무 귀여운 사진이네요’라는 표현 자체는 큰 문제가 없다. 그나마 문제시될 만한 점은 고양이랑 강아지를 그다지 귀여워하지 않는 사람도 있다는 것인데, 그런 사소한 취향 차이는 무시하고 고양이랑 강아지는 무조건 귀여운 존재라는 가정 하에 각 표현력이 가지는 정보를 계층적으로 구성하면 다음과 같다.

텍스트가 묘사하는 내용이 보다 이미지에 특화될수록(이미지에 잘 부합할수록), 그만큼 이미지에서 디테일하게 볼 semantic한 정보에 대한 공간력의 크기 또한 달라지게 되는 것이다. 이걸 단순히 유클리디안 공간에서 표현하게 되면 이미지를 묘사하는 모든 문장들과의 관계성이 cosine similarity(벡터의 각도)에 대해서만 정의되기 때문에 계층적으로 구성된 임베딩을 전혀 고려하지 않게 된다.

왜냐하면 기존 VLM이 baseline으로 가져가는 contrastive learning objective에는 거리 메트릭이 오직 embedding 유사성에만 의존하기 때문이다.


하이퍼볼릭 공간에 대한 짧은 Recap

사실 비유클리디안 모달리티를 표현하기 위한 하이퍼볼릭 geometry에 대한 연구는 이전에도 꾸준히 진행되었다. 계층적 임베딩을 학습하기 위해 정의한 푸앙카레 disk(혹은 확장한 ball)에 대해 정의한 paper(참고 링크)을 먼저 살펴볼 수 있다. 푸앙카레 곡면이 가지는 특징은 우리가 매핑하고자 하는 쌍곡면(하이퍼볼릭) 공간의 모든 점을 해당 곡면 상으로 projection이 가능하다는 점이다. 사영할 때의 관계성만 정의된다면(각각의 점을 Analytic한 위상 함수의 $X, Y$ 위상 각각의 집합이라고 보면 된다) 임베딩을 푸앙카레 곡면에서 이해할 수 있다.

쌍곡면 공간의 이점은 곧 비유클리디안 모달리티의 대표적 형태인 ‘그래프’의 왜곡과 관련된다(도움될만한 링크). 이에 대한 내용은 ‘Curvature Regularization to Prevent Distortion in Graph Embedding’에 잘 정리되어있는데, 간단하게 보자면 위의 그림에서 A와 같은 노드/엣지 관계를 가진 데이터를 고려해보자. 단순히 파란색으로 표현된 노드와 빨간색으로 표시된 노드에 대한 node classification 이외에도, 각 노드들의 연결성(어떤 노드와 엣지로 관련을 가지는지)에 따라 각각의 모달리티는 특정 표현자(embedding)를 가지면서 학습될 것이다. 기존 그래프 구조의 학습법의 경우 proximity preserving(인접한 노드일수록, 임베딩 유사성을 높게 가져간다)라는 목적 함수를 가지기 때문에 인접한 노드 간의 유사성 매핑과는 별개로 동떨어진 노드 간의 representation에 대해서는 아무런 고려를 하지 못한다(노드가 넘어갈수록 diffusion process와 같은 random walk를 생각하면 된다). 결론적으로 모든 노드들의 확률 그래프는 central limit theorem에 의해 가우시안 분포를 따르게 되어, 얼추 B1에서 보이는 것과 같이 둥그스럼한 형태의 임베딩 space를 구성하게 된다. 노드 간의 유사성을 고려한 mapping 방법 자체는 크게 잘못되지는 않았으나 기존에는 멀었던 노드들의 관계성이나 그래프 자체의 구조를 전혀 고려하지 못한다는 문제가 발생한다.

B1에서의 mapping법(Proximity Preserving을 목적으로 학습된 경우)와 B2에서의 mapping 법에 대해 distance를 기준으로 비교하면, Geodesic distanceShortest path distance는 두 경우 모두 유의미한 양의 상관관계를 가지지만(그림 C), Euclidean distance에서는(그림 D) 경향성이 무너지는 것을 확인할 수 있다. 하지만 Oracle Embedding으로 가정한 매핑 방법이 완벽하게 존재할 수는 없고, 임베딩 공간을 objective function으로 수렴시키고자 하는 딥러닝 메소드에서는 이런 학습법을 찾을 수 없는 것이 당연하다. 바로 이러한 학습법의 제약을 위상에 대한 제약으로 바꾸어 학습하고자 하는 것이 하이퍼볼릭 임베딩 리만 학습법이다.


Riemannian manifolds(리만 다양체)

부드러운 다양체는 일종의 부드러운 천을 생각하면 생각하기 편하다. 부드러운 천이 평평한 바닥에 놓여있다면 이는 곧 유클리디안 space에서의 리만 다양체가 될 것이고, 그렇지 않다면 일반화된 space 상에서의 다양체가 된다. 다양체라고 하니까 기분이 좀 이상하네 걍 manifold로 쓰는게 나을듯.

암튼 Smooth surface에 대한 Manifold를 생각해보면 결국 2차원의 sheet가 이리저리 얽혀있다고 보면 되고, 우리가 특정 함수를 해석학적으로 읽을 때의 느낌과 비슷하게 smooth surface 또한 Locally Euclidean(아주 작은 양수 $\epsilon$에 대해서 manifold를 확장시키면 해당 공간은 로컬 좌표계에서 유클리디안 모달리티를 가질 수 밖에 없다. $d\vec{x}*d\vec{y}$ 느낌으로다가)

그렇다면 Riemannian manifold를 정의하기 위해서는 딱 두 가지만 있으면 되는데 그게 바로 위에서 언급한 smooth manifold $\mathcal{M}$ 그리고 manifold 상에서 거리를 잴 수 있는 metric $g$이다. 고로 이 메트릭을 Euclidean inner product로 정의해버리면 그 Riemannian manifold는 곧 유클리디안 space로 수렴하는 것. 바로 기존 방식인 CLIP 학습법manifold는 implicit하게 가져가면서 metric $g$(이미지 임베딩과 텍스트 임베딩 간의 거리)를 Euclidean inner product(코사인 유사도)로 정의해버린 것과 같다.

하지만 제목에서부터 알 수 있듯이 이 논문의 목적은 하이퍼볼릭 space이고 하이퍼볼릭 space의 특징은 manifold가 ‘constant negative curvature’를 가진다는 점이다. 앞서 이런저런 소개를 통해 여러 모델링을 언급했지만 MERU 페이퍼에서는 차원을 하나 확장시켜서 해당 위상의 부분 위상으로서 정의되는 로렌츠 모델(Lorentz model)을 기반으로 한다.


로렌츠 모델에 대한 하이퍼볼릭 공간적 정의

MERU는 로렌츠 모델을 기반으로 한다. 로렌츠 모델을 머리 속에 그릴 때는 고등학교 때 배웠던(요즘도 배우나..?) 이차 곡선 중 쌍곡선에 대한 그래프를 $x$축을 기준으로 회전시켰다고 보면 된다. 이때의 $x$축이 additional axis을 의미하게 되며, 해당 공간 상의 텐서를 permute 시키게 되면 위에서 보는 것과 같이 $\mathbb{R}^{3}$ 공간에서의 두 smooth manifold 중 upper half를 볼 수 있게 된다($z < 0$인 부분은 무시). 이때 hyperboloid의 중심이 되는 축(대칭축이라고도 부른다)인 $z$를 기존 수학 및 물리학에서 정의하는 것과 같이 시간에 대한 차원(time dimension)으로 정의할 수 있고, 이를 제외한 나머지 $n$개의 차원은 공간에 대한 차원(space dimension)으로 정의할 수 있다. 고로 위상의 모든 벡터는 $\rm{x}_\text{space} \in \mathbb{R}^n$이고 $x_\text{time} \in \mathbb{R}$인 좌표 $[\rm{x}_\text{space}, \it{x}_\text{time}]$로 벡터를 표현할 수 있다. 모든 수식에 서 로마 문자($\rm{x}, \rm{y}$)로 표현된 친구들은 2차원 이상의 좌표계를 가지는 벡터를 의미하고 이텔릭($x, y$)로 표현된 친구들은 1차원의 스칼라 값을 의미한다. Riemannian manifold를 구성하기 위해 필요한 smooth sheet는 마련되었고, 남은 건 거리 메트릭이다. 거리 메트릭은 Euclidean inner product인 $\left< \cdot, \cdot \right>$에 대해 다음과 같이 정의된다.

[ \left< \rm{x}, \rm{y} \right>_\mathcal{L} = \left< \rm{x}_\text{space},\rm{y}_\text{space} \right> - x_\text{time} y_\text{time} ]

마찬가지로 로렌츠 norm은 inner product에 대해 $\parallel \rm{x} \parallel_\mathcal{L} = \sqrt{\vert \left< x, x \right>_\mathcal{L} \vert}$ 로 유도된다. 고등학교 수학을 열심히 들었다면 쌍곡선의 특성에 대해서 잘 알고 있겠지만, 이차곡선의 방정식을 전미분하여 curvature를 구할 수 있고 해당 curvature에 해당되는 음의 scalar value $-c$에 대해 로렌츠 모델 상의 모든 벡터 조건(constraints)을 다음과 같이 줄 수 있다.

[ \begin{aligned} &\mathcal{L}^n { \rm{x} \in \mathbb{R}^{n+1}: \left< x, x \right>_\mathcal{L} = -1/c,c > 0 } \newline &x_\text{time} = \sqrt{1/c + \parallel \rm{x}_\text{space} \parallel^2} \end{aligned} ]

이제 로렌츠 모델링을 통한 리만 다양체를 구성하는 과정이 거의 마무리되었다.


로렌츠 모델링에서의 거리 메트릭

Geodesics.

Geodesic은 다양체 내부의 두 점에 대해 가장 짧은 path를 의미한다.

질량이 없는 빛이 중력 가속도의 영향을 받아 휜다는 상대성 이론의 설명에서 휘어진 시공간을 통해 빛이 진행하는 얘기를 들어본 적이 있을 것이다. 우주 공간을 하나의 리만 다양체로 생각하고 만약 이 다양체가 여러 천체의 상호작용에 의해 휘어진 천과 같이 구성되어 있다면 직진하는 성질을 가진 빛은 사실 직진하는 성질을 가지는 것이 아니라 목표 지점까지 최단 루트로 가는 것과 같다. 바로 이렇게 빛이 그리는 궤도를 Geodesics라고 이해해볼 수 있다. 로렌츠 모델에서의 Geodesics는 hyperboloid와 두 벡터 및 원점이 그리는 평면의 intersection curve에 해당된다.

이를 유도해서 풀면

[ d_\mathcal{L}(\rm{x}, \rm{y}) = \sqrt{1/c} \cdot \cosh^{-1}(-c \left< \rm{x}, \rm{y} \right>_\mathcal{L}) ]

Tangent space.

로렌츠 공간의 spacial vector $z$에 대해 tangent space는 해당 벡터와 Lorentzian inner product(앞에서 정의했던거)가 $0$이 되는 모든 모든 벡터가 모인 공간(span)이다. 해당 공간은 Euclidean space가 된다.

[ \mathcal{T}_{\rm{z}} = { \rm{v} \in \mathbb{R}^{n+1}: \left< z, v\right>_\mathcal{L} = 0 } ]

따라서 Ambient space(특정 차원의 공간을 포함하는 그 이상의 모든 공간을 의미한다)의 모든 벡터 $\rm{u}$는 orthogonal projection을 통해 저차원 공간인 Tangent space로 사영할 수 있다.

[ \rm{v} = \text{proj}_{\rm{z}}(\rm{u}) = \rm{u} + \it{c}\rm{z} \left<\rm{z},\rm{u} \right>_\mathcal{L} ]

Exponential and logarithm maps.

Exponential map은 tangent space의 벡터들을 manifold 상으로 올려주는 역할을 한다. 위에서 언급한 projection의 역과정은 아니고, ambient space가 아닌 공간에 대한 sub-space에서 공간 차원에 대한 벡터를 통해 함수 및 역함수를 구하는 과정이라고 생각해볼 수 있다.

[ \begin{aligned} &\text{expm}_{\rm{z}} : \mathcal{T}_{\rm{z}}\mathcal{L}^n \rightarrow \mathcal{L}^n \newline \rm{x} = \text{expm}_{\rm{z}}(\rm{v}) &= \cosh(\sqrt{c} \parallel v \parallel_\mathcal{L})\rm{z} + \frac{\sinh (\sqrt{c} \parallel v \parallel_\mathcal{L})}{\sqrt{c}\parallel v \parallel_\mathcal{L}}\rm{v} \end{aligned} ]

뒤에서 보면 알겠지만 실제 MERU에서는 space component만 써먹는 단순화 작업을 통해 하이퍼볼릭 코사인 텀 하나를 날려버린다. 하이퍼볼릭 함수는 모두 역함수가 있어서 반대로 manifold 상에서 tangent 공간으로 내리는 공식도 가능하다.

[ \begin{aligned} &\text{logm}_{\rm{z}} : \mathcal{L}^n \rightarrow \mathcal{T}_{\rm{z}}\mathcal{L}^n \newline \rm{v} = \text{logm}_{\rm{z}}(\rm{x}) &= \frac{\cosh^{-1}(-c\left<\rm{z},\rm{x} \right>_\mathcal{L})}{\sqrt{(c\left< \rm{z}, \rm{x} \right>_\mathcal{L})^2-1}} \text{proj}_{\rm{z}}(\rm{x}) \end{aligned} ]


방법론

모델링은 CLIP과 같이 이미지와 텍스트가 독립적인 인코더를 가지는 형태가 된다. 그런데 이제 여기서 그칠게 아니고 실질적으로 이 논문이 제시한 문제점을 해결하기 위해서는 다음과 같은 방법론을 적용해야한다.

  1. 임베딩을 Euclidean space가 아니라 Lorentz space로 바꿀 방법
  2. CLIP과 같이 이미지의 semantic 정보와 텍스트의 semantic 정보를 함께 학습할 방법

Lifting embeddings

임베딩을 올리는 방법은 다음과 같다. $n$차원으로 나온 이미지 및 텍스트 임베딩이 있다고 해보자. 기존 CLIP과 동일한 프레임워크라면 두 임베딩은 같은 형태의 텐서가 될 것이다. 로렌츠 모델은 설명했던 바와 같이 추가된 축(시간축)으로 확장시키는 작업이 필요하기 때문에, 우선은 임시로 원점에서의 tangent space(Euclidean)에 대한 벡터를 구한 뒤 이를 hyperboloid로 올리는 공식($\text{expm}$)을 적용하면 된다.

Expand dims

[ \rm{v} = (\rm{v}_\text{enc}, 0) \in \mathbb{R}^{n+1} ]

Onto Hyperboloid

여기는 잘보면 우리가 지금 올려놓은 tangent space가 $\rm{z} = 0$에 기반하므로 하이퍼볼릭 코사인이 없어져도 된다.

[ \rm{x}_\text{space} = \frac{\sinh (\sqrt{c} \parallel v \parallel_\mathcal{L})}{\sqrt{c}\parallel v \parallel_\mathcal{L}} \rm{v}_\text{space} ]

그리고 시간에 대한 스칼라쌍곡면의 곡면에 대한 constraints로 구할 수 있다.

[ \begin{aligned} &\mathcal{L}^n { \rm{x} \in \mathbb{R}^{n+1}: \left< x, x \right>_\mathcal{L} = -1/c,c > 0 } \newline &x_\text{time} = \sqrt{1/c + \parallel \rm{x}_\text{space} \parallel^2} \end{aligned} ]

즉 기존의 CLIP embedding을 하이퍼볼릭 embedding으로 바꾸는 작업 끝.

Numerical Issue

다만 문제가 되는 점은 기존 임베딩 벡터를 하이퍼볼릭으로 올리면서 exponential 계산이 추가되는데, CLIP 기반의 weight 초기화가 진행된 경우 유클리디안 공간 벡터의 norm은 대략 $\sqrt{n}$을 가지게 된다. 그 말인 즉슨 이걸 exponential하게 올리면 수치적으로 $e^{\sqrt{n}}$가 초기값이 되어 학습이 불안정해지기 때문에 이를 해결할 방법이 필요하다. 그래서 이걸 해결하기 위해 scaling 스칼라인 $\alpha$를 각각 이미지 및 텍스트 임베딩 output에 적용하여 이러한 문제를 해결한다. 알파는 학습 가능한 파라미터.

Entailment loss

Entailment loss는 CLIP에서 임베딩 관계성을 implicit하게 학습하기 위해 사용되는 contrastive loss에 추가적으로 하이퍼볼릭 공간의 위상 특성을 고려하여 이미지-텍스트 관계를 더해주는 역할이다.

그림을 보면 알겠지만 각도에 대한 내용이기 때문에 로렌츠 모델을 위에서 내려다본 구조를 생각하면 되고, 예를 들어 특정 텍스트가 존재할 때 해당 텍스트가 반영하는 모든 이미지 임베딩의 공간을 aperture로 가정하면(원뿔 형태), 만약 이미지가 이 내부에 들어와있다면 굳이 끌어들일 필요가 없지만(이는 아마도 각도가 too much align되면 embedding collapse가 발생하여 representation이 subfold된다고 생각한 것으로 예상) 외부에 있다면 각도를 줄여주는 loss를 통해 aperture 내부로 임베딩을 끌어들이는 것이다. 서로 다른 이미지/텍스트를 인코딩한 임베딩 간의 거리 조절은 contrastive learning에서 주로 담당하고 있고, entailment loss는 하이퍼볼릭의 curvature를 고려하여 계층적 구조를 탄탄히 하려는 목적인 듯하다. 모델링이 생각보다 너무 심플해서 놀랐던 부분.

[ \mathcal{L}_\text{entail}(\rm{x}, \rm{y}) = \max (0, ext(\rm{x},\rm{y})-\text{aper}(\rm{x})) ]


Experimental Results

Image/Text retrieval

전반적으로 retrieval 성능을 CLIP에 비해 끌어올린 것을 볼 수 있는데, 확실히 유클리디안에서 비유클리디안으로의 공간 확장이 가지는 장점이 가장 잘 드러날 수 있는 실험 결과가 아닐까 생각된다.

Zero-shot image classification

Representation 학습에는 어떤 도움이 되는지. Retrieval 결과가 본인들 모델링에 대한 근본적 main contribution을 보여주는 실험이었다면 이건 비교적 sub contribution을 보여주는 결과라고 본다. 그래서 그런지 SOTA를 찍을 필요는 없고 성능 향상의 가능성만 간단하게 보여주고 넘어가는 듯.

Ablations

이런저런 ablation도 많이 진행했다. Qualitative results도 많다.

좌측은 임베딩 길이에 따라 성능 본 것. 길이랑 무관하게 모두 성능이 좋게 나왔다. 우측은 논문에서 제시한 방법론들을 하나씩 빼고 한 것. Curvature를 고정하는 건 원래 푸앙카레 기법에서 사용한 것인데 그렇게 하면 놀랍게도 Large model에서 성능이 개판이 되는 걸 볼 수 있다. Contrastive learning 시에 Large model에서 로렌츠 norm을 사용하지 않으면 심지어 수렴이 되지 않고 발산을 하는데, 이는 아마도 트랜스포머 백본과의 수렴 속도 차이 때문의 문제로 생각된다.


Discussion and conclusion

CLIP의 retrieval 및 linear probing/fine tuning 등 representation 자체를 모달리티 robust하게 만들고자 여러 연구가 나오고 있는 중인 것 같다. 그와 동시에 이미지와 텍스트 간의 semantic한 정보들을 보다 풍부하게 제공할 수 있는 학습 objective나 constraints를 제시하는 것이 앞으로의 multimodal task에서 가장 challenging한 부분이 되지 않을까 싶다.

MERU에서 제시한 로렌츠 모델링에 contribution이 있는 것은 아니고 기존 CLIP representation을 확장시킬 수 있는 방향을 제시한 것이 contribution로 보인다. Hyperbolic Riemannian manifold를 위한 모듈을 기존 framework 끝부분에 사용하고, 새로운 manifold에서 제시할 수 있는 추가적인 objective를 제시한 방향도 paper contribution에 적합하다고 생각했다. 기존 인코딩 방식을 바꾸지 않으면서 projection하는 방법만 제시했기 때문에 비슷한 형태의 embedding을 추출하는 인코더 기반 네트워크들에 대해 hierarchy embedding에 대한 추가 실험 및 연구가 진행되면 해당 방법론에 대한 정당성이 조금씩 확립될 것으로 보인다.

A n o t h e r p o s t i n c a t e g o r y