ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [LGAimers] 인과추론에 관한 개념정리
    전공&대외활동 이야기/2024 LG AIMERS 4기 활동 2024. 1. 25. 14:39
    본 강의는 LGAimers Module 5 인과추론 강의 중 서울대학교 이상학 교수님의 강의 내용을 정리한 것입니다
    추가 첨부자료로 GSTIM의 테크트랜드 자료를 사용하였습니다(https://www.gsitm.com/pr/techblogdetail?prTechBlogSeqId=5&langCd=KR) GS ITM AI Lab 정용우님 작성

     

    인과성을 알아야하는 이유는 무엇일까? 까마귀가 날자 배가 떨어지는 현상을 관측했다고 해보자. 

    그럼 우리는 이를 보고 "까마귀가 나는 것과 배가 떨어지는 것은 관련이 있다"라고 말을 할 수도 있을 것이다. 

    이를 Correlation, 상관성이라고 한다. 하지만 이것이 까마귀가 난 현상이 배가 떨어지는 현상의 원인이라는 것을 보장하지는 않을 것이다.(물론 이 예시의 경우 상관성도 없을 가능성이 크다 ㅎ)

     

    이것으로부터 우리는 상관성과 인과성의 차이를 볼 수 있다. 인과관계를 분석하는 것을 인과추론, Causal inference라고 한다. 

    Causality

     

    인과성의 정의를 보면, 다음과 같다(출처: 위키피디아)

    인과성은 특정 event 혹은 state가 다른 event에 영향을 끼치는 것으로, partly, 즉 부분적으로만 영향을 주어도 상관 없다고 한다. 즉, 필요조건이나, 충분조건일 필요는 없다. 

     

    이런 인과성은 AI와 ML을 다루는데에 있어도 매우 주요한 부분이다. 

    인공지능의 일반적인 정의는 Goal을 이루기 위한 합리적인 action을 취하도록 학습 시키는 것이기 때문에, 각 event에 대한 이해가 필요하다.

    또한 Machine Learning 관점에서도 상관성과 인과성을 모두 복합적으로 고려해야하기 때문에 필요하다. 

     

    Pearl's Casual Hierarchy(인과 계층)

    Pearl's Casual Hierarchy

    Pearl 교수(인과계층에 관한 연구로 Turing상 수상)에 따른 인과 계층은 다음과 같이 구성된다. 

    강의에서의 예시와 함께 살펴보자. 

     

    Level1은 관측계층으로, 시스템을 단순히 관측했을 때 알 수 있는 것으로, 변수들의 상관성을 확인가능한 단계이다. 

    우리가 만일 타이레놀을 먹었을 때 두통이 없어지는 것을 관측했다고 해보자. 이것이 바로 Level1이다.

    즉, 타이레놀 복용유무와 두통의 상관성을 본것이다.

     

    Level2는 실험계층으로, 시스템을 중재(Interventional)하고나 실험을 통해 나오는 결과를 확인하는 것으로 실제로 action을 적용하는 것이다. 

    이번에 동일한 예시를 들면, A,B 집단을 실험군 대조군으로 구분하여 두통이 있는 2 그룹에 관해 한 그룹에는 타이레놀을 먹이고, 다른 그룹에는 위약을 처방하는 것이다. 

     

    Level 3는 counterfatcual 계층으로 한국어로는 반사실 계층이다. 이는  관측과 실험을 모두 고려한다는 것인데, 결국 Action을 취하지 않았을 때의 결과를 보는 것이다. 

    이번에는 두통이 있는 집단에 관해 타이레놀을 먹이지 않고, 시간이 지났을 때에는 어떤 결과가 나올지 확인하는 것이 그 예시가 될 것이다. 

     

    이런 인과성 파악이 주요한 예제로는 흔히 초콜릿과 노벨상의 상관성을 이용하는데, 이번에는 조건부확률을 다룰때 흔히 다루는 예시는 Simpsons Paradox이다. 이 예시를 통해 Do operator에 관해서도 살펴보자. 

     

    Do operator & Simpsons Paradox

    Simpsons' Paradox

    Simpson's Paradox는 2개의 병에 관해 2명의 의사가 있는 조건으로 설정하는 경우가 많았는데, 본 강의에서는

    모든 환자가 신장결석으로 병원을 찾았고, 의사는 환자를 보고 각기 다른 treatment를 처방하였고, 그 결과를 later reported했다고 가정했다. 

    이는 현실적으로 매우 올바른 가정이다. 

     

    Data를 보면 각 Stone에 대해, 사이즈에 관계 없이 A가 더 나은 결과를 보여주는 것을 확인 가능한데,  신기하게도 이를 병합하여 데이터를 보면 B가 더 나은 처방인 것처럼 보인다.

     

    이런 차이가 생기는 이유는 각 확률이 의미하는바가 다르기 때문이다. 

    ( 각 Treatment 그룹을 구성하는 Condition의 가중치 때문에 그룹 전체를 평균 내었을 때 숫자에 왜곡이 발생한 것이 원인이다)

     

    병합 전의 표에서 나타나는 확률들은, treatment와 stone을 모두 고려한(교집합) 조건 아래에서 성공률을 고려한 것이고, 병합된 확률은 단순히 Treatment 조건 아래에서의 성공률을 의미한다. 

    즉, 조건부에서의 조건의 차이가 있다.

    DAG and Causaility inference

     

    인과성을 확인하는 과정은 흔히 정규성(gaussianity)가 존재하지 않는 데이터 셋을 다룰 때 스스로 원인과 결과를 찾아가는 방법으로 분석한다. 대다수의 관측 데이터는 모든 dataset을 포함하는 것이 아니기에 비정규성이 존재한다고 한다. 

     

    그런 비정규적 데이터로부터 인과성을 분석하기 위해 DAG(Directed Acyclic Graphs)를 통해 각 인자들의 관계를 파악한다. 이를 이용해 위의 상황을 분석해보자.

    인과추론에 사용하는 DAG의 모습

     

    우선 다음과 같인 기본전제를 바탕으로 한다. 

    1. 특정 사건 y 가 존재하며 이는 특정 개입(intervention)으로 일어날 수 있다.

    2. 특정 사건 y에는 직접적 혹은 간접적 사건의 원인인  X가 존재한다.

    3. 원인으로 지목된 X 사건이 일어나기 전그 배후에 또 다른 사건 Z1 X의 원인으로 존재할 수도 있고, X y 중간에 X의 결과이자 y의 원인인 Z2가 존재할 수도 있다(어떤 단계를 거쳐서 진행될지 확정할 수 없다)

    4. 데이터셋(data set)에 나오지 않은 사건 U가 존재할 수도 있으며(관측불가능한 사건) 이는 y 사건에 직/간접적으로 개입되어 있을 수도 있다

    Intervention & Do operator

    위에서 말한 개입, internvention은 Do operator를 수행하는 작업과 같다. 그럼 Do operator는 무엇일까? 

    X와 Y가 동일한 인자, 혹은 원인 Z와 상관성이 존재할 때, 우리는 X와 Y가 상관성이 존재한다고 말할 수도 있다. 

    아래의 DAG에서 좌측에 해당할 것이다.

    인과추론에서는 인과성을 파악하기 위하여, 원인(Z)의 결과로 나오는 인자변화(Y)를 하나로 고정하기 위해, 다른 인자(X)의 dataset을 고정시킨다. 이를 Do연산자가 한다.

    결국 Do연산자는 X의 dataset을 고정시켜버리는 역할을 한다라고 말할 수 있을 것이다.

    출처: GSITM techblog:  [Causality Analysis] 2. 인과 추론의 개념과 분석 방법

     

    이를 수식으로 표현하면, P(Y=y | do(X=x), Z=z)라고 한다. 아래의 예시를 통해 더 명확히 파악해보자.

    DAG at Simpson's Paradox

    이런 전제를 기반으로 우리의 simpson's paradox 상황을 분석해보자.

     

    좌측 Directed Graph:

    환자는 신장 결석을 가지고 있고, 처방은 환자의 상태(Stone의 종류)에 따라 내려지게 되고, 환자의 나중 건강 상태인 success는 stone과 treatment에 모두 영향을 받는다는 시나리오 대로라면 좌측 directed graph의 관계를 가진다.

     

    우측 Directed Graph:

    처방의 효과성 만을 보려면, 처방 A, 처방 B를 무작위로 내렸을 때 success가 어떻게 되는지를 확인해야한다. 즉, stone은 더이상 treatment에 영향을 끼치지 않는다(독립적이다) -> 환자의 상태와 처방과의 관계만을 볼 수 있다

    따라서 우측 형태의 가상의 실험에서 나오는 데이터가 처방과 환자의 상태에 대한 실제 인과성을 보여주는 모습일 것이다.

     

    즉, 우측의 가상의 실험에서의 데이터로 값을 다시 계산하면, 우리가 실제로 확인할 수 있는 인과성에 관한 값이 나온다(각 stone의 확률을 고려한다)

     

    인과추론에서는 위의 예시에서와 같이, 원인을 받는 쪽의 하나의 가능성만을 가지고 해당 데이터셋을 고정한 다음, 그 결과에 대한 영향성을 계산한다. 말로 푸니깐 어려운데, 원인(Z)의 모든 가능성이 특정 사건(Y)으로 모두 귀속되게 만든다(우측의 결과). 이렇게 새로 만들어지는 모델을 submodel이라고 한다.

     

    이렇게 X가 고정되는 것을 개입(intervention)이라고 정의하고, 이 역할을 하는 연산자가 Do 연산자이다.

    Do 연산자의 정의는 다음과 같다.

    Given a model M the action of fixing any observable variable X ∈ V to a constant value x is denoted using the do(·) operator as do(X = x).

     

    정리하면

    조건부 확률은 X=x와 Z=z가 우연히 나온 조건에서 ~이고,

    Do 연산자는 우리가 x를 임의의 x에 고정하고, z가 우연히 나왔을 때를 조건으로 가진다.

     

    조건부 확률은 데이터셋을 변경하지 않고 그 자체로 찾는 것을 말하고, do 연산자가 들어간 경우는 X에 특정 값을 전부 다 매핑하고 보는 방법을 말하고, 게다가 다른 연결 화살표 고리를 다 끊어 놓고 본다. 당연히 실제 데이터와 달라지니그 결과도 달라진다이 방법의 최대 장점은 이때 도출된 결과로 특정 원인이 단독 개입했을 때 주는 영향의 크기를 알 수 있다는 점이다.

     

    이를 통해 우리는 각 데이터에 관한(feature)  인과적관계에 대한 자세한 이해가 필요하다는 것과, 우리가 진정 목표하는 질문, 알고자하는 것이 무엇인지 명확히 파악해야한다는 것을 알 수 있다.

     

    자세한 분석은 아래의 외부 블로그를 살펴보자. 우리의 목적 및 시나리오 따른 확률 변화를 잘 보여준다.

    https://medium.com/bondata/simpsons-paradox-and-confounding-190a26f9e039

     

    Simpson’s Paradox and Confounding

    (1) 심슨의 역설을 예시로 쉽게 이해하기

    medium.com

     

    아래의 표는 각 영역에서 인과성을 고려하는 지 유무에 따라서 연구영역을 나눈 것이다.

     

    결국 인과추론은, Data나 질문 중 하나만 인과적일 때 나머지를 어떻게 추론할지에 관한 분야라고 할 수 있다.

    SCM(Structual Causal Model)

    우리는 완벽하게 알수 없는 시스템에 관해서 우리는 관측을 통해 상관 관계가 있는 data를 파악하거나, 혹은 실험을 통해 특정 가정하의 인과성(do에 관한 분포)만을 확인 가능할 것이다. 

    Pearl 교수는 2000년에 Sturctual Causal model을 통해 이런 알 수 없는 Black box system을 추상화하여 표현하였다. 

     

    그럼에도 불구하고, 우리는 SCM에 관한 정보가 주어져 있는 것은 아니다. 

    따라서 연구자는 system에 관한 causal diagram에 따라(가정, 전문가의 상식이나 가정)

     

    SCM는 결국 관측되지 않은 변수(U)와 관측된 변수(V), 그리고 그 둘간의 관계인 F와 확률분포의 집합이다. 

    U는 exogenous variable, 관측되지 않는 변수임으로 이에 대한 불확실성은 P(U)로 확률분포로 정의한다.

    V는 obeserved variable로 관측할 수 있는 변수라고 한다. f는 이 관측 불가능한 변수와 관측가능한 변수의 관계를 표현하는 함수이다. 

    Condtional Independece: 조건부 독립 & 인과성 찾기

    조건부 독립(conditional independence)은 특정한 가설을 평가할 때 관측이 아무런 정보도 기여하지 않는 상황을 말한다(Wiki출처)

     

    Graph를 이용한 상황에서는 아래의 예시와 같이 해석된다.

    밑의 예시 그림을 보면 directed edge가 존재하는 경우는 CI가 아니지만, 아닌 경우에는 path가 존재하면(조건인 vertex를 제거해도) dependent하다고 한다. 

     

    주어진 그래프가 내포하고 있는 조건부 독립성을 계산하는 알고리즘을 d-speration이라고 한다.

    해당 알고리즘은 directed acyclic graphs (DAGs)에서 변수 간의 조건부 독립성을 결정하는 규칙이다..

    만약 변수 A, B, C가 있는데, A와 B가 C에 대해 d-separated이라면, A와 B는 C가 주어진 조건에서 독립적이라는 의미인데,

    d-separation 규칙에는 세 가지 유형이 있다.

    1. 상위 진입 조건 (Ancestor): 만약 A와 B가 C의 조상 노드에 속한다면 (C를 포함하여), A와 B는 C에 대해 d-separated이다
    2. V 구조 (V-structure): A와 B가 C에 대해 d-separated일 때, 만약 A 또는 B가 C로 향하는 방향의 간선이 존재하면, A와 B는 C에 대해 d-connected이다.
    3. 연결 (Chain): 만약 A와 B가 C에 대해 d-connected이고 C가 D에 대해 d-connected이면, A와 B는 D에 대해 d-connected이다.

     

    해당 내용과 Baye's Nets에 관한 참고자료는 아래의 링크를 참조하자.

    https://rntlqvnf.github.io/lecture%20notes/ai-bayes-1/#d-separation

     

    [AI] Bayes’ Nets (1)

    이 글은 포스텍 이근배 교수님의 CSED442 인공지능 수업의 강의 내용과 자료를 기반으로 하고 있습니다.

    rntlqvnf.github.io

     

     

Designed by Tistory.