오늘은 SlotMIM에 대해서 공부해보았다. 철학도 너무 좋고, 진짜 잘 만든 모델이라고 생각한다. 저자들에게 큰 respect을 표한다.
Preliminary
https://seokmin-hardstudy.tistory.com/83
Research Paper Review : Object-Centric Learning with Slot Attention
오늘은 Object-Centric Learning with Slot Attention에서 제안한 방법을 공부해보려고 한다.https://arxiv.org/abs/2006.15055 Object-Centric Learning with Slot AttentionLearning object-centric representations of complex scenes is a promising s
seokmin-hardstudy.tistory.com
Motivation
우리는 Robot Learning을 위한 image encoder가 두 가지 핵심적인 성질을 지녀야 한다고 본다. 첫째는 현재 frame t 에 담긴 정보를 정확하게 인코딩하는 능력이고, 둘째는 서로 다른 time step의 frame들, 예를 들어 와 에서 얻은 임베딩들이 서로 쉽게 비교 가능한 표현 공간에 놓이도록 만드는 것이다.
이 두 번째 성질이 중요한 이유는, 로봇이 시간에 따라 변화하는 환경을 이해하고 과거·현재·미래의 상태를 연결해 판단해야 하기 때문이다. 즉, 단일 frame의 표현이 잘 만들어지는 것뿐 아니라, 시간이 달라도 의미적으로 일관된 representation을 형성하는 것이 필수적이다.
이러한 이유로, 기존 연구들에서는 아래 블로그에 자세히 설명된 것처럼 비디오 데이터를 활용해 image encoder를 학습시키는 접근을 주로 사용해왔다.
https://seokmin-hardstudy.tistory.com/75
A Survey on Image Encoders Trained with Video for Robotics
오늘은 나만의 survey 글을 작성하고자 한다. 본 글에서는 robotics downstream task를 위한 image encoder의 self-supervised learning에 대해 다룬다. Network Architecture for Robotic tasks일반적으로 manipulation과 같은 roboti
seokmin-hardstudy.tistory.com
저자는 여기서 하나의 중요한 질문을 던진다. “frame 의 임베딩과 frame 의 임베딩이 서로 비교하기 쉽다”는 것은 과연 무엇을 의미하는가? 이에 대해 저자는, 그것이 곧 서로 다른 두 view에서 동일한 patch들을 안정적으로 매칭할 수 있는 능력이라고 해석한다. 즉, 시간이나 view가 달라지더라도, 같은 위치에 있거나 같은 의미를 지닌 시각적 요소들이 표현 공간에서 자연스럽게 대응될 수 있어야 한다는 것이다. 더 나아가, 단순히 patch 단위의 매칭에 그치지 않고, 이 patch들이 semantic object 단위로 묶일 수 있는 표현을 학습하는 것 또한 중요하다고 본다. 이는 곧, 이미지 내부에서 객체 단위의 구조를 암묵적으로 분해하고 이해할 수 있는 능력으로 이어진다. 결국 저자의 핵심 주장은 다음과 같다.
이미지 안에서 객체를 구분할 수 있고, 서로 다른 두 view의 이미지에서 동일한 객체를 정확히 매칭할 수 있도록 image encoder를 학습시켜야 한다는 것이다.
Method

1. View 생성 및 인코딩
입력 이미지 x에 서로 다른 augmentation을 적용해 두 개의 view v1, v2를 생성한다.
이후 masking을 적용하여 v1′, v2′를 만든다.
Student image encoder에는 masked view인 v1′, v2′를 입력으로 사용하고,
Teacher image encoder에는 원본 view인 v1, v2를 입력으로 사용한다.
각 encoder를 통과한 결과로, view마다 patch-level representation을 얻는다.
2. Slot Attention
각 view에서 얻은 patch representation에 대해 Slot Attention을 수행한다.
Slot Attention 이후의 C개의 slot은, patch representation을 클러스터링했을 때의 cluster center에 해당하는 역할을 하게 된다.
3. 학습 목표 (Loss 설계)
3-1. Patch-level 의미 학습 (Intra-view reconstruction)
Patch representation이 의미 있는 정보를 학습하도록, v1′에서 masked된 patch를 v1의 patch를 target으로 복원하는 loss를 적용한다.
3-2. Cross-view patch alignment 학습
서로 다른 view 간의 정합성을 학습하기 위해,
원본 이미지 좌표계를 기준으로 v1과 v2에서 대응되는 patch 위치를 미리 매핑해 둔다.
이후 v2′를 입력으로 사용하여, v1에서 매핑된 위치의 patch representation을 예측하도록 loss를 부여한다.
3-3. Object-level consistency를 위한 slot similarity loss
각 slot이 특정 객체를 안정적으로 나타내도록 하기 위해, slot의 초기값을 learnable query로 설정한다.
또한 cross-view에서 동일한 위치에 대응되는 slot pair들에 대해 similarity loss를 적용하여,
서로 다른 view에서도 같은 slot이 같은 객체를 표현하도록 유도한다.
단, slot pair 중 하나라도 비어 있는 경우에는 해당 pair에 대해서는 loss를 적용하지 않는다.
학습 과정에 대한 직관적 해석
이 과정을 직관적으로 해석해보면, 3-1과 3-2는 patch 단위에서 의미 있는 정보를 학습하면서,
동시에 cross-view 간에 일관된 embedding을 형성하도록 돕는 역할을 한다.
사실 3-3이 없어도, 이 상태에서 patch representation을 클러스터링해보면 객체를 어느 정도는 구분할 수 있는 표현이 학습된다.
하지만 마지막으로 3-3의 slot-level consistency loss를 추가함으로써, embedding이 객체라는 개념을 보다 명확하고 안정적으로 학습하도록 강화한 것이다.
이는 마치, 서로 다른 두 view를 보고 patch들을 클러스터링한 뒤, 그 클러스터들이 서로 대응되도록 학습하라고 하면,
사람 역시 patch 자체가 아니라 객체 단위로 기억하고 객체를 기준으로 매칭하려 할 것이라는 직관과 같다.
Comment
이 접근은 거의 완벽에 가깝다고 느껴진다.
이미지 내부에서 객체를 효과적으로 구분할 수 있을 뿐만 아니라, 서로 다른 view나 서로 다른 time step의 이미지 사이에서도
동일한 객체를 안정적으로 매핑할 수 있는 능력을 image encoder에 부여한다.
이 정도의 성질을 갖춘 self-supervised learning 기반 image encoder가 과연 또 있을까 하는 생각이 들 정도다.
그럼에도 불구하고, 이 방법을 더 발전시킬 여지는 분명히 존재한다고 본다.
SlotMIM은 기본적으로 static image에서 crop을 적용해 두 개의 view를 생성하는 방식에 의존한다.
하지만 나는 video라는 augmentation, 즉 time step t와 t+k 사이의 변화에서만 학습할 수 있는, 더 어렵고 더 풍부한 정보가 존재한다고 믿는다.
예를 들어, static image에서 만들어진 두 view 속의 사람은 대체로 동일한 외형과 동일한 자세를 유지한다.
반면 video에서는, 한 frame에서는 사람이 앞을 보고 있고 다른 frame에서는 등을 돌리고 있을 수도 있다.
그럼에도 불구하고, model은 이 두 상태가 동일한 사람이라는 semantic identity를 공유한다는 사실을 이해해야 한다.
문제는, self-supervised setting에서는 “앞을 보고 있는 사람과 뒤를 보고 있는 사람이 동일한 객체다”라는 정보를 명시적으로 제공할 수 없다는 점이다.
결국 핵심은, 이러한 관계를 직접적인 supervision 없이도 간접적으로 학습하게 만드는 메커니즘을 어떻게 설계하느냐에 있다고 생각한다. 이 지점이야말로, static image 기반 방법을 넘어 video 기반 object-centric representation 학습으로 나아가기 위한 가장 중요한 열쇠가 되지 않을까 생각한다.