논문 소개는 논문 리뷰와는 달리 논문을 다 읽지 않고 짧게 정리를 하는 것으로 하겠다.
솔직히 나도 시간이 부족해서 100% 못읽었다. 틀린 부분이 있을 수 있다.
논문의 이름은 Continuous Thought Machines로 사카나에서 나왔다.
개인적으로 Sakana AI가 재밌는 연구를 많이 하는 것 같다. text to lora나 adaptive model? Continuous thought machines 등 뭔가 기존에서 결이 다른 참신한 연구를 하는데 좋은 것 같다.

이미지 출처
짧게 소개를 하자면
기존의 딥러닝 아키텍쳐는 위 그림과 같이 forward를 진행하면 각 뉴런(동그라미)이 발화하면서 진행이 되는데
중요한건 이 과정에서 뉴런이 이전에는 어떻게 작동을 했는지 등 history 즉, 시간적인(temporal)한 구조가 고려가 되지 않았다.
그렇기에 그냥 단편적으로 forward를 진행하고 output을 만들고 끝인데
이 논문은 Continuous thought machines를 제시함으로써 neuron 들의 시간적인 history를 고려한 아키텍쳐를 소개한다.
이게 핵심인 것 같다.

위 구조가 Continous thought machines의 매인 figure인데 솔직히 보기 힘들다...
논문 리뷰가 아니라 소개니까 위 그림 위주로만 설명을 진행하겠다. 우선 8번부터 시작을 하자면
우선 임의의 latent가 일단은 있다고 하자. 거기에서 오른쪽을 보면 우리는 현재 주어진 data의 representation에 대해서 cross-attention으로 정보를 가져올 수 있을 것이다.
그렇게 가져온 정보를 10번의 라고 하자. 그러면 다시 임의의 가 우선 있다고 하고 이를 concat해서 neural net을 통과해서 나온 결과를 라고 하자 여기에서 이제 temporal한 구조가 들어가는데
여기에서 우리가 이전에 로 이렇게 크기 인 전체 history가 있다고 하면 그 크기는 일 것이다.
그러면 여기에서 우리는 size 에 대해서 각 neuron마다 network가 있어서 이를 1개로 압축을 진행한다. 이것이 3번의 그림이다.
이 과정에서 temporal한 내용이 전부 압축이 되고 가 나오게 된다. 여기에서 나온 이 다음 시간의 에 사용이 된다.
여기에서 이제 에 대한 전체 history가 있을건데 이를 로 본다. 이때 는 윈도우 크기가 있었지만 는 제한이 없다.
는 추후 사용될 연산이 linear 연산이라서 작성은 로 작성하지만 1개의 Matrix로 압축이 되기 때문.
그렇게 나온 에서 각 2개의 latent를 서로 간의 유사도를 구하는데 이는 Attention과 동일하다.
이 내용은 대강 봐서 건너뛰겠다...
그렇게 를 이용해서 만든 representation이 처음에 봤던 8번의 Representation이고 이를 이용해 output을 예측하거나 다시 data에서 정보를 가져와서 cycle을 더 진행하거나 할 수 있다.
이게 전체 구조이다.
짧게 Continous Thought Machine은 Temporal하게 neuron을 여러번 돌려서 답을 개선하는 구조이다.
작동하는 과정을 보면 자기가 부족한 부분을 찾아서 Attention을 집중하는 매우 흥미로운 결과가 나오는데 이는 Temporal하기 때문으로 생각된다.
이러한 Cotinuoust thought machine의 구조는 최근에 유명한 TRM (Tiny Recursive Model)과 매우 비슷한 것 같다. 여러번 cycle을 돌려서 Output을 개선한다는 부분에서.