Causal Discovery
인과 탐구가 시각 데이터, Ultralytics YOLO 및 실무 가이드를 활용하여 인과관계, DAG 및 AI 애플리케이션을 밝혀내는 방법을 알아보세요.
인과 발견(Causal discovery)은 데이터로부터 가능한 인과 관계를 학습하여 보통 방향성 그래프로 표현하는 프로세스입니다. 패턴으로부터 주로 결과를 예측하는 일반적인 머신러닝과 달리, 인과 발견은 어떤 변수가 다른 변수에 직접적인 영향을 미칠 수 있는지 묻습니다. 예를 들어, 비가 교통 체증을 증가시키는지, 체증이 신호 주기를 변경하는지, 혹은 둘 다 제3의 요인에 의해 영향을 받는지 조사할 수 있습니다.
그 결과는 자동적인 증명이 아니라 인과 구조에 대한 가설입니다. 신뢰성은 데이터 품질, 도메인 지식, 통계적 가정, 그리고 실험이나 새로운 환경을 통한 검증에 따라 달라집니다.
인과 발견의 작동 방식#
인과 발견 시스템은 측정된 변수를 노드로, 그 가능한 인과 관계를 엣지로 처리합니다. X → Y와 같은 방향성 엣지에서 X는 분석에 포함된 다른 변수들에 비해 Y의 후보 직접 원인입니다. 이러한 관계는 종종 베이지안 네트워크 또는 방향성 비순환 그래프(DAG)로 표현되며, 이는 화살표가 방향성 루프를 형성할 수 없음을 의미합니다.
알고리즘은 일반적으로 다음 세 가지 방법 중 하나로 구조를 학습합니다.
- 제약 기반 발견은 다른 변수를 조건화한 후 변수들이 통계적으로 독립 상태가 되는지 테스트합니다. PyWhy 제약 기반 발견 문서에서는 이러한 독립성 패턴이 가능한 그래프 구조를 어떻게 제한할 수 있는지 설명합니다.
- 점수 기반 발견은 적합도와 복잡성의 균형을 맞추는 점수를 사용하여 후보 그래프를 비교합니다.
- 함수 모델 발견은 변수가 특정 수학적 관계와 노이즈 패턴을 통해 생성된다고 가정합니다. 선형 비가우스 비순환 설정에서 데이터의 비대칭성은 엣지 방향을 결정하는 데 도움이 될 수 있습니다.
causal-learn 문서는 이러한 범주에 걸친 구현을 제공합니다. 그러나 관측 데이터는 종종 고유하게 지향된 하나의 DAG라기보다는 여러 개의 동등한 그래프를 지원합니다.
주요 개념 및 관련 용어#
인과 발견은 다음과 같은 몇 가지 관련 개념과 구별되어야 합니다.
- 상관관계는 통계적 연관성을 측정합니다. 두 변수는 한쪽이 다른쪽의 원인이 되거나, 인과관계가 반대이거나, 제3의 변수가 둘 다에 영향을 주기 때문에 함께 움직일 수 있습니다. 구글의 상관관계 및 인과관계에 대한 가이드는 예측적 연관성만으로는 충분하지 않은 이유를 강조합니다.
- 인과 추론은 기계 설정 변경과 같은 정의된 개입의 효과를 추정합니다. 발견은 그래프를 제안하고, 추론은 가정된 그래프를 사용하여 특정 효과 질문에 답합니다. DoWhy 인과 모델링 가이드는 그래프가 이러한 가정을 어떻게 명시적으로 만드는지 보여줍니다.
- 인과 표현 학습은 이미지와 같은 복잡한 입력에서 의미 있는 잠재 변수를 찾습니다. 인과 발견은 일반적으로 이미 정의된 변수 간의 관계를 연구합니다.
- 설명 가능한 AI는 모델이 예측을 생성한 이유를 설명합니다. 피처 중요도는 피처를 변경해도 실제 결과가 변경된다는 것을 보여주지 않고도 예측을 설명할 수 있습니다.
중요한 그래프 개념에는 제안된 원인과 결과 모두에 영향을 미치는 교란 변수, 효과를 전달하는 매개 변수, 그리고 다른 두 변수에 의해 영향을 받는 충돌 변수가 포함됩니다. UCLA 인과 DAG 소개에서는 잘못된 변수를 조건화하는 것이 편향을 제거하는 것이 아니라 오히려 유발할 수 있는 이유를 설명합니다.
실제 AI 및 컴퓨터 비전 애플리케이션#
-
제조 검사: 컴퓨터 비전 시스템은 결함 수, 컨베이어 속도, 재료 유형, 온도, 유지보수 이벤트를 기록할 수 있습니다. 인과 발견은 더 높은 속도가 결함에 직접적으로 기여하는지, 아니면 둘 다 증가된 생산 수요의 결과인지 시사할 수 있습니다. 이 구별은 라인 속도를 늦추거나 유지보수 일정을 변경하기 전에 중요합니다.
-
교통 관리: 객체 검출 및 객체 추적은 차량 수, 대기열 길이, 이동 궤적을 생성할 수 있습니다. 날씨, 사고, 신호 설정과 결합할 때 인과 발견은 신호 주기가 긴 대기열을 생성하는지 아니면 기존 체증에 대응하여 조정되는지 구별하는 데 도움이 될 수 있습니다. 이러한 방향성은 정책 개입을 선택할 때 필수적입니다.
이러한 그래프는 DoWhy 개입 문서에 설명된 시뮬레이션을 포함하여 향후 가상 분석(what-if analysis)을 안내할 수 있습니다.
비전 데이터에서 변수 구축#
Ultralytics YOLO 출력은 더 큰 인과 데이터셋을 위해 관측된 변수를 제공할 수 있습니다. 이 예제에서는 YOLO26과 예측 모드를 사용하여 이미지에서 개수를 추출합니다.
from ultralytics import YOLO
# Run object detection
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
# Convert detections into measurable variables
result = results[0]
detected_objects = [result.names[int(class_id)] for class_id in result.boxes.cls]
person_count = detected_objects.count("person")
total_objects = len(detected_objects)
print({"person_count": person_count, "total_objects": total_objects})이 워크플로우를 여러 타임스탬프, 카메라 또는 운영 조건에 걸쳐 실행하면 컨텍스트 변수와 결합할 수 있는 관측값이 생성됩니다. 탐지 오류가 잘못된 종속성을 생성할 수 있으므로 고품질 데이터 어노테이션과 일관된 측정이 매우 중요합니다. Ultralytics Platform은 이 더 넓은 파이프라인 내에서 클라우드 데이터셋 어노테이션, 모델 학습, 배포, 모니터링을 지원할 수 있습니다.
제한 사항 및 실무 지침#
인과 발견은 측정되지 않은 변수를 안정적으로 복구할 수 없습니다. 숨겨진 교란 변수, 데이터셋 편향, 선택 효과, 작은 샘플, 측정 오류는 모두 오해를 불러일으키는 엣지를 생성할 수 있습니다.
발견된 그래프에 따라 조치를 취하기 전에:
- 알려진 시간적 및 물리적 제약을 추가합니다.
- 사이트, 기간, 데이터 서브셋에 걸쳐 엣지가 안정적으로 유지되는지 테스트합니다.
- 그래프를 전문가 지식과 비교합니다.
- 모든 엣지를 확실한 것으로 취급하는 대신 불확실성을 수치화합니다.
- 가능한 경우 통제된 개입을 통해 중요한 관계를 검증합니다.
마지막으로, 그래프 발견만 사용하는 것이 아니라 인과 효과 추정을 사용하여 개입 크기를 측정합니다. EconML 처리 효과 문서에서는 이 별도의 추정 단계를 보여줍니다. 인과 발견은 실제 결정을 내리기 전에 인과 가설을 생성, 검증, 구체화하는 구조화된 방법으로 가장 가치가 있습니다.









