본문 바로가기

카테고리 없음

[Paper Review] Towards Causal Representation Learning (1)

https://arxiv.org/abs/2102.11107

 

Towards Causal Representation Learning

The two fields of machine learning and graphical causality arose and developed separately. However, there is now cross-pollination and increasing interest in both fields to benefit from the advances of the other. In the present paper, we review fundamental

arxiv.org

Causal Learing은 무엇이고, 왜 필요할까요?

 

이번 post는 Towards Causal Representation Learning의 Review 1부로, causal learning이 필요한 이유와, causal infererence의 fundamental에 대해 다룹니다.

 

 

목차
(1부)

--- INTRO

--- CAUSAL MODELING
-------- The Reichenbach Principle: From Statistics to Causality

-------- Structural Causal Models (SCM)

-------- Structural Causal Models의 구성요소

-------- Difference Between Graphical Causal Model, SCM, Statistical Model

 

(2부)

--- CAUSAL MECHANISM

--- CAUSALITY AND MACHINE LEARNING

INTRO

우리는 흔히 ML (machine-learning)을 동물의 지능과 비교하곤 합니다. 동물의 지능은 익숙한 일을 능숙하게 처리하고, 새로운 문제를 해결하는 능력이 있습니다. 전자는 generalization라고 하고 후자는 여기서 한술 더 뜬 horizontal, strong, out-of-distribution generalizaion이라고 합니다. ML은 익숙한 일을 처리하는 generalization에 특화되어 있지만, 배우지 않은 문제에 대해선 대처하지 못하는 모습을 종종 보입니다. 이는 ML이 학습하는 방식이 패턴인식으로 이루어져 있고 학습 데이터가 indenpendent and identically distributed (i.i.d.) data를 가정하기 때문입니다.

 

(i.i.d. 는 데이터를 반복 추출해도 서로 영향을 주지 않는다는 뜻입니다. 공을 여러 번 뽑을 때 뺀 공을 다시 넣는 케이스를 생각하시면 되겠습니다.)

 

 Causal Model은 다음과 같은 문제점을 해결하고자 등장했습니다.

1. Robustness

Computer vision이나 nlp는 deep learning이 활발하게 쓰이는 분야입니다. 하지만 real world에서 data를 수집하는 과정에서 distribution이 주는 영향에 대해 깊은 고민을 하지 않습니다. 예를 들어, 카메라를 통해 test 데이터를 수집할 때, 블러, 노이즈, 압축 퀄리티, 회전, 밀림, 시점 변환 등 여러 원인에 따라 distribution이 변할 수 있는데 이로 인해 발생하는 문제들을 benchmark로 비교하기만 하지 능동적으로 distrbution의 변화를 줄 수가 없다는 뜻입니다. 외부의 작은 intervention만으로도 sota모델의 성능이 크게 변하기 때문에 이에 대한 논의의 필요성이 대두되었습니다.

 

이러한 문제를 해결하기 위해 data augmention, pre-training, self-supervision, inductive-bias과 같은 방법이 연구되었습니다. 하지만 i.i.d setting의 outside에서도 잘 generalize하기 위해선 단순 statistical association이 아닌 그 이상의, distribution shift를 인식할 수 있어야 합니다. 그리고 그 방법은 intervention의 개념을 이용하는 것입니다.

 

2. Learning Reusable Mechanisms

Intelligent agent는 real-world를 인식할 때 기존에 자기가 알고 있던 지식들과 연결 짓습니다. 예를 들면 물체를 놓으면 떨어진다는 경험을 통해 다른 물체도 놓으면 떨어질 것이라는 사실을 유추하는 식으로 말입니다. 이처럼 세상을 여러 메커니즘의 결합으로 생각한다면 새로운 상황에 놓이더라도 기존의 지식을 이용해 금방 적응하고, 유추할 수 있게 됩니다.

Causal model은 세상을 독립적인 mechanism들의 결합으로 인식함으로써 새로운 mechanism을 추가하거나 제거함으로써 learning을 재활용할 수 있습니다.

 

3. Causality Perspective

Causation은 Boolean logic이나 probabilistic inference만으로 완벽하게 설명할 수 없습니다. 추가로 intervention의 개념이 있어야 완전하게 설명될 수 있습니다. 예를 들면, Boolean logic으로 "seeing people with open umbrellas suggests that it is raining"이라는 문장으로부터 "closing umbrellas does not stop the rain"이라는 사실을 도출할 수 있을까요? 여기에 rain -> open umbrella라는 사실을 알고 있더라도 closed umbrella (not) -> not rain이라는 추측(hypothesis)만 가능할 뿐, 실제 rain이 어떤 영향을 줄 수 있는지를 모른다면 완벽한 reasoning은 불가능합니다. 

이처럼 Causality는 세상을 더 깊게 이해하고 추론할 수 있게 합니다. (저는 causality를 추가하는 것만으로 '완전한 세상의 modeling'은 불가능하다고 생각합니다)

 

CAUSAL MODELING

Natural phenomena를 modeling 하는 gold standard는 physical mechanisms를 modeling하는 coupled differential equations입니다. Physical systems를 이용해 intervention이 추가된 미래를 예측하고 여기에 variable 간의 statistical dependency를 추가하면 더욱 미래를 잘 예측할 수 있게 됩니다.

 

differential equation

Differential equation을 이용하면 t의 변화에 따른 x값의 변화를 구할 수 있고, 이를 이용해 differential equation으로 나타낼 수 있는 모든 physical system을 표현하는 것이 가능합니다.

 

Differential equation을 이용해 system을 표현하는 것은 comprehensive description에 가까운 반면, statistical model은 더욱 피상적인 관측 결과에 가깝습니다. 결과에 숨겨진 variables 간의 dynamic에 대해선 전혀 설명하고 있지 않기 때문입니다. 그렇다면 statistical model의 용도는 무엇일까요? stastical model은 실험 환경이 변하지 않는 한 시간이 지나도 변치 않는 관계를 설명하는 것을 담당하고 있습니다.  예를 들면 일정하게 나타나는 노이즈 같은 경우 statistical approximation이 가능하게 되고 이를 이용해 denoisying이 가능한 식으로 statistic model을 활용할 수 있습니다.

 

Difference between statistical (left) ans causal model (right)

그림의 왼쪽은 statistical model의 distribution을, 오른쪽은 causal model의 distribution을 나타냅니다. causal model은 관측한 P_X에 영향을 주는 I1 I2 I3에 대해 알고, 어떤 영향(망치)을 주는지 계산할 수 있습니다. 따라서 causal model은 P_X이 어떤 요인과 어떤 인과관계를 거쳐 발생했는지 statistical model보다 더 깊게 이해할 수 있습니다. 

 

The Reichenbach Principle: From Statistics fo Causality

Reichenbach는 causality와 statistical dependence의 connection을 다음 원리로 명시했습니다.

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.

 

=> 두 r.v.s가 dependent 할 때, P(X|Z)와 P(Y|Z)를 independent 하게 만드는 variable Z가 존재한다.


당연한 말이지만, 깊게 생각해보면 왜 기존 ML에서 causality가 결여되어 있는지 알 수 있는 원리입니다.

 

예를 들어 생각해보자. X는 뇌졸중이 발생할 확률이고, Y는 출생률일 때, 만약 뇌졸중이 출생률에 영향을 주는 요인이라면, 올바른 인과 그래프는 X->Y일 것입니다. 만약 출생이 뇌졸중에 영향을 준다면 X <-Y가 맞을 것입니다. 만약 뇌졸중과 출생률 둘 다 영향을 주는 요인 Z가 있다면 X <-Z->Y처럼 나타내야 맞을 것입니다.

 

중요한 포인트는 추가적인 가정(Z) 없이 observational data만으로는 앞선 3 causal graph를 구분하지 못한다는 것.

 

즉 X와 Y만으로 현상을 설명하려고 하면 그 속에 숨겨진 인과관계, 정보를 파악할 수 없다는 뜻입니다. 따라서 X와 Y의 관계와 숨겨진 정보를 알기 위해선 Z와 같은 추가적인 observation이 필요합니다. 그리고 X, Y, Z를 모두 관측함으로써 획득한 인과관계, 정보는 causal graphs, structural causal models와 같은 형태로 나타낼 수 있으며 probabilistic graphical model과 intervention의 개념을 융합시키고, conditional 대신 directed functional parent-child relationship을 사용하면  Reichenbach Principle을 일반화할 수 있습니다.

 

Structural causal models(SCMs)

Causal model은 differential equation system과 statistical dependencies의 중간지점에 있습니다. Physical model과 같이 intervention을 understand 하고 predict 하는 것을 목적으로 하지만, 이를 expert knowledge에 기반한 방식이 아니라 data-driven, weak and generic assumption에 기반한 방식으로 수행한다는 뜻입니다.

 

A SIMPLE TAXONOMY OF MODELS

처음 causal model을 접하면 causal graphical model과 혼동하기 쉽지만, 차근차근 SCM에 대해 이해해봅시다.

 

SCM은 observables (variables)의 set을 directed acyclic graph의 verctice와 연결 지어 생각합니다. 그리고 각 observable은 다음 assignment function을 적용한 result라고 간주합니다.

assignment equation

f는 X_i의 parents에 따른 deterministic function이고, U는 unexplained random variable, 쉽게 말해 noise입니다. 즉 X를 parents와 noise를 이용해 설명한다는 뜻입니다. 여기서 중요한 점은 set of noise U1,..., Un은 jointly independent 하다는 것입니다. 이는 위에서 다룬 Common Cause Principle와 관련 있는데, variables들을 서로 독립적인 노이즈들로 설명함으로써 서로 겹치는 정보, 설명을 없애고 causality를 명확하게 하려는 목적입니다.

 

직관적으로, Noise를 각기 다른 정보 조각이라고 생각하면 가장 첫 parents는 아주 작은 정보만을 지니고 있고 그 children들은 parents에 없는 정보들이 추가되면서 점점 더 복잡한 개념을 표현하게 됩니다. 

 

이를 Graphical Models로 다음처럼 나타낼 수 있습니다.

Causal facorization

이처럼 U의 명시가 생략되고 parents에 내포되는 형태로 나타나는 것이 SCM 중에서도 Graphical Model의 가장 큰 특징

입니다.

 

Noise가 independent하지 않는 다른 entanlged factorizations도 다음처럼 가능하지만, 

entangled fatorization

앞선 factorization에 비해 계산 cost가 많이 커지게 됩니다. 이러한 disentanglement는 re-useable 한 특징과 modulation으로 연결됩니다.

 

 

Structural causal models(SCM)의 구성요소 (causality를 structure로 어떻게 구현하는가?)

  • (graph model) causal factorization: (graph model의 경우) ascendent만 구하면 됨. 다른 X는 신경 안 써도 됨. 흥미로운 점은 이 방법이 유일하게 joint distribution을 structural assignment에 일치하는 conditionals로 바꾸는 방법이라는 점.
  • Latent variables and Confounders: Unobserved variables는 causal inference를 헷갈리게 할 수 있다. 마찬가지로 Unknown도 confounder이 됩니다.
  • Interventions
    정의:  Operations that modify a subset of assignments in assignment equation

assignment equation

U_i를 변하게 하거나, f_i가 constant가 되게 하여 X_i가 변하게 하거나, f_i의 functional form을 번하게 하여 X_i가 parents에 dependency를 바뀌게 하거나. 

Intervention의 여러 타입을 categorize 할 수 있다.

  • no intervention: observational data만 causal model에서 obtained 되는 경우
  • Hard/perfect: assignment equation의 function이 constant로 set 되는 (variable의 value가 fixed), 따라서 modified SCM의 entailed distribution이 계산되는 경우(수반되는? f가 변하지 않기 때문에 계산방식에 변화가 없는 경우를 말하는 것 같음.)
  • Soft/imperfect: assignment equation이 function이나 noise term의 변화로 인해 변경되는 경우. (parents에 따른 conditional distribution이 변하는 경우)
  • Uncertain: learner이 mechanism/variable이 mechanism으로부터 어떤 영향을 받는지 확신하지 못하는 경우.

 

Difference Between Statistical Models, Causal Graphical Models, and SCMs

A SIMPLE TAXONOMY OF MODELS

A Graphic Model이 causal 하기 위해선, edge가 causal 해야 합니다. 그럼 interventional distirubution을 (Fig1) 계산할 수 게 되기 때문입니다. Intervention이 발생하면 기존 구조에서 parents와 연결을 끊고, value를 고치고, children도 업데이트합니다.

 

A structural causal model은 위에서 다룬 것처럼

(i) causal variables의 set

(ii) 노이즈 U 가 포함된 structural equations로 구성됩니다.

 

Graphic model과 structural causal model 둘 다 intervention을 계산할 수 있지만, SCM만이 counterfactual를 계산할 수 있다는 차이가 있습니다. Counterfactural을 계산하기 위해선 noise variables의 value를 fix 할 필요가 있기 때문입니다. 앞서 설명한 것처럼 graphic model은 Noise에 대해 명시하지 않고 parents로부터 factorization을 통해 구하기 때문이라고 이해하시면 되겠습니다 또 다른 차이점으로는 structural causal model은 functions와 noise variables의 combinations를 다르게 해서 여러 structural assignment가 가능하는 것입니다. 이 또한 structural causal model은 noise를 명시하고, parents와 pair로 계산하기 때문입니다.

 

============================================================================

2부에서는 CAUSAL MECHANISM과 CAUSALITY IN ML을 다루겠습니다.