Introduction
Causal inference는 결과 변수에 대한 원인을 찾고 해당 원인이 변경되었을 때 그 효과를 추론하는 방법입니다. 모델의 입력 변화에 따른 출력 변화에 대해 추론함으로써 복잡한 학습 모델의 특성에 대해 이해할 수 있기 때문에 최근 딥러닝 분야에서 관심이 높아지고 있습니다. 이번 블로그에서는 2021년 Proceedings of the IEEE에 소개된 Towards Causal Representation Learning[1]에 대해 소개합니다.
빅데이터의 폭발적인 증가와 더불어 하드웨어 기술의 발전으로 인해 머신 러닝 분야의 딥러닝 알고리즘은 자연어, 이미지 등 여러 분야에 응용되고 있습니다. 현재 머신 러닝 알고리즘은 independent and identically distributed(i.i.d) 가정하에 같은 데이터 분포에서 얻어진 대량의 데이터를 학습 데이터와 테스트 데이터로 나누어 학습과 평가를 합니다. 여기서 중요한 이슈 중 하나는 머신 러닝 알고리즘이 새로운 데이터 및 문제에 대해서도 학습 시와 비슷한 성능을 도출할 수 있도록 일반화가 잘 이루어져야 한다는 점입니다. 대부분의 머신 러닝 알고리즘은 데이터에서 중요한 정보인 domain shift, temporal structure 등을 무시하거나 필요 없는 것으로 여기고, i.i.d 가정의 대량의 데이터를 활용하여 학습하는 형태로 일반화 문제를 해결하고자 했습니다. 이러한 이유로 머신 러닝 분야에서 해결해야 할 이슈들이 몇 가지 존재하는데 다음과 같이 세 가지로 분류할 수 있습니다.
Robustness
위에 언급한 바와 같이 현재 대부분의 머신 러닝 알고리즘은 데이터의 분포를 i.i.d로 간주하여 학습과 테스트 데이터의 분포가 비슷하다고 가정합니다. 그러나 현실에서는 학습 데이터 분포와 테스트 데이터 분포가 달라질 수 있습니다. 예를 들면 computer vision 알고리즘에서 camera blur, noise, compression quality 등의 이유로 데이터의 분포가 변할 수 있습니다. 기존 머신 러닝 알고리즘은 이처럼 단순한 intervention에 의해서도 성능이 저하될 수 있습니다. 이를 해결하기 위해, 머신 러닝 분야에서는 data augmentation, pre-training, self-supervision 등 다양한 방법이 제안되고 있습니다.
Learning Reusable Mechanisms
아이들은 물체의 일관된 운동을 관찰함으로써 현실 세계의 물리 법칙을 이해합니다. 또한 아이들은 기존에 습득한 지식을 활용함으로써 새로운 지식을 빠르게 학습하기도 합니다. 이와 같이 머신 러닝 모델도 새로운 task에 기존의 학습된 정보를 활용함으로써 모델의 일반화 성능을 효율적으로 향상시킬 수 있습니다. 이를 위해 현실 세계를 modular representation으로 표현하고 각각의 module은 physical causal mechanism을 나타낸다고 가정해 보겠습니다. 이러한 경우, 각각의 module은 실제 physical mechanism을 표현했기 때문에 다양한 환경에서도 비슷하게 동작할 것이며, 재학습 없이 여러 task에 재활용할 수 있습니다. 또한 새로운 task에 대해 학습하는 경우에도 몇 개의 module만 학습하거나 추가함으로써 빠르게 학습할 수 있습니다.
A Causality Perspective
기존 머신 러닝 알고리즘은 correlation 기반으로 동작하기 때문에 데이터 사이의 상관관계(Association) 만을 파악할 수 있으며, 인과관계(Causality)는 추론할 수 없는 한계가 있었습니다. 반면에 causality를 활용한다면 관찰된 상황과 다른 환경에서도 robust한 예측을 할 수 있으며, 데이터 사이의 인과관계도 파악할 수 있기 때문에 causality 관점이 반드시 필요합니다.
본 블로그에서는 causality를 통해 위의 머신 러닝의 세 가지 한계점을 어떻게 극복할 수 있는지 다음과 같은 순서로 알아보고자 합니다.
Levels of Causal Modeling
자연 현상을 모델링할 수 있는 가장 좋은 방법은 다음과 같은 differential equation으로 모델링을 하는 방법입니다.
Differential equation을 활용하면 시간에 따른 physical mechanism을 모델링할 수 있습니다. 이러한 모델링을 통해 우리는 1) physical system의 state가 앞으로 어떻게 변화할지 예측할 수 있으며, 2) intervention 효과에 대해 추론할 수 있고, 3) 변수 사이의 통계적 의존성에 대해 파악할 수 있습니다. 또한, 4) physical insight를 제공하며, 5) 관련된 인과관계도 파악할 수 있습니다.
한편, 통계적 모델은 실제 시스템의 표면적인 부분만 모델링할 수 있으며, 실험 조건이 변화하지 않는다는 가정 하에 특정 변수가 어떻게 예측에 도움이 되는지 알 수 있습니다. 그러나 dynamic process를 표현할 수도 없고, intervention 효과도 예측할 수 없습니다.
Causal model은 통계적 모델과 differential equation 모델의 사이에 있습니다. causal model은 differential equation 모델과 같이 intervention 효과를 예측하고 추론할 수 있는 도구입니다. Causal model이 이러한 효과를 정확하게 예측하고 추론하기 위해서는 data-driven 방식의 causal discovery와 causal learning 방법이 필요합니다.
아래 표는 Judea Pearl이 제시한 인과 관계 추론의 3단계(Ladder of Causation)를 나타냅니다[2].

Associational Causality(Predicting in the i.i.d setting)
통계적 모델의 목표는 input X와 target Y이 주어졌을 때, 분포 를 예측하는 것입니다. 예를 들면, '환자의 혈압 등 측정치가 주어졌을 때 heart failure가 발생할 확률은 어떻게 될까?'와 같은 문제입니다. 이러한 문제는 분포로부터 충분히 많은 i.i.d 데이터를 관찰하면 해결할 수 있습니다. 그러나 통계적 모델은 동일한 실험 환경하에서만 정확한 결과를 산출할 수 있으며, intervention이 발생하면 데이터 분포의 변화 때문에 부정확한 예측을 할 가능성이 있습니다.
Interventional Causality(Predicting under distribution shifts)
실제 환경에서는 intervention에 의해 분포 변화가 발생할 수 있는데, 이러한 경우 P(X,Y)가 변하게 되어 통계적 모델의 성능은 보장되지 않습니다. 반면 causal learning에서는 이러한 intervention에 대한 모델링이 가능하며, causal model을 활용하여 intervention의 효과에 대해 학습하면 이러한 분포 변화에도 강인한 예측 모델을 학습할 수 있습니다. Interventional causality에서는 '환자가 규칙적으로 운동을 한다면 heart failure의 확률은 어떻게 변화할까?'와 같은 문제를 다룹니다.
Counterfactual Causality(Answering Counterfactual Questions)
Counterfactual problem은 다음 세 가지 문제를 포함하고 있습니다.
Counterfactual problem은 intervention에 비해 더 어려운 task이지만 AI 알고리즘에 꼭 필요한 요소입니다. Counterfactual causality에서는 '환자가 1년 더 일찍 운동을 시작했다면, heart failure가 발생했을까?' 와 같은 문제를 다루고 있습니다.
Causal Models and Inference
이번 section에서는 통계적 모델과 causal modeling의 차이에 대해 더 자세히 알아보고, causal inference에 필요한 여러 수학적 모델과 intervention, 분포 변화 등 여러 개념에 대해 알아보겠습니다.
The Reichenbach Principle: From Statistics to Causality
Reichenbach는 causality와 statistical dependence은 다음과 같이 연결된다고 제안했습니다.
| Common Cause Principle: if two observables X and Y are statistically dependent, then there exists a variable Z that causally influences both and explains all the dependence in the sense of making them independent when conditioned on Z. |

그림 1. (a) X→Y의 인과관계 그래프, (b) X←Y의 인과관계 그래프, (c) X←Z→Y의 인과관계 그래프
Common cause principle을 예를 들어 설명해 보겠습니다. 를 황새의 개체 수, 를 출생률로 정의하겠습니다. 만약 황새의 개체 수가 출생률을 야기한다면 그림 1(a)와 같이 , 만약 출생률이 황새의 개체 수를 야기한다면 그림 1(b)와 같이 가 됩니다. Common cause principle에 의하면, 만약 두 변수 에 영향을 미치는 다른 변수 Z(예: 경제 발전)가 존재한다면 그림 1(c)와 같이 인과 관계를 갖게 됩니다. 한편, 그림 1의 인과관계 그래프와 달리 와 에 대한 observational 분포는 세 가지 경우 모두 같습니다. 따라서 observational data 만으로 위 3가지 case를 구별할 수 없습니다. 하지만 causal model은 변수 사이의 인과 관계의 모델링도 가능하기 때문에 추가적인 정보를 줄 수 있는 장점이 있습니다.
Structural Causal Models(SCMs)
Causal graphical models, SCM 등 인과 관계를 파악할 수 있는 모델에 대해 설명하고, causal inference에서 중요한 개념인 intervention, confounder 등에 대해서 설명하겠습니다.
먼저 SCM은 observables 와 directed acyclic graph의 vertex로 표현됩니다. 는 다음과 같이 변수들 간의 인과 관계를 나타내는 structural equation 형태를 갖는다고 가정하겠습니다.
여기서 는 그래프상에서 의 부모 노드()를 입력으로 하는 deterministic function이고, 는 설명되지 않은 random variable이며 jointly independent로 가정합니다. 만약 가 jointly independent 하지 않다면, Common cause principle에 의해 는 또 다른 원인 변수가 되어야 합니다.
Causal Graphical Model
Causal Graphical Model은 그림 2와 같이 Graph 구조와 함께 noise 의 jointly independence 특성을 활용하여 식 (2)를 식 (3)와 같이 causal (or disentangled) factorization으로 정의됩니다.

그림 2. Causal graphical model의 그래프 예제
식 (3)에서 를 causal mechanism으로 간주할 수 있으며, 식 (3)은 joint distribution을 causal mechanism의 product로 표현하는 것을 의미하고 있습니다.
Latent variables and Confounders
Causal graph에서 특정 변수는 관찰이 되지 않을 수도 있는데, 관찰되지 않으면서 두 변수에 영향을 미치는 변수를 confounder라고 합니다. 그림 3에서 confounder는 C 로 표현되어 있습니다.

그림 3. Confounder
Unobserved confounder는 두 변수에 모두 영향을 미치기 때문에 두 변수가 실제로는 인과 관계가 아니지만 통계적으로 관련이 있다고 관찰됩니다. 이러한 특성 때문에 confounder는 causal inference에서 잘못된 인과관계를 야기할 수 있는 요인 중 하나입니다.
Intervention
Intervention은 또는 를 상수로 고정시키거나, 함수 형태를 변경시키는 등 식 (2)를 변형시키는 operation입니다. Intervention은 다음과 같이 4가지 종류로 분류할 수 있으며 그에 관련된 설명은 다음과 같습니다.

또한, SCM에서 Intervention은 부모 노드로부터의 영향을 모두 제거하고 또는 를 변형시키는 operation으로 그림 4와 같이 표현할 수 있으며, mathematical expression으로는 do operator로 나타낼 수 있습니다.

그림 4. Intervention
마지막으로, 통계적 모델과 causal model의 차이는 그림 5로 표현할 수 있습니다.

그림 5. 통계적 모델과 Causal model의 차이점[1]
그림 5에서 확인할 수 있듯이, 통계적 모델은 하나의 확률 분포로 표현할 수 있는 반면, causal model은 intervention에 따른 여러 확률 분포의 집합으로 나타낼 수 있습니다. 정리하자면, 우리의 목표는 1) 를 찾고 서로 어떤 연관 관계가 있는지 파악하며, 2) intervention, counterfactual, potential outcome의 효과에 대해 예측하는 것입니다.
Independent Causal Mechanisms
Causality에서 중요한 두 가지 개념인 independent causal mechanism과 sparse mechanism shift에 대해 소개하겠습니다. 이를 위해 의 disentangled factorization을 다시 한번 살펴보겠습니다.

그림 6. 고도와 연평균 기온의 데이터[3]
예를 들어, 그림 6과 같이 고도 A와 연평균 기온 T로 구성된 데이터셋을 고려해 보겠습니다. 고도 A와 연평균 기온 T는 서로 관련이 있는데 이는 고도가 기온에 causal effect를 미치기 때문입니다. 고도가 기온에 영향을 미친다면 와 같이 인과관계를 모델링할 수 있으며 가 됩니다. 고도가 기온에 영향을 미치는 자연 현상을 모델링 했기 때문에 는 여러 대부분 지역에 대해서 (거의) 변함이 없는 특성을 갖게 됩니다. 반면에 기온이 고도에 영향을 미친다고 가정한다면 는 entangled factorization이 되며, invariant한 특성도 나타나지 않으며 일반화가 어렵습니다.
Independent Causal Mechanisms
| Independent Causal Mechanism (ICM) Principle: The causal generative process of a system’s variables is composed of autonomous modules that do not inform or influence each other. In the probabilistic case, this means that the conditional distribution of each variable given its causes (i.e., its mechanism) does not inform or influence the other mechanisms. |
ICM은 1) causal variable의 separate intervenability, 2) subsystem의 modularity, 3) invariance 등 causality에 중요한 개념을 수반하고 있습니다. ICM을 causal factorization에 적용하면 factor 사이에서 다음과 같은 의미로 서로 독립됩니다.
Sparse Mechanism Shift
|
Sparse Mechanism Shift (SMS): Small distribution changes tend to manifest themselves in a sparse or local way in the causal/disentangled factorization, i.e., they should usually not affect all factors simultaneously. |
Sparse Mechanism Shift는 ICM의 결과로서, causal/disentangled factorization에서 intervention을 통해 분포를 변화시켰을 때 소수 또는 특정 부분의 component만 변화하는 경향이 있다고 표현하고 있습니다. 이는 만약 intervention의 결과로 모든 component가 변한다면 모델은 intervention을 통한 분포의 변화로부터 어떠한 정보도 배우기 어렵다는 것을 함축하고 있습니다.
마지막으로 정리하면, 우리의 최종 목표는 현실 세계를 독립적인 causal mechanism의 chain으로 간주하며, 결국 현실 세계를 causal structure를 가진 disentangled representation으로 모델링하는 것입니다.
Learning Causal Variables

그림 7. Causal representation learning의 problem settings[1]
Causal discovery와 reasoning에서 각 노드는 랜덤 변수이며 causal graph의 형태로 연결되어 있다고 가정하는데, 이는 causal variable을 알고 있음을 함축합니다. 그러나 실제 observational data는 보통 causal variable의 형태로 구조화되어 있지 않기 때문에 데이터로부터 causal variable을 추출할 필요성이 있습니다. Causal variable과 observations의 관계는 다음과 같이 모델링 할 수 있습니다.
여기서 는 causal variable이며, 는 비선형 함수입니다. 그림 7에 표현되어 있는 것과 같이, observational data 로부터 neural network 를 통해 causal variable 를 추출합니다. Causal variable 는 downstream task에 유용하게 활용될 수 있도록 추출하는 것이 목표입니다.
한편 causal variable을 학습하는 것은 머신 러닝 분야에서 데이터로부터 robust, explainable, fair representation을 추출하는 것과 관련이 있습니다. 따라서 SCM과 representation learning을 결합하기 위해서는 SCM을 머신 러닝 모델에 포함시키는 노력이 필요합니다. 머신 러닝 알고리즘의 입력과 출력은 high-dimensional, unstructured data이지만, 적어도 알고리즘의 내부는 SCM에 따라 동작하도록 디자인되어야 합니다. 이러한 causal representation learning 관점에서 기존 머신 러닝에서 관련된 문제를 몇 가지 살펴보겠습니다.
Learning Disentangled Representations
ICM principle에서 논의한 바와 같이 causal variable 도 가 independent하다는 가정 하에 다음과 같이 factorization될 수 있습니다.
우리는 입력 데이터가 주어졌을 때, causal variables 과 식 (6)와 같이 causal variable 사이의 인과관계를 모델링할 수 있는 causal mechanism 을 찾아야 합니다.
위 문제를 다음과 같이 세 단계로 나눠보겠습니다.
위의 시스템은 auto-encoder 구조와 마찬가지로 reconstruction error를 최소화하는 방향으로 학습하게 됩니다[4]. 현재까지 제안된 disentanglement 관련 연구는 대부분 factor가 independent인 경우, 즉 causal graph가 에 집중되어 있었습니다. 최근 ICM을 활용하여 causal variable을 추출하고 변수 사이의 causal graph를 학습할 수 있는 다양한 방법[5-7]이 제안되었는데 자세한 방법은 해당 논문에서 확인할 수 있습니다.
Learning Transferable Mechanisms
현실 세계에서 데이터의 양은 제한되어 있습니다. 이러한 환경에서도 AI 모델이 잘 동작하기 위해서는 제한된 데이터를 활용하여 현실 세계의 다양한 문제를 강인하게 풀 수 있어야 하며, 학습된 각 component가 재사용이 할 수 있어야 합니다. 이를 위해서는 이전에 논의한 바와 같이 현실 세계를 모듈 형태로 구조화하는 것이 좋다고 생각합니다.
Implications for Machine Learning
마지막으로 기존의 머신 러닝 문제가 Causality 관점에서 어떤 의미를 갖고 있는지 살펴보겠습니다.
Semi-Supervised Learning(SSL)
현실에서는 데이터의 레이블이 존재하지 않는 경우가 많이 있으며, 데이터의 레이블링에 많은 자원과 비용이 소요됩니다. 이러한 문제를 해결하기 위해, labeled data가 적은 경우에 레이블이 없는 데이터를 활용해 모델의 성능을 향상시키는 SSL 연구가 많이 제안되었습니다. 그러나 SSL이 어떻게 동작하는지 아직 정확하게 밝혀지지 않아 다양한 관점에서의 연구가 필요합니다. 여기서는 SSL 연구가 causality 관점에서 어떤 의미가 있는지 살펴보겠습니다. 예를 들어 의 Causal 관계를 고려해 보겠습니다. 모델은 로 mapping을 학습하며, 는 causal factorization에 의해 다음과 같이 factorization됩니다.
ICM에 의하면 와 는 서로 독립이며 어떠한 정보도 공유되지 않습니다. 따라서 SSL에서 를 의 추정에 활용하고자 한다면, 아무런 도움이 되지 않습니다. 반면, anti-causal 관계 를 학습하고자 한다면 다음과 같이 factorization 되고,
Robustness and Strong Generalization
Robustness와 generalization은 Out-Of-Distribution (OOD) generalization의 형태로 고려해 볼 수 있습니다. OOD 문제는 distribution class로부터 empirical risk를 최소화하는 최적화 문제로 간주할 수 있습니다. 분포를 갖는 데이터로부터 다음과 같이 empirical risk 를 최소화하는 predictor 학습을 고려해 보겠습니다.
식 (10)은 OOD 관점에서는 다음과 같이 고려할 수 있습니다.
와 의 의 gap은 학습 분포 와 테스트 분포 의 차이에 의해 발생됩니다. 이러한 OOD 문제를 Causality 관점에서 살펴보면 OOD 를 특정 intervention의 결과로 간주할 수 있습니다. 즉, 이며, 여기서 는 causal graph 에서 발생할 수 있는 interventional distribution의 집합으로 정의합니다. 그렇다면 worst case의 OOD risk 는 다음과 같이 정의할 수 있습니다.
저자는 다음과 같이 worst case의 OOD risk를 최소화함으로써 OOD에 강인한 predictor를 학습시킬 수 있다고 이야기하고 있습니다.
Pre-training, Data Augmentation, and Self-Supervision
모델의 Robustness를 향상시키기 위해서 식 (13)의 해를 직접 구하는 것은 매우 어렵습니다. 따라서 식 (13)을 근사화해서 해를 찾을 수 있도록 머신 러닝 관점에서 여러 해결책을 살펴보겠습니다.
저자는 추후 위의 4가지 방법 (large scale training, data augmentation, self-supervision, robust fine-tuning 방법)을 모두 결합한 방법도 고민해 보면 좋을 것 같다고 이야기했습니다.
Reinforcement Learning (RL)
RL은 policy에 의한 intervention의 효과를 잘 파악할 수 있다는 면에서 causality와 연관이 깊습니다. 데이터로부터 invariance를 학습할 수 있는 열쇠는 intervention으로부터 학습하는 것에 있습니다. Agent는 intervention을 통해 causal factor를 찾고 그에 대한 효과를 관찰하며, causal 모델을 활용하여 environment를 independent causal mechanism으로 모델링 합니다. RL의 문제를 causality 관점에서 살펴보겠습니다.
Counterfactuals
저자는 RL을 학습하기 위해서는 많은 수의 sample이 필요하다고 이야기합니다. imagined space에서 action을 모델링할 수 있는 counterfactual reasoning은 RL 알고리즘의 data efficiency 뿐만 아니라 RL의 성능도 향상시킬 수 있다고 봅니다. 또한 흥미로운 연구 방향으로서 counterfactual reasoning을 고려해 보면 좋을 것 같다고 이야기하고 있습니다.
Offline RL
Offline RL은 고정된 observational dataset만을 활용하여 policy를 학습하는 방법으로서 environment와 어떠한 상호작용도 없습니다. Offline RL에서 학습을 잘하기 위해서는 agent가 학습 데이터에서 보지 못한 다른 action에 대해서도 추론할 수 있어야 하는데 이를 counterfactual inference 문제라고 합니다. 현재 policy와 offline 데이터를 이용해 학습했던 기존 policy 사이의 distribution mismatch가 발생할 수 있는데, 이는 offline RL에 있어서 극복해야 할 점입니다. 저자는 이러한 문제는 ICM principle을 offline RL에 적용하여 데이터로부터 invariant knowledge를 학습함으로써 해결할 수 있다고 이야기하고 있습니다.
Multi-Task Learning and Continual Learning
Multi-task learning은 서로 다른 환경에서의 여러 task에 대해서 학습하는 방법으로서, 1) 여러 task 사이의 공통적인 특성을 학습하게 되며, 2) 기존 task에서 학습된 knowledge를 새로운 task에 적용하여 효율적으로 학습할 수 있습니다. 저자는 multi-task learning을 causality 관점에서 살펴본다면, causal 모델이 여러 task의 데이터 생성 프로세스의 공통된 부분을 학습하도록 한다면 모델이 intervention으로 인한 분포 변화에도 빠르게 적응할 수 있다고 이야기하고 있습니다.
Conclusion
이번 블로그에서는 최근 많은 관심을 받고 있는 causal representation learning에 대해 살펴보았습니다. ICM을 활용한 causal learning 등 causal representation learning을 위한 여러 방향성을 제시했습니다. 또한, causality 관점에서 머신 러닝 알고리즘의 open problem을 살펴봄으로써 머신 러닝 알고리즘의 성능을 향상시킬 수 있는 방안도 제시했습니다. 논문에서 제시하고 있는 causal representation learning의 추후 연구 방향은 다음과 같습니다.
현재 수행 중인 시계열 예측 관련 연구 데이터에도 causal representation learning을 적용해 볼 수 있습니다. 시계열 데이터에서는 어떠한 disentangled causal variable을 추출해야 하는지 고민이 필요합니다. 개인적인 생각으로는 시계열 데이터의 특성을 살려 trend/seasonality 관련 representation을 추출하면 down-stream task(예: 예측 등)에도 도움이 되지 않을까 생각하고 있습니다. 또한 human expert의 domain knowledge를 causal representation learning에 활용할 수 있다면 causal inference의 성능을 향상시킬 수 있을 것으로 기대가 됩니다.