AI가 추론을 할 수 있을까?
딥러닝 분야 대가 중 한명인 Yoshua Bengio는 요즘 어떠한 연구를 주로 하고 있을까요? 최근에는 Causal Learning 에 관심이 많은 것 같습니다. 작년에 진행한 talk 과 논문을 바탕으로 한번 살펴봅시다.
Introduction to Causal Inference 라는 작년에 공개된 강의가 있는데, 여기서 talk 을 하기도 했고, 그리고 최근에 Bengio Lab에서 공개한 논문도 있어서 해당 내용들을 참고하였습니다. (해당 내용들은 모두 아래의 참고자료에 링크를 달아 놓았습니다.) 제가 잘 아는 분야가 아니기 때문에 이해하지 못한 내용들도 많아서 간단하게만 정리해 보았습니다. 정확한 내용은 해당 강의나 논문을 직접 보시는 것을 추천드립니다.
Causal Learning은 data generation process에 관한 구조적인 지식을 나타내어, 기존 지식을 활용하여 다른 데 쓸 수록 있도록 하는 것입니다. 이렇게 표현하면 정말 무슨말인지 하나도 모르겠네요;;
좀 쉽게 표현해 보겠습니다. 일반적인 머신러닝 알고리즘들은 데이터 분포가 비슷한 것에 대해서만 좋은 성능을 냅니다. 실제 세상은 데이터 분포가 언제든 바뀌거나 outlier 로 생각되는 값들이 들어올 수 있으므로, generalization 성능이 좋아야 합니다. 이를 위해서 다양한 연구가 진행되고는 있지만, 아직까지는 초보적인 수준입니다.
현재의 머신러닝 기반 AI는 사람이나 동물의 지능과는 많은 차이가 있습니다. Human-level AI 가 되려면 진정한 "이해" 가 필요합니다. 이는 인과관계를 추론하거나, 추상적 행동을 이해하거나, 동작을 이해하고, 추론/계획을 하는 것들이 과정이 필요한 것인데 아직까지는 불가능하죠. 지금의 ML기술로는 단지 엔지니어링 적인 관점에서 세상을 이해하게 되고, 그럼으로 인해 out-of-distribution 에 대한 generalization 성능이 많이 떨어지게 됩니다. 이를 해결하기 위해 다양한 방법들이 연구되고 있는데, Causal Learning 또한 그 중에 한가지 방법입니다. 이런 것들이 머신러닝 분야에서 주목을 받게 된 건 어찌보면 당연한 현상입니다.
현재의 Learning theory 들은 대부분 동일한 분포에서의 generalization 에 대해서만 다루고 있습니다. 그로 인해 변경된 분포에서는 성능이 좋지 않습니다. 이를 해결하기 위해서는 distribution이 어떻게 변경되었는지, 기존의 knowledge를 어떻게 재사용할 지를 알아야 할 것입니다.
Systematic generalization 도 한가지 방법, 원래 언어학쪽에서 연구하던 개념이라고 합니다. 별도의 개념들이 합쳐져서 새로 만들어지는 것입니다. 예를 들어, SF소설을 쓰는 것은 기존의 소설개념과 SF개념들이 합쳐지는 것이고, 처음 보는 도시를 운전하는 경우 운전하던 개념들이 합쳐져서 가능해지는 것입니다.
사람의 경우 OOD (out-of-distribution) 비교적 잘 대처할 수 있습니다. 근데 사람의 경우에 OOD를 대처하는 것은 습관적인 반응이 아니라 문제를 해결하기 위해서 깊이 생각하게 됩니다. 즉, 기존의 루틴과는 다른 걸 하는 것입니다. 따라서, Agent 또한 OOD generalization이 필요하게 됩니다. 이를 위해서 Agent 는 다양한 distribution change (다른 Agent 의 action, 상황이나 시간의 변경, Goal 이나 Policy의 변경 등) 를 경험하도록 할 필요가 있습니다.
여기서는 사람의 심리학적 관점 인식 체계 예로 들어서 딥러닝 2.0 이라는 개념을 설명합니다.
시스템1 : 빠름, 무의식적인 반응, 습관적, 병렬적으로 가능, Implicit knowledge, 현재의 딥러닝 구조와 유사
시스템2 : 느림, Sequential 하게 처리, 의식적, 계획/추론, Explicit knowledge, 딥러닝 2.0
심리학이나 인지과학에 관심이 많으시다면 시스템1, 시스템2 에 대해서 잘 아실 텐데요, 이걸 빗대어서 딥러닝 2.0를 설명한 부분이 재미있네요. 현재의 딥러닝 기술들은 대부분 input 에 대한 조건반사적 output 만을 출력하는데, 앞으로는 추론의 과정이 어떻게 구현이 될 것인가 궁금하기도 하고 흥미롭습니다.
위에서 설명된 시스템2 방식을 구현하기 위해서 다양한 방법이 연구되고 있습니다.
factor graph로 여러 개념들이 연결이 되어 있고, 사람의 경우 attention과 memory retrieval을 이용하여 이를 찾게 됩니다. 기존의 딥러닝 모델들에서도 많이 차용한 개념이죠.
Knowledge 는 독립적인 조각들로 나누어질 수 있고, causal intervention은 특정한 한가지 메카니즘에만 영향을 미치게 됩니다. 그래서 몇몇 메카니즘은 다양한 인스턴스들에 사용될 수 있다고 합니다. (예를 들어, 중력 모델이 다양하게 많이 사용되는 것 처럼)
예를 들어 내가 선글라스를 쓴다면 모두 검게 보일 것입니다. 이것은 단지 하나의 작은 change인데 distribution이 바뀌게 된 것이죠. 실제 세상에서는 intervention이 매우 많기 때문에 이것을 infer하기가 쉽지 않습니다. Knowledge factorization을 잘 할 수 있다면, transfer learning도 잘 할수 있다고 합니다. 이런 것들을 위해서 causal graph를 여러개의 Neural Network 을 사용하여 모델링하는 경우도 있다고 합니다.
Thoughs, word, setence 등은 모두 semantic variable 이고, 사람의 경우 이를 잘 활용합니다. 이와 관련하여 Recurrent Independent Mechanism 이라는 연구도 있다고 합니다.
참고자료에 넣은 논문에서도 다양한 future research를 제안하고 있습니다. 대규모의 non-linear causal relation 분석이나, causal variable 학습, 현존하는 딥러닝 방식의 bias 에 대한 이해, causal correlation model 학습 등을 제안하고 있습니다.
이 외에도 다양한 내용들이 소개되었는데 빠르게 넘어가거나 스킵한 것도 있고 모르는 내용들이 많아서 다 이해하지는 못하거나 제대로 정리를 못한 내용들이 많아서 관심 있으시다면 직접 보는 것을 추천 드립니다.
다양한 연구를 광범위하게 수행하는 것을 보며 대단하다는 생각이 들었고, 추가로 이정도 레벨의 교수면 시간당 컨설팅 비용만 최소 몇백만원일 텐데, 이런 수준높은 좋은 내용들을 인터넷으로 쉽게 볼 수 있다는 것 에서 다시한번 좋은 세상에 살고 있구나 하는 것을 느꼈습니다. 수정이나 추가가 필요한 내용이 있으면 댓글이나 메일로 알려주세요, 감사합니다.
리뷰 글 : https://bdtechtalks.com/2021/03/15/machine-learning-causality/
Youtube 영상 : https://youtu.be/rKZJ0TJWvTk
Causal Inference 강의 : https://www.bradyneal.com/causal-inference-course
논문 (Towards Causal Representation Learning) : https://arxiv.org/pdf/2102.11107.pdf